[gentoo-commits] proj/catalyst:master commit in: catalyst/base/

2024-08-22 Thread Ben Kohler
commit: 836744689e0cc09a1a0a89b7272142d5dfb99bd4
Author: Ian Jordan  gmail  com>
AuthorDate: Tue Jul 30 18:27:34 2024 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Thu Aug 22 18:39:53 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=83674468

Add Dist-kernel kconfig support

Based on the orginal patch by oldfashionedcow to add the abilty for
a user to set a custom kconfig for their livecd to be moved to
/etc/kernel/config.d/ before sys-kernel/gentoo-kernel is emerged.

Syntax is the same as the one used for Genkernel kconfigs.

Closes: https://bugs.gentoo.org/936676

Co-authored-by: Rahul Sandh  sandhuservices.dev>
Co-authored-by: Christopher Fore  posteo.net>

Signed-off-by: Ian Jordan  gmail.com>
Closes: https://github.com/gentoo/catalyst/pull/21
Signed-off-by: Ben Kohler  gentoo.org>

 catalyst/base/stagebase.py | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index a23b1d90..8a3d2af6 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -1707,8 +1707,13 @@ class StageBase(TargetBase, ClearBase, GenBase):
 raise CatalystError("Can't find kernel config: %s" %
 self.settings[key])
 
-shutil.copy(self.settings[key],
-self.settings['chroot_path'] + '/var/tmp/' + kname + 
'.config')
+if "boot/kernel/" + kname + "/distkernel" in self.settings:
+os.makedirs(self.settings['chroot_path'] + 
'/etc//kernel/config.d')
+shutil.copy(self.settings[key],
+self.settings['chroot_path'] + 
'/etc//kernel/config.d')
+else:
+shutil.copy(self.settings[key],
+self.settings['chroot_path'] + '/var/tmp/' + kname 
+ '.config')
 
 def _copy_initramfs_overlay(self, kname):
 key = 'boot/kernel/' + kname + '/initramfs_overlay'



[gentoo-commits] proj/catalyst:master commit in: arch/

2024-08-19 Thread Andreas K. Hüttel
commit: 444e3cece1f51581178e0de2ab72f228a9e15bbe
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Mon Aug 19 14:18:57 2024 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Mon Aug 19 14:18:57 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=444e3cec

arch: add x86.i686-t64 subarch definition with appropriate *FLAGS

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 arch/x86.toml | 4 
 1 file changed, 4 insertions(+)

diff --git a/arch/x86.toml b/arch/x86.toml
index 24d4c547..fc131087 100644
--- a/arch/x86.toml
+++ b/arch/x86.toml
@@ -15,6 +15,10 @@ CHOST = "i586-pc-linux-gnu"
 [x86.i686]
 COMMON_FLAGS = "-O2 -march=i686 -pipe"
 
+[x86.i686-t64]
+COMMON_FLAGS = "-O2 -march=i686 -pipe -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64"
+CHOST = "i686-pc_t64-linux-gnu"
+
 [x86.pentium]
 COMMON_FLAGS = "-O2 -march=i586 -pipe"
 CHOST = "i586-pc-linux-gnu"



[gentoo-commits] proj/catalyst:master commit in: catalyst/targets/

2024-08-03 Thread Andreas K. Hüttel
commit: a65ccb75656b8b5a01adf69bcbdcb19425abb0dd
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Sat Aug  3 11:00:48 2024 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Sat Aug  3 11:00:48 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=a65ccb75

stage1: Drop now unneeded imports again

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 catalyst/targets/stage1.py | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/catalyst/targets/stage1.py b/catalyst/targets/stage1.py
index 66f21a9c..18ff1840 100644
--- a/catalyst/targets/stage1.py
+++ b/catalyst/targets/stage1.py
@@ -4,12 +4,10 @@ stage1 target
 # NOTE: That^^ docstring has influence catalyst-spec(5) man page generation.
 
 from catalyst import log
-from catalyst.support import (normpath, get_repo_name)
+from catalyst.support import normpath
 from catalyst.fileops import move_path
 from catalyst.base.stagebase import StageBase
 
-from pathlib import Path
-
 class stage1(StageBase):
 """
 Builder class for a stage1 installation tarball build.



[gentoo-commits] proj/catalyst:master commit in: catalyst/base/, catalyst/targets/

2024-08-03 Thread Andreas K. Hüttel
commit: d4903c231ad2b338e1cb2e2ef9d8585b68e737df
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Sat Aug  3 10:52:38 2024 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Sat Aug  3 10:52:38 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=d4903c23

stagebase: Move ROOT repo bind mount logic to stagebase instead of stage1

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 catalyst/base/stagebase.py | 21 -
 catalyst/targets/stage1.py | 21 -
 2 files changed, 20 insertions(+), 22 deletions(-)

diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index 2975236e..a23b1d90 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -223,13 +223,32 @@ class StageBase(TargetBase, ClearBase, GenBase):
 for path, name, _ in self.repos:
 name = get_repo_name(path)
 mount_id = f'repo_{name}'
+root_mount_id = f'root_repo_{name}'
+repo_loc = self.get_repo_location(name)
 
 self.mount[mount_id] = {
 'enable': True,
 'source': path,
-'target': self.get_repo_location(name)
+'target': repo_loc
 }
 
+# In e.g. the stage1 build we need to make sure that the ebuild 
repositories are
+# accessible within $ROOT too... otherwise relative symlinks may 
point nowhere
+# and, e.g., portageq may malfunction due to missing profile.
+# In the meantime we specifically fixed make.profile to point 
outside ROOT, so
+# this may not be necessary at the moment anymore. Having it can 
prevent future
+# surprises though.
+# Create a second, bind mount entry for each repository. We need to
+# take as source not the original source but the original target, 
since
+# otherwise we may end up trying to mount the same squashfs twice 
instead
+# of a bind mount
+if self.settings['root_path'] != "/":
+self.mount[root_mount_id] = {
+'enable': True,
+'source': self.settings['chroot_path'] / 
repo_loc.relative_to('/'),
+'target': self.settings['root_path'] / 
repo_loc.relative_to('/')
+}
+
 self.mount['distdir']['source'] = self.settings['distdir']
 self.mount["distdir"]['target'] = self.settings['target_distdir']
 

diff --git a/catalyst/targets/stage1.py b/catalyst/targets/stage1.py
index ae27cd0a..66f21a9c 100644
--- a/catalyst/targets/stage1.py
+++ b/catalyst/targets/stage1.py
@@ -23,27 +23,6 @@ class stage1(StageBase):
 
 def __init__(self, spec, addlargs):
 StageBase.__init__(self, spec, addlargs)
-# In the stage1 build we need to make sure that the ebuild 
repositories are
-# accessible within $ROOT too... otherwise relative symlinks may point 
nowhere
-# and, e.g., portageq may malfunction due to missing profile.
-# Create a second, bind mount entry for each repository. We need to
-#  * take as source not the original source but the original target, 
since
-#otherwise we may end up trying to mount the same squashfs twice 
instead
-#of a bind mount
-#  * take the directory inside the chroot as source, not the host 
directory
-# In the meantime we fixed make.profile to point outside ROOT, so this 
may not
-# be necessary at the moment anymore. Having it can prevent future 
surprises
-# though.
-self.set_chroot_path()
-for path, name, _ in self.repos:
-name = get_repo_name(path)
-mount_id = f'root_repo_{name}'
-repo_loc = self.get_repo_location(name)
-self.mount[mount_id] = {
-'enable': True,
-'source': self.settings['chroot_path'] / 
repo_loc.relative_to('/'),
-'target': normpath("/tmp/stage1root") / 
repo_loc.relative_to('/')
-}
 
 def set_root_path(self):
 # sets the root path, relative to 'chroot_path', of the stage1 root



[gentoo-commits] proj/catalyst:master commit in: catalyst/targets/

2024-08-03 Thread Andreas K. Hüttel
commit: 31d975c10785f4de73cd788285ccf2408aa54a30
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Sat Aug  3 09:06:29 2024 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Sat Aug  3 09:06:29 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=31d975c1

stage1: make sure we bind-mount within the chroot dir, try 3, now with pathlib

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 catalyst/targets/stage1.py | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/catalyst/targets/stage1.py b/catalyst/targets/stage1.py
index ba42d9b8..ae27cd0a 100644
--- a/catalyst/targets/stage1.py
+++ b/catalyst/targets/stage1.py
@@ -31,14 +31,18 @@ class stage1(StageBase):
 #otherwise we may end up trying to mount the same squashfs twice 
instead
 #of a bind mount
 #  * take the directory inside the chroot as source, not the host 
directory
+# In the meantime we fixed make.profile to point outside ROOT, so this 
may not
+# be necessary at the moment anymore. Having it can prevent future 
surprises
+# though.
 self.set_chroot_path()
 for path, name, _ in self.repos:
 name = get_repo_name(path)
 mount_id = f'root_repo_{name}'
+repo_loc = self.get_repo_location(name)
 self.mount[mount_id] = {
 'enable': True,
-'source': self.settings['chroot_path'] / 
self.get_repo_location(name),
-'target': normpath("/tmp/stage1root") / 
self.get_repo_location(name)
+'source': self.settings['chroot_path'] / 
repo_loc.relative_to('/'),
+'target': normpath("/tmp/stage1root") / 
repo_loc.relative_to('/')
 }
 
 def set_root_path(self):



[gentoo-commits] proj/catalyst:master commit in: catalyst/base/

2024-08-03 Thread Andreas K. Hüttel
commit: 6356b5ab72a658635dd018c25b21ce998250f887
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Sat Aug  3 09:04:30 2024 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Sat Aug  3 09:04:30 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=6356b5ab

Add log.debug statements to follow profile symlink creation

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 catalyst/base/stagebase.py | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index 82300e88..2975236e 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -888,11 +888,14 @@ class StageBase(TargetBase, ClearBase, GenBase):
 
 # stage_path is chroot_path + root_path
 root_port_conf = Path(self.settings['stage_path'] + 
self.settings['port_conf'])
+log.debug('  creating directory %s', root_port_conf)
 root_port_conf.mkdir(mode=0o755, parents=True, exist_ok=True)
 
 root_make_profile = root_port_conf / 'make.profile'
+log.debug('  removing file %s', root_make_profile)
 root_make_profile.unlink(missing_ok=True)
 
+log.debug('  symlinking it to %s', 
os.path.relpath(chroot_profile_path, root_port_conf))
 root_make_profile.symlink_to(os.path.relpath(chroot_profile_path, 
root_port_conf),
  target_is_directory=True)
 



[gentoo-commits] proj/catalyst:master commit in: catalyst/targets/

2024-07-30 Thread Andreas K. Hüttel
commit: bc26f26acfeed23934c10a341f45ff0e0c4703f9
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Tue Jul 30 15:29:43 2024 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Tue Jul 30 15:29:43 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=bc26f26a

note to self: python is stupid

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 catalyst/targets/stage1.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/catalyst/targets/stage1.py b/catalyst/targets/stage1.py
index 0cb399c3..ba42d9b8 100644
--- a/catalyst/targets/stage1.py
+++ b/catalyst/targets/stage1.py
@@ -31,7 +31,7 @@ class stage1(StageBase):
 #otherwise we may end up trying to mount the same squashfs twice 
instead
 #of a bind mount
 #  * take the directory inside the chroot as source, not the host 
directory
-   self.set_chroot_path()
+self.set_chroot_path()
 for path, name, _ in self.repos:
 name = get_repo_name(path)
 mount_id = f'root_repo_{name}'



[gentoo-commits] proj/catalyst:master commit in: catalyst/targets/

2024-07-30 Thread Andreas K. Hüttel
commit: 5f8440d1b1429305a3636a5c82642089e2c754fb
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Tue Jul 30 15:28:21 2024 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Tue Jul 30 15:28:21 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=5f8440d1

stage1: apparently we need to populate the chroot_path setting first

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 catalyst/targets/stage1.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/catalyst/targets/stage1.py b/catalyst/targets/stage1.py
index cd10c86a..0cb399c3 100644
--- a/catalyst/targets/stage1.py
+++ b/catalyst/targets/stage1.py
@@ -31,6 +31,7 @@ class stage1(StageBase):
 #otherwise we may end up trying to mount the same squashfs twice 
instead
 #of a bind mount
 #  * take the directory inside the chroot as source, not the host 
directory
+   self.set_chroot_path()
 for path, name, _ in self.repos:
 name = get_repo_name(path)
 mount_id = f'root_repo_{name}'



[gentoo-commits] proj/catalyst:master commit in: catalyst/targets/

2024-07-30 Thread Andreas K. Hüttel
commit: c836c804b8b7ef88273751411b7b1a7f5b021680
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Tue Jul 30 14:53:48 2024 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Tue Jul 30 14:53:48 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=c836c804

stage1: make sure we bind-mount within the chroot dir

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 catalyst/targets/stage1.py | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/catalyst/targets/stage1.py b/catalyst/targets/stage1.py
index 1c9a4d42..cd10c86a 100644
--- a/catalyst/targets/stage1.py
+++ b/catalyst/targets/stage1.py
@@ -26,13 +26,17 @@ class stage1(StageBase):
 # In the stage1 build we need to make sure that the ebuild 
repositories are
 # accessible within $ROOT too... otherwise relative symlinks may point 
nowhere
 # and, e.g., portageq may malfunction due to missing profile.
-# Create a second bind mount entry for each repository
+# Create a second, bind mount entry for each repository. We need to
+#  * take as source not the original source but the original target, 
since
+#otherwise we may end up trying to mount the same squashfs twice 
instead
+#of a bind mount
+#  * take the directory inside the chroot as source, not the host 
directory
 for path, name, _ in self.repos:
 name = get_repo_name(path)
 mount_id = f'root_repo_{name}'
 self.mount[mount_id] = {
 'enable': True,
-'source': self.get_repo_location(name),
+'source': self.settings['chroot_path'] / 
self.get_repo_location(name),
 'target': normpath("/tmp/stage1root") / 
self.get_repo_location(name)
 }
 



[gentoo-commits] proj/catalyst:master commit in: catalyst/targets/

2024-07-30 Thread Andreas K. Hüttel
commit: 228569f3f827e7e116fede8901dbc50118519eae
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Tue Jul 30 14:45:23 2024 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Tue Jul 30 14:45:23 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=228569f3

stage1: we can't mount any squashfs twice, so we make sure we get a bind mount

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 catalyst/targets/stage1.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/catalyst/targets/stage1.py b/catalyst/targets/stage1.py
index 593509e4..1c9a4d42 100644
--- a/catalyst/targets/stage1.py
+++ b/catalyst/targets/stage1.py
@@ -32,7 +32,7 @@ class stage1(StageBase):
 mount_id = f'root_repo_{name}'
 self.mount[mount_id] = {
 'enable': True,
-'source': path,
+'source': self.get_repo_location(name),
 'target': normpath("/tmp/stage1root") / 
self.get_repo_location(name)
 }
 



[gentoo-commits] proj/catalyst:master commit in: catalyst/base/

2024-07-30 Thread Andreas K. Hüttel
commit: a031478a9c996d8a3a9085ed6eed41d8737776ed
Author: Doug Freed  mtu  edu>
AuthorDate: Tue Jul 30 14:11:07 2024 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Tue Jul 30 14:11:32 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=a031478a

stagebase: Create parent directories

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 catalyst/base/stagebase.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index ad7cd12e..82300e88 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -888,6 +888,8 @@ class StageBase(TargetBase, ClearBase, GenBase):
 
 # stage_path is chroot_path + root_path
 root_port_conf = Path(self.settings['stage_path'] + 
self.settings['port_conf'])
+root_port_conf.mkdir(mode=0o755, parents=True, exist_ok=True)
+
 root_make_profile = root_port_conf / 'make.profile'
 root_make_profile.unlink(missing_ok=True)
 



[gentoo-commits] proj/catalyst:master commit in: catalyst/base/

2024-07-30 Thread Andreas K. Hüttel
commit: cde8a57f8c7b40e66cc6fda6f923bd8b2f21297c
Author: Doug Freed  mtu  edu>
AuthorDate: Tue Jul 30 00:00:40 2024 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Tue Jul 30 11:05:56 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=cde8a57f

stagebase: clean up config_profile_link

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 catalyst/base/stagebase.py | 17 +++--
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index 2dcf6d71..df2da7ef 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -864,18 +864,23 @@ class StageBase(TargetBase, ClearBase, GenBase):
 
 def config_profile_link(self):
 log.info('Configuring profile link...')
-make_profile = Path(self.settings['chroot_path'] + 
self.settings['port_conf'],
-'make.profile')
+
+chroot_port_conf = Path(self.settings['chroot_path'] + 
self.settings['port_conf'])
+make_profile = chroot_port_conf / 'make.profile'
 make_profile.unlink(missing_ok=True)
+
 try:
 repo_name, target_profile = 
self.settings['target_profile'].split(":", 1)
 except ValueError:
 repo_name = self.settings['repo_name']
 target_profile = self.settings['target_profile']
-make_profile.symlink_to(Path('../..' + self.settings['repo_basedir'],
- repo_name,
- 'profiles',
- target_profile),
+
+chroot_profile_path = Path(self.settings['chroot_path'] + 
self.settings['repo_basedir'],
+   repo_name,
+   'profiles',
+   target_profile)
+
+make_profile.symlink_to(os.path.relpath(chroot_profile_path, 
chroot_port_conf),
 target_is_directory=True)
 
 def setup_confdir(self):



[gentoo-commits] proj/catalyst:master commit in: catalyst/

2024-07-30 Thread Andreas K. Hüttel
commit: 27035bc1a25e57fc3127db865b999acf15bd1697
Author: Doug Freed  mtu  edu>
AuthorDate: Mon Jul 29 22:24:44 2024 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Tue Jul 30 11:08:12 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=27035bc1

log: hide our functions and include line numbers

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 catalyst/log.py | 17 -
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/catalyst/log.py b/catalyst/log.py
index ee124392..fb852f2f 100644
--- a/catalyst/log.py
+++ b/catalyst/log.py
@@ -20,6 +20,11 @@ class CatalystLogger(logging.Logger):
 
 def _log(self, level, msg, args, **kwargs):
 """If given a multiline message, split it"""
+
+# Increment stacklevel to hide this function call
+stacklevel = kwargs.get("stacklevel", 1)
+kwargs["stacklevel"] = stacklevel + 1
+
 # We have to interpolate it first in case they spread things out
 # over multiple lines like: Bad Thing:\n%s\nGoodbye!
 msg %= args
@@ -44,11 +49,21 @@ logging.addLevelName(NOTICE, 'NOTICE')
 # The API we expose to consumers.
 def notice(msg, *args, **kwargs):
 """Log a notice message"""
+
+# Increment stacklevel to hide this function call
+stacklevel = kwargs.get("stacklevel", 1)
+kwargs["stacklevel"] = stacklevel + 1
+
 logger.log(NOTICE, msg, *args, **kwargs)
 
 
 def critical(msg, *args, **kwargs):
 """Log a critical message and then exit"""
+
+# Increment stacklevel to hide this function call
+stacklevel = kwargs.get("stacklevel", 1)
+kwargs["stacklevel"] = stacklevel + 1
+
 status = kwargs.pop('status', 1)
 logger.critical(msg, *args, **kwargs)
 sys.exit(status)
@@ -110,7 +125,7 @@ def setup_logging(level, output=None, debug=False, 
color=None):
 # The good stuff.
 fmt = '%(asctime)s: %(levelname)-8s: '
 if debug:
-fmt += '%(filename)s:%(funcName)s: '
+fmt += '%(filename)s:%(funcName)s:%(lineno)d: '
 fmt += '%(message)s'
 
 # Figure out where to send the log output.



[gentoo-commits] proj/catalyst:master commit in: catalyst/base/

2024-07-30 Thread Andreas K. Hüttel
commit: 35e6088eda0c2c8197c16382f3ba29a69eea60ec
Author: Doug Freed  mtu  edu>
AuthorDate: Tue Jul 30 01:08:02 2024 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Tue Jul 30 11:06:05 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=35e6088e

stagebase: create profile link for ROOT too

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 catalyst/base/stagebase.py | 11 +++
 1 file changed, 11 insertions(+)

diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index df2da7ef..ad7cd12e 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -883,6 +883,17 @@ class StageBase(TargetBase, ClearBase, GenBase):
 make_profile.symlink_to(os.path.relpath(chroot_profile_path, 
chroot_port_conf),
 target_is_directory=True)
 
+if self.settings['root_path'] != '/':
+log.info('Configuring ROOT profile link...')
+
+# stage_path is chroot_path + root_path
+root_port_conf = Path(self.settings['stage_path'] + 
self.settings['port_conf'])
+root_make_profile = root_port_conf / 'make.profile'
+root_make_profile.unlink(missing_ok=True)
+
+root_make_profile.symlink_to(os.path.relpath(chroot_profile_path, 
root_port_conf),
+ target_is_directory=True)
+
 def setup_confdir(self):
 if "autoresume" in self.settings["options"] \
 and self.resume.is_enabled("setup_confdir"):



[gentoo-commits] proj/catalyst:master commit in: catalyst/targets/

2024-07-30 Thread Andreas K. Hüttel
commit: 8339543d77edee063bdd1288cb0e24b77865b437
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Mon Jul 29 20:29:50 2024 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Mon Jul 29 20:29:50 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=8339543d

targets: improve path concatenation

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 catalyst/targets/stage1.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/catalyst/targets/stage1.py b/catalyst/targets/stage1.py
index 42931749..593509e4 100644
--- a/catalyst/targets/stage1.py
+++ b/catalyst/targets/stage1.py
@@ -33,7 +33,7 @@ class stage1(StageBase):
 self.mount[mount_id] = {
 'enable': True,
 'source': path,
-'target': Path(normpath("/tmp/stage1root") + "/" + 
str(self.get_repo_location(name)))
+'target': normpath("/tmp/stage1root") / 
self.get_repo_location(name)
 }
 
 def set_root_path(self):



[gentoo-commits] proj/catalyst:master commit in: catalyst/targets/

2024-07-30 Thread Andreas K. Hüttel
commit: 655acfcf822fd83affaa32c2bc8a4a3188850d54
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Mon Jul 29 20:27:45 2024 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Mon Jul 29 20:27:45 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=655acfcf

targets: Mount repos also under $ROOT for stage1 builds

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 catalyst/targets/stage1.py | 15 ++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/catalyst/targets/stage1.py b/catalyst/targets/stage1.py
index 0ea5f92b..42931749 100644
--- a/catalyst/targets/stage1.py
+++ b/catalyst/targets/stage1.py
@@ -4,10 +4,11 @@ stage1 target
 # NOTE: That^^ docstring has influence catalyst-spec(5) man page generation.
 
 from catalyst import log
-from catalyst.support import normpath
+from catalyst.support import (normpath, get_repo_name)
 from catalyst.fileops import move_path
 from catalyst.base.stagebase import StageBase
 
+from pathlib import Path
 
 class stage1(StageBase):
 """
@@ -22,6 +23,18 @@ class stage1(StageBase):
 
 def __init__(self, spec, addlargs):
 StageBase.__init__(self, spec, addlargs)
