unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Gregor Giesen <giesen@zaehlwerk.net>
Cc: help-guix@gnu.org
Subject: Re: Extra files in build container
Date: Mon, 19 Jun 2017 16:49:43 +0200	[thread overview]
Message-ID: <87poe0uj5k.fsf@gnu.org> (raw)
In-Reply-To: <8c45d3ef-26d9-5818-69e9-c342c243c9e6@zaehlwerk.net> (Gregor Giesen's message of "Mon, 19 Jun 2017 13:44:40 +0200")

Hello,

Gregor Giesen <giesen@zaehlwerk.net> skribis:

> On Mon, Jun 19, 2017 at 13:26AM +0200 Ludovic Courtès wrote:
>>> On Fri, Jun 16, 2017 at 09:58:55AM +0200, Ludovic Courtès wrote:
>>>> In cases like the one you describe, we usually end up modifying tests to
>>>> use the numerical values for services and protocols rather than their
>>>> names.
>>> Unfortunately, this turns out to be quite cumbersome since in my case
>>> (unittests for unbound) there is a lot of test data to be modified and
>>> in many cases not only plain text but also encrypted records (DNSSEC
>>> tests). On the other hand the values to be looked up are mostly “udp”
>>> and “tcp” in /etc/protocols and “domain” in /etc/services, so I decided
>>> that using a preload library for these few glibc calls just in case of
>>> the unittest should do the trick rather than no checks at all.
>>
>> I think it would be easier to just use ‘substitute*’ to replace all the
>> occurrences of “tcp”, etc., wouldn’t it?
> alas many occurences of "tcp", "udp", etc. are hidden in
> encrypted/hashed records, so simple plain text substitutions would
> break the signatures.

Yes, I can imagine.  But maybe (maybe not!), by selecting the right set
of files to modify, and by adjusting the regexp (let’s say “\<tcp\>” or
“"tcp"”) to match only what matters, it could work.

If that’s really not workable, then the LD_PRELOAD approach is fine.

>>> However, it is an ugly hack and bloats the package definition.
>> I agree, but it’s hard to improve on it without compromising
>> reproducibility.
> It's a good thing that the hack only affects the tests rather than any
> installation files.
>
> I have submitted the package in a patch yesterday (27419). I wonder
> whether one might want to put the source code of the preload library
> in an extra file rather than the package definition?

Since it’s small I think it’s OK as inline code.

Thanks,
Ludo’.

  reply	other threads:[~2017-06-19 14:49 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-15  7:29 Extra files in build container Gregor Giesen
2017-06-16  7:58 ` Ludovic Courtès
2017-06-17  6:58   ` Gregor Giesen
2017-06-19 11:26     ` Ludovic Courtès
2017-06-19 11:44       ` Gregor Giesen
2017-06-19 14:49         ` Ludovic Courtès [this message]
2017-06-19 16:48           ` Gregor Giesen
2017-06-19 21:21             ` 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

  List information: https://guix.gnu.org/

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

  git send-email \
    --in-reply-to=87poe0uj5k.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=giesen@zaehlwerk.net \
    --cc=help-guix@gnu.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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).