aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* First shot at sshd imageAndreas K. Hüttel2024-10-131-0/+1
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* Add diskimage_stage2.py with parameters and sequence different from isoAndreas K. Hüttel2024-10-131-0/+114
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* Clone livecd_stage1.py to diskimage_stage1.py, only cosmetic changesAndreas K. Hüttel2024-10-131-0/+58
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* Clone stagebase logic from iso to qcow2 (mostly)Andreas K. Hüttel2024-10-131-0/+43
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* Set version for a release4.0.0catalyst-4.0-stableAndreas K. Hüttel2024-10-121-1/+1
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* Add Dist-kernel kconfig supportIan Jordan2024-08-221-2/+7
| | | | | | | | | | | | | | | | | 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 <rahul@sandhuservices.dev> Co-authored-by: Christopher Fore <csfore@posteo.net> Signed-off-by: Ian Jordan <immoloism@gmail.com> Closes: https://github.com/gentoo/catalyst/pull/21 Signed-off-by: Ben Kohler <bkohler@gentoo.org>
* stage1: Drop now unneeded imports againAndreas K. Hüttel2024-08-031-3/+1
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* stagebase: Move ROOT repo bind mount logic to stagebase instead of stage1Andreas K. Hüttel2024-08-032-22/+20
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* stage1: make sure we bind-mount within the chroot dir, try 3, now with pathlibAndreas K. Hüttel2024-08-031-2/+6
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* Add log.debug statements to follow profile symlink creationAndreas K. Hüttel2024-08-031-0/+3
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* note to self: python is stupidAndreas K. Hüttel2024-07-301-1/+1
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* stage1: apparently we need to populate the chroot_path setting firstAndreas K. Hüttel2024-07-301-0/+1
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* stage1: make sure we bind-mount within the chroot dirAndreas K. Hüttel2024-07-301-2/+6
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* stage1: we can't mount any squashfs twice, so we make sure we get a bind mountAndreas K. Hüttel2024-07-301-1/+1
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* stagebase: Create parent directoriesDoug Freed2024-07-301-0/+2
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* log: hide our functions and include line numbersDoug Freed2024-07-301-1/+16
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* stagebase: create profile link for ROOT tooDoug Freed2024-07-301-0/+11
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* stagebase: clean up config_profile_linkDoug Freed2024-07-301-6/+11
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* targets: improve path concatenationAndreas K. Hüttel2024-07-291-1/+1
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* targets: Mount repos also under $ROOT for stage1 buildsAndreas K. Hüttel2024-07-291-1/+14
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* Add keep_repos spec option to keep config for specified repos4.0-rc2James Le Cuirot2024-06-281-0/+20
| | | | | | | | 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 <chewi@gentoo.org>
* stagebase: tweak bindist comment emitted into make.confSam James2024-06-091-1/+1
| | | | | | | 'USE' is more idiomatic. Signed-off-by: Sam James <sam@gentoo.org> Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* Explicitly declare repo as main when it does not match the default mainJames Le Cuirot2024-06-071-0/+6
| | | | | | | | Otherwise Portage complains about PORTDIR not being set. Signed-off-by: James Le Cuirot <chewi@gentoo.org> Closes: https://github.com/gentoo/catalyst/pull/13 Signed-off-by: Matt Turner <mattst88@gentoo.org>
* avoid chrooting and running the $PATH to bash from outside the chrootEli Schwartz2024-03-031-2/+3
| | | | | | | | | | | | | | 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 <eschwartz93@gmail.com> Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* base/stagebase.py: Do not touch subarch if chost is setAndreas K. Hüttel2023-12-241-4/+1
| | | | | | | | | | | | | | | | | | 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 <dilfridge@gentoo.org>
* Turn binrepos.conf into a folder with gentoobinhost.conf insideAndreas K. Hüttel2023-09-051-4/+4
| | | | | Closes: https://bugs.gentoo.org/913660 Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* Implementing distkernel installationAzamat H. Hackimov2023-08-221-6/+16
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* Add configuration options and code to write out binrepos.confAndreas K. Hüttel2023-08-112-0/+35
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* stagebase: Fix and improve port_logdir config optionAndreas K. Hüttel2023-07-012-4/+5
| | | | | | | NOTE: The cleaning of log files does not work yet (and probably never did). Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* stagebase: Add blank linkes in make.conf (e.g. before CHOST block)Andreas K. Hüttel2023-07-011-2/+2
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* stagebase.py: switch to LC_MESSAGES=C.utf8 in make.confBen Kohler2023-05-101-1/+1
| | | | Signed-off-by: Ben Kohler <bkohler@gentoo.org>
* catalyst: Use correct arch setting for setarch testingMatt Turner2022-11-221-1/+1
| | | | | | | | | | 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 <mattst88@gentoo.org>
* catalyst: Remove stray spaceMatt Turner2022-11-171-1/+1
| | | | Signed-off-by: Matt Turner <mattst88@gentoo.org>
* catalyst: Drop livecd/{xinitrc,xsession,xdm}Matt Turner2022-11-171-3/+0
| | | | | | | This is functionality better implemented in fsscripts outside of catalyst. Signed-off-by: Matt Turner <mattst88@gentoo.org>
* stagebase: Also clean out profile/package.use.force profile/package.use.maskAndreas K. Hüttel2022-11-141-1/+1
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* Allow "interpreter" parameter as space-separated list of filesAndreas K. Hüttel2022-11-131-24/+24
| | | | | | | | 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 <dilfridge@gentoo.org>
* catalyst/stage4: improve log messagestage4-user-groups-fixesDaniel Cordero2022-05-131-1/+3
| | | | | | | | | When creating a user with no additional groups, don't print a misleading message saying the user will be created with an equals sign in the username. Signed-off-by: Daniel Cordero <gentoo.catalyst@0xdc.io> Signed-off-by: Matt Turner <mattst88@gentoo.org>
* catalyst/stage4: don't split a single entryDaniel Cordero2022-05-131-1/+1
| | | | | | | | A single entry in users is one user who could have multiple groups. Fixes: 5be6069b ("catalyst: support 3 new options") Signed-off-by: Daniel Cordero <gentoo.catalyst@0xdc.io> Signed-off-by: Matt Turner <mattst88@gentoo.org>
* catalyst/stage4: don't run split on a listDaniel Cordero2022-05-131-1/+1
| | | | | | | | | "groups" has been normalised into a list and does not have a split() method. Fixes: 5be6069b ("catalyst: support 3 new options") Signed-off-by: Daniel Cordero <gentoo.catalyst@0xdc.io> Signed-off-by: Matt Turner <mattst88@gentoo.org>
* catalyst/stage4: fix handling of groups, users and keysDaniel Cordero2022-05-131-3/+3
| | | | | | | | | | Previously, the set_*() functions would always set the result of the toml parsing as the setting. Instead, only override it if it is a string. Fixes: 5be6069b ("catalyst: support 3 new options") Signed-off-by: Daniel Cordero <gentoo.catalyst@0xdc.io> Signed-off-by: Matt Turner <mattst88@gentoo.org>
* catalyst: Replace a tabMatt Turner2022-04-201-1/+1
| | | | | Fixes: 5be6069b ("catalyst: support 3 new options") Signed-off-by: Matt Turner <mattst88@gentoo.org>
* catalyst: add new options to stage4 step listPatrice Clement2022-04-021-0/+6
| | | | | Signed-off-by: Patrice Clement <monsieurp@gentoo.org> Signed-off-by: Matt Turner <mattst88@gentoo.org>
* catalyst: support 3 new optionsPatrice Clement2022-04-021-0/+70
| | | | | | | | | | | | * 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 <monsieurp@gentoo.org> Signed-off-by: Matt Turner <mattst88@gentoo.org>
* catalyst: Add .sha256 to list of ignored extensionsMatt Turner2022-02-161-2/+5
| | | | | | | | | | 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 <mattst88@gentoo.org>
* catalyst: Switch to tomliMatt Turner2022-01-302-5/+6
| | | | | | | The Python community is coalescing around tomli, and tomli is likely to be integrated into the standard library per PEP680. Signed-off-by: Matt Turner <mattst88@gentoo.org>
* catalyst: generate .sha256 file if any digest is enabledGeorgy Yakovlev2021-11-241-0/+3
| | | | | | | | | | | | | | | | | | checksum format is simple one, identical to one sha256sum from coreutils produces, lines starting with # are ignored. example:[1] # SHA256 HASH xxxx..... 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 <gyakovlev@gentoo.org>
* catalyst: Remove boot/kernel/*/kernelopts supportMatt Turner2021-07-281-11/+0
| | | | | | | This undocumented option was only wired up for hppa, and was used by the minimal livecd to set panic=30. Signed-off-by: Matt Turner <mattst88@gentoo.org>
* catalyst: Replace snakeoil's locks with fastenersMatt Turner2021-06-094-69/+7
| | | | | | | | | | | | | To no great surprise, the existing locking was broken. For example, clear_chroot() releases the lock. It is called by unpack(), which is part of prepare_sequence. The result is that the whole build could be done without holding the lock. Just lock around run(). It's not apparent that finer-grained locking does anything for us. Bug: https://bugs.gentoo.org/791583 Signed-off-by: Matt Turner <mattst88@gentoo.org>
* catalyst: Remove clear_dir's never used clear_nondir parameterMatt Turner2021-06-081-8/+3
| | | | Signed-off-by: Matt Turner <mattst88@gentoo.org>
* catalyst: Remove @staticmethod from generate_hash()Matt Turner2021-03-241-2/+1
| | | | | Fixes: 48338534 ("Add option to generate BSD-style tagged hashes ...") Signed-off-by: Matt Turner <mattst88@gentoo.org>