Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Reflecting switch from svn to git, first adaptions rg. debian 11 bullseye

...

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.

The first version of this page was created when Debian Buster was on it's way from Full Freeze to GA.

Currently we are in the progress of adapting to Debian Bullseye, and we have switched from svn to git. Currently this is WORK IN PROGRESS rg. Bullseye.

Adapting pba to new Debian Release

Preprations

Code Block
OLDRELOLDDN=stretch
NEWRELNEWDN=buster

# we prefix name of feature branches issue 
cd ~/sources/pba/trunk/pba
svn up ..number or epic numbers
ISSUENR="e1"BRANCHNAME="${ISSUENR}_adapt_to_debian_11_${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/.

Code Block
cd ~/sources/pba/git/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/${OLDRELOLDDN} |sed -e "s/${OLDRELOLDDN}/${NEWRELNEWDN}/g" >src/etc/pba/distributions.d/${NEWRELNEWDN}
svngit add src/etc/pba/distributions.d/${NEWRELNEWDN}

# evtl. drop ancient ones
svngit rm src/etc/pba/distributions.d/foobar

${EDITOR:-vi} debian/changelog debian/rules debian/pba-common.install src/etc/pba/distributions.d/${NEWRELNEWDN} debian/control
# src/etc/pba/builder.conf.template src/lib/build-functions.pl

# commit
svngit commit -m "Adding support for new Debian distro ${NEWRELNEWDN}"

# release it
pba-release

...

No Format
cd ~/sources/pba/trunk/pba-helloworld
svn up ..



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#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-syncchangelogslocalbuild 
pba-release -u -b pba-spool/ -o ${PBAO}
&&
\# sudoevtl.
pba#pba-builderlocalrpmbuild -Bu 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 git commit -m "Adding support for new Debian distro ${NEWRELNEWDN}"
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 pbafor pba-hellobigworld-portable portable (with -o unix).

... with -o unix or later -o "unix|79".

Adapt FANCYLIBS

--- current point of adaption to Debian Bullseye ---

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 mingw 6 rebuild order.

MinGW-Adapt pba-hello*-portable

See above, with -o "unix|79" instead of "-o unix".

Adaptions for phase 2, once new release is settled

...

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

...