Re: fedpkg / koji error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/06/2012 02:00 PM, Tom Callaway wrote:

> Okay, so here are two patches:
> 
> fedpkg-1.10-use-nil-to-unset-distunset.patch (this one uses %nil instead
> of 0 in my previous fix)
> fedpkg-1.10-unset-runtime-disttag.patch (this patch detects the runtime
> environment and unsets the version specific tag (e.g. %{fc17} or
> %{el6}), except in the case where the runtime env matches the build
> target exactly)
> 
> Jesse, please review and apply these upstream and make a new update.

Fixed comments. Other patch
(fedpkg-1.10-use-nil-to-unset-distunset.patch) is fine as is.

~tom

==
Fedora Project
diff -up fedpkg-1.10/src/pyrpkg/fedpkg/__init__.py.unset-runtime-disttag fedpkg-1.10/src/pyrpkg/fedpkg/__init__.py
--- fedpkg-1.10/src/pyrpkg/fedpkg/__init__.py.unset-runtime-disttag	2012-11-06 13:46:22.767693545 -0500
+++ fedpkg-1.10/src/pyrpkg/fedpkg/__init__.py	2012-11-06 13:54:08.767907308 -0500
@@ -17,6 +17,7 @@ import git
 import re
 import pycurl
 import fedora_cert
+import platform
 
 # This check (decorator) can go away after a few months
 def _check_newstyle_branches(func):
@@ -153,6 +154,9 @@ class Commands(pyrpkg.Commands):
     def load_rpmdefines(self):
         """Populate rpmdefines based on branch data"""
 
+        # Determine runtime environment
+        self._runtime_disttag = self._determine_runtime_env()
+
         # We only match the top level branch name exactly.
         # Anything else is too dangerous and --dist should be used
         # This regex works until after Fedora 99.
@@ -199,6 +203,11 @@ class Commands(pyrpkg.Commands):
                             "--define '%s %s'" % (self._distvar, self._distval),
                             "--define '%s %%{nil}'" % self._distunset,
                             "--define '%s 1'" % self.dist]
+        if self._runtime_disttag:
+            if self.dist != self._runtime_disttag:
+                # This means that the runtime is known, and is different from the target,
+                # so we need to unset the _runtime_disttag 
+                self._rpmdefines.append("--define '%s %%{nil}'" % self._runtime_disttag)
 
     def load_target(self):
         """This creates the target attribute based on branch merge"""
@@ -313,6 +322,33 @@ class Commands(pyrpkg.Commands):
             desttag = rawhidetarget['dest_tag_name']
             return desttag.replace('f', '')
 
+    def _determine_runtime_env(self):
+        """Need to know what the runtime env is, so we can unset anything conflicting"""
+        try:
+           mydist = platform.linux_distribution()
+        except:
+           # This is marked as eventually being deprecated.
+           try:
+              mydist = platform.dist()
+           except:
+              runtime_os = 'unknown'
+              runtime_version = '0'
+
+        if mydist:
+           runtime_os = mydist[0]
+           runtime_version = mydist[1]
+        else:
+           runtime_os = 'unknown'
+           runtime_version = '0'
+
+        if runtime_os == 'redhat' or runtime_os == 'centos':
+            return 'el%s' % runtime_version
+        if runtime_os == 'Fedora':
+            return 'fc%s' % runtime_version
+
+        # fall through, return None
+        return None
+
     def new_ticket(self, passwd, desc, build=None):
         """Open a new ticket on Rel-Eng trac instance.
 
-- 
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux