On 2018-08-05 14:53, Johannes Schauer wrote: > Hi Andreas, > > thanks for your quick reply! > > Quoting Andreas Beckmann (2018-08-05 14:34:11) >> On 2018-08-05 13:57, Johannes Schauer wrote: >>> Unfortunately, I see no easy way to achieve the same with piuparts. How does >>> one pass extra packages to piuparts? --extra-old-packages seems to be the >>> wrong >>> choice. Is the only way to do this by creating a new apt repository with all >>> additional .deb packages and pass that to piuparts via --extra-repo? >> Yes. That's the only way to make them available to apt. If you would >> give optional .deb files to piuparts, we would just copy them, make a >> repo locally and use that. > > 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) >> 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] as does piuparts if you just give a plain path: piuparts ... --bindmount /tmp/my-repo --extra-repo /tmp/my-repo How do you call piuparts anyway? 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. Which reminds me of https://bugs.debian.org/766543 Andreas