...
About every 2 years Debian introduces a new release.
At the time I'm writing this Debian Buster is on it's way from Full Freeze to GA.
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 or maybe Ubuntu release.
Adapting pba to new Debian Release
Preprations
Code Block |
---|
OLDREL=stretch
NEWREL=buster
cd ~/sources/pba/trunk/pba
svn up .. |
Adaptions for phase 1, towards GA
In phase 1 we make the new distribution known in the sense of adding a template for distributions.d/.
Code Block |
---|
cat src/etc/pba/distributions.d/${OLDREL} |sed -e "s/${OLDREL}/${NEWREL}/g" >src/etc/pba/distributions.d/${NEWREL}
svn add src/etc/pba/distributions.d/${NEWREL}
# evtl. drop ancient ones
svn rm src/etc/pba/distributions.d/
${EDITOR:-vi} debian/changelog debian/rules debian/pba-common.install src/etc/pba/distributions.d/${NEWREL} debian/control
# src/etc/pba/builder.conf.template src/lib/build-functions.pl
# commit
svn commit -m "Adding support for new Debian distro ${NEWREL}"
# release it
pba-release |
Adapt HelloWorld Projects
No Format |
---|
cd ~/sources/pba/trunk/pba-helloworld
svn up ..
PBAO="."
# or
PBAO="arch|unix"
# or in phase 2
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-syncchangelogs
pba-release -u -b pba-spool/ -o ${PBAO} && \
sudo pba-builder -B pba-spool -b pba-results -o ${PBAO} 2>&1 |tee pba-builder.log
# wait for success
sudo rm -rf pba-spool/ pba-results pba-builder.log
svn commit -m "Adding support for new Debian distro ${NEWREL}"
pba-release -o ${PBAO}
|
Repeat for pba-hellolib-portable (with -o unix).
Repeat for pba-hellobigworld-portable (with -o unix).
... with -o unix
or later -o "unix|7"
.
Adapt FANCYLIBS
.
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.
Adapt PBA and create PBA-Builder tarballs
See https://iteg.atlassian.net/l/cp/SGt5wKvo (access ITEG only for now).
Adapt FANCYLIBS
--- current point of adaption to Debian Bookworm ---
See Adapting FancyLibs & MinGW-Pkg from Debian 9 Stretch to 10 Buster, Mingw-7 to Mingw-8,.
Adapt pba-helloworld-portable
See above, use -o unix
.
Create PBA-Builder tarballs
See eventual separate notes (my ITEG's PBA-Tarball Notes are not public, sorry).
Adapt MinGW if not down during FancyLibs adaption above
MinGW-Adapt pba-hello*-portable
See above, with -o "unix|79" instead of "-o unix".
Adaptions for phase 2, once new release is settled
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
.
Code Block |
---|
${EDITOR:-vi} debian/changelog src/etc/pba/builder.conf.template src/lib/build-functions.pl # commit svngit commit -m "Making new Debian distro ${NEWRELNEWDN} default for DefaultDistribution in pba-builder.conf" # release it pba-release |
...