+# In the stage1 build we need to make sure that the ebuild 
repositories are
+# accessible within $ROOT too... otherwise relative symlinks may point 
nowhere
+# and, e.g., portageq may malfunction due to missing profile.
+# Create a second bind mount entry for each repository
+for path, name, _ in self.repos:
+name = get_repo_name(path)
+mount_id = f'root_repo_{name}'
+self.mount[mount_id] = {
+'enable': True,
+'source': path,
+'target': Path(normpath("/tmp/stage1root") + "/" + 
str(self.get_repo_location(name)))
+}
 
 def set_root_path(self):
 # sets the root path, relative to 'chroot_path', of the stage1 root



[gentoo-commits] proj/catalyst:master commit in: arch/

2024-07-29 Thread Andreas K. Hüttel
commit: 8a0f56e75886f93fe6093187dfe8ca361e868658
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Mon Jul 29 20:23:44 2024 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Mon Jul 29 20:24:20 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=8a0f56e7

Remove CHOST setting for s390x (mostly for testing, but also unnecessary)

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 arch/s390.toml | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/s390.toml b/arch/s390.toml
index 875fe8e1..854f4822 100644
--- a/arch/s390.toml
+++ b/arch/s390.toml
@@ -8,5 +8,4 @@ CHOST = "s390-ibm-linux-gnu"
 
 [s390x.s390x]
 COMMON_FLAGS = "-O2 -pipe"
-CHOST = "s390x-ibm-linux-gnu"
 



[gentoo-commits] proj/catalyst:master commit in: doc/, catalyst/base/, examples/

2024-06-28 Thread James Le Cuirot
commit: daa4b94f6ef54ac9325de6d9e0a30415400e9ed9
Author: James Le Cuirot  gentoo  org>
AuthorDate: Thu Jun 27 16:08:08 2024 +
Commit: James Le Cuirot  gentoo  org>
CommitDate: Fri Jun 28 13:26:45 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=daa4b94f

Add keep_repos spec option to keep config for specified repos

All repo configuration is currently removed unconditionally. Gentoo
itself doesn't really need this, but derivatives probably do.

Closes: https://github.com/gentoo/catalyst/pull/16
Signed-off-by: James Le Cuirot  gentoo.org>

 catalyst/base/stagebase.py   | 20 
 doc/catalyst-spec.5.txt  |  5 +
 examples/generic_stage_template.spec |  7 +++
 examples/livecd-stage1_template.spec |  7 +++
 examples/livecd-stage2_template.spec |  7 +++
 examples/stage4_template.spec|  7 +++
 6 files changed, 53 insertions(+)

diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index 34e1b6d1..2dcf6d71 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -75,6 +75,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
 "hostuse",
 "install_mask",
 "interpreter",
+"keep_repos",
 "kerncache_path",
 "ldflags",
 "pkgcache_path",
@@ -205,6 +206,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
 self.set_busybox_config()
 self.set_overlay()
 self.set_repos()
+self.set_keep_repos()
 self.set_root_overlay()
 
 # This next line checks to make sure that the specified variables 
exist on disk.
@@ -661,6 +663,22 @@ class StageBase(TargetBase, ClearBase, GenBase):
 get_info = lambda repo: (repo, get_repo_name(repo), None)
 self.repos.extend(map(get_info, self.settings['repos']))
 
+def set_keep_repos(self):
+setting = self.settings.get('keep_repos', '')
+
+if isinstance(setting, str):
+self.settings['keep_repos'] = set(setting.split())
+
+log.info('keeping repo configuration for: %s',
+' '.join(self.settings['keep_repos']))
+
+for keep_repo in self.settings['keep_repos']:
+for _, name, _ in self.repos:
+if name == keep_repo:
+break
+else:
+log.warning('keep_repos references unknown repo: %s', 
keep_repo)
+
 def set_overlay(self):
 if self.settings["spec_prefix"] + "/overlay" in self.settings:
 if isinstance(self.settings[self.settings['spec_prefix'] + 
'/overlay'], str):
@@ -1286,6 +1304,8 @@ class StageBase(TargetBase, ClearBase, GenBase):
 
 # Remove repo data
 for _, name, _ in self.repos:
+if name in self.settings['keep_repos']:
+continue
 
 # Remove repos.conf entry
 repo_conf = self.get_repo_conf_path(name)

diff --git a/doc/catalyst-spec.5.txt b/doc/catalyst-spec.5.txt
index 96f9f3bd..33d17c9e 100644
--- a/doc/catalyst-spec.5.txt
+++ b/doc/catalyst-spec.5.txt
@@ -85,6 +85,11 @@ This option specifies the location of the ebuild 
repositories that you would
 like to have used when building this target. It takes a space-separated list
 of directory names. (example: `/usr/local/portage`).
 
+*keep_repos*::
+This option specifies the names of ebuild repositories that you would like to
+leave configured in the resulting build.  It takes a space-separated list of
+names.  This only affects the configuration; the contents are never kept.
+
 *pkgcache_path*::
 This allows the optional directory containing the output packages for
 catalyst (example: `/tmp/packages`).  Mainly used as a way for

diff --git a/examples/generic_stage_template.spec 
b/examples/generic_stage_template.spec
index 9d91d07d..770cfdec 100644
--- a/examples/generic_stage_template.spec
+++ b/examples/generic_stage_template.spec
@@ -96,6 +96,13 @@ portage_confdir:
 # repos: /usr/local/portage
 repos:
 
+# This option specifies the names of ebuild repositories that you would like to
+# leave configured in the resulting build.  It takes a space-separated list of
+# names.  This only affects the configuration; the contents are never kept.
+# example:
+# keep_repos: kde qt
+keep_repos:
+
 # This allows the optional directory containing the output packages for
 # catalyst.  Mainly used as a way for different spec files to access the same
 # cache directory.  Default behavior is for this location to be autogenerated

diff --git a/examples/livecd-stage1_template.spec 
b/examples/livecd-stage1_template.spec
index b9edb87d..f65ccb24 100644
--- a/examples/livecd-stage1_template.spec
+++ b/examples/livecd-stage1_template.spec
@@ -59,6 +59,13 @@ portage_confdir:
 # repos: /usr/local/portage
 repos:
 
+# This option specifies the names of ebuild repositories that you would like to
+# leave configured in the resulting build.  It takes a space-sepa

[gentoo-commits] proj/catalyst:master commit in: catalyst/base/

2024-06-09 Thread Andreas K. Hüttel
commit: f1bc9478e0bd010919c476ca0fca9920f17a331a
Author: Sam James  gentoo  org>
AuthorDate: Wed Jun  5 10:06:57 2024 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Sun Jun  9 16:50:39 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=f1bc9478

stagebase: tweak bindist comment emitted into make.conf

'USE' is more idiomatic.

Signed-off-by: Sam James  gentoo.org>
Signed-off-by: Andreas K. Hüttel  gentoo.org>

 catalyst/base/stagebase.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index 1ebb2245..34e1b6d1 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -1151,7 +1151,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
 myusevars = []
 if "bindist" in self.settings["options"]:
 myf.write(
-"\n# NOTE: This stage was built with the bindist Use flag 
enabled\n")
+"\n# NOTE: This stage was built with the bindist USE flag 
enabled\n")
 if setup or "sticky-config" in self.settings["options"]:
 myusevars.extend(self.settings["catalyst_use"])
 log.notice("STICKY-CONFIG is enabled")



[gentoo-commits] proj/catalyst:master commit in: catalyst/base/

2024-06-07 Thread Matt Turner
commit: 31e62c9ca151083e0b84bab8f478bb27592c5086
Author: James Le Cuirot  gentoo  org>
AuthorDate: Tue May 21 16:28:52 2024 +
Commit: Matt Turner  gentoo  org>
CommitDate: Fri Jun  7 21:45:23 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=31e62c9c

Explicitly declare repo as main when it does not match the default main

Otherwise Portage complains about PORTDIR not being set.

Signed-off-by: James Le Cuirot  gentoo.org>
Closes: https://github.com/gentoo/catalyst/pull/13
Signed-off-by: Matt Turner  gentoo.org>

 catalyst/base/stagebase.py | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index 4bcab30c..1ebb2245 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -921,6 +921,12 @@ class StageBase(TargetBase, ClearBase, GenBase):
 continue
 
 config = configparser.ConfigParser()
+
+# If default is present but does not match this repo's location,
+# then we need to explicitly set it as the main repo.
+if default is not None:
+config['DEFAULT'] = {'main-repo': name}
+
 config[name] = {'location': location}
 self.write_repo_conf(name, config)
 



[gentoo-commits] proj/catalyst:master commit in: targets/support/

2024-06-07 Thread Ben Kohler
commit: 5f91f18939b076949bffbfbacd921efc07109c1c
Author: Ben Kohler  gentoo  org>
AuthorDate: Fri Jun  7 11:05:55 2024 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Fri Jun  7 11:07:23 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=5f91f189

create-iso.sh: add flag for BIOS boot quirk

Some BIOS implementations (or legacy CSM/compat on UEFI) may ignore a
boot device if it doesn't have one MBR partition marked with the boot
flag.  This new argument to xorriso will add an extra dummy partition
with that flag.  It's been reported to help at least one user boot.

Signed-off-by: Ben Kohler  gentoo.org>

 targets/support/create-iso.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/targets/support/create-iso.sh b/targets/support/create-iso.sh
index 0468f965..aa597a59 100755
--- a/targets/support/create-iso.sh
+++ b/targets/support/create-iso.sh
@@ -200,7 +200,7 @@ case ${clst_hostarch} in
esac
 
echo ">> Running grub-mkrescue to create iso image"
-   grub-mkrescue -volid "${clst_iso_volume_id}" "${extra_opts[@]}" 
-o "${1}" "${clst_target_path}"
+   grub-mkrescue --mbr-force-bootable -volid 
"${clst_iso_volume_id}" "${extra_opts[@]}" -o "${1}" "${clst_target_path}"
;;
 esac
 exit  $?



[gentoo-commits] proj/catalyst:master commit in: arch/

2024-05-28 Thread Andreas K. Hüttel
commit: 5d3f0072cd3c47fbb78cfc6a348b40b512019352
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Tue May 28 10:51:17 2024 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Tue May 28 10:52:32 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=5d3f0072

Fix loongarch -march to baseline

With gcc-14, the default was quietly raised to include vector extensions.
This makes our stages explode on first-gen hardware...

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 arch/loong.toml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/loong.toml b/arch/loong.toml
index 7ff92c03..2334c84b 100644
--- a/arch/loong.toml
+++ b/arch/loong.toml
@@ -1,4 +1,4 @@
 [loong.loong]
-COMMON_FLAGS = " -pipe -O2"
+COMMON_FLAGS = " -pipe -O2 -march=loongarch64 "
 CHOST = "loongarch64-unknown-linux-gnu"
 



[gentoo-commits] proj/catalyst:master commit in: targets/support/

2024-05-14 Thread Ben Kohler
commit: e41fa2eba386fd39942f5235438d550f5ddef4dc
Author: Ben Kohler  gentoo  org>
AuthorDate: Tue May 14 13:25:20 2024 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Tue May 14 13:25:20 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=e41fa2eb

bootloader-setup.sh: apply livecd/bootargs to dist-kernel as well

Signed-off-by: Ben Kohler  gentoo.org>

 targets/support/bootloader-setup.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/targets/support/bootloader-setup.sh 
b/targets/support/bootloader-setup.sh
index b82e092c..34d95dc9 100755
--- a/targets/support/bootloader-setup.sh
+++ b/targets/support/bootloader-setup.sh
@@ -54,7 +54,7 @@ memtest_grub() {
 }
 
 default_append_line=(${cmdline_opts[@]} cdroot)
-default_dracut_append_line=(root=live:CDLABEL=${clst_iso_volume_id} 
rd.live.dir=/ rd.live.squashimg=image.squashfs cdroot)
+default_dracut_append_line=(${clst_livecd_bootargs} 
root=live:CDLABEL=${clst_iso_volume_id} rd.live.dir=/ 
rd.live.squashimg=image.squashfs cdroot)
 
 case ${clst_hostarch} in
alpha)



[gentoo-commits] proj/catalyst:master commit in: targets/support/

2024-05-13 Thread Ben Kohler
commit: 57b03421626a9cdd159075b40974cc3b401e3742
Author: Ben Kohler  gentoo  org>
AuthorDate: Mon May 13 15:24:24 2024 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Mon May 13 15:24:24 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=57b03421

bootloader_setup.sh: pass cdroot for dist-kernels as well

This is actually used in livecd-tools later, independent of gk vs dracut

Signed-off-by: Ben Kohler  gentoo.org>

 targets/support/bootloader-setup.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/targets/support/bootloader-setup.sh 
b/targets/support/bootloader-setup.sh
index 2f2f97a5..b82e092c 100755
--- a/targets/support/bootloader-setup.sh
+++ b/targets/support/bootloader-setup.sh
@@ -54,7 +54,7 @@ memtest_grub() {
 }
 
 default_append_line=(${cmdline_opts[@]} cdroot)
-default_dracut_append_line=(root=live:CDLABEL=${clst_iso_volume_id} 
rd.live.dir=/ rd.live.squashimg=image.squashfs)
+default_dracut_append_line=(root=live:CDLABEL=${clst_iso_volume_id} 
rd.live.dir=/ rd.live.squashimg=image.squashfs cdroot)
 
 case ${clst_hostarch} in
alpha)



[gentoo-commits] proj/catalyst:master commit in: targets/support/

2024-05-13 Thread Ben Kohler
commit: 6e3cb65fdfedc2bdd2c1ddf4cd60fcdc38168760
Author: Ben Kohler  gentoo  org>
AuthorDate: Mon May 13 15:06:42 2024 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Mon May 13 15:06:42 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=6e3cb65f

bootloader_setup.sh: fix LABEL for cached entry as well

Signed-off-by: Ben Kohler  gentoo.org>

 targets/support/bootloader-setup.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/targets/support/bootloader-setup.sh 
