About every 2 years Debian introduces a new release.
The following notes shall provide a step-by-step-plan for adapting the PBA Package Builder + Archiver to a new Debian release and shall make it more efficient for the next Debian.
The first version of this page was created when Debian Buster was on it's way from Full Freeze to GA, we were still using svn
back then (mostly git
now).
Currently we are in the progress of adapting from Bullseye to Bookworm, so this is WORK IN PROGRESS rg. Bookworm.
OLDDN=bullseye NEWDN=bookworm # we prefix name of feature branches issue number or epic numbers ISSUENR="8" ; BRANCHNAME="${ISSUENR}_adapt_to_debian_${NEWDN}" ; echo "Branch name: ${BRANCHNAME}" |
In phase 1 we make the new distribution known in the sense of adding a template for distributions.d/.
cd ~/sources/pba/pba/pba git checkout main ; git pull ; git checkout main git branch ${BRANCHNAME} && git checkout ${BRANCHNAME} && git status git push --set-upstream origin ${BRANCHNAME} cat src/etc/pba/distributions.d/${OLDDN} |sed -e "s/${OLDDN}/${NEWDN}/g" >src/etc/pba/distributions.d/${NEWDN} ${EDITOR:-vi} src/etc/pba/distributions.d/${NEWDN} git add src/etc/pba/distributions.d/${NEWDN} # evtl. drop ancient ones git rm src/etc/pba/distributions.d/foobar pba-raiseversion pba-raiseversion -b 1.6.31-0 "Adapting to distribution Debian 12 Bookworm" ${EDITOR:-vi} debian-unix/rules debian*/pba-common.install src/etc/pba/distributions.d/${NEWDN} # debian-unix/control # src/etc/pba/builder.conf.template src/lib/build-functions.pl # commit git commit -m "Adding support for new Debian distro ${NEWDN}" git push # evtl. release it locally, or in Gitlab pba-release |
See eventual separate notes (my ITEG's PBA-Tarball Notes are not public, sorry).
cd ~/sources/pba/trunk/pba-helloworld git checkout main ; git pull ; git checkout main git branch ${BRANCHNAME} && git checkout ${BRANCHNAME} && git status git push --set-upstream origin ${BRANCHNAME} pba-raiseversion # decide next version pba-raisversion -b 1.2.3 "Adding new Debian target distro ${NEWDN}" git add debian*/control debian*/changelog PBAO="." # or PBAO="arch|unix" # or in phase 2 or when combining PBAO="arch|unix|7" #pba-builddeps -i -o ${PBAO} #pba-instdeps -i -o ${PBAO} pba-build -u -i -o ${PBAO} # solve eventual problems PBADD=$(ls -1d debian* |grep -v mingw |head -1) ${EDITOR:-vi} ${PBADD}/changelog ${PBADD}/control pba-localbuild -u -o ${PBAO} # evtl. #pba-localrpmbuild -u -o ${PBAO} # wait for success git commit -m "Adding support for new Debian distro ${NEWDN}" git push # optional, eventually after merge in main pba-release -o ${PBAO} |
LATER (after adapting Fancylibs below) repeat for pba-helloworld-portable
(with -o unix
).
Repeat for pba-hellolib-portable
(with -o unix
).
Repeat for pba-hellobigworld-portable
(with -o unix
).
... with -o unix
or later -o "unix|9"
.
See Adapting FancyLibs & MinGW-Pkg from Debian 9 Stretch to 10 Buster, Mingw-7 to Mingw-8.
See above, use -o unix
.
See above, with -o "unix|9" instead of "-o unix".
Once the new Debian release is settled and all VIP libraries and current projects can be built for it, we can declare it the new default value for DefaultDistribution
in pba-builder.conf
.
${EDITOR:-vi} debian/changelog src/etc/pba/builder.conf.template src/lib/build-functions.pl # commit git commit -m "Making new Debian distro ${NEWDN} default for DefaultDistribution in pba-builder.conf" # release it pba-release |