Package: rpm
Version: 4.14.2.1+dfsg1-1
Tags: patch

Dear RPM packaging team


Please apply the following patch to fix a dependency issue with libzstd-dev and
a set of backported patches from the upcoming (yet unreleased) 4.15.0 release to
make rpm compatible with newer DNF versions (required for my other work).

These patches merely introduce support for new three new tags and should be very
safe to apply.


When applying the debdiff, please remove the NMU entry, which is only there to
make lintian (more or less) happy!


Best regards,



Mihai Moldovan
diffstat for rpm-4.14.2.1+dfsg1 rpm-4.14.2.1+dfsg1

 changelog                                                                      
             |   19 ++
 control                                                                        
             |    1 
 
patches/900000_add-stub-RPMTAG_AUTOINSTALLED-b3fcaba3816aa00f3360efe728dafa72e394f65b.patch
 |   25 ++
 
patches/900100_add-stub-RPMTAG_IDENTITY-85160c1a1b523dcee2ee67fc3a468a9d20d91f8c.patch
      |   27 +++
 
patches/900200_add-RPMTAG_MODULARITYLABEL-8390fa8515f499994646cf3bd113423744dc7bd9.patch
    |   87 ++++++++++
 patches/series                                                                 
             |    3 
 7 files changed, 163 insertions(+)

diff -Nru rpm-4.14.2.1+dfsg1/debian/changelog 
rpm-4.14.2.1+dfsg1/debian/changelog
--- rpm-4.14.2.1+dfsg1/debian/changelog 2019-02-17 09:19:38.000000000 +0100
+++ rpm-4.14.2.1+dfsg1/debian/changelog 2019-09-08 12:44:21.000000000 +0200
@@ -1,3 +1,22 @@
+rpm (4.14.2.1+dfsg1-2) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * debian/control:
+    + Let librpm-dev also depend upon libzstd-dev, would be useless without
+      it.
+  * debian/patches:
+    + Add 900000_add-stub-RPMTAG_AUTOINSTALLED-
+          b3fcaba3816aa00f3360efe728dafa72e394f65b.patch for an unimplemented/
+      reserved new tag.
+    + Add 900100_add-stub-RPMTAG_IDENTITY-
+          85160c1a1b523dcee2ee67fc3a468a9d20d91f8c.patch for an unimplemented/
+      reserved new tag.
+    + Add 900200_add-RPMTAG_MODULARITYLABEL-
+          8390fa8515f499994646cf3bd113423744dc7bd9.patch for the new
+      modularitylabel RPM tag, needed by newer (lib)dnf versions.
+
+ -- Mihai Moldovan <io...@ionic.de>  Sun, 08 Sep 2019 12:44:21 +0200
+
 rpm (4.14.2.1+dfsg1-1) unstable; urgency=medium
 
   * New upstream release.
diff -Nru rpm-4.14.2.1+dfsg1/debian/control rpm-4.14.2.1+dfsg1/debian/control
--- rpm-4.14.2.1+dfsg1/debian/control   2019-02-17 09:19:07.000000000 +0100
+++ rpm-4.14.2.1+dfsg1/debian/control   2019-09-08 12:44:21.000000000 +0200
@@ -176,6 +176,7 @@
          zlib1g-dev,
          libxml2-dev,
          libreadline-dev,
+         libzstd-dev,
          libselinux1-dev [linux-any],
          libsqlite3-dev,
          ${misc:Depends}
diff -Nru 
rpm-4.14.2.1+dfsg1/debian/patches/900000_add-stub-RPMTAG_AUTOINSTALLED-b3fcaba3816aa00f3360efe728dafa72e394f65b.patch
 
rpm-4.14.2.1+dfsg1/debian/patches/900000_add-stub-RPMTAG_AUTOINSTALLED-b3fcaba3816aa00f3360efe728dafa72e394f65b.patch
--- 
rpm-4.14.2.1+dfsg1/debian/patches/900000_add-stub-RPMTAG_AUTOINSTALLED-b3fcaba3816aa00f3360efe728dafa72e394f65b.patch
       1970-01-01 01:00:00.000000000 +0100
+++ 
rpm-4.14.2.1+dfsg1/debian/patches/900000_add-stub-RPMTAG_AUTOINSTALLED-b3fcaba3816aa00f3360efe728dafa72e394f65b.patch
       2019-08-25 13:59:35.000000000 +0200
