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

From version 10.1
edited by christoph_lechleitner@iteg_at
on 2023-03-24 09.47:56
Change comment: PBA now supports Debian 12, FancyLibs WIP
To version 7.1
edited by christoph_lechleitner@iteg_at
on 2021-10-01 09.49:14
Change comment: Reflecting switch from svn to git, first adaptions rg. debian 11 bullseye

Summary

Details

Page properties
Content
... ... @@ -4,26 +4,125 @@
4 4  
5 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.
6 6  
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).
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.
8 8  
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.
9 +Currently we are in the progress of adapting to Debian [[Bullseye>>url:https://wiki.debian.org/DebianBullseye||shape="rect"]], and we have switched from {{code language="none"}}svn{{/code}} to {{code language="none"}}git{{/code}}. Currently this is __WORK IN PROGRESS__ rg. Bullseye.
10 10  
11 -= {{id name="AdaptingPBAtonewDebianRelease-AdaptPBAandcreatePBA-Buildertarballs"/}}Adapt PBA and create PBA-Builder tarballs =
11 += {{id name="AdaptingPBAtonewDebianRelease-AdaptingpbatonewDebianRelease"/}}Adapting pba to new Debian Release =
12 12  
13 -See [[https:~~/~~/iteg.atlassian.net/l/cp/SGt5wKvo>>url:https://iteg.atlassian.net/l/cp/SGt5wKvo||shape="rect"]] (access ITEG only for now).
13 +=== {{id name="AdaptingPBAtonewDebianRelease-Preprations"/}}Preprations ===
14 14  
15 -= {{id name="AdaptingPBAtonewDebianRelease-AdaptFANCYLIBS"/}}Adapt [[doc:FANCYLIBS.WebHome]] =
15 +{{code}}
16 +OLDDN=stretch
17 +NEWDN=buster
16 16  
17 -=== {{id name="AdaptingPBAtonewDebianRelease----currentpointofadaptiontoDebianBookworm---"/}}**~-~-- current point of adaption to Debian Bookworm ~-~--** ===
19 +# we prefix name of feature branches issue number or epic numbers
20 +ISSUENR="e1"BRANCHNAME="${ISSUENR}_adapt_to_debian_11_${NEWDN}" ; echo "Branch name: ${BRANCHNAME}"
21 +{{/code}}
18 18  
23 +=== {{id name="AdaptingPBAtonewDebianRelease-Adaptionsforphase1,towardsGA"/}}Adaptions for phase 1, towards GA ===
24 +
25 +In phase 1 we make the new distribution known in the sense of adding a template for distributions.d/.
26 +
27 +{{code}}
28 +cd ~/sources/pba/git/pba
29 +
30 +git checkout main ; git pull ; git checkout main
31 +
32 +git branch ${BRANCHNAME} && git checkout ${BRANCHNAME} && git status
33 +
34 +git push --set-upstream origin ${BRANCHNAME}
35 +
36 +cat src/etc/pba/distributions.d/${OLDDN} |sed -e "s/${OLDDN}/${NEWDN}/g" >src/etc/pba/distributions.d/${NEWDN}
37 +git add src/etc/pba/distributions.d/${NEWDN}
38 +
39 +# evtl. drop ancient ones
40 +git rm src/etc/pba/distributions.d/foobar
41 +
42 +${EDITOR:-vi} debian/changelog debian/rules debian/pba-common.install src/etc/pba/distributions.d/${NEWDN} debian/control
43 +# src/etc/pba/builder.conf.template src/lib/build-functions.pl
44 +
45 +# commit
46 +git commit -m "Adding support for new Debian distro ${NEWDN}"
47 +
48 +# release it
49 +pba-release
50 +{{/code}}
51 +
52 +=== {{id name="AdaptingPBAtonewDebianRelease-AdaptHelloWorldProjects"/}}Adapt HelloWorld Projects ===
53 +
54 +{{code language="none"}}
55 +cd ~/sources/pba/trunk/pba-helloworld
56 +
57 +git checkout main ; git pull ; git checkout main
58 +
59 +git branch ${BRANCHNAME} && git checkout ${BRANCHNAME} && git status
60 +
61 +git push --set-upstream origin ${BRANCHNAME}
62 +
63 +pba-raiseversion
64 +# decide next version
65 +pba-raisversion -b 1.2.3 "Adding new Debian target distro ${NEWDN}"
66 +
67 +git add debian*/control debian*/changelog
68 +
69 +PBAO="."
70 +# or
71 +PBAO="arch|unix"
72 +# or in phase 2 or when combining
73 +PBAO="arch|unix|7"
74 +
75 +#pba-builddeps -i -o ${PBAO}
76 +
77 +#pba-instdeps -i -o ${PBAO}
78 +
79 +pba-build -u -i -o ${PBAO}
80 +
81 +# solve eventual problems
82 +
83 +PBADD=$(ls -1d debian* |grep -v mingw |head -1)
84 +${EDITOR:-vi} ${PBADD}/changelog ${PBADD}/control
85 +
86 +pba-localbuild -u -o ${PBAO}
87 +
88 +# evtl.
89 +#pba-localrpmbuild -u -o ${PBAO}
90 +
91 +# wait for success
92 +
93 +git commit -m "Adding support for new Debian distro ${NEWDN}"
94 +git push
95 +
96 +# optional, eventually after merge in main
97 +pba-release -o ${PBAO}
98 +
99 +
100 +{{/code}}
101 +
102 +LATER (after adapting Fancylibs below) repeat for {{code language="none"}}pba-helloworld-portable{{/code}} (with {{code language="none"}}-o unix{{/code}}).
103 +
104 +Repeat for {{code language="none"}}pba-hellolib-portable{{/code}} (with {{code language="none"}}-o unix{{/code}}).
105 +
106 +Repeat for {{code language="none"}}pba-hellobigworld-portable{{/code}} (with {{code language="none"}}-o unix{{/code}}).
107 +
108 +... with (% style="letter-spacing: 0.0px;" %){{code language="none"}}-o unix{{/code}}(%%) or later (% style="letter-spacing: 0.0px;" %){{code language="none"}}-o "unix|9"{{/code}}(%%).
109 +
110 +=== {{id name="AdaptingPBAtonewDebianRelease-AdaptFANCYLIBS"/}}Adapt [[doc:FANCYLIBS.WebHome]] ===
111 +
112 +**~-~-- current point of adaption to Debian Bullseye ~-~--**
113 +
19 19  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]].
20 20  
21 -= {{id name="AdaptingPBAtonewDebianRelease-Adaptpba-helloworld-portable"/}}Adapt pba-helloworld-portable =
116 +=== {{id name="AdaptingPBAtonewDebianRelease-Adaptpba-helloworld-portable"/}}Adapt pba-helloworld-portable ===
22 22  
23 23  See above, use {{code language="none"}}-o unix{{/code}}.
24 24  
25 -= {{id name="AdaptingPBAtonewDebianRelease-AdaptMinGWifnotdownduringFancyLibsadaptionabove"/}}Adapt [[MinGW>>doc:MINGW64.WebHome]] if not down during FancyLibs adaption above =
120 +=== {{id name="AdaptingPBAtonewDebianRelease-CreatePBA-Buildertarballs"/}}Create PBA-Builder tarballs ===
26 26  
122 +See eventual separate notes (my [[ITEG's PBA-Tarball Notes>>url:https://confluence.iteg.at/x/l4Kg||shape="rect"]] are not public, sorry).
123 +
124 +=== {{id name="AdaptingPBAtonewDebianRelease-AdaptMinGW"/}}Adapt [[MinGW>>doc:MINGW64.WebHome]] ===
125 +
27 27  See [[doc:MINGW64.mingw 6 rebuild order.WebHome]].
28 28  
29 29  === {{id name="AdaptingPBAtonewDebianRelease-MinGW-Adaptpba-hello*-portable"/}}MinGW-Adapt pba-hello*-portable ===
... ... @@ -30,7 +30,7 @@
30 30  
31 31  See above, with -o "unix|9" instead of "-o unix".
32 32  
33 -= {{id name="AdaptingPBAtonewDebianRelease-Adaptionsforphase2,oncenewreleaseissettled"/}}Adaptions for phase 2, once new release is settled =
132 +=== {{id name="AdaptingPBAtonewDebianRelease-Adaptionsforphase2,oncenewreleaseissettled"/}}Adaptions for phase 2, once new release is settled ===
34 34  
35 35  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}}.
36 36  
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -2141224976
1 +968785981
URL
... ... @@ -1,1 +1,1 @@
1 -https://clazzes.atlassian.net/wiki/spaces/PBA/pages/2141224976/Adapting PBA to new Debian Release
1 +https://clazzes.atlassian.net/wiki/spaces/PBA/pages/968785981/Adapting PBA to new Debian Release