72 lines
1.9 KiB
Bash
Executable File
72 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
PKGNAME=$1
|
|
SH_PATH=$(readlink -f `dirname "$0"`)
|
|
|
|
errlog(){
|
|
echo $1;
|
|
exit 1;
|
|
}
|
|
|
|
if [ ! -n "$PKGNAME" ];then
|
|
errlog "Useage: ./build.sh pve-common"
|
|
fi
|
|
|
|
if [ ! -d "$SH_PATH/packages/$PKGNAME" ];then
|
|
errlog "$PKGNAME is not exsited!"
|
|
fi
|
|
|
|
dockerbuild(){
|
|
rm $SH_PATH/packages/$PKGNAME/$PKGNAME/pvebuild -rf
|
|
if [ -n "$BUILDERNAME" ];then
|
|
docker run -it -e PKGDIR=$SH_PATH/packages/$PKGNAME/$PKGNAME -v $SH_PATH/:$SH_PATH --name $PKGNAME --rm $BUILDERNAME || errlog "builderror"
|
|
else
|
|
docker run -it -e PKGDIR=$SH_PATH/packages/$PKGNAME/$PKGNAME -v $SH_PATH/:$SH_PATH --name $PKGNAME --rm pvebuilder || errlog "builderror"
|
|
fi
|
|
}
|
|
|
|
upload_pkg(){
|
|
mkdir /tmp/$PKGNAME -p
|
|
find "$SH_PATH/packages/$PKGNAME/$PKGNAME" -name "*.deb" -exec cp {} /tmp/$PKGNAME \;
|
|
for i in `ls /tmp/$PKGNAME/*.deb`;
|
|
do
|
|
md5sum $i > $i.md5
|
|
cat $i.md5
|
|
done
|
|
find "$SH_PATH/packages/$PKGNAME/$PKGNAME" -name "*.deb.md5" -exec cp {} /tmp/$PKGNAME \;
|
|
find "$SH_PATH/packages/$PKGNAME/$PKGNAME" -name "*.buildinfo" -exec cp {} /tmp/$PKGNAME \;
|
|
find "$SH_PATH/packages/$PKGNAME/$PKGNAME" -name "*.changes" -exec cp {} /tmp/$PKGNAME \;
|
|
}
|
|
|
|
update_submodues(){
|
|
if [ -d "$SH_PATH/packages/$PKGNAME/$PKGNAME/.git/" ]; then
|
|
echo "skip submodule"
|
|
else
|
|
cd $SH_PATH/packages/$PKGNAME/
|
|
git submodule update --init --recursive "$PKGNAME"
|
|
fi
|
|
}
|
|
|
|
update_submodues || errlog "Failed to update submodule"
|
|
|
|
if [ -f "$SH_PATH/packages/$PKGNAME/series" ];then
|
|
cd "$SH_PATH/packages/$PKGNAME/$PKGNAME"
|
|
QUILT_PATCHES=../ \
|
|
QUILT_SERIES=../series \
|
|
quilt --quiltrc /dev/null --color=always push -a || test $$? = 2
|
|
fi
|
|
|
|
ARCH=$(arch)
|
|
|
|
if [ -f "$SH_PATH/packages/$PKGNAME/series.$ARCH" ];then
|
|
cd "$SH_PATH/packages/$PKGNAME/$PKGNAME"
|
|
QUILT_PATCHES=../ \
|
|
QUILT_SERIES=../series.$ARCH \
|
|
quilt --quiltrc /dev/null --color=always push -a || test $$? = 2
|
|
fi
|
|
|
|
cd $SH_PATH
|
|
|
|
dockerbuild
|
|
upload_pkg || errlog "upload pkg failed"
|
|
|