Aggiornare 'build-deb'

main
sam 3 years ago
parent 75a7ba6170
commit 460542dc6a

@ -11,7 +11,12 @@ fi
## vars config
############################################################################################################################
PKG=lxd
REPO=lxc/lxd-builder
URL=https://git.zfs.mx
REPO=$PKG/${PKG}-builder
RAW=raw/branch
UP=master
TEMPLATE=package_version_arch
LINK=$URL/$REPO/$RAW/$UP
SRC_PATH=$HOME/$PKG
echo "$PKG Source Code PATH [$SRC_PATH]:"
read SRC_PATH
@ -48,59 +53,89 @@ RELEASE=1
fi
echo MAINTAINER [""]:
read MAINTAINER
if [ -z "$MAINTAINER" ];
then
MAINTAINER=anonymous
fi
############################################################################################################################
## check LXD Version for Appropriate DEBIAN/control file & copy package files
############################################################################################################################
PKG_NAME={PKG}_${VERSION}-${RELEASE}_${ARCH}
PKG_NAME=${PKG}_${VERSION}-${RELEASE}_${ARCH}
PKG_ROOT=$HOME/$PKG_NAME
CONTROL=control
CONTROL_VERSION=5.10
if [[ $(echo -e "${VERSION}\n${CONTROL_VERSION}" | sort -V | tail -n1) == "${CONTROL_VERSION}" ]];
then
CONTROL_VERSION=5.9
fi
if [ ! -d "package_version_arch" ];
USR=/usr
LIB_DIR=$USR/lib
BIN_DIR=$USR/bin
SHARE_DIR=$USR/share
DOC_DIR=$SHARE_DIR/doc
SYSTEMD=$LIB_DIR/systemd/system
SYS_USR=$LIB_DIR/sysusers.d
DEB_DIR=DEBIAN
BIN_FILES=(devlxd-client fuidshift lxc lxc-to-lxd lxd lxd-agent lxd-benchmark lxd-migrate lxd-user macaroon-identity sysinfo)
DIR=$DEB_DIR
FILE=postinst
if [ ! -d "$TEMPLATE" ];
then
mkdir -p $PKG_ROOT/usr/lib
mkdir -p $PKG_ROOT/usr/lib/systemd/system
curl -s -o $PKG_ROOT/usr/lib/systemd/system/lxd.service "https://git.zfs.mx/$REPO/raw/branch/master/package_version_arch/usr/lib/systemd/system/lxd.service"
curl -s -o $PKG_ROOT/usr/lib/systemd/system/lxd@.service "https://git.zfs.mx/$REPO/raw/branch/master/package_version_arch/usr/lib/systemd/system/lxd@.service"
curl -s -o $PKG_ROOT/usr/lib/systemd/system/lxd.socket "https://git.zfs.mx/$REPO/raw/branch/master/package_version_arch/usr/lib/systemd/system/lxd.socket"
mkdir -p $PKG_ROOT/usr/lib/sysusers.d
curl -s -o $PKG_ROOT/usr/lib/sysusers.d/lxd.conf "https://git.zfs.mx/$REPO/raw/branch/master/package_version_arch/usr/lib/sysusers.d/lxd.conf"
mkdir -p $PKG_ROOT/DEBIAN
curl -s -o $PKG_ROOT/DEBIAN/control "https://git.zfs.mx/$REPO/raw/branch/master/package_version_arch/DEBIAN/control_$CONTROL_VERSION" -O
curl -s -o $PKG_ROOT/DEBIAN/postinst "https://git.zfs.mx/$REPO/raw/branch/master/package_version_arch/DEBIAN/postinst" -O
mkdir -p $PKG_ROOT/$DIR
curl -s -o $PKG_ROOT/$DIR/$FILE "$LINK/$DIR/$FILE" -O
curl -s -o $PKG_ROOT/$DIR/$CONTROL "$LINK/$DIR/${CONTROL}_$CONTROL_VERSION" -O
DIR=$SYSTEMD
FILE=$PKG
mkdir -p $PKG_ROOT/$DIR
curl -s -o $PKG_ROOT/$DIR/${FILE}.service "$LINK/$DIR/${FILE}.service"
curl -s -o $PKG_ROOT/$DIR/${FILE}@.service "$LINK/$DIR${FILE}@.service"
curl -s -o $PKG_ROOT/$DIR/${FILE}.socket "$LINK/$DIR/${FILE}.socket"
DIR=$SYS_USR
mkdir -p $PKG_ROOT/$DIR
curl -s -o $PKG_ROOT/$DIR/${FILE}.conf "$LINK/$DIR/${FILE}.conf"
else
cp -r package_version_arch $PKG_ROOT
rm $PKG_ROOT/DEBIAN/control*
cp package_version_arch/DEBIAN/control_$CONTROL_VERSION $PKG_ROOT/DEBIAN/control
cp -r $TEMPLATE $PKG_ROOT
rm $PKG_ROOT/$DIR/${CONTROL}*
cp $TEMPLATE/$DIR/${CONTROL}_$CONTROL_VERSION $PKG_ROOT/$DIR/$CONTROL
fi
chmod 755 $PKG_ROOT/DEBIAN/postinst
mkdir -p $PKG_ROOT/usr/bin
cp $BIN_PATH/{devlxd-client,fuidshift,lxc,lxc-to-lxd,lxd,lxd-agent,lxd-benchmark,lxd-migrate,lxd-user,macaroon-identity,sysinfo} $PKG_ROOT/usr/bin
mkdir -p $PKG_ROOT/usr/share/licenses/lxd
cp $SRC_PATH/COPYING $PKG_ROOT/usr/share/licenses/lxd/LICENSE
mkdir -p $PKG_ROOT/usr/share/doc
cp -r $SRC_PATH/doc $PKG_ROOT/usr/share/doc/lxd
mkdir -p $PKG_ROOT/usr/share/bash-completion/completions
cp $SRC_PATH/scripts/bash/lxd-client $PKG_ROOT/usr/share/bash-completion/completions/lxd
chmod 755 $PKG_ROOT/$DIR/$FILE
DIR=$BIN_DIR
mkdir -p $PKG_ROOT/$BIN_DIR
cp "${BIN_FILES[@]/#/$BIN_PATH/}" $PKG_ROOT/$BIN_DIR
DIR=$USR/share/licenses/$PKG
ORG_FILE=COPYING
FILE=LICENSE
mkdir -p $PKG_ROOT/$DIR
cp $SRC_PATH/$ORG_FILE $PKG_ROOT/$DIR/$FILE
DIR=$DOC_DIR
mkdir -p $PKG_ROOT/$DIR
cp -r $SRC_PATH/doc $PKG_ROOT/$DOC_DIR/$PKG
DIR=$SHARE_DIR/bash_completion/completions
mkdir -p $PKG_ROOT/$DIR
cp $SRC_PATH/scripts/bash/${PKG}-client $PKG_ROOT/$DIR/$PKG
############################################################################################################################
## adjusting DEBIAN/control file
############################################################################################################################
DIR=$DEB_DIR
FILE=$PKG_ROOT/$DEB_DIR/$CONTROL
DATE=$(date +"%Y.%m.%d")
sed -i "s/Version: /Version: ${VERSION}/g" $PKG_ROOT/DEBIAN/control
sed -i "s/Architecture: /Architecture: ${ARCH}/g" $PKG_ROOT/DEBIAN/control
sed -i "s/Version: /Version: ${VERSION}/g" $FILE
sed -i "s/Architecture: /Architecture: ${ARCH}/g" $FILE
if [ ! -z "$MAINTAINER" ];
then
sed -i "s/Maintainer: /Maintainer: ${MAINTAINER}/g" $PKG_ROOT/DEBIAN/control
sed -i "s/Maintainer: /Maintainer: ${MAINTAINER}/g" $FILE
fi
sed -i "s/Date: /Date: ${DATE}/g" $PKG_ROOT/DEBIAN/control
sed -i "s/Date: /Date: ${DATE}/g" $FILE
############################################################################################################################
## building debian package .deb
############################################################################################################################
if [ -f "$PKG_ROOT.deb" ];
then
mv $PKG_ROOT.deb ${PKG_ROOT}_$DATE_backup.deb
fi
dpkg-deb --build --root-owner-group $PKG_ROOT
SIZE=$(du -s $PKG_ROOT|awk '{print $1}')
sed -i "s/Installed-Size: /Installed-Size: ${SIZE}/g" $PKG_ROOT/DEBIAN/control
sed -i "s/Installed-Size: /Installed-Size: ${SIZE}/g" $FILE
rm -f $PKG_ROOT.deb
dpkg-deb --build --root-owner-group $PKG_ROOT
############################################################################################################################
@ -112,4 +147,4 @@ if [ "$RM" == "y" ];
then
rm -r $PKG_ROOT
fi
dpkg --info $PKG_ROOT.deb
dpkg --info $PKG_ROOT.deb

Loading…
Cancel
Save