Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Introduction

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.

Adapting pba to new Debian Release

Preprations

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}"

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/.

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

--- current point of adaption to Debian Bookworm ---

Create PBA-Builder tarballs

See eventual separate notes (my ITEG's PBA-Tarball Notes are not public, sorry).

Adapt HelloWorld Projects

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".

Adapt FancyLibs

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.

Adapt MinGW

See mingw 6 rebuild order.

MinGW-Adapt pba-hello*-portable

See above, with -o "unix|9" 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.

${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
  • No labels