mirror of
https://github.com/termux-pacman/termux-packages.git
synced 2026-01-01 08:30:12 +00:00
fix(main/termux-keyring): fix force rebuild which failed due to creating the key symlink at path which already existed from previous build as ln -f flag was not passed
This all removes any keys left over from previous versions that do not exist in newer version. ``` ./build-package.sh termux-keyring ./build-package.sh -f termux-keyring ln: failed to create symbolic link '/data/data/com.termux/files/usr/etc/apt/trusted.gpg.d/2096779623.gpg': File exists ```
This commit is contained in:
@@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="GPG public keys for the official Termux repositories"
|
||||
TERMUX_PKG_LICENSE="Apache-2.0"
|
||||
TERMUX_PKG_MAINTAINER="@termux"
|
||||
TERMUX_PKG_VERSION=3.12
|
||||
TERMUX_PKG_REVISION=1
|
||||
TERMUX_PKG_AUTO_UPDATE=false
|
||||
TERMUX_PKG_SKIP_SRC_EXTRACT=true
|
||||
TERMUX_PKG_PLATFORM_INDEPENDENT=true
|
||||
@@ -11,33 +12,39 @@ TERMUX_PKG_ESSENTIAL=true
|
||||
termux_step_make_install() {
|
||||
local GPG_SHARE_DIR="$TERMUX_PREFIX/share/termux-keyring"
|
||||
|
||||
mkdir -p $GPG_SHARE_DIR
|
||||
# Delete all existing termux-keyring keys
|
||||
rm -rf "$GPG_SHARE_DIR"
|
||||
mkdir -p "$GPG_SHARE_DIR"
|
||||
|
||||
# Maintainer-specific keys.
|
||||
install -Dm600 $TERMUX_PKG_BUILDER_DIR/agnostic-apollo.gpg $GPG_SHARE_DIR
|
||||
install -Dm600 $TERMUX_PKG_BUILDER_DIR/grimler.gpg $GPG_SHARE_DIR
|
||||
install -Dm600 $TERMUX_PKG_BUILDER_DIR/kcubeterm.gpg $GPG_SHARE_DIR
|
||||
install -Dm600 $TERMUX_PKG_BUILDER_DIR/landfillbaby.gpg $GPG_SHARE_DIR
|
||||
install -Dm600 $TERMUX_PKG_BUILDER_DIR/mradityaalok.gpg $GPG_SHARE_DIR
|
||||
install -Dm600 $TERMUX_PKG_BUILDER_DIR/2096779623.gpg $GPG_SHARE_DIR
|
||||
install -Dm600 "$TERMUX_PKG_BUILDER_DIR/agnostic-apollo.gpg" "$GPG_SHARE_DIR"
|
||||
install -Dm600 "$TERMUX_PKG_BUILDER_DIR/grimler.gpg" "$GPG_SHARE_DIR"
|
||||
install -Dm600 "$TERMUX_PKG_BUILDER_DIR/kcubeterm.gpg" "$GPG_SHARE_DIR"
|
||||
install -Dm600 "$TERMUX_PKG_BUILDER_DIR/landfillbaby.gpg" "$GPG_SHARE_DIR"
|
||||
install -Dm600 "$TERMUX_PKG_BUILDER_DIR/mradityaalok.gpg" "$GPG_SHARE_DIR"
|
||||
install -Dm600 "$TERMUX_PKG_BUILDER_DIR/2096779623.gpg" "$GPG_SHARE_DIR"
|
||||
|
||||
# Key for automatic builds (via CI).
|
||||
install -Dm600 $TERMUX_PKG_BUILDER_DIR/termux-autobuilds.gpg $GPG_SHARE_DIR
|
||||
install -Dm600 "$TERMUX_PKG_BUILDER_DIR/termux-autobuilds.gpg" "$GPG_SHARE_DIR"
|
||||
|
||||
# Key for pacman package manager.
|
||||
install -Dm600 $TERMUX_PKG_BUILDER_DIR/termux-pacman.gpg $GPG_SHARE_DIR
|
||||
install -Dm600 "$TERMUX_PKG_BUILDER_DIR/termux-pacman.gpg" "$GPG_SHARE_DIR"
|
||||
|
||||
# Create symlinks under all GPG_DIRs to key files under GPG_SHARE_DIR
|
||||
for GPG_DIR in "$TERMUX_PREFIX/etc/apt/trusted.gpg.d" "$TERMUX_PREFIX/share/pacman/keyrings"; do
|
||||
mkdir -p $GPG_DIR
|
||||
for GPG_FILE in $GPG_SHARE_DIR/*.gpg; do
|
||||
mkdir -p "$GPG_DIR"
|
||||
# Delete keys which have been removed in newer version and their symlink target does not exist
|
||||
find "$GPG_DIR" -xtype l -printf 'Deleting removed key: %p\n' -delete
|
||||
for GPG_FILE in "$GPG_SHARE_DIR"/*.gpg; do
|
||||
if [[ "$GPG_DIR" == *"/apt/"* && "$GPG_FILE" == *"termux-pacman.gpg"* ]]; then
|
||||
continue
|
||||
fi
|
||||
ln -s "$GPG_FILE" "$GPG_DIR/$(basename $GPG_FILE)"
|
||||
# Create or overwrite key symlink
|
||||
ln -sf "$GPG_FILE" "$GPG_DIR/$(basename "$GPG_FILE")"
|
||||
done
|
||||
# Creation of trusted files
|
||||
if [[ "$GPG_DIR" == *"/pacman/"* ]]; then
|
||||
echo "998DE27318E867EA976BA877389CEED64573DFCA:4:" > $GPG_DIR/termux-pacman-trusted
|
||||
echo "998DE27318E867EA976BA877389CEED64573DFCA:4:" > "$GPG_DIR/termux-pacman-trusted"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user