catalyst.git
10 years agoFix some paths/normpath usage. Use pjoin to join paths.
Brian Dolbec [Sat, 1 Jun 2013 06:28:19 +0000 (23:28 -0700)]
Fix some paths/normpath usage.  Use pjoin to join paths.
Use os.path.dirname() instead of splitting and rejoining without the filename.

10 years agoCreate AutoResume class to handle all file creation, deletion...
Brian Dolbec [Sat, 1 Jun 2013 06:23:46 +0000 (23:23 -0700)]
Create AutoResume class to handle all file creation, deletion...

Create catalyst/base/resume.py.
Migrate all auto_resume operations to using the new class.

10 years agoRefactor ClearBase code to remove code duplication.
Brian Dolbec [Sat, 1 Jun 2013 06:24:46 +0000 (23:24 -0700)]
Refactor ClearBase code to remove code duplication.

10 years agoInitial creation of fileops.py
Brian Dolbec [Fri, 31 May 2013 16:11:30 +0000 (09:11 -0700)]
Initial creation of fileops.py

Migrate to using ensure_dirs()

10 years agoMigrate version to use snakeoil's format_version() to append git commit info.
Brian Dolbec [Thu, 30 May 2013 19:34:06 +0000 (12:34 -0700)]
Migrate version to use snakeoil's format_version() to append git commit info.

This will make tagging releases easy as well as providing better debug info while running live versions of the software.

10 years agoMake the use of preserved_libs optional by setting the options variable.
Brian Dolbec [Tue, 28 May 2013 00:18:43 +0000 (17:18 -0700)]
Make the use of preserved_libs optional by setting the options variable.

Ported from commits:
 462348d88b3a5fa783f322c64131025581ecc220
 f6ad384914a00099eea2a0f66232728c479ec628
 in the master branch.
AUTHOR: Jorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto@gentoo.org> (Sun 14 Apr 2013 08:22:34 PM PDT)

10 years agoAdd support for m68k
Raúl Porcel [Sat, 6 Apr 2013 17:07:00 +0000 (17:07 +0000)]
Add support for m68k

port commit for the rewrite branch.
Brian Dolbec <dolsen@gentoo.org>

10 years agoupdate version to identify the rewite-git code is being run
Brian Dolbec [Mon, 27 May 2013 23:34:33 +0000 (16:34 -0700)]
update version to identify the rewite-git code is being run

10 years agofix indent.
Brian Dolbec [Mon, 27 May 2013 23:08:16 +0000 (16:08 -0700)]
fix indent.

10 years agoFix broken seed stage update...
Brian Dolbec [Tue, 26 Feb 2013 07:31:41 +0000 (23:31 -0800)]
Fix broken seed stage update...

Add a check for the update_seed option to set the correct update options.
Fix default seed stage update command to properly update gcc and it's deps.
Add --binpkg-respect-use=y for all cases --usepkg is enabled.
Apply patch to fix broken if logic in the setup_emergeoptions() by Douglas Freed <dwfreed@mtu.edu> and rebase

10 years agoFix typo in error message, clean up useless tracebacks
Brian Dolbec [Mon, 25 Feb 2013 03:52:44 +0000 (19:52 -0800)]
Fix typo in error message, clean up useless tracebacks

Remove useless python tracebacks for bash side target failures.

10 years agoupdate gitignore
Brian Dolbec [Mon, 25 Feb 2013 00:33:29 +0000 (16:33 -0800)]
update gitignore

10 years agomixed spaces/tabs and indent cleanup.
Brian Dolbec [Mon, 25 Feb 2013 00:29:52 +0000 (16:29 -0800)]
mixed spaces/tabs and indent cleanup.

10 years agoMigrate hardcoded /etc/portage paths
Brian Dolbec [Sun, 24 Feb 2013 20:33:18 +0000 (12:33 -0800)]
Migrate hardcoded /etc/portage paths

Create "port_conf" default.
Migrate all references to /etc/portage to the config's default.
Migrate all make.conf paths to the config'd default.

10 years agoFix a bug that portage didn't get rebuilt with the build use flag
Brian Dolbec [Sun, 10 Feb 2013 20:06:15 +0000 (12:06 -0800)]
Fix a bug that portage didn't get rebuilt with the build use flag

If clst_PGKCACHE is defined, --newuse was not being added to clst_myemergeopts, so then portage was not being rebuilt if portage was already up to date.

