Skip to content

dep-follow-all-variants affects only first architecture specified #615

@laurvas

Description

@laurvas

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions