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

From: Marius Bakke <[email-masked]>
Date: Thu, 08 Mar 2018 21:45:45 +0100

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.

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))))
          ;; Binaries that depend on libnet-tools.a don't declare that
          ;; dependency, making it parallel-unsafe.
-- 
2.16.2