File PackageHub-release.spec of Package 000release-packages

#
# spec file for package PackageHub-release
#
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#

%define         product PackageHub

Name:           PackageHub-release
Version:        16.0
Release:        0
Summary:        SUSE Package Hub 16.0
License:        BSD-3-Clause
Group:          System/Fhs
Source1:        gpg-pubkey-287a0027-682477e3.asc
Source2:        install-rpm-key.sh

Provides:       %name-%version
Provides:       product() = PackageHub
Provides:       product(PackageHub) = 16.0-0
Provides:       product-register-target() = sle%%2D16%%2D%{_target_cpu}
Provides:       product-label() = SUSE%%2DPackageHub%%2D16
Provides:       product-cpeid() = cpe%%3A%%2Fo%%3Asuse%%3Apackagehub%%3A16.0
Provides:       product-url(bugtracker) = https%%3A%%2F%%2Fbugzilla.opensuse.org%%2F
Provides:       product-updates-repoid() = obsrepository%%3A%%2F%%2Fbuild.suse.de%%2FSUSE%%3ABackports%%3ASLE%%2D16.0_%{_target_cpu}%%2Fstandard
Provides:       product-updates-repoid() = obsrepository%%3A%%2F%%2Fbuild.suse.de%%2FSUSE%%3ABackports%%3ASLE%%2D16.0_%{_target_cpu}%%2Fstandard_debug
Provides:       product-endoflife()

BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
SUSE Package Hub is a free-of-charge module providing access to
community-maintained packages built to run on SUSE Linux Enterprise
Server. Built from the same sources used in openSUSE distributions,
these quality packages provide additional software to what is found
in the SUSE Linux Enterprise Server product. The packages in this
module are delivered without L3 support but do not interfere with
the supportability of SUSE Linux Enterprise Server.


%prep
%setup -qcT

## Create openSUSE:Backports project pubkey
cat << EOF > %{SOURCE1}
-----BEGIN PGP PUBLIC KEY BLOCK-----

mQINBGgkd+MBEADj3FRif7LGWekuuPsJQ2JLm3cCA8OksKH74lkS9X2BWdbxlO3c
eaugb9czM87VzYYcY96s6daBYV6xIR9555S2IGOxZ0Hr72a7toQ5E6pZW4t818k7
j2tRnCtEYu55RUv0QW34S58D5KX/AXcnpYDqgvdxnZXr6+lZubnifX6dY47hznhe
fDYapN8K3dcWlmu9ps53lUJPeON27X82Okx4gFTunxVVtU0kwHYNuxqEM2CcKH4s
ogZ6RVj+0zad7euI+g37itUQZJFx2UucPFPNweROGG4KLQKKCEnqdS8Od5OVRTW/
BVPz+hUN/rlBoOCwYSPZXymCoiHAB8dQZ6a6ln/jEBvn6kqqAH+0gAnsQBpAySp3
FMRAW+9Oiij61+w12GusY/L8ZpCGNc1xNC4iZrOUqGmG1TXoo0kpUX1POKXBT1et
bTLAj4iUKQ2CO2xLCfZh79NoZxlen2WCK9YyzdU3ZnV9LOGW2I7vMuz3cmKWjvrQ
k6+HRxkrOxklbeq5Mb+cBOQ4E+Z/9SSwRJxwsDUo66pZpR2MtSt+s5KpOYRc3nqX
5IB3I7JbX8RTDu7gK+TAXxhOv1XvS7ny/eFaR0/RtaiL3BygJFRvzILVydCWoB1G
kOVjvyY+WAnyn9k5KjymCTgFMmjBBkX1PDzLp9YGgfIXPsaYzp6BBP5nJwARAQAB
tEtvcGVuU1VTRSBCYWNrcG9ydHMgZm9yIFNVU0UgTGludXggMTYgPHNsZS1iYWNr
cG9ydHMtMjAyNTAwNTE0QG9wZW5zdXNlLm9yZz6JAlQEEwEIAD4WIQS/P5pn06L/
mKc/XgdIjFg9KHoAJwUCaCR34wIbAwUJFJlwAAULCQgHAgYVCgkICwIEFgIDAQIe
AQIXgAAKCRBIjFg9KHoAJ4t8EAC0QsAye5VKZJ6T1T1EMGL9Yos+OJpMQHMk40mi
1OrQxBMNMs8coHbpzZTGGfy7C/tu1uaX2EWS38J+Ur0eBqRGlnQjlglsTT22BqlI
hAS0P3BkFTsGiZHpw+YI3uZXL9zXwqwkWBhjxJLZF1x/ZkCZmi6UUTG0Yw+eW1uV
jYUQ2zAFnv84zoQUTW9N1KjrNXRiWwhhp+ZxtGl9VsLyTX1+jqGwIRGoomBdu/50
m+b7mmTFOlCHVIsnK8uaxpCLZ+p2W7bbil08WzCq2cj9OD+/MTXC6vK9PSkZr0DR
/WBRt8PdzVbmZtoUekacm260ZSE15qxpuwTKFLuyxQYW3AozzXo6TIkEls7+wdsf
D3nzn4L2mVbCh0TAtgRlC1v8Y5oYKsMtVpy5tlXYFYzJmGcNFM9fK8Ak/gjPgHsE
edcyeIW+1mhtAWKbTO2x/JDQG8MplqLkCZN6NDeBGMVuK/PVaGwXSpXOOx2T+hlJ
L46RtR9DGXWlSIdDJuNa/MAGGYl5+R+wLu7sNyiGnHAaAXmVkNkk2LcPwOM+3mfu
DYfiFvlMlR/cqTyltUPrItp5XO3wkylx0Mrqndy4TEnOy+PAkZJahPaCbVx9lw4Z
LN0z/fcYme6Fqffr9Hi/XbO+dff4EEGBimQi6T5GY9kxeBj1v2zwxw2GZmaUiZae
yrGAlQ==
=888g
-----END PGP PUBLIC KEY BLOCK-----

