LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File rpmkey-openSUSE-Build-Service.spec of Package rpmkey-openSUSE-Build_Service (Project home:adrianSuSE)

%define pubkeyname openSUSE-Build-Service
%define version 1.0
%define release 1

Summary: The %{pubkeyname} rpm public key
Name: rpmkey-%{pubkeyname}
Version: %{version}
Release: %{release}
License: GPL
Group: System/Packages
Source: %{pubkeyname}.asc
BuildArch: noarch
BuildRoot: %{_tmppath}/buildroot-%{name}
Distribution: SuSE

The %{pubkeyname} rpm public key. If you trust the %{pubkeyname} component
and you want to automatically import this key to the RPM database,
then install this RPM.

Please note that this key does only guarantee that the package got build within 
the Build Service at opensuse.org. It does NOT guarantee any trust about the
content of the packages, since everybody can build packages at that place.

All what is guaranteed is that the source from the src.rpm does match to the
binary rpm and that all source versions are hosted at opensuse.org.

%setup -q -c -T a1


mkdir -p %{buildroot}%{_prefix}/lib/rpm/gnupg
cp -a %{SOURCE0} %{buildroot}%{_prefix}/lib/rpm/gnupg

old_key=`cat %{_prefix}/lib/rpm/gnupg/%{pubkeyname}.asc | grep RPMDB_NAME | cut -d'=' -f2 | cut -d'\ ' -f2`
if [ -f %{_prefix}/lib/rpm/gnupg/%{pubkeyname}.asc ]; then 
	echo "removing old-key for %pubkeyname (%old_key) from database"
	# make backup if necessary
	if [ -e /root/.rpmmacros ]; then
		tmp=$(mktemp -d)
		cp /root/.rpmmacros $tmp/rpmmacros.bak

	# avoid rpm error: "waiting for exclusive lock on /var/lib/rpm/Packages"
	echo "%%_dbi_config_Packages %%{nil}" >> /root/.rpmmacros
	rpm -e --allmatches %{old_key} 2> /dev/null

	# cleanup
	if [ -e $tmp/rpmmacros.bak ]; then
		# restore backup
		mv $tmp/rpmmacros.bak /root/.rpmmacros
		rm -rf $tmp
		rm -f /root/.rpmmacros

%defattr(-, root, root)