summaryrefslogtreecommitdiffstats
path: root/build_tools/larch8/larch0/cli/archin.cachepacks_postprocess.patch
diff options
context:
space:
mode:
Diffstat (limited to 'build_tools/larch8/larch0/cli/archin.cachepacks_postprocess.patch')
-rw-r--r--build_tools/larch8/larch0/cli/archin.cachepacks_postprocess.patch92
1 files changed, 92 insertions, 0 deletions
diff --git a/build_tools/larch8/larch0/cli/archin.cachepacks_postprocess.patch b/build_tools/larch8/larch0/cli/archin.cachepacks_postprocess.patch
new file mode 100644
index 0000000..d293abb
--- /dev/null
+++ b/build_tools/larch8/larch0/cli/archin.cachepacks_postprocess.patch
@@ -0,0 +1,92 @@
+--- archin.py.orig 2010-11-28 14:48:27.000000000 +0000
++++ archin.py 2010-12-03 01:02:35.000000000 +0000
+@@ -188,7 +188,19 @@
+ self.add_packsfile(self.profile_dir, 'addedpacks')
+
+ # Now do the actual installation.
+- ok = self.pacmancall('-S', ' '.join(self.packages))
++ ok = self.pacmancall('-Sf', ' '.join(self.packages))
++ if not ok:
++ errout(_("Package installation failed"))
++
++ #cachepacks goes here
++
++ self.cache_packages=[]
++ cache_packs = self.add_cache_packsfile(self.profile_dir, 'cachepacks')
++ cachedir = "%s/data/var/cache/pacman/pkg/" % self.installation_dir
++ print cachedir
++ self.clearcache()
++ comment(" *** %s ***" % _("Installing Cache Packages"))
++ ok = self.pacmancall('-Sw --cachedir='+cachedir , ' '.join(self.cache_packages))
+ if not ok:
+ errout(_("Package installation failed"))
+
+@@ -197,6 +209,18 @@
+
+ # Build the final version of pacman.conf
+ self.make_pacman_conf(True)
++
++ #post_process goes here
++ comment(" *** %s ***" % _("Start of post processing"))
++ post_process_file="%s/post-process.sh" %self.profile_dir
++ #try:
++ if os.path.isfile(post_process_file):
++ cmd = "%s %s %s" %(post_process_file,self.installation_dir,self.profile_dir)
++ print "this is my cmd: %s" %cmd
++ runcmd(cmd)
++ else:
++ comment(" *** %s ***" % _("Post processing file not found"))
++
+ comment(" *** %s ***" % _("Arch installation completed"))
+ return True
+
+@@ -231,6 +255,39 @@
+ self.packages.append(line)
+ fh.close()
+
++ def add_cache_packsfile(self, dir, packs_file, must=True):
++ path = dir + '/' + packs_file
++ if must and not os.path.isfile(path):
++ errout(_("No '%s' file") % path)
++ fh = open(path)
++ for line in fh:
++ line = line.strip()
++ if line and (line[0] != '#'):
++ if line[0] == '*':
++ self.add_group(line[1:].split()[0])
++ elif line[0] == '+':
++ # Include directive
++ line = line[1:].split()[0]
++ if line[0] != '/':
++ line = dir + '/' + line
++ d, pf = line.rsplit('/', 1)
++ if not d:
++ errout(_("Invalid package file include: %s"))
++ print "calling myself with %s %s" %(d,pf)
++ self.add_cache_packsfile(d, pf)
++
++ elif line.startswith('!!!'):
++ # Ignore everything (!) entered previously.
++ # Allows requiredpacks to be overridden in addedpacks.
++ self.cache_packages = []
++ else:
++ line = line.split()[0]
++ if ((line not in self.cache_packages) and (line not in self.veto_packages)):
++ self.cache_packages.append(line)
++ fh.close()
++
++
++
+
+ def add_group(self, gname):
+ """Add the packages belonging to a group to the installaion list,
+@@ -306,6 +363,9 @@
+ def remove(self, *packs):
+ return self.pacmancall('-Rs', ' '.join(packs))
+
++ def clearcache(self):
++ return self.pacmancall('-Swcc')
++
+
+
+ if __name__ == "__main__":