EOF

## Create update-script
cat << EOF > %{SOURCE2}
SHA256SUM=5604c296fdb82478d27af8dfa3a3feee38f121f32f6a577260b8a13ef0f76a6e
KEY=/usr/lib/rpm/gnupg/keys/gpg-pubkey-287a0027-682477e3.asc
echo "\$SHA256SUM  \$KEY" | sha256sum -c
if [ "\$?" -eq 0 ]
then
  echo "Importing Package Hub community key..."
  rpm --import \$KEY
else
  echo "\$KEY is invalid (that is unexpected!)"
  echo "Skipping Package Hub community key import."
  echo "Community repository remains disabled."
fi
EOF

%build

%install
mkdir -p %{buildroot}%{_sysconfdir}/products.d
cat >%{buildroot}%{_sysconfdir}/products.d/PackageHub.prod << EOF
<?xml version="1.0" encoding="UTF-8"?>
<product schemeversion="0">
  <vendor>SUSE</vendor>
  <name>PackageHub</name>
  <version>16.0</version>
  <baseversion>16</baseversion>
  <release>0</release>
  <endoflife>2027-11-30</endoflife>
  <arch>%{_target_cpu}</arch>
  <cpeid>cpe:/o:suse:packagehub:16.0</cpeid>
  <register>
    <target>sle-16-%{_target_cpu}</target>
    <flavor>module</flavor>
  </register>
  <repositories>
    <repository type="pool" repoid="obsproduct://build.suse.de/SUSE:SLFO:Products:SLES:16.0/PackageHub/16" />
    <repository type="pool" repoid="obsproduct://build.opensuse.org/openSUSE:Backports:SLE-16.0/Backports/16" />
  </repositories>
  <summary>SUSE Package Hub 16</summary>
  <shortsummary>SUSE-PackageHub-16</shortsummary>
  <description>SUSE Package Hub is a free-of-charge module providing access to
community-maintained packages built to run on SUSE Linux Enterprise
Server. Built from the same sources used in openSUSE distributions,
these quality packages provide additional software to what is found
in the SUSE Linux Enterprise Server product. The packages in this
module are delivered without L3 support but do not interfere with
the supportability of SUSE Linux Enterprise Server.</description>
  <urls>
    <url name="bugtracker">https://bugzilla.opensuse.org/</url>
  </urls>
  <installconfig>
    <releasepackage name="%{name}" flag="EQ" version="%{version}" release="%{release}"/>
  </installconfig>
</product>

EOF



mkdir -p $RPM_BUILD_ROOT/usr/lib/rpm/gnupg/keys
mkdir -p $RPM_BUILD_ROOT/var/adm/update-scripts

## Install openSUSE:Backports pubkey and update script
install -m 755 %{SOURCE1} $RPM_BUILD_ROOT/usr/lib/rpm/gnupg/keys
install -m 755 %{SOURCE2} $RPM_BUILD_ROOT/var/adm/update-scripts/%{name}-%{version}-%{release}-install-rpm-key.sh

%postun
## Remove openSUSE:Backports pubkey
if [ "$1" -eq 0 ]
then
  echo "Removing Package Hub community keys..."
  rpm --erase --quiet gpg-pubkey-287a0027 < /dev/zero > /dev/null 2>&1 &
fi
exit 0

%clean
rm -rf %buildroot

%files
%defattr(644,root,root,755)
%dir /etc/products.d
%dir /usr/lib/rpm/gnupg
%dir /usr/lib/rpm/gnupg/keys
/etc/products.d/*.prod
/usr/lib/rpm/gnupg/keys/gpg-pubkey-287a0027-682477e3.asc
/var/adm/update-scripts/%{name}-%{version}-%{release}-install-rpm-key.sh

#%changelog
openSUSE Build Service is sponsored by