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

From version 11.1
edited by christoph_lechleitner@iteg_at
on 2025-08-11 12.33:01
Change comment: Restoring "Adapt HelloWorld Projects"
To version 5.1
edited by christoph_lechleitner@iteg_at
on 2019-03-23 09.45:46
Change comment: \n, link to fancylibs adaption

Summary

Details

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