10 years agoAdd archdir to settings
Brian Dolbec [Tue, 12 Feb 2013 04:13:13 +0000 (20:13 -0800)]
Add archdir to settings

10 years agoCommit my testpath file with instructions to run the git checkout code directly witho...
Brian Dolbec [Fri, 25 Jan 2013 04:26:38 +0000 (20:26 -0800)]
Commit my testpath file with instructions to run the git checkout code directly without being installed.

10 years agoFIXME! Add a forced debug print statement in cmd() for better debug output
Brian Dolbec [Fri, 25 Jan 2013 04:14:31 +0000 (20:14 -0800)]
FIXME! Add a forced debug print statement in cmd() for better debug output

Migrate this and other code to use python's logging module.

10 years agoRemove trailing slash for consistency in variables
Brian Dolbec [Fri, 25 Jan 2013 04:13:40 +0000 (20:13 -0800)]
Remove trailing slash for consistency in variables

remove extra slashes in paths,
fix hash header

10 years agoFix a relative path bug
Brian Dolbec [Mon, 11 Feb 2013 23:54:36 +0000 (15:54 -0800)]
Fix a relative path bug

10 years agoAdd '--- 'to at the start of all echo messages to aid debugging
Brian Dolbec [Fri, 25 Jan 2013 04:09:08 +0000 (20:09 -0800)]
Add '--- 'to at the start of all echo messages to aid debugging

10 years agoMake shdir a complete path to ease it's use.
Brian Dolbec [Tue, 12 Feb 2013 04:09:01 +0000 (20:09 -0800)]
Make shdir a complete path to ease it's use.

Add a "shdir" setting to config.
This is to make moving the bash code around easier.
It also reduces more hardcoded paths in the bash scripts.
Migrate all target shell scripts to use the new shdir setting

10 years agoExtend ParserBase to do variable substitution.
Brian Dolbec [Fri, 25 Jan 2013 04:00:24 +0000 (20:00 -0800)]
Extend ParserBase to do variable substitution.

Also add embedded variable substitiution to default settings.
Why are we not using python's built-in ConfigParser?
We'll migrate it later.

10 years agoreduce 2 operations into one simpler one
Brian Dolbec [Wed, 23 Jan 2013 04:57:05 +0000 (20:57 -0800)]
reduce 2 operations into one simpler one

10 years agoBreak out more repeated (path1 + path2)'s...
Brian Dolbec [Tue, 12 Feb 2013 04:06:01 +0000 (20:06 -0800)]
Break out more repeated (path1 + path2)'s...

Just do it once and use the temp variable.
Comment out some debug print's.
Fix options conversion for export to bash.

10 years agoFIXME! Comment out a small code block causing TypeError.
Brian Dolbec [Tue, 22 Jan 2013 08:34:41 +0000 (00:34 -0800)]
FIXME! Comment out a small code block causing TypeError.

This was also short circuiting another large code block.  FIXME!!!! This
whole class seems overly complicated with TOO MANY nested try:excepts:

10 years agoRename all target .py files and classes without _target in them.
Brian Dolbec [Tue, 22 Jan 2013 00:10:51 +0000 (16:10 -0800)]
Rename all target .py files and classes without _target in them.

This is so they are the named the same as the target .sh files
and work with the now simplified module loading.

10 years agochmod +x all sh scripts so they can run from the git checkout
Brian Dolbec [Mon, 21 Jan 2013 23:58:58 +0000 (15:58 -0800)]
chmod +x all sh scripts so they can run from the git checkout

10 years agoUse normpath from support
Brian Dolbec [Mon, 21 Jan 2013 23:54:02 +0000 (15:54 -0800)]
Use normpath from support

Conflicts:
catalyst/lock.py

10 years agoFix mounts, mountmap hardcoding removal...
Brian Dolbec [Tue, 12 Feb 2013 04:00:35 +0000 (20:00 -0800)]
Fix mounts, mountmap hardcoding removal...

Use normpath to fix paths, add some debug print statements,
Fix some missed conversions from uppercase to lowercase settings members.

10 years agofix options being reset by a config file
Brian Dolbec [Mon, 21 Jan 2013 23:34:32 +0000 (15:34 -0800)]
fix options being reset by a config file

10 years agoUpdate module loading for the new python structure, rename snapshot_target to snapshot
Brian Dolbec [Sun, 20 Jan 2013 21:50:23 +0000 (13:50 -0800)]
Update module loading for the new python structure, rename snapshot_target to snapshot

10 years agoMove base stage and target files to thier own sub-pkg
Brian Dolbec [Tue, 12 Feb 2013 03:51:52 +0000 (19:51 -0800)]
Move base stage and target files to thier own sub-pkg

Fix an indent error in grp_target.py

10 years agoremove redundant /bin/bash additions in cmd() calls
Brian Dolbec [Tue, 12 Feb 2013 03:43:37 +0000 (19:43 -0800)]
remove redundant /bin/bash additions in cmd() calls

10 years agosome spacing and comment and indent cleanup, etc.
Brian Dolbec [Sun, 20 Jan 2013 19:22:27 +0000 (11:22 -0800)]
some spacing and comment and indent cleanup, etc.

10 years agoBegin splitting up generic_stage_target into smaller code blocks.
Brian Dolbec [Sun, 20 Jan 2013 08:10:03 +0000 (00:10 -0800)]
Begin splitting up generic_stage_target into smaller code blocks.

This so snapshot_target does not need to import it since most of it was
not used or initialized properly.

10 years agoMassive pyflakes import cleanup and broken CatalystError calls.
Brian Dolbec [Sun, 20 Jan 2013 04:29:16 +0000 (20:29 -0800)]
Massive pyflakes import cleanup and broken CatalystError calls.

Replace "import *" with named imports, remove unused imports.
Fix broken CatalystError usage.

10 years agoMove LockInUse from support.py to lock.py, fix bad execption raising, pyflakes cleanup
Brian Dolbec [Sun, 20 Jan 2013 01:50:26 +0000 (17:50 -0800)]
Move LockInUse from support.py to lock.py, fix bad execption raising,  pyflakes cleanup

10 years agoSome options cleanup, unifying their use, reducing redundancy.
Brian Dolbec [Sun, 20 Jan 2013 01:28:51 +0000 (17:28 -0800)]
Some options cleanup, unifying their use, reducing redundancy.

10 years agoMove confdefaults out of main.py
Brian Dolbec [Sat, 19 Jan 2013 05:51:35 +0000 (21:51 -0800)]
Move confdefaults out of main.py

10 years agoInitial creation of a defaults file and Split up support.py
Brian Dolbec [Sat, 19 Jan 2013 05:12:07 +0000 (21:12 -0800)]
Initial creation of a defaults file and Split up support.py

Split out hash and contents to their own classes, files.

10 years agoFix undefined variable: RLIMIT_NOFILE
Brian Dolbec [Mon, 14 Jan 2013 03:32:29 +0000 (19:32 -0800)]
Fix undefined variable: RLIMIT_NOFILE

It was not imported from resource, it was also not used correctly.

10 years agoRemove unused variable new and an undefined variable s.
Brian Dolbec [Tue, 12 Feb 2013 02:54:40 +0000 (18:54 -0800)]
Remove unused variable new and an undefined variable s.

Commit b3475906d5f51a21ecaf4ff048002a2f44face52 introduced an
undefined variable "s".  The code must always be hitting the
general except: pass block.  Seems useless, if not maybe it'll
spit out a true error, so the real problem can be fixed.  Removed it all.

10 years agoRemove unused urllib import.
Brian Dolbec [Tue, 12 Feb 2013 02:49:19 +0000 (18:49 -0800)]
Remove unused urllib import.

This urllib import was added in commit 64c16cae70da13de3c55d8555a2e4c5dcdf2fcad
to fix an issue, but it is not used.  So must have covered up the real bug.  Removing it now
that I've completed some testing and haven't come across anything I can attribute to it.

10 years agorename files directory to etc to better reflect the directories contents dolsen-rewrite-part-2
Brian Dolbec [Sat, 12 Jan 2013 07:47:10 +0000 (23:47 -0800)]
rename files directory to etc to better reflect the directories contents

10 years agorename the modules subpkg to targets, it better reflects what it contains
Brian Dolbec [Sat, 12 Jan 2013 07:43:36 +0000 (23:43 -0800)]
rename the modules subpkg to targets, it better reflects what it contains

10 years agomove catalyst_support, builder, catalyst_lock out of modules, into the catalyst's...
Brian Dolbec [Sat, 12 Jan 2013 07:32:41 +0000 (23:32 -0800)]
move catalyst_support, builder, catalyst_lock out of modules, into the catalyst's base namespace

10 years agoInitial rearrangement of the python directories
Brian Dolbec [Fri, 11 Jan 2013 02:56:28 +0000 (18:56 -0800)]
Initial rearrangement of the python directories