b/targets/support/bootloader-setup.sh
index 9196ea14..2f2f97a5 100755
--- a/targets/support/bootloader-setup.sh
+++ b/targets/support/bootloader-setup.sh
@@ -132,7 +132,7 @@ case ${clst_hostarch} in
echo "menuentry 'Boot LiveCD (kernel: ${x}) (cached)' 
--class gnu-linux --class os {"  >> ${iacfg}
if [ ${distkernel} = "yes" ]
then
-   echo "  search --no-floppy --set=root -l 
'ISOIMAGE'" >> ${iacfg}
+   echo "  search --no-floppy --set=root -l 
${clst_iso_volume_id}" >> ${iacfg}
echo "  linux ${kern_subdir}/${x} 
${default_dracut_append_line[@]} rd.live.ram=1" >> ${iacfg}
else
echo "  linux ${kern_subdir}/${x} 
${default_append_line[@]} docache" >> ${iacfg}



[gentoo-commits] proj/catalyst:master commit in: targets/support/

2024-05-13 Thread Ben Kohler
commit: eff4b31ba42d96ab2cb29195455c63b3321c0835
Author: Ben Kohler  gentoo  org>
AuthorDate: Mon May 13 14:52:02 2024 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Mon May 13 14:52:02 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=eff4b31b

bootloader_setup.sh: don't assume LABEL=ISOIMAGE

Catalyst now sets a proper volume ID via grub-mkrescue so assuming
ISOIMAGE here is no longer correct.  The volume ID will still need
to be standard-compliant without spaces.

Signed-off-by: Ben Kohler  gentoo.org>

 targets/support/bootloader-setup.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/targets/support/bootloader-setup.sh 
b/targets/support/bootloader-setup.sh
index 455a4f07..9196ea14 100755
--- a/targets/support/bootloader-setup.sh
+++ b/targets/support/bootloader-setup.sh
@@ -54,7 +54,7 @@ memtest_grub() {
 }
 
 default_append_line=(${cmdline_opts[@]} cdroot)
-default_dracut_append_line=(root=live:CDLABEL=ISOIMAGE rd.live.dir=/ 
rd.live.squashimg=image.squashfs)
+default_dracut_append_line=(root=live:CDLABEL=${clst_iso_volume_id} 
rd.live.dir=/ rd.live.squashimg=image.squashfs)
 
 case ${clst_hostarch} in
alpha)
@@ -121,7 +121,7 @@ case ${clst_hostarch} in
echo "menuentry 'Boot LiveCD (kernel: ${x})' --class 
gnu-linux --class os {"  >> ${iacfg}
if [ ${distkernel} = "yes" ]
then
-   echo "  search --no-floppy --set=root -l 
'ISOIMAGE'" >> ${iacfg}
+   echo "  search --no-floppy --set=root -l 
${clst_iso_volume_id}" >> ${iacfg}
echo "  linux ${kern_subdir}/${x} 
${default_dracut_append_line[@]}" >> ${iacfg}
else
echo "  linux ${kern_subdir}/${x} 
${default_append_line[@]}" >> ${iacfg}



[gentoo-commits] proj/catalyst:master commit in: targets/support/

2024-05-02 Thread Ben Kohler
commit: 04c70a9df505718c7e97ca1484f7c03270e6824c
Author: Ben Kohler  gentoo  org>
AuthorDate: Thu May  2 17:56:27 2024 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Thu May  2 17:58:38 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=04c70a9d

create-iso.sh: restore ISO volume ID

When we switched to grub-mkrescue for the ISO generation, we lost the
volume ID.  Luckly grub-mkresce takes unrecognized parameters and passes
them to xorriso so we can just add the xorriso -volid parameter here.

Signed-off-by: Ben Kohler  gentoo.org>

 targets/support/create-iso.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/targets/support/create-iso.sh b/targets/support/create-iso.sh
index 74c24a1d..0468f965 100755
--- a/targets/support/create-iso.sh
+++ b/targets/support/create-iso.sh
@@ -200,7 +200,7 @@ case ${clst_hostarch} in
esac
 
echo ">> Running grub-mkrescue to create iso image"
-   grub-mkrescue "${extra_opts[@]}" -o "${1}" "${clst_target_path}"
+   grub-mkrescue -volid "${clst_iso_volume_id}" "${extra_opts[@]}" 
-o "${1}" "${clst_target_path}"
;;
 esac
 exit  $?



[gentoo-commits] proj/catalyst:master commit in: arch/

2024-04-06 Thread Andreas K. Hüttel
commit: b95ecc1d51cdf6aa7c4ff02dedb3f38a22c71906
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Sat Apr  6 13:57:07 2024 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Sat Apr  6 13:57:07 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=b95ecc1d

arch: Add rv32 musl definitions

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 arch/riscv.toml | 8 
 1 file changed, 8 insertions(+)

diff --git a/arch/riscv.toml b/arch/riscv.toml
index a76e5cd5..7f2d859f 100644
--- a/arch/riscv.toml
+++ b/arch/riscv.toml
@@ -26,6 +26,14 @@ CHOST = "riscv64-gentoo-linux-musl"
 COMMON_FLAGS = "-O2 -pipe"
 CHOST = "riscv32-unknown-linux-gnu"
 
+[riscv.rv32_ilp32d_musl]
+COMMON_FLAGS = "-O2 -pipe"
+CHOST = "riscv32-unknown-linux-musl"
+
 [riscv.rv32_ilp32]
 COMMON_FLAGS = "-O2 -pipe"
 CHOST = "riscv32-unknown-linux-gnu"
+
+[riscv.rv32_ilp32_musl]
+COMMON_FLAGS = "-O2 -pipe"
+CHOST = "riscv32-unknown-linux-musl"



[gentoo-commits] proj/catalyst:master commit in: arch/

2024-03-25 Thread Andreas K. Hüttel
commit: b0acd208b275f8c355d9127b95d665a09e750797
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Mon Mar 25 21:24:19 2024 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Mon Mar 25 21:24:43 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=b0acd208

Add setarch parameters for s390x => s390 builds

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 arch/s390.toml | 4 
 1 file changed, 4 insertions(+)

diff --git a/arch/s390.toml b/arch/s390.toml
index 9894044f..875fe8e1 100644
--- a/arch/s390.toml
+++ b/arch/s390.toml
@@ -1,3 +1,7 @@
+[setarch.s390]
+arch = "s390"
+if_build = "s390x"
+
 [s390.s390]
 COMMON_FLAGS = "-O2 -pipe"
 CHOST = "s390-ibm-linux-gnu"



[gentoo-commits] proj/catalyst:master commit in: arch/

2024-03-25 Thread Ben Kohler
commit: ebed28dd5e08e8aaee44f08c27c367019568fb15
Author: matoro  matoro  tk>
AuthorDate: Tue Feb 13 21:08:48 2024 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Wed Mar 20 15:47:27 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=ebed28dd

arch: add new x86.i686-ssemath subprofile

As mentioned on the mailing list, x86 arch testing needs to be performed
using SSE registers for floating-point math instead of the 387 FPU.
This is a subprofile which provides a generic i686 target with SSE2 and
`-mfpmath=sse`.  The use is not just limited to arch testing however as
this is a useful platform for getting maximum performance on late-gen
chips.  Per gcc:

> The resulting code should be considerably faster in the majority of
cases and avoid the numerical instability problems of 387 code, but may
break some existing code that expects temporaries to be 80 bits.

Of course modern code has quite the opposite problem, where it does not
expect floating-point variables to be 80 bits.

Signed-off-by: Matoro Mahri  matoro.tk>
Closes: https://github.com/gentoo/catalyst/pull/12
Signed-off-by: Ben Kohler  gentoo.org>

 arch/x86.toml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/x86.toml b/arch/x86.toml
index 5451d410..24d4c547 100644
--- a/arch/x86.toml
+++ b/arch/x86.toml
@@ -50,3 +50,6 @@ CPU_FLAGS_X86 = [ "mmx", "mmxext", "3dnow", "3dnowext",]
 COMMON_FLAGS = "-O2 -march=athlon-xp -pipe"
 CPU_FLAGS_X86 = [ "mmx", "mmxext", "3dnow", "3dnowext", "sse",]
 
+[x86.i686-ssemath]
+COMMON_FLAGS = "-O2 -march=i686 -msse2 -mfpmath=sse -pipe"
+CPU_FLAGS_X86 = [ "mmx", "mmxext", "sse", "sse2",]



[gentoo-commits] proj/catalyst:master commit in: arch/

2024-03-25 Thread Ben Kohler
commit: d7f66b18130bfd10a512dcae0004153aa453ce9f
Author: Matoro Mahri  matoro  tk>
AuthorDate: Sun Mar 10 23:08:08 2024 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Wed Mar 20 15:47:25 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=d7f66b18

arch: remove x86.pentium-m, x86.pentium-4, x86.prescott subprofiles

Signed-off-by: Matoro Mahri  matoro.tk>
Signed-off-by: Ben Kohler  gentoo.org>

 arch/x86.toml | 12 
 1 file changed, 12 deletions(-)

diff --git a/arch/x86.toml b/arch/x86.toml
index ea709cce..5451d410 100644
--- a/arch/x86.toml
+++ b/arch/x86.toml
@@ -27,14 +27,6 @@ CPU_FLAGS_X86 = [ "mmx",]
 COMMON_FLAGS = "-O2 -march=pentium3 -pipe"
 CPU_FLAGS_X86 = [ "mmx", "mmxext", "sse",]
 
-[x86.pentium-m]
-COMMON_FLAGS = "-O2 -march=pentium-m -pipe"
-CPU_FLAGS_X86 = [ "mmx", "mmxext", "sse", "sse2",]
-
-[x86.pentium4]
-COMMON_FLAGS = "-O2 -march=pentium4 -pipe"
-CPU_FLAGS_X86 = [ "mmx", "mmxext", "sse", "sse2",]
-
 [x86.pentiumpro]
 COMMON_FLAGS = "-O2 -march=i686 -pipe"
 
@@ -42,10 +34,6 @@ COMMON_FLAGS = "-O2 -march=i686 -pipe"
 COMMON_FLAGS = "-O2 -march=pentium-mmx -pipe"
 CPU_FLAGS_X86 = [ "mmx",]
 
-[x86.prescott]
-COMMON_FLAGS = "-O2 -march=prescott -pipe"
-CPU_FLAGS_X86 = [ "mmx", "mmxext", "sse", "sse2", "sse3",]
-
 [x86.k6]
 COMMON_FLAGS = "-O2 -march=k6 -pipe"
 CPU_FLAGS_X86 = [ "mmx",]



[gentoo-commits] proj/catalyst:master commit in: catalyst/base/

2024-03-03 Thread Andreas K. Hüttel
commit: 1314c345cacfce8a5cd6036d66da0b5ab65c6adb
Author: Eli Schwartz  gmail  com>
AuthorDate: Thu Feb 22 20:40:26 2024 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Sun Mar  3 18:50:45 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=1314c345

avoid chrooting and running the $PATH to bash from outside the chroot

The API filename for bash is /bin/bash and that is where it is
guaranteed to be. On merged-usr systems, `shutil.which('bash')` will
search PATH and maybe find /usr/bin/bash first, since it is resolved as
a symlink, but that path will then fail in the chroot if the chroot is
not merged-usr.

Even on merged-usr systems, app-shells/bash always, always, always
installs to /bin/bash and lets portage handle the symlink.

Signed-off-by: Eli Schwartz  gmail.com>
Signed-off-by: Andreas K. Hüttel  gentoo.org>

 catalyst/base/stagebase.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index dd00af45..4bcab30c 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -1458,11 +1458,12 @@ class StageBase(TargetBase, ClearBase, GenBase):
 
 def enter_chroot(self):
 chroot = command('chroot')
-bash = command('bash')
+# verify existence only
+command(os.path.join(self.settings['chroot_path'], '/bin/bash'))
 
 log.notice("Entering chroot")
 try:
-cmd([chroot, self.settings['chroot_path'], bash, '-l'],
+cmd([chroot, self.settings['chroot_path'], '/bin/bash', '-l'],
 env=self.env)
 except CatalystError:
 pass



[gentoo-commits] proj/catalyst:master commit in: livecd/files/

2024-02-27 Thread Ben Kohler
commit: 991ac4cbe370572840ef586db208c77157e7dfa4
Author: Ben Kohler  gentoo  org>
AuthorDate: Tue Feb 27 16:52:12 2024 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Tue Feb 27 16:54:15 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=991ac4cb

livecd/files/README.txt: adjust nox -> nogui

Bug: https://bugs.gentoo.org/853127

Signed-off-by: Ben Kohler  gentoo.org>

 livecd/files/README.txt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/livecd/files/README.txt b/livecd/files/README.txt
index 1be3778d..ebf67691 100644
--- a/livecd/files/README.txt
+++ b/livecd/files/README.txt
@@ -99,9 +99,9 @@ passwd=foo  Sets whatever follows the equals as the root 
password, which
 noload=XThis causes the initial ramdisk to skip the loading of a
 specific module that may be causing a problem.  Syntax matches
 that of doload.
+nogui  This causes an X-enabled LiveCD to not automatically start X,
+   but rather, to drop to the command line instead.
 nonfs   Disables the starting of portmap/nfsmount on boot.
-nox This causes an X-enabled LiveCD to not automatically start X,
-but rather, to drop to the command line instead.
 scandelay   This causes the CD to pause for 10 seconds during certain
 portions the boot process to allow for devices that are slow to
 initialize to be ready for use.



[gentoo-commits] proj/catalyst:master commit in: arch/

2024-01-21 Thread Andreas K. Hüttel
commit: 2cd8f6d6d41f462c87d75f7bd847902dbf25b618
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Sun Jan 21 22:42:48 2024 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Sun Jan 21 22:44:54 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=2cd8f6d6

arch: Do not set CHOST and *FLAGS for generic x86.x86 subarch

This way both can be picked up from the profile

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 arch/x86.toml | 2 --
 1 file changed, 2 deletions(-)

diff --git a/arch/x86.toml b/arch/x86.toml
index 2dfac9b7..ea709cce 100644
--- a/arch/x86.toml
+++ b/arch/x86.toml
@@ -3,8 +3,6 @@ arch = "linux32"
 if_build = "x86_64"
 
 [x86.x86]
-COMMON_FLAGS = "-O2 -mtune=i686 -pipe"
-CHOST = "i386-pc-linux-gnu"
 
 [x86.i486]
 COMMON_FLAGS = "-O2 -march=i486 -pipe"



[gentoo-commits] proj/catalyst:master commit in: targets/support/

2024-01-08 Thread Ben Kohler
commit: b8500a65023dd4e278af2400ebb94e4768473130
Author: Ben Kohler  gentoo  org>
AuthorDate: Mon Jan  8 15:32:28 2024 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Mon Jan  8 15:36:07 2024 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=b8500a65

kmerge.sh: don't remove the /usr/src/linux symlink

Removing this symlink causes failures for any specs building more than
one kernel, since we no longer do a full unmerge/remerge of kernel
sources between kernel builds.

We probably need to set USE=symlink for the kernel sources so that specs
building 2 kernels from different sets of sources do not fail.

Signed-off-by: Ben Kohler  gentoo.org>

 targets/support/kmerge.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/targets/support/kmerge.sh b/targets/support/kmerge.sh
index 7114ff91..41fac810 100755
--- a/targets/support/kmerge.sh
+++ b/targets/support/kmerge.sh
@@ -207,5 +207,6 @@ fi
 
 if [[ ! ${cached_kernel_found} ]]; then
run_merge --deselect "${ksource}"
-   rm /usr/src/linux
+   # This was breaking multi-kernel iso builds, probably not needed
+   # rm /usr/src/linux
 fi



[gentoo-commits] proj/catalyst:master commit in: catalyst/base/

2023-12-24 Thread Andreas K. Hüttel
commit: e9d2b62ea8300aae67a483c7e260d3ff7bc80fc5
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Sun Dec 24 21:17:59 2023 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Sun Dec 24 21:41:33 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=e9d2b62e

base/stagebase.py: Do not touch subarch if chost is set

Currently, if you set chost in a stage1 spec file, catalyst resets the
subarch to the first part of the triple (i.e. aarch64 for arm64).

With this change, it leaves the subarch alone at the value defined
in the spec file. This makes it much easier to override CHOST for,
say, musl, without having to provide a separate section in arch/* ...

Impact of the commit on the existing releng stage1 specs:
amd64, arm64, x86, ppc, ppc64, ppc64le are all fine (the definitions
are idencal, or subarch = first part of triplet)
power9le is funny because right now the chost (powerpc64le) resets the
subarch and drops the power9le optimizations, so there the commit is
actually an improvement!

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 catalyst/base/stagebase.py | 5 +
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index 3cbdf489..dd00af45 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -105,10 +105,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
 
 self.makeconf = {}
 
-if "chost" in self.settings:
-host = self.settings["chost"].split("-")[0]
-else:
-host = self.settings["subarch"]
+host = self.settings["subarch"]
 self.settings["hostarch"] = host
 
 if "cbuild" in self.settings:



[gentoo-commits] proj/catalyst:master commit in: arch/

2023-12-06 Thread Andreas K. Hüttel
commit: 9cd868bf99b6192019bee0ddd959445eb9d9c4f3
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Wed Dec  6 21:29:00 2023 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Wed Dec  6 21:29:36 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=9cd868bf

arch: Alternative approach. Rely on profile for m68k musl CHOST...

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 arch/m68k.toml | 5 -
 1 file changed, 5 deletions(-)

diff --git a/arch/m68k.toml b/arch/m68k.toml
index 87bc4aa5..695f0f83 100644
--- a/arch/m68k.toml
+++ b/arch/m68k.toml
@@ -4,8 +4,3 @@ CHOST = "m68k-unknown-linux-gnu"
 
 [m68k.m68k_musl]
 COMMON_FLAGS = " -pipe -O2"
-CHOST = "m68k-gentoo-linux-musl"
-
-[m68k.m68k_musl_new]
-COMMON_FLAGS = " -pipe -O2"
-CHOST = "m68k-unknown-linux-musl"



[gentoo-commits] proj/catalyst:master commit in: arch/

2023-12-06 Thread Andreas K. Hüttel
commit: a471b2060c005fa995271368c603c276ab35c0af
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Wed Dec  6 21:25:39 2023 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Wed Dec  6 21:25:39 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=a471b206

arch: Add new m68k musl definition for 23.0 profiles

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 arch/m68k.toml | 4 
 1 file changed, 4 insertions(+)

diff --git a/arch/m68k.toml b/arch/m68k.toml
index e25659b9..87bc4aa5 100644
--- a/arch/m68k.toml
+++ b/arch/m68k.toml
@@ -5,3 +5,7 @@ CHOST = "m68k-unknown-linux-gnu"
 [m68k.m68k_musl]
 COMMON_FLAGS = " -pipe -O2"
 CHOST = "m68k-gentoo-linux-musl"
+
+[m68k.m68k_musl_new]
+COMMON_FLAGS = " -pipe -O2"
+CHOST = "m68k-unknown-linux-musl"



[gentoo-commits] proj/catalyst:master commit in: etc/

2023-11-10 Thread Ben Kohler
commit: daf74e194f87e29af1807990abe37dab701e4afd
Author: Ben Kohler  gentoo  org>
AuthorDate: Fri Nov 10 19:59:15 2023 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Fri Nov 10 20:08:05 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=daf74e19

catalyst.conf: change dangerous port_logdir example

If this existing example was uncommented, it would trigger a cleanup of
any files older than 7d in the currently running stage build dir,
causing catastrophic failure.

Signed-off-by: Ben Kohler  gentoo.org>

 etc/catalyst.conf | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/etc/catalyst.conf b/etc/catalyst.conf
index 8745d0b5..867c7153 100644
--- a/etc/catalyst.conf
+++ b/etc/catalyst.conf
@@ -66,9 +66,9 @@ options = [
 ]
 
 # port_logdir is where all build logs will be kept. This dir will be 
automatically cleaned
-# of all logs over 30 days old. If left undefined the logs will remain in the 
build directory
+# of ALL files over 7 days old. If left undefined the logs will remain in the 
build directory
 # as usual and get cleaned every time a stage build is restarted.
-# port_logdir = "/var/tmp/catalyst/tmp"
+# port_logdir = "/var/tmp/catalyst/logs"
 
 # var_tmpfs_portage will mount a tmpfs for /var/tmp/portage so building takes 
place in RAM
 # this feature requires a pretty large tmpfs ({open,libre}office needs ~8GB to 
build)



[gentoo-commits] proj/catalyst:master commit in: catalyst/base/

2023-09-04 Thread Andreas K. Hüttel
commit: 1abd94188e9e9eecd5fe16de3aeaceebac1ec4e0
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Tue Sep  5 01:43:19 2023 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Tue Sep  5 01:43:47 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=1abd9418

Turn binrepos.conf into a folder with gentoobinhost.conf inside

Closes: https://bugs.gentoo.org/913660
Signed-off-by: Andreas K. Hüttel  gentoo.org>

 catalyst/base/stagebase.py | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index fe307eab..3cbdf489 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -1200,9 +1200,11 @@ class StageBase(TargetBase, ClearBase, GenBase):
 # Write out binrepos.conf (for the chroot)
 binrpath = normpath(self.settings["chroot_path"] +
 self.settings["binrepos_conf"])
+Path(binrpath).mkdir(mode=0o755, parents=True, exist_ok=True)
 
-with open(binrpath, "w") as myb:
-log.notice("Writing the stage binrepos.conf to: %s" % binrpath)
+binrfile = binrpath + "/gentoobinhost.conf"
+with open(binrfile, "w") as myb:
+log.notice("Writing the stage binrepo config to: %s" % 
binrfile)
 myb.write("# These settings were set by the catalyst build 
script "
 "that automatically\n# built this stage.\n")
 myb.write("# Please consider using a local mirror.\n\n")
@@ -1211,8 +1213,6 @@ class StageBase(TargetBase, ClearBase, GenBase):
 myb.write("sync-uri = " + self.settings["binhost"] + \
 self.settings["binrepo_path"] + "\n")
 
-return
-
 def fsscript(self):
 if "autoresume" in self.settings["options"] \
 and self.resume.is_enabled("fsscript"):



[gentoo-commits] proj/catalyst:master commit in: targets/support/

2023-09-03 Thread Andreas K. Hüttel
commit: 7247751e4c5ad19786c40a7ed1c87ad0b836026e
Author: Azamat H. Hackimov  gmail  com>
AuthorDate: Wed Aug 23 00:39:03 2023 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Sun Sep  3 20:02:41 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=7247751e

Compile external modules with dist-kernel

If boot/kernel/${kernel}/packages is defined, force build external module 
packages for dist-kernels.

Also don't unmerge kernel after merging as it may needed for building process, 
just deselect. Later it will be unmerged by depclean process.

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 targets/support/kmerge.sh | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/targets/support/kmerge.sh b/targets/support/kmerge.sh
index c5beddc9..7114ff91 100755
--- a/targets/support/kmerge.sh
+++ b/targets/support/kmerge.sh
@@ -152,6 +152,11 @@ if [[ -n ${clst_KERNCACHE} ]]; then
 fi
 
 if [[ ${distkernel} = "yes" ]] ; then
+  # Build external kernel modules
+  if [[ -n ${kernel_merge} ]]; then
+run_merge ${kernel_merge}
+  fi
+
   # Kernel already built, let's run dracut to make initramfs
   distkernel_source_path=$(equery -Cq f ${ksource} | grep "/usr/src/linux-" 
-m1)
   distkernel_image_path=$(distkmerge_get_image_path)
@@ -201,6 +206,6 @@ if [[ -n ${clst_KERNCACHE} && ! ${cached_kernel_found} ]]; 
then
 fi
 
 if [[ ! ${cached_kernel_found} ]]; then
-   run_merge -C "${ksource}"
+   run_merge --deselect "${ksource}"
rm /usr/src/linux
 fi



[gentoo-commits] proj/catalyst:master commit in: catalyst/base/, targets/support/, targets/livecd-stage2/

2023-08-22 Thread Andreas K. Hüttel
commit: 3d4fb24383716958dadea95d100911037bb2b557
Author: Azamat H. Hackimov  gmail  com>
AuthorDate: Tue Aug  1 08:18:31 2023 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Tue Aug 22 20:36:37 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=3d4fb243

Implementing distkernel installation

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 catalyst/base/stagebase.py  | 22 +++---
 targets/livecd-stage2/controller.sh |  5 +++
 targets/support/bootloader-setup.sh | 19 -
 targets/support/kmerge.sh   | 85 +++--
 targets/support/pre-distkmerge.sh   |  7 +++
 5 files changed, 116 insertions(+), 22 deletions(-)

diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index a9147241..fe307eab 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -694,6 +694,8 @@ class StageBase(TargetBase, ClearBase, GenBase):
 "boot/kernel/" + x + "/aliases",
 "boot/kernel/" + x + "/config",
 "boot/kernel/" + x + "/console",
+"boot/kernel/" + x + "/distkernel",
+"boot/kernel/" + x + "/dracut_args",
 "boot/kernel/" + x + "/extraversion",
 "boot/kernel/" + x + "/gk_action",
 "boot/kernel/" + x + "/gk_kernargs",
@@ -716,6 +718,11 @@ class StageBase(TargetBase, ClearBase, GenBase):
 self.settings["gk_mainargs"] = self.settings[gk_mainargs]
 del self.settings[gk_mainargs]
 
+dracut_mainargs = prefix + "/dracut_args"
+if dracut_mainargs in self.settings:
+self.settings["dracut_args"] = self.settings[dracut_mainargs]
+del self.settings[dracut_mainargs]
+
 # Ask genkernel to include b2sum if /verify is set
 verify = prefix + "/verify"
 if verify in self.settings:
@@ -1584,7 +1591,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
 self.resume.enable("build_packages")
 
 def build_kernel(self):
-'''Build all configured kernels'''
+"""Build all configured kernels"""
 if "autoresume" in self.settings["options"] \
 and self.resume.is_enabled("build_kernel"):
 log.notice(
@@ -1595,19 +1602,23 @@ class StageBase(TargetBase, ClearBase, GenBase):
 mynames = self.settings["boot/kernel"]
 if isinstance(mynames, str):
 mynames = [mynames]
-# Execute the script that sets up the kernel build environment
-cmd([self.settings['controller_file'], 'pre-kmerge'], env=self.env)
 for kname in [sanitize_name(name) for name in mynames]:
+if "boot/kernel/" + kname + "/distkernel" in self.settings:
+cmd([self.settings['controller_file'], 'pre-distkmerge'], 
env=self.env)
+else:
+# Execute the script that sets up the kernel build 
environment
+cmd([self.settings['controller_file'], 'pre-kmerge'], 
env=self.env)
 self._build_kernel(kname=kname)
 self.resume.enable("build_kernel")
 
 def _build_kernel(self, kname):
-"Build a single configured kernel by name"
+"""Build a single configured kernel by name"""
 if "autoresume" in self.settings["options"] \
 and self.resume.is_enabled("build_kernel_" + kname):
 log.notice('Resume point detected, skipping build_kernel '
'for %s operation...', kname)
 return
+
 self._copy_kernel_config(kname=kname)
 
 key = 'boot/kernel/' + kname + '/extraversion'
@@ -1617,8 +1628,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
 self._copy_initramfs_overlay(kname=kname)
 
 # Execute the script that builds the kernel
-cmd([self.settings['controller_file'], 'kernel', kname],
-env=self.env)
+cmd([self.settings['controller_file'], 'kernel', kname], env=self.env)
 
 if "boot/kernel/" + kname + "/initramfs_overlay" in self.settings:
 log.notice('Cleaning up temporary overlay dir')

diff --git a/targets/livecd-stage2/controller.sh 
b/targets/livecd-stage2/controller.sh
index f6522e63..57d947a1 100755
--- a/targets/livecd-stage2/controller.sh
+++ b/targets/livecd-stage2/controller.sh
@@ -20,6 +20,11 @@ case $1 in
extract_modules ${clst_chroot_path} ${kname}
;;
 
+   pre-distkmerge)
+   # Install dracut
+   exec_in_chroot ${clst_shdir}/support/pre-distkmerge.sh
+   ;;
+
preclean)
# Move over the motd (if applicable)
case ${clst_livecd_type} in

diff --git a/targets/support/bootloader-setup.sh 
b/targets/support/bootloader-setup.sh
index d6d5f96e..455a4f07 100755
--- a/targets/support/bootloader-setup.sh
+++ b/target

[gentoo-commits] proj/catalyst:master commit in: catalyst/base/, etc/, catalyst/

2023-08-11 Thread Andreas K. Hüttel
commit: 750947eed34fe51a9502b16585a59f34bd47b1a1
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Wed Aug  9 21:22:55 2023 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Fri Aug 11 19:55:12 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=750947ee

Add configuration options and code to write out binrepos.conf

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 catalyst/base/stagebase.py | 32 
 catalyst/defaults.py   |  3 +++
 etc/catalyst.conf  |  5 +
 3 files changed, 40 insertions(+)

diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index 74d197b5..a9147241 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -62,6 +62,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
 ])
 self.valid_values |= self.required_values | frozenset([
 "asflags",
+"binrepo_path",
 "catalyst_use",
 "cbuild",
 "cflags",
@@ -1074,6 +1075,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
 if os.path.exists(hosts_file):
 os.rename(hosts_file, hosts_file + '.catalyst')
 shutil.copy('/etc/hosts', hosts_file)
+
 # write out the make.conf
 try:
 self.write_make_conf(setup=True)
@@ -1081,6 +1083,16 @@ class StageBase(TargetBase, ClearBase, GenBase):
 raise CatalystError('Could not write %s: %s' % (
 normpath(self.settings["chroot_path"] +
  self.settings["make_conf"]), e)) from e
+
+# write out the binrepos.conf
+# we do this here for later user convenience, but normally
+# it should not affect stage builds (which only get --usepkg,
+# but never --getbinpkg as emerge parameters).
+try:
+self.write_binrepos_conf()
+except OSError as e:
+raise CatalystError('Could not write binrepos.conf: %s' % ( e )) 
from e
+
 self.resume.enable("chroot_setup")
 
 def write_make_conf(self, setup=True):
@@ -1174,6 +1186,26 @@ class StageBase(TargetBase, ClearBase, GenBase):
 '# Please keep this setting intact when reporting bugs.\n'
 'LC_MESSAGES=C.utf8\n')
 
+def write_binrepos_conf(self):
+# only if catalyst.conf defines the host and the spec defines the 
path...
+if self.settings["binhost"] != '' and "binrepo_path" in self.settings:
+
+# Write out binrepos.conf (for the chroot)
+binrpath = normpath(self.settings["chroot_path"] +
+self.settings["binrepos_conf"])
+
+with open(binrpath, "w") as myb:
+log.notice("Writing the stage binrepos.conf to: %s" % binrpath)
+myb.write("# These settings were set by the catalyst build 
script "
+"that automatically\n# built this stage.\n")
+myb.write("# Please consider using a local mirror.\n\n")
+myb.write("[gentoobinhost]\n")
+myb.write("priority = 1\n")
+myb.write("sync-uri = " + self.settings["binhost"] + \
+self.settings["binrepo_path"] + "\n")
+
+return
+
 def fsscript(self):
 if "autoresume" in self.settings["options"] \
 and self.resume.is_enabled("fsscript"):

diff --git a/catalyst/defaults.py b/catalyst/defaults.py
index 39b71c34..f4d48fef 100644
--- a/catalyst/defaults.py
+++ b/catalyst/defaults.py
@@ -9,6 +9,7 @@ from DeComp.definitions import DECOMPRESSOR_PROGRAM_OPTIONS, 
LIST_XATTRS_OPTIONS
 
 
 valid_config_file_values = frozenset([
+"binhost",
 "compression_mode",
 "digests",
 "digest_format",
@@ -31,6 +32,7 @@ valid_config_file_values = frozenset([
 ])
 
 confdefaults = {
+"binhost": '',
 "comp_prog": COMPRESSOR_PROGRAM_OPTIONS['linux'],
 "compression_mode": 'lbzip2',
 "compressor_arch": None,
@@ -42,6 +44,7 @@ confdefaults = {
 "icecream": "/var/cache/icecream",
 'list_xattrs_opt': LIST_XATTRS_OPTIONS['linux'],
 "port_conf": "/etc/portage",
+"binrepos_conf": "%(port_conf)s/binrepos.conf",
 "make_conf": "%(port_conf)s/make.conf",
 "repos_conf": "%(port_conf)s/repos.conf",
 "options": set(),

diff --git a/etc/catalyst.conf b/etc/catalyst.conf
index b0b284fa..8745d0b5 100644
--- a/etc/catalyst.conf
+++ b/etc/catalyst.conf
@@ -83,3 +83,8 @@ options = [
 # Floating-point value passed to emerge as the parameter to --load-average and
 # is used to define MAKEOPTS during the target build.
 # load-average = 4.0
+
+# If you want catalyst to drop a binrepos.conf into /etc/portage, then
+# define the binhost here. This value is concatenated with the configuration
+# option binrepo_path in the spec file to obtain the src-uri.
+# binhost = "https://gentoo.osuosl.org/releases/";



[gentoo-commits] proj/catalyst:master commit in: arch/

2023-07-20 Thread Andreas K. Hüttel
commit: f38ef80b0152982794fe96eb807fb2bce9178760
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Thu Jul 20 18:13:58 2023 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Thu Jul 20 18:13:58 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=f38ef80b

Add m68k musl definition

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 arch/m68k.toml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/m68k.toml b/arch/m68k.toml
index 1df696c1..e25659b9 100644
--- a/arch/m68k.toml
+++ b/arch/m68k.toml
@@ -2,3 +2,6 @@
 COMMON_FLAGS = " -pipe -O2"
 CHOST = "m68k-unknown-linux-gnu"
 
+[m68k.m68k_musl]
+COMMON_FLAGS = " -pipe -O2"
+CHOST = "m68k-gentoo-linux-musl"



[gentoo-commits] proj/catalyst:master commit in: catalyst/base/

2023-07-01 Thread Andreas K. Hüttel
commit: 6272f501c0101a49fcb35f60ba75778ded696b67
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Sat Jul  1 17:39:01 2023 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Sat Jul  1 17:45:11 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=6272f501

stagebase: Add blank linkes in make.conf (e.g. before CHOST block)

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 catalyst/base/stagebase.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index 812ac4c8..65f4306e 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -1114,13 +1114,13 @@ class StageBase(TargetBase, ClearBase, GenBase):
   % (flags, self.settings[flags]))
 
 if "CBUILD" in self.settings:
-myf.write("# This should not be changed unless you know 
exactly"
+myf.write("\n# This should not be changed unless you know 
exactly"
   " what you are doing.  You\n# should probably be "
   "using a different stage, instead.\n")
 myf.write('CBUILD="' + self.settings["CBUILD"] + '"\n')
 
 if "CHOST" in self.settings:
-myf.write("# WARNING: Changing your CHOST is not something "
+myf.write("\n# WARNING: Changing your CHOST is not something "
   "that should be done lightly.\n# Please consult "
   
"https://wiki.gentoo.org/wiki/Changing_the_CHOST_variable "
   "before changing.\n")



[gentoo-commits] proj/catalyst:master commit in: catalyst/base/, catalyst/

2023-07-01 Thread Andreas K. Hüttel
commit: 9d6e495ca2ee55c21befc183a9a56fc5062a63c7
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Sat Jul  1 17:44:41 2023 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Sat Jul  1 19:26:14 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=9d6e495c

stagebase: Fix and improve port_logdir config option

NOTE: The cleaning of log files does not work yet (and probably
never did).

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 catalyst/base/stagebase.py | 7 +++
 catalyst/defaults.py   | 2 ++
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index 65f4306e..74d197b5 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -271,9 +271,8 @@ class StageBase(TargetBase, ClearBase, GenBase):
 
 if "port_logdir" in self.settings:
 self.mount['port_logdir']['enable'] = True
-self.mount['port_logdir']['source'] = self.settings['port_logdir']
-self.env["PORT_LOGDIR"] = self.settings["port_logdir"]
-self.env["PORT_LOGDIR_CLEAN"] = PORT_LOGDIR_CLEAN
+self.mount['port_logdir']['source'] = 
normpath(self.settings['port_logdir'] + "/" + self.settings["target_subpath"] + 
"/")
+self.env["PORTAGE_LOGDIR"] = self.settings["target_logdir"]
 
 def override_cbuild(self):
 if "CBUILD" in self.makeconf:
@@ -1002,7 +1001,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
 # We may need to create the source of the bind mount. 
E.g., in the
 # case of an empty package cache we must create the 
directory that
 # the binary packages will be stored into.
-source_path.mkdir(mode=0o755, exist_ok=True)
+source_path.mkdir(mode=0o755, parents=True, exist_ok=True)
 
 Path(target).mkdir(mode=0o755, parents=True, exist_ok=True)
 

diff --git a/catalyst/defaults.py b/catalyst/defaults.py
index 2cede562..39b71c34 100644
--- a/catalyst/defaults.py
+++ b/catalyst/defaults.py
@@ -25,6 +25,7 @@ valid_config_file_values = frozenset([
 "sharedir",
 "storedir",
 "target_distdir",
+"target_logdir",
 "target_pkgdir",
 "var_tmpfs_portage",
 ])
@@ -53,6 +54,7 @@ confdefaults = {
 "shdir": "%(sharedir)s/targets",
 "storedir": "/var/tmp/catalyst",
 "target_distdir": "/var/cache/distfiles",
+"target_logdir": "/var/log/portage",
 "target_pkgdir": "/var/cache/binpkgs",
 }
 



[gentoo-commits] proj/catalyst:master commit in: arch/

2023-06-20 Thread Andreas K. Hüttel
commit: b27e419a38a5dd195f4f0505ed27d7b017b4b046
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Tue Jun 20 18:54:33 2023 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Tue Jun 20 18:54:33 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=b27e419a

Add -msoft-float to *FLAGS for mips soft-float definitions

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 arch/mips.toml | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/arch/mips.toml b/arch/mips.toml
index 4e470886..b22d4567 100644
--- a/arch/mips.toml
+++ b/arch/mips.toml
@@ -8,7 +8,7 @@ COMMON_FLAGS = "-O2 -march=mips2 -mabi=32 -mplt -pipe"
 
 [mips.mips2_softfloat]
 CHOST = "mips-softfloat-linux-gnu"
-COMMON_FLAGS = "-O2 -march=mips2 -mabi=32 -mplt -pipe"
+COMMON_FLAGS = "-O2 -march=mips2 -mabi=32 -mplt -msoft-float -pipe"
 
 [mips.mips2_musl]
 CHOST = "mips-gentoo-linux-musl"
@@ -20,7 +20,7 @@ COMMON_FLAGS = "-O2 -march=mips32 -mabi=32 -mplt -pipe"
 
 [mips.mips32_softfloat]
 CHOST = "mips-softfloat-linux-gnu"
-COMMON_FLAGS = "-O2 -march=mips32 -mabi=32 -mplt -pipe"
+COMMON_FLAGS = "-O2 -march=mips32 -mabi=32 -mplt -msoft-float -pipe"
 
 [mips.mips32r2]
 CHOST = "mips-unknown-linux-gnu"
@@ -28,7 +28,7 @@ COMMON_FLAGS = "-O2 -march=mips32r2 -mabi=32 -mplt -pipe"
 
 [mips.mips32r2_softfloat]
 CHOST = "mips-softfloat-linux-gnu"
-COMMON_FLAGS = "-O2 -march=mips32r2 -mabi=32 -mplt -pipe"
+COMMON_FLAGS = "-O2 -march=mips32r2 -mabi=32 -mplt -msoft-float -pipe"
 
 [mips.mips3]
 CHOST = "mips-unknown-linux-gnu"
@@ -68,7 +68,7 @@ COMMON_FLAGS = "-O2 -march=mips2 -mabi=32 -mplt -pipe"
 
 [mips.mipsel2_softfloat]
 CHOST = "mipsel-softfloat-linux-gnu"
-COMMON_FLAGS = "-O2 -march=mips2 -mabi=32 -mplt -pipe"
+COMMON_FLAGS = "-O2 -march=mips2 -mabi=32 -mplt -msoft-float -pipe"
 
 [mips.mipsel2_musl]
 CHOST = "mipsel-gentoo-linux-musl"
@@ -80,7 +80,7 @@ COMMON_FLAGS = "-O2 -march=mips32 -mabi=32 -mplt -pipe"
 
 [mips.mips32el_softfloat]
 CHOST = "mipsel-softfloat-linux-gnu"
-COMMON_FLAGS = "-O2 -march=mips32 -mabi=32 -mplt -pipe"
+COMMON_FLAGS = "-O2 -march=mips32 -mabi=32 -mplt -msoft-float -pipe"
 
 [mips.mips32r2el]
 CHOST = "mipsel-unknown-linux-gnu"
@@ -88,7 +88,7 @@ COMMON_FLAGS = "-O2 -march=mips32r2 -mabi=32 -mplt -pipe"
 
 [mips.mips32r2el_softfloat]
 CHOST = "mipsel-softfloat-linux-gnu"
-COMMON_FLAGS = "-O2 -march=mips32r2 -mabi=32 -mplt -pipe"
+COMMON_FLAGS = "-O2 -march=mips32r2 -mabi=32 -mplt -msoft-float -pipe"
 
 [mips.mipsel3]
 CHOST = "mipsel-unknown-linux-gnu"
@@ -128,7 +128,7 @@ COMMON_FLAGS = "-O2 -march=mips3 -mabi=n32 -mplt 
-mfix-r4000 -mfix-r4400 -pipe"
 
 [mips64.mips3_n32_softfloat]
 CHOST = "mips64-softfloat-linux-gnu"
-COMMON_FLAGS = "-O2 -march=mips3 -mabi=n32 -mplt -mfix-r4000 -mfix-r4400 -pipe"
+COMMON_FLAGS = "-O2 -march=mips3 -mabi=n32 -mplt -mfix-r4000 -mfix-r4400 
-msoft-float -pipe"
 
 [mips64.mips3_n64]
 CHOST = "mips64-unknown-linux-gnu"
@@ -208,7 +208,7 @@ COMMON_FLAGS = "-O2 -march=mips3 -mabi=n32 -mplt 
-Wa,-mfix-loongson2f-nop -mfix-
 
 [mips64.mipsel3_n32_softfloat]
 CHOST = "mips64el-softfloat-linux-gnu"
-COMMON_FLAGS = "-O2 -march=mips3 -mabi=n32 -mplt -Wa,-mfix-loongson2f-nop 
-mfix-r5900 -pipe"
+COMMON_FLAGS = "-O2 -march=mips3 -mabi=n32 -mplt -Wa,-mfix-loongson2f-nop 
-mfix-r5900 -msoft-float -pipe"
 
 [mips64.mipsel3_n64]
 CHOST = "mips64el-unknown-linux-gnu"



[gentoo-commits] proj/catalyst:master commit in: arch/

2023-05-28 Thread Andreas K. Hüttel
commit: eb9a8822ea0edb341d04ccd029cefa10e2732a2b
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Sun May 28 08:37:07 2023 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Sun May 28 08:37:07 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=eb9a8822

Add mips(el)2 o32 and mips(el)3 n32 softfloat subarches

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 arch/mips.toml | 16 
 1 file changed, 16 insertions(+)

diff --git a/arch/mips.toml b/arch/mips.toml
index 95fd6b40..4e470886 100644
--- a/arch/mips.toml
+++ b/arch/mips.toml
@@ -6,6 +6,10 @@ COMMON_FLAGS = "-O2 -march=mips1 -mabi=32 -mplt -pipe"
 CHOST = "mips-unknown-linux-gnu"
 COMMON_FLAGS = "-O2 -march=mips2 -mabi=32 -mplt -pipe"
 
+[mips.mips2_softfloat]
+CHOST = "mips-softfloat-linux-gnu"
+COMMON_FLAGS = "-O2 -march=mips2 -mabi=32 -mplt -pipe"
+
 [mips.mips2_musl]
 CHOST = "mips-gentoo-linux-musl"
 COMMON_FLAGS = "-O2 -march=mips2 -mabi=32 -mplt -pipe"
@@ -62,6 +66,10 @@ COMMON_FLAGS = "-O2 -march=mips1 -mabi=32 -mplt -pipe"
 CHOST = "mipsel-unknown-linux-gnu"
 COMMON_FLAGS = "-O2 -march=mips2 -mabi=32 -mplt -pipe"
 
+[mips.mipsel2_softfloat]
+CHOST = "mipsel-softfloat-linux-gnu"
+COMMON_FLAGS = "-O2 -march=mips2 -mabi=32 -mplt -pipe"
+
 [mips.mipsel2_musl]
 CHOST = "mipsel-gentoo-linux-musl"
 COMMON_FLAGS = "-O2 -march=mips2 -mabi=32 -mplt -pipe"
@@ -118,6 +126,10 @@ COMMON_FLAGS = "-O2 -march=loongson3a -mabi=32 -mplt -pipe"
 CHOST = "mips64-unknown-linux-gnu"
 COMMON_FLAGS = "-O2 -march=mips3 -mabi=n32 -mplt -mfix-r4000 -mfix-r4400 -pipe"
 
+[mips64.mips3_n32_softfloat]
+CHOST = "mips64-softfloat-linux-gnu"
+COMMON_FLAGS = "-O2 -march=mips3 -mabi=n32 -mplt -mfix-r4000 -mfix-r4400 -pipe"
+
 [mips64.mips3_n64]
 CHOST = "mips64-unknown-linux-gnu"
 COMMON_FLAGS = "-O2 -march=mips3 -mabi=64 -mfix-r4000 -mfix-r4400 -pipe"
@@ -194,6 +206,10 @@ COMMON_FLAGS = "-O2 -march=mips64r2 -mplt -pipe"
 CHOST = "mips64el-unknown-linux-gnu"
 COMMON_FLAGS = "-O2 -march=mips3 -mabi=n32 -mplt -Wa,-mfix-loongson2f-nop 
-mfix-r5900 -pipe"
 
+[mips64.mipsel3_n32_softfloat]
+CHOST = "mips64el-softfloat-linux-gnu"
+COMMON_FLAGS = "-O2 -march=mips3 -mabi=n32 -mplt -Wa,-mfix-loongson2f-nop 
-mfix-r5900 -pipe"
+
 [mips64.mipsel3_n64]
 CHOST = "mips64el-unknown-linux-gnu"
 COMMON_FLAGS = "-O2 -march=mips3 -mabi=64 -Wa,-mfix-loongson2f-nop -pipe"



[gentoo-commits] proj/catalyst:master commit in: catalyst/base/

2023-05-10 Thread Ben Kohler
commit: d7e25003b3657b8fb9dd69787efbdb6dec6cb491
Author: Ben Kohler  gentoo  org>
AuthorDate: Wed May 10 18:10:11 2023 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Wed May 10 18:10:11 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=d7e25003

stagebase.py: switch to LC_MESSAGES=C.utf8 in make.conf

Signed-off-by: Ben Kohler  gentoo.org>

 catalyst/base/stagebase.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index 732c5939..812ac4c8 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -1173,7 +1173,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
 '\n'
 '# This sets the language of build output to English.\n'
 '# Please keep this setting intact when reporting bugs.\n'
-'LC_MESSAGES=C\n')
+'LC_MESSAGES=C.utf8\n')
 
 def fsscript(self):
 if "autoresume" in self.settings["options"] \



[gentoo-commits] proj/catalyst:master commit in: targets/livecd-stage2/

2023-03-31 Thread Ben Kohler
commit: c7bb24da9c6cad51b2f9c287878932a8b7cf11bd
Author: Ben Kohler  gentoo  org>
AuthorDate: Fri Mar 31 17:23:12 2023 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Fri Mar 31 17:23:12 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=c7bb24da

livecd-stage2/controller.sh: remove stray slash from universal cleanup

Signed-off-by: Ben Kohler  gentoo.org>

 targets/livecd-stage2/controller.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/targets/livecd-stage2/controller.sh 
b/targets/livecd-stage2/controller.sh
index cced07d2..f6522e63 100755
--- a/targets/livecd-stage2/controller.sh
+++ b/targets/livecd-stage2/controller.sh
@@ -63,7 +63,7 @@ case $1 in
;;
 
clean)
-   if [ "${clst_livecd_type}" = "gentoo-release-minimal" ] \
+   if [ "${clst_livecd_type}" = "gentoo-release-minimal" ]
then
# Clean out man, info and doc files
rm -rf ${clst_chroot_path}/usr/share/{man,doc,info}/*



[gentoo-commits] proj/catalyst:master commit in: targets/support/

2023-03-31 Thread Ben Kohler
commit: f478e8f34af1a45c706f18a34df7f3efa208d581
Author: Ben Kohler  gentoo  org>
AuthorDate: Wed Mar 29 20:01:32 2023 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Fri Mar 31 13:27:38 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=f478e8f3

bootloader-setup.sh: remove obsolete cmdline args

These haven't been needed since kernel 2.4 days, as far as I know.

Signed-off-by: Ben Kohler  gentoo.org>

 targets/support/bootloader-setup.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/targets/support/bootloader-setup.sh 
b/targets/support/bootloader-setup.sh
index 065f2bb5..32d86028 100755
--- a/targets/support/bootloader-setup.sh
+++ b/targets/support/bootloader-setup.sh
@@ -53,7 +53,7 @@ memtest_grub() {
   fi
 }
 
-default_append_line=(root=/dev/ram0 init=/linuxrc ${cmdline_opts[@]} cdroot)
+default_append_line=(${cmdline_opts[@]} cdroot)
 
 case ${clst_hostarch} in
alpha)



[gentoo-commits] proj/catalyst:master commit in: targets/support/

2023-03-31 Thread Ben Kohler
commit: fd528f28ff1157ced65edb2e821cd16aa68c1802
Author: Ben Kohler  gentoo  org>
AuthorDate: Wed Mar 29 18:48:27 2023 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Fri Mar 31 13:27:37 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=fd528f28

livecdfs-update.sh: remove confusing "reduce tmpfs usage" hack

I don't believe this provides any real value now, and it makes the
livecd layout confusing.

Signed-off-by: Ben Kohler  gentoo.org>

 targets/support/livecdfs-update.sh | 7 ---
 1 file changed, 7 deletions(-)

diff --git a/targets/support/livecdfs-update.sh 
b/targets/support/livecdfs-update.sh
index ca8997f7..16e201d5 100755
--- a/targets/support/livecdfs-update.sh
+++ b/targets/support/livecdfs-update.sh
@@ -113,13 +113,6 @@ rm -f /etc/generic.motd.txt /etc/universal.motd.txt 
/etc/minimal.motd.txt /etc/l
 # Post configuration
 case ${clst_livecd_type} in
gentoo-release-live*)
-   # This is my hack to reduce tmpfs usage
-   mkdir -p /usr/livecd
-   cp -r ${clst_repo_basedir}/${clst_repo_name}/{profiles,eclass} 
/usr/livecd
-   rm -rf 
/usr/livecd/profiles/{co*,default-{1*,a*,b*,d*,h*,i*,m*,p*,s*,x*},g*,hardened-*,n*,x*}
-   mv -f /var/db /usr/livecd
-   ln -sf /usr/livecd/db /var/db
-
# Clear out lastlog
rm -f /var/log/lastlog && touch /var/log/lastlog
 



[gentoo-commits] proj/catalyst:master commit in: targets/support/

2023-03-31 Thread Ben Kohler
commit: c21f53e42bf007ad074b0c6b23bfd85564832d46
Author: Ben Kohler  gentoo  org>
AuthorDate: Fri Mar 31 13:26:08 2023 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Fri Mar 31 13:27:38 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=c21f53e4

remove obsolete root=/dev/ram0 init=/linuxrc from a few more places

Signed-off-by: Ben Kohler  gentoo.org>

 targets/support/bootloader-setup.sh | 8 
 targets/support/netboot-final.sh| 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/targets/support/bootloader-setup.sh 
b/targets/support/bootloader-setup.sh
index 32d86028..d6d5f96e 100755
--- a/targets/support/bootloader-setup.sh
+++ b/targets/support/bootloader-setup.sh
@@ -64,8 +64,8 @@ case ${clst_hostarch} in
for x in ${clst_boot_kernel}
do
echo -n "${bctr}:/boot/${x} " >> ${acfg}
-   echo -n "initrd=/boot/${x}.igz root=/dev/ram0 " >> 
${acfg}
-   echo "init=/linuxrc ${cmdline_opts[@]} cdroot" >> 
${acfg}
+   echo -n "initrd=/boot/${x}.igz " >> ${acfg}
+   echo "${cmdline_opts[@]} cdroot" >> ${acfg}
((bctr=${bctr}+1))
done
# Pass 2 is for serial
@@ -73,8 +73,8 @@ case ${clst_hostarch} in
for x in ${clst_boot_kernel}
do
echo -n "${bctr}:/boot/${x} " >> ${acfg}
-   echo -n "initrd=/boot/${x}.igz root=/dev/ram0 " >> 
${acfg}
-   echo "init=/linuxrc ${cmdline_opts[@]} cdroot" >> 
${acfg}
+   echo -n "initrd=/boot/${x}.igz " >> ${acfg}
+   echo "${cmdline_opts[@]} cdroot" >> ${acfg}
((bctr=${bctr}+1))
done
;;

diff --git a/targets/support/netboot-final.sh b/targets/support/netboot-final.sh
index 7a26e0f4..fc0de880 100755
--- a/targets/support/netboot-final.sh
+++ b/targets/support/netboot-final.sh
@@ -31,7 +31,7 @@ case ${clst_hostarch} in
-s ${clst_target_path}/${kname}-hppa.lif \
-f /dev/null \
-b /usr/share/palo/iplboot \
-   -c "0/vmlinux initrd=0/ramdisk root=/dev/ram0" \
+   -c "0/vmlinux initrd=0/ramdisk" \
|| exit 1
 
;;



[gentoo-commits] proj/catalyst:master commit in: targets/support/

2023-03-31 Thread Ben Kohler
commit: 79ee199b34761ca2e2204ed687d7b245552d8cf6
Author: Ben Kohler  gentoo  org>
AuthorDate: Wed Mar 29 19:11:28 2023 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Fri Mar 31 13:27:38 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=79ee199b

livecdfs-update: remove old evms code

Mostly obsoleted by LVM almost 20 years ago

Signed-off-by: Ben Kohler  gentoo.org>

 targets/support/livecdfs-update.sh | 5 -
 1 file changed, 5 deletions(-)

diff --git a/targets/support/livecdfs-update.sh 
b/targets/support/livecdfs-update.sh
index d4548020..05714c52 100755
--- a/targets/support/livecdfs-update.sh
+++ b/targets/support/livecdfs-update.sh
@@ -147,9 +147,4 @@ case ${clst_livecd_type} in
;;
 esac
 
-if [ -e /lib/rcscripts/addons/udev-start.sh ]
-then
-   sed -i "s:\t\[\[ -x /sbin/evms_activate:\t\[\[ -x \${CDBOOT} \]\] \&\& 
\[\[ -x /sbin/evms_activate:" /lib/rcscripts/addons/udev-start.sh
-fi
-
 env-update



[gentoo-commits] proj/catalyst:master commit in: livecd/files/, targets/support/

2023-03-31 Thread Ben Kohler
commit: 863f2c97df61729d3041fb85a4c720756c2158fc
Author: Ben Kohler  gentoo  org>
AuthorDate: Wed Mar 29 19:09:44 2023 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Fri Mar 31 13:27:38 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=863f2c97

livecdfs-update, livecd-bashrc: remove archaic X autostarting setup

This was used by gamecd targets many many years ago to autostart X with
a game on tty1 for this cd type.  It was then still being "used" by
generic targets by mistake, but some of the code is in ALL targets'
bashrc, and causing some errors on login.

Signed-off-by: Ben Kohler  gentoo.org>

 livecd/files/livecd-bashrc | 13 -
 targets/support/livecdfs-update.sh |  7 ---
 2 files changed, 20 deletions(-)

diff --git a/livecd/files/livecd-bashrc b/livecd/files/livecd-bashrc
index 18b8f1d8..a9bf588e 100644
--- a/livecd/files/livecd-bashrc
+++ b/livecd/files/livecd-bashrc
@@ -1,14 +1 @@
 #!/bin/bash
-
-if [ ! "$(grep nox /proc/cmdline)" ]
-then
-   if [ -x /usr/bin/X ]
-   then
-   if [ -e /etc/startx -a $(tty) = "/dev/tty1" ];
-   then
-   rm -f /etc/startx
-   ##STARTX
-   [ -f /etc/motd ] && cat /etc/motd
-   fi
-   fi
-fi

diff --git a/targets/support/livecdfs-update.sh 
b/targets/support/livecdfs-update.sh
index bf19ccf5..d4548020 100755
--- a/targets/support/livecdfs-update.sh
+++ b/targets/support/livecdfs-update.sh
@@ -144,16 +144,9 @@ case ${clst_livecd_type} in
fi
;;
generic-livecd )
-   touch /etc/startx
;;
 esac
 
-# We want the first user to be used when auto-starting X
-if [ -e /etc/startx ]
-then
-   sed -i "s:##STARTX:echo startx | su - '${first_user}':" /root/.bashrc
-fi
-
 if [ -e /lib/rcscripts/addons/udev-start.sh ]
 then
sed -i "s:\t\[\[ -x /sbin/evms_activate:\t\[\[ -x \${CDBOOT} \]\] \&\& 
\[\[ -x /sbin/evms_activate:" /lib/rcscripts/addons/udev-start.sh



[gentoo-commits] proj/catalyst:master commit in: livecd/files/, targets/support/, targets/livecd-stage2/, doc/, examples/

2023-03-31 Thread Ben Kohler
commit: 8431625598208202ce9c86816a641365cef1024c
Author: Ben Kohler  gentoo  org>
AuthorDate: Wed Mar 29 19:26:34 2023 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Fri Mar 31 13:27:38 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=84316255

Remove obsolete universal cd target

Signed-off-by: Ben Kohler  gentoo.org>

 doc/catalyst-spec.5.txt  |  1 -
 examples/livecd-stage2_template.spec |  1 -
 livecd/files/universal.motd.txt  | 13 -
 targets/livecd-stage2/controller.sh  |  1 -
 targets/support/livecdfs-update.sh   |  6 +-
 5 files changed, 1 insertion(+), 21 deletions(-)

diff --git a/doc/catalyst-spec.5.txt b/doc/catalyst-spec.5.txt
index fd2926fb..96f9f3bd 100644
--- a/doc/catalyst-spec.5.txt
+++ b/doc/catalyst-spec.5.txt
@@ -104,7 +104,6 @@ This option controls quite a bit of catalyst internals and 
sets up
 several defaults.  Each type behaves slightly differently and is
 explained below.
   `gentoo-release-minimal`;; This creates an official minimal InstallCD.
-  `gentoo-release-universal`;; This creates an official universal InstallCD.
   `gentoo-release-livecd`;; This creates an official LiveCD environment.
   `generic-livecd`;; This should be used for all non-official media.
 

diff --git a/examples/livecd-stage2_template.spec 
b/examples/livecd-stage2_template.spec
index adf0acaf..b0d2ecd6 100644
--- a/examples/livecd-stage2_template.spec
+++ b/examples/livecd-stage2_template.spec
@@ -135,7 +135,6 @@ livecd/linuxrc:
 # This option controls quite a bit of catalyst internals and sets up several
 # defaults.  Each type behaves slightly differently and is explained below.
 # gentoo-release-minimal - This creates an official minimal InstallCD.
-# gentoo-release-universal - This creates an official universal InstallCD.
 # gentoo-release-livecd - This creates an official LiveCD environment.
 # generic-livecd - This should be used for all non-official media.
 # example:

diff --git a/livecd/files/universal.motd.txt b/livecd/files/universal.motd.txt
deleted file mode 100644
index 416d59d8..
--- a/livecd/files/universal.motd.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-The latest version of the Handbook is always available from the Gentoo web
-site by typing "links https://wiki.gentoo.org/wiki/Handbook";.
-
-Stage tarball(s), distfiles and packages can be found in /mnt/cdrom/.
-
-To start an ssh server on this system, type "/etc/init.d/sshd start".  If you
-need to log in remotely as root, type "passwd root" to reset root's password
-to a known value.
-
-Please report any bugs you find to https://bugs.gentoo.org. Be sure to include
-detailed information about how to reproduce the bug you are reporting.
-
-Thank you for using Gentoo Linux!

diff --git a/targets/livecd-stage2/controller.sh 
b/targets/livecd-stage2/controller.sh
index 9aba8167..cced07d2 100755
--- a/targets/livecd-stage2/controller.sh
+++ b/targets/livecd-stage2/controller.sh
@@ -64,7 +64,6 @@ case $1 in
 
clean)
if [ "${clst_livecd_type}" = "gentoo-release-minimal" ] \
-   || [ "${clst_livecd_type}" = "gentoo-release-universal" ]
then
# Clean out man, info and doc files
rm -rf ${clst_chroot_path}/usr/share/{man,doc,info}/*

diff --git a/targets/support/livecdfs-update.sh 
b/targets/support/livecdfs-update.sh
index 05714c52..687b9d4e 100755
--- a/targets/support/livecdfs-update.sh
+++ b/targets/support/livecdfs-update.sh
@@ -94,10 +94,6 @@ EOF
 
 # Tweak the MOTD for Gentoo releases
 case ${clst_livecd_type} in
-   gentoo-release-universal)
-   cat /etc/generic.motd.txt /etc/universal.motd.txt > /etc/motd
-   sed -i 's:^##GREETING:Welcome to the Gentoo Linux Universal 
Installation CD!:' /etc/motd
-   ;;
gentoo-release-minimal)
cat /etc/generic.motd.txt /etc/minimal.motd.txt > /etc/motd
sed -i 's:^##GREETING:Welcome to the Gentoo Linux Minimal 
Installation CD!:' /etc/motd
@@ -108,7 +104,7 @@ case ${clst_livecd_type} in
;;
 esac
 
-rm -f /etc/generic.motd.txt /etc/universal.motd.txt /etc/minimal.motd.txt 
/etc/livecd.motd.txt
+rm -f /etc/generic.motd.txt /etc/minimal.motd.txt /etc/livecd.motd.txt
 
 # Post configuration
 case ${clst_livecd_type} in



[gentoo-commits] proj/catalyst:master commit in: targets/support/

2023-03-31 Thread Ben Kohler
commit: 1dfba7ee041d6b1e6a8a7af58f28728a8912a1ab
Author: Ben Kohler  gentoo  org>
AuthorDate: Wed Mar 29 18:37:43 2023 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Fri Mar 31 13:27:37 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=1dfba7ee

livecdfs-update.sh: remove code obsoleted by sys-apps/hwids package

Signed-off-by: Ben Kohler  gentoo.org>

 targets/support/livecdfs-update.sh | 24 
 1 file changed, 24 deletions(-)

diff --git a/targets/support/livecdfs-update.sh 
b/targets/support/livecdfs-update.sh
index 1be4baea..a2ac26c8 100755
--- a/targets/support/livecdfs-update.sh
+++ b/targets/support/livecdfs-update.sh
@@ -101,30 +101,6 @@ alias ll='ls -l'
 alias grep='grep --color=auto'
 EOF
 
-# Make sure we have the latest pci,usb and hotplug ids.  Older versions of
-# pciutils and usbutils used /sbin, where newer versions use /usr/sbin.
-[ -x /sbin/update-pciids ] && /sbin/update-pciids
-[ -x /sbin/update-usbids ] && /sbin/update-usbids
-[ -x /usr/sbin/update-pciids ] && /usr/sbin/update-pciids
-[ -x /usr/sbin/update-usbids ] && /usr/sbin/update-usbids
-if [ -d /usr/share/hwdata ]
-then
-   # If we have uncompressed pci and usb ids files, symlink them.
-   [ -f /usr/share/misc/pci.ids ] && [ -f /usr/share/hwdata/pci.ids ] && \
-   rm -f /usr/share/hwdata/pci.ids && ln -s 
/usr/share/misc/pci.ids \
-   /usr/share/hwdata/pci.ids
-   [ -f /usr/share/misc/usb.ids ] && [ -f /usr/share/hwdata/usb.ids ] && \
-   rm -f /usr/share/hwdata/usb.ids && ln -s 
/usr/share/misc/usb.ids \
-   /usr/share/hwdata/usb.ids
-   # If we have compressed pci and usb files, we download our own copies.
-   [ -f /usr/share/misc/pci.ids.gz ] && [ -f /usr/share/hwdata/pci.ids ] 
&& \
-   rm -f /usr/share/hwdata/pci.ids && wget -O 
/usr/share/hwdata/pci.ids \
-   http://pciids.sourceforge.net/v2.2/pci.ids
-   [ -f /usr/share/misc/usb.ids.gz ] && [ -f /usr/share/hwdata/usb.ids ] 
&& \
-   rm -f /usr/share/hwdata/usb.ids && wget -O 
/usr/share/hwdata/usb.ids \
-   http://www.linux-usb.org/usb.ids
-fi
-
 # Tweak the MOTD for Gentoo releases
 case ${clst_livecd_type} in
gentoo-release-universal)



[gentoo-commits] proj/catalyst:master commit in: targets/support/

2023-03-31 Thread Ben Kohler
commit: 0c26863c06762bb954d283849777dcde1dc0f616
Author: Ben Kohler  gentoo  org>
AuthorDate: Wed Mar 29 18:54:21 2023 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Fri Mar 31 13:27:37 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=0c26863c

livecdfs-update.sh: replace local handbook with wiki handbook

Code to look for a local html handbook is obsolete.  Link to the wiki
handbook instead, and install the entry unconditionally for gentoo
targets.

Signed-off-by: Ben Kohler  gentoo.org>

 targets/support/livecdfs-update.sh | 32 +---
 1 file changed, 13 insertions(+), 19 deletions(-)

diff --git a/targets/support/livecdfs-update.sh 
b/targets/support/livecdfs-update.sh
index 16e201d5..bf19ccf5 100755
--- a/targets/support/livecdfs-update.sh
+++ b/targets/support/livecdfs-update.sh
@@ -112,28 +112,22 @@ rm -f /etc/generic.motd.txt /etc/universal.motd.txt 
/etc/minimal.motd.txt /etc/l
 
 # Post configuration
 case ${clst_livecd_type} in
-   gentoo-release-live*)
+   gentoo-release-*)
# Clear out lastlog
rm -f /var/log/lastlog && touch /var/log/lastlog
 
-   create_handbook_icon() {
-   cat <<-EOF > 
/usr/share/applications/gentoo-handbook.desktop
-   [Desktop Entry]
-   Encoding=UTF-8
-   Version=1.0
-   Type=Link
-   
URL=file:///mnt/cdrom/docs/handbook/html/index.html
-   Terminal=false
-   Name=Gentoo Linux Handbook
-   GenericName=Gentoo Linux Handbook
-   Comment=This is a link to the local copy of the 
Gentoo Linux Handbook.
-   Icon=text-editor
-   EOF
-   }
-
-   # Create our Handbook icon
-   [ -e /docs/handbook/index.html ] && create_handbook_icon
-   [ -n "${clst_livecd_overlay}" ] && [ -e 
${clst_livecd_overlay}/docs/handbook/index.html ] && create_handbook_icon
+   cat <<-EOF > /usr/share/applications/gentoo-handbook.desktop
+   [Desktop Entry]
+   Encoding=UTF-8
+   Version=1.0
+   Type=Link
+   URL=https://wiki.gentoo.org/wiki/Handbook:Main_Page
+   Terminal=false
+   Name=Gentoo Linux Handbook
+   GenericName=Gentoo Linux Handbook
+   Comment=This is a link to Gentoo Linux Handbook.
+   Icon=text-editor
+   EOF
 
# Copy our icons into place and build home directories
if [ -n "${clst_livecd_users}" ]



[gentoo-commits] proj/catalyst:master commit in: livecd/files/, targets/support/

2023-03-31 Thread Ben Kohler
commit: b66d5721d6da0bb14d5106e634e1544c53242bd9
Author: Ben Kohler  gentoo  org>
AuthorDate: Wed Mar 29 18:33:52 2023 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Fri Mar 31 13:27:37 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=b66d5721

reorganize motd files

Having all 3 livecd targets inherit generic.motd.txt AND
minimal.motd.txt was causing some duplication of messages.  Now all 3
targets inherit generic and their own single motd file.

Signed-off-by: Ben Kohler  gentoo.org>

 livecd/files/livecd.motd.txt   |  8 +++-
 livecd/files/minimal.motd.txt  |  2 +-
 livecd/files/universal.motd.txt| 12 ++--
 targets/support/livecdfs-update.sh |  6 ++
 4 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/livecd/files/livecd.motd.txt b/livecd/files/livecd.motd.txt
index a37f53cb..029c2f6e 100644
--- a/livecd/files/livecd.motd.txt
+++ b/livecd/files/livecd.motd.txt
@@ -1,5 +1,11 @@
+The latest version of the Handbook is always available from the Gentoo web
+site by typing "links https://wiki.gentoo.org/wiki/Handbook";.
+
+To start an ssh server on this system, type "/etc/init.d/sshd start".  If you
+need to log in remotely as root, type "passwd root" to reset root's password
+to a known value.
+
 Please report any bugs you find to https://bugs.gentoo.org. Be sure to include
 detailed information about how to reproduce the bug you are reporting.
 
 Thank you for using Gentoo Linux!
-

diff --git a/livecd/files/minimal.motd.txt b/livecd/files/minimal.motd.txt
index 3058b854..029c2f6e 100644
--- a/livecd/files/minimal.motd.txt
+++ b/livecd/files/minimal.motd.txt
@@ -7,5 +7,5 @@ to a known value.
 
 Please report any bugs you find to https://bugs.gentoo.org. Be sure to include
 detailed information about how to reproduce the bug you are reporting.
-Thank you for using Gentoo Linux!
 
+Thank you for using Gentoo Linux!

diff --git a/livecd/files/universal.motd.txt b/livecd/files/universal.motd.txt
index 403b8729..416d59d8 100644
--- a/livecd/files/universal.motd.txt
+++ b/livecd/files/universal.motd.txt
@@ -1,5 +1,13 @@
+The latest version of the Handbook is always available from the Gentoo web
+site by typing "links https://wiki.gentoo.org/wiki/Handbook";.
 
 Stage tarball(s), distfiles and packages can be found in /mnt/cdrom/.
 
-You can view the networkless installation instructions for this release by
-typing "links /mnt/cdrom/docs/handbook/html".
+To start an ssh server on this system, type "/etc/init.d/sshd start".  If you
+need to log in remotely as root, type "passwd root" to reset root's password
+to a known value.
+
+Please report any bugs you find to https://bugs.gentoo.org. Be sure to include
+detailed information about how to reproduce the bug you are reporting.
+
+Thank you for using Gentoo Linux!

diff --git a/targets/support/livecdfs-update.sh 
b/targets/support/livecdfs-update.sh
index dafe4c3a..1be4baea 100755
--- a/targets/support/livecdfs-update.sh
+++ b/targets/support/livecdfs-update.sh
@@ -128,8 +128,7 @@ fi
 # Tweak the MOTD for Gentoo releases
 case ${clst_livecd_type} in
gentoo-release-universal)
-   cat /etc/generic.motd.txt /etc/universal.motd.txt \
-   /etc/minimal.motd.txt > /etc/motd
+   cat /etc/generic.motd.txt /etc/universal.motd.txt > /etc/motd
sed -i 's:^##GREETING:Welcome to the Gentoo Linux Universal 
Installation CD!:' /etc/motd
;;
gentoo-release-minimal)
@@ -137,8 +136,7 @@ case ${clst_livecd_type} in
sed -i 's:^##GREETING:Welcome to the Gentoo Linux Minimal 
Installation CD!:' /etc/motd
;;
gentoo-release-live*)
-   cat /etc/generic.motd.txt \
-   /etc/minimal.motd.txt /etc/livecd.motd.txt > /etc/motd
+   cat /etc/generic.motd.txt /etc/livecd.motd.txt > /etc/motd
sed -i -e 's:^##GREETING:Welcome to the Gentoo Linux LiveCD!:' 
/etc/motd
;;
 esac



[gentoo-commits] proj/catalyst:master commit in: livecd/files/

2023-03-31 Thread Ben Kohler
commit: bb5b06ef4b0a82008f9ee7f5187912547333189b
Author: Ben Kohler  gentoo  org>
AuthorDate: Wed Mar 29 18:29:37 2023 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Fri Mar 31 13:27:37 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=bb5b06ef

remove gamecd motd file

Signed-off-by: Ben Kohler  gentoo.org>

 livecd/files/gamecd.motd.txt | 8 
 1 file changed, 8 deletions(-)

diff --git a/livecd/files/gamecd.motd.txt b/livecd/files/gamecd.motd.txt
deleted file mode 100644
index 7ee2d9c2..
--- a/livecd/files/gamecd.motd.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-
-To (re)start ##GAME_NAME, please type "startx" at the prompt below.
-
-Please report any bugs you find to https://bugs.gentoo.org. Be sure to include
-detailed information about how to reproduce the bug you are reporting.
-
-Thank you for using Gentoo Linux!
-



[gentoo-commits] proj/catalyst:master commit in: targets/support/

2023-03-31 Thread Ben Kohler
commit: f351f8e56ce00c8c36646b2ade13c4f2c9b96751
Author: Ben Kohler  gentoo  org>
AuthorDate: Wed Mar 29 18:40:38 2023 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Fri Mar 31 13:27:37 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=f351f8e5

livecdfs-update.sh: remove net.eth[1234] symlinks

I don't think these are providing any value to anyone, since interfaces
don't get eth* names by default and very few livecd users will be using
netifrc anyway.

Signed-off-by: Ben Kohler  gentoo.org>

 targets/support/livecdfs-update.sh | 6 --
 1 file changed, 6 deletions(-)

diff --git a/targets/support/livecdfs-update.sh 
b/targets/support/livecdfs-update.sh
index 9e0fd6cc..ca8997f7 100755
--- a/targets/support/livecdfs-update.sh
+++ b/targets/support/livecdfs-update.sh
@@ -60,12 +60,6 @@ then
sed -i '/NOPASSWD: ALL/ s/^# //' /etc/sudoers
 fi
 
-# Setup links for ethernet devices
-cd /etc/init.d
-for i in {1..4}; do
-   ln -sf net.lo net.eth${i}
-done
-
 # Add this for hwsetup/mkx86config
 mkdir -p /etc/sysconfig
 



[gentoo-commits] proj/catalyst:master commit in: targets/support/

2023-03-31 Thread Ben Kohler
commit: 0a8ca2598868cce8f3289a5f517e4d6f10234d9f
Author: Ben Kohler  gentoo  org>
AuthorDate: Wed Mar 29 18:39:46 2023 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Fri Mar 31 13:27:37 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=0a8ca259

livecdfs-update.sh: remove old devfsd code

Signed-off-by: Ben Kohler  gentoo.org>

 targets/support/livecdfs-update.sh | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/targets/support/livecdfs-update.sh 
b/targets/support/livecdfs-update.sh
index a2ac26c8..9e0fd6cc 100755
--- a/targets/support/livecdfs-update.sh
+++ b/targets/support/livecdfs-update.sh
@@ -88,9 +88,6 @@ cat < ${clst_make_conf}
 EOF
 cat ${clst_make_conf}.old >> ${clst_make_conf}
 
-# devfs tweaks
-[ -e /etc/devfsd.conf ] && sed -i '/dev-state/ s:^:#:' /etc/devfsd.conf
-
 # Add some helpful aliases
 cat <> /etc/profile
 alias cp='cp -i'



[gentoo-commits] proj/catalyst:master commit in: arch/

2023-03-05 Thread Andreas K. Hüttel
commit: c9d0f96dc7dbe5cfb32e8379022fd44016445bd5
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Sun Mar  5 21:31:58 2023 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Sun Mar  5 21:31:58 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=c9d0f96d

Add mips musl subarch definitions

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 arch/mips.toml | 24 
 1 file changed, 24 insertions(+)

diff --git a/arch/mips.toml b/arch/mips.toml
index 22c9a22a..95fd6b40 100644
--- a/arch/mips.toml
+++ b/arch/mips.toml
@@ -6,6 +6,10 @@ COMMON_FLAGS = "-O2 -march=mips1 -mabi=32 -mplt -pipe"
 CHOST = "mips-unknown-linux-gnu"
 COMMON_FLAGS = "-O2 -march=mips2 -mabi=32 -mplt -pipe"
 
+[mips.mips2_musl]
+CHOST = "mips-gentoo-linux-musl"
+COMMON_FLAGS = "-O2 -march=mips2 -mabi=32 -mplt -pipe"
+
 [mips.mips32]
 CHOST = "mips-unknown-linux-gnu"
 COMMON_FLAGS = "-O2 -march=mips32 -mabi=32 -mplt -pipe"
@@ -26,6 +30,10 @@ COMMON_FLAGS = "-O2 -march=mips32r2 -mabi=32 -mplt -pipe"
 CHOST = "mips-unknown-linux-gnu"
 COMMON_FLAGS = "-O2 -march=mips3 -mabi=32 -mplt -mfix-r4000 -mfix-r4400 -pipe"
 
+[mips.mips3_musl]
+CHOST = "mips-gentoo-linux-musl"
+COMMON_FLAGS = "-O2 -march=mips3 -mabi=32 -mplt -mfix-r4000 -mfix-r4400 -pipe"
+
 [mips.mips4_r5k]
 CHOST = "mips-unknown-linux-gnu"
 COMMON_FLAGS = "-O2 -march=r5k -mabi=32 -mplt -pipe"
@@ -54,6 +62,10 @@ COMMON_FLAGS = "-O2 -march=mips1 -mabi=32 -mplt -pipe"
 CHOST = "mipsel-unknown-linux-gnu"
 COMMON_FLAGS = "-O2 -march=mips2 -mabi=32 -mplt -pipe"
 
+[mips.mipsel2_musl]
+CHOST = "mipsel-gentoo-linux-musl"
+COMMON_FLAGS = "-O2 -march=mips2 -mabi=32 -mplt -pipe"
+
 [mips.mips32el]
 CHOST = "mipsel-unknown-linux-gnu"
 COMMON_FLAGS = "-O2 -march=mips32 -mabi=32 -mplt -pipe"
@@ -74,6 +86,10 @@ COMMON_FLAGS = "-O2 -march=mips32r2 -mabi=32 -mplt -pipe"
 CHOST = "mipsel-unknown-linux-gnu"
 COMMON_FLAGS = "-O2 -march=mips3 -mabi=32 -mplt -Wa,-mfix-loongson2f-nop 
-mfix-r5900 -pipe"
 
+[mips.mipsel3_musl]
+CHOST = "mipsel-gentoo-linux-musl"
+COMMON_FLAGS = "-O2 -march=mips3 -mabi=32 -mplt -Wa,-mfix-loongson2f-nop 
-mfix-r5900 -pipe"
+
 [mips.mipsel4_r5k]
 CHOST = "mipsel-unknown-linux-gnu"
 COMMON_FLAGS = "-O2 -march=r5k -mabi=32 -mplt -pipe"
@@ -106,6 +122,10 @@ COMMON_FLAGS = "-O2 -march=mips3 -mabi=n32 -mplt 
-mfix-r4000 -mfix-r4400 -pipe"
 CHOST = "mips64-unknown-linux-gnu"
 COMMON_FLAGS = "-O2 -march=mips3 -mabi=64 -mfix-r4000 -mfix-r4400 -pipe"
 
+[mips64.mips3_n64_musl]
+CHOST = "mips64-gentoo-linux-musl"
+COMMON_FLAGS = "-O2 -march=mips3 -mabi=64 -mfix-r4000 -mfix-r4400 -pipe"
+
 [mips64.mips3_multilib]
 CHOST = "mips64-unknown-linux-gnu"
 COMMON_FLAGS = "-O2 -march=mips3 -mplt -mfix-r4000 -mfix-r4400 -pipe"
@@ -202,6 +222,10 @@ COMMON_FLAGS = "-O2 -march=mips64 -mabi=n32 -mplt -pipe"
 CHOST = "mips64el-unknown-linux-gnu"
 COMMON_FLAGS = "-O2 -march=mips64 -mabi=64 -pipe"
 
+[mips64.mips64el_n64_musl]
+CHOST = "mips64el-gentoo-linux-musl"
+COMMON_FLAGS = "-O2 -march=mips64 -mabi=64 -pipe"
+
 [mips64.mips64el_multilib]
 CHOST = "mips64el-unknown-linux-gnu"
 COMMON_FLAGS = "-O2 -march=mips64 -mplt -pipe"



[gentoo-commits] proj/catalyst:master commit in: examples/

2023-02-26 Thread Andreas K. Hüttel
commit: 3286edf1c8b4cea0f5770bcf6aa4e289bd06d82f
Author: Stephen Reaves  gmail  com>
AuthorDate: Wed Jan  9 22:42:40 2019 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Sun Feb 26 23:07:05 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=3286edf1

Fixed typo

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 examples/stage4_template.spec | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/examples/stage4_template.spec b/examples/stage4_template.spec
index a7a3e766..02910c88 100644
--- a/examples/stage4_template.spec
+++ b/examples/stage4_template.spec
@@ -129,7 +129,7 @@ stage4/motd:
 
 # This is for blacklisting modules from being hotplugged that are known to 
cause
 # problems.  Putting a module name here will keep it from being auto-loaded,
-# even if ti is detected by hotplug.
+# even if it is detected by hotplug.
 # example:
 # stage4/modblacklist: 8139cp
 stage4/modblacklist:



[gentoo-commits] proj/catalyst:master commit in: arch/

2023-01-17 Thread Andreas K. Hüttel
commit: 3cda3aaa41fb32aebf3595d2bb4529e41757d83f
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Tue Jan 17 21:26:11 2023 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Tue Jan 17 21:26:11 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=3cda3aaa

Add aarch64_be subarch definition

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 arch/arm64.toml | 4 
 1 file changed, 4 insertions(+)

diff --git a/arch/arm64.toml b/arch/arm64.toml
index e139327f..5f522d6c 100644
--- a/arch/arm64.toml
+++ b/arch/arm64.toml
@@ -5,3 +5,7 @@ CHOST = "aarch64-unknown-linux-gnu"
 [arm64.aarch64]
 COMMON_FLAGS = "-O2 -pipe"
 CHOST = "aarch64-unknown-linux-gnu"
+
+[arm64.aarch64_be]
+COMMON_FLAGS = "-O2 -pipe"
+CHOST = "aarch64_be-unknown-linux-gnu"



[gentoo-commits] proj/catalyst:master commit in: targets/support/

2023-01-02 Thread Ben Kohler
commit: 1c67748297c23157c693cfee5f869a0deb9f6802
Author: Ben Kohler  gentoo  org>
AuthorDate: Mon Jan  2 20:22:02 2023 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Mon Jan  2 20:22:02 2023 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=1c677482

targets/support/livecdfs-update.sh: set hostname= rather than HOSTNAME=

Apparently the use of HOSTNAME in /etc/conf.d/hostname has been
deprecated in favor of hostname for a while.  Support for that was
completely removed recently.

https://github.com/OpenRC/openrc/commit/d2b31440708bd0cb70e5317e05b8ae80e4866269

Signed-off-by: Ben Kohler  gentoo.org>

 targets/support/livecdfs-update.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/targets/support/livecdfs-update.sh 
b/targets/support/livecdfs-update.sh
index 251a6887..dafe4c3a 100755
--- a/targets/support/livecdfs-update.sh
+++ b/targets/support/livecdfs-update.sh
@@ -17,7 +17,7 @@ rm -rf /etc/localtime
 cp /usr/share/zoneinfo/UTC /etc/localtime
 
 # Setup the hostname
-echo 'HOSTNAME="livecd"' > /etc/conf.d/hostname
+echo 'hostname="livecd"' > /etc/conf.d/hostname
 echo "127.0.0.1 livecd.gentoo livecd localhost" > /etc/hosts
 
 # Since we're an official Gentoo release, we do things the official Gentoo way.



[gentoo-commits] proj/catalyst:master commit in: targets/support/

2022-12-27 Thread Andreas K. Hüttel
commit: 33eedbd166f355069a4c8ac958f78fdc01c3a6d0
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Tue Dec 27 11:20:40 2022 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Tue Dec 27 11:20:40 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=33eedbd1

More i?86 fixes for x86

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 targets/support/bootloader-setup.sh | 2 +-
 targets/support/create-iso.sh   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/targets/support/bootloader-setup.sh 
b/targets/support/bootloader-setup.sh
index deff5609..065f2bb5 100755
--- a/targets/support/bootloader-setup.sh
+++ b/targets/support/bootloader-setup.sh
@@ -103,7 +103,7 @@ case ${clst_hostarch} in
echo "--recoverykernel=boot/${x}" >> ${icfg}
done
;;
-   amd64|arm64|ia64|ppc*|powerpc*|sparc*|x86)
+   amd64|arm64|ia64|ppc*|powerpc*|sparc*|x86|i?86)
kern_subdir=/boot
iacfg=$1/boot/grub/grub.cfg
mkdir -p $1/boot/grub

diff --git a/targets/support/create-iso.sh b/targets/support/create-iso.sh
index 8a603944..74c24a1d 100755
--- a/targets/support/create-iso.sh
+++ b/targets/support/create-iso.sh
@@ -191,7 +191,7 @@ case ${clst_hostarch} in
# o=output image (burnable to CD; readable by fdisk)
/usr/bin/sgibootcd c=${cfg} o=${clst_iso}
;;
-   amd64|arm64|ia64|ppc*|powerpc*|sparc*|x86)
+   amd64|arm64|ia64|ppc*|powerpc*|sparc*|x86|i?86)
isoroot_checksum
 
extra_opts=("-joliet" "-iso-level" "3")



[gentoo-commits] proj/catalyst:master commit in: targets/support/

2022-12-26 Thread Andreas K. Hüttel
commit: 567981dca789e70eaf53b5bc5240750da56fe04a
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Mon Dec 26 23:02:28 2022 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Mon Dec 26 23:02:28 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=567981dc

Run grub-mkrescue also for i?86 subarches

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 targets/support/create-iso.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/targets/support/create-iso.sh b/targets/support/create-iso.sh
index 8eada6a7..8a603944 100755
--- a/targets/support/create-iso.sh
+++ b/targets/support/create-iso.sh
@@ -18,7 +18,7 @@ case ${clst_hostarch} in
cdmaker="grub-mkrescue"
cdmakerpkg="dev-libs/libisoburn and sys-boot/grub:2"
;;
-   amd64|arm64|ia64|x86)
+   amd64|arm64|ia64|x86|i?86)
cdmaker="grub-mkrescue"
# grub-mkrescue requires:
#  xorriso from libisoburn



[gentoo-commits] proj/catalyst:master commit in: targets/embedded/, targets/support/

2022-12-21 Thread Ben Kohler
commit: 5a47735a5a06955bf21b1462284eeff81c55aa22
Author: Ben Kohler  gentoo  org>
AuthorDate: Wed Dec 21 21:41:22 2022 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Wed Dec 21 21:41:22 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=5a47735a

Add -k to gensquashfs calls to preserve timestamps

Without this flag, timestamps on all files in the squashfs image seem to
be at 0 epoch (Jan 1 1970).  This is messing with some apps at runtime
and I don't think we ever would intend to have bogus timestamps.

I've adjusted both places gensquashfs is called.

Signed-off-by: Ben Kohler  gentoo.org>

 targets/embedded/fs-runscript.sh  | 2 +-
 targets/support/target_image_setup.sh | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/targets/embedded/fs-runscript.sh b/targets/embedded/fs-runscript.sh
index fb17d3ba..dd7c7531 100755
--- a/targets/embedded/fs-runscript.sh
+++ b/targets/embedded/fs-runscript.sh
@@ -21,7 +21,7 @@ case ${1} in
 
squashfs)
fs_check /usr/bin/gensquashfs squashfs sys-fs/squashfs-tools-ng
-   gensquashfs -D ${root_fs_path} -q ${clst_embedded_fs_ops} \
+   gensquashfs -k -D ${root_fs_path} -q ${clst_embedded_fs_ops} \
${clst_image_path}/root.img ||
die "Could not create a squashfs filesystem"
;;

diff --git a/targets/support/target_image_setup.sh 
b/targets/support/target_image_setup.sh
index f9427eaf..b0e6546c 100755
--- a/targets/support/target_image_setup.sh
+++ b/targets/support/target_image_setup.sh
@@ -7,7 +7,7 @@ mkdir -p "${1}"
 echo "Creating ${clst_fstype} filesystem"
 case ${clst_fstype} in
squashfs)
-   gensquashfs -D "${clst_stage_path}" -q ${clst_fsops} 
"${1}/image.squashfs" \
+   gensquashfs -k -D "${clst_stage_path}" -q ${clst_fsops} 
"${1}/image.squashfs" \
|| die "Failed to create squashfs filesystem"
;;
jffs2)



[gentoo-commits] proj/catalyst:master commit in: targets/livecd-stage2/, targets/support/

2022-12-01 Thread Ben Kohler
commit: 59b0932124c23e3088353d4992d5686b7d65ef82
Author: Ben Kohler  gentoo  org>
AuthorDate: Thu Dec  1 17:43:35 2022 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Thu Dec  1 17:43:35 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=59b09321

livecd-stage2: add memtest86+ detection for x86/amd64

When memtest86+ is detected, catalyst should now copy to the livecd and
add it to grub menus.

Signed-off-by: Ben Kohler  gentoo.org>

 targets/livecd-stage2/controller.sh |  4 
 targets/support/bootloader-setup.sh | 23 +++
 2 files changed, 27 insertions(+)

diff --git a/targets/livecd-stage2/controller.sh 
b/targets/livecd-stage2/controller.sh
index 2b8858c0..9aba8167 100755
--- a/targets/livecd-stage2/controller.sh
+++ b/targets/livecd-stage2/controller.sh
@@ -93,6 +93,10 @@ case $1 in
cp -f ${clst_sharedir}/livecd/files/README.txt $1
fi
 
+   if [ -e ${clst_chroot_path}/boot/memtest86plus/ ]; then
+   cp -rv ${clst_chroot_path}/boot/memtest86plus/* $1
+   fi
+
case ${clst_livecd_type} in
gentoo-release-livecd)
mkdir -p $1/snapshots

diff --git a/targets/support/bootloader-setup.sh 
b/targets/support/bootloader-setup.sh
index 08d25b59..deff5609 100755
--- a/targets/support/bootloader-setup.sh
+++ b/targets/support/bootloader-setup.sh
@@ -30,6 +30,28 @@ case ${clst_fstype} in
;;
 esac
 
+# Optional memtest setups
+memtest_grub() {
+  if [[ -e $1/memtest64.bios ]]; then
+echo 'if [ "x$grub_platform" = xpc ]; then'
+echo '  menuentry "Memtest86+ 64bit BIOS" {'
+echo 'linux "/memtest64.bios"'
+echo '  }'
+echo 'fi'
+  fi
+  if [[ -e $1/memtest.efi64 ]]; then
+echo 'if [ "x$grub_platform" = xefi ]; then'
+echo '  menuentry "Memtest86+ 64bit UEFI" {'
+echo 'chainloader "/memtest.efi64"'
+echo '  }'
+echo 'fi'
+  fi
+  if [[ -e $1/memtest32.bios ]]; then
+echo 'menuentry "Memtest86+ 32bit BIOS" {'
+echo '  linux "/memtest32.bios"'
+echo '}'
+  fi
+}
 
 default_append_line=(root=/dev/ram0 init=/linuxrc ${cmdline_opts[@]} cdroot)
 
@@ -118,6 +140,7 @@ case ${clst_hostarch} in
fi
echo "" >> ${iacfg}
done
+   memtest_grub $1 >> ${iacfg}
;;
mips)
# NO SOFTLEVEL SUPPORT YET



[gentoo-commits] proj/catalyst:master commit in: targets/support/

2022-11-22 Thread Matt Turner
commit: 2324a630a7c650187edd0ce7b1343a6f3e40423d
Author: Sam James  gentoo  org>
AuthorDate: Mon Nov 21 07:37:00 2022 +
Commit: Matt Turner  gentoo  org>
CommitDate: Tue Nov 22 21:19:03 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=2324a630

targets: fix comparison operator

'<' and '>' work lexicographically in bash.

Signed-off-by: Sam James  gentoo.org>
Signed-off-by: Matt Turner  gentoo.org>

 targets/support/pre-kmerge.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/targets/support/pre-kmerge.sh b/targets/support/pre-kmerge.sh
index 0dfc835e..ed825f5f 100755
--- a/targets/support/pre-kmerge.sh
+++ b/targets/support/pre-kmerge.sh
@@ -18,8 +18,8 @@ if [[ ${clst_hostarch} == hppa ]]; then
;;
esac
done
-   [[ $num32 > 1 ]] && die "Only one 32-bit kernel can be configured"
-   [[ $num64 > 1 ]] && die "Only one 64-bit kernel can be configured"
+   [[ $num32 -gt 1 ]] && die "Only one 32-bit kernel can be configured"
+   [[ $num64 -gt 1 ]] && die "Only one 64-bit kernel can be configured"
 fi
 
 run_merge --oneshot sys-kernel/genkernel



[gentoo-commits] proj/catalyst:master commit in: catalyst/base/

2022-11-22 Thread Matt Turner
commit: aa52470e86ebd0578c379813a9144611c97431a8
Author: Matt Turner  gentoo  org>
AuthorDate: Tue Nov 22 03:26:59 2022 +
Commit: Matt Turner  gentoo  org>
CommitDate: Tue Nov 22 21:19:03 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=aa52470e

catalyst: Use correct arch setting for setarch testing

Previously we were testing against the 'host' or subarchitecture (e.g.
i486) instead of the architecture (e.g. x86). This manifests on x86
builds on x86_64; on ppc on ppc64 and sparc on sparc64 the arch and
subarch values happen to line up.

Fixes: cd58b37b ("catalyst: Access setarch data correctly")
Signed-off-by: Matt Turner  gentoo.org>

 catalyst/base/stagebase.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index 5a3bd375..732c5939 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -129,7 +129,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
 # Search for a subarchitecture in each arch in the arch_config
 for arch in [x for x in arch_config if x.startswith(name) and 
host in arch_config[x]]:
 self.settings.update(arch_config[arch][host])
-setarch = arch_config.get('setarch', {}).get(host, {})
+setarch = arch_config.get('setarch', {}).get(arch, {})
 break
 else:
 # Didn't find a matching subarchitecture, keep searching



[gentoo-commits] proj/catalyst:master commit in: targets/support/

2022-11-22 Thread Matt Turner
commit: 27c61efa500e2d72a1aef49d96bc91860ca33c49
Author: Matt Turner  gentoo  org>
AuthorDate: Sat Nov 19 23:52:19 2022 +
Commit: Matt Turner  gentoo  org>
CommitDate: Tue Nov 22 21:19:03 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=27c61efa

targets: Fix some indentation

Signed-off-by: Matt Turner  gentoo.org>

 targets/support/create-iso.sh | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/targets/support/create-iso.sh b/targets/support/create-iso.sh
index 9991b930..8eada6a7 100755
--- a/targets/support/create-iso.sh
+++ b/targets/support/create-iso.sh
@@ -11,13 +11,13 @@ case ${clst_hostarch} in
cdmakerpkg="dev-libs/libisoburn"
;;
mips)
-   cdmaker="sgibootcd"
+   cdmaker="sgibootcd"
cdmakerpkg="sys-boot/sgibootcd"
;;
-ppc*|powerpc*|sparc*)
-cdmaker="grub-mkrescue"
-cdmakerpkg="dev-libs/libisoburn and sys-boot/grub:2"
-;;
+   ppc*|powerpc*|sparc*)
+   cdmaker="grub-mkrescue"
+   cdmakerpkg="dev-libs/libisoburn and sys-boot/grub:2"
+   ;;
amd64|arm64|ia64|x86)
cdmaker="grub-mkrescue"
# grub-mkrescue requires:



[gentoo-commits] proj/catalyst:master commit in: catalyst/

2022-11-17 Thread Matt Turner
commit: f365eb43a81989ad24f75995df97552e08d3e7ad
Author: Matt Turner  gentoo  org>
AuthorDate: Thu Nov 17 23:41:33 2022 +
Commit: Matt Turner  gentoo  org>
CommitDate: Thu Nov 17 23:42:24 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=f365eb43

catalyst: Remove stray space

Signed-off-by: Matt Turner  gentoo.org>

 catalyst/support.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/catalyst/support.py b/catalyst/support.py
index a69566d2..6945d053 100644
--- a/catalyst/support.py
+++ b/catalyst/support.py
@@ -78,7 +78,7 @@ def file_check(filepath, extensions=None):
 files = glob.glob("%s.*" % filepath)
 # remove any false positive files
 files = [x for x in files if
- not x.endswith( ".CONTENTS") and
+ not x.endswith(".CONTENTS") and
  not x.endswith(".CONTENTS.gz") and
  not x.endswith(".DIGESTS") and
  not x.endswith(".sha256")]



[gentoo-commits] proj/catalyst:master commit in: targets/support/

2022-11-17 Thread Matt Turner
commit: 97bbf021ba57fa2fcf0e3914d98cff10151a6098
Author: Matt Turner  gentoo  org>
AuthorDate: Tue Nov 15 02:54:30 2022 +
Commit: Matt Turner  gentoo  org>
CommitDate: Thu Nov 17 23:41:05 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=97bbf021

targets: Drop /etc/asound.state creation

alsa creates this file at runtime at /var/lib/alsa/asound.state in
modern times.

Signed-off-by: Matt Turner  gentoo.org>

 targets/support/livecdfs-update.sh | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/targets/support/livecdfs-update.sh 
b/targets/support/livecdfs-update.sh
index e750e785..251a6887 100755
--- a/targets/support/livecdfs-update.sh
+++ b/targets/support/livecdfs-update.sh
@@ -125,9 +125,6 @@ then
http://www.linux-usb.org/usb.ids
 fi
 
-# touch /etc/asound.state
-touch /etc/asound.state
-
 # Tweak the MOTD for Gentoo releases
 case ${clst_livecd_type} in
gentoo-release-universal)



[gentoo-commits] proj/catalyst:master commit in: targets/support/, livecd/files/

2022-11-17 Thread Matt Turner
commit: 820fcbd2053ee21ea3024c723e31e282a7f70d6d
Author: Matt Turner  gentoo  org>
AuthorDate: Tue Nov 15 02:11:30 2022 +
Commit: Matt Turner  gentoo  org>
CommitDate: Thu Nov 17 23:41:05 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=820fcbd2

targets: Remove remnants of support for the installer

Signed-off-by: Matt Turner  gentoo.org>

 livecd/files/livecd.motd.txt   |  2 --
 targets/support/livecdfs-update.sh | 16 +---
 2 files changed, 1 insertion(+), 17 deletions(-)

diff --git a/livecd/files/livecd.motd.txt b/livecd/files/livecd.motd.txt
index fe4c0918..9f8e2396 100644
--- a/livecd/files/livecd.motd.txt
+++ b/livecd/files/livecd.motd.txt
@@ -1,8 +1,6 @@
 To (re)start X Windows, please type "##DISPLAY_MANAGER" at the prompt below.
 There is also a rescue session for X using twm if you simply use "startx".
 
-You can start the installer by typing "installer" at the prompt below.
-
 Please report any bugs you find to https://bugs.gentoo.org. Be sure to include
 detailed information about how to reproduce the bug you are reporting.
 

diff --git a/targets/support/livecdfs-update.sh 
b/targets/support/livecdfs-update.sh
index 3f47012b..cf2cf62f 100755
--- a/targets/support/livecdfs-update.sh
+++ b/targets/support/livecdfs-update.sh
@@ -228,12 +228,8 @@ case ${clst_livecd_type} in
fi
fi
 
-   # This gives us our list of system packages for the installer
-   mkdir -p /usr/livecd
-   ### XXX: Andrew says we don't need this anymore
-   USE="-* $(cat /var/db/pkg/sys-libs/glibc*/USE)" emerge -eqp 
@system | grep -e '^\[ebuild' | sed -e 's:^\[ebuild .\+\] ::' -e 's: .\+$::' > 
/usr/livecd/systempkgs.txt
-
# This is my hack to reduce tmpfs usage
+   mkdir -p /usr/livecd
cp -r ${clst_repo_basedir}/${clst_repo_name}/{profiles,eclass} 
/usr/livecd
rm -rf 
/usr/livecd/profiles/{co*,default-{1*,a*,b*,d*,h*,i*,m*,p*,s*,x*},g*,hardened-*,n*,x*}
mv -f /etc/gconf /usr/livecd
@@ -273,16 +269,6 @@ case ${clst_livecd_type} in
[ -e 
/usr/share/applications/gentoo-handbook.desktop ] && \
cp -f 
/usr/share/applications/gentoo-handbook.desktop \
/home/${username}/Desktop
-   # Copy our installer icons
-   if [ -e 
/usr/share/applications/installer-gtk.desktop ]
-   then
-   cp -f 
/usr/share/applications/installer-{gtk,dialog}.desktop /home/${username}/Desktop
-   sed -i -e \
-   
's:Exec=installer-dialog:Exec=sudo installer-dialog:' \
-   
/home/${username}/Desktop/installer-dialog.desktop
-   sed -i -e 
's:Exec=installer-gtk:Exec=installer:' \
-   
/home/${username}/Desktop/installer-gtk.desktop
-   fi
chown -R ${username}:100 /home/${username}
done
fi



[gentoo-commits] proj/catalyst:master commit in: targets/support/

2022-11-17 Thread Matt Turner
commit: ca8ec7382a0b8c06b9bd3b69e5d7a791e0fa8915
Author: Matt Turner  gentoo  org>
AuthorDate: Tue Nov 15 02:20:21 2022 +
Commit: Matt Turner  gentoo  org>
CommitDate: Thu Nov 17 23:41:05 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=ca8ec738

targets: Fix enabling PermitRootLogin

The default changed to "prohibit-password" many moons ago, so our ISOs
would not have allowed root logins if not for net-misc/openssh's
IUSE=livecd, which handles this in the ebuild.

Let's go ahead and fix it, so that we can consider removing openssh's
livecd USE flag which would allow us to avoid rebuilding the package for
the ISO.

Signed-off-by: Matt Turner  gentoo.org>

 targets/support/livecdfs-update.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/targets/support/livecdfs-update.sh 
b/targets/support/livecdfs-update.sh
index b7ead552..3f47012b 100755
--- a/targets/support/livecdfs-update.sh
+++ b/targets/support/livecdfs-update.sh
@@ -7,7 +7,8 @@ source /tmp/chroot-functions.sh
 # Allow root logins to our CD by default
 if [ -e /etc/ssh/sshd_config ]
 then
-   sed -i 's:^#PermitRootLogin\ yes:PermitRootLogin\ yes:' \
+   sed -i \
+   -e '/^#PermitRootLogin/c# Allow root login with password on 
livecds.\nPermitRootLogin Yes' \
/etc/ssh/sshd_config
 fi
 



[gentoo-commits] proj/catalyst:master commit in: targets/support/, livecd/files/

2022-11-17 Thread Matt Turner
commit: 92d8e163d8f61a7b9776fccd106197584beae6b9
Author: Matt Turner  gentoo  org>
AuthorDate: Tue Nov 15 02:13:30 2022 +
Commit: Matt Turner  gentoo  org>
CommitDate: Thu Nov 17 23:41:05 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=92d8e163

targets: Remove gconf usage

Bug: https://bugs.gentoo.org/873841
Signed-off-by: Matt Turner  gentoo.org>

 livecd/files/livecd-local.start|  5 -
 targets/support/livecdfs-update.sh | 24 
 2 files changed, 29 deletions(-)

diff --git a/livecd/files/livecd-local.start b/livecd/files/livecd-local.start
index 3615569c..a7bb2bef 100644
--- a/livecd/files/livecd-local.start
+++ b/livecd/files/livecd-local.start
@@ -4,11 +4,6 @@
 # This is a good place to load any misc.
 # programs on startup ( 1>&2 )
 
-#if [ -d /usr/livecd/gconf ]
-#then
-#  ln -sf /usr/livecd/gconf /etc/gconf
-#fi
-
 #if [ -d /usr/livecd/db ]
 #then
 #  ln -sf /usr/livecd/db /var/db

diff --git a/targets/support/livecdfs-update.sh 
b/targets/support/livecdfs-update.sh
index cf2cf62f..b7548347 100755
--- a/targets/support/livecdfs-update.sh
+++ b/targets/support/livecdfs-update.sh
@@ -178,19 +178,6 @@ rm -f /etc/generic.motd.txt /etc/universal.motd.txt 
/etc/minimal.motd.txt /etc/l
 # Post configuration
 case ${clst_livecd_type} in
gentoo-release-live*)
-   # Setup Gnome theme
-   if [ "${clst_livecd_xsession}" == "gnome" ]
-   then
-   gconftool-2 --direct \
-   --config-source 
xml:readwrite:/etc/gconf/gconf.xml.defaults \
-   --type string --set 
/desktop/gnome/interface/font_name "Sans 9"
-   fi
-
-   # Remove locking on screensaver
-   gconftool-2 --direct \
-   
--config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s \
-   -t bool /apps/gnome-screensaver/lock_enabled false 
>/dev/null
-
# Setup GDM
if [ "${clst_livecd_xdm}" == "gdm" ]
then
@@ -232,8 +219,6 @@ case ${clst_livecd_type} in
mkdir -p /usr/livecd
cp -r ${clst_repo_basedir}/${clst_repo_name}/{profiles,eclass} 
/usr/livecd
rm -rf 
/usr/livecd/profiles/{co*,default-{1*,a*,b*,d*,h*,i*,m*,p*,s*,x*},g*,hardened-*,n*,x*}
-   mv -f /etc/gconf /usr/livecd
-   ln -sf /usr/livecd/gconf /etc/gconf
mv -f /var/db /usr/livecd
ln -sf /usr/livecd/db /var/db
 
