Package Base Details: python2-ethtool

Git Clone URL: https://aur.archlinux.org/python2-ethtool.git (read-only)
Submitter: JonnyJD
Maintainer: jhernberg
Last Packager: JonnyJD
Votes: 6
Popularity: 0.277287
First Submitted: 2012-02-25 00:02
Last Updated: 2017-02-04 10:44

Latest Comments

jhernberg commented on 2017-04-26 11:35

I think so, haven't tried yet. And yes it was tuna I was referring to.

blackhole commented on 2017-04-26 10:34

So Tuna would work fine with python-ethtool?

jhernberg commented on 2017-04-26 10:04

@blackhole: working on it :) The problem is that Fedora has closed the fedorahosted.org project which the tarball is downloaded from, and the tarball downloaded is invalid. Have found an up to date version of the project on github, and have a working script.

Still have to figure out what to do about the split build, dependencies. replaces, etc, and I suppose test the results too.

Don't really have time right now, but will get to it. The reason I picked up maintainer ship is that it's a dependency for something else I'm packaging.

Actually, is there any need at all for a python2 version? Think I'm going to get rid of that and just do python-ethtool..

blackhole commented on 2017-04-24 22:14

I have 2 errors
1) Validating source files with sha256sums...
python-ethtool-0.12.tar.bz2 ... FAILED
2) /media/linux/Downloads/Temp/python/python2-ethtool/PKGBUILD: line 23: cd: /media/linux/Downloads/Temp/python/python2-ethtool/src/python-ethtool-0.12: No such file or directory

JonnyJD commented on 2017-02-04 10:52

Not sure what you mean wih 'create a second package that offers python 3 support called "python-ethtool" instead'.
This is what this split build does.

However, I did forget to remove the binaries from the python2 package. -> should be fixed.

Please note that python-ethtool is the main package now (Python 3 is the default on Arch) and python2-ethtool doesn't include any binaries (anymore).
So you should upgrade (or remove) python2-ethtool first and only then install python-ethtool.

I did not add any replaces, as this does not fully apply. The python 2 module is not replaced by python-ethtools, only the binaries (pethtool) are.
Not sure how much these are used at all.

dvzrv commented on 2017-02-04 10:16

@JonnyJD: If you want to make {python2,python}-ethtool installable properly with this PKGBUILD, please make sure, that there are no conflicting files!

Currently this happens, when trying to use your PKGBUILD:
error: failed to commit transaction (conflicting files)
/usr/bin/pethtool exists in both 'python-ethtool' and 'python2-ethtool'
/usr/bin/pifconfig exists in both 'python-ethtool' and 'python2-ethtool'

The preferred way would be to create a second package that offers python 3 support, called python-ethtool instead.
Having two packages in one PKGBUILD with conflicting files and no "replaces" or "conflicts" dependencies set, although there obviously are some, is bad packaging style! ;-)

JonnyJD commented on 2015-10-21 10:59

Sorry, that comment a week ago must have been made when the Arch mail server had problems. I never received a mail about it.

Anyways, I fixed it with a condensed but commented patch:
https://aur.archlinux.org/cgit/aur.git/tree/libnl3.2.26_net_if.patch?h=python2-ethtool
See https://github.com/thom311/libnl/pull/73 for what happened.
short: libnl 3.2.26 broke the build.

All users compiling python2-ethtools 0.11-2 have to upgrade to libnl 3.2.26. If you don't want to, then use the previous build (found in the git repo of this package).

billyburly commented on 2015-10-21 00:52

Got it working based on some info from https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=797250

Here's a copy of the PKGBUILD I used: http://pastebin.com/Z8aDhYLs

RemoteAdmin commented on 2015-10-13 19:08

Compiling fails with multiple errors at:
gcc -pthread -DNDEBUG -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -D_FORTIFY_SOURCE=2 -fPIC -DVERSION="0.11" -I/usr/include/libnl3 -I/usr/include/python2.7 -c python-ethtool/ethtool.c -o build/temp.linux-x86_64-2.7/python-ethtool/ethtool.o

