Commit Graph

952 Commits

Author SHA1 Message Date
Guy Rozendorn
17b69ada6f python: Issue #13 skipping building extensions on non-Linux platforms 2014-03-25 00:34:16 -03:00
Andy Grover
e4a57f6828 python: Make kmod.modprobe() raise an error if no modules found
Add 'quiet' option to override.

Add docstring.
2014-03-25 00:34:16 -03:00
Andy Grover
891e0756e7 python: Add self as maintainer to setup.py 2014-03-25 00:34:16 -03:00
Andy Grover
8e73a86d6e python: Correct building for python 2.6
Reported-by: Oz Nahum Tiram <nahumoz@gmail.com>
2014-03-25 00:34:16 -03:00
Oz
f0d6f3701a python: add docstring to insert and remove methods 2014-03-25 00:34:16 -03:00
Oz
240c0f4694 python: add docstring to rmmod 2014-03-25 00:34:16 -03:00
Andy Grover
b32900f4e8 python: update version to 0.9 2014-03-25 00:34:16 -03:00
Andy Grover
9ebfb9c198 python: Update README
Last update changed API slightly:
* loaded_modules renamed to modules
* returns a module object instead of (name, size)
2014-03-25 00:34:16 -03:00
W. Trevor King
26105c168f python: MANIFEST.in: add AUTHORS to distibuted source files. 2014-03-25 00:34:16 -03:00
W. Trevor King
c8b5c51ed6 python: Ran update-copyright.py. 2014-03-25 00:34:16 -03:00
W. Trevor King
64f9a6a630 python: .update-copyright.conf: update to pipe separators.
This brings the config file up to speed with the following
update-copyright commit:

  commit 3c68a1a48419d8b2bbc2ce0e7f1700b996ec30e9
  Author: W. Trevor King <wking@tremily.us>
  Date:   Fri Oct 19 21:52:48 2012 -0400

    project: for consistency, also separate ignored paths with pipes.
2014-03-25 00:34:16 -03:00
W. Trevor King
8e8e24bcbd python: .update-copyright.conf: add MANIFEST.in to ignored files. 2014-03-25 00:34:16 -03:00
W. Trevor King
ac24814360 python: .update-copyright.conf: add Red Hat alias for Andy Grover.
He seems to be assigning copyright of files he writes to Red Hat.
Avoiding .mailmap so the git log will still attribute changes to him.
I'm not sure which name should go in the AUTHORS file.
2014-03-25 00:34:16 -03:00
W. Trevor King
5a39a9d988 python: .update-copyright.conf: add README.rst to ignored files. 2014-03-25 00:34:16 -03:00
W. Trevor King
3c65e333f7 python: .mailmap: consolidate Andy Grover email addresses. 2014-03-25 00:34:15 -03:00
W. Trevor King
6745a4a7da python: .update-copyright.conf: add copyright configuration.
Use my external update-copyright package to maintain copyright blurbs.

http://pypi.python.org/pypi/update-copyright/
2014-03-25 00:34:15 -03:00
W. Trevor King
0a2fab2b32 python: module: fix versions -> info typo in Module._info_get() error message. 2014-03-25 00:34:15 -03:00
W. Trevor King
d9c0c63eb7 python: Initialize Kmod.mod_dir to None in __cinit__(). 2014-03-25 00:34:15 -03:00
W. Trevor King
caee9c10c5 python: Use an OrderedDict for Module.info (preserving modinfo ordering). 2014-03-25 00:34:15 -03:00
W. Trevor King
81c1a4e840 python: Add Module.info attribute. 2014-03-25 00:34:15 -03:00
W. Trevor King
e0ff45a048 python: Use Cython's libc.errno for EEXIST. 2014-03-25 00:34:15 -03:00
W. Trevor King
0dd3047efb python: Add Module.versions attribute. 2014-03-25 00:34:15 -03:00
W. Trevor King
76d34f40e1 python: README.rst: add .rst symlink for GitHub. 2014-03-25 00:34:15 -03:00
W. Trevor King
161576d420 python: README: mention Cython dependency. 2014-03-25 00:34:15 -03:00
W. Trevor King
028fc127b6 python: README: cleanup reStructuredText syntax. 2014-03-25 00:34:15 -03:00
W. Trevor King
075f4ea0e2 python: Add missing copyright blurbs. 2014-03-25 00:34:15 -03:00
W. Trevor King
c737198936 python: Add docstrings to kmod.kmod and kmod.kmod.Kmod. 2014-03-25 00:34:15 -03:00
W. Trevor King
3cc8a66078 python: MANIFEST.in: add missing source to the sdist tarball. 2014-03-25 00:34:15 -03:00
W. Trevor King
113b46bc1e python: Add additional out Module attributes (path, refcnt, ...). 2014-03-25 00:34:15 -03:00
W. Trevor King
f7c62154ec python: Convert to Cython.
With Cython we get easier memory handling and Python 3 compatibility.
2014-03-25 00:34:15 -03:00
Andy Grover
cd4df5accd python: update FSF address in COPYING and COPYING.LESSER
Please FSF, never move again.
2014-03-25 00:34:15 -03:00
Andy Grover
6cdc22b36b python: whitespace 2014-03-25 00:34:15 -03:00
Andy Grover
705187f17b python: add proper error handling to loaded_modules()
We need to check the result of basically all Py* calls and cleanup
properly if they fail.
2014-03-25 00:34:14 -03:00
Andy Grover
31aa6834ba python: Improve README's description of kmod
Based on text from kmod's README.
2014-03-25 00:34:14 -03:00
Andy Grover
c73ffc51e5 python: Make setup.py version match version in .c 2014-03-25 00:34:14 -03:00
Andy Grover
3aa27ba988 python: Add README 2014-03-25 00:34:14 -03:00
Andy Grover
8a4d09336e python: More cleanup and renaming of stuff. Add docstrings. 2014-03-25 00:34:14 -03:00
Andy Grover
1e688f86a7 python: Add support for listing loaded modules, modprobe, rmmod
And other misc. cleanups and changes.
2014-03-25 00:34:14 -03:00
Andy Grover
d2042ca0c7 python: use c99 init for struct init
move casts of pyobject -> kmodobject to the functions from the struct
init.
2014-03-25 00:34:14 -03:00
Andy Grover
a942131e7b python: a skeleton that compiles 2014-03-25 00:34:14 -03:00
Andy Grover
cc688e6722 python: initial checkin 2014-03-25 00:34:14 -03:00
Lucas De Marchi
db62153ea0 build-sys: try harder to shut up compiler wrt strict-aliasing
With -Wstrict-aliasing=2 we get the following warning:

	libkmod/libkmod-signature.c:124:20: note: in expansion of macro 'get_unaligned'
	  sig_len = be32toh(get_unaligned(&modsig->sig_len));

