generic-snap.sh 1.17 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
#!/bin/sh

TAR="$1"
RETURNTARNAME="$2"
VERSION="$3"

. $(dirname $0)/common.sh

if ! rhas "$TAR" "\.snap$" ; then
    fatal "No idea how to handle $TAR"
fi

alpkg=$(basename $TAR)

# improve me
epm assure unsquashfs squashfs-tools || fatal
a= unsquashfs $TAR || fatal

19

20 21 22 23
# name: plex-desktop
# version: 1.69.1
# summary: Plex for Linux
# description:
24 25 26 27
eval $(epm tool yaml squashfs-root/meta/snap.yaml | grep -E "(name|version|summary|description)=") #"

[ -n "$name" ] || fatal "Can't get name from snap.yaml"
[ -n "$version" ] || fatal "Can't get version from snap.yaml"
28

29 30 31
mkdir -p opt/
mv squashfs-root opt/$name

32 33 34
PKGNAME=$name-$version.tar

cat <<EOF >$PKGNAME.eepm.yaml
35 36 37 38 39 40 41 42
name: $name
version: $version
summary: $summary
description: $description
upstream_file: $alpkg
generic_repack: snap
EOF

43
test -d opt/$name || fatal "Can't find opt/$name"
44
install_file opt/$name/meta/gui/icon.png usr/share/pixmaps/$name.png
45
install_file opt/$name/meta/gui/*.desktop usr/share/applications/$name.desktop
46 47
subst "s|^Icon=.*|Icon=$name|" usr/share/applications/$name.desktop
subst "s|^Comment=$|Comment=$summary|" usr/share/applications/$name.desktop
48

49
erc pack $PKGNAME opt/$name usr/share
50 51

return_tar $PKGNAME