-
-
Notifications
You must be signed in to change notification settings - Fork 404
Description
First, thanks alot for this tool! It has significantly improved our development workflow.
Detailed Description
I found logrotate in Debian Jessie as the simplest example.
$ apt-cache show logrotate | grep ^Depends
Depends: libacl1 (>= 2.2.51-8), libc6 (>= 2.14), libpopt0 (>= 1.14),
libselinux1 (>= 1.32), cron | anacron | cron-daemon, base-passwd (>= 2.0.3.4)
Note this cron | anacron dependencies.
Now create Debian Jessie mirror with only logrotate and it's dependencies.
$ aptly mirror create -architectures=amd64,i386 -filter-with-deps -filter=logrotate \
test http://deb.debian.org/debian jessie main
$ aptly mirror update -dep-follow-all-variants test
$ aptly mirror show -with-packages test | grep cron
anacron_2.3-23_amd64
bcron_0.10-3_amd64
bcron_0.10-3_i386
bcron-run_0.10-3_all
cron_3.0pl1-127+deb8u1_amd64
systemd-cron_1.3.1+ds1-2_all
You see there is no i386 versions of anacron and cron. However if you create the same mirror with -architectures=i386,amd64 option (changed order), amd64 packages will be missing and i386 will be present.
Context
I use Aptly to partly mirror Debian Jessie archive. In order to reduce the amount of packages to filter, I've converted full list of packages that I need to list of "top-level packages": theese packages are not dependencies of other packages. It is similar to 'world' in Gentoo Linux. Then Aptly does the job to resolve all dependencies of my "top-level packages" and mirrors all I need. I don't specify Priority (Required) or Priority (Important) in filter.
Your Environment
Aptly version 1.1.1 on Debian Jessie.