New minimal start script, moving the original catalyst script to catalyst/main.py.
Add __init__.py's to modules and arch sub-pkgs.
Update the module loading paths for the new locations.
Fix catalyst_support import to new location and specify imported modules.

10 years agocatalst: improve usage() output formatting slightly
Brian Dolbec [Wed, 9 Jan 2013 08:32:41 +0000 (00:32 -0800)]
catalst: improve usage() output formatting slightly

W. Trevor King: Refactored Git history for Brian Dolbec's content changes.

Reviewed-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Brian Dolbec <dolsen@gentoo.org>
10 years agomodules/generic_stage_target.py: Use 'ccache' instead of '/var/tmp/ccache' as the...
Brian Dolbec [Thu, 20 Dec 2012 02:56:04 +0000 (18:56 -0800)]
modules/generic_stage_target.py: Use 'ccache' instead of '/var/tmp/ccache' as the mountmap key

W. Trevor King: Refactored Git history for Brian Dolbec's content changes.

Reviewed-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Brian Dolbec <dolsen@gentoo.org>
10 years agomodules/generic_stage_target.py: Use 'kerncache' instead of '/tmp/kerncache' as the...
Brian Dolbec [Thu, 20 Dec 2012 02:56:04 +0000 (18:56 -0800)]
modules/generic_stage_target.py: Use 'kerncache' instead of '/tmp/kerncache' as the mountmap key

W. Trevor King: Refactored Git history for Brian Dolbec's content changes.

Reviewed-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Brian Dolbec <dolsen@gentoo.org>
10 years agomodules/generic_stage_target.py: Use 'packagedir' instead of '/usr/portage/packages...
Brian Dolbec [Thu, 20 Dec 2012 02:56:04 +0000 (18:56 -0800)]
modules/generic_stage_target.py: Use 'packagedir' instead of '/usr/portage/packages' as the mountmap key

W. Trevor King: Refactored Git history for Brian Dolbec's content changes.

Reviewed-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Brian Dolbec <dolsen@gentoo.org>
10 years agomodules/generic_stage_target.py: Use 'devpts' instead of '/dev/pts' as the mountmap key
Brian Dolbec [Thu, 20 Dec 2012 02:56:04 +0000 (18:56 -0800)]
modules/generic_stage_target.py: Use 'devpts' instead of '/dev/pts' as the mountmap key

W. Trevor King: Refactored Git history for Brian Dolbec's content changes.

Reviewed-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Brian Dolbec <dolsen@gentoo.org>
10 years agomodules/generic_stage_target.py: Use 'port_tmpdir' instead of '/var/tmp/portage'...
Brian Dolbec [Thu, 20 Dec 2012 02:56:04 +0000 (18:56 -0800)]
modules/generic_stage_target.py: Use 'port_tmpdir' instead of '/var/tmp/portage' as the mountmap key

W. Trevor King: Refactored Git history for Brian Dolbec's content changes.

Reviewed-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Brian Dolbec <dolsen@gentoo.org>
10 years agomodules/generic_stage_target.py: Use 'distdir' instead of '/usr/portage/distfiles...
Brian Dolbec [Thu, 20 Dec 2012 02:56:04 +0000 (18:56 -0800)]
modules/generic_stage_target.py: Use 'distdir' instead of '/usr/portage/distfiles' as the mountmap key

W. Trevor King: Refactored Git history for Brian Dolbec's content changes.

Reviewed-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Brian Dolbec <dolsen@gentoo.org>
10 years agomodules/generic_stage_target.py: Use 'dev' instead of '/dev' as the mountmap key
Brian Dolbec [Thu, 20 Dec 2012 02:56:04 +0000 (18:56 -0800)]
modules/generic_stage_target.py: Use 'dev' instead of '/dev' as the mountmap key

W. Trevor King: Refactored Git history for Brian Dolbec's content changes.

Reviewed-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Brian Dolbec <dolsen@gentoo.org>
10 years agomodules/generic_stage_target.py: Use 'proc' instead of '/proc' as the mountmap key
Brian Dolbec [Thu, 20 Dec 2012 02:56:04 +0000 (18:56 -0800)]
modules/generic_stage_target.py: Use 'proc' instead of '/proc' as the mountmap key

W. Trevor King: Refactored Git history for Brian Dolbec's content changes.

Reviewed-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Brian Dolbec <dolsen@gentoo.org>
10 years agomodules/generic_stage_target.py: Don't use paths as mountmap keys
Brian Dolbec [Thu, 20 Dec 2012 02:56:04 +0000 (18:56 -0800)]
modules/generic_stage_target.py: Don't use paths as mountmap keys

W. Trevor King: Refactored Git history for Brian Dolbec's content changes.

Reviewed-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Brian Dolbec <dolsen@gentoo.org>
10 years agocatalyst: Add 'packagedir' default instead of hard-coding '/usr/portage/packages'
Brian Dolbec [Thu, 20 Dec 2012 02:56:04 +0000 (18:56 -0800)]
catalyst: Add 'packagedir' default instead of hard-coding '/usr/portage/packages'

W. Trevor King: Refactored Git history for Brian Dolbec's content changes.

Reviewed-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Brian Dolbec <dolsen@gentoo.org>
10 years agocatalyst: Add 'snapshot_name' default
Brian Dolbec [Tue, 8 Jan 2013 07:17:22 +0000 (23:17 -0800)]
catalyst: Add 'snapshot_name' default

W. Trevor King: Refactored Git history for Brian Dolbec's content changes.

Reviewed-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Brian Dolbec <dolsen@gentoo.org>
10 years agocatalyst: Add 'repo_name' default
Brian Dolbec [Tue, 8 Jan 2013 07:17:22 +0000 (23:17 -0800)]
catalyst: Add 'repo_name' default

W. Trevor King: Refactored Git history for Brian Dolbec's content changes.

Reviewed-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Brian Dolbec <dolsen@gentoo.org>
10 years agocatalyst: Split confdefaults into line-per-entry
Brian Dolbec [Tue, 8 Jan 2013 07:17:22 +0000 (23:17 -0800)]
catalyst: Split confdefaults into line-per-entry

This makes it easy to find the key you're looking for.  Future
additions and removals will also have cleaner diffs.

W. Trevor King: Refactored Git history for Brian Dolbec's content changes.

Reviewed-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Brian Dolbec <dolsen@gentoo.org>
10 years agomodules/generic_stage_target.py: Use a 'local_overlay' setting instead of hard-coding...
Brian Dolbec [Thu, 20 Dec 2012 02:56:04 +0000 (18:56 -0800)]
modules/generic_stage_target.py: Use a 'local_overlay' setting instead of hard-coding '/usr/local/portage'

W. Trevor King: Refactored Git history for Brian Dolbec's content changes.

Reviewed-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Brian Dolbec <dolsen@gentoo.org>
10 years agomodules/generic_stage_target.py: Use 'distdir' instead of hard-coding '${PORTAGE...
Brian Dolbec [Fri, 22 Nov 2013 04:51:13 +0000 (20:51 -0800)]
modules/generic_stage_target.py: Use 'distdir' instead of hard-coding '${PORTAGE}/distfiles'

W. Trevor King: Refactored Git history for Brian Dolbec's content changes.

Reviewed-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Brian Dolbec <dolsen@gentoo.org>
10 years agomodules/generic_stage_target.py: Use 'portdir' instead of hard-coding '/usr/portage'
Brian Dolbec [Fri, 22 Nov 2013 04:51:13 +0000 (20:51 -0800)]
modules/generic_stage_target.py: Use 'portdir' instead of hard-coding '/usr/portage'

W. Trevor King: Refactored Git history for Brian Dolbec's content changes.

Reviewed-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Brian Dolbec <dolsen@gentoo.org>
10 years agomodules/generic_stage_target.py: Use 'portdir' instead of hard-coding '/usr/portage'
Brian Dolbec [Thu, 20 Dec 2012 02:56:04 +0000 (18:56 -0800)]
modules/generic_stage_target.py: Use 'portdir' instead of hard-coding '/usr/portage'

W. Trevor King: Refactored Git history for Brian Dolbec's content changes.

Reviewed-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Brian Dolbec <dolsen@gentoo.org>
10 years agomodules/tinderbox_target.py: Use 'portdir' instead of hard-coding '/usr/portage'
Brian Dolbec [Tue, 8 Jan 2013 07:17:22 +0000 (23:17 -0800)]
modules/tinderbox_target.py: Use 'portdir' instead of hard-coding '/usr/portage'

W. Trevor King: Refactored Git history for Brian Dolbec's content
changes with additional whitespace cleanups.

Reviewed-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Brian Dolbec <dolsen@gentoo.org>
10 years agocatalyst 2.0.15
Matt Turner [Wed, 13 Nov 2013 21:59:25 +0000 (13:59 -0800)]
catalyst 2.0.15