@@ -0,0 +1,25 @@
+commit b3fcaba3816aa00f3360efe728dafa72e394f65b
+Author: Vladimir D. Seleznev <vsele...@altlinux.org>
+Date:   Tue Mar 13 00:04:45 2018 +0300
+
+    Add RPMTAG_AUTOINSTALLED reservation
+    
+    This tag is needed to track automatically installed packages with rpmdb.
+    Zero value means that a package was installed manually, other values
+    mean that the package was installed automatically as some else package
+    dependency.
+    
+    This tag is reserved for ALT Linux Team and marked as unimplemented.
+    
+    Signed-off-by: Vladimir D. Seleznev <vsele...@altlinux.org>
+
+--- a/lib/rpmtag.h
++++ b/lib/rpmtag.h
+@@ -368,6 +368,7 @@ typedef enum rpmTag_e {
+     RPMTAG_FILESIGNATURELENGTH  = 5091, /* i */
+     RPMTAG_PAYLOADDIGEST      = 5092, /* s[] */
+     RPMTAG_PAYLOADDIGESTALGO  = 5093, /* i */
++    RPMTAG_AUTOINSTALLED      = 5094, /* i reservation (unimplemented) */
+ 
+     RPMTAG_FIRSTFREE_TAG      /*!< internal */
+ } rpmTag;
diff -Nru 
rpm-4.14.2.1+dfsg1/debian/patches/900100_add-stub-RPMTAG_IDENTITY-85160c1a1b523dcee2ee67fc3a468a9d20d91f8c.patch
 
rpm-4.14.2.1+dfsg1/debian/patches/900100_add-stub-RPMTAG_IDENTITY-85160c1a1b523dcee2ee67fc3a468a9d20d91f8c.patch
--- 
rpm-4.14.2.1+dfsg1/debian/patches/900100_add-stub-RPMTAG_IDENTITY-85160c1a1b523dcee2ee67fc3a468a9d20d91f8c.patch
    1970-01-01 01:00:00.000000000 +0100
+++ 
rpm-4.14.2.1+dfsg1/debian/patches/900100_add-stub-RPMTAG_IDENTITY-85160c1a1b523dcee2ee67fc3a468a9d20d91f8c.patch
    2019-08-25 14:01:38.000000000 +0200
@@ -0,0 +1,27 @@
+commit 85160c1a1b523dcee2ee67fc3a468a9d20d91f8c
+Author: Vladimir D. Seleznev <vsele...@altlinux.org>
+Date:   Tue Mar 13 00:04:46 2018 +0300
+
+    Add RPMTAG_IDENTITY reservation
+    
+    This tag represents binary package build characteristic: if two binary
+    packages have equal RPMTAG_IDENTITY values, it means that these packages
+    have no significant differences.
+    
+    One of the applications of RPMTAG_IDENTITY is reproducible build
+    verification.
+    
+    This tag is reserved for ALT Linux Team and marked as unimplemented.
+    
+    Signed-off-by: Vladimir D. Seleznev <vsele...@altlinux.org>
+
+--- a/lib/rpmtag.h
++++ b/lib/rpmtag.h
+@@ -369,6 +369,7 @@ typedef enum rpmTag_e {
+     RPMTAG_PAYLOADDIGEST      = 5092, /* s[] */
+     RPMTAG_PAYLOADDIGESTALGO  = 5093, /* i */
+     RPMTAG_AUTOINSTALLED      = 5094, /* i reservation (unimplemented) */
++    RPMTAG_IDENTITY           = 5095, /* s reservation (unimplemented) */
+ 
+     RPMTAG_FIRSTFREE_TAG      /*!< internal */
+ } rpmTag;
diff -Nru 
rpm-4.14.2.1+dfsg1/debian/patches/900200_add-RPMTAG_MODULARITYLABEL-8390fa8515f499994646cf3bd113423744dc7bd9.patch
 
rpm-4.14.2.1+dfsg1/debian/patches/900200_add-RPMTAG_MODULARITYLABEL-8390fa8515f499994646cf3bd113423744dc7bd9.patch
--- 
rpm-4.14.2.1+dfsg1/debian/patches/900200_add-RPMTAG_MODULARITYLABEL-8390fa8515f499994646cf3bd113423744dc7bd9.patch
  1970-01-01 01:00:00.000000000 +0100
+++ 
rpm-4.14.2.1+dfsg1/debian/patches/900200_add-RPMTAG_MODULARITYLABEL-8390fa8515f499994646cf3bd113423744dc7bd9.patch
  2019-08-25 14:04:21.000000000 +0200
