mirror of
https://github.com/Foundry376/Mailspring.git
synced 2024-12-27 19:07:15 +08:00
6c57573fa3
* Add Linux appdata files * Move appdata categories into the desktop file * Modify Linux installer scripts to install the appdata file
70 lines
2.3 KiB
Bash
Executable file
70 lines
2.3 KiB
Bash
Executable file
#!/bin/bash
|
|
# mkdeb version arch control-file-path desktop-file-path icon-file-path sources-file-path deb-file-path
|
|
|
|
set -e
|
|
|
|
SCRIPT=`readlink -f "$0"`
|
|
ROOT=`readlink -f $(dirname $SCRIPT)/..`
|
|
cd $ROOT
|
|
|
|
VERSION="$1"
|
|
ARCH="$2"
|
|
ICON_FILE="$3"
|
|
LINUX_ASSETS_DIRECTORY="$4"
|
|
APP_CONTENTS_DIRECTORY="$5"
|
|
OUTPUT_PATH="$6"
|
|
|
|
FILE_MODE=755
|
|
|
|
TARGET_ROOT="`mktemp -d`"
|
|
chmod $FILE_MODE "$TARGET_ROOT"
|
|
TARGET="$TARGET_ROOT/mailspring-$VERSION-$ARCH"
|
|
|
|
mkdir -m $FILE_MODE -p "$TARGET/usr"
|
|
mkdir -m $FILE_MODE -p "$TARGET/usr/share"
|
|
cp -r "$APP_CONTENTS_DIRECTORY" "$TARGET/usr/share/mailspring"
|
|
|
|
mkdir -m $FILE_MODE -p "$TARGET/DEBIAN"
|
|
cp "$OUTPUT_PATH/control" "$TARGET/DEBIAN/control"
|
|
|
|
cp "$LINUX_ASSETS_DIRECTORY/debian/postinst" "$TARGET/DEBIAN/postinst"
|
|
cp "$LINUX_ASSETS_DIRECTORY/debian/postrm" "$TARGET/DEBIAN/postrm"
|
|
|
|
mkdir -m $FILE_MODE -p "$TARGET/usr/bin"
|
|
ln -s "../share/mailspring/mailspring" "$TARGET/usr/bin/mailspring"
|
|
chmod +x "$TARGET/usr/bin/mailspring"
|
|
|
|
mkdir -m $FILE_MODE -p "$TARGET/usr/share/applications"
|
|
cp "$OUTPUT_PATH/mailspring.desktop" "$TARGET/usr/share/applications"
|
|
mkdir -m $FILE_MODE -p "$TARGET/usr/share/appdata"
|
|
cp "$OUTPUT_PATH/mailspring.appdata.xml" "$TARGET/usr/share/appdata"
|
|
|
|
mkdir -m $FILE_MODE -p "$TARGET/usr/share/pixmaps"
|
|
cp "$ICON_FILE" "$TARGET/usr/share/pixmaps/mailspring.png"
|
|
|
|
mkdir -m $FILE_MODE -p "$TARGET/usr/share/icons/hicolor"
|
|
for i in 256 128 64 32 16; do
|
|
mkdir -p "$TARGET/usr/share/icons/hicolor/${i}x${i}/apps"
|
|
cp "$LINUX_ASSETS_DIRECTORY/icons/${i}.png" "$TARGET/usr/share/icons/hicolor/${i}x${i}/apps/mailspring.png"
|
|
done
|
|
|
|
# Copy generated LICENSE.md to /usr/share/doc/mailspring/copyright
|
|
mkdir -m $FILE_MODE -p "$TARGET/usr/share/doc/mailspring"
|
|
cp "$TARGET/usr/share/mailspring/LICENSE" "$TARGET/usr/share/doc/mailspring/copyright"
|
|
|
|
# Add lintian overrides
|
|
mkdir -m $FILE_MODE -p "$TARGET/usr/share/lintian/overrides"
|
|
cp "$ROOT/build/resources/linux/debian/lintian-overrides" "$TARGET/usr/share/lintian/overrides/mailspring"
|
|
|
|
# Remove group write from all files
|
|
chmod -R g-w "$TARGET";
|
|
|
|
# Remove execstack bit from mailspring executable
|
|
execstack --clear-execstack "$TARGET/usr/share/mailspring/mailspring"
|
|
|
|
# Remove executable bit from .node files
|
|
find "$TARGET" -type f -name "*.node" -exec chmod a-x {} \;
|
|
|
|
fakeroot dpkg-deb -b "$TARGET"
|
|
mv "$TARGET_ROOT/mailspring-$VERSION-$ARCH.deb" "$OUTPUT_PATH"
|
|
rm -rf "$TARGET_ROOT"
|