However there's nothing wrong with it. modsig->sig_len is uint32_t and
get_unaligned in this case returns uint32_t. There's notstrict aliasing
violation.
2014-03-24 23:50:24 -03:00
Lucas De Marchi
f87dc57a71 libkmod: Fix unaligned access
From Jan Engelhardt:

	Program received signal SIGBUS, Bus error.
	[Switching to process 11100]
	0x00035278 in kmod_module_signature_info (file=0x4eeb8, sig_info=0xffffc254)
	    at libkmod/libkmod-signature.c:124
	124             sig_len = be32toh(modsig->sig_len);
	(gdb) p modsig
	$1 = (const struct module_signature *) 0xf7dfe143

modsig->sig_len can be unaligned if modsig is unaligned, so the padding
in the struct has no effect since we are mapping it to the mem buffer.
2014-03-24 23:47:31 -03:00
Lucas De Marchi
6d59d9d086 build-sys: Remove -Werror from CFLAGS
Just let the warnings be emmited, but don't fail on them.
2014-03-24 14:54:01 -03:00
Lucas De Marchi
aa72284f83 build-sys: Remove bogus line causing warning
./configure: line 14316: xyes: command not found

We are not using have_manpages, so remove it.
2014-03-24 14:53:56 -03:00
Lucas De Marchi
ad7f1757c0 Add test for depmod using search dirs with same prefix
Test depmod with search dirs "foo" and "foobar". Previously to 49b33c1
("depmod: do not allow partial matches with "search" directive") we were
failing this test due to matching the prefix without checking if
it's the full dir name.

We are adding 2 tests here in order to catch the case we only pass the
test due to processing the directories in a favourable order.
2014-03-19 09:22:20 -03:00
Anssi Hannula
49b33c1f21 depmod: do not allow partial matches with "search" directive
Currently e.g. "search foo foobar built-in" will cause unpredictable
results if baz.ko is in both foo/ and foobar/, since "foo" in search may
match both of those directories and the preferred module therefore
depends on processing order.

Fix the code to ensure that the match is performed on full pathname
components only.
2014-03-19 09:18:39 -03:00
Lucas De Marchi
aa0abec721 Add test for simple search order in depmod 2014-03-19 08:52:33 -03:00
Anssi Hannula
27881f6fbc depmod: fix debug print parameter order 2014-03-19 07:04:24 -03:00
Lucas De Marchi
fea655dcb3 libkmod-elf: Fix check by class in get_modversions()
Commit 51c409b ("Cache the offset of crc") unintentinally changed the
comparison "if (elf->class & KMOD_ELF_32)" to
"if (elf->class == KMOD_ELF_32)".

This has been reported by Serge Voilokov <serge0x76@gmail.com>:

	On Raspberry PI elf->class equals KMOD_ELF_32|KMOD_ELF_LSB so
	valid condition should be (elf->class & KMOD_ELF_32) instead of
	(elf->class == KMOD_ELF_32).

This fixes "modprobe --dump-modversions" failing on 32b systems.
2014-03-07 01:24:39 -03:00