@@ -274,15 +259,6 @@ case ${clst_livecd_type} in
fi
;;
generic-livecd )
-   # This is my hack to reduce tmpfs usage
-   mkdir -p /usr/livecd
-
-   if [ -d /etc/gconf ]
-   then
-   mv -f /etc/gconf /usr/livecd
-   ln -sf /usr/livecd/gconf /etc/gconf
-   fi
-
touch /etc/startx
;;
 esac



[gentoo-commits] proj/catalyst:master commit in: targets/support/

2022-11-17 Thread Matt Turner
commit: 4859c15694763ce26018c7cd8e00eda5e38bdd13
Author: Matt Turner  gentoo  org>
AuthorDate: Tue Nov 15 02:16:03 2022 +
Commit: Matt Turner  gentoo  org>
CommitDate: Thu Nov 17 23:41:05 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=4859c156

targets: Remove openglify usage

This script was removed from livecd-tools in commit 8e2a9c0 ("remove
openglify") in 2011.

Signed-off-by: Matt Turner  gentoo.org>

 targets/support/livecdfs-update.sh | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/targets/support/livecdfs-update.sh 
b/targets/support/livecdfs-update.sh
index b7548347..64a9e4b2 100755
--- a/targets/support/livecdfs-update.sh
+++ b/targets/support/livecdfs-update.sh
@@ -131,9 +131,6 @@ then
http://www.linux-usb.org/usb.ids
 fi
 
-# Setup opengl in /etc (if configured)
-[ -x /usr/sbin/openglify ] && /usr/sbin/openglify
-
 # Setup configured display manager
 if [ -n "${clst_livecd_xdm}" ]
 then



[gentoo-commits] proj/catalyst:master commit in: targets/stage4/, targets/support/, doc/, catalyst/targets/, ...

2022-11-17 Thread Matt Turner
commit: 48afec3f942e6f2903609204d8cf3497064c5e22
Author: Matt Turner  gentoo  org>
AuthorDate: Tue Nov 15 02:39:57 2022 +
Commit: Matt Turner  gentoo  org>
CommitDate: Thu Nov 17 23:41:05 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=48afec3f

catalyst: Drop livecd/{xinitrc,xsession,xdm}

This is functionality better implemented in fsscripts outside of
catalyst.

Signed-off-by: Matt Turner  gentoo.org>

 catalyst/targets/livecd_stage2.py|  3 --
 doc/catalyst-spec.5.txt  | 20 
 examples/livecd-stage2_template.spec | 24 --
 examples/stage4_template.spec| 10 --
 livecd/files/livecd.motd.txt |  3 --
 targets/livecd-stage2/controller.sh  |  9 --
 targets/stage4/controller.sh |  8 -
 targets/support/livecdfs-update.sh   | 63 +---
 8 files changed, 1 insertion(+), 139 deletions(-)

diff --git a/catalyst/targets/livecd_stage2.py 
b/catalyst/targets/livecd_stage2.py
index 832e0998..1a798a1e 100644
--- a/catalyst/targets/livecd_stage2.py
+++ b/catalyst/targets/livecd_stage2.py
@@ -39,9 +39,6 @@ class livecd_stage2(StageBase):
 "livecd/users",
 "livecd/verify",
 "livecd/volid",
-"livecd/xdm",
-"livecd/xinitrc",
-"livecd/xsession",
 "repos",
 ])
 

