-
-
Notifications
You must be signed in to change notification settings - Fork 403
Description
I was trying to make a snapshot of selected Debian Jessie packages, getting the latest version of each by mirroring the main Jessie repo plus updates, backports, and security. (Similar to the "mirroring with snapshots" tutorial.)
This exposes a problem when mirroring using -filter-with-deps, snapshotting, and then merging. Wireshark 1.x is in the main Jessie repo, but backports contains Wireshark 2.x. Both repos contain the wireshark-qt package, but the 2.x version has dependencies that the 1.x version does not. Said dependencies are in the main repo, but not the backports repo. So when I merged the snapshots together, 'aptly snapshot verify' failed because the new dependencies aren't in any of the source snapshots that were merged together. Attempting to install Wireshark from the resulting snapshot fails for the same reason.
I don't see any way to -filter-with-deps across multiple mirrors, so I can only see two workarounds:
- Mirror the entirety of all of the repositories. This is not feasible due to the amount of bandwidth and disk space that would be consumed.
- Add the missing dependencies to the filter configuration for each mirror. This works, but means you have to remember to verify your snapshots every time you update your mirrors, in order to find out if you're missing any dependencies. Then you need to update your mirror filters, rinse and repeat until verification succeeds.
It would be nice if aptly handled this situation better. Maybe users could define a "meta-mirror" that takes multiple URLs and presents a combined package list, which could then be filtered as a whole. This behavior would be more apt-like, since apt will search all the sources it has available when trying to locate a package.