6
6
# Resonable lintian and rpmlint result. See end of script !
7
7
#
8
8
# David Bannon 2022-11-25
9
- # NAMING
10
- # Hard to be sure, no clear definition and varying conventions in use but -
11
- # ftp.debian.org/debian/pool/main/q/qt6-base - typical...
12
- # libqt6opengl6-dev_6.4.1-1_armhf.deb
13
- # libqt6opengl6_6.3.1-1_i386.deb
14
- # Note that the '6' appears 3 times but in each case refers to the same thing !
15
- # So, we always have a name including 'qt6' then ending in'6' and then a VerNo starting with '6'
16
- # And all three '6' are both in main package and -dev package.
17
- # And the number of the beast shall be 666 .....
18
- # The actual, binary library file is libQt6OpenGL.so.6.4.1 so the trailing '6' on the name has dissapeared !
19
- # So, we will do -
20
- # Library, binary libQt6Pas.so.6.2.3
21
- # Package, libqt6pas6_6.2.0-1_amd64.deb
22
- # Dev Package libqt6pas6-dev.6.2.0-1_amd64.deb
23
- # The '0' in above will be rev'ed by every change Z makes to the interface, the 6.2 is the LTS Qt6 release
24
-
25
-
26
- PACKVER=' 4' # should start at '1', rev if you re-package same binary
9
+
10
+ PACKVER=' 1' # should start at '1', rev if you re-package same binary
27
11
28
12
LIBNAME=libQt5Pas
29
13
PRODUCT=" libqt5pas" # lib has upper case Q - P, this appears in Package name, add '1' to lib, -dev to devlib
30
14
CURRENT=` pwd`
31
15
32
- # library will be called something like ./libQt6Pas.so.6.2.3, the package libqt6pas6_6.2.0-1_amd64.deb and libqt6pas6-dev.6.2.0-1_amd64
16
+ # library will be called something like -
17
+ # libQt5Pas.so.1.2.14, the package libqt5pas1_2.14-1_amd64.deb and libqt5pas-dev_2.14-1_amd64
18
+ # libqt5pas-1.2.14-1.x86_64.rpm and libqt5pas-devel-1.2.14-1.x86_64.rpm
33
19
cd ..
34
20
LIBFILE=$( find . -maxdepth 1 ! -type l -name " $LIBNAME " " *" )
35
21
cd $CURRENT
@@ -52,6 +38,8 @@ M_ARCH=`uname -m` # Might return, eg aarch64, x86_64. Raspi running 32bit return
52
38
WHOAMI=
" David Bannon <[email protected] >"
53
39
BUILDDATE=` date -R`
54
40
41
+
42
+
55
43
function WriteControl () {
56
44
if [ " $1 " = " DEV" ]; then
57
45
echo " Package: $PRODUCT -dev" >> BUILD/DEBIAN/control
@@ -100,24 +88,36 @@ function DebianPackage () {
100
88
rm -rf BUILD
101
89
mkdir -p BUILD/DEBIAN
102
90
mkdir -p BUILD/usr/lib/" $DIR_ARCH "
103
- mkdir -p BUILD/usr/share/doc/" $PRODUCT "
91
+ mkdir -p BUILD/usr/share/doc/" $PRODUCT " " $MAJORVER "
104
92
WriteControl
105
93
cp ../" $FULLLIBNAME " BUILD/usr/lib/" $DIR_ARCH " /.
106
94
ln -s -r BUILD/usr/lib/" $DIR_ARCH " /" $FULLLIBNAME " BUILD/usr/lib/" $DIR_ARCH " /" $LIBNAME " .so." $MAJORVER " ." $MINORVER "
107
95
ln -s -r BUILD/usr/lib/" $DIR_ARCH " /" $FULLLIBNAME " BUILD/usr/lib/" $DIR_ARCH " /" $LIBNAME " .so." $MAJORVER "
108
96
# Don't link to base name, Lintian objects 'cos thats the -dev package's job
109
97
chmod 0644 BUILD/usr/lib/" $DIR_ARCH " /*
110
98
111
- cp copyright " BUILD/usr/share/doc/$PRODUCT /copyright"
99
+ cp copyright " BUILD/usr/share/doc/$PRODUCT$MAJORVER /copyright"
112
100
113
101
echo " activate-noawait ldconfig" > BUILD/DEBIAN/triggers
114
102
echo " libQt5Pas $MAJORVER libqt5pas$MAJORVER " > BUILD/DEBIAN/shlibs
115
- gzip -knc --best changelog.libqt5pas >> BUILD/usr/share/doc/" $PRODUCT " /changelog.gz
103
+
104
+ dch -cchangelog -v " $MAJORVER " ." $MINORVER " ." $EXTRAVER " -D" unstable" " Release of new version."
105
+ if [ -f whatsnew ]; then
106
+ echo " ---------- Including whatsnew in changelog"
107
+ while IFS= read -r Line; do
108
+ dch -cchangelog --append " $Line "
109
+ done < whatsnew
110
+ fi
111
+ dch -cchangelog --append " Please see Lazarus at gitlab for further change details."
112
+
113
+ gzip -knc --best changelog >> BUILD/usr/share/doc/" $PRODUCT$MAJORVER " /changelog.gz
114
+ ls -l BUILD/usr/share/doc/" $PRODUCT$MAJORVER "
115
+ gzip -knc --best changelog >> changelog.gz
116
116
# ------ Make the md5sum file -----------
117
117
cd BUILD
118
118
md5sum usr/lib/" $DIR_ARCH " /" $LIBNAME " .so." $MAJORVER " ." $VERSION " > DEBIAN/md5sums
119
- md5sum usr/share/doc/" $PRODUCT " /copyright >> DEBIAN/md5sums
120
- md5sum usr/share/doc/" $PRODUCT " /changelog.gz >> DEBIAN/md5sums
119
+ md5sum usr/share/doc/" $PRODUCT$MAJORVER " /copyright >> DEBIAN/md5sums
120
+ md5sum usr/share/doc/" $PRODUCT$MAJORVER " /changelog.gz >> DEBIAN/md5sums
121
121
cd ..
122
122
chmod -R g-w BUILD
123
123
fakeroot dpkg-deb -b BUILD/. " $PRODUCT " 1_" $VERSION " -" $PACKVER " _" $ARCH " .deb
@@ -136,7 +136,7 @@ function DebianPackageDev () {
136
136
# cp ../qt62.pas BUILD/usr/share/pascal/qt6/.
137
137
chmod 0644 BUILD/usr/share/pascal/qt5/*
138
138
cp copyright BUILD/usr/share/doc/" $PRODUCT -dev" /copyright
139
- gzip -knc --best changelog.libqt5pas >> BUILD/usr/share/doc/" $PRODUCT -dev" /changelog.gz
139
+ gzip -knc --best changelog >> BUILD/usr/share/doc/" $PRODUCT -dev" /changelog.gz
140
140
141
141
# ------ Make the md5sum file -----------
142
142
cd BUILD
@@ -169,8 +169,8 @@ function MakeRPM () {
169
169
echo " ========= RPM Devel Package ========"
170
170
mkdir -p " $RDIR " /usr/share/doc/" $PRODUCT " -devel
171
171
chmod 755 " $RDIR " /usr/share/doc/" $PRODUCT " -devel
172
- cp copyright " $RDIR " /usr/share/doc/" $PRODUCT " -devel/copyright
173
- gzip -knc --best changelog.libqt5pas >> " $RDIR " /usr/share/doc/" $PRODUCT " -devel/changelog.gz
172
+ cp copyright " $RDIR " /usr/share/doc/" $PRODUCT " -devel/copyright
173
+ gzip -knc --best changelog >> " $RDIR " /usr/share/doc/" $PRODUCT " -devel/changelog.gz
174
174
cd " $RDIR " /usr/" $RDIR_ARCH "
175
175
ln -s " $FULLLIBNAME " " $LIBNAME " .so
176
176
cd " $CURRENT "
@@ -186,7 +186,7 @@ function MakeRPM () {
186
186
mkdir -p " $RDIR " /usr/share/doc/" $PRODUCT "
187
187
chmod 755 " $RDIR " /usr/share/doc/" $PRODUCT "
188
188
cp copyright " $RDIR /usr/share/doc/" $PRODUCT " /copyright"
189
- gzip -knc --best changelog.libqt5pas >> " $RDIR " /usr/share/doc/" $PRODUCT " /changelog.gz
189
+ gzip -knc --best changelog >> " $RDIR " /usr/share/doc/" $PRODUCT " /changelog.gz
190
190
cp ../" $FULLLIBNAME " " $RDIR " /usr/" $RDIR_ARCH " /.
191
191
chmod 755 " $RDIR " /usr/" $RDIR_ARCH " /" $FULLLIBNAME "
192
192
ln -s -r " $RDIR " /usr/" $RDIR_ARCH " /" $FULLLIBNAME " " $RDIR " /usr/" $RDIR_ARCH " /" $LIBNAME " .so." $MAJORVER " ." $MINORVER "
@@ -196,7 +196,8 @@ function MakeRPM () {
196
196
sed -i " s/^Version:*./Version: ${MAJORVER} .${VERSION} /" " $RDIR " /" $PRODUCT " .spec
197
197
sed -i " s/^Release:*./Release: ${PACKVER} /" " $RDIR " /" $PRODUCT " .spec
198
198
sed -i " s/INSERT_FULL_VER/Version: ${FULLVER} /" " $RDIR " /" $PRODUCT " .spec
199
- sed -i " s/INSERT_VERSION/${MAJORVER} .${VERSION} /" " $RDIR " /" $PRODUCT " .spec
199
+ # sed -i "s/INSERT_VERSION/${MAJORVER}.${VERSION}/" "$RDIR"/"$PRODUCT".spec
200
+ sed -i " s/INSERT_EXTRAVER/${EXTRAVER} /" " $RDIR " /" $PRODUCT " .spec
200
201
cp -f " $RDIR " /" $PRODUCT " .spec " $PRODUCT " " $1 " .spec-just-used
201
202
cd " $RDIR "
202
203
fakeroot rpmbuild --target " $M_ARCH " --buildroot " $CURRENT " /" $RDIR " -bb " $PRODUCT " .spec
@@ -230,7 +231,7 @@ rm -f *.deb *.rpm *.gz
230
231
231
232
strip --remove-section=.comment ../" $FULLLIBNAME "
232
233
233
- DebianPackage
234
+ DebianPackage # do before dev package because it updates the changelog
234
235
DebianPackageDev
235
236
echo " ====== Finished Building Debs ======="
236
237
MakeRPM
@@ -246,10 +247,12 @@ rm -Rf "$TARNAME"
246
247
rm -Rf BUILD
247
248
ls -ltr
248
249
249
- # ------- RESTORE ME --------------- lintian -IiE *.deb
250
+ echo " ---------------- DEB Lintian Results ---------------------------- "
250
251
251
- # echo " === OK, now make the rpms with fakeroot bash ./rpm-package.bash <enter> ==="
252
+ lintian -IiE * .deb
252
253
254
+ echo " ---------------- RPM Lint Results --------------------------------"
255
+ rpmlint -i * .rpm
253
256
254
257
# --------------- RPM LINT Issues ------------------------------
255
258
0 commit comments