| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
Pass in boolean 'selinux' via keyword arguments that tells
rmtree whether to do retry logic with selinux attributes
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Fix problem introduced in commit 3bc5fb958deb809fc04d6a74ce6688e093f5831a
where the buildroot is no longer updated after unpacking the root cache.
http://bugzilla.redhat.com/557526
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
|
| |
Allow "--target noarch" to be specified.
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Including the ccache directory /tmp/ccache and the yum cache directory
/var/cache/yum in the root cache is unnecessary and can lead to the
root cache tarball being an order of magnitude larger and taking 10
minutes or more to tar and compress even on a fast PC.
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The order of execution of umounts is the reverse of the order of
the mounts, so as to deal with a hierarchy of mounts correctly.
The ordering is reversed by _umountall but was being left in the
reversed state so that the next time _umountall was called, it
attempted to unmount filesystems in the wrong order, leading to
build failures due to being unable to unmount for example /proc
whilst /proc/filesystems was still mounted. This change reverses
the order of umount commands back again before _umountall exits
so as to maintain the ordering.
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
|
|
| |
This is needed not only to target the legacy Fedora 11 32-bit release
but also the still-current SLES-11 32-bit and possibly others too.
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
|
|
|
|
| |
The new selinux plugin fakes SELinux being turned *off* in the chroot
by bind-mounting a fake /proc/filesystems in the chroot. If this
plugin is enabled, we should *not* do any SELinux attribute operations
in the chroot. Setup this state correctly at init time.
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
|
|
|
| |
since the umount commands are reversed before being executed, just
append the umount of /proc/filesystems in the selinux plugin so
that it will happen in the correct order.
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds an selinux plugin that sets up an environment with
selinux turned *off* in the build chroot. How does this work? From the
author's description:
It is done the same as the patch sent by Thomas Liu in bz 614440 does.
Actually, this proceeding was suggested by Dan Walsh in bz 573111.
1.) Fake /proc/filesystems is created in conf["cachedir"]. It includes the
same content as the same file in host environment, except line with selinuxfs.
This file is bind mounted into build environment.
2.) Option '--setopt=tsflags=nocontext' is added to yum commands. This is done
by wrapping mock.util.do with _selinuxDoYum in "preyum" hook. This function
just adds the option and passes the command to original mock.util.do function.
The wrapping is removed in "postyum" hook.
I didn't find cleaner method, without modifying main code.
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
|
|
| |
Add a 'max_fs_size' parameter to the tmpfs plugin that allows
specification of sizes greater than default (50% of RAM).
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
| |
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
|
|
| |
Mock originally takes just a directory for the argument to --sources;
expand this to allow for a single file or a directory.
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
|
|
|
| |
Added a symlink in the chroot from /proc/self/fd to /dev/fd. Only
do this for EPEL5+ and FC hosts since the 2.6.9 kernel for EPEL4
does not support this.
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
|
| |
Added i686 architecture to arch checking logic in py/mock.py
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
|
|
|
|
| |
The original fix to generating a cache file without /proc, /sys, and /dev
entries failed due to the --exclude=sys filtering out /usr/include/sys (a
bad thing). Changed the filtering excludes to include a './' prefix to
avoid that little problem.
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
|
|
| |
previous fix for rpmdb issues was under a "if online:" block. Move it
out so rpmdb cleanup occurs in both cases.
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
|
|
| |
Added --excludes to tar comand line to exclude proc, sys and dev
files when creating root cache.
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Modified py/mock.py to dectect invalid build combinations
(e.g. trying to build x86_64 packages on an i386 host) and to throw
an InvalidArchitecture exception when detected. Added the above
exception to py/mock/execption.py
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Added the command line option:
--scrub=[all,chroot,cache,root-cache,c-cache,yum-cache]
which allows selective cleanup of the various cache's maintained
by mock (on on mock's behalf).
Also added logic to umountall() to umount in reverse order of mount.
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
| |
things can go wrong in a specific mock case if this happened. So just
nuke the installed dir and the files in it. Problem solved.
|
|
|
|
|
|
|
|
|
|
| |
Without this fix, only files within directories pre-created as part
of the chroot "skeleton" can be created using config_opts['files'],
as the attempt to create the file fails with "No such file or directory".
This patch allows for creation of files in arbitrary directories.
Signed-off-by: Clark Williams <williams@redhat.com>
(cherry picked from commit 0c4254573261bd1c9144b9fd03693572eb3ba036)
|
|
|
|
|
|
|
|
| |
Yum uses .sqlite files, but the plugin was looking for .sqllite. Remove
one 'l'.
Reported-by: Seth Vidal <skvidal@fedoraproject.org>
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
| |
Cleans up an error message when getenforce is not installed, and fixes wrong
outcome from selinuxEnabled() when SELinux is additionally disabled.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This reverts commit bc678aba383d1a6ad4ffd884ca21aa4058856e86.
Revert the revert, wheee! This is appropriate for 1.1 moving forward.
|
|
|
|
|
|
|
| |
This reverts commit 716d41a0090047c3e943d102537b87d86fdcbe88.
We've decided to revert this feature on the 1.0.x series. We'll add it
back for 1.1
|
|
|
|
|
|
|
|
| |
This reverts commit e99adc9492ab1087018c630f68f75ebe79f56a76.
-n still works on Fedora, and trying to override -N with -n in epel
configs fails for things like koji generated configs. Falling back to
-n until that stops working for us.
|
|
|
|
|
|
|
|
|
| |
Add a utility function selinuxEnabled() that returns true
if SELinux is enabled on the host and false otherwise. Use
this in _setupDev() method of the Root object to avoid shelling
out unnecessarily to 'chcon'.
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
| |
EL doesn't support -N, but uses -n instead. So use -N by default, but
in the EL configs revert back to -n.
|
|
|
|
|
|
|
|
| |
Added patch from Seth Vidal <skvidal@fedoraproject.org> to
automatically run createrepo on the generated rpms
Signed-off-by: Seth Vidal <skvidal@fedoraproject.org>
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
|
|
| |
Add logic to run with unprivleged uid:gid in interactive
chroot shell. (BZ# 522505)
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
|
|
|
| |
EPEL distros are older and have different behavior of the
/dev/pts filesystem than newer kernels in Fedora. Deal with
that when setting up devices.
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
|
|
|
| |
Add a default IPv6 entry for BZ545435, to fix failure in curl
test suite. In addition, remove the result of gethostname(),
since this causes koji to insert 'localhost' into rpms
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Patch submitted by Paul Howarth <paul@city-fan.org> to prevent
race condition when creating root cache tarballs and to remove
partial tarballs on error.
Signed-off-by: Clark Williams <williams@redhat.com>
CC: Paul Howarth <paul@city-fan.org>
|
|
|
|
|
|
|
|
|
|
| |
changed setup of devpts inside chroot so that /dev/ptmx is a symlink
to /dev/pty/ptmx and that it's mounted with all read/write permissions
so that pty's are usable inside the chroot. Also called devSetup when
running interactive shell, so that shell chroot matches build chroot
environment.
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
| |
import fails (as it will on RHEL5)
|
|
|
|
|
|
| |
This causes largely unnecessary yum runs and delays builds.
The new behavior would just skip the yum call all together, unless
the chroot was cleaned, in which case the setup command is called.
|
|
|
|
| |
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
|
|
| |
to use the 'newinstance' mount option if the kernel version
is >= 2.6.29
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
|
| |
BZ# 460574
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
|
| |
chroot. BZ# 506288
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
|
| |
group for /dev/pts mounted in chroot (BZ# 510183)
Signed-off-by: Clark Williams <williams@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds configuration options that influence how is the root
cache compressed:
config_opts['plugin_conf']['root_cache_opts']['compress_program'] = "gzip"
config_opts['plugin_conf']['root_cache_opts']['extension'] = ".gz"
Motivation to do this was to be able to use lzma compression. While it
takes a long time to compress, for me it was more than two times faster
than gzip when decompressing. Since I only seldom regenerate the root cache
while doing a lot of builds, I was able to gain a considerable speed up.
|
|
|
|
|
| |
Copy /etc/hosts from host when resolver configuration is being
copied, otherwise add hostname as a loopback alias.
|