parent
ecd5ab68b7
commit
b756f63be0
@ -0,0 +1,108 @@
|
||||
#!/bin/bash
|
||||
############################################################################################################################## root check
|
||||
############################################################################################################################
|
||||
if [ $EUID == "0" ];
|
||||
then
|
||||
echo "USER root not allowed"
|
||||
exit 0
|
||||
fi
|
||||
############################################################################################################################## vars config
|
||||
############################################################################################################################
|
||||
PKG=lxd
|
||||
echo "LXD Source Code PATH [$HOME/lxd]:"
|
||||
read LXD_SRC_PATH
|
||||
if [ -z "$LXD_SRC_PATH" ];
|
||||
then
|
||||
LXD_SRC_PATH=$HOME/lxd
|
||||
fi
|
||||
echo "LXD binary PATH [$HOME/go/bin]:"
|
||||
read LXD_BIN_PATH
|
||||
if [ -z "$LXD_BIN_PATH" ];
|
||||
then
|
||||
LXD_BIN_PATH=$HOME/go/bin
|
||||
fi
|
||||
VERSION=$($LXD_BIN_PATH/lxd version)
|
||||
if [ -z "$VERSION" ];
|
||||
then
|
||||
echo "$PKG version not detected"
|
||||
echo VERSION:
|
||||
read VERSION
|
||||
fi
|
||||
echo "ARCH [$(dpkg --print-architecture)]:"
|
||||
read ARCH
|
||||
if [ -z "$ARCH" ];
|
||||
then
|
||||
ARCH=$(dpkg --print-architecture)
|
||||
fi
|
||||
echo "RELEASE [1]:"
|
||||
read RELEASE
|
||||
if [ -z "$RELEASE" ];
|
||||
then
|
||||
RELEASE=1
|
||||
fi
|
||||
echo MAINTAINER [""]:
|
||||
read MAINTAINER
|
||||
############################################################################################################################
|
||||
## check LXD Version for Appropriate DEBIAN/control file & copy package files
|
||||
############################################################################################################################
|
||||
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 "lxd_version_arch" ];
|
||||
then
|
||||
mkdir -p $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}/usr/lib
|
||||
mkdir -p $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}/usr/lib/systemd/system
|
||||
curl -s -o $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}/usr/lib/systemd/system/lxd.service "https://git.zfs.mx/lxc/lxd-builder/raw/branch/master/lxd_version_arch/usr/lib/systemd/system/lxd.service"
|
||||
curl -s -o $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}/usr/lib/systemd/system/lxd@.service "https://git.zfs.mx/lxc/lxd-builder/raw/branch/master/lxd_version_arch/usr/lib/systemd/system/lxd@.service"
|
||||
curl -s -o $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}/usr/lib/systemd/system/lxd.socket "https://git.zfs.mx/lxc/lxd-builder/raw/branch/master/lxd_version_arch/usr/lib/systemd/system/lxd.socket"
|
||||
mkdir -p $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}/usr/lib/sysusers.d
|
||||
curl -s -o $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}/usr/lib/sysusers.d/lxd.conf "https://git.zfs.mx/lxc/lxd-builder/raw/branch/master/lxd_version_arch/usr/lib/sysusers.d/lxd.conf"
|
||||
mkdir -p $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}/DEBIAN
|
||||
curl -s -o $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}/DEBIAN/control "https://git.zfs.mx/lxc/lxd-builder/raw/branch/master/lxd_version_arch/DEBIAN/control_$CONTROL_VERSION" -O
|
||||
curl -s -o $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}/DEBIAN/postinst "https://git.zfs.mx/lxc/lxd-builder/raw/branch/master/lxd_version_arch/DEBIAN/postinst" -O
|
||||
else
|
||||
cp -r lxd_version_arch $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}
|
||||
rm $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}/DEBIAN/control*
|
||||
cp lxd_version_arch/DEBIAN/control_$CONTROL_VERSION $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}/DEBIAN/control
|
||||
fi
|
||||
chmod 755 $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}/DEBIAN/postinst
|
||||
mkdir -p $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}/usr/bin
|
||||
cp $LXD_BIN_PATH/{devlxd-client,fuidshift,lxc,lxc-to-lxd,lxd,lxd-agent,lxd-benchmark,lxd-migrate,lxd-user,macaroon-identity,sysinfo} $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}/usr/bin
|
||||
mkdir -p $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}/usr/share/licenses/lxd
|
||||
cp $LXD_SRC_PATH/COPYING $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}/usr/share/licenses/lxd/LICENSE
|
||||
mkdir -p $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}/usr/share/doc
|
||||
cp -r $LXD_SRC_PATH/doc $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}/usr/share/doc/lxd
|
||||
mkdir -p $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}/usr/share/bash-completion/completions
|
||||
cp $LXD_SRC_PATH/scripts/bash/lxd-client $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}/usr/share/bash-completion/completions/lxd
|
||||
mkdir -p $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}/DEBIAN
|
||||
############################################################################################################################
|
||||
## adjusting DEBIAN/control file
|
||||
############################################################################################################################
|
||||
DATE=$(date +"%Y.%m.%d")
|
||||
sed -i "s/Version: /Version: ${VERSION}/g" $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}/DEBIAN/control
|
||||
sed -i "s/Architecture: /Architecture: ${ARCH}/g" $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}/DEBIAN/control
|
||||
if [ ! -z "$MAINTAINER" ];
|
||||
then
|
||||
sed -i "s/Maintainer: /Maintainer: ${MAINTAINER}/g" $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}/DEBIAN/control
|
||||
fi
|
||||
sed -i "s/Date: /Date: ${DATE}/g" $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}/DEBIAN/control
|
||||
############################################################################################################################
|
||||
## building debian package .deb
|
||||
############################################################################################################################
|
||||
dpkg-deb --build --root-owner-group $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}
|
||||
SIZE=$(du -s $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}|awk '{print $1}')
|
||||
sed -i "s/Installed-Size: /Installed-Size: ${SIZE}/g" $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}/DEBIAN/control
|
||||
rm -f $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}.deb
|
||||
dpkg-deb --build --root-owner-group $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}
|
||||
############################################################################################################################
|
||||
## finish
|
||||
############################################################################################################################
|
||||
echo "remove package temp files: [$HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}]: y/n"
|
||||
read RM
|
||||
if [ "$RM" == "y" ];
|
||||
then
|
||||
rm -r $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}
|
||||
fi
|
||||
dpkg --info $HOME/${PKG}_${VERSION}-${RELEASE}_${ARCH}.deb
|
||||
Loading…
Reference in new issue