Commit 5063c1d3 authored by Vitaly Lipatov's avatar Vitaly Lipatov

epm repack: huge cleanup

parent 7aab8945
......@@ -20,4 +20,13 @@ PKGNAME=$PRODUCT-$VERSION
erc a $PKGNAME.tar opt
cat <<EOF >$PKGNAME.tar.eepm.yaml
name: $PRODUCT
group: Office
license: Proprietary
url: https://1c-connect.com/
summary: 1C Connect
description: 1C Connect.
EOF
return_tar $PKGNAME.tar
......@@ -18,4 +18,13 @@ f=$FPRODUCT
install -D -m755 $f opt/$PRODUCT/$PRODUCT || fatal
erc pack $PKGNAME.tar opt/$PRODUCT
cat <<EOF >$PKGNAME.tar.eepm.yaml
name: $PRODUCT
group: Networking/Instant messaging
license: GPLv2
url: https://github.com/TDesktop-x64/tdesktop
summary: 64Gram (unofficial Telegram Desktop)
description: 64Gram (unofficial Telegram Desktop).
EOF
return_tar $PKGNAME.tar
......@@ -20,4 +20,13 @@ f=$FPRODUCT
install -D -m755 $f opt/$TPRODUCT/$TPRODUCT || fatal
erc pack $PKGNAME.tar opt/$TPRODUCT
cat <<EOF >$PKGNAME.tar.eepm.yaml
name: $PRODUCT
group: Networking/Instant messaging
license: GPLv2
url: https://desktop.telegram.org/
summary: Telegram Desktop messaging app
description: Telegram Desktop messaging app.
EOF
return_tar $PKGNAME.tar
......@@ -42,6 +42,12 @@ erc()
epm tool erc "$@"
}
is_abs_path()
{
echo "$1" | grep -q "^/"
}
is_dir_empty()
{
[ -z "$(ls -A "$1")" ]
......@@ -102,8 +108,13 @@ install_file()
local src="$1"
local dest="$2"
if is_abs_path "$dest" ; then
dest=".$dest"
fi
mkdir -p "$(dirname "$dest")" || return
cp "$src" "$dest" || return
chmod 0644 "$dest"
}
# Create target file from file
......
......@@ -10,4 +10,13 @@ PKGNAME="$(basename $TAR .run | tr "[A-Z_]" "[a-z-]")"
install -D $TAR opt/$PRODUCT/$PRODUCT || fatal
erc pack $PKGNAME.tar opt/$PRODUCT
cat <<EOF >$PKGNAME.tar.eepm.yaml
name: $PRODUCT
group: Graphics
license: GPLv2
url: https://cuda-z.sourceforge.net/
summary: CUDA-Z
description: CUDA-Z.
EOF
return_tar $PKGNAME.tar
......@@ -28,10 +28,10 @@ $TAR --appimage-extract >/dev/null || fatal
# try separate VERSION from PRODUCT
if [ -z "$VERSION" ] ; then
PRODUCT="${PRODUCT/-x86_64/}"
VERSION="$(echo "$PRODUCT" | grep -o -P "[-_.]([0-9v])([0-9])*([.]*[0-9])*" | head -n1 | sed -e 's|^[-_.a-zA-Z]||' -e 's|--|-|g' )" #"
[ -n "$VERSION" ] && PRODUCT="$(echo "$PRODUCT" | sed -e "s|[-_.]$VERSION.*||")"
[ -n "$VERSION" ] && VERSION="$(echo "$VERSION" | sed -e 's|^v||')"
PRODUCT="${PRODUCT/-x86_64/}"
fi
# try get version from X-AppImage-Version
......
......@@ -13,4 +13,13 @@ erc $TAR || fatal
cd $PKGNAME* || fatal
cp $PRODUCT $PKGNAME.AppImage || fatal
cat <<EOF >$PKGNAME.AppImage.eepm.yaml
name: $PRODUCT
group: Development/C
license: Proprietary
url: https://www.jetbrains.com/ru-ru/toolbox-app/
summary: JetBrains Toolbox App
description: JetBrains Toolbox App.
EOF
return_tar $PKGNAME.AppImage
......@@ -14,4 +14,13 @@ for i in kubectl crictl ctr k3s ; do
done
erc pack $PKGNAME.tar usr/bin
cat <<EOF >$PKGNAME.tar.eepm.yaml
name: $PRODUCT
group: File tools
license: Apache-2.0
url: https://k3s.io
summary: K3s - Lightweight Kubernetes
description: K3s - Lightweight Kubernetes.
EOF
return_tar $PKGNAME.tar
......@@ -16,4 +16,13 @@ PKGNAME=$PRODUCT-$VERSION
erc pack $PKGNAME.tar usr || fatal
cat <<EOF >$PKGNAME.tar.eepm.yaml
name: $PRODUCT
group: File tools
license: MIT/Apache-2.0
url: https://github.com/ipfs/kubo
summary: An IPFS implementation in Go
description: An IPFS implementation in Go.
EOF
return_tar $PKGNAME.tar
#!/bin/sh
TAR="$1"
RETURNTARNAME="$2"
#VERSION="$3"
. $(dirname $0)/common.sh
# meridius-3.1.0.tar.gz
PKGNAME="$(basename "$TAR" .tar.gz)"
mkdir opt/
erc $TAR
mv -v $PRODUCT* opt/$PRODUCT
erc a $PKGNAME.tar opt
cat <<EOF >$PKGNAME.tar.eepm.yaml
name: $PRODUCT
group: Networking/WWW
license: Shareware
url: https://github.com/PurpleHorrorRus/Meridius
summary: Music Player for vk.com based on Electron, NuxtJS, Vue
description: Music Player for vk.com based on Electron, NuxtJS, Vue.
EOF
return_tar $PKGNAME.tar
......@@ -18,10 +18,10 @@ mv Postman/app opt/postman
VERSION=$(cat "opt/postman/resources/app/package.json" | epm --inscript tool json -b | grep version | awk 'gsub(/"/, "", $2) {print $2}') #'
[ -n "$VERSION" ] || fatal "Can't get package version"
install_file opt/postman/resources/app/assets/icon.png usr/share/pixmaps/postman.png
install_file opt/postman/resources/app/assets/icon.png /usr/share/pixmaps/postman.png
# create desktop file
cat <<EOF | create_file usr/share/applications/$PRODUCT.desktop
cat <<EOF | create_file /usr/share/applications/$PRODUCT.desktop
[Desktop Entry]
Version=1.0
Type=Application
......
......@@ -35,4 +35,13 @@ PKGNAME="$(basename $TAR | sed -e "s|libsane-panakvs|$PRODUCT|")"
erc pack $PKGNAME.tar etc usr
cat <<EOF >$PKGNAME.tar.eepm.yaml
name: $PRODUCT
group: Graphics
license: Proprietary
url: https://github.com/zerotier/ZeroTierOne
summary: Panasonic Scanner Driver for Linux
description: Panasonic Scanner Driver for Linux.
EOF
return_tar $PKGNAME.tar
......@@ -8,12 +8,21 @@ RETURNTARNAME="$2"
PRODUCT="snap4arduino"
# Snap4Arduino_desktop-gnu-64_9.1.1
PKGNAME="$(basename "$TAR" | sed -e "s|Snap4Arduino_desktop-gnu-[36][24]\_|$PRODUCT-|")"
PKG="$(basename "$TAR" | sed -e "s|Snap4Arduino_desktop-gnu-[36][24]\_|$PRODUCT-|")"
mkdir opt/
erc $TAR
mv -v Snap4Arduino* opt/$PRODUCT
erc a $PKGNAME opt
erc a $PKG opt
return_tar $PKGNAME
cat <<EOF >$PKG.eepm.yaml
name: $PRODUCT
group: Development/Other
license: AGPL-3.0
url: https://snap4arduino.rocks/
summary: A modification of the Snap! visual programming language that lets you seamlessly interact with almost all versions of the Arduino board
description: A modification of the Snap! visual programming language that lets you seamlessly interact with almost all versions of the Arduino board.
EOF
return_tar $PKG
......@@ -6,7 +6,6 @@ RETURNTARNAME="$2"
. $(dirname $0)/common.sh
PRODUCT=sublime-text
PKGNAME="$(basename "$TAR" | sed -e "s|sublime_text_build_|$PRODUCT-|" -e 's|_.*||' )"
mkdir opt/
......@@ -15,4 +14,13 @@ mv -v sublime* opt/$PRODUCT
erc a $PKGNAME.tar opt
cat <<EOF >$PKGNAME.tar.eepm.yaml
name: $PRODUCT
group: Text tools
license: Proprietary
url: https://www.sublimetext.com
summary: Sophisticated text editor for code, html and prose
description: Sophisticated text editor for code, html and prose.
EOF
return_tar $PKGNAME.tar
......@@ -29,4 +29,13 @@ PKGNAME=$PRODUCT-$VERSION
erc a $PKGNAME.tar opt/$PRODUCT
cat <<EOF >$PKGNAME.tar.eepm.yaml
name: $PRODUCT
group: Video
license: Proprietary
url: http://www.teamspeak.com
summary: TeamSpeak is software for quality voice communication via the Internet
description: eamSpeak is software for quality voice communication via the Internet
EOF
return_tar $PKGNAME.tar
......@@ -16,4 +16,13 @@ PKGNAME=$PRODUCT-$VERSION
erc a $PKGNAME.tar opt/TeamSpeak
cat <<EOF >$PKGNAME.tar.eepm.yaml
name: $PRODUCT
group: Video
license: Proprietary
url: http://www.teamspeak.com
summary: TeamSpeak is software for quality voice communication via the Internet
description: eamSpeak is software for quality voice communication via the Internet
EOF
return_tar $PKGNAME.tar
#!/bin/sh
TAR="$1"
RETURNTARNAME="$2"
#VERSION="$3"
. $(dirname $0)/common.sh
# ungoogled-chromium_113.0.5672.127-1.1_linux.tar.xz
PKGNAME="$(basename "$TAR" | sed -e 's|-[0-9].*||' -e 's|_|-|' )"
mkdir opt/
erc $TAR
mv -v $PRODUCT* opt/$PRODUCT
erc a $PKGNAME.tar opt
cat <<EOF >$PKGNAME.tar.eepm.yaml
name: $PRODUCT
group: Networking/WWW
license: BSD-3-Clause license
url: https://www.sublimetext.com
summary: Google Chromium, sans integration with Google
description: Google Chromium, sans integration with Google.
EOF
return_tar $PKGNAME.tar
......@@ -19,4 +19,13 @@ BASENAME="$(basename $TAR .run | tr "[A-Z_]" "[a-z-]")"
convert_makeself_to_tar $TAR $BASENAME.tar
cat <<EOF >$BASENAME.tar.eepm.yaml
name: $PRODUCT
group: Graphics
license: Proprietary
url: https://benchmark.unigine.com/heaven
summary: Unigine Heaven (Unigine Benchmark)
description: Unigine Heaven (Unigine Benchmark).
EOF
return_tar $BASENAME.tar
......@@ -18,5 +18,14 @@ BASENAME="$(basename $TAR .run | tr "[A-Z_]" "[a-z-]")"
convert_makeself_to_tar $TAR $BASENAME.tar
cat <<EOF >$BASENAME.tar.eepm.yaml
name: $PRODUCT
group: Graphics
license: Proprietary
url: https://benchmark.unigine.com/superposition
summary: Unigine Heaven (Unigine Benchmark)
description: Unigine Superposition (Unigine Benchmark).
EOF
return_tar $BASENAME.tar
......@@ -18,5 +18,14 @@ BASENAME="$(basename $TAR .run | tr "[A-Z_]" "[a-z-]")"
convert_makeself_to_tar $TAR $BASENAME.tar
cat <<EOF >$BASENAME.tar.eepm.yaml
name: $PRODUCT
group: Graphics
license: Proprietary
url: https://benchmark.unigine.com/valley
summary: Unigine Valley (Unigine Benchmark)
description: Unigine Valley (Unigine Benchmark).
EOF
return_tar $BASENAME.tar
......@@ -15,4 +15,13 @@ install -m0755 -D "$TAR" opt/$PRODUCT/$BINNAME || fatal
erc a $PKGNAME.tar opt
cat <<EOF >$PKGNAME.tar.eepm.yaml
name: $PRODUCT
group: Networking/Remote access
license: GPLv2
url: https://virtualhere.com/usb_server_software
summary: Generic VirtualHere USB Server
description: Generic VirtualHere USB Server.
EOF
return_tar $PKGNAME.tar
......@@ -15,7 +15,16 @@ fi
mkdir opt
mv vkteams* opt/$PRODUCT || fatal
PKGNAME=$PRODUCT-$VERSION.tar
erc pack $PKGNAME opt/$PRODUCT
PKG=$PRODUCT-$VERSION.tar
erc pack $PKG opt/$PRODUCT
return_tar $PKGNAME
cat <<EOF >$PKG.eepm.yaml
name: $PRODUCT
group: Networking/Instant messaging
license: Proprietary
url: https://teams.vk.com/
summary: VK Teams
description: VK Teams desktop client.
EOF
return_tar $PKG
......@@ -16,7 +16,17 @@ VERSION="$(echo "$TAR" | sed -e 's|.*WebDAVCloudMailRu-||' -e 's|-.*||')"
mkdir opt
mv WebDAVCloudMailRu* opt/WebDAVCloudMailRu || fatal
PKGNAME=webdavmailrucloud-$VERSION.tar
erc pack $PKGNAME opt/WebDAVCloudMailRu
PKG=webdavmailrucloud-$VERSION.tar
erc pack $PKG opt/WebDAVCloudMailRu
return_tar $PKGNAME
cat <<EOF >$PKG.eepm.yaml
name: $PRODUCT
group: Networking/File transfer
license: MIT
url: https://github.com/yar229/WebDavMailRuCloud
summary: WebDAV emulator for Cloud.mail.ru / Yandex.Disk
description: WebDAV emulator for Cloud.mail.ru / Yandex.Disk
EOF
return_tar $PKG
......@@ -14,4 +14,4 @@ else
PKGURL=$(eget --list --latest https://github.com/PurpleHorrorRus/Meridius/releases "$PKGNAME-*.tar.gz")
fi
install_pkgurl
install_pack_pkgurl
......@@ -17,4 +17,4 @@ fi
PKGURL=$(eget --list --latest https://github.com/clickot/ungoogled-chromium-binaries/releases "ungoogled-chromium_${VERSION}_linux.tar.xz")
install_pkgurl
install_pack_pkgurl
......@@ -6,19 +6,11 @@ SPEC="$2"
. $(dirname $0)/common.sh
# installing from tar, so we need fill some fields here
subst "s|^Group:.*|Group: Office|" $SPEC
subst "s|^License: unknown$|License: Proprietary|" $SPEC
subst "s|^URL:.*|URL: https://1c-connect.com/|" $SPEC
subst "s|^Summary:.*|Summary: 1C Connect|" $SPEC
add_bin_cdexec_command $PRODUCT $PRODUCTDIR/app/bin/connect
install_file $PRODUCTDIR/app/bin/ico-app.png /usr/share/pixmaps/$PRODUCT.png
# create desktop file
mkdir -p $BUILDROOT/usr/share/applications/
cat <<EOF >$BUILDROOT/usr/share/applications/$PRODUCT.desktop
cat <<EOF |create_file /usr/share/applications/$PRODUCT.desktop
[Desktop Entry]
Version=1.0
Name=1C Connect
......@@ -29,5 +21,3 @@ Type=Application
Categories=Network;
X-GNOME-UsesNotifications=true
EOF
pack_file /usr/share/applications/$PRODUCT.desktop
......@@ -11,12 +11,6 @@ PRODUCTDIR=/opt/$PRODUCT
. $(dirname $0)/common.sh
# installing from tar, so we need fill some fields here
subst "s|^Group:.*|Group: Networking/Instant messaging|" $SPEC
subst "s|^License: unknown$|License: GPLv2|" $SPEC
subst "s|^URL:.*|URL: https://github.com/TDesktop-x64/tdesktop|" $SPEC
subst "s|^Summary:.*|Summary: 64Gram (unofficial Telegram Desktop)|" $SPEC
add_bin_link_command
add_bin_link_command $PRODUCTCUR $PRODUCT
......@@ -24,22 +18,15 @@ add_bin_link_command $PRODUCTCUR $PRODUCT
iconname=$PRODUCT
url=https://github.com/TDesktop-x64/tdesktop
for i in 16 32 48 64 128 256 512 ; do
mkdir -p $BUILDROOT/usr/share/icons/hicolor/${i}x${i}/apps/
epm tool eget -O $BUILDROOT/usr/share/icons/hicolor/${i}x${i}/apps/$iconname.png $url/raw/master/Telegram/Resources/art/icon$i.png || continue
pack_file /usr/share/icons/hicolor/${i}x${i}/apps/$iconname.png
install_file $url/raw/master/Telegram/Resources/art/icon$i.png /usr/share/icons/hicolor/${i}x${i}/apps/$iconname.png
done
mkdir -p "$BUILDROOT/usr/share/64Gram/externalupdater.d"
echo "$PRODUCTDIR/$PRODUCT" >"$BUILDROOT/usr/share/64Gram/externalupdater.d/telegram-desktop.conf"
pack_file /usr/share/64Gram/externalupdater.d/telegram-desktop.conf
echo "$PRODUCTDIR/$PRODUCT" | create_file /usr/share/64Gram/externalupdater.d/telegram-desktop.conf
# TODO: tg.protocol
# https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=telegram-desktop-bin
# create desktop file
mkdir -p $BUILDROOT/usr/share/applications/
cat <<EOF >$BUILDROOT/usr/share/applications/$PRODUCT.desktop
cat <<EOF | create_file /usr/share/applications/$PRODUCT.desktop
[Desktop Entry]
Version=1.0
Name=64Gram
......@@ -53,6 +40,5 @@ MimeType=x-scheme-handler/tg;
Keywords=tg;chat;im;messaging;messenger;sms;tdesktop;
X-GNOME-UsesNotifications=true
EOF
pack_file /usr/share/applications/$PRODUCT.desktop
add_by_ldd_deps
add_libs_requires
\ No newline at end of file
......@@ -7,24 +7,20 @@ SPEC="$2"
PRODUCT=eagle
PRODUCTDIR=/opt/$PRODUCT
INSTALL_PACKAGES="coreutils fontconfig glib2 libalsa libcom_err libcups libdrm libexpat libfreetype libGL libkeyutils libkrb5 libnspr libnss libX11 libxcb libXrandr zlib"
. $(dirname $0)/common.sh
# move package to /opt
ROOTDIR=$(basename $(find $BUILDROOT -mindepth 1 -maxdepth 1 -type d))
subst "s|^License: unknown$|License: Freeware|" $SPEC
subst "s|^Summary:.*|Summary: EAGLE is electronic design automation (EDA) software that lets printed circuit board (PCB)|" $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
add_bin_link_command
# create desktop file
mkdir -p $BUILDROOT/usr/share/applications/
cat <<EOF >$BUILDROOT/usr/share/applications/$PRODUCT.desktop
cat <<EOF | create_file /usr/share/applications/$PRODUCT.desktop
[Desktop Entry]
Version=1.0
Type=Application
......@@ -44,18 +40,11 @@ MimeType=application/x-eagle-schematic;application/x-eagle-board;application/x-e
# used to group all windows under the same launcher icon
StartupWMClass=eagle
EOF
pack_file /usr/share/applications/$PRODUCT.desktop
install_file /opt/eagle/bin/eagle-logo.png /usr/share/pixmaps/$PRODUCT.png
# https://bugzilla.altlinux.org/44898
remove_file /opt/eagle/lib/libxcb-dri2.so.0
remove_file /opt/eagle/lib/libxcb-dri3.so.0
if epm assure patchelf ; then
for i in $BUILDROOT/$PRODUCTDIR/lib/{libssl.so,libssl.so.1.*} ; do
a= patchelf --set-rpath '$ORIGIN/' $i
done
fi
set_autoreq 'yes'
add_libs_requires
......@@ -18,9 +18,7 @@ move_to_opt "/$PRODUCT-*"
add_bin_link_command $PRODUCT $PRODUCTDIR/bin/$PRODUCT.sh
add_bin_link_command $PRODUCTCUR $PRODUCT
# create desktop file
mkdir -p $BUILDROOT/usr/share/applications/
cat <<EOF >$BUILDROOT/usr/share/applications/$PRODUCT.desktop
cat <<EOF | create_file /usr/share/applications/$PRODUCT.desktop
[Desktop Entry]
Version=1.0
Type=Application
......@@ -34,8 +32,6 @@ StartupWMClass=jetbrains-clion
Categories=Development;IDE
EOF
pack_file /usr/share/applications/$PRODUCT.desktop
mkdir -p $BUILDROOT/usr/share/pixmaps
install_file $PRODUCTDIR/bin/$PRODUCT.png /usr/share/pixmaps/
install_file $PRODUCTDIR/bin/$PRODUCT.svg /usr/share/pixmaps/
......
......@@ -3,6 +3,6 @@
BUILDROOT="$1"
SPEC="$2"
UNIREQUIRES="yt-dlp"
. $(dirname $0)/common.sh
add_unirequires yt-dlp
......@@ -8,15 +8,10 @@ PRODUCT=djv
PRODUCTCUR=DVJ2
PRODUCTDIR=/opt/DVJ2
# install all requires packages before packing (the list have got with rpmreqs package | xargs echo)
PREINSTALL_PACKAGES="libalsa libGLX libOpenGL libX11 libxcb libXext zlib"
. $(dirname $0)/common.sh
move_to_opt /usr/local/DJV2
set_autoreq 'yes'
rm -v $BUILDROOT/usr/bin/djv
add_bin_exec_command $PRODUCT $PRODUCTDIR/bin/$PRODUCT
......@@ -28,14 +23,6 @@ remove_file $PRODUCTDIR/etc/Color/nuke-default/make.py
remove_file $PRODUCTDIR/etc/Color/spi-anim/makeconfig_anim.py
remove_file $PRODUCTDIR/etc/Color/spi-vfx/make_vfx_ocio.py
if epm assure patchelf ; then
for i in $BUILDROOT$PRODUCTDIR/bin/{djv,djv_*} ; do
a= patchelf --set-rpath '$ORIGIN/../lib' $i
done
for i in $BUILDROOT$PRODUCTDIR/lib/lib*.so* ; do
a= patchelf --set-rpath '$ORIGIN' $i
done
fi
filter_from_requires libav libswresample libswscale
add_libs_requires
......@@ -15,19 +15,4 @@ ignore_lib_requires libgstreamer-0.10.so.0 libgstapp-0.10.so.0 libgstbase-0.10.s
ignore_lib_requires libgstpbutils-1.0.so.0 libgstreamer-1.0.so.0 libgstvideo-1.0.so.0 libgssapi_krb5.so.2 libgstapp-1.0.so.0 libgstbase-1.0.so.0
ignore_lib_requires libc++.so.1 libc++abi.so.1
# glibc >= 2.7 gtk2 >= 2.12 gtk3 libICE >= 1.0.6 libSM >= 1.2.1 libX11 >= 1.6.0 libXext >= 1.3.2 libXinerama libXmu >= 1.1.1 libXpm >= 3.5.10 libXrender libXt >= 1.1.4 libpng speexdsp sqlite-libs webkit2gtk3 >= 2.26
# libc6 (>= 2.13-38), libice6 (>= 1:1.0.0), libgtk2.0-0 (>= 2.12.0), libsm6, libx11-6, libxext6, libxmu6, libxpm4, libasound2, libstdc++6, libidn11 | libidn12, zlib1g, curl (>= 7.68), libsqlite3-0, libspeexdsp1
#
add_libs_requires
exit 0
# Remove unmets
subst '1i%filter_from_requires /\\(SUNWut\\|LIBJPEG_6.2\\|kdelibs\\|killproc\\|start_daemon\\)/d' $SPEC
subst '1i%filter_from_requires /^libc.so.6(GLIBC_PRIVATE).*/d' $SPEC
# Add requires of lsb-init for init script
subst '/Group/Requires: lsb-init' $SPEC
set_autoreq 'yes'
......@@ -15,14 +15,6 @@ subst 's| > /dev/null 2>&1||' opt/pt/packettracer
add_libs_requires
create_file()
{
local t="$1"
local l="$(basename $t)"
cat >$l
install_file $l $t
}
if -d usr/share/applications ; then
fix_desktop_file
else
......
......@@ -9,6 +9,8 @@ PRODUCTCUR=Pencil
. $(dirname $0)/common-chromium-browser.sh
add_conflicts pencil
add_bin_link_command
add_bin_link_command $PRODUCTCUR $PRODUCT
......@@ -18,4 +20,3 @@ fix_chrome_sandbox
fix_desktop_file
subst '1iConflicts: pencil' $SPEC
......@@ -18,9 +18,7 @@ move_to_opt "/$PRODUCTCUR-*"
add_bin_link_command $PRODUCT $PRODUCTDIR/bin/$PRODUCT.sh
add_bin_link_command $PRODUCTCUR $PRODUCT
# create desktop file
mkdir -p $BUILDROOT/usr/share/applications/
cat <<EOF >$BUILDROOT/usr/share/applications/$PRODUCT.desktop
cat <<EOF |create_file /usr/share/applications/$PRODUCT.desktop
[Desktop Entry]
Version=1.0
Type=Application
......@@ -34,8 +32,6 @@ StartupWMClass=jetbrains-phpstorm
Categories=Development;IDE
EOF
pack_file /usr/share/applications/$PRODUCT.desktop
mkdir -p $BUILDROOT/usr/share/pixmaps
install_file $PRODUCTDIR/bin/$PRODUCT.png /usr/share/pixmaps/
install_file $PRODUCTDIR/bin/$PRODUCT.svg /usr/share/pixmaps/
......
......@@ -12,20 +12,14 @@ PRODUCTDIR=/opt/Telegram
. $(dirname $0)/common.sh
# /usr/bin/Telegram
subst '1iConflicts:telegram-desktop' $SPEC
subst '1iConflicts:telegram-desktop-binary' $SPEC
add_conflicts telegram-desktop
add_conflicts telegram-desktop-binary
for i in Telegram Telegram-beta ; do
[ "$i" = "$PKGNAME" ] && continue
subst "1iConflicts:$i" $SPEC
add_conflicts $i
done
# installing from tar, so we need fill some fields here
subst "s|^Group:.*|Group: Networking/Instant messaging|" $SPEC
subst "s|^License: unknown$|License: GPLv2|" $SPEC
subst "s|^URL:.*|URL: https://desktop.telegram.org/|" $SPEC
subst "s|^Summary:.*|Summary: Telegram Desktop messaging app|" $SPEC
add_bin_link_command
add_bin_link_command $PRODUCTCUR $PRODUCT
......@@ -33,44 +27,16 @@ add_bin_link_command $PRODUCTCUR $PRODUCT
iconname=$PRODUCT
url=https://github.com/telegramdesktop/tdesktop
for i in 16 32 48 64 128 256 512 ; do
mkdir -p $BUILDROOT/usr/share/icons/hicolor/${i}x${i}/apps/
epm tool eget -O $BUILDROOT/usr/share/icons/hicolor/${i}x${i}/apps/$iconname.png $url/raw/master/Telegram/Resources/art/icon$i.png || continue
pack_file /usr/share/icons/hicolor/${i}x${i}/apps/$iconname.png
install_file $url/raw/master/Telegram/Resources/art/icon$i.png /usr/share/icons/hicolor/${i}x${i}/apps/$iconname.png
done
# Disable the official Telegram Desktop updater, creating menu entry (desktop file) and settings entries
# See https://github.com/telegramdesktop/tdesktop/issues/25718
# New way:
# commit 2be4641496f6f5efc7c18c2842ad00ddf51be43c
#Author: Ilya Fedin <fedin-ilja2010@ya.ru>
#Date: Fri Jan 13 17:58:36 2023 +0400
#
# Install launcher on every launch on Linux
# set DESKTOPINTEGRATION or disable update via set path to binary to /etc/tdesktop/externalupdater
#mkdir -p "$BUILDROOT/etc/tdesktop"
# telegram checks with real path to the binary
#echo "$PRODUCTDIR/$PRODUCT" >"$BUILDROOT/etc/tdesktop/externalupdater"
#pack_dir /etc/tdesktop
#pack_file /etc/tdesktop/externalupdater
mkdir -p "$BUILDROOT/usr/share/TelegramDesktop/externalupdater.d"
echo "$PRODUCTDIR/$PRODUCT" >"$BUILDROOT/usr/share/TelegramDesktop/externalupdater.d/telegram-desktop.conf"
pack_file /usr/share/TelegramDesktop/externalupdater.d/telegram-desktop.conf
# fixed above
# Hack against https://bugzilla.altlinux.org/42402
# We can't forbit creating a desktop file, so just hide it
#subst "s|Terminal=false|NoDisplay=true|" $BUILDROOT$PRODUCTDIR/Telegram
echo "$PRODUCTDIR/$PRODUCT" | create_file /usr/share/TelegramDesktop/externalupdater.d/telegram-desktop.conf
# TODO: tg.protocol
# https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=telegram-desktop-bin
# create desktop file
DESKTOPFILE=/usr/share/applications/org.telegram.desktop.desktop
mkdir -p $BUILDROOT/usr/share/applications/
cat <<EOF >$BUILDROOT$DESKTOPFILE
cat <<EOF | create_file /usr/share/applications/org.telegram.desktop.desktop
[Desktop Entry]
Version=1.0
Name=Telegram Desktop
......@@ -84,6 +50,5 @@ MimeType=x-scheme-handler/tg;
Keywords=tg;chat;im;messaging;messenger;sms;tdesktop;
X-GNOME-UsesNotifications=true
EOF
pack_file $DESKTOPFILE
add_by_ldd_deps
add_libs_requires
......@@ -18,9 +18,7 @@ move_to_opt "/$PRODUCTCUR-*"
add_bin_link_command $PRODUCT $PRODUCTDIR/bin/$PRODUCT.sh
add_bin_link_command $PRODUCTCUR $PRODUCT
# create desktop file
mkdir -p $BUILDROOT/usr/share/applications/
cat <<EOF >$BUILDROOT/usr/share/applications/$PRODUCT.desktop
cat <<EOF | create_file /usr/share/applications/$PRODUCT.desktop
[Desktop Entry]
Version=1.0
Type=Application
......@@ -34,11 +32,8 @@ StartupWMClass=jetbrains-webstorm
Categories=Development;IDE
EOF
pack_file /usr/share/applications/$PRODUCT.desktop
mkdir -p $BUILDROOT/usr/share/pixmaps
install_file $PRODUCTDIR/bin/$PRODUCT.png /usr/share/pixmaps/
install_file $PRODUCTDIR/bin/$PRODUCT.svg /usr/share/pixmaps/
install_file $PRODUCTDIR/bin/$PRODUCT.png /usr/share/pixmaps/$PRODUCT.png
install_file $PRODUCTDIR/bin/$PRODUCT.svg /usr/share/pixmaps/$PRODUCT.svg
# kind of hack
subst 's|%dir "'$PRODUCTDIR'/"||' $SPEC
......
......@@ -12,7 +12,6 @@ PRODUCTDIR=/opt/$PRODUCT
add_requires '/usr/bin/wine'
add_requires '/bin/sh'
add_bin_link_command $PRODUCT $PRODUCTDIR/aimp.bash
subst "s|/usr/bin/sh|/bin/sh|" $BUILDROOT$PRODUCTDIR/aimp.bash
......
......@@ -5,7 +5,7 @@ SPEC="$2"
. $(dirname $0)/common.sh
set_autoreq 'yes'
add_unirequires udev
install_file /var/hasplm/init/hasplmd.service /etc/systemd/system/hasplmd.service
install_file /var/hasplm/init/aksusbd.service /etc/systemd/system/aksusbd.service
......@@ -24,3 +24,5 @@ touch $BUILDROOT/etc/hasplm/nethasp.ini
pack_file /etc/hasplm/nethasp.ini
remove_dir /var/hasplm/init
add_libs_requires
......@@ -6,57 +6,14 @@ SPEC="$2"
PRODUCT=anydesk
UNIREQUIRES="libGL.so.1 libGLU.so.1 libX11-xcb.so.1 libX11.so.6 libXdamage.so.1 libXext.so.6 libXfixes.so.3 libXi.so.6 libXrandr.so.2 libXrender.so.1 libXtst.so.6 libatk-1.0.so.0
libcairo.so.2 libfontconfig.so.1 libfreetype.so.6
libgdk-x11-2.0.so.0 libgdk_pixbuf-2.0.so.0 libgio-2.0.so.0 libglib-2.0.so.0 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libpango-1.0.so.0 libpangocairo-1.0.so.0 libpangoft2-1.0.so.0 libpolkit-gobject-1.so.0
libstdc++.so.6
libxcb-shm.so.0 libxcb.so.1 libxkbfile.so.1
libpangox-1.0.so.0 libgdkglext-x11-1.0.so.0 libgtkglext-x11-1.0.so.0
polkit"
. $(dirname $0)/common.sh
#mkdir -p $BUILDROOT/etc/systemd/system/
#mv -fv $BUILDROOT/usr/share/anydesk/files/systemd/anydesk.service $BUILDROOT/etc/systemd/system/anydesk.service
#subst "s|/usr/share/anydesk/files/systemd/anydesk.service|/etc/systemd/system/anydesk.service|g" $SPEC
#mkdir -p $BUILDROOT/etc/rc.d/init.d/
#mv -fv $BUILDROOT/usr/share/anydesk/files/init/anydesk $BUILDROOT/etc/rc.d/init.d/anydesk
#subst "s|.*/etc/default/NetworkManager.*||" $BUILDROOT/etc/rc.d/init.d/anydesk
#subst "s|/usr/share/anydesk/files/init/anydesk|/etc/rc.d/init.d/anydesk|" $SPEC
remove_file /usr/share/anydesk/files/init/anydesk
# put service file to the normal place
mkdir -p $BUILDROOT/etc/systemd/system/
cp $BUILDROOT/usr/share/anydesk/files/systemd/anydesk.service $BUILDROOT/etc/systemd/system/anydesk.service
install_file $BUILDROOT/usr/share/anydesk/files/systemd/anydesk.service /etc/systemd/system/anydesk.service
remove_file /usr/share/anydesk/files/systemd/anydesk.service
pack_file /etc/systemd/system/anydesk.service
fix_desktop_file /usr/bin/$PRODUCT
# autoreq is disabled, skip elf patching due requires
exit
LIBDIR=/usr/lib64
[ -d $BUILDROOT$LIBDIR ] || LIBDIR=/usr/lib
# don't check lib if missed
[ ! -d $BUILDROOT$LIBDIR ] && exit
if epm assure patchelf ; then
for i in $BUILDROOT$LIBDIR/anydesk/{libgdkglext-x11-1.0.*,libgtkglext-x11-1.0.*} ; do
a= patchelf --set-rpath '$ORIGIN/' $i
done
# /usr/libexec/anydesk: library libpangox-1.0.so.0 not found
for i in $BUILDROOT/usr/libexec/anydesk ; do
a= patchelf --set-rpath "$LIBDIR/anydesk" $i
done
fi
# preloaded from /usr/lib64/anydesk/, drop external requires
filter_from_requires libpangox-1.0.so.0 libgdkglext-x11-1.0.so.0 libgtkglext-x11-1.0.so.0
#add_requires $PREINSTALL_PACKAGES
#set_autoreq 'yes'
add_libs_requires
......@@ -11,15 +11,15 @@ APMNAME=$(echo $PRODUCTCUR | sed -e 's|^atom|apm|')
for i in atom atom-beta ; do
[ "$i" = "$PRODUCTCUR" ] && continue
subst "1iConflicts:$i" $SPEC
add_conflicts $i
done
UNIREQUIRES="coreutils findutils grep sed /usr/bin/git /usr/bin/node /usr/bin/npm /usr/bin/npx util-linux which xprop python3"
. $(dirname $0)/common-chromium-browser.sh
add_electron_deps
add_unirequires coreutils findutils grep sed /usr/bin/git /usr/bin/node /usr/bin/npm /usr/bin/npx util-linux which xprop python3
move_to_opt
subst "s|\$USR_DIRECTORY/share/atom|/opt/atom|" $BUILDROOT/usr/bin/$PRODUCTCUR
add_bin_exec_command $PRODUCT /usr/bin/$PRODUCTCUR
......
......@@ -4,10 +4,6 @@
BUILDROOT="$1"
SPEC="$2"
PREINSTALL_PACKAGES="libalsa libfreetype libpulseaudio libX11 libXext libXi libXrender libXtst zlib"
# needs /usr/lib64/alsa-lib/libasound_module_ctl_pulse.so
PREINSTALL_PACKAGES="$PREINSTALL_PACKAGES alsa-plugins-pulse"
. $(dirname $0)/common.sh
add_bin_exec_command $PRODUCT $PRODUCTDIR/bin/AudioRelay
......@@ -17,15 +13,7 @@ install_file $PRODUCTDIR/lib/audiorelay-AudioRelay.desktop /usr/share/applicatio
fix_desktop_file /opt/audiorelay/bin/AudioRelay $PRODUCT
fix_desktop_file /opt/audiorelay/lib/AudioRelay.png $PRODUCT
for i in .$PRODUCTDIR/lib/lib*.so ; do
a= patchelf --set-rpath '$ORIGIN' $i
done
for i in .$PRODUCTDIR/lib/runtime/lib/lib*.so ; do
a= patchelf --set-rpath '$ORIGIN:$ORIGIN/server' $i
done
add_requires $PREINSTALL_PACKAGES
# TODO:
# https://aur.archlinux.org/packages/audiorelay
add_libs_requires
......@@ -8,8 +8,6 @@ PRODUCT=bitrix24
PRODUCTCUR=Bitrix24
PRODUCTDIR=/opt/$PRODUCTCUR
UNIREQUIRES='libnotify.so.4'
. $(dirname $0)/common.sh
remove_dir /etc/apt/sources.list.d
......@@ -20,3 +18,5 @@ add_bin_exec_command $PRODUCTCUR $PRODUCTDIR/$PRODUCTCUR
add_bin_exec_command $PRODUCTCUR-web $PRODUCTDIR/$PRODUCTCUR-web
add_bin_link_command $PRODUCT $PRODUCTCUR
add_bin_link_command $PRODUCT-web $PRODUCTCUR-web
add_libs_requires
......@@ -9,7 +9,7 @@ PRODUCTDIR=/opt/brave.com/brave-beta
. $(dirname $0)/common-chromium-browser.sh
subst '1iConflicts:brave-browser brave-browser-dev brave-browser-nightly' $SPEC
add_conflicts brave-browser brave-browser-dev brave-browser-nightly
set_alt_alternatives 80
......
......@@ -9,7 +9,7 @@ PRODUCTDIR=/opt/brave.com/brave-dev
. $(dirname $0)/common-chromium-browser.sh
subst '1iConflicts:brave-browser brave-browser-beta brave-browser-nightly' $SPEC
add_conflicts brave-browser brave-browser-beta brave-browser-nightly
set_alt_alternatives 80
......
......@@ -9,7 +9,7 @@ PRODUCTDIR=/opt/brave.com/brave-nightly
. $(dirname $0)/common-chromium-browser.sh
subst '1iConflicts:brave-browser brave-browser-beta' $SPEC
add_conflicts brave-browser brave-browser-beta
set_alt_alternatives 80
......
......@@ -9,7 +9,7 @@ PRODUCTDIR=/opt/brave.com/brave
. $(dirname $0)/common-chromium-browser.sh
subst '1iConflicts:brave-browser-beta brave-browser-dev brave-browser-nightly' $SPEC
add_conflicts brave-browser-beta brave-browser-dev brave-browser-nightly
set_alt_alternatives 80
......
......@@ -3,7 +3,4 @@
BUILDROOT="$1"
SPEC="$2"
# Remove LIBJPEG version
subst '1i%filter_from_requires /LIBJPEG.*_6.2/d' $SPEC
set_autoreq 'yes'
add_libs_requires
......@@ -18,9 +18,7 @@ add_bin_exec_command
# QmQLQK6byKKzvvHEA84h4Auxci1o9T6bCQQikZFgRM8KBx
install_file "https://ph-files.imgix.net/e07b5249-d804-4b4e-9458-fa037d30a14b.png?auto=compress&codec=mozjpeg&cs=strip&auto=format&w=72&h=72&fit=crop&bg=0fff&dpr=1" /usr/share/pixmaps/$PRODUCT.png
# create desktop file
mkdir -p $BUILDROOT/usr/share/applications/
cat <<EOF >$BUILDROOT/usr/share/applications/$PRODUCT.desktop
cat <<EOF |create_file /usr/share/applications/$PRODUCT.desktop
[Desktop Entry]
Version=1.0
Type=Application
......@@ -32,6 +30,6 @@ Categories=Games;
Terminal=false
EOF
pack_file /usr/share/applications/$PRODUCT.desktop
add_requires qt5-imageformats
add_libs_requires
......@@ -3,12 +3,8 @@
BUILDROOT="$1"
SPEC="$2"
UNIREQUIRES="libwebkit2gtk-4.0.so.37 libgtk-3.so.0 libgdk-3.so.0 libcairo.so.2 libgdk_pixbuf-2.0.so.0
libsoup-2.4.so.1 libgio-2.0.so.0 libjavascriptcoregtk-4.0.so.18
libgobject-2.0.so.0 libglib-2.0.so.0
libssl.so.3 libcrypto.so.3
libgcc_s.so.1 libm.so.6 libc.so.6"
. $(dirname $0)/common.sh
is_soname_present libssl.so.3 || fatal "This package needs OpenSSL 3."
add_libs_requires
......@@ -11,7 +11,7 @@ PRODUCTDIR=/opt/$PRODUCT
. $(dirname $0)/common-chromium-browser.sh
# can be in the repo
subst '1iConflicts:chromium-gost' $SPEC
add_conflicts chromium-gost
set_alt_alternatives 62
......
......@@ -4,12 +4,10 @@ BUILDROOT="$1"
SPEC="$2"
UNIREQUIRES="libglib-2.0.so.0 libgmodule-2.0.so.0 libgobject-2.0.so.0 libgthread-2.0.so.0 libatk-1.0.so.0 libcairo.so.2 libcairo-gobject.so.2
libcups.so.2 libcupsimage.so.2 libgdk_pixbuf-2.0.so.0 libgio-2.0.so.0 libgdk-3.so.0 libgtk-3.so.0
libpango-1.0.so.0 libpangocairo-1.0.so.0 libpangoft2-1.0.so.0 libpangoxft-1.0.so.0 libxml2.so.2 libjbig.so.2.1"
. $(dirname $0)/common.sh
add_libs_requires
[ "$(epm print info -s)" = "alt" ] || exit 0
# fixes for ALT bug with libjbig packing
......
......@@ -13,8 +13,7 @@ add_requires '/usr/bin/wine'
add_bin_link_command $PRODUCT $PRODUCTDIR/run.sh
mkdir -p usr/share/applications
cat <<EOF >usr/share/applications/$PRODUCT.desktop
cat <<EOF | create_file /usr/share/applications/$PRODUCT.desktop
[Desktop Entry]
Name=CommFort
Exec=$PRODUCT %F
......@@ -24,7 +23,6 @@ Icon=$PRODUCT
StartupWMClass=commfort.exe
Categories=Wine;Chat;Network;InstantMessaging;
EOF
pack_file /usr/share/applications/$PRODUCT.desktop
# copied from ~/.local/share/icons/hicolor/256x256/apps/2887_CommFort.0.png
i=256
......
......@@ -150,6 +150,7 @@ pack_dir()
subst "s|%files|%files\n%dir $file|" $SPEC
}
# Usage: <local file> </abs/path/to/file>
install_file()
{
local src="$1"
......@@ -159,15 +160,27 @@ install_file()
if is_url "$src" ; then
epm tool eget -O "$BUILDROOT$dest" "$src" || fatal "Can't download $src to install to $dest"
elif [ "$src" = "/dev/stdin" ] ; then
cp "$src" "$BUILDROOT/$dest" || return
elif is_abs_path "$src" ; then
cp "$BUILDROOT/$src" "$BUILDROOT/$dest" || return
else
cp "$src" "$BUILDROOT/$dest" || return
fi
chmod 0644 "$BUILDROOT/$dest"
pack_file "$dest"
}
# Create target file from file
# Usage: echo "text" | create_file /abs/path/to/file
create_file()
{
local t="$1"
install_file /dev/stdin $t
}
add_bin_link_command()
{
local name="$1"
......@@ -295,6 +308,19 @@ add_requires()
subst "1iRequires: $*" $SPEC
}
add_conflicts()
{
[ -n "$1" ] || return
subst "1iConflicts: $*" $SPEC
}
add_provides()
{
[ -n "$1" ] || return
subst "1iProvides: $*" $SPEC
}
# libstdc++.so.6 -> libstdc++.so.6()(64bit)
add_unirequires()
{
......@@ -304,7 +330,7 @@ add_unirequires()
reqs=''
for req in $* ; do
reqs="$reqs $req"
echo "$req" | grep "^lib" | grep -q -v -F "(64bit)" && reqs="$reqs"'()(64bit)'
echo "$req" | grep "^lib.*\.so" | grep -q -v -F "(64bit)" && reqs="$reqs"'()(64bit)'
done
subst "1iRequires:$reqs" $SPEC
else
......@@ -335,28 +361,6 @@ add_electron_deps()
add_unirequires "libnspr4.so libnss3.so libnssutil3.so libsmime3.so"
}
add_qt5_deps()
{
add_unirequires "libm.so.6 libc.so.6"
add_unirequires "libglib-2.0.so.0 libgio-2.0.so.0 libgobject-2.0.so.0 libfontconfig.so.1 libfreetype.so.6"
add_unirequires "libEGL.so.1 libGL.so.1 libxcb.so.1 libX11.so.6 libX11-xcb.so.1 libglib-2.0.so.0"
}
add_qt6_deps()
{
add_unirequires "libm.so.6 libc.so.6 libdl.so.2 libgcc_s.so.1 libpthread.so.0 libstdc++.so.6"
add_unirequires "libEGL.so.1 libGL.so.1 libxcb.so.1 libX11.so.6 libX11-xcb.so.1 libglib-2.0.so.0"
add_unirequires "libGLX.so.0 libOpenGL.so.0"
add_unirequires "libX11-xcb.so.1 libX11.so.6 libXcomposite.so.1 libXdamage.so.1 libXext.so.6 libXfixes.so.3 libXinerama.so.1 libXrandr.so.2 libXrender.so.1 libXss.so.1 libXtst.so.6"
add_unirequires "libasound.so.2 libdbus-1.so.3 libdrm.so.2 libexpat.so.1 libfontconfig.so.1 libfreetype.so.6 libgbm.so.1"
add_unirequires "libglib-2.0.so.0 libgthread-2.0.so.0 libharfbuzz.so.0 libjpeg.so.8 liblcms2.so.2 libminizip.so.1"
add_unirequires "libnspr4.so libnss3.so libnssutil3.so libopus.so.0 libpci.so.3 libplc4.so libplds4.so libpulse.so.0 libresolv.so.2 librt.so.1 libsmime3.so libsnappy.so.1"
add_unirequires "libtiff.so.5 libudev.so.1 libva-drm.so.2 libva-x11.so.2 libva.so.2 libwayland-client.so.0 libwayland-cursor.so.0 libwayland-egl.so.1 libwayland-server.so.0"
add_unirequires "libxcb-glx.so.0 libxcb-icccm.so.4 libxcb-image.so.0 libxcb-keysyms.so.1 libxcb-randr.so.0 libxcb-render-util.so.0 libxcb-render.so.0"
add_unirequires "libxcb-shape.so.0 libxcb-shm.so.0 libxcb-sync.so.1 libxcb-xfixes.so.0 libxcb-xkb.so.1 libxcb.so.1"
add_unirequires "libxkbcommon-x11.so.0 libxkbcommon.so.0 libxkbfile.so.1 libxml2.so.2 libxshmfence.so.1 libxslt.so.1 libz.so.1"
}
__get_binary_requires()
{
local fdir="$1"
......@@ -432,19 +436,7 @@ is_soname_present()
return 1
}
add_by_ldd_deps()
{
local exe="$1"
[ -n "$exe" ] || exe="$PRODUCTDIR/$PRODUCT"
if is_abs_path "$exe" ; then
exe="$BUILDROOT$exe"
fi
[ -x "$exe" ] || fatal "Can't get requires via ldd for non executable $1"
add_unirequires "$(epm requires --direct "$exe")"
}
# TODO: remove
filter_from_requires()
{
# ALT specific only
......@@ -529,7 +521,7 @@ use_system_xdg()
}
#[ -d "$BUILDROOT" ] || fatal "Run me only via epm repack <package>"
[ -d "$BUILDROOT" ] || fatal "Run me only via epm repack <package>"
[ -n "$PRODUCT" ] || PRODUCT="$(basename $0 .sh)"
......
......@@ -5,26 +5,17 @@ SPEC="$2"
PRODUCT=cuda-z
. $(dirname $0)/common.sh
# static linked
# strace -f cuda-z 2>&1 | grep \.so | grep lib64/lib | grep fstat | sed -e 's|.*<||' -e 's|>.*||' | sort -u | epm --quiet --short qf | sort -u | xargs -n100
# glibc-core glibc-pthread libgcc1 libstdc++6 libX11 libXau libxcb libXcursor libXdmcp libXext libXfixes libXrender
#PREINSTALL_PACKAGES="glibc-core glibc-pthread libgcc1 libstdc++6 libX11 libXau libxcb libXcursor libXdmcp libXext libXfixes libXrender"
#
UNIREQUIRES="libstdc++.so.6 libX11-xcb.so.1 libX11.so.6 libXau.so.6 libxcb.so.1 libXcursor.so.1 libXdmcp.so.6 libXext.so.6 libXfixes.so.3 libXrender.so.1"
. $(dirname $0)/common.sh
subst "s|^Group:.*|Group: Graphics|" $SPEC
subst "s|^License: unknown$|License: GPLv2|" $SPEC
subst "s|^URL:.*|URL: https://cuda-z.sourceforge.net/|" $SPEC
subst "s|^Summary:.*|Summary: CUDA-Z|" $SPEC
add_unirequires libstdc++.so.6 libX11-xcb.so.1 libX11.so.6 libXau.so.6 libxcb.so.1 libXcursor.so.1 libXdmcp.so.6 libXext.so.6 libXfixes.so.3 libXrender.so.1
add_bin_link_command
# create desktop file
mkdir -p $BUILDROOT/usr/share/applications/
cat <<EOF >$BUILDROOT/usr/share/applications/$PRODUCT.desktop
cat <<EOF | create_file /usr/share/applications/$PRODUCT.desktop
[Desktop Entry]
Version=1.0
Name=CUDA-Z
......@@ -34,10 +25,11 @@ Icon=$PRODUCT
Exec=$PRODUCT
Terminal=false
EOF
pack_file /usr/share/applications/$PRODUCT.desktop
install_file "https://cuda-z.sourceforge.net/img/web-download-detect.png" /usr/share/pixmaps/$PRODUCT.png
# Running 32 bit cuda-z on Ubuntu
# libc6:i386 libstdc++6:i386 zlib1g:i386 libx11-6:i386 libxext6:i386 libxrender1:i386
# https://blog.redscorp.net/?p=94
add_libs_requires
......@@ -5,9 +5,7 @@ SPEC="$2"
. $(dirname $0)/common.sh
add_requires udev
add_libs_requires
add_unirequires udev
# utility
add_bin_link_command $PRODUCT $PRODUCTDIR/bin/$PRODUCT
......@@ -27,3 +25,6 @@ remove_dir /usr/lib/epson-backend/rc.d
remove_dir /usr/lib/epson-backend/scripts
fix_desktop_file /opt/epson-printer-utility/bin/epson-printer-utility
add_libs_requires
......@@ -5,8 +5,9 @@ SPEC="$2"
. $(dirname $0)/common.sh
add_requires udev
add_unirequires udev
fix_desktop_file /usr/bin/epsonscan2
add_libs_requires
fix_desktop_file /usr/bin/epsonscan2
......@@ -6,7 +6,6 @@ SPEC="$2"
. $(dirname $0)/common.sh
subst '1iConflicts: far2l' $SPEC
add_conflicts far2l
# set_autoreq 'yes'
add_libs_requires
......@@ -13,3 +13,4 @@ fix_desktop_file
fix_chrome_sandbox
add_electron_deps
add_libs_requires
......@@ -4,12 +4,9 @@ BUILDROOT="$1"
SPEC="$2"
PRODUCT=firefox
PRODUCTCUR=$(basename $0 .sh)
PRODUCTDIR=/opt/$PRODUCTCUR
PREINSTALL_PACKAGES="fontconfig glib2 libalsa libatk libcairo libcairo-gobject libdbus libdbus-glib libfreetype libgdk-pixbuf libgio libgtk+3 libharfbuzz libpango libX11 libxcb libXcomposite libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender libXtst"
. $(dirname $0)/common-chromium-browser.sh
#for i in firefox firefox-devel ; do
......@@ -17,9 +14,6 @@ PREINSTALL_PACKAGES="fontconfig glib2 libalsa libatk libcairo libcairo-gobject l
# subst "1iConflicts:$i" $SPEC
#done
# set_autoreq 'yes,noshell,nomonolib,nomono,nopython'
add_libs_requires
#set_alt_alternatives 65
move_to_opt /usr/lib/$PRODUCTCUR
......@@ -42,22 +36,11 @@ copy_icons_to_share()
for i in 16 32 48 64 128 ; do
sicon=$BUILDROOT$PRODUCTDIR/browser/chrome/icons/default/default$i.png
[ -r $sicon ] || continue
mkdir -p $BUILDROOT/usr/share/icons/hicolor/${i}x${i}/apps/
rm -f $BUILDROOT/usr/share/icons/hicolor/${i}x${i}/apps/$iconname.png
cp $sicon $BUILDROOT/usr/share/icons/hicolor/${i}x${i}/apps/$iconname.png
install_file $sicon $/usr/share/icons/hicolor/${i}x${i}/apps/$iconname.png
done
#subst "s|%files|%files\n/usr/share/icons/hicolor/*x*/apps/$iconname.png|" $SPEC
}
copy_icons_to_share
if epm assure patchelf ; then
for i in $BUILDROOT/$PRODUCTDIR/{lib*.so,plugin-container} ; do
a= patchelf --set-rpath '$ORIGIN/' $i || continue
done
for i in $BUILDROOT/$PRODUCTDIR/gmp-clearkey/0.1/lib*.so ; do
a= patchelf --set-rpath '$ORIGIN/../../' $i || continue
done
fi
add_libs_requires
......@@ -4,10 +4,8 @@
BUILDROOT="$1"
SPEC="$2"
PREINSTALL_PACKAGES="libGL libGLU libqt5-core libqt5-gui libqt5-network libqt5-opengl libqt5-widgets libudev1"
. $(dirname $0)/common.sh
move_file /usr/lib/libOCCTWrapper.so.1 /usr/lib64/libOCCTWrapper.so.1
set_autoreq 'yes'
add_libs_requires
......@@ -86,7 +86,7 @@ set_rpm_field "Distribution" "EEPM"
# TODO: check the yaml file!!!
if [ -r "$PKG.eepm.yaml" ] ; then
eval $(epm tool yaml $PKG.eepm.yaml | grep -E '(summary|description|upstream_file|upstream_url|url|appname|arches|group|license|version)=' ) #'
eval $(epm tool yaml $PKG.eepm.yaml | grep -E '(summary|description|upstream_file|upstream_url|url|appname|arch|group|license|version)=' ) #'
# for tarballs fix permissions
chmod $verbose -R a+rX *
......
......@@ -11,8 +11,6 @@ PRODUCT=gitkraken
rm -v ./usr/bin/gitkraken
add_bin_link_command
add_electron_deps
move_to_opt
fix_chrome_sandbox
......@@ -25,5 +23,5 @@ add_findreq_skiplist "$PRODUCTDIR/resources/app.asar.unpacked/node_modules/@msgp
add_requires libXScrnSaver
# TODO: replace gitkraken/resources/app.asar.unpacked/git with system's one optionally?
#set_autoreq 'yes,noperl'
add_electron_deps
add_libs_requires
......@@ -19,3 +19,5 @@ PRODUCT=gitlab-runner
# gitlab-ci-multi-runner
add_requires curl git tar
add_libs_requires
......@@ -7,9 +7,10 @@ PRODUCT=google-chrome
PRODUCTCUR=google-chrome-stable
PRODUCTDIR=/opt/google/chrome
. $(dirname $0)/common-chromium-browser.sh
add_conflicts google-chrome-preinstall
set_alt_alternatives 65
copy_icons_to_share
......@@ -20,6 +21,8 @@ add_bin_commands
use_system_xdg
subst "s|^Summary:.*|Summary: Google Chrome browser|" $SPEC
# TODO: report to the upstream
subst 's|Name=Google Chrome|Name=Google Chrome Web Browser\nName[ru]=Веб-браузер Google Chrome|' $BUILDROOT/usr/share/applications/*.desktop
subst 's|GenericName=Web Browser|GenericName=Google Chrome Web Browser|' $BUILDROOT/usr/share/applications/*.desktop
......@@ -27,7 +30,4 @@ subst 's|GenericName\[ru\]=Веб-браузер|GenericName[ru]=Веб-брау
fix_desktop_file /usr/bin/google-chrome-stable
subst "s|^Summary:.*|Summary: Google Chrome browser|" $SPEC
subst '1iConflicts: google-chrome-preinstall' $SPEC
add_chromium_deps
......@@ -11,8 +11,7 @@ PRODUCTCUR=Hansoft
add_bin_link_command $PRODUCT $PRODUCTDIR/$PRODUCTCUR
add_bin_link_command $PRODUCTCUR $PRODUCT
mkdir -p usr/share/applications
cat <<EOF >usr/share/applications/$PRODUCT.desktop
cat <<EOF |create_file /usr/share/applications/$PRODUCT.desktop
[Desktop Entry]
Actions=Newconnection;Logoutexitall;
Categories=Development;Office;
......@@ -34,10 +33,9 @@ Exec=$PRODUCT -ExitAll
Name=Log out & exit all
X-Hansoft-TaskType=Command
EOF
pack_file /usr/share/applications/$PRODUCT.desktop
# copied from ~.local/share/icons/se.hansoft.Exe-PMClient_7B6AC2CBB8795205B8E6DC09CB75B5E6.png
i=256
install_file ipfs://QmbYM3wS2qXtWbUg9mASMPoJmgfL6smny1m3J4PfuiDtJR /usr/share/icons/hicolor/${i}x${i}/apps/$PRODUCT.png
set_autoreq 'yes'
add_libs_requires
......@@ -10,3 +10,5 @@ subst "s|^License: unknown$|License: Proprietary|" $SPEC
subst "s|^Summary:.*|Summary: Binary plugin for HPs hplip printer driver library|" $SPEC
add_requires hplip
add_libs_requires
......@@ -31,9 +31,7 @@ exec $PRODUCTDIR/$PRODUCT "\$@"
EOF
# create desktop file
mkdir -p $BUILDROOT/usr/share/applications/
cat <<EOF >$BUILDROOT/usr/share/applications/$PRODUCT.desktop
cat <<EOF | create_file /usr/share/applications/$PRODUCT.desktop
[Desktop Entry]
Version=1.0
Type=Application
......@@ -47,35 +45,9 @@ MimeType=x-scheme-handler/icq;
Keywords=icq;
EOF
pack_file /usr/share/applications/$PRODUCT.desktop
# https://hb.bizmrg.com/icq-www/linux/x64/packages/10.0.13286/icq.png
install_file https://dashboard.snapcraft.io/site_media/appmedia/2020/04/icq_copy.png /usr/share/pixmaps/$PRODUCT.png
subst "s|.*/opt/icq/unittests.*||" $SPEC
add_libs_requires
exit
# ignore embedded libs
filter_from_requires libQt5 libxcb "libX.*"
if epm assure patchelf ; then
cd $BUILDROOT$PRODUCTDIR
for i in $PRODUCT ; do
a= patchelf --set-rpath '$ORIGIN/lib' $i
done
for i in lib/*.so.* ; do
a= patchelf --set-rpath '$ORIGIN' $i
done
for i in QtQuick.2/lib*.so ; do
a= patchelf --set-rpath '$ORIGIN/../lib' $i
done
for i in QtQuick/*/lib*.so ; do
a= patchelf --set-rpath '$ORIGIN/../../lib' $i
done
fi
......@@ -9,7 +9,7 @@ PRODUCTCUR=idea-IC
. $(dirname $0)/common.sh
subst '1iConflicts: ideaIU' $SPEC
add_conflicts ideaIU
subst "s|^Group:.*|Group: Development/Tools|" $SPEC
#subst "s|^License: unknown$|License: GPLv2|" $SPEC
......
......@@ -9,7 +9,7 @@ PRODUCTCUR=idea-IU
. $(dirname $0)/common.sh
subst '1iConflicts: ideaIU' $SPEC
add_conflicts ideaIU
subst "s|^Group:.*|Group: Development/Tools|" $SPEC
#subst "s|^License: unknown$|License: GPLv2|" $SPEC
......@@ -20,9 +20,7 @@ move_to_opt "/$PRODUCTCUR-*"
add_bin_link_command $PRODUCT $PRODUCTDIR/bin/$PRODUCT.sh
add_bin_link_command $PRODUCTCUR $PRODUCT
# create desktop file
mkdir -p $BUILDROOT/usr/share/applications/
cat <<EOF >$BUILDROOT/usr/share/applications/$PRODUCT.desktop
cat <<EOF | create_file /usr/share/applications/$PRODUCT.desktop
[Desktop Entry]
Version=1.0
Type=Application
......@@ -36,11 +34,8 @@ StartupWMClass=jetbrains-idea
Categories=Development;IDE
EOF
pack_file /usr/share/applications/$PRODUCT.desktop
mkdir -p $BUILDROOT/usr/share/pixmaps
install_file $PRODUCTDIR/bin/$PRODUCT.png /usr/share/pixmaps/
install_file $PRODUCTDIR/bin/$PRODUCT.svg /usr/share/pixmaps/
install_file $PRODUCTDIR/bin/$PRODUCT.png /usr/share/pixmaps/$PRODUCT.png
install_file $PRODUCTDIR/bin/$PRODUCT.svg /usr/share/pixmaps/$PRODUCT.svg
# kind of hack
subst 's|%dir "'$PRODUCTDIR'/"||' $SPEC
......
......@@ -10,12 +10,6 @@ PRODUCTDIR=/opt/$PRODUCTCUR
. $(dirname $0)/common.sh
subst "s|^Group:.*|Group: Development/C|" $SPEC
#subst "s|^License: unknown$|License: GPLv2|" $SPEC
subst "s|^URL:.*|URL: https://www.jetbrains.com/ru-ru/toolbox-app/|" $SPEC
subst "s|^Summary:.*|Summary: JetBrains Toolbox App|" $SPEC
# overwrite default exec script
cat <<EOF >usr/bin/$PRODUCT
#!/bin/sh
......@@ -31,5 +25,4 @@ EOF
add_requires java-openjdk
# set_autoreq 'yes'
add_libs_requires
......@@ -6,14 +6,9 @@ SPEC="$2"
. $(dirname $0)/common.sh
subst "s|^Group:.*|Group: File tools|" $SPEC
subst "s|^License:.*$|License: Apache-2.0|" $SPEC
subst "s|^URL:.*|URL: https://k3s.io|" $SPEC
subst "s|^Summary:.*|Summary: K3s - Lightweight Kubernetes|" $SPEC
subst '1iConflicts: kubernetes-client' $SPEC
add_conflicts kubernetes-client
# /usr/bin/ctr
subst '1iConflicts: containerd' $SPEC
add_conflicts containerd
# Check https://get.k3s.io/
......@@ -21,7 +16,7 @@ UNITDIR=/lib/systemd/system/
[ -d "$UNITDIR" ] || UNITDIR=/usr/lib/systemd/system/
mkdir -p .$UNITDIR
cat >.$UNITDIR/k3s.service << EOF
cat <<EOF | create_file $UNITDIR/k3s.service
[Unit]
Description=Lightweight Kubernetes
Documentation=https://k3s.io
......@@ -50,17 +45,10 @@ RestartSec=5s
ExecStartPre=-/sbin/modprobe br_netfilter
ExecStartPre=-/sbin/modprobe overlay
ExecStart=/usr/bin/k3s server
EOF
pack_file $UNITDIR/k3s.service
mkdir -p etc/systemd/system/
cat >etc/systemd/system/k3s.service.env << EOF
cat <<EOF | create_file /etc/systemd/system/k3s.service.env
# K3S_URL=
# K3S_TOKEN=
# K3S_CLUSTER_SECRET=
EOF
pack_file /etc/systemd/system/k3s.service.env
......@@ -9,17 +9,11 @@ SPEC="$2"
# add conflicts to all alternatives
for i in kubo kubo-beta ; do
[ "$i" = "$PRODUCT" ] && continue
subst "1iConflicts: $i" $SPEC
add_conflicts $i
done
add_conflicts go-ipfs
add_provides go-ipfs
subst "s|^Group:.*|Group: File tools|" $SPEC
subst "s|^License:.*$|License: MIT/Apache-2.0|" $SPEC
subst "s|^URL:.*|URL: https://github.com/ipfs/kubo|" $SPEC
subst "s|^Summary:.*|Summary: An IPFS implementation in Go|" $SPEC
set_autoreq 'yes'
subst '1iConflicts: go-ipfs' $SPEC
subst '1iProvides: go-ipfs' $SPEC
add_libs_requires
......@@ -9,14 +9,6 @@ SPEC="$2"
# TODO: broken
# 40-scanner-permissions.rules
create_file()
{
local t="$1"
local l="$(basename $t)"
cat >$l
install_file $l $t
}
cat <<EOF | create_file /etc/sane.d/dll.d/kyocera
# dll.conf snippet for kyocera
#
......
......@@ -14,7 +14,6 @@ PRODUCTCUR=$PRODUCT$VERSION
# embedded
filter_from_requires "python3(PyPDF3)"
# set_autoreq 'yes'
add_libs_requires
# remove embedded PyPDF3
......@@ -34,9 +33,7 @@ mkdir -p $BUILDROOT/usr/share/cups/model/
ln -s /usr/share/ppd/kyocera $BUILDROOT/usr/share/cups/model/kyocera
pack_file /usr/share/cups/model/kyocera
# create desktop file
mkdir -p $BUILDROOT/usr/share/applications/
cat <<EOF >$BUILDROOT/usr/share/applications/$PRODUCTCUR.desktop
cat <<EOF |create_file /usr/share/applications/$PRODUCTCUR.desktop
[Desktop Entry]
Type=Application
Name=Kyocera Print Panel
......@@ -46,6 +43,5 @@ Comment=Kyocera Print Panel
Terminal=false
Categories=Qt;Printing;HardwareSettings;Settings
EOF
pack_file /usr/share/applications/$PRODUCTCUR.desktop
install_file /usr/share/kyocera$VERSION/appicon_H.png /usr/share/pixmaps/$PRODUCTCUR.png
......@@ -9,7 +9,7 @@ PRODUCT=liteide
. $(dirname $0)/common.sh
# previous package name
subst '1iConflicts: liteidex' $SPEC
add_conflicts liteidex
subst "s|^Group:.*|Group: Development/Tools|" $SPEC
subst "s|^License: unknown$|License: LGPLv2|" $SPEC
......@@ -24,9 +24,7 @@ done
install_file $PRODUCTDIR/share/liteide/welcome/images/liteide.png /usr/share/pixmaps/$PRODUCT.png
# create desktop file
mkdir -p $BUILDROOT/usr/share/applications/
cat <<EOF >$BUILDROOT/usr/share/applications/$PRODUCT.desktop
cat <<EOF | create_file /usr/share/applications/$PRODUCT.desktop
[Desktop Entry]
Type=Application
Name=LiteIDE
......@@ -37,8 +35,6 @@ Terminal=false
Categories=Development;
EOF
pack_file /usr/share/applications/$PRODUCT.desktop
# https://bugzilla.altlinux.org/45635
add_requires golang
......
......@@ -3,35 +3,21 @@
BUILDROOT="$1"
SPEC="$2"
PREINSTALL_PACKAGES="glib2 libdbus libEGL fontconfig libfreetype libGL libGLU libICE libjasper libSM libX11 libxcb libXext libXi libXrender zlib"
. $(dirname $0)/common.sh
move_to_opt "/opt/lithium*" || fatal "can't move to $PRODUCTDIR"
add_bin_link_command $PRODUCT $PRODUCTDIR/launcher.sh
set_autoreq 'yes'
cd $BUILDROOT$PRODUCTDIR || fatal
if epm assure patchelf ; then
for i in bin/{launcher,libraryCreator,projectCreator} ; do
a= patchelf --set-rpath '$ORIGIN' $i || continue
done
for i in bin/{*.so,*.so.*} ; do
a= patchelf --set-rpath '$ORIGIN' $i || continue
done
for i in bin/plugins/*/*.so ; do
a= patchelf --set-rpath '$ORIGIN/../../' $i || continue
done
fi
# missed with other soname
ln -s /usr/lib64/libjasper.so.4 bin/libjasper.so.1
pack_file $PRODUCTDIR/bin/libjasper.so.1
#ln -s /usr/lib64/libjasper.so.* bin/libjasper.so.1
#pack_file $PRODUCTDIR/bin/libjasper.so.1
ignore_lib_requires libjasper.so.1
install_file $PRODUCTDIR/lithium-ecad.desktop /usr/share/applications/$PRODUCT.desktop
fix_desktop_file "/opt/lithium_ecad-.*/launcher.sh"
fix_desktop_file "/opt/lithium_ecad-.*/lithium-ecad.png"
install_file lithium-ecad.desktop /usr/share/applications/$PRODUCT.desktop
fix_desktop_file "/opt/lithium_ecad-.*/launcher.sh" $PRODUCT
fix_desktop_file "/opt/lithium_ecad-.*/lithium-ecad.png" $PRODUCT
install_file $PRODUCTDIR/lithium-ecad.png /usr/share/pixmaps/$PRODUCT.png
install_file lithium-ecad.png /usr/share/pixmaps/$PRODUCT.png
add_libs_requires
......@@ -11,11 +11,8 @@ PRODUCTDIR=/opt/LycheeSlicer
add_bin_link_command
#add_bin_link_command $PRODUCTCUR $PRODUCT
add_electron_deps
fix_chrome_sandbox
fix_desktop_file
# ignore embedded libs
filter_from_requires libQt5 node seamonkey thunderbird
add_libs_requires
......@@ -7,8 +7,6 @@ PRODUCT=masterpdfeditor5
PRODUCTCUR=master-pdf-editor
PRODUCTDIR=/opt/master-pdf-editor-5
UNIREQUIRES="libsane.so.1 libz.so.1"
. $(dirname $0)/common.sh
add_bin_link_command
......@@ -16,4 +14,5 @@ add_bin_link_command $PRODUCTCUR $PRODUCT
fix_desktop_file
add_qt5_deps
add_libs_requires
......@@ -3,23 +3,11 @@
BUILDROOT="$1"
SPEC="$2"
PRODUCT="$(grep "^Name: " $SPEC | sed -e "s|Name: ||g" | head -n1)"
PRODUCTDIR=/opt/$PRODUCT
. $(dirname $0)/common.sh
# move package to /opt
ROOTDIR=$(basename $(find $BUILDROOT -mindepth 1 -maxdepth 1 -type d))
mkdir -p $BUILDROOT/opt
mv $BUILDROOT/$ROOTDIR $BUILDROOT$PRODUCTDIR
subst "s|\"/$ROOTDIR/|\"$PRODUCTDIR/|" $SPEC
fix_chrome_sandbox
cd $BUILDROOT$PRODUCTDIR
mkdir -p $BUILDROOT/usr/share/applications/
cat <<EOF > $BUILDROOT/usr/share/applications/$PRODUCT.desktop
cat <<EOF | create_file /usr/share/applications/$PRODUCT.desktop
[Desktop Entry]
Name=Meridius
Exec=meridius
......@@ -29,13 +17,11 @@ Icon=$PRODUCT
Comment=Music Player for vk.com based on Electron, NuxtJS, Vue.
Categories=AudioVideo;Audio;Video;Player
EOF
pack_file /usr/share/applications/$DESKTOPFILE
install_file builder/icons/linux/256x256.png /usr/share/pixmaps/$PRODUCT.png
cd - >/dev/null
#install_file $PRODUCTDIR/io.github.purplehorrorrus.Meridius.desktop /usr/share/applications/$PRODUCT.desktop
install_file $PRODUCTDIR/builder/icons/linux/256x256.png /usr/share/pixmaps/$PRODUCT.png
add_bin_exec_command $PRODUCT
add_bin_exec_command
# remove broken discord integration
# error: version `GLIBC_2.33' not found (required by ./python3)
......
......@@ -13,7 +13,7 @@ PRODUCTDIR=/opt/microsoft/msedge
for i in microsoft-edge-stable microsoft-edge-beta microsoft-edge-dev ; do
[ "$i" = "$PRODUCTCUR" ] && continue
subst "1iConflicts:$i" $SPEC
add_conflicts $i
done
......
......@@ -7,8 +7,6 @@ SPEC="$2"
PRODUCT=mobirise
PRODUCTDIR=/opt/Mobirise
UNIREQUIRES="libjpeg.so.8"
. $(dirname $0)/common-chromium-browser.sh
add_bin_link_command
......@@ -17,4 +15,6 @@ fix_desktop_file
fix_chrome_sandbox
# use both
add_electron_deps
add_libs_requires
......@@ -6,15 +6,16 @@ PRODUCTDIR=/opt/vdhcoapp
. $(dirname $0)/common.sh
subst '1iConflicts: net.downloadhelper.coapp' $SPEC
add_conflicts net.downloadhelper.coapp
add_unirequires /usr/bin/xdg-open
add_unirequires /usr/bin/ffmpeg /usr/bin/ffplay /usr/bin/ffprobe
# use xdg-open from the system
rm -v .$PRODUCTDIR/xdg-open
ln -s /usr/bin/xdg-open .$PRODUCTDIR/xdg-open
add_unirequires /usr/bin/xdg-open
add_unirequires /usr/bin/ffmpeg /usr/bin/ffplay /usr/bin/ffprobe
cat <<EOF > net.downloadhelper.coapp.json
cat <<EOF | create_file /usr/lib64/mozilla/native-messaging-hosts/net.downloadhelper.coapp.json
{
"type": "stdio",
"allowed_extensions": [
......@@ -26,9 +27,8 @@ cat <<EOF > net.downloadhelper.coapp.json
"path": "$PRODUCTDIR/vdhcoapp"
}
EOF
install_file net.downloadhelper.coapp.json /usr/lib64/mozilla/native-messaging-hosts/net.downloadhelper.coapp.json
cat <<EOF > net.downloadhelper.coapp.json
cat <<EOF | create_file /etc/chromium/native-messaging-hosts/net.downloadhelper.coapp.json
{
"type": "stdio",
"allowed_origins": [
......@@ -42,4 +42,3 @@ cat <<EOF > net.downloadhelper.coapp.json
"path": "$PRODUCTDIR/vdhcoapp"
}
EOF
install_file net.downloadhelper.coapp.json /etc/chromium/native-messaging-hosts/net.downloadhelper.coapp.json
......@@ -6,7 +6,7 @@ SPEC="$2"
. $(dirname $0)/common.sh
subst '1iConflicts: ffmpeg-plugin-browser' $SPEC
subst '1iProvides: ffmpeg-plugin-browser' $SPEC
add_conflicts ffmpeg-plugin-browser
add_provides ffmpeg-plugin-browser
add_libs_requires
......@@ -12,6 +12,7 @@ PRODUCTDIR=/opt/onlyoffice
# $ rpm -qf /usr/lib64/LibreOffice/share/fonts/truetype/opens___.ttf
#LibreOffice-common-7.0.1.2-alt1.0.p9.x86_64
# ALT only
add_requires fonts-ttf-liberation fonts-ttf-dejavu
# pack icons
......
......@@ -13,7 +13,7 @@ PRODUCTDIR=/opt/$PRODUCTCUR
for i in opera-stable opera-beta opera-developer ; do
[ "$i" = "$PRODUCTCUR0" ] && continue
subst "1iConflicts:$i" $SPEC
add_conflicts $i
done
set_alt_alternatives 65
......
......@@ -13,15 +13,6 @@ for i in opt/pfusp/consumables/pfuspconsumables \
add_bin_link_command $(basename $i) /$i
done
create_file()
{
local t="$1"
local l="$(basename $t)"
cat >$l
install_file $l $t
}
PFUSCANNER="pfusp"
cat <<EOF | create_file /opt/pfusp/etc/$PFUSCANNER.conf
......
......@@ -6,16 +6,17 @@ SPEC="$2"
PRODUCT=pgadmin4
PRODUCTDIR=/opt/pgadmin4
UNIREQUIRES="xdg-utils libatomic.so.1"
. $(dirname $0)/common.sh
move_to_opt /usr/pgadmin4
VERSION=$(grep "^Version:" $SPEC | sed -e "s|Version: ||")
add_requires xdg-utils libatomic.so.1
add_requires pgadmin4-server = $VERSION
fix_desktop_file /usr/pgadmin4/bin/pgadmin4
add_bin_link_command $PRODUCT $PRODUCTDIR/bin/$PRODUCT
add_libs_requires
......@@ -5,9 +5,10 @@ BUILDROOT="$1"
SPEC="$2"
PRODUCTDIR=/opt/pgadmin4
UNIREQUIRES="python3 libkrb5.so.3 libpq.so.5"
. $(dirname $0)/common.sh
move_to_opt /usr/pgadmin4
add_requires python3 libkrb5.so.3 libpq.so.5
add_libs_requires
......@@ -26,20 +26,3 @@ done
cd >/dev/null
add_libs_requires
exit
add_requires glib2 glxinfo libalsa libdbus libdrm libEGL libexpat fontconfig libfreetype libgbm libGLX libharfbuzz libjpeg8 liblcms2 libminizip libnspr libnss libOpenGL libopus libpci libpulseaudio libsnappy libtiff5 libudev1 libva libwayland-client libwayland-cursor libwayland-egl libwayland-server libX11 libxcb libxcb-render-util libxcbutil-icccm libxcbutil-image libxcbutil-keysyms libXcomposite libXdamage libXext libXfixes libXinerama libxkbcommon libxkbcommon-x11 libxkbfile libxml2 libXrandr libXrender libXScrnSaver libxshmfence libxslt libXtst which zlib
if epm assure patchelf ; then
for i in bin/Plex "bin/Plex Transcoder" ; do
a= patchelf --set-rpath '$ORIGIN/../lib' "$i" || continue
done
for i in lib/lib*.so* ; do
a= patchelf --set-rpath '$ORIGIN' "$i" || continue
done
fi
subst '1i%filter_from_requires /^libtiff.so.5(LIBTIFF_.*/d' $SPEC
exit 0
......@@ -15,13 +15,11 @@ remove_file $PRODUCTDIR/portmaster.desktop
install -D -m644 .$PRODUCTDIR/portmaster_notifier.desktop ./usr/share/applications/portmaster_notifier.desktop
remove_file $PRODUCTDIR/portmaster_notifier.desktop
mkdir -p $BUILDROOT/usr/bin/
cat <<EOF >$BUILDROOT/usr/bin/$PRODUCT
add_bin_exec_command
cat <<EOF >usr/bin/$PRODUCT
#!/bin/sh
$PRODUCTDIR/portmaster-start app --data=$PRODUCTDIR "\$@"
EOF
chmod a+x $BUILDROOT/usr/bin/$PRODUCT
pack_file /usr/bin/$PRODUCT
echo "Dowloading ... "
.$PRODUCTDIR/portmaster-start --data $BUILDROOT$PRODUCTDIR update || fatal
......
......@@ -6,9 +6,8 @@ SPEC="$2"
. $(dirname $0)/common-chromium-browser.sh
add_bin_link_command $PRODUCT $PRODUCTDIR/$PRODUCT
add_bin_link_command
fix_chrome_sandbox
add_electron_deps
......@@ -21,15 +21,13 @@ add_bin_link_command $PRODUCT $PRODUCTDIR/bin/$PRODUCT.sh
# TODO:
# https://github.com/archlinux/svntogit-community/blob/packages/pycharm-community-edition/trunk/pycharm.sh
# create desktop file
mkdir -p $BUILDROOT/usr/share/applications/
cat <<EOF >$BUILDROOT/usr/share/applications/$PRODUCT.desktop
cat <<EOF | create_file /usr/share/applications/$PRODUCT.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=PyCharm Community Edition
Comment=Python IDE for Professional Developers
Exec=/usr/bin/pycharm %f
Exec=pycharm %f
Icon=pycharm
Terminal=false
StartupNotify=true
......@@ -37,8 +35,6 @@ StartupWMClass=jetbrains-pycharm-ce
Categories=Development;IDE;Python;
EOF
pack_file /usr/share/applications/$PRODUCT.desktop
install_file $PRODUCTDIR/bin/$PRODUCT.png /usr/share/pixmaps/
install_file $PRODUCTDIR/bin/$PRODUCT.svg /usr/share/pixmaps/
......@@ -69,14 +65,6 @@ for i in $PRODUCTDIR/plugins/python-ce/helpers/pydev/_pydevd_frame_eval/*-{win32
remove_file $i
done
cd $BUILDROOT$PRODUCTDIR/ || exit
if epm assure patchelf ; then
for i in jbr/lib/lib*.so ; do
a= patchelf --set-rpath '$ORIGIN/server:$ORIGIN' $i
done
fi
subst 's|%dir "'$PRODUCTDIR'/"||' $SPEC
subst 's|%dir "'$PRODUCTDIR'/bin/"||' $SPEC
subst 's|%dir "'$PRODUCTDIR'/lib/"||' $SPEC
......@@ -87,4 +75,4 @@ pack_dir $PRODUCTDIR/bin/
pack_dir $PRODUCTDIR/lib/
pack_dir $PRODUCTDIR/plugins/
set_autoreq 'yes,nopython,nopython3,nomono,nomonolib'
add_libs_requires
......@@ -18,15 +18,13 @@ subst "s|^Summary:.*|Summary: The Python IDE for Professional Developers (Free 3
move_to_opt "/pycharm-*"
add_bin_link_command $PRODUCT $PRODUCTDIR/bin/$PRODUCTCUR.sh
# create desktop file
mkdir -p $BUILDROOT/usr/share/applications/
cat <<EOF >$BUILDROOT/usr/share/applications/$PRODUCT.desktop
cat <<EOF |create_file /usr/share/applications/$PRODUCT.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=PyCharm Professional Edition
Comment=Python IDE for Professional Developers (Free 30-day trial available)
Exec=/usr/bin/$PRODUCT %f
Exec=$PRODUCT %f
Icon=$PRODUCT
Terminal=false
StartupNotify=true
......@@ -34,8 +32,6 @@ StartupWMClass=jetbrains-pycharm-pro
Categories=Development;IDE;Python;
EOF
pack_file /usr/share/applications/$PRODUCT.desktop
install_file $PRODUCTDIR/bin/$PRODUCTCUR.png /usr/share/pixmaps/$PRODUCT.png
install_file $PRODUCTDIR/bin/$PRODUCTCUR.svg /usr/share/pixmaps/$PRODUCT.svg
......@@ -78,17 +74,6 @@ cd $BUILDROOT$PRODUCTDIR/ || exit
file=$(basename $(ls $BUILDROOT$PRODUCTDIR/plugins/tailwindcss/server/node.napi.musl-*.node))
[ -n "$file" ] && remove_file $PRODUCTDIR/plugins/tailwindcss/server/$file
if epm assure patchelf ; then
for i in jbr/lib/lib*.so ; do
a= patchelf --set-rpath '$ORIGIN/server:$ORIGIN' $i
done
for i in plugins/remote-dev-server/selfcontained/lib/lib*.so* ; do
a= patchelf --set-rpath '$ORIGIN' $i
done
fi
subst 's|%dir "'$PRODUCTDIR'/"||' $SPEC
subst 's|%dir "'$PRODUCTDIR'/bin/"||' $SPEC
subst 's|%dir "'$PRODUCTDIR'/lib/"||' $SPEC
......@@ -99,5 +84,4 @@ pack_dir $PRODUCTDIR/bin/
pack_dir $PRODUCTDIR/lib/
pack_dir $PRODUCTDIR/plugins/
# set_autoreq 'yes,nopython,nopython3,nomono,nomonolib'
add_libs_requires
......@@ -6,9 +6,6 @@ SPEC="$2"
. $(dirname $0)/common.sh
subst '1iConflicts: tigervnc' $SPEC
add_conflicts tigervnc
filter_from_requires '\\/bin\\/chkconfig' '\\/bin\\/service' '\\/lib\\/svc\\/share\\/smf_include.sh'
# set_autoreq 'yes'
add_libs_requires
......@@ -6,7 +6,6 @@ SPEC="$2"
. $(dirname $0)/common.sh
subst '1iConflicts: tigervnc' $SPEC
add_conflicts tigervnc
# set_autoreq 'yes'
add_libs_requires
......@@ -3,9 +3,6 @@
BUILDROOT="$1"
SPEC="$2"
#REQUIRES="libcurl-gnutls-compat postgresql"
#PREINSTALL_PACKAGES="libcurl libsqlite3 libX11 libxml2 zlib $REQUIRES"
. $(dirname $0)/common.sh
# see https://bugzilla.altlinux.org/47890
......@@ -14,15 +11,3 @@ ignore_lib_requires "libcurl-gnutls.so.4"
add_requires "libcurl-gnutls.so.4(64bit)"
add_libs_requires
exit
# ошибка: Неудовлетворенные зависимости:
# libcurl.so.4(CURL_OPENSSL_3)(64bit) нужен для sbb-02.008.02-alt1.repacked.with.epm.20.x86_64
subst '1i%filter_from_requires /^libcurl.so.4(CURL_OPENSSL_.*/d' $SPEC
subst '1i%filter_from_requires /^libcurl-gnutls.so.4(CURL_GNUTLS_.*/d' $SPEC
add_requires $REQUIRES
set_autoreq 'yes'
......@@ -8,17 +8,11 @@ PRODUCT=snap4arduino
. $(dirname $0)/common.sh
# TODO: move to json in pack.d
subst "s|^Group:.*|Group: Development/Other|" $SPEC
subst "s|^License: unknown$|License: AGPL-3.0|" $SPEC
subst "s|^URL:.*|URL: https://snap4arduino.rocks/|" $SPEC
subst "s|^Summary:.*|Summary: A modification of the Snap! visual programming language that lets you seamlessly interact with almost all versions of the Arduino board.|" $SPEC
add_bin_link_command $PRODUCT $PRODUCTDIR/run
# TODO: copy icons
cat <<EOF >$PRODUCT.desktop
cat <<EOF | create_file /usr/share/applications/$PRODUCT.desktop
[Desktop Entry]
Type=Application
Version=1.0
......@@ -28,6 +22,5 @@ Name=Snap4Arduino
Name[en]=Snap4Arduino
GenericName[en]=Use Snap! to control Arduino boards. Arduino goes lambda!
EOF
install_file $PRODUCT.desktop /usr/share/applications/$PRODUCT.desktop
add_libs_requires
......@@ -7,15 +7,11 @@ PRODUCT=freeoffice2021
PRODUCTDIR=/usr/share/freeoffice2021
VERSION=free21
#PREINSTALL_PACKAGES="coreutils file gawk grep libcurl libGL libX11 libXext libXmu libXrandr libXrender sed xprop"
UNIREQUIRES="coreutils file gawk grep sed xprop"
. $(dirname $0)/common.sh
remove_file $PRODUCTDIR/add_rpm_repo.sh
filter_from_requires dnf gconftool-2 gnomevfs-info kfile rpmkeys yum
add_requires coreutils file gawk grep sed xprop
#use_system_xdg $PRODUCTDIR/mime/xdg-utils
remove_dir $PRODUCTDIR/mime/xdg-utils
......
......@@ -10,13 +10,6 @@ PRODUCTDIR=/opt/$PRODUCT
. $(dirname $0)/common.sh
subst "s|^Group:.*|Group: Text tools|" $SPEC
subst "s|^URL:.*|URL: https://www.sublimetext.com|" $SPEC
subst "s|^Summary:.*|Summary: Sophisticated text editor for code, html and prose|" $SPEC
subst "s|^License: unknown$|License: Proprietary|" $SPEC
#filter_from_requires "python3(sublime_api)"
for res in 128x128 16x16 256x256 32x32 48x48; do
install_file .$PRODUCTDIR/Icon/${res}/sublime-text.png /usr/share/icons/hicolor/${res}/apps/sublime-text.png
done
......
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