Então, resolvi uma solução usando as informações mais úteis das respostas de Dennis e Olaf. Isso envolve usar um script de configuração personalizado para apt
, com mais algumas opções.
Dir::State "some-dir/tmp/var/lib/apt";
Dir::State::status "some-dir/tmp/var/lib/dpkg/status";
Dir::Etc::SourceList "some-dir/tmp/etc/apt.sources.list";
Dir::Cache "some-dir/tmp/var/cache/apt";
pkgCacheGen::Essential "none";
Todos os diretórios e arquivos aqui referenciados devem existir no sistema de arquivos, e há mais alguns comandos a serem emitidos para que o apt
funcione como esperado:
builduser@host$ mkdir some-dir/tmp/var/lib/apt/partial
builduser@host$ mkdir some-dir/tmp/var/cache/apt/archives/partial
builduser@host$ touch some-dir/tmp/var
Meu arquivo some-dir/etc/apt.sources.list
é assim:
deb-src http://ftp.debian.org/debian wheezy main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free
Em seguida, consegui fazer o download do pacote de código cyrus-imapd-2.4
com êxito do Wheezy repos como usuário comum no Squeeze, emitindo os seguintes comandos:
builduser@host$ apt-get update -c some-dir/etc/apt.conf
builduser@host$ apt-get source cyrus-imapd-2.4 -c some-dir/etc/apt.conf
Para os interessados na seguinte etapa - criar o pacote cyrus como não-raiz - a resposta é aqui .