[gentoo-commits] proj/catalyst:master commit in: catalyst/base/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/, ...
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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"