#365 Check nvr before build
Merged 4 years ago by onosek. Opened 4 years ago by onosek.
onosek/fedpkg nvr_check  into  master

file modified
+4 -2
@@ -144,7 +144,7 @@ 

          elif re.match(r'epel\d+-playground$', self.branch_merge):

              self._distval = re.search(r'\d+', self.branch_merge).group(0)

              self._distvar = 'rhel'

-             self._disttag = 'el%s_playground' % self._distval

+             self._disttag = 'epel%s.playground' % self._distval

              self.mockconfig = 'epel-%s-%s' % (self._distval, self.localarch)

              self.override = 'epel%s-override' % self._distval

              self._distunset = 'fedora'
@@ -176,7 +176,9 @@ 

                              "--define '%s %s'" % (self._distvar,

                                                    self._distval),

                              "--eval '%%undefine %s'" % self._distunset,

-                             "--define '%s 1'" % self._disttag]

+                             "--define '%s 1'" % self._disttag.replace(".", "_")]

+         # TODO: consider removing macro "%s 1; it has unknown/dubious functionality"

+ 

          if self._runtime_disttag:

              if self._disttag != self._runtime_disttag:

                  # This means that the runtime is known, and is different from

file modified
+3
@@ -1157,6 +1157,9 @@ 

          for release in releases:

              self.cmd.branch_merge = release

              self.cmd.target = self.cmd.build_target(release)

+             # self.rel has to be regenerated by self.load_nameverrel, because it differs

+             # for every release. It is used in nvr-already-built check (self.nvr) later.

+             self.cmd.load_nameverrel()

              task_id = super(fedpkgClient, self)._build(sets)

              task_ids.append(task_id)

          return task_ids

file modified
+2 -2
@@ -189,7 +189,7 @@ 

              "--define 'dist %%{?distprefix}.%s'" % self.cmd._disttag,

              "--define '%s %s'" % (self.cmd._distvar, self.cmd._distval),

              "--eval '%%undefine %s'" % self.cmd._distunset,

-             "--define '%s 1'" % self.cmd._disttag,

+             "--define '%s 1'" % self.cmd._disttag.replace(".", "_"),

              "--eval '%%undefine %s'" % self.cmd._runtime_disttag

          ]

          self.assertEqual(expected_rpmdefines, self.cmd._rpmdefines)
@@ -253,7 +253,7 @@ 

  

          self.assertEqual('8', self.cmd._distval)

          self.assertEqual('rhel', self.cmd._distvar)

-         self.assertEqual('el8_playground', self.cmd._disttag)

+         self.assertEqual('epel8.playground', self.cmd._disttag)

          self.assertEqual('epel-8-i686', self.cmd.mockconfig)

          self.assertEqual('epel8-override', self.cmd.override)

          self.assertTrue(hasattr(self.cmd, '_distunset'))

When building for 'epel8', it is also triggered 'epel8-playground' build. nvr have to be checked whether the build is already built. There was the check, but it queried different nvr. Now build will be terminated when there is the same nvr present in Koji.

Additionally, PR changes dist tag for branch epel8-playground to be the same like in Koji.

Pull-Request has been merged by onosek

4 years ago