Skip to content

Commit b4c0b0a

Browse files
committed
Re-optimize the automated build script
1 parent 9eacac1 commit b4c0b0a

16 files changed

Lines changed: 170 additions & 218 deletions

File tree

‎build.sh‎

Lines changed: 46 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,11 @@ errlog(){
99
exit 1;
1010
}
1111

12+
copy_dir(){
13+
rsync -ra $SH_DIR/$PKGNAME /build
14+
cd /build/$PKGNAME
15+
}
16+
1217
if [ ! -n "$PKGNAME" ];then
1318
errlog "Useage: ./build.sh pve-common"
1419
fi
@@ -25,7 +30,11 @@ if [ -n "$DEB_BUILD_OPTIONS" ];then
2530
DEB_OPT=$DEB_BUILD_OPTIONS
2631
fi
2732

33+
dscflag="dsc"
2834

35+
if [[ "$DEB_BUILD_OPTIONS" == *"nodsc"* ]];then
36+
dscflag="nodsc"
37+
fi
2938

3039
echo "--------------info------------------"
3140
echo "This is Proxmox-Port package build scripts"
@@ -47,6 +56,31 @@ dockerbuild(){
4756
fi
4857
}
4958

59+
exec_build_make(){
60+
apt update
61+
yes |mk-build-deps --install --remove
62+
echo "clean "
63+
make clean || echo ok
64+
echo "build deb in `pwd` "
65+
if [ $dscflag == "dsc" ];then
66+
make dsc || errlog "build dsc error"
67+
fi
68+
DEB_BUILD_OPTIONS=nocheck make deb || errlog "build deb error"
69+
}
70+
71+
exec_build_dpkg(){
72+
apt update
73+
yes |mk-build-deps --install --remove
74+
echo "clean "
75+
make clean || echo ok
76+
echo "build deb in `pwd` "
77+
if [ $dscflag == "dsc" ];then
78+
dpkg-buildpackage -us -uc -S -d || errlog "build dsc error"
79+
fi
80+
dpkg-buildpackage -b -us -uc || errlog "build deb error"
81+
}
82+
83+
5084
upload_pkg(){
5185
mkdir $PKG_LOCATION_PATH/$PKGNAME -p
5286
find "$SH_PATH/packages/$PKGNAME/$PKGNAME" -name "*.deb" -exec cp {} $PKG_LOCATION_PATH/$PKGNAME \;
@@ -71,17 +105,18 @@ upload_pkg(){
71105
cat $i.md5
72106
done
73107

74-
for i in `ls $PKG_LOCATION_PATH/$PKGNAME/*.dsc`;
75-
do
76-
md5sum $i > $i.md5
77-
cat $i.md5
78-
done
79-
80-
for i in `ls $PKG_LOCATION_PATH/$PKGNAME/*.tar*`;
81-
do
82-
md5sum $i > $i.md5
83-
cat $i.md5
84-
done
108+
if [ $dscflag == "dsc" ];then
109+
for i in `ls $PKG_LOCATION_PATH/$PKGNAME/*.dsc`;
110+
do
111+
md5sum $i > $i.md5
112+
cat $i.md5
113+
done
114+
for i in `ls $PKG_LOCATION_PATH/$PKGNAME/*.tar*`;
115+
do
116+
md5sum $i > $i.md5
117+
cat $i.md5
118+
done
119+
fi
85120

86121
}
87122

‎docker/dockerfile.arm64‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM dockerpull.com/debian:12
1+
FROM debian:12
22
ARG DEBIAN_APT=http://mirrors.ustc.edu.cn
33
ARG PVE_APT=https://mirrors.lierfang.com
44
ARG ARCH=

‎docker/start.sh‎

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ errlog(){
55

66
}
77

8+
export dscflag="dsc"
9+
10+
if [[ "$DEB_BUILD_OPTIONS" == *"nodsc"* ]];then
11+
dscflag="nodsc"
12+
fi
13+
814
exec_build(){
915
echo "install depends"
1016
apt update
@@ -13,12 +19,21 @@ exec_build(){
1319
echo "clean "
1420
make clean || echo ok
1521
echo "build deb in `pwd` "
16-
make deb
17-
make dsc
22+
make deb || errlog "build deb error"
23+
# We need copy deb files first beacuse of deb will be clean when dsc build
24+
cp ../*.deb ../*.buildinfo ../*.changes ../*.dsc ../*.tar.* $PKGDIR
25+
if [ $dscflag == "dsc" ];then
26+
make dsc || errlog "build dsc error"
27+
cp ../*.deb ../*.buildinfo ../*.changes ../*.dsc ../*.tar.* $PKGDIR
28+
fi
1829
else
19-
dpkg-buildpackage -b -us -uc ||errlog "build error"
20-
dpkg-buildpackage -b -us -uc -S -d ||errlog "build des error"
30+
dpkg-buildpackage -b -us -uc -S -d ||errlog "build dsc error"
31+
# We need copy deb files first beacuse of deb will be clean when dsc build
2132
cp ../*.deb ../*.buildinfo ../*.changes ../*.dsc ../*.tar.* $PKGDIR
33+
if [ $dscflag == "dsc" ];then
34+
dpkg-buildpackage -b -us -uc ||errlog "build deb error"
35+
cp ../*.deb ../*.buildinfo ../*.changes ../*.dsc ../*.tar.* $PKGDIR
36+
fi
2237
fi
2338
}
2439

‎packages/common.sh‎

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/bin/bash
2+
copy_dir(){
3+
rsync -ra $SH_DIR/$PKGNAME /build
4+
cd /build/$PKGNAME
5+
}
6+
7+
exec_build_make(){
8+
apt update
9+
yes |mk-build-deps --install --remove
10+
echo "clean "
11+
make clean || echo ok
12+
echo "build deb in `pwd` "
13+
if [ $dscflag == "dsc" ];then
14+
make dsc || errlog "build dsc error"
15+
fi
16+
DEB_BUILD_OPTIONS=nocheck make deb || errlog "build deb error"
17+
}
18+
19+
exec_build_dpkg(){
20+
apt update
21+
yes |mk-build-deps --install --remove
22+
echo "clean "
23+
make clean || echo ok
24+
echo "build deb in `pwd` "
25+
if [ $dscflag == "dsc" ];then
26+
dpkg-buildpackage -us -uc -S -d || errlog "build dsc error"
27+
fi
28+
dpkg-buildpackage -b -us -uc || errlog "build deb error"
29+
}
30+
31+
errlog(){
32+
echo $1;
33+
exit 1;
34+
}
35+
Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
#!/bin/bash
2-
PKGNAME="librados2-perl"
3-
4-
errlog(){
5-
echo $1
6-
exit 1
2+
SCRIPT_DIR=$(cd $(dirname ${BASH_SOURCE[0]}); pwd)
3+
PKGNAME=$(basename $SCRIPT_DIR)
4+
. ../common.sh
5+
echo "This is $PKGNAME build scripts"
76

8-
}
97

108
exec_build(){
119
apt update
@@ -14,15 +12,11 @@ exec_build(){
1412
echo "clean "
1513
make clean || echo ok
1614
echo "build deb in `pwd` "
17-
make deb
18-
make dsc
15+
make deb || errlog "build deb error"
16+
if [ $dscflag == "dsc" ];then
17+
make dsc || errlog "build dsc error"
18+
fi
1919
}
2020

21-
echo "This is $PKGNAME build scripts"
22-
23-
24-
SH_PATH=$(realpath "$0")
25-
SH_DIR=$(dirname $SH_PATH)
26-
27-
cd $SH_DIR/$PKGNAME
21+
cd $SCRIPT_DIR/$PKGNAME
2822
exec_build

‎packages/libtpms/autobuild.sh‎

Lines changed: 6 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,14 @@
11
#!/bin/bash
2-
PKGNAME="libtpms"
3-
4-
errlog(){
5-
echo $1
6-
exit 1
7-
8-
}
9-
10-
exec_build(){
11-
apt update
12-
yes |mk-build-deps --install --remove
13-
echo "clean "
14-
make clean || echo ok
15-
echo "build deb in `pwd` "
16-
dpkg-buildpackage -b -us -uc || errlog "build deb error"
17-
dpkg-buildpackage -us -uc -S -d errlog "build dsc error"
18-
}
19-
20-
copy_dir(){
21-
rsync -ra $SH_DIR/$PKGNAME /build
22-
cd /build/$PKGNAME
23-
}
2+
SCRIPT_DIR=$(cd $(dirname ${BASH_SOURCE[0]}); pwd)
3+
PKGNAME=$(basename $SCRIPT_DIR)
244

255
echo "This is $PKGNAME build scripts"
266

27-
287
SH_PATH=$(realpath "$0")
298
SH_DIR=$(dirname $SH_PATH)
309

10+
. ../common.sh
11+
3112
copy_dir
32-
exec_build
33-
cp /build/*.changes /build/*.buildinfo /build/*.deb $SH_DIR/$PKGNAME
13+
exec_build_dpkg
14+
cp /build/*.changes /build/*.buildinfo /build/*.deb /build/*.tar.* /build/*.dsc $SH_DIR/$PKGNAME
Lines changed: 6 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,11 @@
11
#!/bin/bash
2-
PKGNAME="proxmox-archive-keyring"
3-
4-
errlog(){
5-
echo $1
6-
exit 1
7-
8-
}
9-
10-
exec_build(){
11-
apt update
12-
cp ../pveport.gpg debian/
13-
yes |mk-build-deps --install --remove
14-
echo "clean "
15-
make clean || echo ok
16-
echo "build deb in `pwd` "
17-
cd $SH_DIR/$PKGNAME
18-
make deb
19-
}
2+
SCRIPT_DIR=$(cd $(dirname ${BASH_SOURCE[0]}); pwd)
3+
PKGNAME=$(basename $SCRIPT_DIR)
204

215
echo "This is $PKGNAME build scripts"
226

7+
. ../common.sh
238

24-
SH_PATH=$(realpath "$0")
25-
SH_DIR=$(dirname $SH_PATH)
26-
27-
cd $SH_DIR/$PKGNAME
28-
exec_build
9+
cd $SCRIPT_DIR/$PKGNAME
10+
cp ../pveport.gpg debian/
11+
exec_build_make
Lines changed: 6 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,14 @@
11
#!/bin/bash
2-
PKGNAME="proxmox-backup-qemu"
3-
4-
errlog(){
5-
echo $1
6-
exit 1
7-
8-
}
9-
10-
exec_build(){
11-
apt update
12-
yes |mk-build-deps --install --remove
13-
echo "clean "
14-
make clean || echo ok
15-
echo "build deb in `pwd` "
16-
make deb
17-
make dsc
18-
}
2+
SCRIPT_DIR=$(cd $(dirname ${BASH_SOURCE[0]}); pwd)
3+
PKGNAME=$(basename $SCRIPT_DIR)
194

205
echo "This is $PKGNAME build scripts"
216

7+
. ../common.sh
228

23-
SH_PATH=$(realpath "$0")
24-
SH_DIR=$(dirname $SH_PATH)
25-
26-
cd $SH_DIR/$PKGNAME/submodules/proxmox-backup/
9+
cd $SCRIPT_DIR/$PKGNAME/submodules/proxmox-backup/
2710
apt update
2811
yes |mk-build-deps --install --remove
29-
cd $SH_DIR/$PKGNAME/
30-
exec_build
12+
cd $SCRIPT_DIR/$PKGNAME
13+
exec_build_make
3114

‎packages/proxmox-offline-mirror/autobuild.sh‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ exec_build(){
1414
echo "clean "
1515
make clean || echo ok
1616
echo "build deb in `pwd` "
17-
make deb
18-
make dsc
17+
make dsc || errlog "build dsc error"
18+
make deb || errlog "build deb error"
1919
}
2020

2121
echo "This is $PKGNAME build scripts"
Lines changed: 6 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,15 @@
11
#!/bin/bash
2-
PKGNAME="proxmox-perl-rs"
3-
4-
errlog(){
5-
echo $1
6-
exit 1
7-
8-
}
9-
10-
exec_build(){
11-
apt update
12-
yes |mk-build-deps --install --remove
13-
echo "clean "
14-
make clean || echo ok
15-
echo "build deb in `pwd` "
16-
make deb
17-
make dsc
18-
}
2+
#!/bin/bash
3+
SCRIPT_DIR=$(cd $(dirname ${BASH_SOURCE[0]}); pwd)
4+
PKGNAME=$(basename $SCRIPT_DIR)
195

206
echo "This is $PKGNAME build scripts"
217

22-
23-
SH_PATH=$(realpath "$0")
24-
SH_DIR=$(dirname $SH_PATH)
8+
. ../common.sh
259

2610
for i in common/pkg pve-rs;
2711
do
28-
cd $SH_DIR/$PKGNAME/$i
29-
exec_build
12+
cd $SCRIPT_DIR/$PKGNAME/$i
13+
exec_build_make
3014
done
3115

0 commit comments

Comments
 (0)