Hi Andreas, Quoting Andreas Beckmann (2018-08-05 16:08:31) > > I would've expected that piuparts would support the latter. It would be more > > convenient to the user if piuparts would take care of creating the repo than > > the user having to do it themselves. That's also how sbuild and autopkgtest > > do > > it when the user gives them extra debs. Neither of those two requires the > > user > > to do the repo setup themselves. > > copying all the debs is a waste, especially if you want to test a lot of > packages all needing the same tree. (I assume you will test each package > binary individually ..., and you will test install and upgrade scenarios) > Doing just > (cd /path/to/repo && dpkg-scanpackages . > Packages) > is cheap, and should be easily scriptable. > (piuparts won't do it, because it will not modify arbitrary directory > trees given as input to it)
indeed, piuparts should never change the contents of such a directory that it is given on the command line. But I still don't see how it's a waste. It's the same that sbuild, pbuilder and autopkgtest do. At the beginning they copy the extra .debs that they are given into a temporary location inside the chroot (or a location accessible by the chroot), create the apt archive and then use it for the rest of the processing. All this is only done *once* at the beginning of an sbuild, pbuilder or autopkgtest invocation. Why can piuparts not do the same? > > >> All you need to provide is a local directory with all the .debs and a > >> Packages file in there. Does not need to be signed or have a Release file > >> or > >> anything fancy. > > > > Oh? Does that mean that apt can now use a plain directory without a Release > > file using a line like: > > > > deb file:///directory/inside/schroot/ ./ > > > > I thought a Release file was required by apt? If I require using the above I > > get the following when doing $(apt update): > > > > E: The repository 'file:/home/josch/repository ./ Release' does not have a > > Release file. > > > > So how does apt not require a Release file? > Use with it with [trusted=yes] Thanks! > as does piuparts if you just give a plain path: > > piuparts ... --bindmount /tmp/my-repo --extra-repo /tmp/my-repo It is not documented in the man page, that piuparts also accepts a directory. It says there, that it expects a string for apt's sources.list. > How do you call piuparts anyway? Like this: sudo -- piuparts --schroot unstable-amd64-sbuild pkg_ver_arch.changes > If this should be fixed in piuparts, then probably by adding some driver > script that takes e.g. a bunch of .changes files as parameter, builds a repo > of all the .debs and runs piuparts on each binary package, possibly multiple > times. Why does it need multiple .changes files for this? I don't have a .changes file for the .deb I want to pass. Thanks! cheers, josch
signature.asc
Description: signature