diff --git a/doc/catalyst-spec.5.txt b/doc/catalyst-spec.5.txt
index 10eb0bb8..fd2926fb 100644
--- a/doc/catalyst-spec.5.txt
+++ b/doc/catalyst-spec.5.txt
@@ -389,26 +389,6 @@ This is typically used for adding the documentation, 
distfiles,
 snapshots, and stages to the official media.  These files will not be
 available if `docache` is enabled, as they are outside the loop.
 
-*/xinitrc*::
-This is used by catalyst to copy the specified file to
-`/etc/X11/xinit/xinitrc` and is used by the */type*
-`generic-livecd`.  While the file will still be copied for any
-*/type*, catalyst will only create the necessary `/etc/startx`
-for those types, so X will not be automatically started.  This is
-useful also for setting up X on a CD where you do not wish X to start
-automatically.  We do not use this on the release media.  This setting
-is supported by the `stage4` and `livecd` targets.
-
-*livecd/xdm*::
-This is used by catalyst to determine which display manager you wish
-to become the default (example: `gdm`).  This is used on the official
-Gentoo LiveCD and is valid for any `livecd/type`.
-
-*livecd/xsession*::
-This is used by catalyst to determine which X session should be
-started by default by the display manager (example: `gnome`).  This is
-used on the official Gentoo LiveCD and is valid for any livecd/type.
-
 */users*::
 This option is used to create non-root users on your target.  It takes
 a space separated list of user names.  These users will be added to