10 years agolivecdfs-update.sh: Use `bash --login` to spawn startx
W. Trevor King [Wed, 6 Mar 2013 17:02:59 +0000 (12:02 -0500)]
livecdfs-update.sh: Use `bash --login` to spawn startx

Starting a "login" version of Bash via `su` is tricky.  The naive:

  su - ${first_user} -c startx

fails because `su - ...` clears a number of environment variables (so
the prefixed `source /etc/profile` doesn't accomplish anything), but
Bash isn't started with the `--login` option, so it doesn't source
/etc/profile internally.  From bash(1):

  A login shell is one whose first character of argument zero is a -,
  or one started with the --login option.
  ...
  An interactive shell is one started without non-option arguments and
  without the -c option whose standard input and error are both
  connected to terminals (as determined by isatty(3)), or one started
  with the -i option...
  ...
  When bash is invoked as an interactive login shell, or as a
  non-interactive shell with the --login option, it first reads and
  executes commands from the file /etc/profile, if that file exists.
  After reading that file, it looks for ~/.bash_profile,
  ~/.bash_login, and ~/.profile, in that order, and reads and executes
  commands from the first one that exists and is readable.  The
  --noprofile option may be used when the shell is started to inhibit
  this behavior.

In order to get the login-style profile loading with a non-interactive
`su` invocation, you need to use something like:

  echo "${command}" | su - "${user}"

This starts a login shell and pipes the command in via stdin, which
seems to fake Bash into thinking its running from an interactive
terminal.  Not the most elegant, but the other implementations I can
think of are even worse:

  su - "${user}" -c "bash --login -c ${command}"
  su - "${user}" -c 'source /etc/profile &&
      (source .bash_profile || ...) && ${command}"

The old expression was broken anyway due to unescaped ampersands in
the sed expression.  From sed(1):

  s/regexp/replacement/
    Attempt to match regexp against the pattern space.  If successful,
    replace that portion matched with replacement.  The replacement
    may contain the special character & to refer to that portion of
    the pattern space which matched, and the special escapes \1
    through \9 to refer to the corresponding matching sub-expressions
    in the regexp.

This means that the old expression (with unescaped ampersands) lead
to:

  source /etc/profile ##STARTX##STARTX su - ${first_user} -c startx

with ${first_user} expanded.  This commented out startx, so it was
never run.

Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agolivecd-bashrc: Avoid a startx race by restricting to tty1
W. Trevor King [Wed, 25 Sep 2013 22:26:06 +0000 (15:26 -0700)]
livecd-bashrc: Avoid a startx race by restricting to tty1

Bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=481236
Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agoRevert "livecdfs-update.sh: Escape ampersands in STARTX sed expression"
Matt Turner [Fri, 11 Oct 2013 22:06:14 +0000 (15:06 -0700)]
Revert "livecdfs-update.sh: Escape ampersands in STARTX sed expression"

This reverts commit ed4d1623c3dac22ed008f518b79deecde1f33c26.

The commit was a v1 commit that was supposed to be replaced.

10 years agocatalyst: Remove commented sections of code
Dylan Baker [Sun, 13 Oct 2013 09:07:38 +0000 (02:07 -0700)]
catalyst: Remove commented sections of code

Code in the upstream tree should either run or it shouldn't be there.

Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agocatalyst: split combined import
Dylan Baker [Sun, 13 Oct 2013 09:07:37 +0000 (02:07 -0700)]
catalyst: split combined import

Combining multiple modules into a single import is discouraged in
python's PEP8 style guide:

"""
Imports should usually be on separate lines, e.g.:

Yes: import os
     import sys

     No:  import sys, os
"""

Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agocatalyst: use a more pythonic method to import modules
Dylan Baker [Sun, 13 Oct 2013 09:07:36 +0000 (02:07 -0700)]
catalyst: use a more pythonic method to import modules

Rather than appending a directory to the system path, this patch adds a
__init__.py file to modules, which allows python to search it, and it's
children for python modules. This also requires changes to a few of the
module files to make them happy.

Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agocatalyst: Specify python2 rather than the generic python
Dylan Baker [Sun, 13 Oct 2013 09:07:35 +0000 (02:07 -0700)]
catalyst: Specify python2 rather than the generic python

This allows catalyst to work regardless of whether a user prefers that
usr/bin/python be python 2.x or 3.x.

Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agocatalyst 2.0.14
Matt Turner [Thu, 8 Aug 2013 02:40:03 +0000 (19:40 -0700)]
catalyst 2.0.14

10 years agogeneric_stage_target: default {PORT,PKG,DIST}DIR
Zac Medico [Wed, 31 Jul 2013 04:46:48 +0000 (21:46 -0700)]
generic_stage_target: default {PORT,PKG,DIST}DIR

This provides forward compatiblity so that stage builds do not break
in the future when portage changes the default PORTDIR, PKGDIR, and
DISTDIR locations (bug #378603).

Also, it provides backward compatibility for various tools that require
PORTDIR to be defined in make.conf, such as the following:

gentoo-bashcomp - bug #478444
euse - bug #474574
euses and ufed - bug #478318

X-Gentoo-Bug: 479062
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=479062
Reviewed-by: Matt Turner <mattst88@gmail.com>
10 years agostop tarballing firmware
Rick Farina (Zero_Chaos) [Tue, 6 Aug 2013 00:39:06 +0000 (20:39 -0400)]
stop tarballing firmware

I can't find a reason why firmware is tarballed in the first
place, and now things are messing up because of missing firmware.
Remove tarballing and tmpfs mount for /lib/firmware and just leave
it alone. Bug 479456

10 years agokerncache improperly sets --nodeps
Rick Farina (Zero_Chaos) [Fri, 2 Aug 2013 06:13:16 +0000 (02:13 -0400)]
kerncache improperly sets --nodeps

It makes no sense to set --nodeps just because kerncache is being
used, the kernel still must be built at least once

10 years agoFix incorrect type for livecd/modblacklist.
Brian Dolbec [Fri, 2 Aug 2013 05:59:10 +0000 (22:59 -0700)]
Fix incorrect type for livecd/modblacklist.

Bug reported by tstellar.

10 years agocorrectly remove USE=build
Rick Farina (Zero_Chaos) [Fri, 2 Aug 2013 04:49:11 +0000 (00:49 -0400)]
correctly remove USE=build

c0fcbf027169da8b6f0d5e3c80c1526642c6c672 indavertantly dropped all
livecd-stage2 use flags, rewrite to just drop undesired build.

10 years agoRevert "kmerge.sh: Don't set USE=build for emerging kernels."
Rick Farina (Zero_Chaos) [Fri, 2 Aug 2013 04:46:51 +0000 (00:46 -0400)]
Revert "kmerge.sh: Don't set USE=build for emerging kernels."

This appears to inadvertantly drop livecd-stage2 use flags entirely.

This reverts commit c0fcbf027169da8b6f0d5e3c80c1526642c6c672.

10 years agocatalyst 2.0.13
Matt Turner [Wed, 31 Jul 2013 03:49:20 +0000 (20:49 -0700)]
catalyst 2.0.13

10 years agoFix a py3 syntax error, use print()
Brian Dolbec [Tue, 30 Jul 2013 08:06:05 +0000 (01:06 -0700)]
Fix a py3 syntax error, use print()

Bug reported by Michael Weber <xmw>

10 years agokmerge.sh: Don't set USE=build for emerging kernels.
Matt Turner [Tue, 30 Jul 2013 07:04:51 +0000 (00:04 -0700)]
kmerge.sh: Don't set USE=build for emerging kernels.

USE=build for kernels means that they're not going to be built and that
we just want to install the sources. In catalyst, we do also want to
build the kernels, so settings the (badly named) USE flag prevents
installing sys-devel/bc, ultimately leading to the kernel build failing.

Remove USE=build from kmerge.sh and let it install dependencies
necessary for actually building the kernel. Fixes Live CD builds with
kernels that require bc (>= 3.9, I believe). See bug 478244.

Tested-by: Ben Kohler <bkohler@gmail.com>
10 years agoRemove ChangeLog.
Matt Turner [Thu, 25 Jul 2013 05:45:48 +0000 (22:45 -0700)]
Remove ChangeLog.

git tells us the same information, but better.

10 years agochroot-functions: Give variables more appropriate names.
Matt Turner [Thu, 25 Jul 2013 05:32:16 +0000 (22:32 -0700)]
chroot-functions: Give variables more appropriate names.

10 years agoReplace 'system' with '@system' where applicable, to be more greppable.
Matt Turner [Thu, 25 Jul 2013 05:26:28 +0000 (22:26 -0700)]
Replace 'system' with '@system' where applicable, to be more greppable.

10 years agoFixes a bug inadvertently caused by 6c0a577 where setting update_seed
Douglas Freed [Tue, 28 May 2013 20:20:30 +0000 (16:20 -0400)]
Fixes a bug inadvertently caused by 6c0a577 where setting update_seed
to no would result in dropping the use and making of binpkgs while
building stage1, which is undesirable.  The conditional was getting a
bit unwieldly, so I added a comment explaining when it matches, which is
especially helpful to those who don't know every single test flag.

Tested-By: Rick Farina <zerochaos@gentoo.org>
Tested-By: Brian Dolbec <dolsen@gentoo.org>
10 years agoproper lbzip2 decompression of stages
Rick Farina (Zero_Chaos) [Mon, 27 May 2013 20:25:03 +0000 (16:25 -0400)]
proper lbzip2 decompression of stages

use lbzip2 to decompress stages ONLY, snapshots can be bz2 or xz.
This provides me a 6x increase and likely more if you have fast IO

10 years agoRevert "use lbzip2 to unpack the stages"
Rick Farina (Zero_Chaos) [Mon, 27 May 2013 20:23:12 +0000 (16:23 -0400)]
Revert "use lbzip2 to unpack the stages"

This reverts commit 978c02e6fa04ab7ed1a40003fa0eb4cfce952ca2, missed a
test

10 years agouse lbzip2 to unpack the stages
Rick Farina (Zero_Chaos) [Mon, 27 May 2013 20:13:28 +0000 (16:13 -0400)]
use lbzip2 to unpack the stages

Since we already use lbzip2 to compress everthing,
it makes a significant performance difference to
also unpack the stages using lbzip2.  When the stage
compression is selectable this should be enhanced to use
other decompressors as well (although xz doesn't seem to
need a multi-threaded decompressor).

11 years agoDrop addpatches from the livecd-stage2 example spec as well.
Jorge Manuel B. S. Vicetto (jmbsvicetto) [Wed, 24 Apr 2013 11:27:13 +0000 (11:27 +0000)]
Drop addpatches from the livecd-stage2 example spec as well.

11 years agoDrop addpatches from the stage4 example spec.
Jorge Manuel B. S. Vicetto (jmbsvicetto) [Wed, 24 Apr 2013 11:23:50 +0000 (11:23 +0000)]
Drop addpatches from the stage4 example spec.

11 years agoFix broken "preserve_libs" commit - ";" is not ":".
Jorge Manuel B. S. Vicetto (jmbsvicetto) [Mon, 15 Apr 2013 03:22:34 +0000 (03:22 +0000)]
Fix broken "preserve_libs" commit - ";" is not ":".

11 years agoMake the use of preserved_libs optional by setting the options variable.
Jorge Manuel B. S. Vicetto (jmbsvicetto) [Sun, 31 Mar 2013 02:23:11 +0000 (02:23 +0000)]
Make the use of preserved_libs optional by setting the options variable.

11 years agoFix bugs 407051 and 458536 by using FEATURES="preserve-libs" on the unmerge step...
Jorge Manuel B. S. Vicetto (jmbsvicetto) [Mon, 4 Mar 2013 03:13:11 +0000 (03:13 +0000)]
Fix bugs 407051 and 458536 by using FEATURES="preserve-libs" on the unmerge step of livecd-stage2 target.

11 years agoFix update_seed use by not using nor building binary packages during the seed update.
Jorge Manuel B. S. Vicetto (jmbsvicetto) [Mon, 4 Mar 2013 03:12:18 +0000 (03:12 +0000)]
Fix update_seed use by not using nor building binary packages during the seed update.

11 years agoAdd support for m68k
Raúl Porcel [Sat, 6 Apr 2013 17:07:00 +0000 (17:07 +0000)]
Add support for m68k

11 years agolivecdfs-update.sh: Escape ampersands in STARTX sed expression
W. Trevor King [Sun, 3 Mar 2013 16:53:18 +0000 (11:53 -0500)]
livecdfs-update.sh: Escape ampersands in STARTX sed expression

From sed(1):

  s/regexp/replacement/
    Attempt to match regexp against the pattern space.  If successful,
    replace that portion matched with replacement.  The replacement
    may contain the special character & to refer to that portion of
    the pattern space which matched, and the special escapes \1
    through \9 to refer to the corresponding matching sub-expressions
    in the regexp.

This means that the old expression (with unescaped ampersands) lead
to:

  source /etc/profile ##STARTX##STARTX su - ${first_user} -c startx

when we want:

  source /etc/profile && su - ${first_user} -c startx

with ${first_user} expanded in both cases.

Reviewed-by: Matt Turner <mattst88@gmail.com>