@@ -0,0 +1,87 @@
+commit 8390fa8515f499994646cf3bd113423744dc7bd9
+Author: Florian Festi <ffe...@redhat.com>
+Date:   Fri Nov 30 11:02:52 2018 +0100
+
+    Add RPMTAG_MODULARITYLABEL to distinguish packages build for modularity
+    
+    Tag can be set with a ModularityLabel: statement in the spec file preamble 
or
+    via the modularitylabel macro
+
+--- a/build/parsePreamble.c
++++ b/build/parsePreamble.c
+@@ -45,6 +45,7 @@ static const rpmTagVal copyTagsDuringPar
+     RPMTAG_DISTTAG,
+     RPMTAG_BUGURL,
+     RPMTAG_GROUP,
++    RPMTAG_MODULARITYLABEL,
+     0
+ };
+ 
+@@ -523,6 +524,7 @@ static struct optionalTag {
+     { RPMTAG_DISTURL,         "%{disturl}" },
+     { RPMTAG_DISTTAG,         "%{disttag}" },
+     { RPMTAG_BUGURL,          "%{bugurl}" },
++    { RPMTAG_MODULARITYLABEL, "%{modularitylabel}"},
+     { -1, NULL }
+ };
+ 
+@@ -776,6 +778,7 @@ static rpmRC handlePreambleTag(rpmSpec s
+     case RPMTAG_URL:
+     case RPMTAG_DISTTAG:
+     case RPMTAG_BUGURL:
++    case RPMTAG_MODULARITYLABEL:
+     /* XXX TODO: validate format somehow */
+     case RPMTAG_VCS:
+       SINGLE_TOKEN_ONLY;
+@@ -1015,6 +1018,7 @@ static struct PreambleRec_s const preamb
+     {RPMTAG_BUGURL,           0, 0, LEN_AND_STR("bugurl")},
+     {RPMTAG_ORDERNAME,                2, 0, LEN_AND_STR("orderwithrequires")},
+     {RPMTAG_REMOVEPATHPOSTFIXES,0, 0, LEN_AND_STR("removepathpostfixes")},
++    {RPMTAG_MODULARITYLABEL,  0, 0, LEN_AND_STR("modularitylabel")},
+     {0, 0, 0, 0}
+ };
+ 
+--- a/build/parseSpec.c
++++ b/build/parseSpec.c
+@@ -517,6 +517,7 @@ static const rpmTagVal sourceTags[] = {
+     RPMTAG_BUGURL,
+     RPMTAG_HEADERI18NTABLE,
+     RPMTAG_VCS,
++    RPMTAG_MODULARITYLABEL,
+     0
+ };
+ 
+--- a/lib/rpmtag.h
++++ b/lib/rpmtag.h
+@@ -370,6 +370,7 @@ typedef enum rpmTag_e {
+     RPMTAG_PAYLOADDIGESTALGO  = 5093, /* i */
+     RPMTAG_AUTOINSTALLED      = 5094, /* i reservation (unimplemented) */
+     RPMTAG_IDENTITY           = 5095, /* s reservation (unimplemented) */
++    RPMTAG_MODULARITYLABEL    = 5096, /* s */
+ 
+     RPMTAG_FIRSTFREE_TAG      /*!< internal */
+ } rpmTag;
+--- a/macros.in
++++ b/macros.in
+@@ -364,6 +364,11 @@ package or when debugging this package.\
+ %_javadir      %{_datadir}/java
+ %_javadocdir   %{_datadir}/javadoc
+ 
++
++#     Set ModularityLabel: for packages being build
++#
++#%modularitylabel
++
+ #     A colon separated list of paths where files should *not* be installed.
+ #     Usually, these are network file system mount points.
+ #
+--- a/tests/rpmgeneral.at
++++ b/tests/rpmgeneral.at
+@@ -150,6 +150,7 @@ LONGARCHIVESIZE
+ LONGFILESIZES
+ LONGSIGSIZE
+ LONGSIZE
++MODULARITYLABEL
+ N
+ NAME
+ NEVR
diff -Nru rpm-4.14.2.1+dfsg1/debian/patches/series 
rpm-4.14.2.1+dfsg1/debian/patches/series
--- rpm-4.14.2.1+dfsg1/debian/patches/series    2018-01-23 13:25:15.000000000 
+0100
+++ rpm-4.14.2.1+dfsg1/debian/patches/series    2019-08-25 14:05:09.000000000 
+0200
@@ -9,3 +9,6 @@
 autogen-cleanup.patch
 lua-libname.patch
 rpm-4.10.90-rpmlib-filesystem-check.patch
+900000_add-stub-RPMTAG_AUTOINSTALLED-b3fcaba3816aa00f3360efe728dafa72e394f65b.patch
+900100_add-stub-RPMTAG_IDENTITY-85160c1a1b523dcee2ee67fc3a468a9d20d91f8c.patch
+900200_add-RPMTAG_MODULARITYLABEL-8390fa8515f499994646cf3bd113423744dc7bd9.patch

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to