-
-
Notifications
You must be signed in to change notification settings - Fork 1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Javier Serrano Polo
committed
Aug 15, 2016
1 parent
54a9aa6
commit 4e9090d
Showing
5 changed files
with
195 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
#!/bin/bash | ||
set -e | ||
BINDIR="$1" | ||
RUNFILE="$2" | ||
[ "$BINDIR" -a "$RUNFILE" ] | ||
|
||
VERSION=@VERSION@ | ||
|
||
cd "$BINDIR" | ||
[ -e CMakeCache.txt ] | ||
|
||
rm -fr installer.root | ||
mkdir installer.root | ||
make install DESTDIR=installer.root | ||
cd installer.root | ||
|
||
if [ ! -e usr/bin/lmms ] | ||
then | ||
mkdir -p usr | ||
mv ./"@CMAKE_INSTALL_PREFIX@"/* usr | ||
rmdir -p --ignore-fail-on-non-empty \ | ||
../installer.root/"@CMAKE_INSTALL_PREFIX@" | ||
fi | ||
|
||
strip usr/bin/lmms usr/lib/lmms/RemoteZynAddSubFx usr/lib/lmms/*.so \ | ||
usr/lib/lmms/ladspa/* | ||
|
||
rm -f ../download.log | ||
|
||
download_and_unpack_packages() | ||
{ | ||
sort -u | | ||
xargs apt-get download | | ||
tee -a ../download.log | ||
|
||
ls *.deb | | ||
while read DEB | ||
do | ||
dpkg-deb -x $DEB . | ||
done | ||
rm *.deb | ||
} | ||
|
||
# Find required libraries and download the deb files that contain them; | ||
# RemoteVstPlugin.exe.so is not considered | ||
ldd usr/bin/lmms usr/lib/lmms/RemoteZynAddSubFx usr/lib/lmms/lib*.so \ | ||
usr/lib/lmms/ladspa/* | | ||
grep = | | ||
cut -d " " -f 3 | | ||
grep -v usr/lib/lmms | | ||
sort -u | | ||
xargs dpkg -S | | ||
cut -d : -f 1 | | ||
download_and_unpack_packages | ||
|
||
# Fetch missing copyright files | ||
PACKAGES=$(find -L usr/share/doc -maxdepth 1 -type l -printf "%l\n") | ||
if [ "$PACKAGES" ] | ||
then | ||
echo "$PACKAGES" | | ||
download_and_unpack_packages | ||
fi | ||
|
||
mv usr/share/applications/lmms.desktop lmms-$VERSION.desktop | ||
sed -e " | ||
/^Name=/ s/LMMS/LMMS $VERSION/ | ||
/^Icon=/ s/lmms/lmms-$VERSION/ | ||
" -i lmms-$VERSION.desktop | ||
|
||
mv usr/share/pixmaps/lmms.png lmms-$VERSION.png | ||
rmdir --ignore-fail-on-non-empty usr/share/pixmaps | ||
|
||
mv usr/share/mime/packages/lmms.xml . | ||
|
||
rm -fr lib64 usr/include usr/share/applications usr/share/doc-base \ | ||
usr/share/lintian usr/share/man usr/share/menu usr/share/mime | ||
|
||
find usr/share/doc -mindepth 2 ! -name copyright -delete | ||
|
||
# libc6 is included, so its loader should be used instead of the system one; | ||
# move the loader to usr/bin because of Qt applicationDirPath() usage | ||
MULTIARCH=$(dpkg-architecture -qDEB_HOST_MULTIARCH) | ||
mv lib/$MULTIARCH/ld-*.so usr/bin/ld.so | ||
|
||
# FHS requires /opt programs to be in /opt/<package>/bin | ||
mkdir -p bin | ||
|
||
cat > bin/lmms-launcher << EOF | ||
#!/bin/sh | ||
DIR=\$(dirname \$(readlink -f "\$0")) | ||
DIR=\${DIR%/bin} | ||
export LD_LIBRARY_PATH="\$DIR"/lib/$MULTIARCH:"\$DIR"/usr/lib/$MULTIARCH\ | ||
:"\$DIR"/usr/lib/$MULTIARCH/pulseaudio | ||
"\$DIR"/usr/bin/ld.so "\$DIR"/usr/bin/lmms "\$@" | ||
EOF | ||
|
||
chmod a+x bin/lmms-launcher | ||
|
||
cp -a ../../cmake/linux/installer . | ||
|
||
cd .. | ||
makeself --xz --complevel 6 installer.root "$RUNFILE" LMMS ./installer $VERSION |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
#!/bin/sh | ||
set -e | ||
BINDIR="$1" | ||
BUNDLE_FILE="$2" | ||
[ "$BINDIR" -a "$BUNDLE_FILE" ] | ||
|
||
cd "$BINDIR" | ||
[ -e download.log ] | ||
|
||
rm -fr bundled-source | ||
mkdir bundled-source | ||
cd bundled-source | ||
|
||
grep "^Get:" ../download.log | | ||
sed -re "s/.* ([^ ]+) [^ ]+ ([^ ]+) \[.*/\1=\2/" | | ||
xargs apt-get -d source | ||
|
||
cd .. | ||
tar zcf "$BUNDLE_FILE" bundled-source |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
#!/bin/sh | ||
set -e | ||
[ "$1" ] | ||
|
||
VERSION="$1" | ||
|
||
if [ $(id -u) -eq 0 ] | ||
then | ||
DIR=/opt/lmms-$VERSION | ||
PREFIX=/usr | ||
umask 022 | ||
chmod -R +rX * | ||
else | ||
DIR="$HOME"/.lmms-$VERSION | ||
PREFIX="$HOME"/.local | ||
fi | ||
echo Installing to $DIR | ||
mkdir -p "$DIR" | ||
|
||
rm -fr "$DIR"/bin "$DIR"/etc "$DIR"/lib "$DIR"/usr | ||
mv bin etc lib usr "$DIR" | ||
|
||
sed -e "/^Exec=/ s#lmms#\"$DIR\"/bin/lmms-launcher#" -i lmms-$VERSION.desktop | ||
|
||
ICONDIR="$PREFIX"/share/icons | ||
mkdir -p "$ICONDIR" | ||
mv lmms-$VERSION.png "$ICONDIR" | ||
|
||
MENUDIR="$PREFIX"/share/applications | ||
mkdir -p "$MENUDIR" | ||
mv lmms-$VERSION.desktop "$MENUDIR" | ||
if [ "$(which update-desktop-database)" ] | ||
then | ||
update-desktop-database "$MENUDIR" | ||
fi | ||
|
||
MIMEDIR="$PREFIX"/share/mime/packages | ||
if [ ! \( -e "$MIMEDIR"/lmms.xml -o -e /usr/share/mime/packages/lmms.xml -o \ | ||
-e /usr/local/share/mime/packages/lmms.xml \) ] | ||
then | ||
mkdir -p "$MIMEDIR" | ||
mv lmms.xml "$MIMEDIR" | ||
if [ "$(which update-mime-database)" ] | ||
then | ||
update-mime-database "$PREFIX"/share/mime | ||
fi | ||
fi |