Re: [gentoo-dev] [PATCH v2 1/2] check-reqs.eclass: runtime disk checks for any path.
Am 26.02.24 um 07:31 schrieb Robin H. Johnson: Allow checking any runtime path for installing ever-larger packages. CHECKREQS_DISK_RUNTIME=( /boot:40M /:350M /opt:500M ) In the example case: Shouldn't the eclass check for 850M on / if /opt is not a separate partition? I am not sure how often it really happens that multiple large requirements for different folders exist. Recent example of large packages: gentoo-kernel-bin: / >=350MB/version (in /lib/modules) /boot >=40MB/version rust-bin: /opt >=450MB/version Signed-off-by: Robin H. Johnson --- eclass/check-reqs.eclass | 23 +++ 1 file changed, 23 insertions(+) diff --git a/eclass/check-reqs.eclass b/eclass/check-reqs.eclass index fac2f4553d74..1c59c69489a9 100644 --- a/eclass/check-reqs.eclass +++ b/eclass/check-reqs.eclass @@ -30,6 +30,13 @@ # # install will need this much space in /var # CHECKREQS_DISK_VAR="1024M" # +# # install will need this much space in listed paths. +# CHECKREQS_DISK_RUNTIME=( +# /var:1G +# /boot/efi:32M +# /opt/giant-package-with-dedicated-disk:100G +# ) +# # @CODE # # If you don't specify a value for, say, CHECKREQS_MEMORY, then the test is not @@ -66,6 +73,11 @@ _CHECK_REQS_ECLASS=1 # @DESCRIPTION: # How much space is needed in /var? Eg.: CHECKREQS_DISK_VAR=3000M +# @ECLASS_VARIABLE: CHECKREQS_DISK_RUNTIME +# @DEFAULT_UNSET +# @DESCRIPTION: +# How much space is needed in paths? Eg.: CHECKREQS_DISK_RUNTIME=( /:1G /var:5G ) + # @ECLASS_VARIABLE: CHECKREQS_DONOTHING # @USER_VARIABLE # @DEFAULT_UNSET @@ -120,6 +132,7 @@ _check-reqs_prepare() { debug-print-function ${FUNCNAME} "$@" if [[ -z ${CHECKREQS_MEMORY} && + "${#CHECKREQS_DISK_RUNTIME[@]}" -eq 0 && -z ${CHECKREQS_DISK_BUILD} && -z ${CHECKREQS_DISK_USR} && -z ${CHECKREQS_DISK_VAR} ]]; then @@ -161,6 +174,16 @@ _check-reqs_run() { fi if [[ ${MERGE_TYPE} != buildonly ]]; then + if [[ "${#CHECKREQS_DISK_RUNTIME[@]}" -gt 0 ]]; then + for _path_size in "${CHECKREQS_DISK_RUNTIME[@]}"; do + _path=${_path_size/:*} + _size=${_path_size/*:} + _check-reqs_disk \ + "${EROOT%/}${_path}" "${_size}" + done + unset _path_size _path _size + fi + [[ -n ${CHECKREQS_DISK_USR} ]] && \ _check-reqs_disk \ "${EROOT%/}/usr" \
Re: [gentoo-dev] [PATCH] games-strategy/wargus: Fix running it with games-engines/stratagus[debug]
Am 15.02.24 um 16:06 schrieb Michał Górny: Oh, sorry, I've just realized that I'm maintaining stratagus these days. Will fix it, thanks! Good. Your solution also fixes this issue. Thank you for committing it. I "just" wanted to debug why wargus crashes. This is already fruitful. I already found and fixed a couple of issues (without touching the crashing part yet :-) ). To see if it is better with the master-branch, I locally created live-ebuilds and started to fix some build-system issues first. Regards Matthias
Re: [gentoo-dev] [PATCH] games-strategy/wargus: Fix running it with games-engines/stratagus[debug]
Am 15.02.24 um 13:59 schrieb Eli Schwartz: On 2/15/24 7:53 AM, Matthias Schwarzott wrote: When stratagus is compiled with USE=debug, its executable is called /usr/bin/stratatgus-dbg. Signed-off-by: Matthias Schwarzott --- games-strategy/wargus/wargus-3.3.2.ebuild | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/games-strategy/wargus/wargus-3.3.2.ebuild b/games-strategy/wargus/wargus-3.3.2.ebuild index fff6023fa177..3295b2911d48 100644 --- a/games-strategy/wargus/wargus-3.3.2.ebuild +++ b/games-strategy/wargus/wargus-3.3.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -46,10 +46,12 @@ pkg_pretend() { } src_configure() { + local suffix= + has_version games-engines/stratagus[debug] && suffix=-dbg local mycmakeargs=( -DGAMEDIR="${EPREFIX}/usr/bin" -DBINDIR="${EPREFIX}/usr/bin" - -DSTRATAGUS="${EPREFIX}/usr/bin/stratagus" + -DSTRATAGUS="${EPREFIX}/usr/bin/stratagus${suffix}" -DSHAREDIR="${EPREFIX}/usr/share/stratagus/wargus" -DICONDIR=/usr/share/icons/hicolor/64x64/apps -DWITH_STORMLIB=$(usex bne) Ok so this just means the package will be broken if you change the USE flags for stratagus and wargus doesn't get rebuilt. Exactly. It would even be simpler to patch that renaming out. I will send a change to stratagus-ebuild. Why is the executable name different, anyway? I have no clue. My guess is to have a separate executable. This is from stratagus CMakeLists.txt: cut === if(CMAKE_BUILD_TYPE STREQUAL "Debug") set_target_properties(stratagus PROPERTIES OUTPUT_NAME stratagus-dbg) endif() cut === Matthias