diff --git a/examples/livecd-stage2_template.spec 
b/examples/livecd-stage2_template.spec
index 8db17ed7..adf0acaf 100644
--- a/examples/livecd-stage2_template.spec
+++ b/examples/livecd-stage2_template.spec
@@ -202,30 +202,6 @@ livecd/overlay:
 # livecd/root_overlay:
 livecd/root_overlay:
 
-# This is used by catalyst to copy the specified file to /etc/X11/xinit/xinitrc
-# and is used by the livecd/type and generic-livecd.  While the file will still
-# be copied for any livecd/type, catalyst will only create the necessary
-# /etc/startx for those types, so X will not be automatically started.  This is
-# useful also for setting up X on a CD where you do not wish X to start
-# automatically.  We do not use this on the release media, so it is left blank.
-# example:
-# livecd/xinitrc:
-livecd/xinitrc:
-
-# This is used by catalyst to determine which display manager you wish to
-# become the default.  This is used on the official Gentoo LiveCD and is valid
-# for any livecd/type.
-# example:
-# livecd/xdm: gdm
-livecd/xdm:
-
-# This is used by catalyst to determine which X session should be started by
-# default by the display manager.  This is used on the official Gentoo LiveCD
-# and is valid for any livecd/type.
-# example:
-# livecd/xsession: gnome
-livecd/xsession:
-
 # This option is used to create non-root users on your CD.  It takes a space
 # separated list of user names.  These users will be added to the following
 # groups: users,wheel,audio,games,cdrom,usb

diff --git a/examples/stage4_template.spec b/examples/stage4_template.spec
index 5d9a390c..a7a3e766 100644
--- a/examples/stage4_template.spec
+++ b/examples/stage4_template.spec
@@ -161,16 +161,6 @@ stage4/rcdel:
 # stage4/root_overlay:
 stage4/root_overlay:
 
-# This is used by catalyst to copy the specified file to /etc/X11/xinit/xinitrc
-# and is used by the stage4/type generic-livecd.  While the file will still be
-# copied for any stage4/type, catalyst will only create the necessary
-# /etc/startx for those types, so X will not be automatically started.  This is
-# useful also for setting up X on a CD where you do not wish X to start

[gentoo-commits] proj/catalyst:master commit in: catalyst/base/

2022-11-14 Thread Andreas K. Hüttel
commit: f2263466c535d0019be0bcbf1f08128b2399d6ea
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Mon Nov 14 00:05:58 2022 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Mon Nov 14 00:09:33 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=f2263466

stagebase: Also clean out profile/package.use.force profile/package.use.mask

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 catalyst/base/stagebase.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index bcf596ae..5a3bd375 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -1230,7 +1230,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
 "sticky-config" not in self.settings["options"]):
 log.debug("clean(), portage_preix = %s, no sticky-config",
   self.settings["portage_prefix"])
-for _dir in "package.accept_keywords", "package.keywords", 
"package.mask", "package.unmask", "package.use", "package.env", "env":
+for _dir in "package.accept_keywords", "package.keywords", 
"package.mask", "package.unmask", "package.use", "package.env", "env", 
"profile/package.use.force", "profile/package.use.mask":
 target = pjoin(self.settings["stage_path"],
"etc/portage/%s" % _dir,
self.settings["portage_prefix"])



[gentoo-commits] proj/catalyst:master commit in: arch/

2022-11-14 Thread Andreas K. Hüttel
commit: d51e8f18a3e0653d29aeb31310b3525a942db031
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Mon Nov 14 14:09:55 2022 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Mon Nov 14 14:09:55 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=d51e8f18

amd64 definition: add a subarch "x86_64" identical to "amd64"

When CHOST is given in the spec file, the subarch is extracted from the triplet.
And that's x86_64 here...

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 arch/amd64.toml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/amd64.toml b/arch/amd64.toml
index 8347cd7e..7cf0bce2 100644
--- a/arch/amd64.toml
+++ b/arch/amd64.toml
@@ -1,6 +1,9 @@
 [amd64.amd64]
 COMMON_FLAGS = "-O2 -pipe"
 
+[amd64.x86_64]
+COMMON_FLAGS = "-O2 -pipe"
+
 [amd64.k8]
 COMMON_FLAGS = "-O2 -march=k8 -pipe"
 CPU_FLAGS_X86 = [ "mmx", "mmxext", "3dnow", "3dnowext", "sse", "sse2",]



[gentoo-commits] proj/catalyst:master commit in: catalyst/base/

2022-11-12 Thread Andreas K. Hüttel
commit: 64d2993d8ca38cefd76df7a69a44accd60284cd4
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Sat Nov 12 20:42:03 2022 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Sun Nov 13 02:17:29 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=64d2993d

Allow "interpreter" parameter as space-separated list of files

I added this feature to the 3.0 branch long ago and forgot about it.
Needed for multilib emulation, e.g., qemu-mips qemu-mipsn32 qemu-mips64
Tested on demeter "in production"

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 catalyst/base/stagebase.py | 48 +++---
 1 file changed, 24 insertions(+), 24 deletions(-)

diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index eb869c70..bcf596ae 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -1036,26 +1036,24 @@ class StageBase(TargetBase, ClearBase, GenBase):
 shutil.copy('/etc/resolv.conf',
 self.settings['chroot_path'] + '/etc/')
 
-# Copy over the binary interpreter (qemu), if applicable; note that 
it's given
-# as full path and goes to the same place in the chroot
+# Copy over the binary interpreter(s) (qemu), if applicable; note that 
they are given
+# as space-separated list of full paths and go to the same place in 
the chroot
 if "interpreter" in self.settings:
-if not os.path.exists(self.settings["interpreter"]):
-raise CatalystError(
-"Can't find interpreter " +
-self.settings["interpreter"],
-print_traceback=True)
+if isinstance(self.settings["interpreter"], str):
+myints = [self.settings["interpreter"]]
+else:
+myints = self.settings["interpreter"]
 
-log.notice('Copying binary interpreter %s into chroot',
-   self.settings['interpreter'])
+for myi in myints:
+if not os.path.exists(myi):
+raise CatalystError("Can't find interpreter " + myi, 
print_traceback=True)
 
-if os.path.exists(self.settings['chroot_path'] + '/' + 
self.settings['interpreter']):
-os.rename(
-self.settings['chroot_path'] +
-'/' + self.settings['interpreter'],
-self.settings['chroot_path'] + '/' + 
self.settings['interpreter'] + '.catalyst')
+log.notice('Copying binary interpreter %s into chroot', myi)
 
-shutil.copy(self.settings['interpreter'],
-self.settings['chroot_path'] + '/' + 
self.settings['interpreter'])
+if os.path.exists(self.settings['chroot_path'] + '/' + myi):
+os.rename(self.settings['chroot_path'] + '/' + myi, 
self.settings['chroot_path'] + '/' + myi + '.catalyst')
+
+shutil.copy(myi, self.settings['chroot_path'] + '/' + myi)
 
 # Copy over the envscript, if applicable
 if "envscript" in self.settings:
@@ -1214,16 +1212,18 @@ class StageBase(TargetBase, ClearBase, GenBase):
 if os.path.exists(hosts_file + '.catalyst'):
 os.rename(hosts_file + '.catalyst', hosts_file)
 
-# optionally clean up binary interpreter
+# optionally clean up binary interpreter(s)
 if "interpreter" in self.settings:
-if os.path.exists(self.settings['chroot_path'] + '/' + 
self.settings['interpreter'] + '.catalyst'):
-os.rename(
-self.settings['chroot_path'] + '/' +
-self.settings['interpreter'] + '.catalyst',
-self.settings['chroot_path'] + '/' + 
self.settings['interpreter'])
+if isinstance(self.settings["interpreter"], str):
+myints = [self.settings["interpreter"]]
 else:
-os.remove(
-self.settings['chroot_path'] + '/' + 
self.settings['interpreter'])
+myints = self.settings["interpreter"]
+
+for myi in myints:
+if os.path.exists(self.settings['chroot_path'] + '/' + myi + 
'.catalyst'):
+os.rename(self.settings['chroot_path'] + '/' + myi + 
'.catalyst', self.settings['chroot_path'] + '/' + myi)
+else:
+os.remove(self.settings['chroot_path'] + '/' + myi)
 
 # optionally clean up portage configs
 if ("portage_prefix" in self.settings and



[gentoo-commits] proj/catalyst:master commit in: targets/stage1/

2022-10-13 Thread Matt Turner
commit: 2aceab45a9352f126ce5b7f8b04687fe1c28409d
Author: Georgy Yakovlev  gentoo  org>
AuthorDate: Mon Sep 26 16:30:25 2022 +
Commit: Matt Turner  gentoo  org>
CommitDate: Thu Oct 13 16:17:10 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=2aceab45

targets: build initial baselayout with USE=build

current flow is the following:
update seed
install baselayout with USE=-build (for reasons unknown)
install @system with USE=build

this leads to a problem on usrmerged systems, because
baselayout with USE=-build that's installed initially does not create
usrmerge symlinks at all, so /bin /sbin are missing.

anything that installs files to those locations will be lost.

after installing baselayout initially with USE=-build --nodeps
we install the following
bzip2
gzip
tar
xz-utils
baselayout[build]

so everything installed before line above ^ loses / files completely.

This commit will change initial baselayout to USE=build

Closes: https://github.com/gentoo/catalyst/pull/10
Thanks-to: Mike Gilbert  gentoo.org>
Signed-off-by: Georgy Yakovlev  gentoo.org>
Signed-off-by: Matt Turner  gentoo.org>

 targets/stage1/chroot.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/targets/stage1/chroot.sh b/targets/stage1/chroot.sh
index 08b9da46..e0587b59 100755
--- a/targets/stage1/chroot.sh
+++ b/targets/stage1/chroot.sh
@@ -61,9 +61,9 @@ mkdir -p "$ROOT"
 
 ## START BUILD
 # First, we drop in a known-good baselayout
-[ -e ${clst_make_conf} ] && echo "USE=\"${USE} -build\"" >> ${clst_make_conf}
+[ -e ${clst_make_conf} ] && echo "USE=\"${USE} build\"" >> ${clst_make_conf}
 run_merge --oneshot --nodeps sys-apps/baselayout
-sed -i "/USE=\"${USE} -build\"/d" ${clst_make_conf}
+sed -i "/USE=\"${USE} build\"/d" ${clst_make_conf}
 
 echo "$locales" > /etc/locale.gen
 for etc in /etc "$ROOT"/etc; do



[gentoo-commits] proj/catalyst:master commit in: arch/

2022-10-11 Thread Andreas K. Hüttel
commit: e1e5c5d1cefeea7822ebaea1b07bae1db82e0765
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Tue Oct 11 12:49:14 2022 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Tue Oct 11 12:49:14 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=e1e5c5d1

arch: Add loong

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 arch/loong.toml | 4 
 1 file changed, 4 insertions(+)

diff --git a/arch/loong.toml b/arch/loong.toml
new file mode 100644
index ..7ff92c03
--- /dev/null
+++ b/arch/loong.toml
@@ -0,0 +1,4 @@
+[loong.loong]
+COMMON_FLAGS = " -pipe -O2"
+CHOST = "loongarch64-unknown-linux-gnu"
+



[gentoo-commits] proj/catalyst:master commit in: arch/

2022-07-30 Thread Andreas K. Hüttel
commit: 719ba186678bef8ba5486e994c8ae1d841ef9bc7
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Sat Jul 30 18:38:46 2022 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Sat Jul 30 18:38:46 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=719ba186

arch: Add subarch definition for riscv64 softfloat musl

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 arch/riscv.toml | 4 
 1 file changed, 4 insertions(+)

diff --git a/arch/riscv.toml b/arch/riscv.toml
index 982757ae..a76e5cd5 100644
--- a/arch/riscv.toml
+++ b/arch/riscv.toml
@@ -18,6 +18,10 @@ CHOST = "riscv64-gentoo-linux-musl"
 COMMON_FLAGS = "-O2 -pipe"
 CHOST = "riscv64-unknown-linux-gnu"
 
+[riscv.rv64_lp64_musl]
+COMMON_FLAGS = "-O2 -pipe"
+CHOST = "riscv64-gentoo-linux-musl"
+
 [riscv.rv32_ilp32d]
 COMMON_FLAGS = "-O2 -pipe"
 CHOST = "riscv32-unknown-linux-gnu"



[gentoo-commits] proj/catalyst:master commit in: arch/

2022-04-21 Thread Matt Turner
commit: 85c6f6a80296fb4c5866ff1a59668c935aeaf1c5
Author: Matt Turner  gentoo  org>
AuthorDate: Thu Apr 21 06:36:36 2022 +
Commit: Matt Turner  gentoo  org>
CommitDate: Thu Apr 21 16:43:53 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=85c6f6a8

arch/mips: Compile mipsel3 stages with -mfix-r5900

... which will make them usable on the PlayStation 2. Don't bother
modifying the n64 ABI configuration, since it will never work on the
PS2.

Suggested-by: Fredrik Noring  nocrew.org>
Signed-off-by: Matt Turner  gentoo.org>

 arch/mips.toml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/mips.toml b/arch/mips.toml
index a10ee799..22c9a22a 100644
--- a/arch/mips.toml
+++ b/arch/mips.toml
@@ -72,7 +72,7 @@ COMMON_FLAGS = "-O2 -march=mips32r2 -mabi=32 -mplt -pipe"
 
 [mips.mipsel3]
 CHOST = "mipsel-unknown-linux-gnu"
-COMMON_FLAGS = "-O2 -march=mips3 -mabi=32 -mplt -Wa,-mfix-loongson2f-nop -pipe"
+COMMON_FLAGS = "-O2 -march=mips3 -mabi=32 -mplt -Wa,-mfix-loongson2f-nop 
-mfix-r5900 -pipe"
 
 [mips.mipsel4_r5k]
 CHOST = "mipsel-unknown-linux-gnu"
@@ -172,7 +172,7 @@ COMMON_FLAGS = "-O2 -march=mips64r2 -mplt -pipe"
 
 [mips64.mipsel3_n32]
 CHOST = "mips64el-unknown-linux-gnu"
-COMMON_FLAGS = "-O2 -march=mips3 -mabi=n32 -mplt -Wa,-mfix-loongson2f-nop 
-pipe"
+COMMON_FLAGS = "-O2 -march=mips3 -mabi=n32 -mplt -Wa,-mfix-loongson2f-nop 
-mfix-r5900 -pipe"
 
 [mips64.mipsel3_n64]
 CHOST = "mips64el-unknown-linux-gnu"
@@ -180,7 +180,7 @@ COMMON_FLAGS = "-O2 -march=mips3 -mabi=64 
-Wa,-mfix-loongson2f-nop -pipe"
 
 [mips64.mipsel3_multilib]
 CHOST = "mips64el-unknown-linux-gnu"
-COMMON_FLAGS = "-O2 -march=mips3 -mplt -Wa,-mfix-loongson2f-nop -pipe"
+COMMON_FLAGS = "-O2 -march=mips3 -mplt -Wa,-mfix-loongson2f-nop -mfix-r5900 
-pipe"
 
 [mips64.mipsel4_r5k_n32]
 CHOST = "mips64el-unknown-linux-gnu"



[gentoo-commits] proj/catalyst:master commit in: targets/support/

2022-04-20 Thread Matt Turner
commit: 05b1f53a03e6e4ca9373cbd280c4e22ed234ac4f
Author: Daniel Cordero  0xdc  io>
AuthorDate: Tue Apr 19 17:40:15 2022 +
Commit: Matt Turner  gentoo  org>
CommitDate: Wed Apr 20 23:24:10 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=05b1f53a

create-iso.sh: split iso-level arguments

When enclosed in quotes and expanded with "${variable[@]}", the word is expanded
to be a single argument, rather than two separate arguments.

i.e. argv[2] = "-iso-level 3"
instead of
  argv[2] = "-iso-level"
  argv[3] = "3"

This lead to the failure:
  xorriso : FAILURE : -as mkisofs: Unrecognized option '-iso-level 3'
  xorriso : aborting : -abort_on 'FAILURE' encountered 'FAILURE'
  grub-mkrescue: error: `xorriso` invocation failed

Fixes: 0b56dbe4 ("livecd: Use ISO level 3")
Signed-off-by: Matt Turner  gentoo.org>

 targets/support/create-iso.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/targets/support/create-iso.sh b/targets/support/create-iso.sh
index 45ef1696..9991b930 100755
--- a/targets/support/create-iso.sh
+++ b/targets/support/create-iso.sh
@@ -194,7 +194,7 @@ case ${clst_hostarch} in
amd64|arm64|ia64|ppc*|powerpc*|sparc*|x86)
isoroot_checksum
 
-   extra_opts=("-joliet" "-iso-level 3")
+   extra_opts=("-joliet" "-iso-level" "3")
case ${clst_hostarch} in
sparc*) extra_opts+=("--sparc-boot") ;;
esac



[gentoo-commits] proj/catalyst:master commit in: catalyst/base/

2022-04-20 Thread Matt Turner
commit: 1c46e66ef2c9ab24f383eebd3c6cb1d02492b8fc
Author: Matt Turner  gentoo  org>
AuthorDate: Wed Apr 20 23:23:07 2022 +
Commit: Matt Turner  gentoo  org>
CommitDate: Wed Apr 20 23:23:07 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=1c46e66e

catalyst: Replace a tab

Fixes: 5be6069b ("catalyst: support 3 new options")
Signed-off-by: Matt Turner  gentoo.org>

 catalyst/base/stagebase.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index 76feb5f0..5c7e9adb 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -597,7 +597,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
 self.settings["groups"] = []
 log.info('groups to create: %s' % self.settings["groups"])
 
-   def set_users(self):
+def set_users(self):
 users = self.settings["spec_prefix"] + "/users"
 if users in self.settings:
 if isinstance(self.settings[users], str):



[gentoo-commits] proj/catalyst:master commit in: catalyst/base/

2022-04-02 Thread Matt Turner
commit: 5be6069bcbd5a7fa3f114f28366597bc5ddbb891
Author: Patrice Clement  gentoo  org>
AuthorDate: Tue Mar  8 21:02:55 2022 +
Commit: Matt Turner  gentoo  org>
CommitDate: Sat Apr  2 23:50:16 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=5be6069b

catalyst: support 3 new options

* stage4/groups: create a a list of groups.
* stage4/users: create a list of users. users can also be added to
  groups using the "foo.bar=wheel,audio,baz" format.
* stage4/ssh_public_keys: copy an SSH public key into the stage4 user's home
  (.ssh/authorized_keys) and set the file permission to 0644.

Bug: https://bugs.gentoo.org/236905
Signed-off-by: Patrice Clement  gentoo.org>
Signed-off-by: Matt Turner  gentoo.org>

 catalyst/base/stagebase.py | 70 ++
 1 file changed, 70 insertions(+)

diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index de1e30ef..76feb5f0 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -201,6 +201,9 @@ class StageBase(TargetBase, ClearBase, GenBase):
 self.set_packages()
 self.set_rm()
 self.set_linuxrc()
+self.set_groups()
+self.set_users()
+self.set_ssh_public_keys()
 self.set_busybox_config()
 self.set_overlay()
 self.set_repos()
@@ -583,6 +586,39 @@ class StageBase(TargetBase, ClearBase, GenBase):
 self.settings[self.settings["spec_prefix"] + "/linuxrc"]
 del self.settings[self.settings["spec_prefix"] + "/linuxrc"]
 
+def set_groups(self):
+groups = self.settings["spec_prefix"] + "/groups"
+if groups in self.settings:
+if isinstance(self.settings[groups], str):
+self.settings["groups"] = self.settings[groups].split(",")
+self.settings["groups"] = self.settings[groups]
+del self.settings[groups]
+else:
+self.settings["groups"] = []
+log.info('groups to create: %s' % self.settings["groups"])
+
+   def set_users(self):
+users = self.settings["spec_prefix"] + "/users"
+if users in self.settings:
+if isinstance(self.settings[users], str):
+self.settings["users"] = self.settings[users].split(",")
+self.settings["users"] = self.settings[users]
+del self.settings[users]
+else:
+self.settings["users"] = []
+log.info('users to create: %s' % self.settings["users"])
+
+def set_ssh_public_keys(self):
+ssh_public_keys = self.settings["spec_prefix"] + "/ssh_public_keys"
+if ssh_public_keys in self.settings:
+if isinstance(self.settings[ssh_public_keys], str):
+self.settings["ssh_public_keys"] = 
self.settings[ssh_public_keys].split(",")
+self.settings["ssh_public_keys"] = self.settings[ssh_public_keys]
+del self.settings[ssh_public_keys]
+else:
+self.settings["ssh_public_keys"] = []
+log.info('ssh public keys to copy: %s' % 
self.settings["ssh_public_keys"])
+
 def set_busybox_config(self):
 if self.settings["spec_prefix"] + "/busybox_config" in self.settings:
 if isinstance(self.settings[self.settings['spec_prefix'] + 
'/busybox_config'], str):
@@ -894,6 +930,40 @@ class StageBase(TargetBase, ClearBase, GenBase):
 cmd(['rsync', '-a', x + '/', self.settings['stage_path']],
 env=self.env)
 
+def groups(self):
+for x in self.settings["groups"].split():
+log.notice("Creating group: '%s'", x)
+cmd(["groupadd", "-R", self.settings['chroot_path'], x], 
env=self.env)
+
+def users(self):
+for x in self.settings["users"]:
+usr, grp = '', ''
+try:
+usr, grp = x.split("=")
+except ValueError:
+usr = x
+log.debug("users: '=' separator not found on line " + x)
+log.debug("users: missing separator means no groups found")
+uacmd = ["useradd", "-R", self.settings['chroot_path'], "-m", x]
+if grp != '':
+uacmd = ["useradd", "-R", self.settings['chroot_path'], "-m", 
"-G", grp, usr]
+log.notice("Creating user: '%s'", f"{usr}={grp}")
+cmd(uacmd, env=self.env)
+
+def ssh_public_keys(self):
+for x in self.settings["ssh_public_keys"]:
+usr, pub_key_src = '', ''
+try:
+usr, pub_key_src = x.split("=")
+except ValueError:
+raise CatalystError(f"ssh_public_keys: '=' separator not found 
on line {x}")
+log.notice("Copying SSH public key for user: '%s'", usr)
+pub_key_dest = self.settings['chroot_path'] + 
f"/home/{usr}/.ssh/authorized_keys"
+cpcmd = ["cp", "-av", pub_key_src, pub_key_dest]
+cmd(cpcmd, env=

[gentoo-commits] proj/catalyst:master commit in: examples/

2022-04-02 Thread Matt Turner
commit: a6522008e915abbbf7cddc057c9f7951e7d667a6
Author: Patrice Clement  gentoo  org>
AuthorDate: Tue Mar  8 21:11:13 2022 +
Commit: Matt Turner  gentoo  org>
CommitDate: Sat Apr  2 23:50:27 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=a6522008

example: document new options

Closes: https://bugs.gentoo.org/236905
Signed-off-by: Patrice Clement  gentoo.org>
Signed-off-by: Matt Turner  gentoo.org>

 examples/stage4_template.spec | 34 --
 1 file changed, 28 insertions(+), 6 deletions(-)

diff --git a/examples/stage4_template.spec b/examples/stage4_template.spec
index 5fbf6a50..5d9a390c 100644
--- a/examples/stage4_template.spec
+++ b/examples/stage4_template.spec
@@ -171,15 +171,37 @@ stage4/root_overlay:
 # stage4/xinitrc:
 stage4/xinitrc:
 
-# This option is used to create non-root users on your CD.  It takes a space
-# separated list of user names.  These users will be added to the following
-# groups: users,wheel,audio,games,cdrom,usb
-# If this is specified in your spec file, then the first user is also the user
-# used to start X. Since this is not used on the release media, it is blank.
-# example:
+# This option is used to create groups. It takes a carriage-return separated
+# list of group names. For instance:
+# stage4/groups:
+# admin
+# web_group
+# sudo_group
+stage4/groups:
+
+# This option is used to create non-root users. It takes a carriage-return
+# separated list of user names. For instance:
+# stage4/users:
+# john.doe
+# foo.bar
+#
+# These users are NOT added to any specific group. You can specify one
+# or more groups to add the user(s) to using an equal sign followed by a comma
+# separated list. For instance:
 # stage4/users:
+# john.doe=wheel,audio,cdrom
+# foo.bar=www,audio
 stage4/users:
 
+# This option is used to copy an SSH public key into a user's .ssh directory.
+# Catalyst will copy the SSH public key in the ~/.ssh/authorized_keys file and
+# set the file permission to 0644. It takes a carriage-return separated list of
+# users with a equal sign followed by the SSH public key path. For instance:
+# stage4/ssh_public_keys:
+# john.doe=/path/to/johns/public/key/id_rsa.pub
+# foo.bar=/path/to/foos/public/key/id_ed25519.pub
+stage4/ssh_public_keys:
+
 # This option is used to specify the number of kernels to build and also the
 # labels that will be used by the CD bootloader to refer to each kernel image.
 # example:



[gentoo-commits] proj/catalyst:master commit in: catalyst/targets/

2022-04-02 Thread Matt Turner
commit: c2c22f5d07684ed0c6b802254e7b678358111579
Author: Patrice Clement  gentoo  org>
AuthorDate: Tue Mar  8 21:08:09 2022 +
Commit: Matt Turner  gentoo  org>
CommitDate: Sat Apr  2 23:50:24 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=c2c22f5d

catalyst: add new options to stage4 step list

Signed-off-by: Patrice Clement  gentoo.org>
Signed-off-by: Matt Turner  gentoo.org>

 catalyst/targets/stage4.py | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/catalyst/targets/stage4.py b/catalyst/targets/stage4.py
index ff1d4dca..35309b45 100644
--- a/catalyst/targets/stage4.py
+++ b/catalyst/targets/stage4.py
@@ -19,13 +19,16 @@ class stage4(StageBase):
 "stage4/empty",
 "stage4/fsscript",
 "stage4/gk_mainargs",
+"stage4/groups",
 "stage4/linuxrc",
 "stage4/rcadd",
 "stage4/rcdel",
 "stage4/rm",
 "stage4/root_overlay",
+"stage4/ssh_public_keys",
 "stage4/unmerge",
 "stage4/use",
+"stage4/users",
 ])
 
 def __init__(self, spec, addlargs):
@@ -51,6 +54,9 @@ class stage4(StageBase):
 ])
 self.finish_sequence.extend([
 self.remove,
+self.groups,
+self.users,
+self.ssh_public_keys,
 self.empty,
 self.clean,
 ])



[gentoo-commits] proj/catalyst:master commit in: targets/support/

2022-03-15 Thread Andreas K. Hüttel
commit: 0b56dbe4d36c88b0b051d24451e15cd6b64c819d
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Tue Mar 15 09:11:42 2022 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Tue Mar 15 09:17:01 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=0b56dbe4

livecd: Use ISO level 3

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 targets/support/create-iso.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/targets/support/create-iso.sh b/targets/support/create-iso.sh
index 9ff227a9..45ef1696 100755
--- a/targets/support/create-iso.sh
+++ b/targets/support/create-iso.sh
@@ -194,7 +194,7 @@ case ${clst_hostarch} in
amd64|arm64|ia64|ppc*|powerpc*|sparc*|x86)
isoroot_checksum
 
-   extra_opts=("-joliet")
+   extra_opts=("-joliet" "-iso-level 3")
case ${clst_hostarch} in
sparc*) extra_opts+=("--sparc-boot") ;;
esac



[gentoo-commits] proj/catalyst:master commit in: arch/

2022-02-27 Thread Andreas K. Hüttel
commit: 33acb9895cfa5ceadd962bee555fcfdf7eea11bd
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Sun Feb 27 15:41:50 2022 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Sun Feb 27 15:41:50 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=33acb989

arch: Add riscv64 lp64d musl definition

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 arch/riscv.toml | 4 
 1 file changed, 4 insertions(+)

diff --git a/arch/riscv.toml b/arch/riscv.toml
index 101cfe19..982757ae 100644
--- a/arch/riscv.toml
+++ b/arch/riscv.toml
@@ -10,6 +10,10 @@ CHOST = "riscv64-unknown-linux-gnu"
 COMMON_FLAGS = "-O2 -pipe"
 CHOST = "riscv64-unknown-linux-gnu"
 
+[riscv.rv64_lp64d_musl]
+COMMON_FLAGS = "-O2 -pipe"
+CHOST = "riscv64-gentoo-linux-musl"
+
 [riscv.rv64_lp64]
 COMMON_FLAGS = "-O2 -pipe"
 CHOST = "riscv64-unknown-linux-gnu"



[gentoo-commits] proj/catalyst:master commit in: catalyst/

2022-02-16 Thread Matt Turner
commit: 1a8d6cd3d31f960755c3237679539d9cab175bc6
Author: Matt Turner  gentoo  org>
AuthorDate: Wed Feb 16 22:33:17 2022 +
Commit: Matt Turner  gentoo  org>
CommitDate: Wed Feb 16 22:33:52 2022 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=1a8d6cd3

catalyst: Add .sha256 to list of ignored extensions

Otherwise the presence of a .sha256 file would cause this error:

ERROR:catalyst:CatalystError: Ambiguous Filename: 
/home/catalyst/builds/default/stage3-ia64-openrc-20220216T032203Z
ERROR:catalyst:Please specify the correct extension as well

Fixes: 7457cd3b ("catalyst: generate .sha256 file if any digest is enabled")
Signed-off-by: Matt Turner  gentoo.org>

 catalyst/support.py | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/catalyst/support.py b/catalyst/support.py
index 37d53bc4..a69566d2 100644
--- a/catalyst/support.py
+++ b/catalyst/support.py
@@ -77,8 +77,11 @@ def file_check(filepath, extensions=None):
 # so check if there are files of that name with an extension
 files = glob.glob("%s.*" % filepath)
 # remove any false positive files
-files = [x for x in files if not x.endswith(
-".CONTENTS") and not x.endswith(".CONTENTS.gz") and not 
x.endswith(".DIGESTS")]
+files = [x for x in files if
+ not x.endswith( ".CONTENTS") and
+ not x.endswith(".CONTENTS.gz") and
+ not x.endswith(".DIGESTS") and
+ not x.endswith(".sha256")]
 if len(files) == 1:
 return files[0]
 if len(files) > 1:



[gentoo-commits] proj/catalyst:master commit in: catalyst/base/, doc/

2021-11-24 Thread Georgy Yakovlev
commit: 7457cd3b1a5f3ed4a566bbf23e36c939af06967c
Author: Georgy Yakovlev  gentoo  org>
AuthorDate: Fri Nov  5 02:14:00 2021 +
Commit: Georgy Yakovlev  gentoo  org>
CommitDate: Thu Nov 25 02:43:21 2021 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=7457cd3b

catalyst: generate .sha256 file if any digest is enabled

checksum format is simple one, identical to one
sha256sum from coreutils produces, lines starting with # are ignored.

example:[1]

# SHA256 HASH
.  stage3-tar.xz

systemd upstream calls it suse-style .sha256 files.[0]
infra already supports inline signing of files.

Bug: https://bugs.gentoo.org/821568
[0] 
https://github.com/systemd/systemd/blob/aedec452b9e5dd197881f2164fb205dfe8bfdcec/src/import/pull-common.c#L236
[1] 
https://mirrors.edge.kernel.org/opensuse/distribution/leap/15.0/iso/openSUSE-Leap-15.0-DVD-x86_64.iso.sha256
Signed-off-by: Georgy Yakovlev  gentoo.org>

 catalyst/base/genbase.py  | 3 +++
 doc/catalyst-config.5.txt | 7 ---
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/catalyst/base/genbase.py b/catalyst/base/genbase.py
index 6d039a8f..1643b1dc 100644
--- a/catalyst/base/genbase.py
+++ b/catalyst/base/genbase.py
@@ -43,3 +43,6 @@ class GenBase():
 for f in [path, path + '.CONTENTS.gz']:
 for i in self.settings['digests']:
 file.write(self.generate_hash(f, name=i))
+
+with io.open(path + '.sha256', 'w', encoding='utf-8') as sha256file:
+sha256file.write(self.generate_hash(path, name='sha256'))

diff --git a/doc/catalyst-config.5.txt b/doc/catalyst-config.5.txt
index 003d40b6..ca9335d6 100644
--- a/doc/catalyst-config.5.txt
+++ b/doc/catalyst-config.5.txt
@@ -38,9 +38,10 @@ Basic configuration
 *digests*::
 Create a `.DIGESTS` file containing the hash output from any of the
 supported options below.  Adding them all may take a long time.
-(example: `md5 sha1 sha512 whirlpool`).  The set of supported hashes
-is dependent on the version of Python. To see the set of hashes
-supported by the version of Python in use, run
+(example: `md5 sha1 sha512 whirlpool`).  Enabling ANY digest will
+generate `.sha256` file in addition `.DIGESTS` file.  The set of
+supported hashes is dependent on the version of Python. To see the
+set of hashes supported by the version of Python in use, run
 +
 -
 $ python3 -c 'import hashlib; print(hashlib.algorithms_available)'



[gentoo-commits] proj/catalyst:master commit in: arch/

2021-11-20 Thread Andreas K. Hüttel
commit: 2bcd8c9654fc53858863dae69784a996475cb22c
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Sat Nov 20 14:31:10 2021 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Sat Nov 20 14:31:10 2021 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=2bcd8c96

arch: Add armv6j hardfloat musl subarch

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 arch/arm.toml | 4 
 1 file changed, 4 insertions(+)

diff --git a/arch/arm.toml b/arch/arm.toml
index 712df346..6e9cc635 100644
--- a/arch/arm.toml
+++ b/arch/arm.toml
@@ -42,6 +42,10 @@ CHOST = "armv7a-softfp-linux-gnueabi"
 COMMON_FLAGS = "-O2 -pipe -march=armv6j -mfpu=vfp -mfloat-abi=hard"
 CHOST = "armv6j-unknown-linux-gnueabihf"
 
+[arm.armv6j_hardfp_musl]
+COMMON_FLAGS = "-O2 -pipe -march=armv6j -mfpu=vfp -mfloat-abi=hard"
+CHOST = "armv6j-unknown-linux-musleabihf"
+
 [arm.armv7a_hardfp]
 COMMON_FLAGS = "-O2 -pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard"
 CHOST = "armv7a-unknown-linux-gnueabihf"



[gentoo-commits] proj/catalyst:master commit in: arch/

2021-11-17 Thread Andreas K. Hüttel
commit: a0ffc952aee4b263c51016f9a11696741c3c6965
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Wed Nov 17 21:20:17 2021 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Wed Nov 17 21:20:39 2021 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=a0ffc952

arch: Add as experiment a first musl subarch (armv7a-hf)

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 arch/arm.toml | 4 
 1 file changed, 4 insertions(+)

diff --git a/arch/arm.toml b/arch/arm.toml
index f28498df..712df346 100644
--- a/arch/arm.toml
+++ b/arch/arm.toml
@@ -46,6 +46,10 @@ CHOST = "armv6j-unknown-linux-gnueabihf"
 COMMON_FLAGS = "-O2 -pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard"
 CHOST = "armv7a-unknown-linux-gnueabihf"
 
+[arm.armv7a_hardfp_musl]
+COMMON_FLAGS = "-O2 -pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard"
+CHOST = "armv7a-unknown-linux-musleabihf"
+
 [arm.armeb]
 COMMON_FLAGS = "-O2 -pipe"
 CHOST = "armeb-unknown-linux-gnu"



[gentoo-commits] proj/catalyst:master commit in: etc/

2021-09-11 Thread Matt Turner
commit: 7ebe33811989b72e1e48481641b6db56f9abbfb2
Author: Matt Turner  gentoo  org>
AuthorDate: Thu Jul 29 21:57:18 2021 +
Commit: Matt Turner  gentoo  org>
CommitDate: Sat Sep 11 18:12:11 2021 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=7ebe3381

etc: Add some possible settings to catalystrc

Signed-off-by: Matt Turner  gentoo.org>

 etc/catalystrc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/etc/catalystrc b/etc/catalystrc
index e7904128..176f106a 100755
--- a/etc/catalystrc
+++ b/etc/catalystrc
@@ -1,2 +1,4 @@
 #!/bin/bash
-# This is an example catalystrc. As such, it doesn't actually *do* anything.
+
+# export BINPKG_COMPRESS="gzip"
+# export BINPKG_COMPRESS_FLAGS="-7"



[gentoo-commits] proj/catalyst:master commit in: arch/

2021-09-11 Thread Andreas K. Hüttel
commit: 1a94eb5dd29e763e23f6276c191175722732ab16
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Sat Sep 11 18:10:17 2021 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Sat Sep 11 18:10:17 2021 +
URL:https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=1a94eb5d

arm64 definition: add a subarch "aarch64" identical to "arm64"

When CHOST is given in the spec file, the subarch is extracted from the triplet.
Unfortunately that uses aarch64 instead of our arm64 ...

Signed-off-by: Andreas K. Hüttel  gentoo.org>

 arch/arm64.toml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/arm64.toml b/arch/arm64.toml
index 613b4e68..e139327f 100644
--- a/arch/arm64.toml
+++ b/arch/arm64.toml
@@ -2,3 +2,6 @@
 COMMON_FLAGS = "-O2 -pipe"
 CHOST = "aarch64-unknown-linux-gnu"
 
+[arm64.aarch64]
+COMMON_FLAGS = "-O2 -pipe"
+CHOST = "aarch64-unknown-linux-gnu"



  1   2   3   4   5   6   7   8   >