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

Show last authors
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
9 = {{id name="AdaptingPBAtonewDebianRelease-AdaptingpbatonewDebianRelease"/}}Adapting pba to new Debian Release =
10
11 === {{id name="AdaptingPBAtonewDebianRelease-Preprations"/}}Preprations ===
12
13 {{code}}
14 OLDREL=stretch
15 NEWREL=buster
16
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
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="."
49 # or
50 PBAO="arch|unix"
51 # or in phase 2
52 PBAO="arch|unix|7"
53
54 pba-builddeps -i -o ${PBAO}
55
56 #pba-instdeps -i -o ${PBAO}
57
58 pba-build -u -i -o ${PBAO}
59
60 # solve eventual problems
61
62 PBADD=$(ls -1d debian* |grep -v mingw |head -1)
63 ${EDITOR:-vi} ${PBADD}/changelog ${PBADD}/control
64
65 pba-syncchangelogs
66
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
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
76 pba-release -o ${PBAO}
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
89 See [[doc:FANCYLIBS.Adapting FancyLibs & MinGW-Pkg from Debian 9 Stretch to 10 Buster, Mingw-7 to Mingw-8.WebHome]],
90
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
99 === {{id name="AdaptingPBAtonewDebianRelease-AdaptMinGW"/}}Adapt [[MinGW>>doc:MINGW64.WebHome]] ===
100
101 See [[doc:MINGW64.mingw 6 rebuild order.WebHome]].
102
103 === {{id name="AdaptingPBAtonewDebianRelease-Adaptpba-hello*-portable"/}}Adapt pba-hello*-portable ===
104
105 See above, with -o "unix|7" instead of "-o unix".
106
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}}