From: Brian Dolbec <dolsen@gentoo.org>
To: "gentoo-catalyst@lists.gentoo.org" <gentoo-catalyst@lists.gentoo.org>
Subject: [gentoo-catalyst] Catalyst tree move code changes. [1 of 4]
Date: Sun, 06 Jan 2013 17:41:17 -0800 [thread overview]
Message-ID: <1357522877.17120.9.camel@big_daddy.dol-sen.ca> (raw)
[-- Attachment #1.1: Type: text/plain, Size: 505 bytes --]
This is the first of some untested (but they compile without errors)
patches to catalyst for the pending default tree location changes.
My current gentoo machine is somewhat limited in capability (memory
shortage, only moderate cpu horespower) for doing proper testing. But I
will try and get it setup better to do some test runs for changes.
I can also push my catalyst git repo to my dev space for you to checkout
and do some tests on if you like.
--
Brian Dolbec <dolsen@gentoo.org>
[-- Attachment #1.2: 0001-make-more-configured-defaults.patch --]
[-- Type: text/x-patch, Size: 9190 bytes --]
From eda38fa33ca9dbd2e2df4ecf3844a3d71fe69faa Mon Sep 17 00:00:00 2001
From: Brian Dolbec <dolsen@gentoo.org>
Date: Wed, 19 Dec 2012 18:07:45 -0800
Subject: [PATCH] make more configured defaults and add them to our
catalyst.conf.
---
catalyst | 68 ++++++++++++++++++++++++++++++-----------------------
files/catalyst.conf | 34 +++++++++++++++++++++------
2 files changed, 65 insertions(+), 37 deletions(-)
diff --git a/catalyst b/catalyst
index 3d31599..f5b4534 100755
--- a/catalyst
+++ b/catalyst
@@ -25,7 +25,7 @@ conf_values={}
def usage():
print "Usage catalyst [options] [-C variable=value...] [ -s identifier]"
- print " -a --clear-autoresume clear autoresume flags"
+ print " -a --clear-autoresume clear autoresume flags"
print " -c --config use specified configuration file"
print " -C --cli catalyst commandline (MUST BE LAST OPTION)"
print " -d --debug enable debugging"
@@ -61,12 +61,20 @@ def parse_config(myconfig):
myconf={}
config_file=""
- confdefaults={ "storedir":"/var/tmp/catalyst",\
- "sharedir":"/usr/share/catalyst","distdir":"/usr/portage/distfiles",\
- "portdir":"/usr/portage","options":"",\
- "snapshot_cache":"/var/tmp/catalyst/snapshot_cache",\
- "hash_function":"crc32"}
-
+ confdefaults={
+ "storedir": "/var/tmp/catalyst",
+ "sharedir": "/usr/lib/catalyst",
+ "distdir": "/var/cache/distfiles",
+ "repo_name": "gentoo",
+ "portdir": "/var/cache/repositories/gentoo",
+ "packagedir": "/var/cache/packages",
+ "port_tmpdir": "/var/tmp/portage",
+ "options": "",
+ "snapshot_name": "portage-",
+ "snapshot_cache": "/var/tmp/catalyst/snapshot_cache",
+ "hash_function": "crc32",
+ }
+
# first, try the one passed (presumably from the cmdline)
if myconfig:
if os.path.exists(myconfig):
@@ -77,12 +85,12 @@ def parse_config(myconfig):
print "!!! catalyst: Could not use specified configuration file "+\
myconfig
sys.exit(1)
-
+
# next, try the default location
elif os.path.exists("/etc/catalyst/catalyst.conf"):
print "Using default Catalyst configuration file, /etc/catalyst/catalyst.conf"
config_file="/etc/catalyst/catalyst.conf"
-
+
# can't find a config file (we are screwed), so bail out
else:
print "!!! catalyst: Could not find a suitable configuration file"
@@ -93,11 +101,11 @@ def parse_config(myconfig):
# execfile(config_file, myconf, myconf)
myconfig = catalyst.config.ConfigParser(config_file)
myconf.update(myconfig.get_values())
-
+
except:
print "!!! catalyst: Unable to parse configuration file, "+myconfig
sys.exit(1)
-
+
# now, load up the values into conf_values so that we can use them
for x in confdefaults.keys():
if myconf.has_key(x):
@@ -120,9 +128,9 @@ def parse_config(myconfig):
print "Cleaning autoresume flags support enabled."
conf_values["CLEAR_AUTORESUME"]="1"
-# if "compress" in string.split(conf_values["options"]):
-# print "Compression enabled."
-# conf_values["COMPRESS"]="1"
+ #if "compress" in string.split(conf_values["options"]):
+ #print "Compression enabled."
+ #conf_values["COMPRESS"]="1"
if "distcc" in string.split(conf_values["options"]):
print "Distcc support enabled."
@@ -152,9 +160,9 @@ def parse_config(myconfig):
print "Snapshot cache support enabled."
conf_values["SNAPCACHE"]="1"
-# if "tarball" in string.split(conf_values["options"]):
-# print "Tarball creation enabled."
-# conf_values["TARBALL"]="1"
+# if "tarball" in string.split(conf_values["options"]):
+# print "Tarball creation enabled."
+# conf_values["TARBALL"]="1"
if myconf.has_key("digests"):
conf_values["digests"]=myconf["digests"]
@@ -208,9 +216,9 @@ def build_target(addlargs, targetmap):
try:
if not targetmap.has_key(addlargs["target"]):
raise CatalystError,"Target \""+addlargs["target"]+"\" not available."
-
+
mytarget=targetmap[addlargs["target"]](conf_values, addlargs)
-
+
mytarget.run()
except:
@@ -220,7 +228,7 @@ def build_target(addlargs, targetmap):
if __name__ == "__main__":
targetmap={}
-
+
version()
if os.getuid() != 0:
# catalyst cannot be run as a normal user due to chroots, mounts, etc
@@ -236,11 +244,11 @@ if __name__ == "__main__":
try:
opts,args = getopt.getopt(sys.argv[1:], "apPThvdc:C:f:FVs:", ["purge", "purgeonly", "purgetmponly", "help", "version", "debug",\
"clear-autoresume", "config=", "cli=", "file=", "fetch", "verbose","snapshot="])
-
+
except getopt.GetoptError:
usage()
sys.exit(2)
-
+
# defaults for commandline opts
debug=False
verbose=False
@@ -261,7 +269,7 @@ if __name__ == "__main__":
if o in ("-h", "--help"):
usage()
sys.exit(1)
-
+
if o in ("-V", "--version"):
print "Catalyst version "+__version__
sys.exit(1)
@@ -279,14 +287,14 @@ if __name__ == "__main__":
while x < len(sys.argv):
mycmdline.append(sys.argv[x])
x=x+1
-
+
if o in ("-f", "--file"):
run = True
myspecfile=a
if o in ("-F", "--fetchonly"):
conf_values["FETCH"]="1"
-
+
if o in ("-v", "--verbose"):
conf_values["VERBOSE"]="1"
@@ -299,7 +307,7 @@ if __name__ == "__main__":
run = True
mycmdline.append("target=snapshot")
mycmdline.append("version_stamp="+a)
-
+
if o in ("-p", "--purge"):
conf_values["PURGE"] = "1"
@@ -321,7 +329,7 @@ if __name__ == "__main__":
parse_config(myconfig)
sys.path.append(conf_values["sharedir"]+"/modules")
from catalyst_support import *
-
+
# Start checking that digests are valid now that the hash_map was imported
# from catalyst_support
if conf_values.has_key("digests"):
@@ -365,11 +373,11 @@ if __name__ == "__main__":
targetmap=import_modules()
addlargs={}
-
+
if myspecfile:
spec = catalyst.config.SpecParser(myspecfile)
addlargs.update(spec.get_values())
-
+
if mycmdline:
try:
cmdline = catalyst.config.ConfigParser()
@@ -385,7 +393,7 @@ if __name__ == "__main__":
# everything is setup, so the build is a go
try:
build_target(addlargs, targetmap)
-
+
except CatalystError:
print
print "Catalyst aborting...."
diff --git a/files/catalyst.conf b/files/catalyst.conf
index e2def66..6fbf17a 100644
--- a/files/catalyst.conf
+++ b/files/catalyst.conf
@@ -24,17 +24,13 @@ digests="md5 sha1 sha512 whirlpool"
# If this variable is empty, no .CONTENTS will be generated at all.
contents="auto"
-# distdir specifies where your distfiles are located. This setting should
-# work fine for most default installations.
-distdir="/usr/portage/distfiles"
-
# envscript allows users to set options such as http proxies, MAKEOPTS,
# GENTOO_MIRRORS, or any other environment variables needed for building.
# The envscript file sets environment variables like so:
# export FOO="bar"
envscript="/etc/catalyst/catalystrc"
-# Internal hash function catalyst should use for things like autoresume,
+# Internal hash function catalyst should use for things like autoresume,
# seedcache, etc. The default and fastest is crc32. You should not ever need
# to change this unless your OS does not support it.
# Supported hashes:
@@ -51,7 +47,7 @@ hash_function="crc32"
# ( This option is not fully tested, bug reports welcome )
# ccache = enables build time ccache support
# distcc = enable distcc support for building. You have to set distcc_hosts in
-# your spec file.
+# your spec file.
# icecream = enables icecream compiler cluster support for building
# kerncache = keeps a tbz2 of your built kernel and modules (useful if your
# build stops in livecd-stage2)
@@ -66,13 +62,37 @@ hash_function="crc32"
# (These options can be used together)
options="autoresume kerncache pkgcache seedcache snapcache"
+# fixme get this from portage instead
+# target repo directory name (make it configurable)
+repo_name= "gentoo"
+
+# fixme get this from portage instead
# portdir specifies the source portage tree used by the snapshot target.
-portdir="/usr/portage"
+portdir="/var/cache/repositories/%(repo_name)s"
+
+# fixme get this from portage instead
+# distdir specifies where your distfiles are located. This setting should
+# work fine for most default installations.
+distdir="/var/cache/distfiles"
+
+# fixme get this from portage instead
+# packagdir specifies where the binpkgs are stored
+packagedir="/var/cache/packages"
+
+# local_overlay path
+local_verlay="/var/cache/repositories/local"
+
+# fixme get this from portage instead
+# portage temp dir
+port_tmpdir="/var/tmp/portage"
# sharedir specifies where all of the catalyst runtime executables are. Most
# users do not need to change this.
sharedir="/usr/lib/catalyst"
+# snapshot_name the name to use for creating the snapshot
+snapshot_name="portage-"
+
# snapshot_cache specifies where the snapshots will be cached to if snapcache is
# enabled in the options.
snapshot_cache="/var/tmp/catalyst/snapshot_cache"
--
1.8.0
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 490 bytes --]
next reply other threads:[~2013-01-07 2:02 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-07 1:41 Brian Dolbec [this message]
2013-01-08 7:27 ` [gentoo-catalyst] Catalyst tree move code changes. [1 of 4] now [1 of 2] Brian Dolbec
2013-01-08 7:29 ` [gentoo-catalyst] Catalyst tree move code changes. [1 of 4] now [2 " Brian Dolbec
2013-01-08 18:10 ` Peter Stuge
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1357522877.17120.9.camel@big_daddy.dol-sen.ca \
--to=dolsen@gentoo.org \
--cc=gentoo-catalyst@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox