nheko/.ci/linux/create-packages.sh

66 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
set -ex
#
# Create deb & rpm packages from the AppImage.
#
DIR=package.dir
TAG=`git tag -l --points-at HEAD`
# Strip `v` from the version tag.
if [[ $TAG == v* ]]; then
TAG=${TAG#?};
fi
# Prepend nightly with the latest version.
if [[ $TAG == nightly ]]; then
TAG=${TRAVIS_BUILD_NUMBER}.nightly
fi
if [ -z "$TAG" ]; then
TAG=`git rev-parse --abbrev-ref HEAD`
fi
# Installing dependencies on travis.
if [ ! -z "$TRAVIS_OS_NAME" ]; then
sudo apt-add-repository -y ppa:brightbox/ruby-ng
sudo apt-get update -qq
sudo apt-get install -y ruby2.1 ruby-switch
sudo ruby-switch --set ruby2.1
sudo apt-get install -y ruby2.1-dev rpm libffi-dev
sudo gem install --no-ri --no-rdoc fpm
fi
# Set up deb structure.
mkdir -p ${DIR}/usr/{bin,share/pixmaps,share/applications}
# Copy resources.
cp nheko*.AppImage ${DIR}/usr/bin/nheko
cp resources/nheko.desktop ${DIR}/usr/share/applications/nheko.desktop
cp resources/nheko.png ${DIR}/usr/share/pixmaps/nheko.png
for iconSize in 16 32 48 64 128 256 512; do
IconDir=${DIR}/usr/share/icons/hicolor/${iconSize}x${iconSize}/apps
mkdir -p ${IconDir}
cp resources/nheko-${iconSize}.png ${IconDir}/nheko.png
done
fpm --force \
-s dir \
--output-type deb \
--name nheko \
--description "Desktop client for the Matrix protocol" \
--url "https://github.com/mujx/nheko" \
--version ${TAG} \
--architecture x86_64 \
--maintainer "mujx (https://github.com/mujx)" \
--license "GPLv3" \
--prefix / \
--deb-no-default-config-files \
--chdir ${DIR} usr
fpm -s deb -t rpm nheko_${TAG}_amd64.deb