124 lines
3 KiB
Bash
Executable file
124 lines
3 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
CWD=$(pwd)
|
|
|
|
PRGNAM=$(basename "$CWD")
|
|
GITHUB_REPO=Kron4ek/Conty
|
|
VERSION=${VERSION:-"latest"}
|
|
ARCH=${ARCH:-$(uname -m)}
|
|
BUILD=${BUILD:-2}
|
|
TAG=${TAG:-gwh}
|
|
|
|
TMP=${TMP:-/tmp/$TAG}
|
|
PKG=$TMP/pkg-$PRGNAM
|
|
OUTPUT=${OUTPUT:-/tmp}
|
|
PREFIX=/usr
|
|
|
|
REPOSITORY=${REPOSITORY:-/home/installs/SlackBuilds/_repositories/$PRGNAM}
|
|
|
|
# nettoyage préalable
|
|
rm -fr "$PKG" "${TMP:?}/$PRGNAM"
|
|
|
|
mkdir -p "$PKG"
|
|
|
|
# mise en place
|
|
[ ! -e "$REPOSITORY" ] && git clone https://github.com/${GITHUB_REPO} "$REPOSITORY"
|
|
cd "$REPOSITORY" || exit 1
|
|
git reset --hard HEAD
|
|
git pull --all
|
|
|
|
cp -R "$REPOSITORY" "$TMP/"
|
|
|
|
cd "$TMP/$PRGNAM/" || exit 1
|
|
case $VERSION in
|
|
trunk)
|
|
VERSION="r$(git rev-list --count HEAD)_$(git log -1 --format=%h)"
|
|
;;
|
|
latest)
|
|
VERSION=$(git tag --sort=-version:refname | head -n1)
|
|
git checkout "$VERSION"
|
|
;;
|
|
*)
|
|
git checkout "$VERSION"
|
|
;;
|
|
esac
|
|
|
|
# don't embed
|
|
for i in firefox qbittorrent ; do
|
|
sed -i "s|$i||" ./create-arch-bootstrap.sh
|
|
done
|
|
|
|
./create-arch-bootstrap.sh
|
|
|
|
./create-conty.sh
|
|
|
|
mkdir -p "$PKG$PREFIX/bin"
|
|
cp conty.sh "$PKG$PREFIX/bin/${PRGNAM}"
|
|
|
|
cd "$PKG$PREFIX/bin/" || exit 1
|
|
cat <<EOF > steam
|
|
#!/bin/bash
|
|
|
|
$PREFIX/bin/conty steam "\$@"
|
|
EOF
|
|
chmod +x steam
|
|
|
|
chmod +x "$PKG$PREFIX"/bin/*
|
|
|
|
mkdir -p "$PKG$PREFIX/share/applications/"
|
|
cat <<EOF > "$PKG$PREFIX/share/applications/steam.desktop"
|
|
[Desktop Entry]
|
|
Encoding=UTF-8
|
|
Version=1.0
|
|
Type=Application
|
|
Terminal=false
|
|
Exec=$PREFIX/bin/steam
|
|
Name=Steam
|
|
EOF
|
|
|
|
for prg in wine winetricks lutris playonlinux4; do
|
|
ln -s "${PRGNAM}" $prg
|
|
cat <<EOF > "$PKG$PREFIX/share/applications/$prg.desktop"
|
|
[Desktop Entry]
|
|
Encoding=UTF-8
|
|
Version=1.0
|
|
Type=Application
|
|
Terminal=false
|
|
Exec=$PREFIX/bin/$prg
|
|
Name=$prg
|
|
EOF
|
|
done
|
|
|
|
# ( cd "$PKG" || exit 1
|
|
# find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
|
|
# find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
|
|
# )
|
|
|
|
mkdir -p "$PKG/install"
|
|
cat <<EOF > "$PKG/install/slack-desc"
|
|
# HOW TO EDIT
|
|
THIS FILE:
|
|
# The "handy ruler" below makes it easier to edit a package description. Line
|
|
# up the first '|' above the ':' following the base package name, and the '|'
|
|
# on the right side marks the last column you can put a character in. You must
|
|
# make exactly 11 lines for the formatting to be correct. It's also
|
|
# customary to leave one space after the ':'.
|
|
|
|
|-----handy-ruler--------------------------------------------------------|
|
|
$PRGNAM: $PRGNAM (Easy to use non-root container packed into a single executable)
|
|
$PRGNAM:
|
|
$PRGNAM: a portable Arch Linux distro packed into a single executable that can
|
|
$PRGNAM: be used to run any applications
|
|
$PRGNAM:
|
|
$PRGNAM:
|
|
$PRGNAM:
|
|
$PRGNAM:
|
|
$PRGNAM:
|
|
$PRGNAM: https://github.com/${GITHUB_REPO}
|
|
$PRGNAM:
|
|
EOF
|
|
|
|
cd "$PKG" || exit 1
|
|
rm -f "$PKG/{,usr/}lib$(uname -m | grep -o 64)/*.la"
|
|
|
|
/sbin/makepkg --linkadd y --chown n --prepend "$OUTPUT/$PRGNAM-$VERSION${EDITION}-$ARCH-$BUILD$TAG.txz"
|