This directory contains my scripts to build backports of R software from Debian sid or even experimental to older Debian distributions. Currently I am using the following setup: ~/.pbuilderrc contains: NAME="$DIST-$ARCH" APTCACHEHARDLINK=yes DISTRIBUTION="$DIST" DEBOOTSTRAPOPTS=("--arch" "$ARCH" "${DEBOOTSTRAPOPTS[@]}") APTKEYRINGS="/home/jranke/.gnupg/pubring.gpg" BASETGZ="`dirname $BASETGZ`/$NAME-base.tgz" BUILDRESULT="/var/cache/pbuilder/$NAME/result/" APTCACHE="/var/cache/pbuilder/$NAME/aptcache/" MIRRORSITE="http://ftp.de.debian.org/debian/" OTHERMIRROR="deb http://security.debian.org $DIST/updates main|deb http://ftp.de.debian.org/debian $DIST-backports main|deb http://localhost/r-cran $DIST-cran40/" COMPONENTS="main" This means I have the appropriate aptcache and buildresult directories set up under /var/cache/pbuilder. I have several pbuilder images used for package creation under /var/cache/pbuilder, among others: /var/cache/pbuilder/buster-i386-base.tgz With the pbuilderrc mentioned above, this can be created as a normal user with export ARCH=i386 export DIST=bullseye sudo -E pbuilder create We also need to create the build directory: sudo mkdir /var/cache/pbuilder/bullseye-i386/build When using these scripts on Debian, I used to configure sudo to allow my normal user to use pbuilder, apt-get and the backporting scripts. Currently, I have set up my Debian installations using the Ubuntu like sudo configuration that I select during the installation. I am building other architectures on different machines (raspi: armxx) or in a local chroot (amd64). For creating a local chroot, I am using (e.g. for bullseye) cd /var/chroot sudo mkdir bullseye-amd64 sudo debootstrap bullseye bullseye-amd64 http://ftp.de.debian.org/debian/ Then I add a new entry in /etc/schroot/schroot.conf like [bullseye64] description=Debian bullseye 64-bit type=directory profile=default directory=/var/chroot/bullseye-amd64 and use sudo schroot -c bullseye64 to enter it. Within the chroot I install some necessary or useful stuff apt install vim gnupg build-essential devscripts add the matching local r-cran repository to /etc/apt/sources.list like deb http://localhost/r-cran bullseye-cran40/ deb-src http://localhost/r-cran bullseye-cran40/ and tell apt to trust my key (from my Debian CRAN page): gpg --keyserver keyserver.ubuntu.com --recv-key '95C0FAF38DB3CCAD0C080A7BDC78B2DDEABC47B7' gpg --armor --export '95C0FAF38DB3CCAD0C080A7BDC78B2DDEABC47B7' > /etc/apt/trusted.gpg.d/cran_debian_key.asc In the chroot, build-essential and devscripts have to be installed