From 5063c1d35f35d8b0c3762b8bb3d43c24ba7e2930 Mon Sep 17 00:00:00 2001 From: Vitaly Lipatov <lav@etersoft.ru> Date: Mon, 1 Apr 2024 03:43:38 +0300 Subject: [PATCH] epm repack: huge cleanup --- pack.d/1c-connect.sh | 9 +++ pack.d/64Gram.sh | 9 +++ pack.d/Telegram.sh | 9 +++ pack.d/common.sh | 11 +++ pack.d/cuda-z.sh | 9 +++ pack.d/generic-appimage.sh | 2 +- pack.d/jetbrains-toolbox.sh | 9 +++ pack.d/k3s.sh | 9 +++ pack.d/kubo.sh | 9 +++ pack.d/meridius.sh | 27 +++++++ pack.d/postman.sh | 4 +- pack.d/sane-panakvs.sh | 9 +++ pack.d/snap4arduino.sh | 15 +++- pack.d/sublime-text.sh | 10 ++- pack.d/teamspeak3.sh | 9 +++ pack.d/teamspeak5.sh | 9 +++ pack.d/ungoogled-chromium.sh | 27 +++++++ pack.d/unigine-heaven.sh | 9 +++ pack.d/unigine-superposition.sh | 9 +++ pack.d/unigine-valley.sh | 9 +++ pack.d/virtualhere.sh | 9 +++ pack.d/vkteams.sh | 15 +++- pack.d/webdavmailrucloud.sh | 16 +++- play.d/meridius.sh | 2 +- play.d/ungoogled-chromium.sh | 2 +- repack.d/1c-connect.sh | 12 +-- repack.d/64Gram.sh | 22 +----- repack.d/Autodesk_EAGLE.sh | 21 ++---- repack.d/CLion.sh | 6 +- repack.d/ClipGrab.sh | 4 +- repack.d/DJV2.sh | 17 +---- repack.d/ICAClient.sh | 15 ---- repack.d/PacketTracer.sh | 8 -- repack.d/Pencil.sh | 3 +- repack.d/PhpStorm.sh | 6 +- repack.d/Telegram.sh | 49 ++---------- repack.d/WebStorm.sh | 11 +-- repack.d/aimp.sh | 1 - repack.d/aksusbd.sh | 4 +- repack.d/anydesk.sh | 47 +----------- repack.d/atom-beta.sh | 6 +- repack.d/audiorelay.sh | 16 +--- repack.d/bitrix24.sh | 4 +- repack.d/brave-browser-beta.sh | 2 +- repack.d/brave-browser-dev.sh | 2 +- repack.d/brave-browser-nightly.sh | 2 +- repack.d/brave-browser.sh | 2 +- repack.d/brscanads2200ads2700w.sh | 5 +- repack.d/cascadeur.sh | 8 +- repack.d/chat-gpt.sh | 8 +- repack.d/chromium-gost-stable.sh | 2 +- repack.d/cnrdrvcups-ufr2-uk.sh | 6 +- repack.d/commfort-client.sh | 4 +- repack.d/common.sh | 66 +++++++--------- repack.d/cuda-z.sh | 20 ++--- repack.d/epson-printer-utility.sh | 7 +- repack.d/epsonscan2.sh | 5 +- repack.d/far2l-portable.sh | 3 +- repack.d/figma-linux.sh | 1 + repack.d/firefox-nightly.sh | 21 +----- repack.d/flashprint5.sh | 4 +- repack.d/generic.sh | 2 +- repack.d/gitkraken.sh | 6 +- repack.d/gitlab-runner.sh | 2 + repack.d/google-chrome-stable.sh | 8 +- repack.d/hansoft.sh | 6 +- repack.d/hplip-plugin.sh | 2 + repack.d/icq.sh | 30 +------- repack.d/ideaIC.sh | 2 +- repack.d/ideaIU.sh | 13 +--- repack.d/jetbrains-toolbox.sh | 7 -- repack.d/k3s.sh | 20 +---- repack.d/kubo.sh | 14 +--- repack.d/kyocera-sane.sh | 8 -- repack.d/kyodialog.sh | 6 +- repack.d/liteide.sh | 8 +- repack.d/lithium_ecad.sh | 32 +++----- repack.d/lycheeslicer.sh | 5 +- repack.d/master-pdf-editor.sh | 5 +- repack.d/meridius.sh | 22 +----- repack.d/microsoft-edge-stable.sh | 2 +- repack.d/mobirise.sh | 4 +- repack.d/net.downloadhelper.coapp.noffmpeg.sh | 13 ++-- repack.d/nwjs-ffmpeg-prebuilt.sh | 4 +- repack.d/onlyoffice-desktopeditors.sh | 1 + repack.d/opera-stable.sh | 2 +- repack.d/pfusp.sh | 9 --- repack.d/pgadmin4-desktop.sh | 5 +- repack.d/pgadmin4-server.sh | 5 +- repack.d/plex-desktop.sh | 17 ----- repack.d/portmaster.sh | 6 +- repack.d/postman.sh | 3 +- repack.d/pycharm-community.sh | 18 +---- repack.d/pycharm-professional.sh | 20 +---- repack.d/realvnc-vnc-server.sh | 5 +- repack.d/realvnc-vnc-viewer.sh | 3 +- repack.d/sbb.sh | 15 ---- repack.d/snap4arduino.sh | 9 +-- repack.d/softmaker-freeoffice-2021.sh | 6 +- repack.d/sublime-text.sh | 7 -- repack.d/synology-drive.sh | 24 ------ repack.d/teamspeak3.sh | 5 -- repack.d/teamspeak5.sh | 10 +-- repack.d/ungoogled-chromium.sh | 15 +--- repack.d/unigine-heaven.sh | 11 +-- repack.d/unigine-superposition.sh | 11 +-- repack.d/unigine-valley.sh | 23 +----- repack.d/virtualhere.sh | 10 +-- repack.d/vivaldi-snapshot.sh | 2 +- repack.d/vivaldi-stable.sh | 2 +- repack.d/vk-calls.sh | 10 --- repack.d/vk.sh | 2 +- repack.d/vkteams.sh | 40 +--------- repack.d/weasis.sh | 13 ---- repack.d/webdavmailrucloud.sh | 8 +- repack.d/wing-personal10.sh | 3 +- repack.d/yandex-browser-beta.sh | 6 +- repack.d/yandex-browser-corporate.sh | 5 +- repack.d/yandex-browser-stable.sh | 5 +- repack.d/yaradio-yamusic.sh | 3 +- repack.d/zoom.sh | 75 ------------------- 121 files changed, 441 insertions(+), 871 deletions(-) create mode 100755 pack.d/meridius.sh create mode 100755 pack.d/ungoogled-chromium.sh diff --git a/pack.d/1c-connect.sh b/pack.d/1c-connect.sh index 5fc260a1..18e9a97f 100755 --- a/pack.d/1c-connect.sh +++ b/pack.d/1c-connect.sh @@ -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 diff --git a/pack.d/64Gram.sh b/pack.d/64Gram.sh index bf86a9b3..c6cdf0d5 100755 --- a/pack.d/64Gram.sh +++ b/pack.d/64Gram.sh @@ -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 diff --git a/pack.d/Telegram.sh b/pack.d/Telegram.sh index 55fda080..fdb44d02 100755 --- a/pack.d/Telegram.sh +++ b/pack.d/Telegram.sh @@ -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 diff --git a/pack.d/common.sh b/pack.d/common.sh index 6a606892..3a5ddce8 100755 --- a/pack.d/common.sh +++ b/pack.d/common.sh @@ -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 diff --git a/pack.d/cuda-z.sh b/pack.d/cuda-z.sh index 58de1e73..1a3bf447 100755 --- a/pack.d/cuda-z.sh +++ b/pack.d/cuda-z.sh @@ -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 diff --git a/pack.d/generic-appimage.sh b/pack.d/generic-appimage.sh index 993292bf..972ade1e 100755 --- a/pack.d/generic-appimage.sh +++ b/pack.d/generic-appimage.sh @@ -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 diff --git a/pack.d/jetbrains-toolbox.sh b/pack.d/jetbrains-toolbox.sh index 33e49835..94844cf6 100755 --- a/pack.d/jetbrains-toolbox.sh +++ b/pack.d/jetbrains-toolbox.sh @@ -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 diff --git a/pack.d/k3s.sh b/pack.d/k3s.sh index 716519b4..367fa3e3 100755 --- a/pack.d/k3s.sh +++ b/pack.d/k3s.sh @@ -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 diff --git a/pack.d/kubo.sh b/pack.d/kubo.sh index e2bf46d2..1ff0cc83 100755 --- a/pack.d/kubo.sh +++ b/pack.d/kubo.sh @@ -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 diff --git a/pack.d/meridius.sh b/pack.d/meridius.sh new file mode 100755 index 00000000..2b126ee5 --- /dev/null +++ b/pack.d/meridius.sh @@ -0,0 +1,27 @@ +#!/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 diff --git a/pack.d/postman.sh b/pack.d/postman.sh index 1e90d691..2aca86ae 100755 --- a/pack.d/postman.sh +++ b/pack.d/postman.sh @@ -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 diff --git a/pack.d/sane-panakvs.sh b/pack.d/sane-panakvs.sh index 6bfed816..c5f55bb6 100755 --- a/pack.d/sane-panakvs.sh +++ b/pack.d/sane-panakvs.sh @@ -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 diff --git a/pack.d/snap4arduino.sh b/pack.d/snap4arduino.sh index 026900ae..c36323a5 100755 --- a/pack.d/snap4arduino.sh +++ b/pack.d/snap4arduino.sh @@ -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 diff --git a/pack.d/sublime-text.sh b/pack.d/sublime-text.sh index 4c02d416..2b9e5861 100755 --- a/pack.d/sublime-text.sh +++ b/pack.d/sublime-text.sh @@ -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 diff --git a/pack.d/teamspeak3.sh b/pack.d/teamspeak3.sh index 7b495f71..c6870c0b 100755 --- a/pack.d/teamspeak3.sh +++ b/pack.d/teamspeak3.sh @@ -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 diff --git a/pack.d/teamspeak5.sh b/pack.d/teamspeak5.sh index 4a34362c..88d72ea0 100755 --- a/pack.d/teamspeak5.sh +++ b/pack.d/teamspeak5.sh @@ -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 diff --git a/pack.d/ungoogled-chromium.sh b/pack.d/ungoogled-chromium.sh new file mode 100755 index 00000000..2fe34151 --- /dev/null +++ b/pack.d/ungoogled-chromium.sh @@ -0,0 +1,27 @@ +#!/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 diff --git a/pack.d/unigine-heaven.sh b/pack.d/unigine-heaven.sh index bd02123a..e135401e 100755 --- a/pack.d/unigine-heaven.sh +++ b/pack.d/unigine-heaven.sh @@ -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 diff --git a/pack.d/unigine-superposition.sh b/pack.d/unigine-superposition.sh index 2c49b0c9..d1953e7e 100755 --- a/pack.d/unigine-superposition.sh +++ b/pack.d/unigine-superposition.sh @@ -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 diff --git a/pack.d/unigine-valley.sh b/pack.d/unigine-valley.sh index 07b27db5..f49ca833 100755 --- a/pack.d/unigine-valley.sh +++ b/pack.d/unigine-valley.sh @@ -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 diff --git a/pack.d/virtualhere.sh b/pack.d/virtualhere.sh index a2ce8f7a..8d64d5cb 100755 --- a/pack.d/virtualhere.sh +++ b/pack.d/virtualhere.sh @@ -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 diff --git a/pack.d/vkteams.sh b/pack.d/vkteams.sh index b49eea06..852496ad 100755 --- a/pack.d/vkteams.sh +++ b/pack.d/vkteams.sh @@ -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 diff --git a/pack.d/webdavmailrucloud.sh b/pack.d/webdavmailrucloud.sh index 815a2921..0cd942d9 100755 --- a/pack.d/webdavmailrucloud.sh +++ b/pack.d/webdavmailrucloud.sh @@ -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 diff --git a/play.d/meridius.sh b/play.d/meridius.sh index 70a3ec3e..b7772968 100755 --- a/play.d/meridius.sh +++ b/play.d/meridius.sh @@ -14,4 +14,4 @@ else PKGURL=$(eget --list --latest https://github.com/PurpleHorrorRus/Meridius/releases "$PKGNAME-*.tar.gz") fi -install_pkgurl +install_pack_pkgurl diff --git a/play.d/ungoogled-chromium.sh b/play.d/ungoogled-chromium.sh index bdc1ba38..11ad6a63 100755 --- a/play.d/ungoogled-chromium.sh +++ b/play.d/ungoogled-chromium.sh @@ -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 diff --git a/repack.d/1c-connect.sh b/repack.d/1c-connect.sh index 962c8f44..ce65fc4f 100755 --- a/repack.d/1c-connect.sh +++ b/repack.d/1c-connect.sh @@ -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 - diff --git a/repack.d/64Gram.sh b/repack.d/64Gram.sh index 5baebe2a..4b3c8a8b 100755 --- a/repack.d/64Gram.sh +++ b/repack.d/64Gram.sh @@ -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 diff --git a/repack.d/Autodesk_EAGLE.sh b/repack.d/Autodesk_EAGLE.sh index b7ea19f0..2243af02 100755 --- a/repack.d/Autodesk_EAGLE.sh +++ b/repack.d/Autodesk_EAGLE.sh @@ -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 diff --git a/repack.d/CLion.sh b/repack.d/CLion.sh index 41d1a082..a03200c4 100755 --- a/repack.d/CLion.sh +++ b/repack.d/CLion.sh @@ -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/ diff --git a/repack.d/ClipGrab.sh b/repack.d/ClipGrab.sh index d81b3fb8..08b6a95b 100755 --- a/repack.d/ClipGrab.sh +++ b/repack.d/ClipGrab.sh @@ -3,6 +3,6 @@ BUILDROOT="$1" SPEC="$2" -UNIREQUIRES="yt-dlp" - . $(dirname $0)/common.sh + +add_unirequires yt-dlp diff --git a/repack.d/DJV2.sh b/repack.d/DJV2.sh index 93a2c364..745b64ab 100755 --- a/repack.d/DJV2.sh +++ b/repack.d/DJV2.sh @@ -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 diff --git a/repack.d/ICAClient.sh b/repack.d/ICAClient.sh index 9c8d092f..ead6988a 100755 --- a/repack.d/ICAClient.sh +++ b/repack.d/ICAClient.sh @@ -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' diff --git a/repack.d/PacketTracer.sh b/repack.d/PacketTracer.sh index f4cec95a..a4f9d6af 100755 --- a/repack.d/PacketTracer.sh +++ b/repack.d/PacketTracer.sh @@ -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 diff --git a/repack.d/Pencil.sh b/repack.d/Pencil.sh index aecb68c4..6c528a5d 100755 --- a/repack.d/Pencil.sh +++ b/repack.d/Pencil.sh @@ -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 diff --git a/repack.d/PhpStorm.sh b/repack.d/PhpStorm.sh index 3c01f505..5300f3a9 100755 --- a/repack.d/PhpStorm.sh +++ b/repack.d/PhpStorm.sh @@ -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/ diff --git a/repack.d/Telegram.sh b/repack.d/Telegram.sh index 7c61c2f4..0ca4f4b8 100755 --- a/repack.d/Telegram.sh +++ b/repack.d/Telegram.sh @@ -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 diff --git a/repack.d/WebStorm.sh b/repack.d/WebStorm.sh index 53b40486..39ca3cc3 100755 --- a/repack.d/WebStorm.sh +++ b/repack.d/WebStorm.sh @@ -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 diff --git a/repack.d/aimp.sh b/repack.d/aimp.sh index 9d49db0c..dab6d561 100755 --- a/repack.d/aimp.sh +++ b/repack.d/aimp.sh @@ -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 diff --git a/repack.d/aksusbd.sh b/repack.d/aksusbd.sh index ea503c9a..bd165b2e 100755 --- a/repack.d/aksusbd.sh +++ b/repack.d/aksusbd.sh @@ -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 diff --git a/repack.d/anydesk.sh b/repack.d/anydesk.sh index e279d280..3d027a7b 100755 --- a/repack.d/anydesk.sh +++ b/repack.d/anydesk.sh @@ -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 diff --git a/repack.d/atom-beta.sh b/repack.d/atom-beta.sh index 246f775b..d8637779 100755 --- a/repack.d/atom-beta.sh +++ b/repack.d/atom-beta.sh @@ -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 diff --git a/repack.d/audiorelay.sh b/repack.d/audiorelay.sh index 5479b97a..11a30317 100755 --- a/repack.d/audiorelay.sh +++ b/repack.d/audiorelay.sh @@ -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 diff --git a/repack.d/bitrix24.sh b/repack.d/bitrix24.sh index 2d12124f..3ad445f8 100755 --- a/repack.d/bitrix24.sh +++ b/repack.d/bitrix24.sh @@ -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 diff --git a/repack.d/brave-browser-beta.sh b/repack.d/brave-browser-beta.sh index 17dc8027..fc169d57 100755 --- a/repack.d/brave-browser-beta.sh +++ b/repack.d/brave-browser-beta.sh @@ -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 diff --git a/repack.d/brave-browser-dev.sh b/repack.d/brave-browser-dev.sh index 50cd1f6d..a38ae670 100755 --- a/repack.d/brave-browser-dev.sh +++ b/repack.d/brave-browser-dev.sh @@ -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 diff --git a/repack.d/brave-browser-nightly.sh b/repack.d/brave-browser-nightly.sh index ecdf5d9c..74fa5eba 100755 --- a/repack.d/brave-browser-nightly.sh +++ b/repack.d/brave-browser-nightly.sh @@ -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 diff --git a/repack.d/brave-browser.sh b/repack.d/brave-browser.sh index 173fc3da..af0f672f 100755 --- a/repack.d/brave-browser.sh +++ b/repack.d/brave-browser.sh @@ -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 diff --git a/repack.d/brscanads2200ads2700w.sh b/repack.d/brscanads2200ads2700w.sh index 69d63e38..deb84953 100755 --- a/repack.d/brscanads2200ads2700w.sh +++ b/repack.d/brscanads2200ads2700w.sh @@ -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 diff --git a/repack.d/cascadeur.sh b/repack.d/cascadeur.sh index 54da448e..843b2079 100755 --- a/repack.d/cascadeur.sh +++ b/repack.d/cascadeur.sh @@ -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 diff --git a/repack.d/chat-gpt.sh b/repack.d/chat-gpt.sh index d0738d25..73f07c7b 100755 --- a/repack.d/chat-gpt.sh +++ b/repack.d/chat-gpt.sh @@ -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 diff --git a/repack.d/chromium-gost-stable.sh b/repack.d/chromium-gost-stable.sh index 1a037853..fb3b36a8 100755 --- a/repack.d/chromium-gost-stable.sh +++ b/repack.d/chromium-gost-stable.sh @@ -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 diff --git a/repack.d/cnrdrvcups-ufr2-uk.sh b/repack.d/cnrdrvcups-ufr2-uk.sh index 9c5681ac..b1fccea7 100755 --- a/repack.d/cnrdrvcups-ufr2-uk.sh +++ b/repack.d/cnrdrvcups-ufr2-uk.sh @@ -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 diff --git a/repack.d/commfort-client.sh b/repack.d/commfort-client.sh index 7f7b40b4..39bc3071 100755 --- a/repack.d/commfort-client.sh +++ b/repack.d/commfort-client.sh @@ -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 diff --git a/repack.d/common.sh b/repack.d/common.sh index f16a9033..d72ddbd4 100755 --- a/repack.d/common.sh +++ b/repack.d/common.sh @@ -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)" diff --git a/repack.d/cuda-z.sh b/repack.d/cuda-z.sh index 7922a504..1bbb5325 100755 --- a/repack.d/cuda-z.sh +++ b/repack.d/cuda-z.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 diff --git a/repack.d/epson-printer-utility.sh b/repack.d/epson-printer-utility.sh index d679767b..8a2e2c58 100755 --- a/repack.d/epson-printer-utility.sh +++ b/repack.d/epson-printer-utility.sh @@ -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 + diff --git a/repack.d/epsonscan2.sh b/repack.d/epsonscan2.sh index 3c3c90fe..635e288c 100755 --- a/repack.d/epsonscan2.sh +++ b/repack.d/epsonscan2.sh @@ -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 diff --git a/repack.d/far2l-portable.sh b/repack.d/far2l-portable.sh index 61d2a072..d9251224 100755 --- a/repack.d/far2l-portable.sh +++ b/repack.d/far2l-portable.sh @@ -6,7 +6,6 @@ SPEC="$2" . $(dirname $0)/common.sh -subst '1iConflicts: far2l' $SPEC +add_conflicts far2l -# set_autoreq 'yes' add_libs_requires diff --git a/repack.d/figma-linux.sh b/repack.d/figma-linux.sh index d7d31db6..e99c2ea4 100755 --- a/repack.d/figma-linux.sh +++ b/repack.d/figma-linux.sh @@ -13,3 +13,4 @@ fix_desktop_file fix_chrome_sandbox add_electron_deps +add_libs_requires diff --git a/repack.d/firefox-nightly.sh b/repack.d/firefox-nightly.sh index 5e930476..931673eb 100755 --- a/repack.d/firefox-nightly.sh +++ b/repack.d/firefox-nightly.sh @@ -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 diff --git a/repack.d/flashprint5.sh b/repack.d/flashprint5.sh index c4001792..f6c52bdd 100755 --- a/repack.d/flashprint5.sh +++ b/repack.d/flashprint5.sh @@ -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 diff --git a/repack.d/generic.sh b/repack.d/generic.sh index ecab3db2..79674082 100755 --- a/repack.d/generic.sh +++ b/repack.d/generic.sh @@ -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 * diff --git a/repack.d/gitkraken.sh b/repack.d/gitkraken.sh index afa2f7d4..bffd2fba 100755 --- a/repack.d/gitkraken.sh +++ b/repack.d/gitkraken.sh @@ -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 diff --git a/repack.d/gitlab-runner.sh b/repack.d/gitlab-runner.sh index 056bf0fc..825942d6 100755 --- a/repack.d/gitlab-runner.sh +++ b/repack.d/gitlab-runner.sh @@ -19,3 +19,5 @@ PRODUCT=gitlab-runner # gitlab-ci-multi-runner add_requires curl git tar + +add_libs_requires diff --git a/repack.d/google-chrome-stable.sh b/repack.d/google-chrome-stable.sh index 1357bd8d..c529d03a 100755 --- a/repack.d/google-chrome-stable.sh +++ b/repack.d/google-chrome-stable.sh @@ -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 diff --git a/repack.d/hansoft.sh b/repack.d/hansoft.sh index afe82c98..ccec5111 100755 --- a/repack.d/hansoft.sh +++ b/repack.d/hansoft.sh @@ -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 diff --git a/repack.d/hplip-plugin.sh b/repack.d/hplip-plugin.sh index a0aa8a73..5f949f6e 100755 --- a/repack.d/hplip-plugin.sh +++ b/repack.d/hplip-plugin.sh @@ -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 diff --git a/repack.d/icq.sh b/repack.d/icq.sh index 272696b7..dc8ff1d8 100755 --- a/repack.d/icq.sh +++ b/repack.d/icq.sh @@ -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 diff --git a/repack.d/ideaIC.sh b/repack.d/ideaIC.sh index b03c5c4b..58ba8c71 100755 --- a/repack.d/ideaIC.sh +++ b/repack.d/ideaIC.sh @@ -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 diff --git a/repack.d/ideaIU.sh b/repack.d/ideaIU.sh index 36dc943e..7608ad66 100755 --- a/repack.d/ideaIU.sh +++ b/repack.d/ideaIU.sh @@ -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 diff --git a/repack.d/jetbrains-toolbox.sh b/repack.d/jetbrains-toolbox.sh index f1ebb97d..9ed7cdf6 100755 --- a/repack.d/jetbrains-toolbox.sh +++ b/repack.d/jetbrains-toolbox.sh @@ -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 diff --git a/repack.d/k3s.sh b/repack.d/k3s.sh index 3e439134..e0016b2f 100755 --- a/repack.d/k3s.sh +++ b/repack.d/k3s.sh @@ -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 - diff --git a/repack.d/kubo.sh b/repack.d/kubo.sh index fe42d529..f0583802 100755 --- a/repack.d/kubo.sh +++ b/repack.d/kubo.sh @@ -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 diff --git a/repack.d/kyocera-sane.sh b/repack.d/kyocera-sane.sh index 384acec3..a9ccc668 100755 --- a/repack.d/kyocera-sane.sh +++ b/repack.d/kyocera-sane.sh @@ -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 # diff --git a/repack.d/kyodialog.sh b/repack.d/kyodialog.sh index a88fb24c..359544bd 100755 --- a/repack.d/kyodialog.sh +++ b/repack.d/kyodialog.sh @@ -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 diff --git a/repack.d/liteide.sh b/repack.d/liteide.sh index b853576d..bb54424f 100755 --- a/repack.d/liteide.sh +++ b/repack.d/liteide.sh @@ -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 diff --git a/repack.d/lithium_ecad.sh b/repack.d/lithium_ecad.sh index 3c4d4da7..93db40ac 100755 --- a/repack.d/lithium_ecad.sh +++ b/repack.d/lithium_ecad.sh @@ -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 diff --git a/repack.d/lycheeslicer.sh b/repack.d/lycheeslicer.sh index 1f917c60..7958a7f2 100755 --- a/repack.d/lycheeslicer.sh +++ b/repack.d/lycheeslicer.sh @@ -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 diff --git a/repack.d/master-pdf-editor.sh b/repack.d/master-pdf-editor.sh index 330e9bcb..57727345 100755 --- a/repack.d/master-pdf-editor.sh +++ b/repack.d/master-pdf-editor.sh @@ -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 + diff --git a/repack.d/meridius.sh b/repack.d/meridius.sh index 9c5e5371..ef726731 100755 --- a/repack.d/meridius.sh +++ b/repack.d/meridius.sh @@ -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) diff --git a/repack.d/microsoft-edge-stable.sh b/repack.d/microsoft-edge-stable.sh index c061901f..0592fe6d 100755 --- a/repack.d/microsoft-edge-stable.sh +++ b/repack.d/microsoft-edge-stable.sh @@ -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 diff --git a/repack.d/mobirise.sh b/repack.d/mobirise.sh index a52e0af3..0432047f 100755 --- a/repack.d/mobirise.sh +++ b/repack.d/mobirise.sh @@ -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 diff --git a/repack.d/net.downloadhelper.coapp.noffmpeg.sh b/repack.d/net.downloadhelper.coapp.noffmpeg.sh index b077561e..58d579dd 100755 --- a/repack.d/net.downloadhelper.coapp.noffmpeg.sh +++ b/repack.d/net.downloadhelper.coapp.noffmpeg.sh @@ -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 diff --git a/repack.d/nwjs-ffmpeg-prebuilt.sh b/repack.d/nwjs-ffmpeg-prebuilt.sh index c73d1f01..5bfda073 100755 --- a/repack.d/nwjs-ffmpeg-prebuilt.sh +++ b/repack.d/nwjs-ffmpeg-prebuilt.sh @@ -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 diff --git a/repack.d/onlyoffice-desktopeditors.sh b/repack.d/onlyoffice-desktopeditors.sh index e89fab44..6073179b 100755 --- a/repack.d/onlyoffice-desktopeditors.sh +++ b/repack.d/onlyoffice-desktopeditors.sh @@ -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 diff --git a/repack.d/opera-stable.sh b/repack.d/opera-stable.sh index 0cc832f3..e3cd72d5 100755 --- a/repack.d/opera-stable.sh +++ b/repack.d/opera-stable.sh @@ -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 diff --git a/repack.d/pfusp.sh b/repack.d/pfusp.sh index 906c15b9..4f0a614c 100755 --- a/repack.d/pfusp.sh +++ b/repack.d/pfusp.sh @@ -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 diff --git a/repack.d/pgadmin4-desktop.sh b/repack.d/pgadmin4-desktop.sh index 2496b4ab..e90ba530 100755 --- a/repack.d/pgadmin4-desktop.sh +++ b/repack.d/pgadmin4-desktop.sh @@ -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 diff --git a/repack.d/pgadmin4-server.sh b/repack.d/pgadmin4-server.sh index 2c33711b..f3156a67 100755 --- a/repack.d/pgadmin4-server.sh +++ b/repack.d/pgadmin4-server.sh @@ -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 diff --git a/repack.d/plex-desktop.sh b/repack.d/plex-desktop.sh index 60a7a563..5dbad2a6 100755 --- a/repack.d/plex-desktop.sh +++ b/repack.d/plex-desktop.sh @@ -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 diff --git a/repack.d/portmaster.sh b/repack.d/portmaster.sh index 26619527..b7425e1c 100755 --- a/repack.d/portmaster.sh +++ b/repack.d/portmaster.sh @@ -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 diff --git a/repack.d/postman.sh b/repack.d/postman.sh index 202ab450..f13a872b 100755 --- a/repack.d/postman.sh +++ b/repack.d/postman.sh @@ -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 - diff --git a/repack.d/pycharm-community.sh b/repack.d/pycharm-community.sh index fe9b33c5..2fad039e 100755 --- a/repack.d/pycharm-community.sh +++ b/repack.d/pycharm-community.sh @@ -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 diff --git a/repack.d/pycharm-professional.sh b/repack.d/pycharm-professional.sh index ff691f76..e26b5d43 100755 --- a/repack.d/pycharm-professional.sh +++ b/repack.d/pycharm-professional.sh @@ -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 diff --git a/repack.d/realvnc-vnc-server.sh b/repack.d/realvnc-vnc-server.sh index 095dde58..4de75a73 100755 --- a/repack.d/realvnc-vnc-server.sh +++ b/repack.d/realvnc-vnc-server.sh @@ -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 diff --git a/repack.d/realvnc-vnc-viewer.sh b/repack.d/realvnc-vnc-viewer.sh index 36e6c462..4de75a73 100755 --- a/repack.d/realvnc-vnc-viewer.sh +++ b/repack.d/realvnc-vnc-viewer.sh @@ -6,7 +6,6 @@ SPEC="$2" . $(dirname $0)/common.sh -subst '1iConflicts: tigervnc' $SPEC +add_conflicts tigervnc -# set_autoreq 'yes' add_libs_requires diff --git a/repack.d/sbb.sh b/repack.d/sbb.sh index b7b84701..23b14ebf 100755 --- a/repack.d/sbb.sh +++ b/repack.d/sbb.sh @@ -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' diff --git a/repack.d/snap4arduino.sh b/repack.d/snap4arduino.sh index 392c99ee..6563aa04 100755 --- a/repack.d/snap4arduino.sh +++ b/repack.d/snap4arduino.sh @@ -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 diff --git a/repack.d/softmaker-freeoffice-2021.sh b/repack.d/softmaker-freeoffice-2021.sh index 798d9d7c..cc24275d 100755 --- a/repack.d/softmaker-freeoffice-2021.sh +++ b/repack.d/softmaker-freeoffice-2021.sh @@ -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 diff --git a/repack.d/sublime-text.sh b/repack.d/sublime-text.sh index 34c43425..3a5dc174 100755 --- a/repack.d/sublime-text.sh +++ b/repack.d/sublime-text.sh @@ -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 diff --git a/repack.d/synology-drive.sh b/repack.d/synology-drive.sh index b8a289ab..4eb6a155 100755 --- a/repack.d/synology-drive.sh +++ b/repack.d/synology-drive.sh @@ -6,8 +6,6 @@ SPEC="$2" PRODUCT=synology-drive PRODUCTDIR=/opt/Synology/SynologyDrive -PREINSTALL_PACKAGES="coreutils glib2 libdbus libgtk+3 libICE libpango libSM libX11 libxcb libxkbcommon libXrender fontconfig libfreetype" - . $(dirname $0)/common.sh cd $BUILDROOT/$PRODUCTDIR || exit @@ -38,25 +36,3 @@ remove_file $PRODUCTDIR/package/cloudstation/icon-overlay/15/lib/plugin-cb.so || # https://www.synology.com/api/support/findDownloadInfo?lang=ru-ru&product=DS2411%2B&major=6&minor=2 add_libs_requires -exit - -if epm assure patchelf ; then -for i in lib/lib*.so.* package/cloudstation/lib/lib*.so.* ; do - a= patchelf --set-rpath '$ORIGIN' $i -done - -# /opt/Synology/SynologyDrive/package/cloudstation/lib/plugins/designer/libqquickwidget.so -for i in package/cloudstation/lib/plugins/designer/lib*.so ; do - a= patchelf --set-rpath '$ORIGIN../../' $i -done - -for i in bin/launcher package/cloudstation/bin/cloud-drive-* ; do - a= patchelf --set-rpath '$ORIGIN/../lib' $i -done -fi - -# TODO: some dependency leak? -# ignore embedded libs -filter_from_requires libQt5 - - diff --git a/repack.d/teamspeak3.sh b/repack.d/teamspeak3.sh index cb360402..926ec29c 100755 --- a/repack.d/teamspeak3.sh +++ b/repack.d/teamspeak3.sh @@ -5,11 +5,6 @@ SPEC="$2" . $(dirname $0)/common.sh -subst "s|^Group:.*|Group: Video|" $SPEC -#subst "s|^License: unknown$|License: GPLv2|" $SPEC -subst "s|^URL:.*|URL: http://www.teamspeak.com|" $SPEC -subst "s|^Summary:.*|Summary: TeamSpeak is software for quality voice communication via the Internet|" $SPEC - add_bin_link_command $PRODUCT $PRODUCTDIR/ts3client_runscript.sh #add_bin_link_command $PRODUCT $PRODUCTDIR/ts3client_linux_amd64 diff --git a/repack.d/teamspeak5.sh b/repack.d/teamspeak5.sh index c575a392..622b14b9 100755 --- a/repack.d/teamspeak5.sh +++ b/repack.d/teamspeak5.sh @@ -8,20 +8,13 @@ PRODUCTDIR=/opt/$PRODUCTCUR . $(dirname $0)/common.sh -subst "s|^Group:.*|Group: Video|" $SPEC -#subst "s|^License: unknown$|License: GPLv2|" $SPEC -subst "s|^URL:.*|URL: http://www.teamspeak.com|" $SPEC -subst "s|^Summary:.*|Summary: TeamSpeak is software for quality voice communication via the Internet|" $SPEC - add_bin_link_command $PRODUCTCUR $PRODUCTDIR/TeamSpeak add_bin_link_command $PRODUCT $PRODUCTCUR add_electron_deps fix_chrome_sandbox -# 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] Encoding=UTF-8 Name=TeamSpeak 5 @@ -35,6 +28,5 @@ Type=Application Categories=Network;Application StartupWMClass=TeamSpeak 5 EOF -pack_file /usr/share/applications/$PRODUCT.desktop install_file .$PRODUCTDIR/logo-128.png /usr/share/pixmaps/$PRODUCT.png diff --git a/repack.d/ungoogled-chromium.sh b/repack.d/ungoogled-chromium.sh index 26f645cf..d982cf94 100755 --- a/repack.d/ungoogled-chromium.sh +++ b/repack.d/ungoogled-chromium.sh @@ -8,13 +8,6 @@ PRODUCT=ungoogled-chromium . $(dirname $0)/common-chromium-browser.sh -# move package to /opt -ROOTDIR=$(basename $(find $BUILDROOT -mindepth 1 -maxdepth 1 -type d)) -subst "s|^License: unknown$|License: BSD-3-Clause license|" $SPEC -subst "s|^Summary:.*|Summary: Google Chromium, sans integration with Google|" $SPEC - -move_to_opt /$ROOTDIR - add_bin_link_command $PRODUCT $PRODUCTDIR/chrome-wrapper use_system_xdg @@ -24,10 +17,7 @@ install_file $PRODUCTDIR/product_logo_48.png /usr/share/pixmaps/$PRODUCT.png #fix duplication .desktop file subst "s|chromium-devel|ungoogled-chromium|" $BUILDROOT/opt/$PRODUCT/chrome-wrapper - -# 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 @@ -43,12 +33,9 @@ GenericName=Ungoogle Chromium Web Browser GenericName[ru]=Веб-браузер Ungoogled Chromium EOF -pack_file /usr/share/applications/$PRODUCT.desktop - set_alt_alternatives 65 [ -f .$PRODUCTDIR/chrome_sandbox ] && move_file $PRODUCTDIR/chrome_sandbox $PRODUCTDIR/chrome-sandbox fix_chrome_sandbox add_chromium_deps - diff --git a/repack.d/unigine-heaven.sh b/repack.d/unigine-heaven.sh index d49a1e13..5f554d91 100755 --- a/repack.d/unigine-heaven.sh +++ b/repack.d/unigine-heaven.sh @@ -9,11 +9,6 @@ PRODUCTDIR=/opt/unigine-heaven . $(dirname $0)/common.sh -subst "s|^Group:.*|Group: Graphics|" $SPEC -subst "s|^License: unknown$|License: Proprietary|" $SPEC -subst "s|^URL:.*|URL: https://benchmark.unigine.com/heaven|" $SPEC -subst "s|^Summary:.*|Summary: Unigine Heaven (Unigine Benchmark)|" $SPEC - mkdir -p $BUILDROOT$PRODUCTDIR/ for i in bin data documentation ; do mv $BUILDROOT/$i $BUILDROOT$PRODUCTDIR/$i @@ -51,9 +46,7 @@ pack_file /usr/bin/heaven install_file $PRODUCTDIR/data/launcher/icon.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=Unigine Heaven 2009 @@ -63,6 +56,4 @@ Exec=heaven Terminal=false EOF -pack_file /usr/share/applications/$PRODUCT.desktop - add_libs_requires diff --git a/repack.d/unigine-superposition.sh b/repack.d/unigine-superposition.sh index cfefeb65..2ea3bfa5 100755 --- a/repack.d/unigine-superposition.sh +++ b/repack.d/unigine-superposition.sh @@ -9,11 +9,6 @@ PRODUCTDIR=/opt/unigine-superposition . $(dirname $0)/common.sh -subst "s|^Group:.*|Group: Graphics|" $SPEC -subst "s|^License: unknown$|License: Proprietary|" $SPEC -subst "s|^URL:.*|URL: https://benchmark.unigine.com/superposition|" $SPEC -subst "s|^Summary:.*|Summary: Unigine Superposition (Unigine Benchmark)|" $SPEC - # move subdirs mkdir -p $BUILDROOT$PRODUCTDIR/ for i in bin data docs ; do @@ -57,9 +52,7 @@ remove_file $PRODUCTDIR/bin/qt/lib/libQt5QuickTest.so.5 add_bin_exec_command superposition $PRODUCTDIR/bin/launcher add_bin_link_command $PRODUCT /usr/bin/superposition -# 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 @@ -71,6 +64,4 @@ Terminal=false Categories=Launcher;Benchmark; EOF -pack_file /usr/share/applications/$PRODUCT.desktop - add_libs_requires diff --git a/repack.d/unigine-valley.sh b/repack.d/unigine-valley.sh index 579d8fe1..4fd1786f 100755 --- a/repack.d/unigine-valley.sh +++ b/repack.d/unigine-valley.sh @@ -9,11 +9,6 @@ PRODUCTDIR=/opt/unigine-valley . $(dirname $0)/common.sh -subst "s|^Group:.*|Group: Graphics|" $SPEC -subst "s|^License: unknown$|License: Proprietary|" $SPEC -subst "s|^URL:.*|URL: https://benchmark.unigine.com/valley|" $SPEC -subst "s|^Summary:.*|Summary: Unigine Valley (Unigine Benchmark)|" $SPEC - mkdir -p $BUILDROOT$PRODUCTDIR/ for i in bin data documentation ; do mv $BUILDROOT/$i $BUILDROOT$PRODUCTDIR/$i @@ -31,16 +26,6 @@ done pack_dir $PRODUCTDIR pack_dir $PRODUCTDIR/bin - -add_bin_link_command $PRODUCT /usr/bin/valley - -#epm assure patchelf || exit - -#for i in *_x64 lib*_x64.so* ; do -# a= patchelf --set-rpath '$ORIGIN' $i -#done - - mkdir -p $BUILDROOT/usr/bin cat <<EOF >$BUILDROOT/usr/bin/valley #!/bin/sh @@ -51,11 +36,11 @@ EOF chmod a+x $BUILDROOT/usr/bin/valley pack_file /usr/bin/valley +add_bin_link_command $PRODUCT /usr/bin/valley + install_file $PRODUCTDIR/data/launcher/icon.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=Unigine Valley 2013 @@ -65,6 +50,4 @@ Exec=valley Terminal=false EOF -pack_file /usr/share/applications/$PRODUCT.desktop - add_libs_requires diff --git a/repack.d/virtualhere.sh b/repack.d/virtualhere.sh index d404a815..4eb49312 100755 --- a/repack.d/virtualhere.sh +++ b/repack.d/virtualhere.sh @@ -8,13 +8,7 @@ BINFILE=vhusbd . $(dirname $0)/common.sh -subst "s|^Group:.*|Group: Networking/Remote access|" $SPEC -#subst "s|^License: unknown$|License: GPLv2|" $SPEC -subst "s|^URL:.*|URL: https://virtualhere.com/usb_server_software|" $SPEC -subst "s|^Summary:.*|Summary: Generic VirtualHere USB Server|" $SPEC - -mkdir -p $BUILDROOT/etc/systemd/system/ -cat << EOF > $BUILDROOT/etc/systemd/system/$PRODUCT.service +cat << EOF | create_file /etc/systemd/system/$PRODUCT.service [Unit] Description=VirtualHere Server After=network.target @@ -28,6 +22,4 @@ EOF mkdir -p $BUILDROOT/etc/$PRODUCT/ pack_dir /etc/$PRODUCT -pack_file /etc/systemd/system/$PRODUCT.service - add_libs_requires diff --git a/repack.d/vivaldi-snapshot.sh b/repack.d/vivaldi-snapshot.sh index 1466d999..f7aa9077 100755 --- a/repack.d/vivaldi-snapshot.sh +++ b/repack.d/vivaldi-snapshot.sh @@ -9,7 +9,7 @@ PRODUCTDIR=/opt/$PRODUCTCUR . $(dirname $0)/common-chromium-browser.sh -subst '1iConflicts:vivaldi-stable' $SPEC +add_conflicts vivaldi-stable set_alt_alternatives 65 diff --git a/repack.d/vivaldi-stable.sh b/repack.d/vivaldi-stable.sh index 46299158..a446cfed 100755 --- a/repack.d/vivaldi-stable.sh +++ b/repack.d/vivaldi-stable.sh @@ -9,7 +9,7 @@ PRODUCTDIR=/opt/vivaldi . $(dirname $0)/common-chromium-browser.sh -subst '1iConflicts:vivaldi-snapshot' $SPEC +add_conflicts vivaldi-snapshot set_alt_alternatives 65 diff --git a/repack.d/vk-calls.sh b/repack.d/vk-calls.sh index 4c3a9669..2977f53c 100755 --- a/repack.d/vk-calls.sh +++ b/repack.d/vk-calls.sh @@ -33,13 +33,3 @@ pack_file /etc/tmpfiles.d/$PRODUCT.conf add_libs_requires -# autoreq is disabled: don't patch elf due requires -exit - - -if epm assure patchelf ; then -for i in .$PRODUCTDIR/lib* .$PRODUCTDIR/$PRODUCT ; do - a= patchelf --set-rpath '$ORIGIN' $i -done -fi - diff --git a/repack.d/vk.sh b/repack.d/vk.sh index bf9e40e8..4a6c4a01 100755 --- a/repack.d/vk.sh +++ b/repack.d/vk.sh @@ -17,5 +17,5 @@ add_electron_deps remove_dir /etc -rm -f $BUILDROOT/usr/bin/vk +rm -f usr/bin/vk add_bin_link_command diff --git a/repack.d/vkteams.sh b/repack.d/vkteams.sh index 38263ff3..db3bf1a4 100755 --- a/repack.d/vkteams.sh +++ b/repack.d/vkteams.sh @@ -7,11 +7,6 @@ PRODUCT=vkteams . $(dirname $0)/common.sh -subst "s|^Group:.*|Group: Networking/Instant messaging|" $SPEC -#subst "s|^License: unknown$|License: GPLv2|" $SPEC -subst "s|^URL:.*|URL: https://teams.vk.com/|" $SPEC -subst "s|^Summary:.*|Summary: VK Teams|" $SPEC - add_bin_exec_command $PRODUCT # Hack against https://bugzilla.altlinux.org/43779 # Create non writeable local .desktop file @@ -22,9 +17,7 @@ LDT=~/.local/share/applications/vkteamsdesktop.desktop 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 @@ -38,40 +31,9 @@ MimeType=x-scheme-handler/vkteams;x-scheme-handler/myteam-messenger; Keywords=vkteams; EOF -pack_file /usr/share/applications/$PRODUCT.desktop - ICONURL=https://is1-ssl.mzstatic.com/image/thumb/Purple122/v4/a8/36/64/a83664d6-9401-a8a4-c845-89e0c3ab0c89/icons-bundle.png/246x0w.png install_file $ICONURL /usr/share/pixmaps/$PRODUCT.png subst "s|.*$PRODUCTDIR/unittests.*||" $SPEC add_libs_requires -# autoreq is disabled: don't patch elf due requires -exit - -cd $BUILDROOT$PRODUCTDIR - -if epm assure patchelf ; then - -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 - -# FIXME: check the full list -filter_from_requires libQt5 libxcb "libX.*" - -set_autoreq 'yes' diff --git a/repack.d/weasis.sh b/repack.d/weasis.sh index 90dcbdac..f75fa066 100755 --- a/repack.d/weasis.sh +++ b/repack.d/weasis.sh @@ -26,16 +26,3 @@ fix_desktop_file "/opt/weasis/lib/Weasis" fix_desktop_file "/opt/weasis/lib/Dicomizer" add_libs_requires -# autoreq is disabled: don't patch elf due requires -exit - -cd $BUILDROOT$PRODUCTDIR/ || fatal -if epm assure patchelf ; then - for i in lib/runtime/lib/lib*.so ; do - a= patchelf --set-rpath '$ORIGIN:$ORIGIN/server' $i - done -fi - -#add_findreq_skiplist "$PRODUCTDIR/runtime/lib/amd64/libav*.so" - -set_autoreq 'yes' diff --git a/repack.d/webdavmailrucloud.sh b/repack.d/webdavmailrucloud.sh index 6944e893..1ac70ab9 100755 --- a/repack.d/webdavmailrucloud.sh +++ b/repack.d/webdavmailrucloud.sh @@ -7,16 +7,10 @@ PRODUCTDIR=/opt/WebDAVCloudMailRu . $(dirname $0)/common.sh -subst "s|^License: unknown$|License: MIT|" $SPEC -subst "s|^Url:.*|Url: https://github.com/yar229/WebDavMailRuCloud|" $SPEC -subst "s|^Summary:.*|Summary: WebDAV emulator for Cloud.mail.ru / Yandex.Disk|" $SPEC - -mkdir -p usr/bin +add_bin_exec_command wdmrc $PRODUCTDIR/wdmrc.dll cat <<EOF >usr/bin/wdmrc #!/bin/sh dotnet $PRODUCTDIR/wdmrc.dll "\$@" EOF -chmod a+x usr/bin/wdmrc -pack_file /usr/bin/wdmrc add_requires dotnet-6.0 diff --git a/repack.d/wing-personal10.sh b/repack.d/wing-personal10.sh index 8132d83e..1720ea2b 100755 --- a/repack.d/wing-personal10.sh +++ b/repack.d/wing-personal10.sh @@ -16,10 +16,9 @@ add_bin_link_command $PRODUCT $PRODUCTDIR/$PRODUCTCUR add_libs_requires - for size in 16 32 48 64 128 do - install_file $PRODUCTDIR/resources/wing$size.png //usr/share/icons/hicolor/${size}x${size}/apps/$PRODUCT.png + install_file $PRODUCTDIR/resources/wing$size.png /usr/share/icons/hicolor/${size}x${size}/apps/$PRODUCT.png done install_file $PRODUCTDIR/resources/linux/desktop/wing-personal10.desktop /usr/share/applications/$PRODUCT.desktop diff --git a/repack.d/yandex-browser-beta.sh b/repack.d/yandex-browser-beta.sh index 28b3461e..5dc6121c 100755 --- a/repack.d/yandex-browser-beta.sh +++ b/repack.d/yandex-browser-beta.sh @@ -10,10 +10,8 @@ PRODUCTDIR=/opt/yandex/browser-beta . $(dirname $0)/common-chromium-browser.sh -subst '1iConflicts: yandex-browser-stable' $SPEC -subst '1iConflicts: yandex-browser-corporate' $SPEC -subst "s|^\(Version:.*\)|\1\nProvides: yandex-browser = %version|" $SPEC - +add_conflicts yandex-browser-stable yandex-browser-corporate +add_provides "yandex-browser = %version" add_findreq_skiplist $PRODUCTDIR/update-ffmpeg diff --git a/repack.d/yandex-browser-corporate.sh b/repack.d/yandex-browser-corporate.sh index f8909ddc..5d6b73cc 100755 --- a/repack.d/yandex-browser-corporate.sh +++ b/repack.d/yandex-browser-corporate.sh @@ -10,9 +10,8 @@ PRODUCTDIR=/opt/yandex/browser . $(dirname $0)/common-chromium-browser.sh -subst '1iConflicts: yandex-browser-stable' $SPEC -subst '1iConflicts: yandex-browser-beta' $SPEC -subst "s|^\(Version:.*\)|\1\nProvides: yandex-browser = %version|" $SPEC +add_conflicts yandex-browser-stable yandex-browser-beta +add_provides "yandex-browser = %version" add_findreq_skiplist $PRODUCTDIR/update-ffmpeg diff --git a/repack.d/yandex-browser-stable.sh b/repack.d/yandex-browser-stable.sh index 4c59f8c4..23f9860e 100755 --- a/repack.d/yandex-browser-stable.sh +++ b/repack.d/yandex-browser-stable.sh @@ -10,9 +10,8 @@ PRODUCTDIR=/opt/yandex/browser . $(dirname $0)/common-chromium-browser.sh -subst '1iConflicts: yandex-browser-beta' $SPEC -subst '1iConflicts: yandex-browser-corporate' $SPEC -subst "s|^\(Version:.*\)|\1\nProvides: yandex-browser = %version|" $SPEC +add_conflicts yandex-browser-beta yandex-browser-corporate +add_provides "yandex-browser = %version" add_findreq_skiplist $PRODUCTDIR/update-ffmpeg diff --git a/repack.d/yaradio-yamusic.sh b/repack.d/yaradio-yamusic.sh index a04f086a..a51ac13c 100755 --- a/repack.d/yaradio-yamusic.sh +++ b/repack.d/yaradio-yamusic.sh @@ -9,7 +9,6 @@ PRODUCTDIR=/opt/YaMusic.app . $(dirname $0)/common-chromium-browser.sh add_bin_link_command -#add_bin_link_command $PRODUCTCUR $PRODUCT add_electron_deps @@ -18,6 +17,6 @@ fix_chrome_sandbox fix_desktop_file if [ -f usr/share/icons/hicolor/0x0/apps/yaradio-yamusic.png ] ; then - install_file /usr/share/icons/hicolor/0x0/apps/yaradio-yamusic.png /usr/share/icons/hicolor/256x256/apps/yaradio-yamusic.png + install_file usr/share/icons/hicolor/0x0/apps/yaradio-yamusic.png /usr/share/icons/hicolor/256x256/apps/yaradio-yamusic.png remove_dir /usr/share/icons/hicolor/0x0/ fi diff --git a/repack.d/zoom.sh b/repack.d/zoom.sh index 7a40f1b7..3ca46f09 100755 --- a/repack.d/zoom.sh +++ b/repack.d/zoom.sh @@ -3,16 +3,8 @@ BUILDROOT="$1" SPEC="$2" -PRODUCT=zoom -PRODUCTDIR=/opt/zoom - . $(dirname $0)/common-chromium-browser.sh -# TODO: remove it after fix https://bugzilla.altlinux.org/42189 -# fix broken symlink -rm -fv $BUILDROOT/usr/bin/zoom -add_bin_link_command $PRODUCT $PRODUCTDIR/ZoomLauncher - fix_chrome_sandbox $PRODUCTDIR/cef/chrome-sandbox fix_desktop_file /usr/bin/zoom @@ -21,70 +13,3 @@ fix_desktop_file /usr/bin/zoom remove_file /opt/zoom/Qt/qml/Qt/labs/lottieqt/liblottieqtplugin.so add_libs_requires -# autoreq is disabled: don't patch elf due requires -exit - -subst '1i%filter_from_requires /^mesa-dri-drivers(x86-32)/d' $SPEC - -# ignore embedded libs requires -for i in libQt5 libav libswresample libfdkaac libmpg123 libquazip libturbojpeg libicu libOpenCL ; do - subst "1i%filter_from_requires /^$i.*/d" $SPEC -done - -if epm assure patchelf ; then - -for i in $BUILDROOT/opt/zoom/lib*.so.* $BUILDROOT/opt/zoom/lib*.so ; do - a= patchelf --set-rpath '$ORIGIN:$ORIGIN/Qt/lib' $i || continue -done - -for i in $BUILDROOT/opt/zoom/Qt/lib/*.so.* ; do - a= patchelf --set-rpath '$ORIGIN:$ORIGIN/../../' $i || continue -done - -for i in $BUILDROOT/opt/zoom/Qt/plugins/*/lib*.so ; do - a= patchelf --set-rpath '$ORIGIN/../../lib' $i || continue -done - -for i in $BUILDROOT/opt/zoom/Qt/qml/QtQuick/*/lib*.so.* $BUILDROOT/opt/zoom/Qt/qml/QtQuick/XmlListModel/lib* $BUILDROOT/opt/zoom/Qt/qml/QtQml/RemoteObjects/lib*.so ; do - a= patchelf --set-rpath '$ORIGIN/../../../lib' $i || continue -done - -for i in $BUILDROOT/opt/zoom/Qt/qml/Qt/labs/*/lib*.so ; do - a= patchelf --set-rpath '$ORIGIN/../../../../lib' $i -done - -#for i in $BUILDROOT/opt/zoom/cef/libcef.so ; do -# a= patchelf --set-rpath '$ORIGIN/../' $i || continue -#done - -for i in $BUILDROOT/opt/zoom/{zoom,zopen} ; do - a= patchelf --set-rpath '$ORIGIN:$ORIGIN/Qt/lib:$ORIGIN/cef' $i -done - -fi - -# missed Qt deps -remove_file /opt/zoom/Qt/qml/QtQuick/XmlListModel/libqmlxmllistmodelplugin.so -remove_file /opt/zoom/Qt/qml/QtQuick/Scene2D/libqtquickscene2dplugin.so -remove_file /opt/zoom/Qt/qml/QtQuick/Scene3D/libqtquickscene3dplugin.so - -echo "Fix for library libQt5Multimedia.so.5 not found" -remove_file /opt/zoom/Qt/plugins/audio/libqtaudio_alsa.so -remove_file /opt/zoom/Qt/plugins/audio/libqtmedia_pulse.so - -# library libQt5RemoteObjects.so.5 not found -remove_file /opt/zoom/Qt/qml/QtQml/RemoteObjects/libqtqmlremoteobjects.so -# library libQt5Sql.so.5 not found -remove_file /opt/zoom/Qt/qml/QtQuick/LocalStorage/libqmllocalstorageplugin.so -# library libQt5QuickParticles.so.5 not found -remove_file /opt/zoom/Qt/qml/QtQuick/Particles.2/libparticlesplugin.so - - -echo "Fix for /opt/zoom/Qt/qml/Qt/labs/lottieqt/liblottieqtplugin.so: library libQt5Bodymovin.so.5 not found" -# qt5-qtlottie -remove_file /opt/zoom/Qt/qml/Qt/labs/lottieqt/liblottieqtplugin.so - -# library libQt5EglFSDeviceIntegration.so.5 not found -remove_file /opt/zoom/Qt/plugins/platforms/libqeglfs.so -remove_dir /opt/zoom/Qt/plugins/egldeviceintegrations - -- 2.24.1