python-ethtool/ethtool.c: In function ‘get_active_devices’:
python-ethtool/ethtool.c:65:61: error: ‘IFF_UP’ undeclared (first use in this function)
if (!PySequence_Contains(list, str) && (ifa->ifa_flags & (IFF_UP))) {
^
python-ethtool/ethtool.c:65:61: note: each undeclared identifier is reported only once for each function it appears in
python-ethtool/ethtool.c: In function ‘get_hwaddress’:
python-ethtool/ethtool.c:117:15: error: storage size of ‘ifr’ isn’t known
struct ifreq ifr;
^
python-ethtool/ethtool.c: In function ‘get_ipaddress’:
python-ethtool/ethtool.c:159:15: error: storage size of ‘ifr’ isn’t known
struct ifreq ifr;
^
python-ethtool/ethtool.c: In function ‘get_flags’:
python-ethtool/ethtool.c:286:15: error: storage size of ‘ifr’ isn’t known
struct ifreq ifr;
^
python-ethtool/ethtool.c: In function ‘get_netmask’:
python-ethtool/ethtool.c:318:15: error: storage size of ‘ifr’ isn’t known
struct ifreq ifr;
^
python-ethtool/ethtool.c: In function ‘get_broadcast’:
python-ethtool/ethtool.c:358:15: error: storage size of ‘ifr’ isn’t known
struct ifreq ifr;
^
python-ethtool/ethtool.c: In function ‘get_module’:
python-ethtool/ethtool.c:399:15: error: storage size of ‘ifr’ isn’t known
struct ifreq ifr;
^
python-ethtool/ethtool.c: In function ‘get_businfo’:
python-ethtool/ethtool.c:469:15: error: storage size of ‘ifr’ isn’t known
struct ifreq ifr;
^
python-ethtool/ethtool.c: In function ‘send_command’:
python-ethtool/ethtool.c:509:15: error: storage size of ‘ifr’ isn’t known
struct ifreq ifr;
^
python-ethtool/ethtool.c: In function ‘initethtool’:
python-ethtool/ethtool.c:916:39: error: ‘IFF_UP’ undeclared (first use in this function)
PyModule_AddIntConstant(m, "IFF_UP", IFF_UP); /* Interface is up. */
^
python-ethtool/ethtool.c:917:46: error: ‘IFF_BROADCAST’ undeclared (first use in this function)
PyModule_AddIntConstant(m, "IFF_BROADCAST", IFF_BROADCAST); /* Broadcast address valid. */
^
python-ethtool/ethtool.c:918:42: error: ‘IFF_DEBUG’ undeclared (first use in this function)
PyModule_AddIntConstant(m, "IFF_DEBUG", IFF_DEBUG); /* Turn on debugging. */
^
python-ethtool/ethtool.c:919:45: error: ‘IFF_LOOPBACK’ undeclared (first use in this function)
PyModule_AddIntConstant(m, "IFF_LOOPBACK", IFF_LOOPBACK); /* Is a loopback net */
^
python-ethtool/ethtool.c:920:48: error: ‘IFF_POINTOPOINT’ undeclared (first use in this function)
PyModule_AddIntConstant(m, "IFF_POINTOPOINT", IFF_POINTOPOINT); /* Is a point-to-point link */
^
python-ethtool/ethtool.c:921:47: error: ‘IFF_NOTRAILERS’ undeclared (first use in this function)
PyModule_AddIntConstant(m, "IFF_NOTRAILERS", IFF_NOTRAILERS); /* Avoid use of trailers */
^
python-ethtool/ethtool.c:922:44: error: ‘IFF_RUNNING’ undeclared (first use in this function)
PyModule_AddIntConstant(m, "IFF_RUNNING", IFF_RUNNING); /* Resources allocated */
^
python-ethtool/ethtool.c:923:42: error: ‘IFF_NOARP’ undeclared (first use in this function)
PyModule_AddIntConstant(m, "IFF_NOARP", IFF_NOARP); /* No address resolution protocol. */
^
python-ethtool/ethtool.c:924:44: error: ‘IFF_PROMISC’ undeclared (first use in this function)
PyModule_AddIntConstant(m, "IFF_PROMISC", IFF_PROMISC); /* Receive all packets. */
^
python-ethtool/ethtool.c:925:45: error: ‘IFF_ALLMULTI’ undeclared (first use in this function)
PyModule_AddIntConstant(m, "IFF_ALLMULTI", IFF_ALLMULTI); /* Receive all multicast packets. */
^
python-ethtool/ethtool.c:926:43: error: ‘IFF_MASTER’ undeclared (first use in this function)
PyModule_AddIntConstant(m, "IFF_MASTER", IFF_MASTER); /* Master of a load balancer. */
^
python-ethtool/ethtool.c:927:42: error: ‘IFF_SLAVE’ undeclared (first use in this function)
PyModule_AddIntConstant(m, "IFF_SLAVE", IFF_SLAVE); /* Slave of a load balancer. */
^
python-ethtool/ethtool.c:928:46: error: ‘IFF_MULTICAST’ undeclared (first use in this function)
PyModule_AddIntConstant(m, "IFF_MULTICAST", IFF_MULTICAST); /* Supports multicast. */
^
python-ethtool/ethtool.c:929:44: error: ‘IFF_PORTSEL’ undeclared (first use in this function)
PyModule_AddIntConstant(m, "IFF_PORTSEL", IFF_PORTSEL); /* Can set media type. */
^
python-ethtool/ethtool.c:930:46: error: ‘IFF_AUTOMEDIA’ undeclared (first use in this function)
PyModule_AddIntConstant(m, "IFF_AUTOMEDIA", IFF_AUTOMEDIA); /* Auto media select active. */