Skip to content

Commit

Permalink
🔨 get files permission right
Browse files Browse the repository at this point in the history
  • Loading branch information
ad2ien committed Feb 23, 2024
1 parent 6b393d3 commit 19fdae4
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 22 deletions.
Empty file.
54 changes: 32 additions & 22 deletions debian-build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,40 +7,50 @@ VERSION="0.1.0"
REVISION="1"
PKG_NAME="${PACKAGE_NAME}_${VERSION}-${REVISION}_all"

echo "Start building debian package..."
echo "🏗️ Start building debian package..."

echo "Compress changelog..."
gzip -c -9 ./changelog > ./capslock-auto-switch/usr/share/doc/capslock-auto-switch/changelog.gz
echo "🗑️ cleaning..."
sudo rm -rf ${PACKAGE_NAME}/usr
sudo rm -rf ${PACKAGE_NAME}.deb

echo "Copy license file..."
cp ./LICENSE ./capslock-auto-switch/usr/share/doc/capslock-auto-switch/copyright
echo "🛠️ Build package structure"
mkdir -p ${PACKAGE_NAME}/etc/systemd/user
mkdir -p ${PACKAGE_NAME}/usr/share/doc/${PACKAGE_NAME}
mkdir -p ${PACKAGE_NAME}/usr/bin

echo "sudo to get files ownership right..."
SPECIAL_OWNER=$(ls -alF ./capslock-auto-switch/usr | grep -Ei ' ./' | awk '{print $3}')
if [ "$SPECIAL_OWNER" != "root" ]; then
sudo chown -R root:root ./capslock-auto-switch/usr
sudo chown -R root:root ./capslock-auto-switch/etc
fi
echo "🗞️ Compress changelog..."
gzip -c -9 ./changelog > ./capslock-auto-switch/usr/share/doc/capslock-auto-switch/changelog.gz

echo "🖨️ Copy files..."
cp ./LICENSE ./${PACKAGE_NAME}/usr/share/doc/${PACKAGE_NAME}/copyright
# cp ./capslock-auto-switch.service ./capslock-auto-switch/etc/systemd/user/capslock-auto-switch.service

echo "run tests..."
echo "🧪 run tests..."
cargo test
echo "run build..."
echo "🦀 run build..."
cargo build --release
strip target/release/$BINARY_NAME

# Create the package directory structure
mkdir -p $PACKAGE_NAME/usr/bin

sudo cp target/release/$BINARY_NAME $PACKAGE_NAME/usr/bin

echo "🔏 Set permissions..."
SPECIAL_OWNER=$(ls -alF /capslock-auto-switch/etc/systemd/user | grep -Ei ' ./' | awk '{print $3}')
if [ "$SPECIAL_OWNER" != "root" ]; then
sudo chown -R root:root ./capslock-auto-switch/usr
sudo chown -R root:root ./capslock-auto-switch/etc
fi
sudo chmod -R 755 $PACKAGE_NAME/usr
sudo chmod -R 755 $PACKAGE_NAME/etc
sudo chmod -R 755 $PACKAGE_NAME/usr/share/
sudo chmod 644 $PACKAGE_NAME/usr/share/doc/$PACKAGE_NAME/*

echo "📦 Build Debian package..."
rm -f $PKG_NAME.deb
dpkg-deb --build -Z xz ./$PACKAGE_NAME
sudo dpkg-deb --build -Z xz ./$PACKAGE_NAME
mv $PACKAGE_NAME.deb $PKG_NAME.deb

echo "check with lintian..."
echo "🗹 check with lintian..."
set +e
docker run -it -v ./$PKG_NAME.deb:/app/$PKG_NAME.deb nouchka/lintian -c /app/$PKG_NAME.deb -v

echo "set back file ownership to $SPECIAL_OWNER..."
sudo chown -R $SPECIAL_OWNER:$SPECIAL_OWNER ./capslock-auto-switch/usr
sudo chown -R $SPECIAL_OWNER:$SPECIAL_OWNER ./capslock-auto-switch/etc
sudo chown $SPECIAL_OWNER:$SPECIAL_OWNER ./capslock-auto-switch/etc/systemd/user
echo "🎉 Done! 🎉"

0 comments on commit 19fdae4

Please sign in to comment.