aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Allow unversioned cache directoriesunversioned-cachedirRobin H. Johnson2017-12-063-5/+35
| | | | | | | | | | | | | | | | | | | The generation of cachedirs up to this point includes the version_stamp from the specfile. If the version is being automatically incremented (eg daily builds), then it generates unique cache directories for each build, and doesn't reuse old cache. Example versioned cache directories: /release/buildroot/amd64-dev/packages/default/stage1-amd64-20171203 /release/buildroot/amd64-dev/packages/default/stage1-amd64-20171204 /release/buildroot/amd64-dev/packages/default/stage1-amd64-20171206 This should be using a common cache directory: /release/buildroot/amd64-dev/packages/default/stage1-amd64 Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
* kmerge.sh: ensure bc is installed when kerncache is activeBen Kohler2017-11-291-0/+4
| | | | | | | When options=kerncache is on, catalyst finds cached kernel sources and generates a package.provided entry so these sources aren't reinstalled. However, this causes all RDEPEND in *-sources to be ignored. This patch forces dependencies to be installed beforepackage.provided is generated.
* introduce depclean.sh and add it to livecd-stage2 (first test)Ben Kohler2017-11-292-5/+15
|
* targets stage3-chroot.sh: Update the emerge optionsBrian Dolbec2017-11-271-1/+1
| | | | | Fixes a missing dep error for the preclean action. In this case it picked up 2 additional packages in the run, fixing the error. Adds in the recommended options prior to an emerge --depclean operation.
* stage1: Fix seedcache to clean out the original seed root, keep only the ↵Brian Dolbec2017-11-212-1/+61
| | | | | | stage1root Signed-off-by: Brian Dolbec <dolsen@gentoo.org>
* Unify stage cleaningBrian Dolbec2017-11-216-15/+10
| | | | Move the clear_portage() code to the python side clean(). Put that code behind the sticky-config option.
* Unify all make.conf settings and writingBrian Dolbec2017-11-217-134/+130
| | | | This excludes stage1 builds which needs to modify the seed stage's make.conf for initial stage building.
* doc/cataylst-config.5.txt: Update for the new variablesBrian Dolbec2017-11-211-7/+49
|
* Add prepare_portage and clear_portage to functions.sh and to the ↵Jorge Manuel B. S. Vicetto (jmbsvicetto)2017-11-214-0/+32
| | | | | | controller.sh file for stages 2, 3 and 4. Signed-off-by: Jorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto@gentoo.org>
* Improve the order of USE definition, make sure to remove USE after building ↵Jorge Manuel B. S. Vicetto (jmbsvicetto)2017-11-211-3/+8
| | | | | | portage, add the contents of BOOTSTRAP_USE to USE and clean USE and CATALYST_USE after building pacakges. Signed-off-by: Jorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto@gentoo.org>
* base/stagebase.py: Update the cleanables to the new repo variablesBrian Dolbec2017-11-211-1/+2
|
* defaults.py: Update all repository, DISTDIR, PKGDIR settings to new /var pathsBrian Dolbec2017-11-211-14/+23
| | | | | | | | | All settings are still configurable in catalyst.conf. These are new reasonable settings for a relocated tree system. A user can still set their own locations during install, or at a later time. Default catalyst.conf settings will be changed at a later time after additional testing and the automatic stage building scripts have been updated.
* targets/snapshot.py: Update the code and log messages to use the configured ↵Brian Dolbec2017-11-211-6/+7
| | | | | | repo_name One more portage name seperation from being used to represent the ebuild repository.
* base/stagebase.py: Seperate out the writing of the make.conf fileBrian Dolbec2017-11-213-92/+106
| | | | | | | | | | | | | By sepaerating out the writing of the make.conf file, it keeps all code to do so in one place. I also fixed the code to correctly set the target chroot directories for PORTDIR, DISTDIR, PKGDIR and PORTDIR_OVERLAY. The same code also re-writes make.conf toggling any PORTDIR_OVERLAY setting during the clean() run. Add target_distdir and target_pkgdir settings to defaults and catalyst.conf. This allows for more flexibility between host and target settings. They can be individually configured this way. Update target an source mounts from the configured settings.
* base/stagebase.py: Correctly log the correct function name for unpack_snapshot()Brian Dolbec2017-11-211-1/+1
|
* base/stagebase.py: Rename unpack_portage resume point to unpack_repoBrian Dolbec2017-11-211-3/+3
| | | One part of the effort to separate the portage name from the repository.
* rc-update.sh: fix rc-update calls to work inside chrootBen Kohler2017-10-121-6/+5
| | | | | | | When "rc-update del service" is called without a runlevel specified, it removes the service from the current runlevel which may or may not be correct within the chroot. This commit adds --all to ensure that these rc-update calls actually take effect.
* gitignore: anchor the pathsMike Frysinger2017-04-131-4/+5
| | | | | Rather than match any dir/file in the tree, anchor the dist stuff to the root.
* catalyst: create namespaces for buildingMike Frysinger2017-03-111-0/+9
| | | | | | | This helps isolate the catalyst builds from the rest of the system and allows us to build as non-root user in more cases. We don't support pid or user namespaces yet.
* stage1: run bootstrap w/--verboseMike Frysinger2017-03-111-0/+1
|
* would be nice if the ebuild worked againRick Farina (Zero_Chaos)2017-03-101-1/+1
|
* base/stagebase.py: Fix 48856f7e10e due to a change to AutoResume.get()Brian Dolbec2017-03-081-1/+1
| | | | Changing the formatting to match in the log messages broke the hash matching preventing them from ever matching.
* base/stagebase.py: Cleanup and fix the autoresume validation in the unpack()Brian Dolbec2017-03-082-49/+45
| | | | | | | | The previous logic was convoluted and had many errors, most notably, not checking the chroot is a directory, but instead was checking the seed source. I broke up and simplified the logic into two sections, one checks the chroot for a valid resume point, the other checks for seed tarball changes which would invalidate the existing chroot. Also the non-autoresume code block code was mostly not needed and was also simplified.
* base/stagebase.py: Add additional log messages for autoresume point invalidationBrian Dolbec2017-03-081-0/+4
|
* Add initial CATALYST_USE supportJorge Manuel B. S. Vicetto (jmbsvicetto)2017-03-075-37/+29
| | | | Signed-off-by: Jorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto@gentoo.org>
* stagebase.py: Whitespace cleanupsJorge Manuel B. S. Vicetto (jmbsvicetto)2017-03-071-261/+271
| | | | | | | Add spaces around '=', after ',' Some long line cleanup. Signed-off-by: Jorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto@gentoo.org>
* README: Whitespace fixesJorge Manuel B. S. Vicetto (jmbsvicetto)2017-03-071-6/+6
| | | | Signed-off-by: Jorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto@gentoo.org>
* base/stagebase.py: Add 2 more debug logs for arch loading modules.Brian Dolbec2016-09-181-0/+2
|
* targets/support/chroot-functions.sh: Fix CHROOT partial breakageBrian Dolbec2016-09-181-2/+14
| | | | | | | | | | | | | | | | Since commit: d05808a7a8313a66a0be67e89867b4c3a1fe5ca0 Author: Rick Farina (Zero_Chaos) <zerochaos@gentoo.org> (Wed 09 Sep 2015 09:32:27 AM PDT) Subject: only set CHOST in make.conf if we are setting it via catalyst to override the profile CHOST has not been consistently set via the arch/*.py files. As a consequence, there has been some silent breakage causing intermittent issues as clst_CHOST was not always present. Another recent commit 5b3a6639649e2 also changes clst_CHOST to just CHOST, but my testing revealed that this too was unset whne it was used in the set_gcc, set_binutils functions. The CHOST setting code in set_myfeatures was not run until after the gcc and binutils settings have been done. These changes reverts commit 5b3a6639649e2 CHOST change and restores a consistently set clst_CHOST. This seetting will rely on the profile setting unless overriden by spec file or arch.*.py settings for various subarches.
* stage1-controller.sh was *not running in chroot*, move it's functions into ↵Rick Farina (Zero_Chaos)2016-09-142-4/+6
| | | | the pre-clean which does safely run in chroot
* if CHOST is being reset that should have already been handled in make.conf ↵Rick Farina (Zero_Chaos)2016-09-141-2/+2
| | | | so let's just use whatever portage thinks the CHOST is. seems safe
* operate in /tmp/stage1root as appropriate during stage1Rick Farina (Zero_Chaos)2016-09-142-9/+11
|
* quotes to make shellcheck happyRick Farina (Zero_Chaos)2016-09-141-8/+8
|
* create-iso.sh: Update the mkdosfs command to mkfs.vfatBrian Dolbec2016-07-161-2/+2
|
* support/create_iso.sh: Aply patch to fix a missing slashBrian Dolbec2016-07-081-1/+1
| | | Patch from Rick <zero_kaos> re-adding the removed trailing slash from the variable
* targets/*: Add shebangs for any scripts without oneBrian Dolbec2016-06-286-0/+8
| | | | | | | | | | | | | | | | | | This is to prevent errors like: 27 Jun 2016 21:29:02 EDT: ERROR : Exception running action sequence build_kernel Traceback (most recent call last): File "/usr/lib64/python3.4/site-packages/catalyst/base/stagebase.py", line 1393, in run getattr(self, x)() File "/usr/lib64/python3.4/site-packages/catalyst/base/stagebase.py", line 1508, in build_kernel env=self.env) File "/usr/lib64/python3.4/site-packages/catalyst/support.py", line 47, in cmd proc = Popen(args, env=env) File "/usr/lib64/python3.4/subprocess.py", line 859, in __init__ restore_signals, start_new_session) File "/usr/lib64/python3.4/subprocess.py", line 1457, in _execute_child raise child_exception_type(errno_num, err_msg) OSError: [Errno 8] Exec format error
* fileops.py: Fix a traceback clearing teh old profile linkBrian Dolbec2016-06-251-1/+2
| | | | | | | | | | | | | | | The isdir() cconditional was not enough, it also needed to make sure it was not a symlink. 25 Jun 2016 08:02:45 PDT: NOTICE : --- Running action sequence: config_profile_link 25 Jun 2016 08:02:45 PDT: ERROR : clear_dir failed Traceback (most recent call last): File "/home/brian/Dev/git/catalyst/catalyst/fileops.py", line 84, in clear_dir shutil.rmtree(target) File "/usr/lib64/python3.4/shutil.py", line 478, in rmtree onerror(os.path.islink, path, sys.exc_info()) File "/usr/lib64/python3.4/shutil.py", line 476, in rmtree raise OSError("Cannot call rmtree on a symbolic link") OSError: Cannot call rmtree on a symbolic link
* stagebase.py: Add support for a single pkg to be listed in the specs ↵Brian Dolbec2016-06-251-3/+7
| | | | | | | stage?/packages The code previously only supported packages as a list, but teh spec parser always makes a single item into a string, only multiple entries were a list. This allows the packages list to be either a single string or a list of strings.
* support: enhance docstrings a bitMike Frysinger2016-05-211-1/+7
|
* countdown: only run when interactiveMike Frysinger2016-05-211-0/+4
| | | | There's no point in sleeping when running from scripted sessions.
* replace os.system with cmdMike Frysinger2016-05-202-7/+8
| | | | Use the existing cmd() helper for running external programs.
* replace ad-hoc implementations of clear_dirMike Frysinger2016-05-203-34/+5
| | | | | A few places copy & paste the logic we have in the clear_dir func. Punt them with a simple call to clear_dir.
* cmd: add support for running commands directlyMike Frysinger2016-05-207-109/+104
| | | | | | Very few of the commands we execute actually need to be run through a shell. Extend the cmd helper to take an argv and convert the majority of calls over to that.
* use native code in more places for file opsMike Frysinger2016-05-201-24/+15
| | | | Rather than shell out to cp/rm/mv, use python native code to do things.
* cmd: drop |myexc| argumentMike Frysinger2016-05-195-53/+41
| | | | | | This is not set by every call, and it's only used when logging error messages. Instead, construct the message dynamically from the cmd that we're running.
* clear_path: new helper for nuking dirsMike Frysinger2016-05-193-19/+18
| | | | | | | Add a simple helper to replace all calls to `rm -rf`. Fix a thinko in the previous commit where the os.unlink call was given the wrong variable.
* clear_dir: use kwargs everywhereMike Frysinger2016-05-191-2/+2
| | | | | Don't pass args by position when clear_args uses optional args. This makes it easy to screw up the calls when changing the API.
* clear_dir: make a bit more robust/flexibleMike Frysinger2016-05-193-25/+24
| | | | | | Make it so clear_dir will recover from non-directory paths, and it will always call ensure_dirs even if the path didn't exist previously. Most callers want this behavior and call ensure_dirs themselves.
* chroot-functions: genkernel: robustify version parsingMike Frysinger2016-04-211-16/+18
|
* create-iso: modify the mkisofs parameter of ppc64 little-endian.Kevin Zhao2016-04-211-1/+15
| | | | | | | | | | ppc64 little-endian has different archtecture and new boot parameters. Don't need the hfs and mapping files as it in Big-endian. Also tweak the code of Big-endian. Signed-off-by: Kevin Zhao <kevin.zhaoshuai@gmail.com> CC: Mike Frysinger <vapier@gentoo.org> CC: Leno Hou <lenohou@gmail.com>