From ec1d5ba1baf839649be198acbe5acf9f6be55db9 Mon Sep 17 00:00:00 2001 From: Will Woods Date: Nov 14 2013 03:13:11 +0000 Subject: make symlinks for RPM-GPG-KEY-fedora-$nextver-$arch --- diff --git a/archmap b/archmap new file mode 100644 index 0000000..5fb89d0 --- /dev/null +++ b/archmap @@ -0,0 +1,8 @@ +fedora-19-primary: i386 x86_64 +fedora-19-secondary: arm armhfp aarch64 ppc ppc64 s390 s390x + +fedora-20-primary: i386 x86_64 armhfp +fedora-20-secondary: aarch64 ppc ppc64 s390 s390x + +fedora-21-primary: i386 x86_64 armhfp +fedora-21-secondary: aarch64 ppc ppc64 s390 s390x diff --git a/fedora-release.spec b/fedora-release.spec index ec3954e..aeff8d6 100644 --- a/fedora-release.spec +++ b/fedora-release.spec @@ -10,6 +10,7 @@ License: GPLv2 Group: System Environment/Base URL: http://fedoraproject.org Source: %{name}-%{version}.tar.bz2 +Source1: archmap Obsoletes: redhat-release Provides: redhat-release Provides: system-release = %{version}-%{release} @@ -61,22 +62,26 @@ REDHAT_SUPPORT_PRODUCT="Fedora" REDHAT_SUPPORT_PRODUCT_VERSION=%{bug_version} EOF +# Install the keys install -d -m 755 $RPM_BUILD_ROOT/etc/pki/rpm-gpg - install -m 644 RPM-GPG-KEY* $RPM_BUILD_ROOT/etc/pki/rpm-gpg/ -# Install all the keys, link the primary keys to primary arch files -# and to compat generic location +# Link the primary/secondary keys to arch files, according to archmap. +# Ex: if there's a key named RPM-GPG-KEY-fedora-19-primary, and archmap +# says "fedora-19-primary: i386 x86_64", +# RPM-GPG-KEY-fedora-19-{i386,x86_64} will be symlinked to that key. pushd $RPM_BUILD_ROOT/etc/pki/rpm-gpg/ -for arch in i386 x86_64 armhfp - do - ln -s RPM-GPG-KEY-fedora-%{dist_version}-primary RPM-GPG-KEY-fedora-%{dist_version}-$arch +for keyfile in RPM-GPG-KEY*; do + key=${keyfile#RPM-GPG-KEY-} # e.g. 'fedora-20-primary' + arches=$(sed -ne "s/^${key}://p" %{SOURCE1}) \ + || echo "WARNING: no archmap entry for $key" + for arch in $arches; do + # replace last part with $arch (fedora-20-primary -> fedora-20-$arch) + ln -s $keyfile ${keyfile%%-*}-$arch # NOTE: RPM replaces %% with % + done done +# and add symlink for compat generic location ln -s RPM-GPG-KEY-fedora-%{dist_version}-primary RPM-GPG-KEY-%{dist_version}-fedora -for arch in aarch64 ppc ppc64 s390 s390x - do - ln -s RPM-GPG-KEY-fedora-%{dist_version}-secondary RPM-GPG-KEY-fedora-%{dist_version}-$arch -done popd install -d -m 755 $RPM_BUILD_ROOT/etc/yum.repos.d