]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm-5.4.10-support-ignore-arch-and-os-again.patch
- add fixes and useful features from Mandriva
[packages/rpm.git] / rpm-5.4.10-support-ignore-arch-and-os-again.patch
diff --git a/rpm-5.4.10-support-ignore-arch-and-os-again.patch b/rpm-5.4.10-support-ignore-arch-and-os-again.patch
new file mode 100644 (file)
index 0000000..0708d04
--- /dev/null
@@ -0,0 +1,45 @@
+--- rpm-5.4.10/lib/depends.c.ignore_arch~      2012-07-27 21:11:47.463139875 +0200
++++ rpm-5.4.10/lib/depends.c   2012-07-27 21:29:21.811958701 +0200
+@@ -587,11 +587,24 @@ int rpmtsAddInstallElement(rpmts ts, Hea
+     if (nplatpat > 1) {
+       const char * platform = NULL;
+-      he->tag = RPMTAG_PLATFORM;
+-      xx = headerGet(h, he, 0);
+-      platform = he->p.str;
+-      if (!xx || platform == NULL)
+-          platform = rpmExpand(arch, "-unknown-", os, NULL);
++      /* 
++       * If ignore arch, we just set the arch in package platform string to
++       * same as on system so that we're sure that it'll match, same goes for
++       * os as well.
++       */
++      if (rpmExpandNumeric("%{__ignore_arch}") || rpmExpandNumeric("%{__ignore_os}")) {
++          platform = rpmExpand(
++                  rpmExpandNumeric("%{__ignore_arch}") ? "%{_target_cpu}" : arch,
++                  "-unknown-",
++                  rpmExpandNumeric("%{__ignore_os}") ? "%{_target_os}" : os,
++                  NULL);
++      } else {
++          he->tag = RPMTAG_PLATFORM;
++          xx = headerGet(h, he, 0);
++          platform = he->p.str;
++          if (!xx || platform == NULL)
++              platform = rpmExpand(arch, "-unknown-", os, NULL);
++      }
+       rc = rpmPlatformScore(platform, platpat, nplatpat);
+ #if defined(RPM_VENDOR_MANDRIVA)
+--- rpm-5.4.10/rpmpopt.in.ignore_arch~ 2012-07-27 21:29:07.687135285 +0200
++++ rpm-5.4.10/rpmpopt.in      2012-07-27 21:29:35.399788829 +0200
+@@ -431,6 +431,10 @@ rpm       alias --without         --define "_without_
+ rpm   alias --arch --qf '%-34{=NAME}\t%{ARCH}\n' \
+       --POPTdesc=$"list package architecture"
++
++rpm   alias --ignorearch --define '__ignore_arch 1'
++rpm   alias --ignoreos --define '__ignore_os 1'
++
+ #==============================================================================
+ rpmbuild      alias --dbpath          --define '_dbpath !#:+' \
+       --POPTdesc=$"use database in DIRECTORY" \
This page took 0.094027 seconds and 4 git commands to generate.