Bug 1312290 - Force package extension when building AUR packages on Arch Linux. draft
authorLeo Schwarz <evotopid@gmail.com>
Tue, 25 Oct 2016 10:28:59 +0200
changeset 429062 25ea582e9521860301e3789350397b7a2bfc5be0
parent 428736 c845bfd0accb7e0c29b41713255963b08006e701
child 429403 a51f611b27710aba4a4b971ec344a2ad01842a5f
child 429412 61e78443c8b7afaf2a203c855750b97f31aa9fe0
child 534904 c6f26b84f4281c263600d9875c05a83817937251
push id33490
push userbmo:evotopid@gmail.com
push dateTue, 25 Oct 2016 08:29:40 +0000
bugs1312290
milestone52.0a1
Bug 1312290 - Force package extension when building AUR packages on Arch Linux. Previously if an Arch Linux user had a different package extension configured in `/etc/makepkg.conf` building AUR packages during bootstrap would fail. Forcing the extension by providing it as an environment variable makes sure building doesn't fail regarding of a user's configuration. MozReview-Commit-ID: 4aryYS0XVr7
python/mozboot/mozboot/archlinux.py
--- a/python/mozboot/mozboot/archlinux.py
+++ b/python/mozboot/mozboot/archlinux.py
@@ -163,18 +163,18 @@ class ArchlinuxBootstrapper(BaseBootstra
 
         self.run_as_root(command)
 
     def pacman_update(self):
         command = ['pacman', '-S', '--refresh']
 
         self.run_as_root(command)
 
-    def run(self, command):
-        subprocess.check_call(command, stdin=sys.stdin)
+    def run(self, command, env=None):
+        subprocess.check_call(command, stdin=sys.stdin, env=env)
 
     def download(self, uri):
         command = ['curl', '-L', '-O', uri]
         self.run(command)
 
     def unpack(self, path, name, ext):
         if ext == 'gz':
             compression = '-z'
@@ -184,18 +184,20 @@ class ArchlinuxBootstrapper(BaseBootstra
             compression == 'x'
 
         name = os.path.join(path, name) + '.tar.' + ext
         command = ['tar', '-x', compression, '-f', name, '-C', path]
         self.run(command)
 
     def makepkg(self, name):
         command = ['makepkg', '-s']
-        self.run(command)
-        pack = glob.glob(name + '*.tar.xz')[0]
+        makepkg_env = os.environ.copy()
+        makepkg_env['PKGEXT'] = '.pkg.tar.xz'
+        self.run(command, env=makepkg_env)
+        pack = glob.glob(name + '*.pkg.tar.xz')[0]
         command = ['pacman', '-U']
         if self.no_interactive:
             command.append('--noconfirm')
         command.append(pack)
         self.run_as_root(command)
 
     def aur_install(self, *packages):
         path = tempfile.mkdtemp()