diff options
Diffstat (limited to 'linhes/linhes-dev/mp.py')
-rwxr-xr-x | linhes/linhes-dev/mp.py | 107 |
1 files changed, 36 insertions, 71 deletions
diff --git a/linhes/linhes-dev/mp.py b/linhes/linhes-dev/mp.py index 7aa9d28..7f4c317 100755 --- a/linhes/linhes-dev/mp.py +++ b/linhes/linhes-dev/mp.py @@ -1,5 +1,5 @@ #!/usr/bin/env python -# Version 3.0.1 +# Version 3.0.2 import os import sys import re @@ -173,7 +173,6 @@ class Packagefile(object): self.arch = value elif item == "depends": self.pkg_dependencies = value.split() - elif item == "makedepends": self.makepkg_dependencies = self.makepkg_dependencies + value.split() elif item == "makedepends_x86_64": @@ -371,8 +370,8 @@ class Packagefile(object): p.close() def make_package(self): - if self.arch == 'any': - self.CARCH = 'any' + #if self.arch == 'any': + # self.CARCH = 'any' #creates both binary and source package print("- Making package...") retcode = subprocess.call(["sudo", "ccm", "s"]) @@ -405,15 +404,15 @@ class Packagefile(object): # pkgname could be a list of several pkgs. Since bash array format is # loose, let bash parse the pkgname(s) first, then return a list for us. self.updateINIT() - if self.arch == 'any': - self.CARCH = 'any' + #if self.arch == 'any': + # self.CARCH = 'any' for i in self.pkglist: print(" Package name:",i) - self.GZPKG = i + "-" + self.epoch + self.pkgver + "-" + self.pkgrel + "-" + self.CARCH + ".pkg.tar.gz" - self.XZPKG = i + "-" + self.epoch + self.pkgver + "-" + self.pkgrel + "-" + self.CARCH + ".pkg.tar.xz" - self.ZSTPKG = i + "-" + self.epoch + self.pkgver + "-" + self.pkgrel + "-" + self.CARCH + ".pkg.tar.zst" + self.GZPKG = i + "-" + self.epoch + self.pkgver + "-" + self.pkgrel + "-" + self.arch + ".pkg.tar.gz" + self.XZPKG = i + "-" + self.epoch + self.pkgver + "-" + self.pkgrel + "-" + self.arch + ".pkg.tar.xz" + self.ZSTPKG = i + "-" + self.epoch + self.pkgver + "-" + self.pkgrel + "-" + self.arch + ".pkg.tar.zst" #print(self.GZPKG) #print(self.XZPKG) #print(self.ZSTPKG) @@ -429,44 +428,28 @@ class Packagefile(object): print(" ERROR in function update_database: Couldn't find the new package:",self.TOTALPKG) sys.exit(2) + # Remove old package(s) from local copy + print(" Looking for old packages") + + oldfilelist = glob.glob(self.DOCROOT + "/" + i + "-*-*-*.pkg.tar.*") + print(" Old Packages:",oldfilelist) + if oldfilelist: + for DELPKG in oldfilelist: + if "--rmold" in self.cli_list: + print(" Deleting old package:",DELPKG) + os.remove(DELPKG) + + # Copy in new package print(" Copying " + self.TOTALPKG + " to " + self.PKGDEST) if shutil.copy2(self.TOTALPKG, self.PKGDEST): os.remove(self.mydir + "/" + self.TOTALPKG) - - # Remove old package(s) from local copy - #print i + "-" + self.epoch + '(pkgver|[\d.]+)' + "-" + '(?!pkgrel)' - oldpkgcheck = re.compile( re.escape(i) + "-" + self.epoch + '(pkgver|[\d.]+)' + "-" + '(?!pkgrel)' ) - - dirlist = os.listdir(self.DOCROOT) - for n in dirlist: - if n.startswith(i): - if not oldpkgcheck.search(n): - print(n,"does not match") - continue - else: - OLDPKG = glob.glob(oldpkgcheck.search(n).group() + "*.pkg.tar.*") - print(" OLDPKG =",OLDPKG) - if OLDPKG: - for DELPKG in OLDPKG: - if "--rmold" in self.cli_list: - print("Deleting old package:",DELPKG) - os.remove(DELPKG) - #subprocess.call(["repo-remove", self.DOCROOT+ "/" + self.REPO + ".db.tar.gz", DELPKG]) - # Remove any symlinks to old packages - # We make it conditional on "--force" because force will overwrite - # an existing package and we want the symlink to stay, pointing to - # the newly built package with the same pkgrel. - if "--force" not in self.makepkg_cmd: - if os.path.islink(self.mydir + "/" + DELPKG): - os.remove(self.mydir + "/" + DELPKG) - # Copy in new package - print(" Updating " + self.DOCROOT + " with " + self.TOTALPKG) - print(" Copying " + self.PKGDEST + "/" + self.TOTALPKG) + print(" Copying " + self.TOTALPKG + " to " + self.DOCROOT) shutil.copy2(self.PKGDEST + "/" + self.TOTALPKG, self.DOCROOT) - print(" Creating symlink " + self.PKGDEST + "/" + self.TOTALPKG) + print(" Creating symlink to " + self.PKGDEST + "/" + self.TOTALPKG) if os.path.islink(self.mydir + "/" + self.TOTALPKG): os.remove(self.mydir + "/" + self.TOTALPKG) os.symlink(self.DOCROOT + "/" + self.TOTALPKG, self.mydir + "/" + self.TOTALPKG) + print(" Adding package to repo") subprocess.call(["repo-add", self.DOCROOT+ "/" + self.REPO + ".db.tar.gz", self.DOCROOT + "/" + self.TOTALPKG]) #print(" Updating pacman database") #subprocess.call(["pacman","-Syyyyy" ]) @@ -481,35 +464,17 @@ class Packagefile(object): sys.exit(2) i = self.pkglist[0] - oldpkgcheck = re.compile( re.escape(i) + "-" + self.epoch + '(pkgver|[\d.]+)' + "-" + '(?!pkgrel)' ) - dirlist = os.listdir(self.SRCPKGDEST + "/" ) - if self.pkgbase: - # Remove old src package(s) from local copy - if "--rmold" in self.cli_list: - for n in dirlist: - if n.startswith(self.pkgbase): - if not oldpkgcheck.search(n): - print(n,"does not match") - continue - else: - OLDSRCPKG = glob.glob(oldpkgcheck.search(n).group() + "*.src.tar.gz") - else: - # Remove old src package(s) from local copy - if "--rmold" in self.cli_list: - for n in dirlist: - if n.startswith(self.pkgname): - if not oldpkgcheck.search(n): - print(n,"does not match") - continue - else: - OLDSRCPKG = glob.glob(oldpkgcheck.search(n).group() + "*.src.tar.gz") - if OLDSRCPKG: - print("OLDSRCPKG =",OLDSRCPKG) - for DELSRCPKG in OLDSRCPKG: - print("Deleting old source package",DELSRCPKG) - os.remove(DELSRCPKG) - - print(" Copying new source package to",self.SRCPKGDEST + "/" + self.REPO + "/" + self.SRCPKG) + + print(" Looking for old sources") + oldfilelist = glob.glob(self.SRCPKGDEST + "/" + self.REPO + "/" + i + "-*-*.src.tar.gz") + print(" Old Sources:",oldfilelist) + if oldfilelist: + for DELPKG in oldfilelist: + if "--rmold" in self.cli_list: + print(" Deleting old source:",DELPKG) + os.remove(DELPKG) + + print(" Copying " + self.SRCPKG + " to " + self.SRCPKGDEST + "/" + self.REPO) if shutil.copy2(self.SRCPKGDEST + "/" + self.SRCPKG, self.SRCPKGDEST + "/" + self.REPO + "/"): os.remove(self.SRCPKGDEST + "/" + self.SRCPKG) @@ -528,8 +493,8 @@ class Packagefile(object): os.rmdir(self.mydir + "/src") # Remove any old -build and -package log files os.chdir(self.mydir) - build_log = self.pkgname + "-" + self.pkgver + "-" + self.pkgrel + "-" + self.CARCH + "-build.log" - pkg_log = self.pkgname + "-" + self.pkgver + "-" + self.pkgrel + "-" + self.CARCH + "-package.log" + build_log = self.pkgname + "-" + self.pkgver + "-" + self.pkgrel + "-" + self.arch + "-build.log" + pkg_log = self.pkgname + "-" + self.pkgver + "-" + self.pkgrel + "-" + self.arch + "-package.log" all_logs = glob.glob("*.log*") #print "All Logs:",all_logs saved_logs = [] |