| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
stage1root
Signed-off-by: Brian Dolbec <dolsen@gentoo.org>
|
|
|
|
| |
Move the clear_portage() code to the python side clean().
Put that code behind the sticky-config option.
|
|
|
|
| |
This excludes stage1 builds which needs to modify the seed stage's make.conf for
initial stage building.
|
| |
|
|
|
|
|
|
| |
controller.sh file for stages 2, 3 and 4.
Signed-off-by: Jorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto@gentoo.org>
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
repo_name
One more portage name seperation from being used to represent the ebuild repository.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
One part of the effort to separate the portage name from the repository.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Rather than match any dir/file in the tree, anchor the dist stuff
to the root.
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
Changing the formatting to match in the log messages broke the hash matching preventing
them from ever matching.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Signed-off-by: Jorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto@gentoo.org>
|
|
|
|
|
|
|
| |
Add spaces around '=', after ','
Some long line cleanup.
Signed-off-by: Jorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto@gentoo.org>
|
|
|
|
| |
Signed-off-by: Jorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto@gentoo.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
the pre-clean which does safely run in chroot
|
|
|
|
| |
so let's just use whatever portage thinks the CHOST is. seems safe
|
| |
|
| |
|
| |
|
|
|
| |
Patch from Rick <zero_kaos> re-adding the removed trailing slash from the variable
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
There's no point in sleeping when running from scripted sessions.
|
|
|
|
| |
Use the existing cmd() helper for running external programs.
|
|
|
|
|
| |
A few places copy & paste the logic we have in the clear_dir func.
Punt them with a simple call to clear_dir.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Rather than shell out to cp/rm/mv, use python native code to do things.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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>
|