summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO15
-rw-r--r--PKGBUILD33
-rw-r--r--firefox-developer-edition-firefox-symlink.hook12
-rw-r--r--firefox-developer-edition-firefox-symlink.install18
-rw-r--r--firefox-developer-edition-firefox-symlinks-create.bash14
-rw-r--r--firefox-developer-edition-firefox-symlinks-delete.bash15
6 files changed, 98 insertions, 9 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 088aaf878963..2ccc8b143143 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,16 +1,23 @@
pkgbase = firefox-developer-edition-firefox-symlink-latest
- pkgdesc = Adds a 'firefox'-symlink for 'firefox-developer-edition'. Also symlinks icon- and .desktop-files.
- pkgver = 95.0b4
+ pkgdesc = Adds a 'firefox'-symlink for 'firefox-developer-edition'. Also symlinks extensions, icon- and .desktop-files.
+ pkgver = 96.0b6
pkgrel = 1
url = https://aur.archlinux.org/packages/firefox-developer-edition-firefox-symlink-latest
+ install = firefox-developer-edition-firefox-symlink.install
arch = any
license = custom: public domain
depends = firefox-developer-edition
- provides = firefox-developer-edition-firefox-symlink=95.0b4
- provides = firefox=95.0b4
+ provides = firefox-developer-edition-firefox-symlink=96.0b6
+ provides = firefox=96.0b6
conflicts = firefox-developer-edition-firefox-symlink
conflicts = firefox
+ source = firefox-developer-edition-firefox-symlinks-create.bash
+ source = firefox-developer-edition-firefox-symlinks-delete.bash
+ source = firefox-developer-edition-firefox-symlink.hook
source = license-metapackage-pd.txt
+ sha256sums = d64c249647cf5c31757a2398e067b48009941d24395637e974aeb842d13b8b95
+ sha256sums = 2c0a6ff047c163df20d9b3248595ee19de7498d8b5a9c65df4a07260014b3538
+ sha256sums = 24ef877acd05f7e352f1841efce4e1bcd1d9163b3883f73e9cc6de918301f50e
sha256sums = 1e86f8ac1ad7315c76f4db8bf6a1dbdde6825ac95ff468e431bbe452b6865ae6
pkgname = firefox-developer-edition-firefox-symlink-latest
diff --git a/PKGBUILD b/PKGBUILD
index bc3f9c16f442..329f6e234756 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,10 +1,11 @@
# Maintainer: dreieck
+# Contributor: Claudia Pellegrino <aur ät cpellegrino.de>
_pkgname="firefox-developer-edition-firefox-symlink"
pkgname="${_pkgname}-latest"
-pkgver=95.0b4
+pkgver=96.0b6
pkgrel=1
-pkgdesc="Adds a 'firefox'-symlink for 'firefox-developer-edition'. Also symlinks icon- and .desktop-files."
+pkgdesc="Adds a 'firefox'-symlink for 'firefox-developer-edition'. Also symlinks extensions, icon- and .desktop-files."
arch=("any")
url='https://aur.archlinux.org/packages/firefox-developer-edition-firefox-symlink-latest'
license=('custom: public domain')
@@ -17,9 +18,20 @@ conflicts=(
"${_pkgname}"
"firefox"
)
+install="${_pkgname}.install"
-source=('license-metapackage-pd.txt')
-sha256sums=('1e86f8ac1ad7315c76f4db8bf6a1dbdde6825ac95ff468e431bbe452b6865ae6')
+source=(
+ 'firefox-developer-edition-firefox-symlinks-create.bash'
+ 'firefox-developer-edition-firefox-symlinks-delete.bash'
+ "${_pkgname}.hook"
+ 'license-metapackage-pd.txt'
+)
+sha256sums=(
+ 'd64c249647cf5c31757a2398e067b48009941d24395637e974aeb842d13b8b95'
+ '2c0a6ff047c163df20d9b3248595ee19de7498d8b5a9c65df4a07260014b3538'
+ '24ef877acd05f7e352f1841efce4e1bcd1d9163b3883f73e9cc6de918301f50e'
+ '1e86f8ac1ad7315c76f4db8bf6a1dbdde6825ac95ff468e431bbe452b6865ae6'
+)
pkgver() {
pacman -Qi firefox-developer-edition | grep -E '^Version[[:space:]]*:' | head -n 1 | awk -F ':' '{print $2}' | sed -E 's|-.*||' | tr -d '[[:space:]]'
@@ -46,5 +58,16 @@ package() {
fi
done
- install -D -m644 "${srcdir}/license-metapackage-pd.txt" "${pkgdir}/usr/share/licenses/${pkgname}/copying.txt"
+ install -D -m 755 -T \
+ "${srcdir}/${_pkgname}s-create.bash" \
+ "${pkgdir}/usr/share/libalpm/scripts/${_pkgname}s-create"
+ install -D -m 755 -T \
+ "${srcdir}/${_pkgname}s-delete.bash" \
+ "${pkgdir}/usr/share/libalpm/scripts/${_pkgname}s-delete"
+ install -D -m 644 -T \
+ "${srcdir}/${_pkgname}.hook" \
+ "${pkgdir}/usr/share/libalpm/hooks/${_pkgname}.hook"
+ install -D -m 644 -T \
+ "${srcdir}/license-metapackage-pd.txt" \
+ "${pkgdir}/usr/share/licenses/${pkgname}/copying.txt"
}
diff --git a/firefox-developer-edition-firefox-symlink.hook b/firefox-developer-edition-firefox-symlink.hook
new file mode 100644
index 000000000000..7e7b6269e5ac
--- /dev/null
+++ b/firefox-developer-edition-firefox-symlink.hook
@@ -0,0 +1,12 @@
+[Trigger]
+Type = Path
+Operation = Install
+Operation = Upgrade
+Operation = Remove
+Target = usr/lib/firefox/*
+
+[Action]
+Description = Updating symlinks for firefox-developer-edition...
+Exec = /bin/bash -c "cd /usr/share/libalpm/scripts && ./firefox-developer-edition-firefox-symlinks-delete && ./firefox-developer-edition-firefox-symlinks-create"
+When = PostTransaction
+Depends = firefox-developer-edition
diff --git a/firefox-developer-edition-firefox-symlink.install b/firefox-developer-edition-firefox-symlink.install
new file mode 100644
index 000000000000..297c17c58f24
--- /dev/null
+++ b/firefox-developer-edition-firefox-symlink.install
@@ -0,0 +1,18 @@
+post_install() {
+ echo >&2 'Removing symlinks for firefox-developer-edition...'
+ /usr/share/libalpm/scripts/firefox-developer-edition-firefox-symlinks-delete
+ echo >&2 'Creating symlinks for firefox-developer-edition...'
+ /usr/share/libalpm/scripts/firefox-developer-edition-firefox-symlinks-create
+}
+
+post_upgrade() {
+ echo >&2 'Removing symlinks for firefox-developer-edition...'
+ /usr/share/libalpm/scripts/firefox-developer-edition-firefox-symlinks-delete
+ echo >&2 'Creating symlinks for firefox-developer-edition...'
+ /usr/share/libalpm/scripts/firefox-developer-edition-firefox-symlinks-create
+}
+
+pre_remove() {
+ echo >&2 'Removing symlinks for firefox-developer-edition...'
+ /usr/share/libalpm/scripts/firefox-developer-edition-firefox-symlinks-delete
+}
diff --git a/firefox-developer-edition-firefox-symlinks-create.bash b/firefox-developer-edition-firefox-symlinks-create.bash
new file mode 100644
index 000000000000..927f030a0a7c
--- /dev/null
+++ b/firefox-developer-edition-firefox-symlinks-create.bash
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+if [[ ! -d /usr/lib/firefox ]]; then
+ exit 0
+fi
+
+# Walk the /usr/lib/firefox hierarchy and symlink everything
+exec find /usr/lib/firefox -type f \
+ -exec bash -c '
+ set -eu
+ link="/usr/lib/firefox-developer-edition/${1#/usr/lib/firefox/}"
+ mkdir -pv "$(dirname "${link}")"
+ ln -s -v -T "$1" "${link}"
+ ' _ '{}' ';'
diff --git a/firefox-developer-edition-firefox-symlinks-delete.bash b/firefox-developer-edition-firefox-symlinks-delete.bash
new file mode 100644
index 000000000000..0831344d5d27
--- /dev/null
+++ b/firefox-developer-edition-firefox-symlinks-delete.bash
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+if [[ ! -d /usr/lib/firefox-developer-edition ]]; then
+ exit 0
+fi
+
+# Remove all existing symlinks that point to /usr/lib/firefox
+exec find /usr/lib/firefox-developer-edition -type l \
+ -exec bash -c '
+ set -eu
+ target="$(readlink -m "$1")"
+ if [[ "${target}" == /usr/lib/firefox/* ]]; then
+ rm -v "$1"
+ fi
+ ' _ '{}' ';'