[pacman-dev] (no subject)
Since the update to pacman 5.2.0, `makepkg --printsrcinfo` may emmit warnings about invalid packager format. However, all config variables in /etc/makepkg.conf, as well as directory permissions are not relevant if `--printsrcinfo` is given. So we simply skip the lint_conf and directory permisison checks then.
From: Erich Eckner <git@eckner.net> Variables from the config make no difference with `--printsrcinfo`, also the directory permissions ($SRCDEST, $PKGDEST, $SRCPKGDEST, $BUILDDIR) do not matter in that case. This relieves one from customizing /etc/makepkg.conf on a system, where only ever `makepkg --printsrcinfo` will be invoked, solely to get rid of lint warnings. Signed-off-by: Erich Eckner <git@eckner.net> --- scripts/makepkg.sh.in | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index e134200f..f5f5f4f7 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -1135,24 +1135,26 @@ else fi -# check makepkg.conf for some basic requirements -lint_config || exit $E_CONFIG_ERROR +if (( !PRINTSRCINFO )); then + # check makepkg.conf for some basic requirements + lint_config || exit $E_CONFIG_ERROR -# check that all settings directories are user-writable -if ! ensure_writable_dir "BUILDDIR" "$BUILDDIR"; then - plain "$(gettext "Aborting...")" - exit $E_FS_PERMISSIONS -fi + # check that all settings directories are user-writable + if ! ensure_writable_dir "BUILDDIR" "$BUILDDIR"; then + plain "$(gettext "Aborting...")" + exit $E_FS_PERMISSIONS + fi -if (( ! (NOBUILD || GENINTEG) )) && ! ensure_writable_dir "PKGDEST" "$PKGDEST"; then - plain "$(gettext "Aborting...")" - exit $E_FS_PERMISSIONS -fi + if (( ! (NOBUILD || GENINTEG) )) && ! ensure_writable_dir "PKGDEST" "$PKGDEST"; then + plain "$(gettext "Aborting...")" + exit $E_FS_PERMISSIONS + fi -if ! ensure_writable_dir "SRCDEST" "$SRCDEST" ; then - plain "$(gettext "Aborting...")" - exit $E_FS_PERMISSIONS + if ! ensure_writable_dir "SRCDEST" "$SRCDEST" ; then + plain "$(gettext "Aborting...")" + exit $E_FS_PERMISSIONS + fi fi if (( SOURCEONLY )); then -- 2.23.0
On 10/24/19 3:28 AM, arch@eckner.net wrote:
Since the update to pacman 5.2.0, `makepkg --printsrcinfo` may emmit warnings about invalid packager format. However, all config variables in /etc/makepkg.conf, as well as directory permissions are not relevant if `--printsrcinfo` is given. So we simply skip the lint_conf and directory permisison checks then.
The warning about PACKAGER is already fixed on master, by only emitting the warning when the value is both non-default (by default it is unset and therefore uses the internal fallback "Unknown Packager") and an invalid format. So we should no longer have issues when using the stock, unmodified makepkg.conf -- is it actually worth skipping it entirely? The directory permission checks skipping argument logically applies to --packagelist too, and to go one step further, if we're going to have special handling of this we should also avoid, for example, checking BUILDDIR when running --verifysource or --geninteg. (But we'd still want to check SRCDEST, then). All that being said, the only directory being checked at all is $PWD unless you've overridden it via your makepkg.conf, in which case I would've presumed it would be writable. :/ -- Eli Schwartz Bug Wrangler and Trusted User
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On Thu, 24 Oct 2019, Eli Schwartz wrote:
On 10/24/19 3:28 AM, arch@eckner.net wrote:
Since the update to pacman 5.2.0, `makepkg --printsrcinfo` may emmit warnings about invalid packager format. However, all config variables in /etc/makepkg.conf, as well as directory permissions are not relevant if `--printsrcinfo` is given. So we simply skip the lint_conf and directory permisison checks then.
The warning about PACKAGER is already fixed on master, by only emitting the warning when the value is both non-default (by default it is unset and therefore uses the internal fallback "Unknown Packager") and an invalid format. So we should no longer have issues when using the stock, unmodified makepkg.conf -- is it actually worth skipping it entirely?
Ah, right. Sry, I read that, but forgot it when patching the release-version of makepkg. Skipping entirely was the least-invasive approach I saw. It is by no means necessary (for me).
The directory permission checks skipping argument logically applies to --packagelist too, and to go one step further, if we're going to have special handling of this we should also avoid, for example, checking BUILDDIR when running --verifysource or --geninteg. (But we'd still want to check SRCDEST, then).
All that being said, the only directory being checked at all is $PWD unless you've overridden it via your makepkg.conf, in which case I would've presumed it would be writable. :/
Yes, you're right. I had tested with an all-bogus makepkg.conf (e.g. every variable set to some invalid value) to see, whether the variables are indeed not needed during --printsrcinfo - and I got tons of directory permission errors, so I thought, disabling those made sense, too. In my opinion, this patch can be dropped. Btw: sry for the splitted email - I intended to put the text in front of the patch email, but apparently, git send-email did something else.
-- Eli Schwartz Bug Wrangler and Trusted User
Cheers, Erich -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEE3p92iMrPBP64GmxZCu7JB1Xae1oFAl2x0YQACgkQCu7JB1Xa e1pUNg/9GHhL+uMlC/Rvk+eQwZv0dNKwdlAYYGBruLC6qJuU2vuCDjeeQV5t4rhV yD09hXCOsO/PEUwrnM8nnb/VeZIjEf18w0VYnPqX0NNq85C+F5oyXeQQwATn/rCw oVcgHsxYTUCShycNIww0dOuzxoRjeUxADPlCj81NxtXwstx22+Xq5VgoWTIC53Sn 9fBmpJh/wI0yqv1uuqWg/3pgs/qYcuhE8shb0AQ54b9sul7XHq/+K+p7odnP4FyI 0oCeeK19sIyJ9IKVFV2uTd+h8C17D8UlxA9OoxE9MJu2CJPMusw/e9SECyc5m7g8 FapMbw+x7MJm+z92o0MfwLxyGec7LeaZpQxGt1M1NpnMFjTwdl1P4itRRRS0tm7W qa88HU4rIlMu8ZbgID7wqTc7FlE/mGC2Jljg6V/mCy11cwHPLASvkaCKHZPJIIsb qBIeprk/hY8WT1OtSXdpKur7tKYTrAAxV5Kuts+9Tdd1Iu87UnX4PDiwg2TR4WZi 0Ke1KI3B13pKuTi/IP+k9mCGhpMpk8ruFg36ugdvMoOggtwe6zPIh+gvxknEu5wK 2p40I0zYcExnFimrw7qg4Q/OiLDbWj1bQDoHOf5g0wNFiRDgfHYNDTp5p+0RzzCS ItNmH2lxdwVPa4fF1GU7SGFv0RP8A2s3m7MWuoEI6jlsNPuRFUQ= =ul/V -----END PGP SIGNATURE-----
participants (3)
-
arch@eckner.net
-
Eli Schwartz
-
Erich Eckner