* [gentoo-catalyst] Feature Request: mount tmpfs on /var/tmp/portage
@ 2009-08-03 7:15 Tom Stellard
2009-08-03 15:14 ` Peter Stuge
2009-08-04 4:51 ` Andrew Gaffney
0 siblings, 2 replies; 4+ messages in thread
From: Tom Stellard @ 2009-08-03 7:15 UTC (permalink / raw
To: gentoo-catalyst
[-- Attachment #1: Type: text/plain, Size: 403 bytes --]
I would like to have the ability to mount a tmpfs on /var/tmp/portage
when I am building a stage. I have attached a patch that adds this
functionality to catalyst. This patch adds a new option "tmpfs" and
the config value "tmpfs_opts". tempfs_opts can be used to set the size
of the tmpfs. It uses the same syntax as options passed to mount -o.
For example tempfs_opts="size=1G,nr_inodes=10".
-Tom
[-- Attachment #2: tmpfs.diff --]
[-- Type: text/plain, Size: 3271 bytes --]
diff --git a/catalyst b/catalyst
index 82b4dc9..71a842e 100755
--- a/catalyst
+++ b/catalyst
@@ -61,7 +61,7 @@ def parse_config(myconfig):
"sharedir":"/usr/share/catalyst","distdir":"/usr/portage/distfiles",\
"portdir":"/usr/portage","options":"",\
"snapshot_cache":"/var/tmp/catalyst/snapshot_cache",\
- "hash_function":"crc32"}
+ "hash_function":"crc32","tmpfs_opts":""}
# first, try the one passed (presumably from the cmdline)
if myconfig:
@@ -152,6 +152,10 @@ def parse_config(myconfig):
print "Use of metadata_overlay module for portage enabled."
conf_values["METADATA_OVERLAY"]="1"
+ if "tmpfs" in conf_values["options"].split():
+ print "Use of tmpfs enabled."
+ conf_values["TMPFS"]="1"
+
# if "tarball" in string.split(conf_values["options"]):
# print "Tarball creation enabled."
# conf_values["TARBALL"]="1"
diff --git a/files/catalyst.conf b/files/catalyst.conf
index b4e2385..855ce23 100644
--- a/files/catalyst.conf
+++ b/files/catalyst.conf
@@ -58,6 +58,9 @@ hash_function="crc32"
# snapcache = cache the snapshot so that it can be bind-mounted into the chroot.
# WARNING: moving parts of the portage tree from within fsscript *will* break
# your cache. The cache is unlinked before any empty or rm processing, though.
+# tmpfs = Mount tmpfs on /var/tmp/portage to speed up builds. You can set the
+# size of the tmpfs by using tmpfs_opts. If tmpfs_opts is not set the
+# tmpfs will be the default size. EX: tmpfs_opts="size=1G,nr_inodes=10k"
#
# (These options can be used together)
options="autoresume kerncache metadata_overlay pkgcache seedcache snapcache"
diff --git a/modules/generic_stage_target.py b/modules/generic_stage_target.py
index 92ec381..47d9eed 100644
--- a/modules/generic_stage_target.py
+++ b/modules/generic_stage_target.py
@@ -19,7 +19,7 @@ class generic_stage_target(generic_target):
self.valid_values.extend(["version_stamp","target","subarch",\
"rel_type","profile","snapshot","source_subpath","portage_confdir",\
"cflags","cxxflags","ldflags","cbuild","hostuse","portage_overlay",\
- "distcc_hosts","makeopts","pkgcache_path","kerncache_path"])
+ "distcc_hosts","makeopts","pkgcache_path","kerncache_path","tmpfs_opts"])
self.set_valid_build_kernel_vars(addlargs)
generic_target.__init__(self,myspec,addlargs)
@@ -229,6 +229,10 @@ class generic_stage_target(generic_target):
self.mountmap["/var/cache/icecream"]="/var/cache/icecream"
self.env["PATH"]="/usr/lib/icecc/bin:"+self.env["PATH"]
+ if self.settings.has_key("TMPFS"):
+ self.mounts.append("/var/tmp/portage")
+ self.mountmap["/var/tmp/portage"]="tmpfs"
+
def override_cbuild(self):
if self.makeconf.has_key("CBUILD"):
self.settings["CBUILD"]=self.makeconf["CBUILD"]
@@ -882,6 +886,13 @@ class generic_stage_target(generic_target):
else:
retval=os.system("mount_nullfs "+src+" "+\
self.settings["chroot_path"]+x)
+ elif src == "tmpfs":
+ tmpfs_o=""
+ if self.settings.has_key("tmpfs_opts"):
+ tmpfs_o="-o "+self.settings["tmpfs_opts"]
+ retval=os.system("mount " + tmpfs_o +\
+ " -t tmpfs catalyst_tmpfs "+\
+ self.settings["chroot_path"]+x)
else:
retval=os.system("mount --bind "+src+" "+\
self.settings["chroot_path"]+x)
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [gentoo-catalyst] Feature Request: mount tmpfs on /var/tmp/portage
2009-08-03 7:15 [gentoo-catalyst] Feature Request: mount tmpfs on /var/tmp/portage Tom Stellard
@ 2009-08-03 15:14 ` Peter Stuge
2009-08-04 4:51 ` Andrew Gaffney
1 sibling, 0 replies; 4+ messages in thread
From: Peter Stuge @ 2009-08-03 15:14 UTC (permalink / raw
To: gentoo-catalyst
Tom Stellard wrote:
> I would like to have the ability to mount a tmpfs on /var/tmp/portage
> when I am building a stage.
I like it. I hope it'll be included! :)
//Peter
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [gentoo-catalyst] Feature Request: mount tmpfs on /var/tmp/portage
2009-08-03 7:15 [gentoo-catalyst] Feature Request: mount tmpfs on /var/tmp/portage Tom Stellard
2009-08-03 15:14 ` Peter Stuge
@ 2009-08-04 4:51 ` Andrew Gaffney
2009-08-04 5:13 ` Tom Stellard
1 sibling, 1 reply; 4+ messages in thread
From: Andrew Gaffney @ 2009-08-04 4:51 UTC (permalink / raw
To: gentoo-catalyst
On 08/03/2009 02:15 AM, Tom Stellard wrote:
> I would like to have the ability to mount a tmpfs on /var/tmp/portage
> when I am building a stage. I have attached a patch that adds this
> functionality to catalyst. This patch adds a new option "tmpfs" and
> the config value "tmpfs_opts". tempfs_opts can be used to set the size
> of the tmpfs. It uses the same syntax as options passed to mount -o.
> For example tempfs_opts="size=1G,nr_inodes=10".
>
> -Tom
Please file a bug for this.
--
Andrew Gaffney http://dev.gentoo.org/~agaffney/
Gentoo Linux Developer Catalyst/Genkernel + Release Engineering Lead
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [gentoo-catalyst] Feature Request: mount tmpfs on /var/tmp/portage
2009-08-04 4:51 ` Andrew Gaffney
@ 2009-08-04 5:13 ` Tom Stellard
0 siblings, 0 replies; 4+ messages in thread
From: Tom Stellard @ 2009-08-04 5:13 UTC (permalink / raw
To: gentoo-catalyst
On Mon, Aug 03, 2009 at 11:51:06PM -0500, Andrew Gaffney wrote:
> On 08/03/2009 02:15 AM, Tom Stellard wrote:
>> I would like to have the ability to mount a tmpfs on /var/tmp/portage
>> when I am building a stage. I have attached a patch that adds this
>> functionality to catalyst. This patch adds a new option "tmpfs" and
>> the config value "tmpfs_opts". tempfs_opts can be used to set the size
>> of the tmpfs. It uses the same syntax as options passed to mount -o.
>> For example tempfs_opts="size=1G,nr_inodes=10".
>>
>> -Tom
>
> Please file a bug for this.
>
OK, http://bugs.gentoo.org/show_bug.cgi?id=280257
-Tom
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-08-04 5:13 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-03 7:15 [gentoo-catalyst] Feature Request: mount tmpfs on /var/tmp/portage Tom Stellard
2009-08-03 15:14 ` Peter Stuge
2009-08-04 4:51 ` Andrew Gaffney
2009-08-04 5:13 ` Tom Stellard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox