Commit e8608eb4 authored by Vitaly Lipatov's avatar Vitaly Lipatov

epm play: refactoring, fix tamtam install, fix sputnik install

parent f1c7fdb3
......@@ -5,7 +5,8 @@ BUILDROOT="$1"
SPEC="$2"
PRODUCT=Telegram
PRODUCTOPT=telegram-desktop
PRODUCTCUR=telegram-desktop
PRODUCTDIR=/opt/Telegram
# /usr/bin/Telegram
subst '1iConflicts:telegram-desktop < 3.2.8' $SPEC
......@@ -18,15 +19,15 @@ subst "s|^Summary:.*|Summary: Telegram Desktop messaging app|" $SPEC
# move package to /opt
ROOTDIR=$(basename $(find $BUILDROOT -mindepth 1 -maxdepth 1 -type d))
mkdir $BUILDROOT/opt
mv $BUILDROOT/$ROOTDIR $BUILDROOT/opt/$PRODUCT
subst "s|\"/$ROOTDIR/|\"/opt/$PRODUCT/|" $SPEC
mv $BUILDROOT/$ROOTDIR $BUILDROOT$PRODUCTDIR
subst "s|\"/$ROOTDIR/|\"$PRODUCTDIR/|" $SPEC
# add binary to the search path
mkdir -p $BUILDROOT/usr/bin/
ln -s /opt/$PRODUCT/Telegram $BUILDROOT/usr/bin/$PRODUCT
ln -s $PRODUCTDIR/Telegram $BUILDROOT/usr/bin/$PRODUCT
subst "s|%files|%files\n/usr/bin/$PRODUCT|" $SPEC
ln -s /opt/$PRODUCT/Telegram $BUILDROOT/usr/bin/$PRODUCTOPT
subst "s|%files|%files\n/usr/bin/$PRODUCTOPT|" $SPEC
ln -s $PRODUCTDIR/Telegram $BUILDROOT/usr/bin/$PRODUCTCUR
subst "s|%files|%files\n/usr/bin/$PRODUCTCUR|" $SPEC
# create desktop file
mkdir -p $BUILDROOT/usr/share/applications/
......@@ -35,8 +36,8 @@ cat <<EOF >$BUILDROOT/usr/share/applications/$PRODUCT.desktop
Version=1.0
Name=Telegram Desktop
Comment=Official desktop version of Telegram messaging app
TryExec=/opt/$PRODUCT/Telegram
Exec=/opt/$PRODUCT/Telegram -- %u
TryExec=$PRODUCTDIR/Telegram
Exec=$PRODUCTDIR/Telegram -- %u
Icon=$PRODUCT
Terminal=false
StartupWMClass=TelegramDesktop
......
......@@ -5,20 +5,17 @@ BUILDROOT="$1"
SPEC="$2"
PRODUCT=atom
PRODUCTCUR=atom-beta
PRODUCTDIR=/usr/share/atom-beta
. $(dirname $0)/common-chromium-browser.sh
# TODO: /usr/share/atom-beta -> /usr/lib64/atom-beta
subst '1iAutoReq:yes,nomonolib,nomono,nopython' $SPEC
subst '1iAutoProv:no' $SPEC
if [ ! -f "$BUILDROOT/usr/bin/$PRODUCT" ] ; then
subst "s|%files|%files\n%_bindir/$PRODUCT|" $SPEC
#ln -s $PRODUCT-beta $BUILDROOT/usr/bin/$PRODUCT
# command name is sensitive
echo "exec /usr/bin/$PRODUCT-beta" > $BUILDROOT/usr/bin/$PRODUCT
chmod a+x $BUILDROOT/usr/bin/$PRODUCT
fi
add_bin_exec_command $PRODUCT /usr/bin/$PRODUCTCUR
subst '1iBuildRequires:rpm-build-python3' $SPEC
subst '1i%add_python3_path /usr/share/atom-beta' $SPEC
......
......@@ -85,9 +85,48 @@ install_deps()
}
pack_file()
{
grep -q "^$1$" $SPEC && return
grep -q "\"$1\"" $SPEC && return
subst "s|%files|%files\n$1|" $SPEC
}
add_bin_link_command()
{
local name="$1"
local target="$2"
[ -n "$name" ] || name="$PRODUCT"
[ -n "$target" ] || target="$PRODUCTDIR/$name"
[ -e $BUILDROOT/usr/bin/$name ] && return
mkdir -p $BUILDROOT/usr/bin/
ln -s $target $BUILDROOT/usr/bin/$name
pack_file /usr/bin/$name
}
add_bin_exec_command()
{
local name="$1"
local target="$2"
[ -n "$name" ] || name="$PRODUCT"
[ -n "$target" ] || target="$PRODUCTDIR/$name"
[ -e $BUILDROOT/usr/bin/$name ] && return
mkdir -p $BUILDROOT/usr/bin/
echo "exec $target \"\$@\"" > $BUILDROOT/usr/bin/$name
chmod 0755 $BUILDROOT/usr/bin/$name
pack_file /usr/bin/$name
}
# FIXME: too many heruistic due https://bugzilla.altlinux.org/42189
add_bin_commands()
{
mkdir -p $BUILDROOT/usr/bin
if [ -L $BUILDROOT/usr/bin/$PRODUCTCUR ] ; then
rm -fv $BUILDROOT/usr/bin/$PRODUCTCUR
else
......@@ -100,22 +139,20 @@ add_bin_commands()
ln -rs $BUILDROOT$PRODUCTDIR/$PRODUCT $BUILDROOT/usr/bin/$PRODUCTCUR
fi
# fix links (may be broken due https://bugzilla.altlinux.org/42189)
# fix links in $PRODUCTDIR (may be broken due https://bugzilla.altlinux.org/42189)
if [ ! -r $BUILDROOT$(readlink $BUILDROOT$PRODUCTDIR/$PRODUCT) ] ; then
rm -fv $BUILDROOT$PRODUCTDIR/$PRODUCT
ln -s $PRODUCTCUR $BUILDROOT$PRODUCTDIR/$PRODUCT
fi
# short command for run
if [ ! -r $BUILDROOT/usr/bin/$PRODUCT ] ; then
ln -s $PRODUCTCUR $BUILDROOT/usr/bin/$PRODUCT
subst "s|%files|%files\n/usr/bin/$PRODUCT|" $SPEC
fi
add_bin_link_command $PRODUCT $PRODUCTCUR
}
move_to_opt()
{
local from=/usr/share/$PRODUCT
local from="$1"
[ -n "$from" ] || from="/usr/share/$PRODUCT"
mkdir -p $BUILDROOT$PRODUCTDIR/
mv $BUILDROOT/$from/* $BUILDROOT$PRODUCTDIR/
subst "s|$from|$PRODUCTDIR|g" $SPEC
......
......@@ -4,12 +4,14 @@ BUILDROOT="$1"
SPEC="$2"
PRODUCT=Sferum
PRODUCTCUR=sferum
PRODUCTDIR=/opt/$PRODUCT
. $(dirname $0)/common-chromium-browser.sh
mkdir -p $BUILDROOT/usr/bin/
ln -s $PRODUCTDIR/sferum $BUILDROOT/usr/bin/sferum
subst 's|%files|%files\n/usr/bin/sferum|' $SPEC
cleanup
add_bin_exec_command $PRODUCTCUR
add_bin_exec_command $PRODUCT $PRODUCTDIR/$PRODUCTCUR
fix_chrome_sandbox
......@@ -4,7 +4,7 @@ BUILDROOT="$1"
SPEC="$2"
PRODUCT=sputnik-browser
PRODUCT=sputnik-browser-stable
PRODUCTCUR=sputnik-browser-stable
PRODUCTDIR=/opt/$PRODUCT
......@@ -16,11 +16,12 @@ copy_icons_to_share
cleanup
# fix permission
chmod o-w -v $BUILDROOT$PRODUCTDIR/*
add_bin_commands
use_system_xdg
install_deps
# fix permission
chmod o-w -v $BUILDROOT$PRODUCTDIR/*
......@@ -4,16 +4,15 @@
BUILDROOT="$1"
SPEC="$2"
PRODUCT=TamTam
PRODUCTDIR=/opt/$PRODUCT
PRODUCT=tamtam
PRODUCTCUR=TamTam
PRODUCTDIR=/opt/$PRODUCTCUR
. $(dirname $0)/common-chromium-browser.sh
subst '1iAutoProv:no' $SPEC
cleanup
mkdir -p $BUILDROOT/usr/bin/
ln -sf $PRODUCTDIRT/tamtam $BUILDROOT/usr/bin/tamtam
subst "s|%files|%files\n%_bindir/tamtam|" $SPEC
add_bin_exec_command $PRODUCT
add_bin_exec_command $PRODUCTCUR $PRODUCTDIR/$PRODUCT
fix_chrome_sandbox
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment