public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/grss:master commit in: /
@ 2015-07-25  1:51 Anthony G. Basile
  0 siblings, 0 replies; 25+ messages in thread
From: Anthony G. Basile @ 2015-07-25  1:51 UTC (permalink / raw
  To: gentoo-commits

commit:     83a2ce2e43cf2163cba458e8c133b0de71ec32b4
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 25 01:26:45 2015 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sat Jul 25 01:53:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/grss.git/commit/?id=83a2ce2e

grsrun: add 'select' flag -s.

 grsrun | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/grsrun b/grsrun
index 86b33ea..c5e5240 100755
--- a/grsrun
+++ b/grsrun
@@ -15,11 +15,13 @@ from getopt import getopt, GetoptError
 
 def usage(rc=1):
     usage = """
-usage: grsrun [-m|-u|-h]
+usage: grsrun [-m|-u|-h|-s <name>]
 
-flags: -m  Mock run.  Don't really execute.
-     : -u  Update run.
-     : -h  print this help file
+flags:             Release run.  Do every step in build script.
+     : -u          Update run.  Do only '+' steps.
+     : -m          Mock run.  Log what would be done.
+     : -s <name>.  Only run for GRS system <name>.
+     : -h          Print this help file.
 """
     print(usage)
     sys.exit(rc)
@@ -28,12 +30,13 @@ flags: -m  Mock run.  Don't really execute.
 
 def main():
     try:
-        opts, x = getopt(sys.argv[1:], 'muh')
+        opts, x = getopt(sys.argv[1:], 'mus:h')
     except GetoptError as e:
         usage()
 
     mock_run = False
     update_run = False
+    grsname = None
     for o, a in opts:
         if o == '-h':
             usage(0)
@@ -41,6 +44,8 @@ def main():
             mock_run = True
         elif o == '-u':
             update_run = True
+        elif o == '-s':
+            grsname = a
 
     os.makedirs(CONST.GRS_CGROUPDIR, mode=0o555, exist_ok=True)
     if not os.path.ismount(CONST.GRS_CGROUPDIR):
@@ -49,6 +54,10 @@ def main():
 
     count = 0
     for name in CONST.names:
+        if grsname:
+            if name != grsname:
+                count = count + 1
+                continue
         if not os.fork():
             subcgroup    = 'run-%s' % name
             subcgroupdir = os.path.join(CONST.GRS_CGROUPDIR, subcgroup)


^ permalink raw reply related	[flat|nested] 25+ messages in thread
* [gentoo-commits] proj/grss:master commit in: /
@ 2016-04-02 22:06 Anthony G. Basile
  0 siblings, 0 replies; 25+ messages in thread
From: Anthony G. Basile @ 2016-04-02 22:06 UTC (permalink / raw
  To: gentoo-commits

commit:     a342cf8a3602273751da751978f5120e234c10cb
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sat Apr  2 22:14:04 2016 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sat Apr  2 22:14:04 2016 +0000
URL:        https://gitweb.gentoo.org/proj/grss.git/commit/?id=a342cf8a

README.md: update

 README => README.md | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/README b/README.md
similarity index 96%
rename from README
rename to README.md
index 8bd1b7f..db5edcb 100644
--- a/README
+++ b/README.md
@@ -64,10 +64,6 @@ the previous release plus any updates since. The only reason to push out a new
 release tarball is to avoid having to subsequently push out a large number of
 updates for each new installation.
 
-CAVEAT: This is work in progress. A few of the above point are marginally
-working or implemented. This warning will disappear after this whole project
-moves past being experimental. 
-
 Features:
 * The GRS suite does not hard code any steps for the release or update runs.
 Rather, a build script on the git repository describes the steps for building


^ permalink raw reply related	[flat|nested] 25+ messages in thread
* [gentoo-commits] proj/grss:master commit in: /
@ 2015-08-08 20:26 Anthony G. Basile
  0 siblings, 0 replies; 25+ messages in thread
From: Anthony G. Basile @ 2015-08-08 20:26 UTC (permalink / raw
  To: gentoo-commits

commit:     99ff5b6f43192790e1ed76b5e6b96c14f486410c
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sat Aug  8 20:30:06 2015 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sat Aug  8 20:30:06 2015 +0000
URL:        https://gitweb.gentoo.org/proj/grss.git/commit/?id=99ff5b6f

TODO: update

 TODO | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/TODO b/TODO
index db32c13..2cb96b2 100644
--- a/TODO
+++ b/TODO
@@ -6,3 +6,5 @@ to prevent wierdness in case /usr/portage changes during a run.
 2. Upon building a system we should make use of the binpkgs in CONST.TMPDIR + GRS name
 as a time saver.  This is something to go into the build scripts in the GRS repo and not
 in the GRS suite.
+
+3. Fix log rotation which adds extra empy "seeds" which it rotates before using!


^ permalink raw reply related	[flat|nested] 25+ messages in thread
* [gentoo-commits] proj/grss:master commit in: /
@ 2015-08-08 17:52 Anthony G. Basile
  0 siblings, 0 replies; 25+ messages in thread
From: Anthony G. Basile @ 2015-08-08 17:52 UTC (permalink / raw
  To: gentoo-commits

commit:     307676bee4cfd5b1e9f5f34221ad5aa0957bdee7
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sat Aug  8 17:55:21 2015 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sat Aug  8 17:55:21 2015 +0000
URL:        https://gitweb.gentoo.org/proj/grss.git/commit/?id=307676be

TODO: update

 TODO | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/TODO b/TODO
index ed1164c..db32c13 100644
--- a/TODO
+++ b/TODO
@@ -6,9 +6,3 @@ to prevent wierdness in case /usr/portage changes during a run.
 2. Upon building a system we should make use of the binpkgs in CONST.TMPDIR + GRS name
 as a time saver.  This is something to go into the build scripts in the GRS repo and not
 in the GRS suite.
-
-3. grsup and clean-worldconf should remove files form /etc/portage that correspond to
-sections that were removed from world.conf since the last time grsup or install-worldconf
-was run.  Currently, if a section is removed from world.conf on the remote repo, then any
-files in canonical form in /etc/portage are orphaned.  This can lead to trouble because
-the the flags they define are not removed.  This needs to be fixed in clean() in grs/WorldConf.py.


^ permalink raw reply related	[flat|nested] 25+ messages in thread
* [gentoo-commits] proj/grss:master commit in: /
@ 2015-08-04 21:41 Anthony G. Basile
  0 siblings, 0 replies; 25+ messages in thread
From: Anthony G. Basile @ 2015-08-04 21:41 UTC (permalink / raw
  To: gentoo-commits

commit:     88693dc02295ea79ba4f9379996cb176462545dc
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Tue Aug  4 21:44:31 2015 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Tue Aug  4 21:44:31 2015 +0000
URL:        https://gitweb.gentoo.org/proj/grss.git/commit/?id=88693dc0

Update MANIFEST.in.

 MANIFEST.in | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/MANIFEST.in b/MANIFEST.in
index 077e093..9afc0fc 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,7 +1,5 @@
 include LICENSE
 include README
-include grsrun
-include grsup
-include install-worldconf
-include systems.conf
+include bin/*
+include conf/*
 include grs/*


^ permalink raw reply related	[flat|nested] 25+ messages in thread
* [gentoo-commits] proj/grss:master commit in: /
@ 2015-08-04 19:32 Anthony G. Basile
  0 siblings, 0 replies; 25+ messages in thread
From: Anthony G. Basile @ 2015-08-04 19:32 UTC (permalink / raw
  To: gentoo-commits

commit:     85b44d605e6a85095a16f81b5eee9c380567acae
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Tue Aug  4 19:35:22 2015 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Tue Aug  4 19:35:22 2015 +0000
URL:        https://gitweb.gentoo.org/proj/grss.git/commit/?id=85b44d60

README: bring in line with wiki page.

 README | 171 +++++++++++++++++++++++++++++++++--------------------------------
 1 file changed, 87 insertions(+), 84 deletions(-)

diff --git a/README b/README
index 626f80d..8bd1b7f 100644
--- a/README
+++ b/README
@@ -1,89 +1,92 @@
-
-What is this?
-
-The Gentoo Reference System (GRS) Suite is a set of utilities for producing and
-maintaining identical Gentoo systems from a series of configuration files housed
-on a central git repository.  As a 'from source' distribution, Gentoo allows
-a large degree of customization.  The space of all possible packages and USE flags
-is vast, not to speak of more radical choices such as different kernels (eg. Gentoo
-on FreeBSD), different C Standard Libraries (eg. glibc, uClibc or musl) and different
-providers of core userland utilities (eg. busybox vs. coreutils).  In contrast
-to other distributions where each instance of an installed system is nearly identical
-to another, the large array of choice in Gentoo means that any two systems are
-unlikely to be sufficiently similar that executables or libraries from one will
-"just work" on the other, even if the architecture and other hardware factors are
-the same; assuming, of course, there is no conscious effort to build identical
-Gentoo systems.  This is where the Gentoo Release System (GRS) suite comes in.
-It does precisely this, namely, it provides an automated method for repeatedly
-and predicably generating identical Gentoo systems.
-
-GRS is designed to work roughly as follows: Periodic release tarballs are generated
-which are "polished".  For example, releases can provide preconfigured display
-managers, windowing systems, user accounts and home directories.  Installation
-should be as simple as unpacking the release tarball on pre-formated partitions
-with minimal or no further configuration.  There is no need to build any packages
-or a kernel and everything is ready to go out of the box.  A release tarball can
-be downloaded from some server or alternatively can be built locally.  While may
-not be identical because they were build at different times, after updating, both
-approaches should yield identical systems.
-
-Updating a GRS system can proceed by either building packages localy, or downloading
-prebuilt binpkgs.  As long as one does not deviate from the GRS defined set of USE
-flags, maskings and other configuration parameters, both approaches should yield
-identical systems.  A GRS system is always a Gentoo system, so at any time, one can
-elect to part ways from GRS and venture out on one's own!   The GRS suite provides a
-utilities to make sure that configurations in /etc/portage are properly in a
-manner consistant with GRS, but emerge and other portage utilities will always work.
-Even if one does deviate from the GRS defined parameters, it should be possible to
-return to strict GRS using the GRS utilities, provided one has not deviated too far.
-
-GRS is provided by app-portage/grs.  The same package is installed on either a
-server responsible for building the release tarballs and binpkgs, or on an actual
-GRS system.  On the server, a daemon called grsrun will either do a release run,
-in which case it builds the release tarballs, or it will do an update run where
-it either builds or updates a bunch of extra binpkgs.  For example, for GRS =
-desktop-amd64-uclibc-hardened, the release run builds a little under 900 packages,x
-while the update builds/updates about 5700 packages.  he first update run after a
-new release is very time consuimgin becuase some 5700 new packages must be built,
-but subsequent update runs need only build packages which were bumped since the last
-update run.
-
-On the client, a utility called grsup acts as a wrapper to emerge.  grsup will both
-manage the configuration files in /etc/portage as well as either builds or download
-the binpkg from a PORTAGE_BINHOST.  After the initial installation of a GRS system,
-one need only run grsup to update it up to date.  While releases tarballs will be
-pushed out periodically, these are not used to update an existing GRS system, only
-to start new one.  Rather, one GRS release should smoothly update to the next; in
-other words, each GRS release is equivalent to the previous release plus any updates
-since.  The only reason to push out a new release tarball is to avoid having to
-subsequently push out a download a large number of updates for each new installation.
-
-CAVEAT: This is work in progress.  A few of the above point are marginally working
-or implemented.  This warning will disappear after this whole project moves past
-being experimental.
-
+Description
+
+The Gentoo Reference System (GRS) Suite is a set of tools for building and
+maintaining a well defined Gentoo system in which all choices in building the
+system are predefined in configuration files housed on a central git
+repository. All systems built according to a particular GRS spec should be
+identical. As a "from source" distribution, Gentoo allows a large degree of
+customization. The space of all possible packages and USE flags is vast, not to
+speak of more radical choices such as different kernels (eg. Linux or FreeBSD),
+executable formats (eg. ELF or Mach-O), different C Standard Libraries (eg.
+glibc, uClibc or musl) and different providers of core userland utilities (eg.
+busybox or coreutils). In contrast to other distributions where each instance
+of an installed system is nearly identical to another, the large array of
+choice in Gentoo means that any two systems are unlikely to be sufficiently
+similar that executables or libraries from one will "just work" on the other,
+even if the architecture and other hardware factors are the same; assuming, of
+course, there is no conscious effort to build identical systems. This is where
+the Gentoo Release System (GRS) Suite comes in. It does precisely this, namely,
+it provides an automated method for repeatedly and predictably generating
+identical Gentoo systems.
+
+GRS is designed to work roughly as follows: Periodic release tarballs are
+generated which are "polished". For example, releases can provide
+pre-configured display managers, windowing systems and desktop themes, even
+user accounts and home directories. Installation should be as simple as
+unpacking the release tarball on pre-formated partitions with minimal or no
+further configuration. There is no need to build any packages or a kernel and
+everything is ready to go out of the box. A release tarball can be downloaded
+from some server or alternatively can be built locally. While these may not
+initially be identical because they were build at different times, after
+updating, both approaches should yield identical systems.
+
+Updating a GRS system can proceed by either building packages locally, or
+downloading pre-built binpkgs. As long as one does not deviate from the GRS
+defined set of USE flags, maskings and other configuration parameters, both
+approaches should yield identical systems. A GRS system is always a Gentoo
+system, so at any time, one can elect to part ways from GRS and venture out on
+one's own! The GRS Suite provides a utilities to make sure that configurations
+in /etc/portage are properly maintained in a manner consistent with GRS, but
+emerge and other portage utilities will always work. Even if one does deviate
+from the GRS specs, it should be possible to return to strict GRS using the
+Suite's utilities, provided one has not deviated too far.
+
+GRS is provided by the app-portage/grs package. The same package is installed
+on either a server responsible for building the release tarballs and binpkgs,
+or on an actual GRS system. On the server, a daemon called grsrun will either
+do a release run, in which case it builds the release tarballs, or it will do
+an update run where it either builds or updates a bunch of extra binpkgs. For
+example, for GRS = desktop-amd64-uclibc-hardened, the release run builds a
+little under 900 packages and produces the polished release tarball, while the
+update run builds/updates about 5700 packages. The first update run after a new
+release is time consuming because some 5700 new packages must be built, but
+subsequent update runs need only build packages which were bumped since the
+last update run.
+
+On the client, a utility called grsup acts as a wrapper to emerge. grsup will
+both manage the configuration files in /etc/portage as well as either builds or
+download the binpkg from a PORTAGE_BINHOST. After the initial installation of a
+GRS system, one need only run grsup to bring it up to date. While releases
+tarballs will be pushed out periodically, these are not used to update an
+existing GRS system, only to start new one. Rather, one GRS release should
+smoothly update to the next; in other words, each GRS release is equivalent to
+the previous release plus any updates since. The only reason to push out a new
+release tarball is to avoid having to subsequently push out a large number of
+updates for each new installation.
+
+CAVEAT: This is work in progress. A few of the above point are marginally
+working or implemented. This warning will disappear after this whole project
+moves past being experimental. 
 
 Features:
-    * The GRS suite does not hard code any steps for the release or update runs.
-    Rather, a build script on the git repo describes the steps for building each
-    particular GRS system.  This makes GRS runs highly flexible.  One need only
-    transcribe the steps one would manually take in a chroot in build the system
-    into the build script, and grsrun will automatically repeat them.
-
-    * It is possible to script a GRS system to do the equivalent of catalyst runs.
-    [TODO: there is still one more build script directive required here, pivot_chroot.]
-
-    * The use of Linux cgroup make management easy.  There is no need to trap or
-    propagate signals when writing the scripts that are to be run in the chroot.
-    A simple SIGTERM to grsrun will ensure that all children process are properly
-    terminated and that any bind-mounted filesystems are unmounted.
-
-    * A GRS system acts as a "tinderbox-lite" in that build failures are reported.
-    So as a GRS system evolves over time, as package are bumped, any breakages that
-    are introduced will be caught and reported.
-
+* The GRS suite does not hard code any steps for the release or update runs.
+Rather, a build script on the git repository describes the steps for building
+each particular GRS system. This makes GRS runs highly flexible. One need only
+transcribe the steps one would manually make in a chroot to build the system
+into build script directives, and grsrun will automatically repeat them.
+* It is possible to script a GRS system to do the equivalent of catalyst runs.
+* The use of Linux cgroup make management easy. There is no need to trap or
+propagate signals when writing the scripts that are to be run in the chroot. A
+simple SIGTERM to grsrun will ensure that all children process no matter how
+deep are properly terminated and that any bind-mounted filesystems are
+unmounted.
+* A GRS system acts as a "tinderbox lite" in that build failures are reported.
+So as a GRS system evolves over time, as package are bumped, any breakages that
+are introduced will be caught and reported. [TODO: get these reports
+automatically into bugzilla.]
 
 Authors:
-    * Anthony G. Basile <blueness@gentoo.org.>
-
+* Anthony G. Basile <blueness@gentoo.org.>
 
+Homepage:
+* https://wiki.gentoo.org/wiki/Project:RelEng_GRS


^ permalink raw reply related	[flat|nested] 25+ messages in thread
* [gentoo-commits] proj/grss:master commit in: /
@ 2015-08-04 19:25 Anthony G. Basile
  0 siblings, 0 replies; 25+ messages in thread
From: Anthony G. Basile @ 2015-08-04 19:25 UTC (permalink / raw
  To: gentoo-commits

commit:     9b7f11ebb6ea1fcdf459641ddfe3d66b793c516f
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Tue Aug  4 19:28:10 2015 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Tue Aug  4 19:28:10 2015 +0000
URL:        https://gitweb.gentoo.org/proj/grss.git/commit/?id=9b7f11eb

TODO: note problem with orphaned files in /etc/portage.

 TODO | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/TODO b/TODO
index db32c13..ed1164c 100644
--- a/TODO
+++ b/TODO
@@ -6,3 +6,9 @@ to prevent wierdness in case /usr/portage changes during a run.
 2. Upon building a system we should make use of the binpkgs in CONST.TMPDIR + GRS name
 as a time saver.  This is something to go into the build scripts in the GRS repo and not
 in the GRS suite.
+
+3. grsup and clean-worldconf should remove files form /etc/portage that correspond to
+sections that were removed from world.conf since the last time grsup or install-worldconf
+was run.  Currently, if a section is removed from world.conf on the remote repo, then any
+files in canonical form in /etc/portage are orphaned.  This can lead to trouble because
+the the flags they define are not removed.  This needs to be fixed in clean() in grs/WorldConf.py.


^ permalink raw reply related	[flat|nested] 25+ messages in thread
* [gentoo-commits] proj/grss:master commit in: /
@ 2015-07-25 22:06 Anthony G. Basile
  0 siblings, 0 replies; 25+ messages in thread
From: Anthony G. Basile @ 2015-07-25 22:06 UTC (permalink / raw
  To: gentoo-commits

commit:     b82b07c6d52cd2cc3bef1f0e7bdf9ed9c2153565
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 25 22:09:31 2015 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sat Jul 25 22:09:31 2015 +0000
URL:        https://gitweb.gentoo.org/proj/grss.git/commit/?id=b82b07c6

systems.conf: switch definition of desktop-amd64-hardened to multilib.

 systems.conf | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/systems.conf b/systems.conf
index 138ea57..c2f0b51 100644
--- a/systems.conf
+++ b/systems.conf
@@ -11,7 +11,7 @@ stage_uri : http://distfiles.gentoo.org/experimental/amd64/musl/stage3-amd64-mus
 [desktop-amd64-hardened]
 nameserver : 8.8.8.8
 repo_uri : git://anongit.gentoo.org/proj/grs.git
-stage_uri : http://distfiles.gentoo.org/releases/amd64/autobuilds/current-stage3-amd64-hardened/stage3-amd64-hardened-20150702.tar.bz2
+stage_uri : http://distfiles.gentoo.org/releases/amd64/autobuilds/current-stage3-amd64-hardened+nomultilib/stage3-amd64-hardened+nomultilib-20150723.tar.bz2
 
 [stages-amd64-hardened]
 nameserver : 8.8.8.8


^ permalink raw reply related	[flat|nested] 25+ messages in thread
* [gentoo-commits] proj/grss:master commit in: /
@ 2015-07-25 15:32 Anthony G. Basile
  0 siblings, 0 replies; 25+ messages in thread
From: Anthony G. Basile @ 2015-07-25 15:32 UTC (permalink / raw
  To: gentoo-commits

commit:     4042dbd16a841211c454b10d89fcf56ad315261e
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 25 15:34:39 2015 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sat Jul 25 15:34:39 2015 +0000
URL:        https://gitweb.gentoo.org/proj/grss.git/commit/?id=4042dbd1

grsup: improve usage() for kernel.

 grsup | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/grsup b/grsup
index 816e982..2e726f0 100755
--- a/grsup
+++ b/grsup
@@ -98,7 +98,7 @@ def usage(rc=1):
 usage: grsup [pkg(s)]       : update @world or pkg(s) if given
        grsup [-r|-d] pkg(s) : re-install or delete pkg(s)
        grsup -D             : download all @world pkgs, don't install
-       grsup -k kernel      : install 'kernel' version, or 'latest'
+       grsup -k <version>   : install kernel <version> or 'latest'
        grsup -h             : print this help
 """
     print(usage)


^ permalink raw reply related	[flat|nested] 25+ messages in thread
* [gentoo-commits] proj/grss:master commit in: /
@ 2015-07-25  1:24 Anthony G. Basile
  0 siblings, 0 replies; 25+ messages in thread
From: Anthony G. Basile @ 2015-07-25  1:24 UTC (permalink / raw
  To: gentoo-commits

commit:     60492d29bc4cad13e376b17b6efc63a51c8729e4
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 25 01:26:45 2015 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sat Jul 25 01:26:45 2015 +0000
URL:        https://gitweb.gentoo.org/proj/grss.git/commit/?id=60492d29

grsrun: add 'select' flag -s.

 grsrun | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/grsrun b/grsrun
index 86b33ea..2e69c71 100755
--- a/grsrun
+++ b/grsrun
@@ -15,11 +15,13 @@ from getopt import getopt, GetoptError
 
 def usage(rc=1):
     usage = """
-usage: grsrun [-m|-u|-h]
+usage: grsrun [-m|-u|-h|-s <name>]
 
-flags: -m  Mock run.  Don't really execute.
-     : -u  Update run.
-     : -h  print this help file
+flags:             Release run.  Do every step in build script.
+     : -u          Update run.  Do only '+' steps.
+     : -m          Mock run.  Log what would be done.
+     : -s <name>.  Only run for GRS system <name>.
+     : -h          Print this help file.
 """
     print(usage)
     sys.exit(rc)
@@ -28,12 +30,13 @@ flags: -m  Mock run.  Don't really execute.
 
 def main():
     try:
-        opts, x = getopt(sys.argv[1:], 'muh')
+        opts, x = getopt(sys.argv[1:], 'mus:h')
     except GetoptError as e:
         usage()
 
     mock_run = False
     update_run = False
+    grsname = None
     for o, a in opts:
         if o == '-h':
             usage(0)
@@ -41,6 +44,8 @@ def main():
             mock_run = True
         elif o == '-u':
             update_run = True
+        elif o == '-s':
+            grsname = a
 
     os.makedirs(CONST.GRS_CGROUPDIR, mode=0o555, exist_ok=True)
     if not os.path.ismount(CONST.GRS_CGROUPDIR):
@@ -49,6 +54,9 @@ def main():
 
     count = 0
     for name in CONST.names:
+        if grsname:
+            if name != grsname:
+                continue
         if not os.fork():
             subcgroup    = 'run-%s' % name
             subcgroupdir = os.path.join(CONST.GRS_CGROUPDIR, subcgroup)


^ permalink raw reply related	[flat|nested] 25+ messages in thread
* [gentoo-commits] proj/grss:master commit in: /
@ 2015-07-10 21:13 Anthony G. Basile
  0 siblings, 0 replies; 25+ messages in thread
From: Anthony G. Basile @ 2015-07-10 21:13 UTC (permalink / raw
  To: gentoo-commits

commit:     d00f70f71b9f002e099601cc0d7a85ddcc82e519
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 10 21:16:37 2015 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Fri Jul 10 21:16:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/grss.git/commit/?id=d00f70f7

systems.conf: add desktop-amd64-musl-hardened.

 systems.conf | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/systems.conf b/systems.conf
index 3e9ae15..138ea57 100644
--- a/systems.conf
+++ b/systems.conf
@@ -3,6 +3,11 @@ nameserver : 8.8.8.8
 repo_uri : git://anongit.gentoo.org/proj/grs.git
 stage_uri : http://distfiles.gentoo.org/pub/gentoo/releases/amd64/autobuilds/current-stage3-amd64-uclibc-hardened/stage3-amd64-uclibc-hardened-20150705.tar.bz2
 
+[desktop-amd64-musl-hardened]
+nameserver : 8.8.8.8
+repo_uri : git://anongit.gentoo.org/proj/grs.git
+stage_uri : http://distfiles.gentoo.org/experimental/amd64/musl/stage3-amd64-musl-hardened-20150609.tar.bz2
+
 [desktop-amd64-hardened]
 nameserver : 8.8.8.8
 repo_uri : git://anongit.gentoo.org/proj/grs.git


^ permalink raw reply related	[flat|nested] 25+ messages in thread
* [gentoo-commits] proj/grss:master commit in: /
@ 2015-07-07 12:38 Anthony G. Basile
  0 siblings, 0 replies; 25+ messages in thread
From: Anthony G. Basile @ 2015-07-07 12:38 UTC (permalink / raw
  To: gentoo-commits

commit:     b3bbbbb83528c3309a806bd6b7cdc71ad21031d7
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Tue Jul  7 12:41:16 2015 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Tue Jul  7 12:41:16 2015 +0000
URL:        https://gitweb.gentoo.org/proj/grss.git/commit/?id=b3bbbbb8

systems.conf: add [stages-amd64-hardened]

 systems.conf | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/systems.conf b/systems.conf
index fae9bdf..3e9ae15 100644
--- a/systems.conf
+++ b/systems.conf
@@ -1,8 +1,14 @@
 [desktop-amd64-uclibc-hardened]
-nameserver : 192.168.3.1
+nameserver : 8.8.8.8
 repo_uri : git://anongit.gentoo.org/proj/grs.git
-stage_uri : ftp://distfiles.gentoo.org/pub/gentoo/releases/amd64/autobuilds/current-stage3-amd64-uclibc-hardened/stage3-amd64-uclibc-hardened-20150610.tar.bz2
+stage_uri : http://distfiles.gentoo.org/pub/gentoo/releases/amd64/autobuilds/current-stage3-amd64-uclibc-hardened/stage3-amd64-uclibc-hardened-20150705.tar.bz2
 
-#[desktop-amd64-musl-hardened]
-#repo_uri : git://anongit.gentoo.org/proj/grs.git
-#stage_uri : ftp://distfiles.gentoo.org/pub/gentoo/experimental/amd64/musl/stage3-amd64-musl-hardened-20150405.tar.bz2
+[desktop-amd64-hardened]
+nameserver : 8.8.8.8
+repo_uri : git://anongit.gentoo.org/proj/grs.git
+stage_uri : http://distfiles.gentoo.org/releases/amd64/autobuilds/current-stage3-amd64-hardened/stage3-amd64-hardened-20150702.tar.bz2
+
+[stages-amd64-hardened]
+nameserver : 8.8.8.8
+repo_uri : git://anongit.gentoo.org/proj/grs.git
+stage_uri : http://distfiles.gentoo.org/releases/amd64/autobuilds/current-stage3-amd64-hardened/stage3-amd64-hardened-20150702.tar.bz2


^ permalink raw reply related	[flat|nested] 25+ messages in thread
* [gentoo-commits] proj/grss:master commit in: /
@ 2015-07-07  0:41 Anthony G. Basile
  0 siblings, 0 replies; 25+ messages in thread
From: Anthony G. Basile @ 2015-07-07  0:41 UTC (permalink / raw
  To: gentoo-commits

commit:     d1a7af9843c12553d86a1c9480402e7551c843f7
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Tue Jul  7 00:44:04 2015 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Tue Jul  7 00:44:04 2015 +0000
URL:        https://gitweb.gentoo.org/proj/grss.git/commit/?id=d1a7af98

grsup: don't unnecessarily record in world file.

 grsup | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/grsup b/grsup
index 5362d46..816e982 100755
--- a/grsup
+++ b/grsup
@@ -115,7 +115,7 @@ def main():
 
     do_install_kernel = False
     if len(opts) == 0:
-        args = ['-g', '-K', '-u', '-D', '-q']
+        args = ['-1', '-g', '-K', '-u', '-D', '-q']
         if len(myfiles) == 0:
             myfiles = ['@world']
         args.extend(myfiles)
@@ -127,7 +127,7 @@ def main():
             elif o == '-r':
                 if len(myfiles) == 0 or exclude > 1:
                     usage()
-                args = ['-g', '-K', '-D', '-q']
+                args = ['-1', '-g', '-K', '-D', '-q']
                 args.extend(myfiles)
                 exclude += 1
             elif o == '-d':


^ permalink raw reply related	[flat|nested] 25+ messages in thread
* [gentoo-commits] proj/grss:master commit in: /
@ 2015-07-06 19:57 Anthony G. Basile
  0 siblings, 0 replies; 25+ messages in thread
From: Anthony G. Basile @ 2015-07-06 19:57 UTC (permalink / raw
  To: gentoo-commits

commit:     8b091dc01c96d36036ebcaef12342b2790213829
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Mon Jul  6 20:00:02 2015 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Mon Jul  6 20:00:02 2015 +0000
URL:        https://gitweb.gentoo.org/proj/grss.git/commit/?id=8b091dc0

grsup: change to -D to download all binpkgs.

 grsup | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/grsup b/grsup
index d956af9..5362d46 100755
--- a/grsup
+++ b/grsup
@@ -97,7 +97,7 @@ def usage(rc=1):
     usage = """
 usage: grsup [pkg(s)]       : update @world or pkg(s) if given
        grsup [-r|-d] pkg(s) : re-install or delete pkg(s)
-       grsup -C             : download all @world pkgs, don't install
+       grsup -D             : download all @world pkgs, don't install
        grsup -k kernel      : install 'kernel' version, or 'latest'
        grsup -h             : print this help
 """
@@ -136,7 +136,7 @@ def main():
                 args = ['-C', '-q']
                 args.extend(myfiles)
                 exclude += 1
-            elif o == '-C':
+            elif o == '-D':
                 if len(myfiles) > 0:
                     usage()
                 args = ['-g', '-e', '-f', '-q', '@world']


^ permalink raw reply related	[flat|nested] 25+ messages in thread
* [gentoo-commits] proj/grss:master commit in: /
@ 2015-07-06 19:49 Anthony G. Basile
  0 siblings, 0 replies; 25+ messages in thread
From: Anthony G. Basile @ 2015-07-06 19:49 UTC (permalink / raw
  To: gentoo-commits

commit:     154058c5bc85f6b92cd01880bd418648e317ab2c
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Mon Jul  6 19:52:12 2015 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Mon Jul  6 19:52:12 2015 +0000
URL:        https://gitweb.gentoo.org/proj/grss.git/commit/?id=154058c5

Add TODO so I don't forget things to do when they come to mind.

 TODO | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/TODO b/TODO
new file mode 100644
index 0000000..db32c13
--- /dev/null
+++ b/TODO
@@ -0,0 +1,8 @@
+My TODO list:
+
+1. A local copy of PORTDIR should be created in CONST.TMPDIR + GRS name.  This is
+to prevent wierdness in case /usr/portage changes during a run.
+
+2. Upon building a system we should make use of the binpkgs in CONST.TMPDIR + GRS name
+as a time saver.  This is something to go into the build scripts in the GRS repo and not
+in the GRS suite.


^ permalink raw reply related	[flat|nested] 25+ messages in thread
* [gentoo-commits] proj/grss:master commit in: /
@ 2015-07-06  1:39 Anthony G. Basile
  0 siblings, 0 replies; 25+ messages in thread
From: Anthony G. Basile @ 2015-07-06  1:39 UTC (permalink / raw
  To: gentoo-commits

commit:     743853d076e647b383fd7762168cc708d1f9709a
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Mon Jul  6 01:41:51 2015 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Mon Jul  6 01:41:51 2015 +0000
URL:        https://gitweb.gentoo.org/proj/grss.git/commit/?id=743853d0

grsup: some bug fixes.

 grsup | 32 ++++++++++++++------------------
 1 file changed, 14 insertions(+), 18 deletions(-)

diff --git a/grsup b/grsup
index bb5330f..d956af9 100755
--- a/grsup
+++ b/grsup
@@ -95,16 +95,11 @@ def install_kernel(version = 'latest', logfile = CONST.LOGFILE):
 
 def usage(rc=1):
     usage = """
-usage: grsup -C
-       grsup -k kernel
-       grsup [-r|-d] pkg(s)
-       grsup -h
-
-flags: -C  download all world packages
-     : -k  kernel version, or 'latest'
-     : -r  re-emerge the pkgs(s)
-     : -d  unmerge the pkgs(s)
-     : -h  print this help file
+usage: grsup [pkg(s)]       : update @world or pkg(s) if given
+       grsup [-r|-d] pkg(s) : re-install or delete pkg(s)
+       grsup -C             : download all @world pkgs, don't install
+       grsup -k kernel      : install 'kernel' version, or 'latest'
+       grsup -h             : print this help
 """
     print(usage)
     sys.exit(rc)
@@ -112,38 +107,39 @@ flags: -C  download all world packages
 
 def main():
     myaction, myopts, myfiles = parse_opts(sys.argv[1:])
-    args = copy.deepcopy(myfiles)
 
     try:
         opts, x = getopt(sys.argv[1:], 'Ck:rdh')
     except GetoptError:
         usage()
 
+    do_install_kernel = False
     if len(opts) == 0:
-        args.insert(0, '-gKuDq')
+        args = ['-g', '-K', '-u', '-D', '-q']
         if len(myfiles) == 0:
-            usage()
+            myfiles = ['@world']
+        args.extend(myfiles)
     else:
         exclude = 0
-        do_install_kernel = False
         for o, a in opts:
             if o == '-h':
                 usage(rc=0)
             elif o == '-r':
                 if len(myfiles) == 0 or exclude > 1:
                     usage()
-                args.insert(0, '-gKDq')
+                args = ['-g', '-K', '-D', '-q']
+                args.extend(myfiles)
                 exclude += 1
             elif o == '-d':
                 if len(myfiles) == 0 or exclude > 1:
                     usage()
-                args.insert(0, '--unmerge')
-                args.insert(0, '-q')
+                args = ['-C', '-q']
+                args.extend(myfiles)
                 exclude += 1
             elif o == '-C':
                 if len(myfiles) > 0:
                     usage()
-                args = ['-gefq', '@world']
+                args = ['-g', '-e', '-f', '-q', '@world']
             elif o == '-k':
                 if len(sys.argv[1:]) != 2:
                     usage()


^ permalink raw reply related	[flat|nested] 25+ messages in thread
* [gentoo-commits] proj/grss:master commit in: /
@ 2015-07-05 23:56 Anthony G. Basile
  0 siblings, 0 replies; 25+ messages in thread
From: Anthony G. Basile @ 2015-07-05 23:56 UTC (permalink / raw
  To: gentoo-commits

commit:     19942482c18d4d358c89d5db5736d8843af3ae99
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sun Jul  5 23:58:44 2015 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sun Jul  5 23:58:44 2015 +0000
URL:        https://gitweb.gentoo.org/proj/grss.git/commit/?id=19942482

grsup: fix kernel install and other errors.

 grsup | 56 ++++++++++++++++++++++++++++++++------------------------
 1 file changed, 32 insertions(+), 24 deletions(-)

diff --git a/grsup b/grsup
index 57029a7..bb5330f 100755
--- a/grsup
+++ b/grsup
@@ -12,6 +12,7 @@ from getopt import getopt, GetoptError
 from html.parser import HTMLParser
 
 from grs import CONST
+from grs import Execute
 from grs import Log
 from grs import Synchronize
 from grs import WorldConf
@@ -44,7 +45,7 @@ def install_kernel(version = 'latest', logfile = CONST.LOGFILE):
         return
 
     try:
-        request = urllib.request.urlopen(baseurl)
+        request = urllib.request.urlopen('%s/%s' % (baseurl,'linux-images'))
         dload = request.read().decode('utf-8')
     except urllib.error.HTTPError:
         print('Cannot open %s'  % baseurl)
@@ -56,7 +57,11 @@ def install_kernel(version = 'latest', logfile = CONST.LOGFILE):
     kernels.sort()
 
     if version == 'latest':
-        kernel = kernels[-1]
+        try:
+            kernel = kernels[-1]
+        except IndexError:
+            print('No linux-image available')
+            return
     else:
         for k in kernels:
             m = re.search('linux-image-(.+).tar.xz', k)
@@ -67,20 +72,25 @@ def install_kernel(version = 'latest', logfile = CONST.LOGFILE):
             print('No linux-image %s available' % version)
             return
 
-        # Download the linux-image tarball to packages/linux-image
-        request = urllib.request.urlopen('%s/%s' % (baseurl, kernel))
-        package = '/usr/portage/packages/linux-images'
-        os.makedirs(package, mode=0o755, exist_ok=True)
-        kpath = os.path.join(package, kernel)
-        with open(kpath, 'wb') as f:
-            shutil.copyfileobj(request, f)
+    # Download the linux-image tarball to packages/linux-image
+    request = urllib.request.urlopen('%s/%s/%s' % (baseurl, 'linux-images', kernel))
+    package = '/usr/portage/packages/linux-images'
+    os.makedirs(package, mode=0o755, exist_ok=True)
+    kpath = os.path.join(package, kernel)
+    with open(kpath, 'wb') as f:
+        shutil.copyfileobj(request, f)
+
+    # Try to mount /boot.  Fail silently since it may not be mountable.
+    if not os.path.ismount('/boot'):
+        cmd = 'mount /boot'
+        Execute(cmd, timeout=60, failok=True, logfile=logfile)
 
-        # Untar it at '/'.  tar will not clobber files.
-        cwd = os.getcwd()
-        os.chdir('/')
-        cmd = 'tar -Jxf %s' % kpath
-        Execute(cmd, timeout=600, logfile=logfile)
-        os.chdir(cwd)
+    # Untar it at '/'.  tar will not clobber files.
+    cwd = os.getcwd()
+    os.chdir('/')
+    cmd = 'tar --overwrite -Jxf %s' % kpath
+    Execute(cmd, timeout=600, logfile=logfile)
+    os.chdir(cwd)
 
 
 def usage(rc=1):
@@ -127,15 +137,17 @@ def main():
             elif o == '-d':
                 if len(myfiles) == 0 or exclude > 1:
                     usage()
-                args.insert(0, '-q --unmerge')
+                args.insert(0, '--unmerge')
+                args.insert(0, '-q')
                 exclude += 1
             elif o == '-C':
                 if len(myfiles) > 0:
                     usage()
                 args = ['-gefq', '@world']
-            elif o == '=k':
+            elif o == '-k':
                 if len(sys.argv[1:]) != 2:
                     usage()
+                version = a
                 do_install_kernel = True
 
     if len(CONST.names) > 1:
@@ -165,7 +177,7 @@ def main():
     WorldConf.install()
 
     if do_install_kernel:
-        install_kernel(a)
+        install_kernel(version=version)
     else:
         try:
             emerge_main(args)
@@ -182,10 +194,8 @@ def main():
             sys.exit(1)
 
     WorldConf.clean()
-    try:
+    if os.path.exists(CONST.PORTAGE_DIRTYFILE):
         os.remove(CONST.PORTAGE_DIRTYFILE)
-    except (FileNotFoundError, IsADirectoryError):
-        pass
 
 
 if __name__ == "__main__":
@@ -194,7 +204,5 @@ if __name__ == "__main__":
     except KeyboardInterrupt:
         sys.stderr.write("Cleaning up /etc/portage.  This make take some time.\n")
         WorldConf.clean()
-        try:
+        if os.path.exists(CONST.PORTAGE_DIRTYFILE):
             os.remove(CONST.PORTAGE_DIRTYFILE)
-        except (FileNotFoundError, IsADirectoryError):
-            pass


^ permalink raw reply related	[flat|nested] 25+ messages in thread
* [gentoo-commits] proj/grss:master commit in: /
@ 2015-07-05 16:33 Anthony G. Basile
  0 siblings, 0 replies; 25+ messages in thread
From: Anthony G. Basile @ 2015-07-05 16:33 UTC (permalink / raw
  To: gentoo-commits

commit:     d87fae8b90e536410e9cdb3b91cbaf436752e947
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sun Jul  5 16:35:34 2015 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sun Jul  5 16:35:34 2015 +0000
URL:        https://gitweb.gentoo.org/proj/grss.git/commit/?id=d87fae8b

make-worldconf: cleanup config file format.

 make-worldconf | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/make-worldconf b/make-worldconf
index 9408aef..c991817 100755
--- a/make-worldconf
+++ b/make-worldconf
@@ -93,7 +93,7 @@ def from_etc_portage(config, p, subdir):
         (subdir, re.sub('[/:]', '_', p.slot_atom)))
     if os.path.isfile(fpath):
         with open(fpath, 'r') as g:
-            config[p.slot_atom][subdir] = g.read()
+            config[p.slot_atom][subdir] = g.read().strip()
 
 
 def main():
@@ -124,10 +124,10 @@ def main():
         keywords(config, p)
 
         # Others - these are read out of /etc/portage
-        from_etc_portage(config, p, 'env')
-        from_etc_portage(config, p, 'package.env')
         from_etc_portage(config, p, 'package.mask')
         from_etc_portage(config, p, 'package.unmask')
+        from_etc_portage(config, p, 'package.env')
+        from_etc_portage(config, p, 'env')
 
         # Remove any empty sections
         if config[p.slot_atom] == {}:


^ permalink raw reply related	[flat|nested] 25+ messages in thread
* [gentoo-commits] proj/grss:master commit in: /
@ 2015-07-05 16:20 Anthony G. Basile
  0 siblings, 0 replies; 25+ messages in thread
From: Anthony G. Basile @ 2015-07-05 16:20 UTC (permalink / raw
  To: gentoo-commits

commit:     b5d9509982de6463c68c4c2dfd9ee248f3a31996
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sun Jul  5 16:22:32 2015 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sun Jul  5 16:22:32 2015 +0000
URL:        https://gitweb.gentoo.org/proj/grss.git/commit/?id=b5d95099

make-worldconf: fix reading from /etc/portage.

 make-worldconf | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/make-worldconf b/make-worldconf
index 85f63b0..9408aef 100755
--- a/make-worldconf
+++ b/make-worldconf
@@ -86,8 +86,11 @@ def keywords(config, p):
         config[p.slot_atom]['package.accept_keywords'] = '=%s %s' % (p.cpv, keyword)
 
 
-def others(config, p, subdir):
-    fpath = os.path.join(CONST.PORTAGE_CONFIGDIR, subdir)
+def from_etc_portage(config, p, subdir):
+    # We could add better matching intelligence here so as to match
+    # these subdirs+files for /etc/portage not maintained by GRS.
+    fpath = os.path.join(CONST.PORTAGE_CONFIGDIR, '%s/%s' % \
+        (subdir, re.sub('[/:]', '_', p.slot_atom)))
     if os.path.isfile(fpath):
         with open(fpath, 'r') as g:
             config[p.slot_atom][subdir] = g.read()
@@ -121,10 +124,10 @@ def main():
         keywords(config, p)
 
         # Others - these are read out of /etc/portage
-        others(config, p, 'env')
-        others(config, p, 'package.env')
-        others(config, p, 'package.mask')
-        others(config, p, 'package.unmask')
+        from_etc_portage(config, p, 'env')
+        from_etc_portage(config, p, 'package.env')
+        from_etc_portage(config, p, 'package.mask')
+        from_etc_portage(config, p, 'package.unmask')
 
         # Remove any empty sections
         if config[p.slot_atom] == {}:


^ permalink raw reply related	[flat|nested] 25+ messages in thread
* [gentoo-commits] proj/grss:master commit in: /
@ 2015-07-05 16:11 Anthony G. Basile
  0 siblings, 0 replies; 25+ messages in thread
From: Anthony G. Basile @ 2015-07-05 16:11 UTC (permalink / raw
  To: gentoo-commits

commit:     a41470af307df90f2be041900dceeed7114d4b74
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sun Jul  5 16:13:39 2015 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sun Jul  5 16:13:39 2015 +0000
URL:        https://gitweb.gentoo.org/proj/grss.git/commit/?id=a41470af

make-worldconf: change structure of world.conf.

 make-worldconf | 33 ++++++---------------------------
 1 file changed, 6 insertions(+), 27 deletions(-)

diff --git a/make-worldconf b/make-worldconf
index 4b962d4..85f63b0 100755
--- a/make-worldconf
+++ b/make-worldconf
@@ -66,8 +66,7 @@ def useflags(config, p):
     # Insert nicely sorted flags.
     if len(flags) > 0:
         flags.sort()
-        config[p.slot_atom]['package.use/%s' % re.sub('[/:]', '_', p.slot_atom)] = \
-            p.slot_atom + ' ' + ' '.join(flags)
+        config[p.slot_atom]['package.use'] = p.slot_atom + ' ' + ' '.join(flags)
 
 
 def keywords(config, p):
@@ -84,33 +83,14 @@ def keywords(config, p):
     except AttributeError:
         pass
     if keyword:
-        config[p.slot_atom]['package.accept_keywords/%s' % re.sub('[/:]', '_', p.slot_atom)] = \
-            '=%s %s' % (p.cpv, keyword)
-
-
-def envvars(config, p):
-    fpath = os.path.join(CONST.PORTAGE_CONFIGDIR, 'package.env')
-    if os.path.isfile(fpath):
-        with open(fpath, 'r') as g:
-            for l in g.readlines():
-                # This matching needs to be made more strick.
-                if re.search('%s' % re.escape(p.cpv_split[1]), l):
-                    p_slot_atom = re.sub('[/:]', '_', p.slot_atom)
-                    config[p.slot_atom]['package.env/%s' % p_slot_atom] = \
-                        '%s %s' % (p.slot_atom, p_slot_atom)
-                    m = re.search('(\S+)\s+(\S+)', l)
-                    env_file = os.path.join(CONST.PORTAGE_CONFIGDIR, 'env')
-                    env_file = os.path.join(env_file, m.group(2))
-                    with open(env_file, 'r') as h:
-                        config[p.slot_atom]['env/%s' % p_slot_atom] = h.read()
+        config[p.slot_atom]['package.accept_keywords'] = '=%s %s' % (p.cpv, keyword)
 
 
 def others(config, p, subdir):
-    rpath = '%s/%s' % (subdir, re.sub('[/:]', '_', p.slot_atom))
-    fpath = os.path.join(CONST.PORTAGE_CONFIGDIR, rpath)
+    fpath = os.path.join(CONST.PORTAGE_CONFIGDIR, subdir)
     if os.path.isfile(fpath):
         with open(fpath, 'r') as g:
-            config[p.slot_atom][rpath] = g.read()
+            config[p.slot_atom][subdir] = g.read()
 
 
 def main():
@@ -140,10 +120,9 @@ def main():
         # Populate package.accept_keywords - these are read out of p
         keywords(config, p)
 
-        # Populate package.env and env/* - these are read out of /etc/portage
-        envvars(config, p)
-
         # Others - these are read out of /etc/portage
+        others(config, p, 'env')
+        others(config, p, 'package.env')
         others(config, p, 'package.mask')
         others(config, p, 'package.unmask')
 


^ permalink raw reply related	[flat|nested] 25+ messages in thread
* [gentoo-commits] proj/grss:master commit in: /
@ 2015-07-05 15:19 Anthony G. Basile
  0 siblings, 0 replies; 25+ messages in thread
From: Anthony G. Basile @ 2015-07-05 15:19 UTC (permalink / raw
  To: gentoo-commits

commit:     fc18c3375970978638680c0b7195deeecb6ae6ef
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sun Jul  5 15:22:20 2015 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sun Jul  5 15:22:20 2015 +0000
URL:        https://gitweb.gentoo.org/proj/grss.git/commit/?id=fc18c337

make-worldconf: replace package.env file with directory.

 make-worldconf | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/make-worldconf b/make-worldconf
index 9f27266..4b962d4 100755
--- a/make-worldconf
+++ b/make-worldconf
@@ -96,7 +96,8 @@ def envvars(config, p):
                 # This matching needs to be made more strick.
                 if re.search('%s' % re.escape(p.cpv_split[1]), l):
                     p_slot_atom = re.sub('[/:]', '_', p.slot_atom)
-                    config[p.slot_atom]['+package.env'] = '%s %s' % (p.slot_atom, p_slot_atom)
+                    config[p.slot_atom]['package.env/%s' % p_slot_atom] = \
+                        '%s %s' % (p.slot_atom, p_slot_atom)
                     m = re.search('(\S+)\s+(\S+)', l)
                     env_file = os.path.join(CONST.PORTAGE_CONFIGDIR, 'env')
                     env_file = os.path.join(env_file, m.group(2))
@@ -107,7 +108,7 @@ def envvars(config, p):
 def others(config, p, subdir):
     rpath = '%s/%s' % (subdir, re.sub('[/:]', '_', p.slot_atom))
     fpath = os.path.join(CONST.PORTAGE_CONFIGDIR, rpath)
-    if os.path.isile(fpath):
+    if os.path.isfile(fpath):
         with open(fpath, 'r') as g:
             config[p.slot_atom][rpath] = g.read()
 


^ permalink raw reply related	[flat|nested] 25+ messages in thread
* [gentoo-commits] proj/grss:master commit in: /
@ 2015-07-05 12:40 Anthony G. Basile
  0 siblings, 0 replies; 25+ messages in thread
From: Anthony G. Basile @ 2015-07-05 12:40 UTC (permalink / raw
  To: gentoo-commits

commit:     4ca8d87b69a8552da9e6ad575d831e6c9dab2e2b
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sun Jul  5 12:43:08 2015 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sun Jul  5 12:43:08 2015 +0000
URL:        https://gitweb.gentoo.org/proj/grss.git/commit/?id=4ca8d87b

make-worldconf: search package.{,un}mask

 make-worldconf | 30 ++++++++++++++++++++----------
 1 file changed, 20 insertions(+), 10 deletions(-)

diff --git a/make-worldconf b/make-worldconf
index 09de316..9f27266 100755
--- a/make-worldconf
+++ b/make-worldconf
@@ -89,21 +89,27 @@ def keywords(config, p):
 
 
 def envvars(config, p):
-    try:
-        fpath = os.path.join(CONST.PORTAGE_CONFIGDIR, 'package.env')
+    fpath = os.path.join(CONST.PORTAGE_CONFIGDIR, 'package.env')
+    if os.path.isfile(fpath):
         with open(fpath, 'r') as g:
             for l in g.readlines():
                 # This matching needs to be made more strick.
                 if re.search('%s' % re.escape(p.cpv_split[1]), l):
-                    config[p.slot_atom]['+package.env'] = '%s %s' % (p.slot_atom,
-                        re.sub('[/:]', '_', p.slot_atom))
+                    p_slot_atom = re.sub('[/:]', '_', p.slot_atom)
+                    config[p.slot_atom]['+package.env'] = '%s %s' % (p.slot_atom, p_slot_atom)
                     m = re.search('(\S+)\s+(\S+)', l)
                     env_file = os.path.join(CONST.PORTAGE_CONFIGDIR, 'env')
                     env_file = os.path.join(env_file, m.group(2))
                     with open(env_file, 'r') as h:
-                        config[p.slot_atom]['env/%s' % re.sub('[/:]', '_', p.slot_atom)] = h.read()
-    except FileNotFoundError:
-        pass
+                        config[p.slot_atom]['env/%s' % p_slot_atom] = h.read()
+
+
+def others(config, p, subdir):
+    rpath = '%s/%s' % (subdir, re.sub('[/:]', '_', p.slot_atom))
+    fpath = os.path.join(CONST.PORTAGE_CONFIGDIR, rpath)
+    if os.path.isile(fpath):
+        with open(fpath, 'r') as g:
+            config[p.slot_atom][rpath] = g.read()
 
 
 def main():
@@ -127,15 +133,19 @@ def main():
         except AttributeError:
             continue
 
-        # Populate package.use
+        # Populate package.use - these are read out of p
         useflags(config, p)
 
-        # Populate package.accept_keywords
+        # Populate package.accept_keywords - these are read out of p
         keywords(config, p)
 
-        # Populate package.env and env/*
+        # Populate package.env and env/* - these are read out of /etc/portage
         envvars(config, p)
 
+        # Others - these are read out of /etc/portage
+        others(config, p, 'package.mask')
+        others(config, p, 'package.unmask')
+
         # Remove any empty sections
         if config[p.slot_atom] == {}:
             config.remove_section(p.slot_atom)


^ permalink raw reply related	[flat|nested] 25+ messages in thread
* [gentoo-commits] proj/grss:master commit in: /
@ 2015-07-04 14:13 Anthony G. Basile
  0 siblings, 0 replies; 25+ messages in thread
From: Anthony G. Basile @ 2015-07-04 14:13 UTC (permalink / raw
  To: gentoo-commits

commit:     e6015978f8ee88ffadcdfaacc0d3c8b78ff02ba9
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sat Jul  4 14:15:52 2015 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sat Jul  4 14:15:52 2015 +0000
URL:        https://gitweb.gentoo.org/proj/grss.git/commit/?id=e6015978

README: add blurb about cgroup.

 README | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/README b/README
index c9af472..626f80d 100644
--- a/README
+++ b/README
@@ -70,9 +70,14 @@ Features:
     transcribe the steps one would manually take in a chroot in build the system
     into the build script, and grsrun will automatically repeat them.
 
-    *  It is possible to script a GRS system to do the equivalent of catalyst runs.
+    * It is possible to script a GRS system to do the equivalent of catalyst runs.
     [TODO: there is still one more build script directive required here, pivot_chroot.]
 
+    * The use of Linux cgroup make management easy.  There is no need to trap or
+    propagate signals when writing the scripts that are to be run in the chroot.
+    A simple SIGTERM to grsrun will ensure that all children process are properly
+    terminated and that any bind-mounted filesystems are unmounted.
+
     * A GRS system acts as a "tinderbox-lite" in that build failures are reported.
     So as a GRS system evolves over time, as package are bumped, any breakages that
     are introduced will be caught and reported.


^ permalink raw reply related	[flat|nested] 25+ messages in thread
* [gentoo-commits] proj/grss:master commit in: /
@ 2015-07-02 16:51 Anthony G. Basile
  0 siblings, 0 replies; 25+ messages in thread
From: Anthony G. Basile @ 2015-07-02 16:51 UTC (permalink / raw
  To: gentoo-commits

commit:     d3c490a9411769f6dfdf241dbcee7ae6b717eab4
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Thu Jul  2 16:53:33 2015 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Thu Jul  2 16:53:33 2015 +0000
URL:        https://gitweb.gentoo.org/proj/grss.git/commit/?id=d3c490a9

make-worldconf: sort the sections of world.conf.

 make-worldconf | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/make-worldconf b/make-worldconf
index 5ab0b46..09de316 100755
--- a/make-worldconf
+++ b/make-worldconf
@@ -121,7 +121,7 @@ def main():
     config = configparser.RawConfigParser(delimiters=':', allow_no_value=True, comment_prefixes=None)
 
     for p in mydepgraph.altlist():
-        # Prepare a section for this atom
+        # Prepare an empty section for this atom
         try:
             config[p.slot_atom] = {}
         except AttributeError:
@@ -136,11 +136,19 @@ def main():
         # Populate package.env and env/*
         envvars(config, p)
 
+        # Remove any empty sections
         if config[p.slot_atom] == {}:
             config.remove_section(p.slot_atom)
 
+    # Recontruct a RawConfigParser from the above which has sorted sections.
+    all_slot_atoms = config.sections()
+    all_slot_atoms.sort()
+    sorted_config = configparser.RawConfigParser(delimiters=':', allow_no_value=True, comment_prefixes=None)
+    for s in all_slot_atoms:
+        sorted_config[s] = config[s]
+
     with open('world.conf', 'w') as configfile:
-        config.write(configfile)
+        sorted_config.write(configfile)
 
 if __name__ == "__main__":
     main()


^ permalink raw reply related	[flat|nested] 25+ messages in thread
* [gentoo-commits] proj/grss:master commit in: /
@ 2015-07-01 18:12 Anthony G. Basile
  0 siblings, 0 replies; 25+ messages in thread
From: Anthony G. Basile @ 2015-07-01 18:12 UTC (permalink / raw
  To: gentoo-commits

commit:     28e04f00d36766d8aa78c9ffabe5bcfeb6f1ee88
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Wed Jul  1 18:15:15 2015 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Wed Jul  1 18:15:15 2015 +0000
URL:        https://gitweb.gentoo.org/proj/grss.git/commit/?id=28e04f00

grsup: fix syntax error in arg order.

 grsup | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/grsup b/grsup
index 3bab876..69decfc 100755
--- a/grsup
+++ b/grsup
@@ -21,7 +21,7 @@ from portage.exception import IsADirectory, ParseError, PermissionDenied
 from portage import setting
 
 
-def install_kernel(version = 'latest', logfile):
+def install_kernel(version = 'latest', logfile = CONST.LOGFILE):
     """ doc here
         more doc
     """


^ permalink raw reply related	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2016-04-02 22:07 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-25  1:51 [gentoo-commits] proj/grss:master commit in: / Anthony G. Basile
  -- strict thread matches above, loose matches on Subject: below --
2016-04-02 22:06 Anthony G. Basile
2015-08-08 20:26 Anthony G. Basile
2015-08-08 17:52 Anthony G. Basile
2015-08-04 21:41 Anthony G. Basile
2015-08-04 19:32 Anthony G. Basile
2015-08-04 19:25 Anthony G. Basile
2015-07-25 22:06 Anthony G. Basile
2015-07-25 15:32 Anthony G. Basile
2015-07-25  1:24 Anthony G. Basile
2015-07-10 21:13 Anthony G. Basile
2015-07-07 12:38 Anthony G. Basile
2015-07-07  0:41 Anthony G. Basile
2015-07-06 19:57 Anthony G. Basile
2015-07-06 19:49 Anthony G. Basile
2015-07-06  1:39 Anthony G. Basile
2015-07-05 23:56 Anthony G. Basile
2015-07-05 16:33 Anthony G. Basile
2015-07-05 16:20 Anthony G. Basile
2015-07-05 16:11 Anthony G. Basile
2015-07-05 15:19 Anthony G. Basile
2015-07-05 12:40 Anthony G. Basile
2015-07-04 14:13 Anthony G. Basile
2015-07-02 16:51 Anthony G. Basile
2015-07-01 18:12 Anthony G. Basile

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox