GNU bug report logs -
#39961
[PATCH] gnu: Add traceroute.
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 39961 in the body.
You can then email your comments to 39961 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#39961
; Package
guix-patches
.
(Fri, 06 Mar 2020 23:14:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Vincent Legoll <vincent.legoll <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Fri, 06 Mar 2020 23:14:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
This need an in-depth review, as there is something strange, I had to
set LIBRARY_PATH to overcome gcc/ld not finding crt{i,1}.o
I found the following bug:
https://issues.guix.gnu.org/issue/32131
that met a similar issue...
Please advise how to proceed further.
--
Vincent Legoll
[0001-gnu-Add-traceroute.patch (text/x-patch, attachment)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#39961
; Package
guix-patches
.
(Sat, 07 Mar 2020 01:29:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 39961 <at> debbugs.gnu.org (full text, mbox):
tracerouted OK to 9.9.9.9
--
Vincent Legoll
Information forwarded
to
guix-patches <at> gnu.org
:
bug#39961
; Package
guix-patches
.
(Sat, 07 Mar 2020 11:07:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 39961 <at> debbugs.gnu.org (full text, mbox):
I've since seen a few other issues on the same subject, but cannot
find a way to get it work without setting LIBRARY_PATH...
I tried guix environment --ad-hoc gcc-toolchain, adding the missed
GUIX_PROFILE to .bash_profile, etc.
--
Vincent Legoll
Information forwarded
to
guix-patches <at> gnu.org
:
bug#39961
; Package
guix-patches
.
(Sat, 07 Mar 2020 11:09:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 39961 <at> debbugs.gnu.org (full text, mbox):
I am running all this through ssh into a VM, so I also tried to run
with bash -l...
This is probably misconfiguration on my end...
--
Vincent Legoll
Information forwarded
to
guix-patches <at> gnu.org
:
bug#39961
; Package
guix-patches
.
(Sat, 07 Mar 2020 13:10:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 39961 <at> debbugs.gnu.org (full text, mbox):
On Sat, Mar 07, 2020 at 12:13:18AM +0100, Vincent Legoll wrote:
> + (uri (string-append "mirror://sourceforge/traceroute/traceroute/"
> + "traceroute-" version "/traceroute-" version ".tar.gz"))
How does this compare to the traceroute provided by the inetutils
package?
Information forwarded
to
guix-patches <at> gnu.org
:
bug#39961
; Package
guix-patches
.
(Sat, 07 Mar 2020 13:25:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 39961 <at> debbugs.gnu.org (full text, mbox):
On Sat, Mar 7, 2020 at 2:09 PM Leo Famulari <leo <at> famulari.name> wrote:
> How does this compare to the traceroute provided by the inetutils
> package?
It looks like this one does not need special permissions to run:
guest <at> guixsd ~/dev/repo/guix [env]$
/gnu/store/3h3h9qr14l7m1cwxi9598jzc3qd5pzaf-traceroute-2.1.0/bin/traceroute
-n 9.9.9.9
traceroute to 9.9.9.9 (9.9.9.9), 30 hops max, 60 byte packets
[...]
7 212.27.56.30 45.227 ms 41.741 ms 41.734 ms
8 212.27.56.38 48.909 ms 49.304 ms 48.599 ms
9 212.27.56.41 55.846 ms 50.545 ms 51.603 ms
10 195.66.225.238 54.105 ms 51.924 ms 56.401 ms
11 9.9.9.9 54.743 ms !X 50.748 ms !X 52.979 ms !X
guest <at> guixsd ~/dev/repo/guix [env]$
/gnu/store/ljwvyw48n2j28q0w96qykr04wcgwzcnh-inetutils-1.9.4/bin/traceroute
9.9.9.9
traceroute to 9.9.9.9 (9.9.9.9), 64 hops max
/gnu/store/ljwvyw48n2j28q0w96qykr04wcgwzcnh-inetutils-1.9.4/bin/traceroute:
socket: Operation not permitted
guest <at> guixsd ~/dev/repo/guix [env]$ sudo
/gnu/store/ljwvyw48n2j28q0w96qykr04wcgwzcnh-inetutils-1.9.4/bin/traceroute
9.9.9.9
traceroute to 9.9.9.9 (9.9.9.9), 64 hops max
[...]
7 212.27.56.30 51.092ms 38.423ms 34.532ms
8 212.27.56.38 44.764ms 41.931ms 44.963ms
9 212.27.56.41 55.887ms 50.083ms 49.295ms
10 195.66.225.238 51.184ms 62.666ms 57.945ms
11 9.9.9.9 48.800ms !* 48.870ms !* 61.399ms !*
guest <at> guixsd ~/dev/repo/guix [env]$ ls -lh
/gnu/store/3h3h9qr14l7m1cwxi9598jzc3qd5pzaf-traceroute-2.1.0/bin/traceroute
/gnu/store/ljwvyw48n2j28q0w96qykr04wcgwzcnh-inetutils-1.9.4/bin/traceroute
-r-xr-xr-x 8 root root 85K Jan 1 1970
/gnu/store/3h3h9qr14l7m1cwxi9598jzc3qd5pzaf-traceroute-2.1.0/bin/traceroute
-r-xr-xr-x 2 root root 70K Jan 1 1970
/gnu/store/ljwvyw48n2j28q0w96qykr04wcgwzcnh-inetutils-1.9.4/bin/traceroute
--
Vincent Legoll
Information forwarded
to
guix-patches <at> gnu.org
:
bug#39961
; Package
guix-patches
.
(Mon, 28 Dec 2020 14:47:01 GMT)
Full text and
rfc822 format available.
Message #23 received at 39961 <at> debbugs.gnu.org (full text, mbox):
ping ?
Anything I should add ?
--
Vincent Legoll
Information forwarded
to
guix-patches <at> gnu.org
:
bug#39961
; Package
guix-patches
.
(Fri, 01 Jan 2021 12:09:01 GMT)
Full text and
rfc822 format available.
Message #26 received at 39961 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Vincent Legoll <vincent.legoll <at> gmail.com> writes:
> ping ?
>
> Anything I should add ?
This traceroute implementation looks to be particularly difficult to
build, just searching the web for some of the errors brings up other
people having problems with it (like [1]).
1: https://patchwork.ozlabs.org/project/buildroot/patch/1539902241-10211-1-git-send-email-sergio.prado <at> e-labworks.com/
Some comments though, I'd suggest transforming what you're doing with
make flags from modifying the phases to adding to the #:make-flags
argument, so something like this:
#:make-flags
(list (string-append "LIBRARY_PATH="
(assoc-ref %build-inputs "libc")
"/lib")
(string-append "CFLAGS=-I"
(assoc-ref %build-inputs "kernel-headers")
"/include")
"LDFLAGS=-lm -L../libsupp"
(string-append "prefix=" (assoc-ref %outputs "out")))
What I've also done here is used the %build-inputs alist, which includes
the implicit libc and kernel-headers inputs, so you can remove those
inputs from the package definition.
As for the -lm issue with the Makefile, that's pretty frustrating. The
best thing I could come up with is something like this:
(substitute* "default.rules"
((" \\$\\(LIBDEPS\\)") "$(filter-out -l%,$(LIBDEPS))"))
That has the advantage of still passing the -lm flag to gcc, and just
avoiding make tripping up over it.
Finally, I think the license might be gpl2+, with lgpl2.1+ for libsupp,
so it would be good to list both of those, with a comment describing
what the lgpl license applies to.
Could you send an updated patch?
Thanks,
Chris
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#39961
; Package
guix-patches
.
(Mon, 11 Jan 2021 16:32:02 GMT)
Full text and
rfc822 format available.
Message #29 received at 39961 <at> debbugs.gnu.org (full text, mbox):
Hello,
following this is an updated patch, with
Christopher's feddback applied.
The nice thing is it now builds properly
without the LIBRABRY_PATH and the other
hacks. The licenses should be also good
now.
Is this OK ?
--
Vincent Legoll
Information forwarded
to
guix-patches <at> gnu.org
:
bug#39961
; Package
guix-patches
.
(Mon, 11 Jan 2021 16:32:02 GMT)
Full text and
rfc822 format available.
Message #32 received at 39961 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/networking.scm (traceroute): New variable.
---
gnu/packages/networking.scm | 45 +++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 83a99ded72..5055cf399d 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -3680,6 +3680,51 @@ simulation, and a number of other applications.")
network. This must be enabled on the target host, usually in the BIOS.")
(license license:gpl2)))
+(define-public traceroute
+ (package
+ (name "traceroute")
+ (version "2.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/traceroute/traceroute/"
+ "traceroute-" version "/traceroute-" version ".tar.gz"))
+ (sha256
+ (base32 "1dh32vcfawkl1p9g4ral1p0camds4paqr8db1kaqxwyk6hmd4s9n"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; No tests.
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-make
+ (lambda _
+ (substitute* "Make.rules"
+ ((" -lm ") " "))
+ #t))
+ (replace 'build
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((libglibc (assoc-ref inputs "glibc"))
+ (headers (assoc-ref inputs "linux-libre-headers")))
+ (invoke "make" "LDFLAGS=-lm -L../libsupp"
+ (string-append "LIBRARY_PATH=" libglibc "/lib")
+ (string-append "CFLAGS=-I" headers "/include")))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (invoke "make" (string-append "prefix=" out) "install"))))
+ (delete 'bootstrap) ;there is no configure.ac file
+ (delete 'configure)))) ;there is no configure script
+ (native-inputs
+ `(("glibc" ,glibc)
+ ("linux-libre-headers" ,linux-libre-headers)))
+ (home-page "http://traceroute.sourceforge.net/")
+ (synopsis "Tracks the route taken by packets over an IP network")
+ (description "Traceroute tracks the route packets taken from an IP network
+on their way to a given host. It utilizes the IP protocol's time to live (TTL)
+field and attempts to elicit an ICMP TIME_EXCEEDED response from each gateway
+along the path to the host.")
+ (license license:gpl2)))
+
(define-public vde2
(package
(name "vde2")
--
2.30.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#39961
; Package
guix-patches
.
(Mon, 11 Jan 2021 16:33:02 GMT)
Full text and
rfc822 format available.
Message #35 received at 39961 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/networking.scm (traceroute): New variable.
---
gnu/packages/networking.scm | 39 +++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 83a99ded72..4c3faaa578 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -3680,6 +3680,45 @@ simulation, and a number of other applications.")
network. This must be enabled on the target host, usually in the BIOS.")
(license license:gpl2)))
+(define-public traceroute
+ (package
+ (name "traceroute")
+ (version "2.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/traceroute/traceroute/"
+ "traceroute-" version "/traceroute-" version ".tar.gz"))
+ (sha256
+ (base32 "1dh32vcfawkl1p9g4ral1p0camds4paqr8db1kaqxwyk6hmd4s9n"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; No tests.
+ #:make-flags
+ (list (string-append "LIBRARY_PATH="
+ (assoc-ref %build-inputs "libc") "/lib")
+ (string-append "CFLAGS=-I"
+ (assoc-ref %build-inputs "kernel-headers") "/include")
+ "LDFLAGS=-lm -L../libsupp"
+ (string-append "prefix=" (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-make
+ (lambda _
+ (substitute* "default.rules"
+ ((" \\$\\(LIBDEPS\\)") "$(filter-out -l%,$(LIBDEPS))"))
+ #t))
+ (delete 'bootstrap) ; there is no configure.ac file
+ (delete 'configure)))) ; there is no configure script
+ (home-page "http://traceroute.sourceforge.net/")
+ (synopsis "Tracks the route taken by packets over an IP network")
+ (description "Traceroute tracks the route packets taken from an IP network
+on their way to a given host. It utilizes the IP protocol's time to live (TTL)
+field and attempts to elicit an ICMP TIME_EXCEEDED response from each gateway
+along the path to the host.")
+ (license '(license:gpl2+
+ license:lgpl2.1+)))) ; for the libsupp subdirectory
+
(define-public vde2
(package
(name "vde2")
--
2.30.0
Reply sent
to
Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
:
You have taken responsibility.
(Wed, 14 Jul 2021 03:16:01 GMT)
Full text and
rfc822 format available.
Notification sent
to
Vincent Legoll <vincent.legoll <at> gmail.com>
:
bug acknowledged by developer.
(Wed, 14 Jul 2021 03:16:01 GMT)
Full text and
rfc822 format available.
Message #40 received at 39961-done <at> debbugs.gnu.org (full text, mbox):
Hello,
Vincent Legoll <vincent.legoll <at> gmail.com> writes:
> * gnu/packages/networking.scm (traceroute): New variable.
> ---
> gnu/packages/networking.scm | 39 +++++++++++++++++++++++++++++++++++++
> 1 file changed, 39 insertions(+)
>
> diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
> index 83a99ded72..4c3faaa578 100644
> --- a/gnu/packages/networking.scm
> +++ b/gnu/packages/networking.scm
> @@ -3680,6 +3680,45 @@ simulation, and a number of other applications.")
> network. This must be enabled on the target host, usually in the BIOS.")
> (license license:gpl2)))
>
> +(define-public traceroute
> + (package
> + (name "traceroute")
> + (version "2.1.0")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (string-append "mirror://sourceforge/traceroute/traceroute/"
> + "traceroute-" version "/traceroute-" version ".tar.gz"))
> + (sha256
> + (base32 "1dh32vcfawkl1p9g4ral1p0camds4paqr8db1kaqxwyk6hmd4s9n"))))
> + (build-system gnu-build-system)
> + (arguments
> + `(#:tests? #f ; No tests.
> + #:make-flags
> + (list (string-append "LIBRARY_PATH="
> + (assoc-ref %build-inputs "libc") "/lib")
> + (string-append "CFLAGS=-I"
> + (assoc-ref %build-inputs "kernel-headers") "/include")
> + "LDFLAGS=-lm -L../libsupp"
> + (string-append "prefix=" (assoc-ref %outputs "out")))
> + #:phases
> + (modify-phases %standard-phases
> + (add-after 'unpack 'patch-make
> + (lambda _
> + (substitute* "default.rules"
> + ((" \\$\\(LIBDEPS\\)") "$(filter-out -l%,$(LIBDEPS))"))
> + #t))
> + (delete 'bootstrap) ; there is no configure.ac file
> + (delete 'configure)))) ; there is no configure script
> + (home-page "http://traceroute.sourceforge.net/")
> + (synopsis "Tracks the route taken by packets over an IP network")
> + (description "Traceroute tracks the route packets taken from an IP network
> +on their way to a given host. It utilizes the IP protocol's time to live (TTL)
> +field and attempts to elicit an ICMP TIME_EXCEEDED response from each gateway
> +along the path to the host.")
> + (license '(license:gpl2+
> + license:lgpl2.1+)))) ; for the libsupp subdirectory
> +
> (define-public vde2
> (package
> (name "vde2")
I edited it to expound the description someone and for cosmetic reasons
(fitting in the 80 chars limit for example), like so:
--8<---------------cut here---------------start------------->8---
1 file changed, 18 insertions(+), 14 deletions(-)
gnu/packages/networking.scm | 32 ++++++++++++++++++--------------
modified gnu/packages/networking.scm
@@ -3796,17 +3796,19 @@ network. This must be enabled on the target host, usually in the BIOS.")
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/traceroute/traceroute/"
- "traceroute-" version "/traceroute-" version ".tar.gz"))
+ "traceroute-" version "/traceroute-"
+ version ".tar.gz"))
(sha256
(base32 "1dh32vcfawkl1p9g4ral1p0camds4paqr8db1kaqxwyk6hmd4s9n"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; No tests.
+ `(#:tests? #f ;no test suite
#:make-flags
(list (string-append "LIBRARY_PATH="
- (assoc-ref %build-inputs "libc") "/lib")
+ (assoc-ref %build-inputs "libc") "/lib")
(string-append "CFLAGS=-I"
- (assoc-ref %build-inputs "kernel-headers") "/include")
+ (assoc-ref %build-inputs "kernel-headers")
+ "/include")
"LDFLAGS=-lm -L../libsupp"
(string-append "prefix=" (assoc-ref %outputs "out")))
#:phases
@@ -3814,18 +3816,20 @@ network. This must be enabled on the target host, usually in the BIOS.")
(add-after 'unpack 'patch-make
(lambda _
(substitute* "default.rules"
- ((" \\$\\(LIBDEPS\\)") "$(filter-out -l%,$(LIBDEPS))"))
- #t))
- (delete 'bootstrap) ; there is no configure.ac file
- (delete 'configure)))) ; there is no configure script
+ ((" \\$\\(LIBDEPS\\)") "$(filter-out -l%,$(LIBDEPS))"))))
+ (delete 'bootstrap) ;no configure.ac file
+ (delete 'configure)))) ;no configure script
(home-page "http://traceroute.sourceforge.net/")
(synopsis "Tracks the route taken by packets over an IP network")
- (description "Traceroute tracks the route packets taken from an IP network
-on their way to a given host. It utilizes the IP protocol's time to live (TTL)
-field and attempts to elicit an ICMP TIME_EXCEEDED response from each gateway
-along the path to the host.")
- (license '(license:gpl2+
- license:lgpl2.1+)))) ; for the libsupp subdirectory
+ (description "This package provides a modern, but Linux-specific
+implementation of the @command{traceroute} command that can be used to follow
+the route taken by packets on an IP network on their way to a given host. It
+utilizes the IP protocol's time to live (TTL) field and attempts to elicit an
+ICMP TIME_EXCEEDED response from each gateway along the path to the host.
+Compared to other implementations, this @command{traceroute} command allows
+some traces for unprivileged users.")
+ (license (list license:gpl2+
+ license:lgpl2.1+)))) ;for the libsupp subdirectory
(define-public vde2
(package
--8<---------------cut here---------------end--------------->8---
And pushed as 59e97a67ba.
Thank you!
Closing.
Maxim
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Wed, 11 Aug 2021 11:24:11 GMT)
Full text and
rfc822 format available.
This bug report was last modified 4 years and 7 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.