mirror of
https://github.com/flatcar/scripts.git
synced 2026-05-04 19:56:32 +02:00
sys-apps/baselayout: Add build USE flag to avoid poking unwritable dirs
update_sdk_container_image fails to update baselayout because it touches /sys, which is not allowed in an unprivileged docker build environment. This roughly mirrors what Gentoo's baselayout does. Signed-off-by: James Le Cuirot <jlecuirot@microsoft.com>
This commit is contained in:
parent
a6b4348492
commit
f0a1caf488
@ -530,7 +530,7 @@ start_image() {
|
||||
trap "cleanup_mounts '${root_fs_dir}' && delete_prompt" EXIT
|
||||
|
||||
# First thing first, install baselayout to create a working filesystem.
|
||||
emerge_to_image "${root_fs_dir}" --nodeps --oneshot sys-apps/baselayout
|
||||
USE+=" build" emerge_to_image "${root_fs_dir}" --nodeps --oneshot sys-apps/baselayout
|
||||
|
||||
# FIXME(marineam): Work around glibc setting EROOT=$ROOT
|
||||
# https://bugs.gentoo.org/show_bug.cgi?id=473728#c12
|
||||
|
||||
@ -35,7 +35,7 @@ build_target_toolchain() {
|
||||
|
||||
# install baselayout first so we have the basic directory
|
||||
# structure for libraries and binaries copied from sysroot
|
||||
btt_emerge --oneshot --nodeps sys-apps/baselayout
|
||||
USE+=" build" btt_emerge --oneshot --nodeps sys-apps/baselayout
|
||||
|
||||
# copy libraries, binaries and header files from sysroot to root -
|
||||
# sysroot may be using split-usr, whereas root does not, so take
|
||||
|
||||
@ -20,7 +20,7 @@ fi
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="cros_host"
|
||||
IUSE="build cros_host"
|
||||
|
||||
# Make sure coreos-init is not installed in the SDK
|
||||
RDEPEND="
|
||||
@ -83,19 +83,24 @@ src_install() {
|
||||
SYSTEMD_JOURNAL_GID=${ACCT_GROUP_SYSTEMD_JOURNAL_ID:-190} ROOT_UID=0 ROOT_GID=0 CORE_UID=500 CORE_GID=500 \
|
||||
DESTDIR=${D} ./dumb-tmpfiles-proc.sh --exclude d "${ED}/usr/lib/tmpfiles.d" || die
|
||||
|
||||
insinto /usr/share/baselayout
|
||||
doins Makefile
|
||||
exeinto /usr/share/baselayout
|
||||
doexe dumb-tmpfiles-proc.sh
|
||||
if use build; then
|
||||
insinto /usr/share/baselayout
|
||||
doins Makefile
|
||||
exeinto /usr/share/baselayout
|
||||
doexe dumb-tmpfiles-proc.sh
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
local libdirs
|
||||
libdirs=$(get_all_libdirs)
|
||||
emake -C "${ED}/usr/share/${PN}" DESTDIR="${EROOT}" LIBDIRS="${libdirs}" layout
|
||||
SYSTEMD_JOURNAL_GID=${ACCT_GROUP_SYSTEMD_JOURNAL_ID:-190} ROOT_UID=0 ROOT_GID=0 CORE_UID=500 CORE_GID=500 \
|
||||
DESTDIR=${D} "${ED}/usr/share/${PN}/dumb-tmpfiles-proc.sh" "${ED}/usr/lib/tmpfiles.d" || die
|
||||
rm -f "${ED}/usr/share/${PN}/Makefile" "${ED}/usr/share/${PN}/dumb-tmpfiles-proc.sh" || die
|
||||
|
||||
if use build; then
|
||||
emake -C "${ED}/usr/share/${PN}" DESTDIR="${EROOT}" LIBDIRS="${libdirs}" layout
|
||||
SYSTEMD_JOURNAL_GID=${ACCT_GROUP_SYSTEMD_JOURNAL_ID:-190} ROOT_UID=0 ROOT_GID=0 CORE_UID=500 CORE_GID=500 \
|
||||
DESTDIR=${ROOT} "${ED}/usr/share/${PN}/dumb-tmpfiles-proc.sh" --exclude CZL+ "${ED}/usr/lib/tmpfiles.d" || die
|
||||
rm -f "${ED}/usr/share/${PN}/Makefile" "${ED}/usr/share/${PN}/dumb-tmpfiles-proc.sh" || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
|
||||
@ -337,7 +337,7 @@ if [[ ${FLAGS_regen_configs} -eq ${FLAGS_FALSE} ]]; then
|
||||
fi
|
||||
|
||||
info "Installing baselayout"
|
||||
"${EMERGE_WRAPPER}" "${EMERGE_FLAGS[@]}" --nodeps sys-apps/baselayout
|
||||
USE+=" build" "${EMERGE_WRAPPER}" "${EMERGE_FLAGS[@]}" --nodeps sys-apps/baselayout
|
||||
|
||||
if [[ "${FLAGS_usepkg}" -ne "${FLAGS_TRUE}" ||
|
||||
"${FLAGS_getbinpkg}" -ne "${FLAGS_TRUE}" ]]
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user