all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Skyler via Guix-patches via <guix-patches@gnu.org>
To: 65793@debbugs.gnu.org
Subject: [bug#65793] [PATCH] gnu: rottlog: Add gawk as an input.
Date: Thu, 07 Sep 2023 02:02:24 +0000	[thread overview]
Message-ID: <ONIrBKQLs3mwJkMh2Qg8nJufvqrZQ6aItRANmNuxJhJTZ_kYCd_xSzsFvEoLtmyR0TDteGBDweyLppUyYhCHilDuAzRqKx6EbVqsQPky87o=@protonmail.com> (raw)
In-Reply-To: <3IilDZKPeNEORKD6Akuetp_2bSYOEVBciL75gWUJdaGyfMJd440tbB6yd0DeZBF6yPGQgQnORVb0OPdqJChgRYXJ4oUSdXAO3u7hOOXhyP4=@protonmail.com>

[-- Attachment #1: Type: text/plain, Size: 3071 bytes --]

Hello,

Just to provide some context beyond what was appropriate to include in the commit message, I've been experiencing an issue where rottlog deletes the /tmp directory every time it runs at noon. I speculate that it is due to these lines:

```
0025 BASE_TMP_DIR="/tmp"
....
1638 local tmpd=${BASE_TMP_DIR}/`awk 'BEGIN { srand(); for (i=1;i<21;i++) { a=95; while (a > 90 && a < 97) { a=65+int(50*rand())}; printf("%c", a) } }'`
1639 [ -e "$tmpd" ] && rm -rf "$tmpd"
```

If awk is not available, then the backtick substitution will be empty. There should be an error message printed to stderr, but this will not be captured by the backticks. So the expression on line 1638 will resolve to just /tmp, and then 1639 will delete the directory.

I have not actually seen the error messages in logs or similar, I just updated the package definition and the problem stopped happening. When I reverted the change, the problem started occurring again. I tested it by changing my /root/.config/guix/channels.scm to reference a local mirror of guix (with the patch added), pulling, and reconfiguring. I adding gawk to the inputs without updating the patch-paths phase, but this did not resolve the issue.

There are some other places where rottlog uses command substitution, which includes coreutils commands, grep, and at least one command from util-linux-with-udev. Some of them are included in inputs, but none of them are in the patch-paths phase. If this patch is fine, I can submit ones for the other packages within the next couple of weeks.

Thanks,
Skyler
------- Original Message -------
On Wednesday, September 6th, 2023 at 7:01 PM, Skyler <skyvine@protonmail.com> wrote:

> This avoids an issue where rottlog will delete the entire /tmp directory
> if gawk is not installed.
>
> * gnu/packages/admin.scm (rottlog): Add gawk input, also update the
> patch-paths build phase for awk invocations.
> ---
> gnu/packages/admin.scm | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
> index 604cd70c02..ea437e9f26 100644
> --- a/gnu/packages/admin.scm
> +++ b/gnu/packages/admin.scm
> @@ -1931,7 +1931,11 @@ (define-public rottlog
> (lambda* (#:key inputs #:allow-other-keys)
> (substitute* "rc/rc"
> (("/usr/sbin/sendmail")
> - (search-input-file inputs "/bin/mail")))))
> + (search-input-file inputs "/bin/mail")))
> + (with-fluids ((%default-port-encoding "ISO-8859-1"))
> + (substitute* "src/rottlog"
> + (("awk")
> + (search-input-file inputs "/bin/awk"))))))
> (add-after 'build 'set-packdir
> (lambda _
> ;; Set a default location for archived logs.
> @@ -1950,7 +1954,7 @@ (define-public rottlog
> (lambda _
> (invoke "make" "install-info"))))))
> (native-inputs (list autoconf automake texinfo util-linux)) ; for 'cal'
> - (inputs (list coreutils mailutils))
> + (inputs (list coreutils gawk mailutils))
> (home-page "https://www.gnu.org/software/rottlog/")
> (synopsis "Log rotation and management")
> (description
>
> base-commit: e365c26a34fa485f9af46538fcea128db681c33d
> --
> 2.41.0

[-- Attachment #2: Type: text/html, Size: 5451 bytes --]

  reply	other threads:[~2023-09-07 12:56 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-07  2:01 [bug#65792] [PATCH] gnu: rottlog: Add gawk as an input Skyler via Guix-patches via
2023-09-07  2:02 ` Skyler via Guix-patches via [this message]
2023-09-07 17:16   ` [bug#65793] (No Subject) Skyler via Guix-patches via
2023-09-07 17:17 ` [bug#65792] " Skyler via Guix-patches via
2023-09-14 14:54 ` bug#65792: [PATCH] gnu: rottlog: Add gawk as an input Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='ONIrBKQLs3mwJkMh2Qg8nJufvqrZQ6aItRANmNuxJhJTZ_kYCd_xSzsFvEoLtmyR0TDteGBDweyLppUyYhCHilDuAzRqKx6EbVqsQPky87o=@protonmail.com' \
    --to=guix-patches@gnu.org \
    --cc=65793@debbugs.gnu.org \
    --cc=skyvine@protonmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.