Subject: Re: [bug#30734] [PATCH core-updates 3/3] gnu: net-tools: Don't install 'ifconfig'.

From: [email-masked] (Ludovic Courtès)
Date: Thu, 08 Mar 2018 21:53:26 +0100

Marius Bakke <[email-masked]> skribis:

> Ludovic Courtès <[email-masked]> writes:
>
>> Marius Bakke <[email-masked]> skribis:
>>
>>> * gnu/packages/linux.scm (net-tools)[arguments]: In
>>> REMOVE-REDUNDANT-COMMANDS-PHASE, add regexp for ifconfig.
>>> ---
>>>  gnu/packages/linux.scm | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
>>> index dffe2c49c..8c07d1fdd 100644
>>> --- a/gnu/packages/linux.scm
>>> +++ b/gnu/packages/linux.scm
>>> @@ -1290,7 +1290,7 @@ inadequately in modern network environments, and both should be deprecated.")
>>>                 ;; Remove commands and man pages redundant with Inetutils.
>>>                 (let* ((out (assoc-ref outputs "out"))
>>>                        (dup (append-map (cut find-files out <>)
>>> -                                       '("^hostname"
>>> +                                       '("^hostname" "^ifconfig"
>>
>> GNU ifconfig is somewhat incompatible and may have a different feature
>> set compared to the one of net-tools, so I’d be in favor of keeping it.
>>
>> WDYT?
>
> The motivation for this commit was to remove a conflict in
> %base-packages.  Currently it's entirely random which ifconfig ends up
> in the system profile, which is not great.

I think it’s not _entirely_ random, but I agree it’s not great.  ;-)

> What about the below hack?  Alternatively, it could be moved to a
> separate output.  Thoughts?
>
> From 0887b6af81781ae74f0a34c59f32ed098fa199dc Mon Sep 17 00:00:00 2001
> From: Marius Bakke <[email-masked]>
> Date: Thu, 8 Mar 2018 21:41:13 +0100
> Subject: [PATCH] gnu: net-tools: Move 'ifconfig' to "/sbin".
>
> * gnu/packages/linux.scm (net-tools)[arguments]: In
> REMOVE-REDUNDANT-COMMANDS-PHASE, use rename-file on ifconfig.
> ---
>  gnu/packages/linux.scm | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
> index 875f11062..916309b79 100644
> --- a/gnu/packages/linux.scm
> +++ b/gnu/packages/linux.scm
> @@ -1286,6 +1286,11 @@ inadequately in modern network environments, and both should be deprecated.")
>                                         '("^hostname"
>                                           "^(yp|nis|dns)?domainname"))))
>                   (for-each delete-file dup)
> +                 ;; ifconfig from net-tools is somewhat incompatible with
> +                 ;; GNU ifconfig, so we keep it around.  Move it to "/sbin"
> +                 ;; to prevent conflict in %base-packages.
> +                 (rename-file (string-append out "/bin/ifconfig")
> +                              (string-append out "/sbin/ifconfig"))
>                   #t))))

Sure, either that or rename it to “ifconfig.net-tools” (I think Debian
sometimes does things like this.)

But, isc-dhcp depends on net-tools, and it might have scripts that
depend on its ifconfig, for instance.  Same for virtuoso-ose, isc-bind,
iodine, and more.

So all in all, your suggestion may be safer, though we should check
whether these things break.

Thank you,
Ludo’.