Last modified by christoph_lechleitner@iteg_at on 2025-08-11 12.45:34

Hide last authors
christoph_lechleitner@iteg_at 1.1 1 = {{id name="AdaptingPBAtonewDebianRelease-Introduction"/}}Introduction =
2
3 About every 2 years Debian introduces a new release.
4
christoph_lechleitner@iteg_at 7.1 5 The following notes shall provide a step-by-step-plan for adapting the [[PBA Package Builder + Archiver>>doc:PBA.WebHome]] to a new Debian release and shall make it more efficient for the next Debian.
christoph_lechleitner@iteg_at 1.1 6
christoph_lechleitner@iteg_at 8.1 7 The first version of this page was created when Debian [[Buster>>url:https://wiki.debian.org/DebianBuster||shape="rect"]] was on it's way from Full Freeze to GA, we were still using {{code language="none"}}svn{{/code}} back then (mostly {{code language="none"}}git{{/code}} now).
christoph_lechleitner@iteg_at 1.1 8
christoph_lechleitner@iteg_at 8.1 9 Currently we are in the progress of adapting from [[Bullseye>>url:https://wiki.debian.org/DebianBullseye||shape="rect"]] to [[Bookworm>>url:https://wiki.debian.org/DebianBookworm||shape="rect"]], so this is __WORK IN PROGRESS__ rg. Bookworm.
christoph_lechleitner@iteg_at 7.1 10
christoph_lechleitner@iteg_at 10.1 11 = {{id name="AdaptingPBAtonewDebianRelease-AdaptPBAandcreatePBA-Buildertarballs"/}}Adapt PBA and create PBA-Builder tarballs =
christoph_lechleitner@iteg_at 1.1 12
christoph_lechleitner@iteg_at 9.1 13 See [[https:~~/~~/iteg.atlassian.net/l/cp/SGt5wKvo>>url:https://iteg.atlassian.net/l/cp/SGt5wKvo||shape="rect"]] (access ITEG only for now).
christoph_lechleitner@iteg_at 1.1 14
christoph_lechleitner@iteg_at 11.1 15 = {{id name="AdaptingPBAtonewDebianRelease-AdaptHelloWorldProjects"/}}Adapt HelloWorld Projects =
16
17 {{code language="none"}}
18 cd ~/sources/pba/trunk/pba-helloworld
19
20 git checkout main ; git pull ; git checkout main
21
christoph_lechleitner@iteg_at 12.1 22 # optional, branch:
23 #git branch ${BRANCHNAME} && git checkout ${BRANCHNAME} && git status
christoph_lechleitner@iteg_at 11.1 24
25 git push --set-upstream origin ${BRANCHNAME}
26
27 pba-raiseversion
28 # decide next version
29 pba-raisversion -b 1.2.3 "Adding new Debian target distro ${NEWDN}"
30
31 PBAO="."
32 # or
33 PBAO="arch|unix"
34 # or in phase 2 or when combining
35 PBAO="arch|unix|7"
36
37 #pba-builddeps -i -o ${PBAO}
38
39 #pba-instdeps -i -o ${PBAO}
40
christoph_lechleitner@iteg_at 12.1 41 # optional local build
christoph_lechleitner@iteg_at 11.1 42 pba-build -u -i -o ${PBAO}
christoph_lechleitner@iteg_at 12.1 43 # below: pba-localbuild -u -o ${PBAO}
christoph_lechleitner@iteg_at 11.1 44 # solve eventual problems
45
christoph_lechleitner@iteg_at 12.1 46 #PBADD=$(ls -1d debian* |grep -v mingw |head -1)
47 #${EDITOR:-vi} ${PBADD}/changelog ${PBADD}/control
48 ${EDITOR:-vi} debian-{arch,unix}/control
christoph_lechleitner@iteg_at 11.1 49
50 pba-localbuild -u -o ${PBAO}
51
52 # evtl.
53 #pba-localrpmbuild -u -o ${PBAO}
54
55 # wait for success
56
christoph_lechleitner@iteg_at 12.1 57 git add debian*/control debian*/changelog spec*/*spec
58
christoph_lechleitner@iteg_at 11.1 59 git commit -m "Adding support for new Debian distro ${NEWDN}"
60 git push
61
62 # optional, eventually after merge in main
63 pba-release -o ${PBAO}
64
65
66 {{/code}}
67
68 LATER (after adapting Fancylibs below) repeat for {{code language="none"}}pba-helloworld-portable{{/code}} (with {{code language="none"}}-o unix{{/code}}).
69
70 Repeat for {{code language="none"}}pba-hellolib-portable{{/code}} (with {{code language="none"}}-o unix{{/code}}).
71
72 Repeat for {{code language="none"}}pba-hellobigworld-portable{{/code}} (with {{code language="none"}}-o unix{{/code}}).
73
74 ... with {{code language="none"}}-o unix{{/code}} or later {{code language="none"}}-o "unix|9"{{/code}}.
75
christoph_lechleitner@iteg_at 10.1 76 = {{id name="AdaptingPBAtonewDebianRelease-AdaptFANCYLIBS"/}}Adapt [[doc:FANCYLIBS.WebHome]] =
77
christoph_lechleitner@iteg_at 8.1 78 === {{id name="AdaptingPBAtonewDebianRelease----currentpointofadaptiontoDebianBookworm---"/}}**~-~-- current point of adaption to Debian Bookworm ~-~--** ===
79
christoph_lechleitner@iteg_at 7.1 80 See [[Adapting FancyLibs & MinGW-Pkg from Debian 9 Stretch to 10 Buster, Mingw-7 to Mingw-8>>doc:FANCYLIBS.Adapting FancyLibs & MinGW-Pkg from Debian 9 Stretch to 10 Buster, Mingw-7 to Mingw-8.WebHome]].
81
christoph_lechleitner@iteg_at 9.1 82 = {{id name="AdaptingPBAtonewDebianRelease-Adaptpba-helloworld-portable"/}}Adapt pba-helloworld-portable =
christoph_lechleitner@iteg_at 4.1 83
christoph_lechleitner@iteg_at 7.1 84 See above, use {{code language="none"}}-o unix{{/code}}.
christoph_lechleitner@iteg_at 4.1 85
christoph_lechleitner@iteg_at 9.1 86 = {{id name="AdaptingPBAtonewDebianRelease-AdaptMinGWifnotdownduringFancyLibsadaptionabove"/}}Adapt [[MinGW>>doc:MINGW64.WebHome]] if not down during FancyLibs adaption above =
christoph_lechleitner@iteg_at 2.1 87
88 See [[doc:MINGW64.mingw 6 rebuild order.WebHome]].
89
christoph_lechleitner@iteg_at 7.1 90 === {{id name="AdaptingPBAtonewDebianRelease-MinGW-Adaptpba-hello*-portable"/}}MinGW-Adapt pba-hello*-portable ===
christoph_lechleitner@iteg_at 4.1 91
christoph_lechleitner@iteg_at 7.1 92 See above, with -o "unix|9" instead of "-o unix".
christoph_lechleitner@iteg_at 4.1 93
christoph_lechleitner@iteg_at 9.1 94 = {{id name="AdaptingPBAtonewDebianRelease-Adaptionsforphase2,oncenewreleaseissettled"/}}Adaptions for phase 2, once new release is settled =
christoph_lechleitner@iteg_at 2.1 95
96 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 {{code language="none"}}DefaultDistribution{{/code}} in {{code language="none"}}pba-builder.conf{{/code}}.
97
98 {{code}}
99 ${EDITOR:-vi} debian/changelog src/etc/pba/builder.conf.template src/lib/build-functions.pl
100
101 # commit
christoph_lechleitner@iteg_at 7.1 102 git commit -m "Making new Debian distro ${NEWDN} default for DefaultDistribution in pba-builder.conf"
christoph_lechleitner@iteg_at 2.1 103
104 # release it
105 pba-release
106 {{/code}}