rpms/rpm/devel rpm-4.8.0-psdriver-fixes.patch, NONE, 1.1 rpm.spec, 1.382, 1.383

Panu Matilainen pmatilai at fedoraproject.org
Fri Feb 5 12:59:01 UTC 2010


Author: pmatilai

Update of /cvs/pkgs/rpms/rpm/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv22596

Modified Files:
	rpm.spec 
Added Files:
	rpm-4.8.0-psdriver-fixes.patch 
Log Message:
- couple of fixes to the postscript provides extractor (#538101)


rpm-4.8.0-psdriver-fixes.patch:
 macros.in                     |    2 +-
 scripts/postscriptdriver.prov |   32 +++++++++++++++++++++++++++-----
 2 files changed, 28 insertions(+), 6 deletions(-)

--- NEW FILE rpm-4.8.0-psdriver-fixes.patch ---
--- rpm-4.8.0/macros.in	2010-02-04 17:42:32.228100971 +0000
+++ rpm-4.8.0/macros.in.postscriptdriver-fixes	2010-02-04 17:43:03.867226950 +0000
@@ -504,7 +504,7 @@ print (t)\
 
 %__fontconfig_provides	%{_rpmconfigdir}/fontconfig.prov
 %__desktop_provides	%{_rpmconfigdir}/desktop-file.prov
-%__psdriver_provides	%{_rpmconfigdir}/postscriptdriver.prov
+%__psdriver_provides	%{_rpmconfigdir}/postscriptdriver.prov %{buildroot}
 
 #==============================================================================
 # ---- Database configuration macros.
--- rpm-4.8.0/scripts/postscriptdriver.prov	2010-02-04 17:25:15.672102648 +0000
+++ rpm-4.8.0/scripts/postscriptdriver.prov.postscriptdriver-fixes	2010-02-05 10:46:44.517778993 +0000
@@ -1,6 +1,6 @@ 
 #!/bin/bash
 shopt -s execfail
-exec -a "$0" python -- "$@" <(tail -n +4 -- "$0") || exit 0 # -*- python -*-
+exec -a "$0" python -- <(tail -n +4 -- "$0") "$@" || exit 0 # -*- python -*-
 
 ## Copyright (C) 2009, 2010 Red Hat, Inc.
 ## Author: Tim Waugh <twaugh at redhat.com>
@@ -23,21 +23,26 @@ import sys
 
 try:
     import cups
-    CAN_EXAMINE_PPDS=True
+    CAN_EXAMINE_PPDS = True
 except:
-    CAN_EXAMINE_PPDS=False
+    CAN_EXAMINE_PPDS = False
 
 from getopt import getopt
+import errno
 import os
 import posix
 import re
 import shlex
 import signal
-import stat
 import subprocess
 import sys
 import tempfile
 
+if len (sys.argv) > 1:
+    RPM_BUILD_ROOT = sys.argv[1]
+else:
+    RPM_BUILD_ROOT = None
+
 class TimedOut(Exception):
     def __init__ (self):
         Exception.__init__ (self, "Timed out")
@@ -139,9 +144,20 @@ class DynamicDriver(Driver):
 
     def list (self):
         signal.alarm (60)
+        env = os.environ.copy ()
+        if RPM_BUILD_ROOT:
+            buildroot = RPM_BUILD_ROOT
+            if not buildroot.endswith (os.path.sep):
+                buildroot += os.path.sep
+
+            env["DESTDIR"] = RPM_BUILD_ROOT
+            env["LD_LIBRARY_PATH"] = "%susr/lib64:%susr/lib" % (buildroot,
+                                                                buildroot)
+
         p = subprocess.Popen ([self.driver, "list"],
                               stdout=subprocess.PIPE,
-                              stderr=subprocess.PIPE)
+                              stderr=subprocess.PIPE,
+                              env=env)
         try:
             (stdout, stderr) = p.communicate ()
             signal.alarm (0)
@@ -214,6 +230,12 @@ class TagBuilder:
                     self.ids += DynamicDriver (path).list ()
                 except TimedOut:
                     pass
+                except OSError, e:
+                    if e == errno.EACCES or e == errno.ENOENT:
+                        # Not executable
+                        pass
+                    else:
+                        raise
 
         if CAN_EXAMINE_PPDS:
             for path in paths:


Index: rpm.spec
===================================================================
RCS file: /cvs/pkgs/rpms/rpm/devel/rpm.spec,v
retrieving revision 1.382
retrieving revision 1.383
diff -u -p -r1.382 -r1.383
--- rpm.spec	4 Feb 2010 13:18:28 -0000	1.382
+++ rpm.spec	5 Feb 2010 12:59:00 -0000	1.383
@@ -21,7 +21,7 @@
 Summary: The RPM package management system
 Name: rpm
 Version: %{rpmver}
-Release: 6%{?dist}
+Release: 7%{?dist}
 Group: System Environment/Base
 Url: http://www.rpm.org/
 Source0: http://rpm.org/releases/testing/%{name}-%{srcver}.tar.bz2
@@ -36,7 +36,9 @@ Patch2: rpm-4.5.90-gstreamer-provides.pa
 # this as Fedora-specific patch for now
 Patch3: rpm-4.7.90-fedora-specspo.patch
 # Postscript driver provides extraction is Fedora specific for now
+# TODO: merge these when things stabilize
 Patch4: rpm-4.8.0-psdriver.patch
+Patch5: rpm-4.8.0-psdriver-fixes.patch
 
 # Patches already in upstream
 Patch200: rpm-4.8.0-url-segfault.patch
@@ -187,6 +189,7 @@ packages on a system.
 %patch2 -p1 -b .gstreamer-prov
 %patch3 -p1 -b .fedora-specspo
 %patch4 -p1 -b .psdriver
+%patch5 -p1 -b .psdriver-fixes
 
 %patch200 -p1 -b .url-segfault
 %patch201 -p1 -b .verify-exitcode
@@ -408,6 +411,9 @@ exit 0
 %doc doc/librpm/html/*
 
 %changelog
+* Fri Feb 05 2010 Panu Matilainen <pmatilai at redhat.com> - 4.8.0-7
+- couple of fixes to the postscript provides extractor (#538101)
+
 * Thu Feb 04 2010 Panu Matilainen <pmatilai at redhat.com> - 4.8.0-6
 - extract provides for postscript printer drivers (#538101)
 



More information about the scm-commits mailing list