|
|
|
|
@ -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
|
|
|
|
|
|