Version 6.1 by christoph_lechleitner@iteg_at on 2019-03-23 11.23:47

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
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
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
christoph_lechleitner@iteg_at 2.1 9 = {{id name="AdaptingPBAtonewDebianRelease-AdaptingpbatonewDebianRelease"/}}Adapting pba to new Debian Release =
christoph_lechleitner@iteg_at 1.1 10
11 === {{id name="AdaptingPBAtonewDebianRelease-Preprations"/}}Preprations ===
12
christoph_lechleitner@iteg_at 2.1 13 {{code}}
14 OLDREL=stretch
15 NEWREL=buster
christoph_lechleitner@iteg_at 1.1 16
christoph_lechleitner@iteg_at 2.1 17 cd ~/sources/pba/trunk/pba
18 svn up ..
19 {{/code}}
20
21 === {{id name="AdaptingPBAtonewDebianRelease-Adaptionsforphase1,towardsGA"/}}Adaptions for phase 1, towards GA ===
22
23 In phase 1 we make the new distribution known in the sense of adding a template for distributions.d/.
24
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}
28
29 # evtl. drop ancient ones
30 svn rm src/etc/pba/distributions.d/
31
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
34
35 # commit
36 svn commit -m "Adding support for new Debian distro ${NEWREL}"
37
38 # release it
39 pba-release
40 {{/code}}
41
christoph_lechleitner@iteg_at 4.1 42 === {{id name="AdaptingPBAtonewDebianRelease-AdaptHelloWorldProjects"/}}Adapt HelloWorld Projects ===
christoph_lechleitner@iteg_at 2.1 43
christoph_lechleitner@iteg_at 4.1 44 {{code language="none"}}
45 cd ~/sources/pba/trunk/pba-helloworld
46 svn up ..
christoph_lechleitner@iteg_at 2.1 47
christoph_lechleitner@iteg_at 6.1 48 PBAO="."
christoph_lechleitner@iteg_at 4.1 49 # or
christoph_lechleitner@iteg_at 6.1 50 PBAO="arch|unix"
51 # or in phase 2
52 PBAO="arch|unix|7"
christoph_lechleitner@iteg_at 2.1 53
christoph_lechleitner@iteg_at 6.1 54 pba-builddeps -i -o ${PBAO}
christoph_lechleitner@iteg_at 4.1 55
christoph_lechleitner@iteg_at 6.1 56 #pba-instdeps -i -o ${PBAO}
christoph_lechleitner@iteg_at 4.1 57
christoph_lechleitner@iteg_at 6.1 58 pba-build -u -i -o ${PBAO}
christoph_lechleitner@iteg_at 4.1 59
60 # solve eventual problems
61
christoph_lechleitner@iteg_at 6.1 62 PBADD=$(ls -1d debian* |grep -v mingw |head -1)
63 ${EDITOR:-vi} ${PBADD}/changelog ${PBADD}/control
christoph_lechleitner@iteg_at 4.1 64
65 pba-syncchangelogs
66
christoph_lechleitner@iteg_at 6.1 67 pba-release -u -b pba-spool/ -o ${PBAO} && \
68 sudo pba-builder -B pba-spool -b pba-results -o ${PBAO} 2>&1 |tee pba-builder.log
christoph_lechleitner@iteg_at 4.1 69
70 # wait for success
71
72 sudo rm -rf pba-spool/ pba-results pba-builder.log
73
74 svn commit -m "Adding support for new Debian distro ${NEWREL}"
75
christoph_lechleitner@iteg_at 6.1 76 pba-release -o ${PBAO}
christoph_lechleitner@iteg_at 4.1 77
78
79 {{/code}}
80
81 Repeat for pba-hellolib-portable (with -o unix).
82
83 Repeat for pba-hellobigworld-portable (with -o unix).
84
85 ... 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}}(%%).
86
87 === {{id name="AdaptingPBAtonewDebianRelease-AdaptFANCYLIBS"/}}Adapt [[doc:FANCYLIBS.WebHome]] ===
88
christoph_lechleitner@iteg_at 6.1 89 See [[doc:FANCYLIBS.Adapting FancyLibs & MinGW-Pkg from Debian 9 Stretch to 10 Buster, Mingw-7 to Mingw-8.WebHome]],
christoph_lechleitner@iteg_at 2.1 90
christoph_lechleitner@iteg_at 4.1 91 === {{id name="AdaptingPBAtonewDebianRelease-Adaptpba-helloworld-portable"/}}Adapt pba-helloworld-portable ===
92
93 See above, use -o unix.
94
95 === {{id name="AdaptingPBAtonewDebianRelease-CreatePBA-Buildertarballs"/}}Create PBA-Builder tarballs ===
96
97 See eventual separate notes (my [[ITEG's PBA-Tarball Notes>>url:https://confluence.iteg.at/x/l4Kg||shape="rect"]] are not public, sorry).
98
christoph_lechleitner@iteg_at 2.1 99 === {{id name="AdaptingPBAtonewDebianRelease-AdaptMinGW"/}}Adapt [[MinGW>>doc:MINGW64.WebHome]] ===
100
101 See [[doc:MINGW64.mingw 6 rebuild order.WebHome]].
102
christoph_lechleitner@iteg_at 4.1 103 === {{id name="AdaptingPBAtonewDebianRelease-Adaptpba-hello*-portable"/}}Adapt pba-hello*-portable ===
104
105 See above, with -o "unix|7" instead of "-o unix".
106
christoph_lechleitner@iteg_at 2.1 107 === {{id name="AdaptingPBAtonewDebianRelease-Adaptionsforphase2,oncenewreleaseissettled"/}}Adaptions for phase 2, once new release is settled ===
108
109 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}}.
110
111 {{code}}
112 ${EDITOR:-vi} debian/changelog src/etc/pba/builder.conf.template src/lib/build-functions.pl
113
114 # commit
115 svn commit -m "Making new Debian distro ${NEWREL} default for DefaultDistribution in pba-builder.conf"
116
117 # release it
118 pba-release
119 {{/code}}