From: Chris Marusich <cmmarusich@gmail.com>
To: Danny Milosavljevic <dannym@scratchpost.org>
Cc: 30572@debbugs.gnu.org, Chris Marusich <cmmarusich@gmail.com>
Subject: [bug#30572] [PATCH 5/7] guix: Rewrite build-docker-image to allow more paths.
Date: Tue, 20 Mar 2018 04:26:00 +0100 [thread overview]
Message-ID: <87sh8vwhpz.fsf@garuda.local.i-did-not-set--mail-host-address--so-tickle-me> (raw)
In-Reply-To: <20180316232941.3040c051@scratchpost.org> (Danny Milosavljevic's message of "Fri, 16 Mar 2018 23:29:41 +0100")
[-- Attachment #1: Type: text/plain, Size: 1264 bytes --]
Danny Milosavljevic <dannym@scratchpost.org> writes:
>> + (define (sanitize path-fragment)
>> + (escape-special-chars
>> + ;; GNU tar strips the leading slash off of absolute paths before applying
>> + ;; the transformations, so we need to do the same, or else our
>> + ;; replacements won't match any paths.
>> + (string-trim path-fragment #\/)
>> + ;; Escape the basic regexp special characters (see: "(sed) BRE syntax").
>> + ;; We also need to escape "/" because we use it as a delimiter.
>> + "/*.^$[]\\"
>> + #\\))
>
> I'm not such a fan of using blacklist. Those can easily get out of sync and
> nobody notices. But in this case I guess people take care not to extend
> basic regexp special characters in sed (tar) without the user specifying a flag
> requiring it.
That's a good point. However, I think we're OK here, since we are in
full control over how we invoke tar. To give us full control over how
we invoke tar, I specifically took care to hide the fact that we are
using tar under the covers to do the transformations. Even if tar
silently changes its contract (that seems unlikely to me), we can just
change our code accordingly, and callers will be none the wiser.
--
Chris
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
next prev parent reply other threads:[~2018-03-20 3:27 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-22 10:29 [bug#30572] [PATCH 0/7] Add "guix system docker-image" command Chris Marusich
2018-03-15 4:09 ` [bug#30572] [PATCH 0/7] Add "guix system docker-image" command (v2) Chris Marusich
2018-03-15 4:09 ` [bug#30572] [PATCH 1/7] gnu: bootstrap: Add trivial packages for bash, mkdir, tar, and xz Chris Marusich
2018-03-16 22:16 ` Danny Milosavljevic
2018-03-20 3:13 ` Chris Marusich
2018-03-20 10:09 ` Danny Milosavljevic
2018-03-21 4:19 ` Chris Marusich
2018-03-21 9:17 ` Danny Milosavljevic
2018-03-17 21:58 ` Ludovic Courtès
2018-03-21 4:22 ` Chris Marusich
2018-03-21 20:54 ` Ludovic Courtès
2018-03-22 4:37 ` Chris Marusich
2018-03-15 4:09 ` [bug#30572] [PATCH 2/7] tests: Add tests for "guix pack" Chris Marusich
2018-03-16 21:07 ` Danny Milosavljevic
2018-03-17 18:23 ` Ludovic Courtès
2018-03-21 4:00 ` Chris Marusich
2018-03-21 4:28 ` Chris Marusich
2018-03-22 4:41 ` Chris Marusich
2018-03-22 9:22 ` Ludovic Courtès
2018-03-24 2:05 ` bug#30572: " Chris Marusich
2018-03-24 17:15 ` [bug#30572] " Ludovic Courtès
2018-03-15 4:09 ` [bug#30572] [PATCH 3/7] vm: Allow control of deduplication in root-partition-initializer Chris Marusich
2018-03-16 20:47 ` Danny Milosavljevic
2018-03-17 18:21 ` Ludovic Courtès
2018-03-15 4:09 ` [bug#30572] [PATCH 4/7] gnu: When building in a VM, share a temporary directory Chris Marusich
2018-03-16 22:00 ` Danny Milosavljevic
2018-03-20 3:20 ` Chris Marusich
2018-03-15 4:09 ` [bug#30572] [PATCH 5/7] guix: Rewrite build-docker-image to allow more paths Chris Marusich
2018-03-16 22:29 ` Danny Milosavljevic
2018-03-20 3:26 ` Chris Marusich [this message]
2018-03-15 4:09 ` [bug#30572] [PATCH 6/7] system: Add "guix system docker-image" command Chris Marusich
2018-03-16 22:11 ` Danny Milosavljevic
2018-03-17 21:56 ` Ludovic Courtès
2018-03-21 3:58 ` Chris Marusich
2018-03-21 4:25 ` Chris Marusich
2018-03-21 20:50 ` Ludovic Courtès
2018-03-15 4:09 ` [bug#30572] [PATCH 7/7] tests: Add tests for "guix system disk-image" et al Chris Marusich
2018-03-16 22:04 ` Danny Milosavljevic
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=87sh8vwhpz.fsf@garuda.local.i-did-not-set--mail-host-address--so-tickle-me \
--to=cmmarusich@gmail.com \
--cc=30572@debbugs.gnu.org \
--cc=dannym@scratchpost.org \
/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.