From 2f2e8f6bf95acabc0b8d34470c6322ead8ce14a9 Mon Sep 17 00:00:00 2001 From: Johannes Ranke Date: Mon, 27 Apr 2026 22:40:54 +0200 Subject: Backport R 4.6.0 to new repo, stop support for i386 The _reverts_r-base.sh file was reconstructed because I accidentally deleted it after creating the packages and before checking in the changes. But I am quite sure it is exactly as used. --- README | 33 +++++++++++++++------------------ backport | 12 ++++++------ backport_others | 5 +---- bookworm/_reverts_r-base.sh | 2 ++ build | 2 +- build_others | 1 - move_debs | 2 +- move_debs_arm64 | 4 ++-- 8 files changed, 28 insertions(+), 33 deletions(-) create mode 100644 bookworm/_reverts_r-base.sh diff --git a/README b/README index 8698131..477b51e 100644 --- a/README +++ b/README @@ -15,56 +15,53 @@ Currently I am using the following setup: BUILDRESULT="/var/cache/pbuilder/$NAME/result/" APTCACHE="/var/cache/pbuilder/$NAME/aptcache/" MIRRORSITE="http://deb.debian.org/debian/" - OTHERMIRROR="deb http://security.debian.org/debian-security $DIST-security main|deb http://ftp.de.debian.org/debian $DIST-backports main|deb http://localhost/r-cran $DIST-cran40/" + OTHERMIRROR="deb http://security.debian.org/debian-security $DIST-security main|deb http://ftp.de.debian.org/debian $DIST-backports main|deb http://localhost/r-cran $DIST-cran46/" 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/bookworm-i386-base.tgz + /var/cache/pbuilder/bookworm-amd64-base.tgz With the pbuilderrc mentioned above, this can be created as a normal user with - export ARCH=i386 + sudo mkdir -p /var/cache/pbuilder/bookworm-amd64/{aptcache,build} + export ARCH=amd64 export DIST=bookworm sudo -E pbuilder create -We also need to create the build directory: - - sudo mkdir /var/cache/pbuilder/bookworm-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). +I am building other architectures in a chroot, currently only arm64 on a +different machine. For creating a local chroot, I am using (e.g. for bookworm) cd /var/chroot - sudo mkdir bookworm-amd64 - sudo debootstrap bookworm bookworm-amd64 http://deb.debian.org/debian/ + sudo mkdir bookworm-arm64 + sudo debootstrap bookworm bookworm-arm64 http://deb.debian.org/debian/ Then I add a new entry in /etc/schroot/schroot.conf like - [bookworm64] - description=Debian bookworm 64-bit + [bookworm] + description=Debian bookworm arm64 type=directory profile=default - directory=/var/chroot/bookworm-amd64 + directory=/var/chroot/bookworm-arm64 -and use sudo schroot -c bookworm64 to enter it. Within the chroot I install +and use sudo schroot -c bookworm 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 +add the matching local or global r-cran repository to /etc/apt/sources.list like - deb http://localhost/r-cran bookworm-cran40/ - deb-src http://localhost/r-cran bookworm-cran40/ + deb http://localhost/r-cran bookworm-cran46/ + deb-src http://localhost/r-cran bookworm-cran46/ and tell apt to trust my key (from my Debian CRAN page): diff --git a/backport b/backport index cf8d17a..5415078 100755 --- a/backport +++ b/backport @@ -2,7 +2,7 @@ # Script to automate backporting for CRAN # Creates a source package and binary packages for the following architecture -ARCH=i386 +ARCH=amd64 export ARCH # Iteration of the backport, for the case several backports of the same @@ -81,7 +81,7 @@ mkdir -p $DIST cp -r $pkg\_* $DIST cp -r $pkg-* $DIST -# Go to package building directory +# Change to build directory cd $DIST/$pkg-* # Determine the version of the upstream Debian package @@ -95,8 +95,8 @@ cranversion=$upstreamversion"~"$DIST"cran.$iteration" # would make an update of the archive index inside the loop in backport_others # necessary -new_dsc=$rcrandir/$DIST-cran40/${pkg}_${cranversion}.dsc -logfile=$rcrandir/$DIST-cran40/${pkg}_${cranversion}_${ARCH}.build +new_dsc=$rcrandir/$DIST-cran46/${pkg}_${cranversion}.dsc +logfile=$rcrandir/$DIST-cran46/${pkg}_${cranversion}_${ARCH}.build if [ -e $new_dsc ]; then @@ -113,7 +113,7 @@ else # Check for a script doing modifications required for backporting script=../\_reverts\_$pkg\.sh - if [ -f $script ]; then source $script; fi + if [ -f $script ]; then source $script; echo backport.sh Applied $script; fi if [ "$skip" = false ] then @@ -124,7 +124,7 @@ else --aptcache /var/cache/pbuilder/$DIST-$ARCH/aptcache fi sudo -E pdebuild --debbuildopts '-sa' \ - --buildresult $rcrandir/$DIST-cran40/ \ + --buildresult $rcrandir/$DIST-cran46/ \ --logfile $logfile \ -- --override-config \ --distribution $DIST --basetgz /var/cache/pbuilder/$DIST-$ARCH-base.tgz \ diff --git a/backport_others b/backport_others index da34d7c..4c1146a 100755 --- a/backport_others +++ b/backport_others @@ -6,7 +6,7 @@ # Make sure the R version in ./backport is correctly set # Creates a source package and binary packages for the following architecture -ARCH=i386 +ARCH=amd64 export ARCH usage() @@ -59,12 +59,9 @@ export DIST # then survival and nlme, then the rest # Packages to backport: -#for i in dh-r; do # dh is not available in jessie, therefore start with this #for i in lattice r-cran-mass; do #for i in rmatrix; do #for i in survival nlme; do -#for i in rpart mgcv boot cluster codetools foreign kernsmooth r-cran-class r-cran-coda r-cran-spatial r-cran-nnet littler rpy2 rkward; do -#for i in lattice nlme rmatrix mgcv boot cluster codetools foreign kernsmooth r-cran-class r-cran-coda r-cran-spatial r-cran-nnet r-cran-mass rpart survival littler rpy2 rkward; do for i in lattice nlme rmatrix mgcv boot cluster codetools foreign kernsmooth r-cran-class r-cran-coda r-cran-spatial r-cran-nnet r-cran-mass rpart survival littler; do ./backport -s $i $DIST diff --git a/bookworm/_reverts_r-base.sh b/bookworm/_reverts_r-base.sh new file mode 100644 index 0000000..5aa73f3 --- /dev/null +++ b/bookworm/_reverts_r-base.sh @@ -0,0 +1,2 @@ +ssed -i -R "/^Build-Depends/s/gfortran-for-host/gfortran/" debian/control +dch -a "debian/control: Revert gfortran-for-host to gfortran" diff --git a/build b/build index 95b2b84..0d2bd15 100755 --- a/build +++ b/build @@ -18,7 +18,7 @@ command -v lsb_release >/dev/null 2>&1 || { DIST=`lsb_release -cs` # URL of the local CRAN repo for checking for existing builds -localcran="http://ryz/r-cran/$DIST-cran40/" +localcran="http://ryz/r-cran/$DIST-cran46/" skip=false while test -n "${1}"; do diff --git a/build_others b/build_others index 0f35701..dd8e95b 100755 --- a/build_others +++ b/build_others @@ -39,7 +39,6 @@ fi #for i in rmatrix nlme; do #for i in survival; do #for i in cluster foreign r-cran-class r-cran-spatial r-cran-nnet kernsmooth mgcv rodbc rpart littler rpy2 rkward; do -#for i in lattice rmatrix nlme cluster foreign r-cran-class r-cran-spatial r-cran-nnet r-cran-mass kernsmooth mgcv rpart survival littler rpy2 rkward; do for i in lattice rmatrix nlme cluster foreign r-cran-class r-cran-spatial r-cran-nnet r-cran-mass kernsmooth mgcv rpart survival littler; do ./build -s $i done diff --git a/move_debs b/move_debs index 2ce11df..30e9535 100755 --- a/move_debs +++ b/move_debs @@ -15,4 +15,4 @@ DIST=$1 if [ $DIST != "bookworm" ] && [ $DIST != "trixie" ]; then usage; exit 1; fi sudo chown jranke $DIST/*${DIST}cran*_amd64.{deb,build} -mv -v $DIST/*${DIST}cran*_amd64.{deb,build} /home/jranke/git/uni-bremen/website/www/ranke/r-cran/$DIST-cran40 +mv -v $DIST/*${DIST}cran*_amd64.{deb,build} /home/jranke/git/uni-bremen/website/www/ranke/r-cran/$DIST-cran46 diff --git a/move_debs_arm64 b/move_debs_arm64 index 7a2ae55..bc8129f 100755 --- a/move_debs_arm64 +++ b/move_debs_arm64 @@ -14,5 +14,5 @@ DIST=$1 # Validate distribution argument if [ $DIST != "bookworm" ] && [ $DIST != "trixie" ]; then usage; exit 1; fi -scp arm64:/var/chroot/$DIST-arm64/root/r-backports/$DIST/*${DIST}cran*_arm64.{deb,build} /home/jranke/git/uni-bremen/website/www/ranke/r-cran/$DIST-cran40 -sudo chown jranke /home/jranke/git/uni-bremen/website/www/ranke/r-cran/$DIST-cran40 +scp arm64:/var/chroot/$DIST-arm64/root/r-backports/$DIST/*${DIST}cran*_arm64.{deb,build} /home/jranke/git/uni-bremen/website/www/ranke/r-cran/$DIST-cran46 +sudo chown jranke /home/jranke/git/uni-bremen/website/www/ranke/r-cran/$DIST-cran46 -- cgit v1.2.3