From e68b04d9c7ef724a1dc9cb52b6763a3bde81da62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Date: Sun, 23 Feb 2020 21:04:25 +0100 Subject: [PATCH] Add rpm 4.14 backport (fc28) + rebuild packages linked with it (fc25) This set of packages will allow running rpm 4.14 in a fc25-based dom0 (R4.0), which is necessary to update to fc31-based dom0 (R4.1). QubesOS/qubes-issues#5685 --- .gitignore | 3 +++ .travis.yml | 7 +++++ Makefile | 41 ++++++++++++++++++++++++++++++ Makefile.builder | 29 +++++++++++++++++++++ keys/RPM-GPG-KEY-fedora-25-primary | 30 ++++++++++++++++++++++ keys/RPM-GPG-KEY-fedora-28-primary | 28 ++++++++++++++++++++ 6 files changed, 138 insertions(+) create mode 100644 .gitignore create mode 100644 .travis.yml create mode 100644 Makefile create mode 100644 Makefile.builder create mode 100644 keys/RPM-GPG-KEY-fedora-25-primary create mode 100644 keys/RPM-GPG-KEY-fedora-28-primary diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3685160 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +pkgs/ +*.src.rpm +rpmdb/ diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..7c9f202 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,7 @@ +sudo: required +dist: bionic +language: generic +install: git clone https://github.com/QubesOS/qubes-builder ~/qubes-builder +script: ~/qubes-builder/scripts/travis-build +env: + - DIST_DOM0=fc25 USE_QUBES_REPO_VERSION=4.1 diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..27479cf --- /dev/null +++ b/Makefile @@ -0,0 +1,41 @@ +FEDORA_MIRROR ?= http://archives.fedoraproject.org/pub/archive/fedora/linux +FC28_BASEURL = $(FEDORA_MIRROR)/updates/28/Everything/SRPMS/Packages +FC25_BASEURL = $(FEDORA_MIRROR)/releases/25/Everything/source/tree/Packages +FC25_UPDATES_BASEURL = $(FEDORA_MIRROR)/updates/25/SRPMS/Packages +KEYS = keys/RPM-GPG-KEY-fedora-28-primary keys/RPM-GPG-KEY-fedora-25-primary + +include Makefile.builder + +ALL_URLS := $(foreach pkg,$(PACKAGES_FROM_FC28), \ + $(FC28_BASEURL)/$(shell echo $(pkg)|head -c 1|tr A-Z a-z)/$(pkg)) \ + $(foreach pkg,$(PACKAGES_FROM_FC25), \ + $(if $(findstring $(pkg), $(PACKAGES_FROM_FC25_UPDATES)), \ + $(FC25_UPDATES_BASEURL), $(FC25_BASEURL))/$(shell echo $(pkg)|head -c 1|tr A-Z a-z)/$(pkg)) + +ALL_ORIG_FILES := $(notdir $(ALL_URLS)) +ALL_FILES := $(ALL_ORIG_FILES:%.fc28.src.rpm=%.fc25.src.rpm) + +ifneq ($(DISTFILES_MIRROR),) +ALL_URLS := $(addprefix $(DISTFILES_MIRROR),$(ALL_FILES)) +endif + +UNTRUSTED_SUFF = .UNTRUSTED + +rpmdb/.imported: $(KEYS) + @mkdir -p rpmdb + @rpmkeys --dbpath=$(PWD)/rpmdb --import $(KEYS) + @touch rpmdb/.imported + +$(ALL_ORIG_FILES): %.src.rpm: rpmdb/.imported + @wget --no-use-server-timestamps -q -O $@$(UNTRUSTED_SUFF) $(filter %/$@,$(ALL_URLS)) + @rpmkeys --dbpath=$(PWD)/rpmdb --checksig $@$(UNTRUSTED_SUFF) | grep 'signatures OK$$\|rsa sha1 (md5) pgp md5 OK$$' + @mv $@$(UNTRUSTED_SUFF) $@ + +%.fc25.src.rpm: %.fc28.src.rpm + mv $< $@ + +.PHONY: get-sources verify-sources +get-sources: $(ALL_FILES) + +verify-sources: + @true diff --git a/Makefile.builder b/Makefile.builder new file mode 100644 index 0000000..6973e4d --- /dev/null +++ b/Makefile.builder @@ -0,0 +1,29 @@ +PACKAGES_FROM_FC28 := \ + rpm-4.14.2.1-2.fc28.src.rpm +# rebuild with updated rpm +PACKAGES_FROM_FC25 := \ + deltarpm-3.6-17.fc25.src.rpm \ + drpm-0.3.0-3.fc25.src.rpm \ + libsolv-0.6.29-2.fc25.src.rpm \ + createrepo_c-0.10.0-6.fc25.src.rpm \ + hawkey-0.6.4-3.fc25.src.rpm \ + satyr-0.21-2.fc25.src.rpm \ + PackageKit-1.1.5-1.fc25.src.rpm \ + grub2-2.02-0.38.fc25.src.rpm + +# used by Makefile, not relevant for RPM_SRC_PACKAGES +PACKAGES_FROM_FC25_UPDATES := \ + libsolv-0.6.29-2.fc25.src.rpm \ + hawkey-0.6.4-3.fc25.src.rpm \ + PackageKit-1.1.5-1.fc25.src.rpm \ + grub2-2.02-0.38.fc25.src.rpm + +ifeq ($(DIST), fc25) + RPM_SRC_PACKAGES.dom0 := $(PACKAGES_FROM_FC28:%.fc28.src.rpm=%.$(DIST).src.rpm) \ + $(PACKAGES_FROM_FC25) +endif + +# avoid libimaevm dep on rpm, and also increase versions to force the update +MOCK_EXTRA_OPTS += --without=libimaevm --define='dist .1.fc25' + +RPM_SRC_PACKAGES := $(RPM_SRC_PACKAGES.$(PACKAGE_SET)) diff --git a/keys/RPM-GPG-KEY-fedora-25-primary b/keys/RPM-GPG-KEY-fedora-25-primary new file mode 100644 index 0000000..c558c9d --- /dev/null +++ b/keys/RPM-GPG-KEY-fedora-25-primary @@ -0,0 +1,30 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1 + +mQINBFb9YzMBEACy1RmbMa6MNIpfHYxLwgCgBVnFYCdCHZqWfYYYK14potfJ9uI2 +4Y4w+oHiLeZ/HoG1EBQiDfXHetGZECAKEYQlE7BbRBcd3An9GalKTkWzcshhHFx7 +f5JIprL0uY8x2D9HmCfAjMxoh6usWjmAQ+DUYd48iYCkahyZa0/2CgX9HIcEz/M/ +oDeQbTwzw9AQbQz382oOErfRaXE/DQrjlx2ln0iejidiOe7DzGZOH9/Foc2KN062 +A9VnZ7tU1ACKT8NxZ78RaBL3qmvMGdb7kf7GywjpRNo4J7XCQUP+nP51eCur2wMS +4mY2idDL8Ojouta79pPrviVLmwzunJoFnBcnIhbndebdxPqgOA5XAOaTdLtgurMq +90V45DPyJpkdEyptovksH7zYNGEIGB8cFmrVgUwriB0TLNJTEcM4Knbh4imfTX42 +vCE+rEHn3YVqubG7rggibKznJbflwQcqOYZHLlPGYCxO47aaFUo5qJN7QN3lxajb +SzL/SdoHrVL67unzmHyktx5uF8Fv6EDgUV6NCb/IBiEwhR8YHi86NQ8nsI3K8Zhv +EnIxghJQD+cn3ykthwqYmZwi2PJDBiZsOGf3iXbalAjU3JVqoA7mboRPR+IBXQxK +xvAEpyIGeSUN8yBn+JVDRwZ37kkUVs2AOeUwMlnfFSqYFfmqbeQ73A9ECwARAQAB +tDxGZWRvcmEgMjUgUHJpbWFyeSAoMjUpIDxmZWRvcmEtMjUtcHJpbWFyeUBmZWRv +cmFwcm9qZWN0Lm9yZz6JAjgEEwECACIFAlb9YzMCGw8GCwkIBwMCBhUIAgkKCwQW +AgMBAh4BAheAAAoJEECJ2PL9sZyY1TEP/0u/v4g8HEdl9gqlhV179vXCJJiGtzB0 +7IGAu++mrsxBrDpqPZTEs6dG5MyzvhhHcmHYrZIiicPAeL9xlZ75oIqQuvjDncoM +kROSGvtfUnvocZhQIPvvkgWe3UAmmP3cSlVzu3KtbTpM+KL71incWo4Tentq9L/f +vsow7vvGbKUMoSSZbAMfjJkzlzSDNlFtaRkrCBQFJ76EKeggjnEZ8H0cowCdGuyv +uBoxQeeQM13b2T9c/uyrXCIcasaOTIKTcqTjbJUTIC2NIZ8OHjtlxZacEaN3ml1M +lNRtbIvqzbtv+sb+DsOVTyd1XIcxU9s+TDKvUm0OBNvj3Bm2BQbi8RHyLFbHWvhx +Gjzb8Wb/MnlcdTlk3M2iPv8dWHXjEM9n9TKyStdpBD9X3P/Gy2gUquHgkl8p+r8o +xmzNH534mKH47kPL/trKInKwv0fkBwxvuPgHG0n79eMHQenVA8gXzG4P6JkcyObA +6xGEEQ/wXFF0gLksmwFWuPm2GcnOI5KmGNgDP2PMhS8/cfJfW04a/tL2T2zr4CmE +LynbOvY/yOJk7/2W3Cb47+yhqo/htrpJDP6n6zQNNk3+e8EVgfhkQqFxom8yCmEP +pW0gBFeE83VoytYPXRkavwmFR+tplyZfOkXG9gysTn8SpRp5+B44O+VeaZumanQZ +kRFmBygMR6M/ +=NrXo +-----END PGP PUBLIC KEY BLOCK----- diff --git a/keys/RPM-GPG-KEY-fedora-28-primary b/keys/RPM-GPG-KEY-fedora-28-primary new file mode 100644 index 0000000..f7a9d31 --- /dev/null +++ b/keys/RPM-GPG-KEY-fedora-28-primary @@ -0,0 +1,28 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBFmSAVYBEADakUeJgNnAP2CE3vw+iI0Um9XvuBP6NdESRiJIEPgXhKWM058J +PZDkpRETS4pbB3xUyPLoogoO76lheBEOPEAGp5mb/7vEcwlYqjtuetFi9hcsbNPx +DeOLQ9KR7Xs2idU+DlCJW1WyU9UiLoyZpQgAqF7Y50MoxPKJtfDuM52YkulYLU+M +leRtxJzHYcXArU3x3Czz1FnemVtol3/1/BvmGQPIyj2HdG4vxWbiX79AUSlchh+M +bNqOOpVVK16lLEbJCxCbPdCsKCTOI+FsdQsB4bnX5ddNcvxxACwHNUifVD/1XH8A +x77DHohRbccRtIZqZEIKecHxVyFdr2mAl9mEXSzaFvRzWa+5seCgGoV0INBhj6NE +tHhSxBYzLmr5noQ8JNPa6eRipPvYTle2vstq2YUJ8D0ZbKbxaCPstemCQZrQKzh0 +tgezIgVXKc2U0i3ZOEYf4ISMHeBnH36nRMBnaH/HkLyZyHXNE4vswJpwPjNtaofz +QDD+TmCe2ObKei8iUqfLo/8Je8IvnodS9C5l0fyEaMmo5BWc+SYRSTR9libNruwu +4j6Kuoxge9SbRuD2S0qzKK2LYRZrlkxjP8REnpvXxUfeSvNYHrbjzYDv677S6pqW +dNqyoPduKiZWy6Vg4g+pYmk5T7vrpNizGK6exKiYZ5tAUaO3lrdpHOolUwARAQAB +tCxGZWRvcmEgMjggKDI4KSA8ZmVkb3JhLTI4QGZlZG9yYXByb2plY3Qub3JnPokC +OAQTAQIAIgUCWZIBVgIbDwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQ4I5+ +Yp22L7GMDhAAwwQhpXFXxegkgi0pFbA98Om3UBiQtcDemQSls0HEJh+J9sm4g0Sj +2K7khFnJCKsQNVnJDVxvxJ9j/AFZErRMjudUF7ACZfKDtNxq3gkH7qICPKk/DzeX +blrzPc/RX+kkl9I5jFBhapypsExa2yilfk8IiKq6nd2Ro7K+gEh/CMhfe7YBGInZ +3FmZWsq1+WKTZCUNmA8++eWIbmukrAoieTHTvIcOmc+dfaUAmjWtOnc69E9UmTCw +EMEbPVMSmZv0qnp0kByWUeV5cZR7NoXmaMaTr5aUY6wJuLshbWzgmudorf1udUwq +YlpxZJtQCxlHezulrDJG19d4dC5vGdYbnpeq01s9L9yieccKafWfldBU+YBZbo9e +9Uzu/766pxEAtqYYSyZboiqsj5NCoq2fRc4DjfCDVEaK7HSPcQpQFA+p18sD2qcc +EPPo+F2+M8PZLf4khipGRH1nm9AmM/v25a/9w22bDuUUvpcWwW45YsNToTTM4d6T +s750lCw/4K3jHnrQWxL7VfwLw0H1xlxnVqIXlL3HeOIn9EoaygxV2gJtPjB/Gwr2 +z/K+HoibAxvo7VcpxD+N38LaPtrx/ERMxeYBJvMgSqGaC3MXj36/qv0zTyyTItYX +9JfbOrikoJa+aKQGmTWLrcuKaYl6Jzsq3vRTbNRRi4SpXwTwMyuW4pU= +=fo1W +-----END PGP PUBLIC KEY BLOCK-----