Hello community, here is the log from the commit of package kmod for openSUSE:Factory checked in at 2015-11-18 22:31:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kmod (Old) and /work/SRC/openSUSE:Factory/.kmod.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kmod" Changes: -------- --- /work/SRC/openSUSE:Factory/kmod/kmod-testsuite.changes 2015-04-27 22:07:48.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.kmod.new/kmod-testsuite.changes 2015-11-18 22:31:31.000000000 +0100 @@ -1,0 +2,13 @@ +Sat Nov 7 10:40:29 UTC 2015 - [email protected] + +- Update to new upstream release 21 +* Cache built modules so it is easier to run "make check" on + build servers by distro maintainers. If kmod is configured with + --disable-test-modules, the modules from cache will be used by + "make check". No changes to the tests are needed and all of + them can run fine. +- Specify KDIR explicitly to resolve build failure with `osc build` + (because kmod uses `uname -r` and the kernel versions need not + match between build env and local host) + +------------------------------------------------------------------- --- /work/SRC/openSUSE:Factory/kmod/kmod.changes 2015-04-27 22:07:48.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.kmod.new/kmod.changes 2015-11-18 22:31:32.000000000 +0100 @@ -1,0 +2,7 @@ +Sat Nov 7 10:29:54 UTC 2015 - [email protected] + +- Update to new upstream release 21 +* The kmod tool now prints the relevant configuration options it was built + with when the "--version" argument is passed. + +------------------------------------------------------------------- Old: ---- kmod-20.tar.sign kmod-20.tar.xz New: ---- kmod-21.tar.sign kmod-21.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kmod-testsuite.spec ++++++ --- /var/tmp/diff_new_pack.Rnpego/_old 2015-11-18 22:31:33.000000000 +0100 +++ /var/tmp/diff_new_pack.Rnpego/_new 2015-11-18 22:31:33.000000000 +0100 @@ -18,7 +18,7 @@ Name: kmod-testsuite %define lname libkmod2 -Version: 20 +Version: 21 Release: 0 Summary: Testsuite of the kmod package License: LGPL-2.1+ and GPL-2.0+ @@ -52,6 +52,7 @@ BuildRequires: pkgconfig(zlib) %endif Requires: suse-module-tools +%define kdir /usr/src/linux-obj/%_target_cpu/default %description This spec file does not produce any binary RPMs. It just builds kmod and @@ -76,12 +77,12 @@ --includedir="%_includedir/kmod" \ --with-rootlibdir="%_libdir" \ --bindir="%_bindir" -make %{?_smp_mflags} V=1 +make %{?_smp_mflags} V=1 KDIR="%kdir" %install # empty %check -make check V=1 +make check V=1 KDIR="%kdir" %changelog ++++++ kmod.spec ++++++ --- /var/tmp/diff_new_pack.Rnpego/_old 2015-11-18 22:31:33.000000000 +0100 +++ /var/tmp/diff_new_pack.Rnpego/_new 2015-11-18 22:31:33.000000000 +0100 @@ -18,7 +18,7 @@ Name: kmod %define lname libkmod2 -Version: 20 +Version: 21 Release: 0 Summary: Utilities to load modules into the kernel License: LGPL-2.1+ and GPL-2.0+ @@ -152,7 +152,7 @@ ln -s "%_bindir/kmod" "$b/bin/"; %if "%_libdir" != "/%_lib" ln -s "%_libdir/libkmod.so.2" "$b/%_lib/"; -ln -s "%_libdir/libkmod.so.2.2.10" "$b/%_lib/"; +ln -s "%_libdir/libkmod.so.2.2.11" "$b/%_lib/"; %endif %post ++++++ kmod-20.tar.xz -> kmod-21.tar.xz ++++++ ++++ 2739 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/Makefile.am new/kmod-21/Makefile.am --- old/kmod-20/Makefile.am 2015-03-01 17:54:51.000000000 +0100 +++ new/kmod-21/Makefile.am 2015-06-09 07:35:37.000000000 +0200 @@ -7,6 +7,7 @@ DISTCLEAN_LOCAL_HOOKS = EXTRA_DIST = CLEANFILES = $(BUILT_FILES) +DISTCLEANFILES = BUILT_FILES = ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} AM_MAKEFLAGS = --no-print-directory @@ -40,7 +41,7 @@ $(SED_PROCESS) LIBKMOD_CURRENT=4 -LIBKMOD_REVISION=10 +LIBKMOD_REVISION=11 LIBKMOD_AGE=2 noinst_LTLIBRARIES = shared/libshared.la @@ -127,6 +128,13 @@ tools/modinfo.c tools/modprobe.c \ tools/depmod.c tools/log.h tools/log.c \ tools/static-nodes.c + +if BUILD_EXPERIMENTAL +tools_kmod_SOURCES += \ + tools/insert.c \ + tools/remove.c +endif + tools_kmod_LDADD = \ shared/libshared.la \ libkmod/libkmod-internal.la @@ -216,6 +224,7 @@ CREATE_ROOTFS = $(AM_V_GEN) ( $(RM) -rf $(ROOTFS) && mkdir -p $(dir $(ROOTFS)) && \ cp -r $(ROOTFS_PRISTINE) $(ROOTFS) && \ find $(ROOTFS) -type d -exec chmod +w {} \; && \ + find $(ROOTFS) -type f -name .gitignore -exec rm -f {} \; && \ $(top_srcdir)/testsuite/populate-modules.sh \ $(MODULE_PLAYGROUND) $(ROOTFS) ) && \ touch testsuite/stamp-rootfs @@ -226,7 +235,12 @@ cp -r $(top_srcdir)/$(MODULE_PLAYGROUND) $(top_builddir)/$(MODULE_PLAYGROUND) && \ find $(top_builddir)/$(MODULE_PLAYGROUND) -type d -exec chmod +w {} \; ; \ fi +if BUILD_MODULES $(MAKE) -C $(MODULE_PLAYGROUND) +else + $(MAKE) -C $(MODULE_PLAYGROUND) FAKE_BUILD=1 +endif + rootfs: build-module-playground $(CREATE_ROOTFS) @@ -253,6 +267,7 @@ EXTRA_DIST += \ + testsuite/module-playground/cache \ testsuite/module-playground/dummy.sha1 \ testsuite/module-playground/dummy.sha256 \ testsuite/module-playground/Makefile \ @@ -316,6 +331,11 @@ testsuite/test-dependencies testsuite/test-depmod \ testsuite/test-list +if BUILD_EXPERIMENTAL +TESTSUITE += \ + testsuite/test-tools +endif + check_PROGRAMS = $(TESTSUITE) TESTS = $(TESTSUITE) @@ -355,6 +375,11 @@ testsuite_test_list_LDADD = $(TESTSUITE_LDADD) testsuite_test_list_CPPFLAGS = $(TESTSUITE_CPPFLAGS) +if BUILD_EXPERIMENTAL +testsuite_test_tools_LDADD = $(TESTSUITE_LDADD) +testsuite_test_tools_CPPFLAGS = $(TESTSUITE_CPPFLAGS) +endif + testsuite-distclean: $(RM) -r $(ROOTFS) $(RM) testsuite/stamp-rootfs @@ -375,6 +400,8 @@ buildtest-TESTS: $(MAKE) $(AM_MAKEFLAGS) $(check_LTLIBRARIES) $(check_PROGRAMS) +DISTCLEANFILES += $(DOLT_CLEANFILES) + # ------------------------------------------------------------------------------ # coverage # ------------------------------------------------------------------------------ @@ -425,9 +452,9 @@ cov-build --dir cov-int make -j 4 tar caf $@ cov-int -coverity-tar: kmod-coverity-$(shell git describe).tar.xz +coverity-tar: kmod-coverity-$(shell git describe 2>/dev/null).tar.xz -coverity-sync: kmod-coverity-$(shell git describe).tar.xz +coverity-sync: kmod-coverity-$(shell git describe 2>/dev/null).tar.xz @echo "uploading coverity tarball" @curl --form token=$(COVERITY_KMOD_TOKEN) \ --form [email protected] \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/NEWS new/kmod-21/NEWS --- old/kmod-20/NEWS 2015-03-01 18:39:37.000000000 +0100 +++ new/kmod-21/NEWS 2015-06-09 07:06:36.000000000 +0200 @@ -1,3 +1,24 @@ +kmod 21 +======= + +- New features: + - kmod tool started to learn the "insert" and "remove" commands that + are the simplified versions of the older modprobe tool. These + commands are still work in progress so they are hidden behind a + --enable-experimental flag during build. It should not be enabled + unless you know what you're doing. + - kmod tool now prints the relevant configuration options it was built + with when the "--version" argument is passed. This helps to mitigate + problems for example when the user is trying to load a compressed + module but kmod was built without support for the compression method. + +- Improvements to testsuite: + - Cache built modules so it is easier to run "make check" on build + servers by distro maintainers. If kmod is configured with + --disable-test-modules the modules from cache will be used by + "make check". No changes to the tests are needed and all of them + can run fine. + kmod 20 ======= - Bug fixes: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/config.h.in new/kmod-21/config.h.in --- old/kmod-20/config.h.in 2015-03-01 19:04:14.000000000 +0100 +++ new/kmod-21/config.h.in 2015-06-09 07:36:06.000000000 +0200 @@ -3,6 +3,9 @@ /* Debug messages. */ #undef ENABLE_DEBUG +/* Experimental features. */ +#undef ENABLE_EXPERIMENTAL + /* System logging. */ #undef ENABLE_LOGGING @@ -87,6 +90,9 @@ /* Define to 1 if you have the `__xstat' function. */ #undef HAVE___XSTAT +/* Features in this build */ +#undef KMOD_FEATURES + /* Define to the sub-directory where libtool stores uninstalled libraries. */ #undef LT_OBJDIR diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/configure.ac new/kmod-21/configure.ac --- old/kmod-20/configure.ac 2015-03-01 17:55:07.000000000 +0100 +++ new/kmod-21/configure.ac 2015-06-09 06:24:19.000000000 +0200 @@ -1,6 +1,6 @@ AC_PREREQ(2.64) AC_INIT([kmod], - [20], + [21], [[email protected]], [kmod], [http://git.kernel.org/?p=utils/kernel/kmod/kmod.git]) @@ -17,6 +17,7 @@ AM_INIT_AUTOMAKE([check-news foreign 1.11 silent-rules tar-pax no-dist-gzip dist-xz subdir-objects color-tests parallel-tests]) AM_SILENT_RULES([yes]) LT_INIT([disable-static pic-only]) +DOLT AS_IF([test "x$enable_static" = "xyes"], [AC_MSG_ERROR([--enable-static is not supported by kmod])]) AS_IF([test "x$enable_largefile" = "xno"], [AC_MSG_ERROR([--disable-largefile is not supported by kmod])]) @@ -91,6 +92,7 @@ ], [ AC_MSG_NOTICE([Xz support not requested]) ]) +CC_FEATURE_APPEND([with_features], [with_xz], [XZ]) AC_ARG_WITH([zlib], AS_HELP_STRING([--with-zlib], [handle gzipped modules @<:@default=disabled@:>@]), @@ -101,6 +103,7 @@ ], [ AC_MSG_NOTICE([zlib support not requested]) ]) +CC_FEATURE_APPEND([with_features], [with_zlib], [ZLIB]) AC_ARG_WITH([bashcompletiondir], AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]), @@ -116,6 +119,15 @@ # --enable- ##################################################################### +AC_ARG_ENABLE([experimental], + AS_HELP_STRING([--enable-experimental], [enable experimental tools and features. Do not enable it unless you know what you are doing. @<:@default=disabled@:>@]), + [], enable_experimental=no) +AM_CONDITIONAL([BUILD_EXPERIMENTAL], [test "x$enable_experimental" = "xyes"]) +AS_IF([test "x$enable_experimental" = "xyes"], [ + AC_DEFINE(ENABLE_EXPERIMENTAL, [1], [Experimental features.]) +]) +CC_FEATURE_APPEND([with_features], [enable_experimental], [EXPERIMENTAL]) + AC_ARG_ENABLE([tools], AS_HELP_STRING([--disable-tools], [disable building tools that provide same functionality as module-init-tools @<:@default=enabled@:>@]), [], enable_tools=yes) @@ -126,6 +138,11 @@ [], enable_manpages=yes) AM_CONDITIONAL([BUILD_MANPAGES], [test "x$enable_manpages" = "xyes"]) +AC_ARG_ENABLE([test-modules], + AS_HELP_STRING([--disable-test-modules], [disable building test modules during make check: cached modules will be used @<:@default=enabled@:>@]), + [], enable_test_modules=yes) +AM_CONDITIONAL([BUILD_MODULES], [test "x$enable_test_modules" = "xyes"]) + AC_ARG_ENABLE([logging], AS_HELP_STRING([--disable-logging], [disable system logging @<:@default=enabled@:>@]), [], enable_logging=yes) @@ -242,6 +259,8 @@ -Wl,--gc-sections]) AC_SUBST([OUR_LDFLAGS], $with_ldflags) +AC_DEFINE_UNQUOTED(KMOD_FEATURES, ["$with_features"], [Features in this build]) + ##################################################################### # Generate files from *.in ##################################################################### @@ -273,6 +292,7 @@ cflags: ${with_cflags} ${CFLAGS} ldflags: ${with_ldflags} ${LDFLAGS} + experimental features: ${enable_experimental} tools: ${enable_tools} python bindings: ${enable_python} logging: ${enable_logging} @@ -281,4 +301,7 @@ coverage: ${enable_coverage} doc: ${enable_gtk_doc} man: ${enable_manpages} + test-modules: ${enable_test_modules} + + features: ${with_features} ]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/libkmod/docs/gtk-doc.make new/kmod-21/libkmod/docs/gtk-doc.make --- old/kmod-20/libkmod/docs/gtk-doc.make 2014-09-08 11:49:01.000000000 +0200 +++ new/kmod-21/libkmod/docs/gtk-doc.make 2015-05-29 22:00:12.000000000 +0200 @@ -25,6 +25,7 @@ SETUP_FILES = \ $(content_files) \ + $(expand_content_files) \ $(DOC_MAIN_SGML_FILE) \ $(DOC_MODULE)-sections.txt \ $(DOC_MODULE)-overrides.txt @@ -86,7 +87,7 @@ setup-build.stamp: -$(GTK_DOC_V_SETUP)if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \ - files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \ + files=`echo $(SETUP_FILES) $(DOC_MODULE).types`; \ if test "x$$files" != "x" ; then \ for file in $$files ; do \ destdir=`dirname $(abs_builddir)/$$file`; \ @@ -118,7 +119,7 @@ $(GTK_DOC_V_INTROSPECT)if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \ scanobj_options=""; \ gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \ - if test "$(?)" = "0"; then \ + if test "$$?" = "0"; then \ if test "x$(V)" = "x1"; then \ scanobj_options="--verbose"; \ fi; \ @@ -162,17 +163,17 @@ GTK_DOC_V_XREF_=$(GTK_DOC_V_XREF_$(AM_DEFAULT_VERBOSITY)) GTK_DOC_V_XREF_0=@echo " DOC Fixing cross-references"; -html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) +html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files) $(GTK_DOC_V_HTML)rm -rf html && mkdir html && \ mkhtml_options=""; \ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-verbose"; \ - if test "$(?)" = "0"; then \ + if test "$$?" = "0"; then \ if test "x$(V)" = "x1"; then \ mkhtml_options="$$mkhtml_options --verbose"; \ fi; \ fi; \ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \ - if test "$(?)" = "0"; then \ + if test "$$?" = "0"; then \ mkhtml_options="$$mkhtml_options --path=\"$(abs_srcdir)\""; \ fi; \ cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) @@ -194,11 +195,11 @@ GTK_DOC_V_PDF_=$(GTK_DOC_V_PDF_$(AM_DEFAULT_VERBOSITY)) GTK_DOC_V_PDF_0=@echo " DOC Building PDF"; -pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) +pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files) $(GTK_DOC_V_PDF)rm -f $(DOC_MODULE).pdf && \ mkpdf_options=""; \ gtkdoc-mkpdf 2>&1 --help | grep >/dev/null "\-\-verbose"; \ - if test "$(?)" = "0"; then \ + if test "$$?" = "0"; then \ if test "x$(V)" = "x1"; then \ mkpdf_options="$$mkpdf_options --verbose"; \ fi; \ @@ -223,12 +224,15 @@ @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \ rm -f $(DOC_MODULE).types; \ fi + @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-sections" ; then \ + rm -f $(DOC_MODULE)-sections.txt; \ + fi distclean-local: @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \ - rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \ + rm -f $(SETUP_FILES) $(DOC_MODULE).types; \ fi maintainer-clean-local: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/libkmod/python/kmod/version.py new/kmod-21/libkmod/python/kmod/version.py --- old/kmod-20/libkmod/python/kmod/version.py 2015-03-01 19:04:37.000000000 +0100 +++ new/kmod-21/libkmod/python/kmod/version.py 2015-06-09 07:36:22.000000000 +0200 @@ -14,4 +14,4 @@ # You should have received a copy of the GNU Lesser General Public License # along with python-kmod. If not, see <http://www.gnu.org/licenses/>. -__version__ = '20' +__version__ = '21' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/m4/dolt.m4 new/kmod-21/m4/dolt.m4 --- old/kmod-20/m4/dolt.m4 1970-01-01 01:00:00.000000000 +0100 +++ new/kmod-21/m4/dolt.m4 2015-03-10 19:05:39.000000000 +0100 @@ -0,0 +1,181 @@ +dnl dolt, a replacement for libtool +dnl Copyright © 2007-2010 Josh Triplett <[email protected]> +dnl Copying and distribution of this file, with or without modification, +dnl are permitted in any medium without royalty provided the copyright +dnl notice and this notice are preserved. +dnl +dnl To use dolt, invoke the DOLT macro immediately after the libtool macros. +dnl Optionally, copy this file into acinclude.m4, to avoid the need to have it +dnl installed when running autoconf on your project. + +AC_DEFUN([DOLT], [ +AC_REQUIRE([AC_CANONICAL_HOST]) +# dolt, a replacement for libtool +# Josh Triplett <[email protected]> +AC_PATH_PROG([DOLT_BASH], [bash]) +AC_MSG_CHECKING([if dolt supports this host]) +dolt_supported=yes +AS_IF([test x$DOLT_BASH = x], [dolt_supported=no]) +AS_IF([test x$GCC != xyes], [dolt_supported=no]) + +AS_CASE([$host], + [*-*-linux*|*-*-freebsd*], [pic_options='-fPIC'], + [*-apple-darwin*], [pic_options='-fno-common'], + [*mingw*|*nacl*], [pic_options=''] + [*], [dolt_supported=no] +) +AS_IF([test x$dolt_supported = xno], [ + AC_MSG_RESULT([no, falling back to libtool]) + LTCOMPILE='$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(COMPILE)' + LTCXXCOMPILE='$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXXCOMPILE)' + m4_pattern_allow([AM_V_lt]) +], [ + AC_MSG_RESULT([yes, replacing libtool]) + +dnl Start writing out doltcompile. + cat <<__DOLTCOMPILE__EOF__ >doltcompile +#!$DOLT_BASH +__DOLTCOMPILE__EOF__ + cat <<'__DOLTCOMPILE__EOF__' >>doltcompile +args=("$[]@") +for ((arg=0; arg<${#args@<:@@@:>@}; arg++)) ; do + if test x"${args@<:@$arg@:>@}" = x-o ; then + objarg=$((arg+1)) + break + fi +done +if test x$objarg = x ; then + echo 'Error: no -o on compiler command line' 1>&2 + exit 1 +fi +lo="${args@<:@$objarg@:>@}" +obj="${lo%.lo}" +if test x"$lo" = x"$obj" ; then + echo "Error: libtool object file name \"$lo\" does not end in .lo" 1>&2 + exit 1 +fi +objbase="${obj##*/}" +__DOLTCOMPILE__EOF__ + +dnl Write out shared compilation code. + if test x$enable_shared = xyes; then + cat <<'__DOLTCOMPILE__EOF__' >>doltcompile +libobjdir="${obj%$objbase}.libs" +if test ! -d "$libobjdir" ; then + mkdir_out="$(mkdir "$libobjdir" 2>&1)" + mkdir_ret=$? + if test "$mkdir_ret" -ne 0 && test ! -d "$libobjdir" ; then + echo "$mkdir_out" 1>&2 + exit $mkdir_ret + fi +fi +pic_object="$libobjdir/$objbase.o" +args@<:@$objarg@:>@="$pic_object" +__DOLTCOMPILE__EOF__ + cat <<__DOLTCOMPILE__EOF__ >>doltcompile + pic_options="$pic_options" + if test x\$passthrough = xtrue; then + pic_options="" + fi +__DOLTCOMPILE__EOF__ + cat <<'__DOLTCOMPILE__EOF__' >>doltcompile +"${args@<:@@@:>@}" $pic_options -DPIC || exit $? +__DOLTCOMPILE__EOF__ + fi + +dnl Write out static compilation code. +dnl Avoid duplicate compiler output if also building shared objects. + if test x$enable_static = xyes; then + cat <<'__DOLTCOMPILE__EOF__' >>doltcompile +non_pic_object="$obj.o" +args@<:@$objarg@:>@="$non_pic_object" +__DOLTCOMPILE__EOF__ + if test x$enable_shared = xyes; then + cat <<'__DOLTCOMPILE__EOF__' >>doltcompile +"${args@<:@@@:>@}" >/dev/null 2>&1 || exit $? +__DOLTCOMPILE__EOF__ + else + cat <<'__DOLTCOMPILE__EOF__' >>doltcompile +"${args@<:@@@:>@}" || exit $? +__DOLTCOMPILE__EOF__ + fi + fi + +dnl Write out the code to write the .lo file. +dnl The second line of the .lo file must match "^# Generated by .*libtool" + cat <<'__DOLTCOMPILE__EOF__' >>doltcompile +{ +echo "# $lo - a libtool object file" +echo "# Generated by doltcompile, not libtool" +__DOLTCOMPILE__EOF__ + + if test x$enable_shared = xyes; then + cat <<'__DOLTCOMPILE__EOF__' >>doltcompile +echo "pic_object='.libs/${objbase}.o'" +__DOLTCOMPILE__EOF__ + else + cat <<'__DOLTCOMPILE__EOF__' >>doltcompile +echo pic_object=none +__DOLTCOMPILE__EOF__ + fi + + if test x$enable_static = xyes; then + cat <<'__DOLTCOMPILE__EOF__' >>doltcompile +echo "non_pic_object='${objbase}.o'" +__DOLTCOMPILE__EOF__ + else + cat <<'__DOLTCOMPILE__EOF__' >>doltcompile +echo non_pic_object=none +__DOLTCOMPILE__EOF__ + fi + + cat <<'__DOLTCOMPILE__EOF__' >>doltcompile +} > "$lo" +__DOLTCOMPILE__EOF__ + +dnl Done writing out doltcompile; substitute it for libtool compilation. + chmod +x doltcompile + LTCOMPILE='$(top_builddir)/doltcompile $(COMPILE)' + LTCXXCOMPILE='$(top_builddir)/doltcompile $(CXXCOMPILE)' + +dnl automake ignores LTCOMPILE and LTCXXCOMPILE when it has separate CFLAGS for +dnl a target, so write out a libtool wrapper to handle that case. +dnl Note that doltlibtool does not handle inferred tags or option arguments +dnl without '=', because automake does not use them. + cat <<__DOLTLIBTOOL__EOF__ > doltlibtool +#!$DOLT_BASH +__DOLTLIBTOOL__EOF__ + cat <<'__DOLTLIBTOOL__EOF__' >>doltlibtool +top_builddir_slash="${0%%doltlibtool}" +: ${top_builddir_slash:=./} +args=() +modeok=false +tagok=false +for arg in "$[]@"; do + case "$arg" in + --mode=compile) modeok=true ;; + --tag=CC|--tag=CXX) tagok=true ;; + --tag=disable-static) tagok=true ;; + --tag=ASM|--tag=YASM) tagok=true; passthrough=true;; + --silent|--quiet) ;; + *) args@<:@${#args[@]}@:>@="$arg" ;; + esac +done +if $modeok && $tagok ; then + . ${top_builddir_slash}doltcompile "${args@<:@@@:>@}" +else + exec ${top_builddir_slash}libtool "$[]@" +fi +__DOLTLIBTOOL__EOF__ + +dnl Done writing out doltlibtool; substitute it for libtool. + chmod +x doltlibtool + LIBTOOL='$(top_builddir)/doltlibtool' + +DOLT_CLEANFILES="doltlibtool doltcompile" +AC_SUBST(DOLT_CLEANFILES) +]) +AC_SUBST(LTCOMPILE) +AC_SUBST(LTCXXCOMPILE) +# end dolt +]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/m4/features.m4 new/kmod-21/m4/features.m4 --- old/kmod-20/m4/features.m4 1970-01-01 01:00:00.000000000 +0100 +++ new/kmod-21/m4/features.m4 2015-06-09 03:37:10.000000000 +0200 @@ -0,0 +1,48 @@ +# Copyright (c) 2015 Lucas De Marchi <[email protected]> +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see <http://www.gnu.org/licenses/>. +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. +# +# CC_FEATURE_APPEND([FLAGS], [ENV-TO-CHECK], [FLAG-NAME]) +AC_DEFUN([CC_FEATURE_APPEND], [ + AS_VAR_PUSHDEF([FLAGS], [$1])dnl + AS_VAR_PUSHDEF([ENV_CHECK], [$2])dnl + AS_VAR_PUSHDEF([FLAG_NAME], [$3])dnl + + AS_CASE([" AS_VAR_GET(FLAGS) " ], + [*" FLAG_NAME "*], [AC_RUN_LOG([: FLAGS already contains FLAG_NAME])], + [ + AS_IF([test "x$FLAGS" != "x"], [AS_VAR_APPEND(FLAGS, " ")]) + AS_IF([test "x$ENV_CHECK" = "xyes"], + [AS_VAR_APPEND(FLAGS, "+FLAG_NAME")], + [AS_VAR_APPEND(FLAGS, "-FLAG_NAME")]) + ] + ) + + AS_VAR_POPDEF([FLAG_NAME])dnl + AS_VAR_POPDEF([ENV_CHECK])dnl + AS_VAR_POPDEF([FLAGS])dnl +]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/m4/libtool.m4 new/kmod-21/m4/libtool.m4 --- old/kmod-20/m4/libtool.m4 2015-01-24 04:44:49.000000000 +0100 +++ new/kmod-21/m4/libtool.m4 2015-04-24 00:45:43.000000000 +0200 @@ -738,7 +738,7 @@ _LT_LIBTOOL_TAGS # Configured defaults for sys_lib_dlsearch_path munging. -: \${LT_SYS_LIBRARY_PATH="$LT_SYS_LIBRARY_PATH"} +: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} # ### BEGIN LIBTOOL CONFIG _LT_LIBTOOL_CONFIG_VARS @@ -748,13 +748,14 @@ _LT_EOF cat <<'_LT_EOF' >> "$cfgfile" -## -------------------------------------- ## -## Shell functions shared with configure. ## -## -------------------------------------- ## + +# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE _LT_PREPARE_MUNGE_PATH_LIST _LT_PREPARE_CC_BASENAME +# ### END FUNCTIONS SHARED WITH CONFIGURE + _LT_EOF case $host_os in @@ -2256,7 +2257,7 @@ x) ;; *:) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \$@S|@1\" + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" ;; x:*) eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" @@ -3100,13 +3101,15 @@ sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec fi -# lt_cv_sys_lib... is unaugmented for libtool script decls... -lt_cv_sys_lib_dlsearch_path_spec=$sys_lib_dlsearch_path_spec +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec -# ..but sys_lib_... needs LT_SYS_LIBRARY_PATH munging for -# LT_SYS_DLSEARCH_PATH macro in ltdl.m4 to work with the correct paths: +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + _LT_DECL([], [variables_saved_for_relink], [1], [Variables whose values should be saved in libtool wrapper scripts and restored at link time]) @@ -3139,8 +3142,10 @@ [Whether we should hardcode library paths into libraries]) _LT_DECL([], [sys_lib_search_path_spec], [2], [Compile-time system search path for libraries]) -_LT_DECL([sys_lib_dlsearch_path_spec], [lt_cv_sys_lib_dlsearch_path_spec], [2], - [Run-time system search path for libraries]) +_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2], + [Detected run-time system search path for libraries]) +_LT_DECL([], [configure_time_lt_sys_library_path], [2], + [Explicit LT_SYS_LIBRARY_PATH set during ./configure time]) ])# _LT_SYS_DYNAMIC_LINKER diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/m4/ltversion.m4 new/kmod-21/m4/ltversion.m4 --- old/kmod-20/m4/ltversion.m4 2015-01-24 04:44:49.000000000 +0100 +++ new/kmod-21/m4/ltversion.m4 2015-04-24 00:45:44.000000000 +0200 @@ -9,15 +9,15 @@ # @configure_input@ -# serial 4171 ltversion.m4 +# serial 4179 ltversion.m4 # This file is part of GNU Libtool -m4_define([LT_PACKAGE_VERSION], [2.4.5]) -m4_define([LT_PACKAGE_REVISION], [2.4.5]) +m4_define([LT_PACKAGE_VERSION], [2.4.6]) +m4_define([LT_PACKAGE_REVISION], [2.4.6]) AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.4.5' -macro_revision='2.4.5' +[macro_version='2.4.6' +macro_revision='2.4.6' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/man/depmod.8 new/kmod-21/man/depmod.8 --- old/kmod-20/man/depmod.8 2015-03-01 19:04:33.000000000 +0100 +++ new/kmod-21/man/depmod.8 2015-06-09 07:36:24.000000000 +0200 @@ -2,12 +2,12 @@ .\" Title: depmod .\" Author: Jon Masters <[email protected]> .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/> -.\" Date: 03/01/2015 +.\" Date: 06/09/2015 .\" Manual: depmod .\" Source: kmod .\" Language: English .\" -.TH "DEPMOD" "8" "03/01/2015" "kmod" "depmod" +.TH "DEPMOD" "8" "06/09/2015" "kmod" "depmod" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/man/depmod.d.5 new/kmod-21/man/depmod.d.5 --- old/kmod-20/man/depmod.d.5 2015-03-01 19:04:33.000000000 +0100 +++ new/kmod-21/man/depmod.d.5 2015-06-09 07:36:23.000000000 +0200 @@ -2,12 +2,12 @@ .\" Title: depmod.d .\" Author: Jon Masters <[email protected]> .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/> -.\" Date: 03/01/2015 +.\" Date: 06/09/2015 .\" Manual: depmod.d .\" Source: kmod .\" Language: English .\" -.TH "DEPMOD\&.D" "5" "03/01/2015" "kmod" "depmod.d" +.TH "DEPMOD\&.D" "5" "06/09/2015" "kmod" "depmod.d" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/man/insmod.8 new/kmod-21/man/insmod.8 --- old/kmod-20/man/insmod.8 2015-03-01 19:04:33.000000000 +0100 +++ new/kmod-21/man/insmod.8 2015-06-09 07:36:24.000000000 +0200 @@ -2,12 +2,12 @@ .\" Title: insmod .\" Author: Jon Masters <[email protected]> .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/> -.\" Date: 03/01/2015 +.\" Date: 06/09/2015 .\" Manual: insmod .\" Source: kmod .\" Language: English .\" -.TH "INSMOD" "8" "03/01/2015" "kmod" "insmod" +.TH "INSMOD" "8" "06/09/2015" "kmod" "insmod" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/man/kmod.8 new/kmod-21/man/kmod.8 --- old/kmod-20/man/kmod.8 2015-03-01 19:04:33.000000000 +0100 +++ new/kmod-21/man/kmod.8 2015-06-09 07:36:24.000000000 +0200 @@ -2,12 +2,12 @@ .\" Title: kmod .\" Author: Lucas De Marchi <[email protected]> .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/> -.\" Date: 03/01/2015 +.\" Date: 06/09/2015 .\" Manual: kmod .\" Source: kmod .\" Language: English .\" -.TH "KMOD" "8" "03/01/2015" "kmod" "kmod" +.TH "KMOD" "8" "06/09/2015" "kmod" "kmod" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/man/lsmod.8 new/kmod-21/man/lsmod.8 --- old/kmod-20/man/lsmod.8 2015-03-01 19:04:33.000000000 +0100 +++ new/kmod-21/man/lsmod.8 2015-06-09 07:36:25.000000000 +0200 @@ -2,12 +2,12 @@ .\" Title: lsmod .\" Author: Jon Masters <[email protected]> .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/> -.\" Date: 03/01/2015 +.\" Date: 06/09/2015 .\" Manual: lsmod .\" Source: kmod .\" Language: English .\" -.TH "LSMOD" "8" "03/01/2015" "kmod" "lsmod" +.TH "LSMOD" "8" "06/09/2015" "kmod" "lsmod" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/man/modinfo.8 new/kmod-21/man/modinfo.8 --- old/kmod-20/man/modinfo.8 2015-03-01 19:04:33.000000000 +0100 +++ new/kmod-21/man/modinfo.8 2015-06-09 07:36:25.000000000 +0200 @@ -2,12 +2,12 @@ .\" Title: modinfo .\" Author: Jon Masters <[email protected]> .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/> -.\" Date: 03/01/2015 +.\" Date: 06/09/2015 .\" Manual: modinfo .\" Source: kmod .\" Language: English .\" -.TH "MODINFO" "8" "03/01/2015" "kmod" "modinfo" +.TH "MODINFO" "8" "06/09/2015" "kmod" "modinfo" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/man/modprobe.8 new/kmod-21/man/modprobe.8 --- old/kmod-20/man/modprobe.8 2015-03-01 19:04:33.000000000 +0100 +++ new/kmod-21/man/modprobe.8 2015-06-09 07:36:25.000000000 +0200 @@ -2,12 +2,12 @@ .\" Title: modprobe .\" Author: Jon Masters <[email protected]> .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/> -.\" Date: 03/01/2015 +.\" Date: 06/09/2015 .\" Manual: modprobe .\" Source: kmod .\" Language: English .\" -.TH "MODPROBE" "8" "03/01/2015" "kmod" "modprobe" +.TH "MODPROBE" "8" "06/09/2015" "kmod" "modprobe" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/man/modprobe.d.5 new/kmod-21/man/modprobe.d.5 --- old/kmod-20/man/modprobe.d.5 2015-03-01 19:04:33.000000000 +0100 +++ new/kmod-21/man/modprobe.d.5 2015-06-09 07:36:24.000000000 +0200 @@ -2,12 +2,12 @@ .\" Title: modprobe.d .\" Author: Jon Masters <[email protected]> .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/> -.\" Date: 03/01/2015 +.\" Date: 06/09/2015 .\" Manual: modprobe.d .\" Source: kmod .\" Language: English .\" -.TH "MODPROBE\&.D" "5" "03/01/2015" "kmod" "modprobe.d" +.TH "MODPROBE\&.D" "5" "06/09/2015" "kmod" "modprobe.d" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/man/modules.dep.5 new/kmod-21/man/modules.dep.5 --- old/kmod-20/man/modules.dep.5 2015-03-01 19:04:33.000000000 +0100 +++ new/kmod-21/man/modules.dep.5 2015-06-09 07:36:24.000000000 +0200 @@ -2,12 +2,12 @@ .\" Title: modules.dep .\" Author: Jon Masters <[email protected]> .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/> -.\" Date: 03/01/2015 +.\" Date: 06/09/2015 .\" Manual: modules.dep .\" Source: kmod .\" Language: English .\" -.TH "MODULES\&.DEP" "5" "03/01/2015" "kmod" "modules.dep" +.TH "MODULES\&.DEP" "5" "06/09/2015" "kmod" "modules.dep" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/man/rmmod.8 new/kmod-21/man/rmmod.8 --- old/kmod-20/man/rmmod.8 2015-03-01 19:04:33.000000000 +0100 +++ new/kmod-21/man/rmmod.8 2015-06-09 07:36:25.000000000 +0200 @@ -2,12 +2,12 @@ .\" Title: rmmod .\" Author: Jon Masters <[email protected]> .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/> -.\" Date: 03/01/2015 +.\" Date: 06/09/2015 .\" Manual: rmmod .\" Source: kmod .\" Language: English .\" -.TH "RMMOD" "8" "03/01/2015" "kmod" "rmmod" +.TH "RMMOD" "8" "06/09/2015" "kmod" "rmmod" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -71,7 +71,8 @@ .PP \fBmodprobe\fR(8), \fBinsmod\fR(8), -\fBlsmod\fR(8)\fBmodinfo\fR(8) +\fBlsmod\fR(8), +\fBmodinfo\fR(8) .SH "AUTHORS" .PP \fBJon Masters\fR <\&jcm@jonmasters\&.org\&> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/man/rmmod.xml new/kmod-21/man/rmmod.xml --- old/kmod-20/man/rmmod.xml 2014-03-19 11:54:39.000000000 +0100 +++ new/kmod-21/man/rmmod.xml 2015-06-09 03:46:06.000000000 +0200 @@ -135,7 +135,7 @@ </citerefentry>, <citerefentry> <refentrytitle>lsmod</refentrytitle><manvolnum>8</manvolnum> - </citerefentry> + </citerefentry>, <citerefentry> <refentrytitle>modinfo</refentrytitle><manvolnum>8</manvolnum> </citerefentry> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/shared/util.h new/kmod-21/shared/util.h --- old/kmod-20/shared/util.h 2015-02-10 13:24:54.000000000 +0100 +++ new/kmod-21/shared/util.h 2015-03-24 03:46:53.000000000 +0100 @@ -86,5 +86,5 @@ #endif #endif *res = a + b; - return ULLONG_MAX - a < b; + return UINT64_MAX - a < b; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/testsuite/module-playground/Makefile new/kmod-21/testsuite/module-playground/Makefile --- old/kmod-20/testsuite/module-playground/Makefile 2015-02-26 18:49:31.000000000 +0100 +++ new/kmod-21/testsuite/module-playground/Makefile 2015-06-07 04:06:23.000000000 +0200 @@ -38,6 +38,9 @@ # normal makefile KDIR ?= /lib/modules/`uname -r`/build KVER ?= `uname -r` +ifeq ($(FAKE_BUILD),) + FAKE_BUILD=0 +endif ARCH_SPECIFIC_MODULES := mod-simple-x86_64.ko mod-simple-i386.ko mod-simple-sparc64.ko MY_MODULES := $(filter-out $(ARCH_SPECIFIC_MODULES),$(wildcard *.ko)) @@ -48,8 +51,14 @@ $(eval arch=$(patsubst mod-simple-%.ko,%,$@)) $(MAKE) KDIR=$(KDIR_$(arch)) ARCH=$(arch) CROSS_COMPILE=$(CROSS_COMPILE_$(arch)) -f Makefile.arch +ifeq ($(FAKE_BUILD),0) modules: $(MAKE) -C $(KDIR) M=$$PWD +else +modules: + @echo " CP cache/*.ko" + @cp cache/*.ko . +endif arch-modules: $(ARCH_SPECIFIC_MODULES) Files old/kmod-20/testsuite/module-playground/cache/mod-fake-cciss.ko and new/kmod-21/testsuite/module-playground/cache/mod-fake-cciss.ko differ Files old/kmod-20/testsuite/module-playground/cache/mod-fake-hpsa.ko and new/kmod-21/testsuite/module-playground/cache/mod-fake-hpsa.ko differ Files old/kmod-20/testsuite/module-playground/cache/mod-fake-scsi-mod.ko and new/kmod-21/testsuite/module-playground/cache/mod-fake-scsi-mod.ko differ Files old/kmod-20/testsuite/module-playground/cache/mod-foo-a.ko and new/kmod-21/testsuite/module-playground/cache/mod-foo-a.ko differ Files old/kmod-20/testsuite/module-playground/cache/mod-foo-b.ko and new/kmod-21/testsuite/module-playground/cache/mod-foo-b.ko differ Files old/kmod-20/testsuite/module-playground/cache/mod-foo-c.ko and new/kmod-21/testsuite/module-playground/cache/mod-foo-c.ko differ Files old/kmod-20/testsuite/module-playground/cache/mod-foo.ko and new/kmod-21/testsuite/module-playground/cache/mod-foo.ko differ Files old/kmod-20/testsuite/module-playground/cache/mod-loop-a.ko and new/kmod-21/testsuite/module-playground/cache/mod-loop-a.ko differ Files old/kmod-20/testsuite/module-playground/cache/mod-loop-b.ko and new/kmod-21/testsuite/module-playground/cache/mod-loop-b.ko differ Files old/kmod-20/testsuite/module-playground/cache/mod-loop-c.ko and new/kmod-21/testsuite/module-playground/cache/mod-loop-c.ko differ Files old/kmod-20/testsuite/module-playground/cache/mod-loop-d.ko and new/kmod-21/testsuite/module-playground/cache/mod-loop-d.ko differ Files old/kmod-20/testsuite/module-playground/cache/mod-loop-e.ko and new/kmod-21/testsuite/module-playground/cache/mod-loop-e.ko differ Files old/kmod-20/testsuite/module-playground/cache/mod-simple.ko and new/kmod-21/testsuite/module-playground/cache/mod-simple.ko differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/testsuite/populate-modules.sh new/kmod-21/testsuite/populate-modules.sh --- old/kmod-20/testsuite/populate-modules.sh 2015-02-21 18:36:20.000000000 +0100 +++ new/kmod-21/testsuite/populate-modules.sh 2015-03-07 16:09:51.000000000 +0100 @@ -42,6 +42,8 @@ ["test-modinfo/mod-simple-sparc64.ko"]="mod-simple-sparc64.ko" ["test-modinfo/mod-simple-sha1.ko"]="mod-simple.ko" ["test-modinfo/mod-simple-sha256.ko"]="mod-simple.ko" + ["test-tools/insert/lib/modules/4.4.4/kernel/"]="mod-simple.ko" + ["test-tools/remove/lib/modules/4.4.4/kernel/"]="mod-simple.ko" ) gzip_array=( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/testsuite/rootfs-pristine/test-tools/insert/lib/modules/4.4.4/modules.alias new/kmod-21/testsuite/rootfs-pristine/test-tools/insert/lib/modules/4.4.4/modules.alias --- old/kmod-20/testsuite/rootfs-pristine/test-tools/insert/lib/modules/4.4.4/modules.alias 1970-01-01 01:00:00.000000000 +0100 +++ new/kmod-21/testsuite/rootfs-pristine/test-tools/insert/lib/modules/4.4.4/modules.alias 2015-03-07 16:09:51.000000000 +0100 @@ -0,0 +1 @@ +# Aliases extracted from modules themselves. Files old/kmod-20/testsuite/rootfs-pristine/test-tools/insert/lib/modules/4.4.4/modules.alias.bin and new/kmod-21/testsuite/rootfs-pristine/test-tools/insert/lib/modules/4.4.4/modules.alias.bin differ Files old/kmod-20/testsuite/rootfs-pristine/test-tools/insert/lib/modules/4.4.4/modules.builtin.bin and new/kmod-21/testsuite/rootfs-pristine/test-tools/insert/lib/modules/4.4.4/modules.builtin.bin differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/testsuite/rootfs-pristine/test-tools/insert/lib/modules/4.4.4/modules.dep new/kmod-21/testsuite/rootfs-pristine/test-tools/insert/lib/modules/4.4.4/modules.dep --- old/kmod-20/testsuite/rootfs-pristine/test-tools/insert/lib/modules/4.4.4/modules.dep 1970-01-01 01:00:00.000000000 +0100 +++ new/kmod-21/testsuite/rootfs-pristine/test-tools/insert/lib/modules/4.4.4/modules.dep 2015-03-07 16:09:51.000000000 +0100 @@ -0,0 +1 @@ +kernel/mod-simple.ko: Files old/kmod-20/testsuite/rootfs-pristine/test-tools/insert/lib/modules/4.4.4/modules.dep.bin and new/kmod-21/testsuite/rootfs-pristine/test-tools/insert/lib/modules/4.4.4/modules.dep.bin differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/testsuite/rootfs-pristine/test-tools/insert/lib/modules/4.4.4/modules.devname new/kmod-21/testsuite/rootfs-pristine/test-tools/insert/lib/modules/4.4.4/modules.devname --- old/kmod-20/testsuite/rootfs-pristine/test-tools/insert/lib/modules/4.4.4/modules.devname 1970-01-01 01:00:00.000000000 +0100 +++ new/kmod-21/testsuite/rootfs-pristine/test-tools/insert/lib/modules/4.4.4/modules.devname 2015-03-07 16:09:51.000000000 +0100 @@ -0,0 +1 @@ +# Device nodes to trigger on-demand module loading. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/testsuite/rootfs-pristine/test-tools/insert/lib/modules/4.4.4/modules.softdep new/kmod-21/testsuite/rootfs-pristine/test-tools/insert/lib/modules/4.4.4/modules.softdep --- old/kmod-20/testsuite/rootfs-pristine/test-tools/insert/lib/modules/4.4.4/modules.softdep 1970-01-01 01:00:00.000000000 +0100 +++ new/kmod-21/testsuite/rootfs-pristine/test-tools/insert/lib/modules/4.4.4/modules.softdep 2015-03-07 16:09:51.000000000 +0100 @@ -0,0 +1 @@ +# Soft dependencies extracted from modules themselves. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/testsuite/rootfs-pristine/test-tools/insert/lib/modules/4.4.4/modules.symbols new/kmod-21/testsuite/rootfs-pristine/test-tools/insert/lib/modules/4.4.4/modules.symbols --- old/kmod-20/testsuite/rootfs-pristine/test-tools/insert/lib/modules/4.4.4/modules.symbols 1970-01-01 01:00:00.000000000 +0100 +++ new/kmod-21/testsuite/rootfs-pristine/test-tools/insert/lib/modules/4.4.4/modules.symbols 2015-03-07 16:09:51.000000000 +0100 @@ -0,0 +1 @@ +# Aliases for symbols, used by symbol_request(). Files old/kmod-20/testsuite/rootfs-pristine/test-tools/insert/lib/modules/4.4.4/modules.symbols.bin and new/kmod-21/testsuite/rootfs-pristine/test-tools/insert/lib/modules/4.4.4/modules.symbols.bin differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/testsuite/rootfs-pristine/test-tools/remove/lib/modules/4.4.4/modules.alias new/kmod-21/testsuite/rootfs-pristine/test-tools/remove/lib/modules/4.4.4/modules.alias --- old/kmod-20/testsuite/rootfs-pristine/test-tools/remove/lib/modules/4.4.4/modules.alias 1970-01-01 01:00:00.000000000 +0100 +++ new/kmod-21/testsuite/rootfs-pristine/test-tools/remove/lib/modules/4.4.4/modules.alias 2015-03-07 16:09:51.000000000 +0100 @@ -0,0 +1 @@ +# Aliases extracted from modules themselves. Files old/kmod-20/testsuite/rootfs-pristine/test-tools/remove/lib/modules/4.4.4/modules.alias.bin and new/kmod-21/testsuite/rootfs-pristine/test-tools/remove/lib/modules/4.4.4/modules.alias.bin differ Files old/kmod-20/testsuite/rootfs-pristine/test-tools/remove/lib/modules/4.4.4/modules.builtin.bin and new/kmod-21/testsuite/rootfs-pristine/test-tools/remove/lib/modules/4.4.4/modules.builtin.bin differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/testsuite/rootfs-pristine/test-tools/remove/lib/modules/4.4.4/modules.dep new/kmod-21/testsuite/rootfs-pristine/test-tools/remove/lib/modules/4.4.4/modules.dep --- old/kmod-20/testsuite/rootfs-pristine/test-tools/remove/lib/modules/4.4.4/modules.dep 1970-01-01 01:00:00.000000000 +0100 +++ new/kmod-21/testsuite/rootfs-pristine/test-tools/remove/lib/modules/4.4.4/modules.dep 2015-03-07 16:09:51.000000000 +0100 @@ -0,0 +1 @@ +kernel/mod-simple.ko: Files old/kmod-20/testsuite/rootfs-pristine/test-tools/remove/lib/modules/4.4.4/modules.dep.bin and new/kmod-21/testsuite/rootfs-pristine/test-tools/remove/lib/modules/4.4.4/modules.dep.bin differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/testsuite/rootfs-pristine/test-tools/remove/lib/modules/4.4.4/modules.devname new/kmod-21/testsuite/rootfs-pristine/test-tools/remove/lib/modules/4.4.4/modules.devname --- old/kmod-20/testsuite/rootfs-pristine/test-tools/remove/lib/modules/4.4.4/modules.devname 1970-01-01 01:00:00.000000000 +0100 +++ new/kmod-21/testsuite/rootfs-pristine/test-tools/remove/lib/modules/4.4.4/modules.devname 2015-03-07 16:09:51.000000000 +0100 @@ -0,0 +1 @@ +# Device nodes to trigger on-demand module loading. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/testsuite/rootfs-pristine/test-tools/remove/lib/modules/4.4.4/modules.softdep new/kmod-21/testsuite/rootfs-pristine/test-tools/remove/lib/modules/4.4.4/modules.softdep --- old/kmod-20/testsuite/rootfs-pristine/test-tools/remove/lib/modules/4.4.4/modules.softdep 1970-01-01 01:00:00.000000000 +0100 +++ new/kmod-21/testsuite/rootfs-pristine/test-tools/remove/lib/modules/4.4.4/modules.softdep 2015-03-07 16:09:51.000000000 +0100 @@ -0,0 +1 @@ +# Soft dependencies extracted from modules themselves. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/testsuite/rootfs-pristine/test-tools/remove/lib/modules/4.4.4/modules.symbols new/kmod-21/testsuite/rootfs-pristine/test-tools/remove/lib/modules/4.4.4/modules.symbols --- old/kmod-20/testsuite/rootfs-pristine/test-tools/remove/lib/modules/4.4.4/modules.symbols 1970-01-01 01:00:00.000000000 +0100 +++ new/kmod-21/testsuite/rootfs-pristine/test-tools/remove/lib/modules/4.4.4/modules.symbols 2015-03-07 16:09:51.000000000 +0100 @@ -0,0 +1 @@ +# Aliases for symbols, used by symbol_request(). Files old/kmod-20/testsuite/rootfs-pristine/test-tools/remove/lib/modules/4.4.4/modules.symbols.bin and new/kmod-21/testsuite/rootfs-pristine/test-tools/remove/lib/modules/4.4.4/modules.symbols.bin differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/testsuite/rootfs-pristine/test-tools/remove/sys/module/mod_simple/initstate new/kmod-21/testsuite/rootfs-pristine/test-tools/remove/sys/module/mod_simple/initstate --- old/kmod-20/testsuite/rootfs-pristine/test-tools/remove/sys/module/mod_simple/initstate 1970-01-01 01:00:00.000000000 +0100 +++ new/kmod-21/testsuite/rootfs-pristine/test-tools/remove/sys/module/mod_simple/initstate 2015-03-07 16:09:51.000000000 +0100 @@ -0,0 +1 @@ +live diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/testsuite/rootfs-pristine/test-tools/remove/sys/module/mod_simple/refcnt new/kmod-21/testsuite/rootfs-pristine/test-tools/remove/sys/module/mod_simple/refcnt --- old/kmod-20/testsuite/rootfs-pristine/test-tools/remove/sys/module/mod_simple/refcnt 1970-01-01 01:00:00.000000000 +0100 +++ new/kmod-21/testsuite/rootfs-pristine/test-tools/remove/sys/module/mod_simple/refcnt 2015-03-07 16:09:51.000000000 +0100 @@ -0,0 +1 @@ +0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/testsuite/test-tools.c new/kmod-21/testsuite/test-tools.c --- old/kmod-20/testsuite/test-tools.c 1970-01-01 01:00:00.000000000 +0100 +++ new/kmod-21/testsuite/test-tools.c 2015-03-07 16:09:51.000000000 +0100 @@ -0,0 +1,71 @@ +/* + * Copyright (C) 2015 Intel Corporation. All rights reserved. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see <http://www.gnu.org/licenses/>. + */ + +#include <errno.h> +#include <inttypes.h> +#include <stddef.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> + +#include "testsuite.h" + +static noreturn int kmod_tool_insert(const struct test *t) +{ + const char *progname = ABS_TOP_BUILDDIR "/tools/kmod"; + const char *const args[] = { + progname, + "insert", "mod-simple", + NULL, + }; + + test_spawn_prog(progname, args); + exit(EXIT_FAILURE); +} +DEFINE_TEST(kmod_tool_insert, + .description = "check kmod insert", + .config = { + [TC_UNAME_R] = "4.4.4", + [TC_ROOTFS] = TESTSUITE_ROOTFS "test-tools/insert", + [TC_INIT_MODULE_RETCODES] = "", + }, + .modules_loaded = "mod-simple", + ); + +static noreturn int kmod_tool_remove(const struct test *t) +{ + const char *progname = ABS_TOP_BUILDDIR "/tools/kmod"; + const char *const args[] = { + progname, + "remove", "mod-simple", + NULL, + }; + + test_spawn_prog(progname, args); + exit(EXIT_FAILURE); +} +DEFINE_TEST(kmod_tool_remove, + .description = "check kmod remove", + .config = { + [TC_UNAME_R] = "4.4.4", + [TC_ROOTFS] = TESTSUITE_ROOTFS "test-tools/remove", + [TC_DELETE_MODULE_RETCODES] = "", + }, + ); + +TESTSUITE_MAIN(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/tools/depmod.c new/kmod-21/tools/depmod.c --- old/kmod-20/tools/depmod.c 2015-02-28 18:56:13.000000000 +0100 +++ new/kmod-21/tools/depmod.c 2015-06-09 03:38:02.000000000 +0200 @@ -2466,6 +2466,7 @@ return EXIT_SUCCESS; case 'V': puts(PACKAGE " version " VERSION); + puts(KMOD_FEATURES); return EXIT_SUCCESS; case '?': goto cmdline_failed; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/tools/insert.c new/kmod-21/tools/insert.c --- old/kmod-20/tools/insert.c 1970-01-01 01:00:00.000000000 +0100 +++ new/kmod-21/tools/insert.c 2015-03-07 16:09:51.000000000 +0100 @@ -0,0 +1,128 @@ +/* + * kmod-insert - insert a module into the kernel. + * + * Copyright (C) 2015 Intel Corporation. All rights reserved. + * Copyright (C) 2011-2013 ProFUSION embedded systems + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include <errno.h> +#include <getopt.h> +#include <stdlib.h> +#include <string.h> + +#include <libkmod/libkmod.h> + +#include "kmod.h" + +static const char cmdopts_s[] = "h"; +static const struct option cmdopts[] = { + {"help", no_argument, 0, 'h'}, + { } +}; + +static void help(void) +{ + printf("Usage:\n" + "\t%s insert [options] module\n" + "Options:\n" + "\t-h, --help show this help\n", + program_invocation_short_name); +} + +static const char *mod_strerror(int err) +{ + switch (err) { + case KMOD_PROBE_APPLY_BLACKLIST: + return "Module is blacklisted"; + case -EEXIST: + return "Module already in kernel"; + case -ENOENT: + return "Unknown symbol in module or unknown parameter (see dmesg)"; + default: + return strerror(-err); + } +} + +static int do_insert(int argc, char *argv[]) +{ + struct kmod_ctx *ctx; + struct kmod_list *list = NULL, *l; + const char *name; + int err, r = EXIT_SUCCESS; + + for (;;) { + int c, idx = 0; + c = getopt_long(argc, argv, cmdopts_s, cmdopts, &idx); + if (c == -1) + break; + switch (c) { + case 'h': + help(); + return EXIT_SUCCESS; + default: + ERR("Unexpected getopt_long() value '%c'.\n", c); + return EXIT_FAILURE; + } + } + + if (optind >= argc) { + ERR("Missing module name\n"); + return EXIT_FAILURE; + } + + ctx = kmod_new(NULL, NULL); + if (!ctx) { + ERR("kmod_new() failed!\n"); + return EXIT_FAILURE; + } + + name = argv[optind]; + err = kmod_module_new_from_lookup(ctx, name, &list); + if (err < 0) { + ERR("Could not lookup module matching '%s': %s\n", name, strerror(-err)); + r = EXIT_FAILURE; + goto end; + } + + if (list == NULL) { + ERR("No module matches '%s'\n", name); + r = EXIT_FAILURE; + goto end; + } + + kmod_list_foreach(l, list) { + struct kmod_module *mod = kmod_module_get_module(l); + + err = kmod_module_probe_insert_module(mod, KMOD_PROBE_APPLY_BLACKLIST, NULL, NULL, NULL, NULL); + if (err != 0) { + r = EXIT_FAILURE; + ERR("Could not insert '%s': %s\n", kmod_module_get_name(mod), mod_strerror(err)); + } + + kmod_module_unref(mod); + } + + kmod_module_unref_list(list); +end: + kmod_unref(ctx); + return r; +} + +const struct kmod_cmd kmod_cmd_insert = { + .name = "insert", + .cmd = do_insert, + .help = "insert a module into the kernel", +}; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/tools/insmod.c new/kmod-21/tools/insmod.c --- old/kmod-20/tools/insmod.c 2015-01-14 17:32:09.000000000 +0100 +++ new/kmod-21/tools/insmod.c 2015-06-09 03:38:02.000000000 +0200 @@ -88,6 +88,7 @@ return EXIT_SUCCESS; case 'V': puts(PACKAGE " version " VERSION); + puts(KMOD_FEATURES); return EXIT_SUCCESS; case '?': return EXIT_FAILURE; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/tools/kmod.c new/kmod-21/tools/kmod.c --- old/kmod-20/tools/kmod.c 2015-01-14 15:35:04.000000000 +0100 +++ new/kmod-21/tools/kmod.c 2015-06-09 03:38:02.000000000 +0200 @@ -42,6 +42,11 @@ &kmod_cmd_help, &kmod_cmd_list, &kmod_cmd_static_nodes, + +#ifdef ENABLE_EXPERIMENTAL + &kmod_cmd_insert, + &kmod_cmd_remove, +#endif }; static const struct kmod_cmd *kmod_compat_cmds[] = { @@ -108,7 +113,8 @@ kmod_help(argc, argv); return EXIT_SUCCESS; case 'V': - puts("kmod version " VERSION); + puts(PACKAGE " version " VERSION); + puts(KMOD_FEATURES); return EXIT_SUCCESS; case '?': return EXIT_FAILURE; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/tools/kmod.h new/kmod-21/tools/kmod.h --- old/kmod-20/tools/kmod.h 2014-12-26 02:28:51.000000000 +0100 +++ new/kmod-21/tools/kmod.h 2015-03-07 16:09:51.000000000 +0100 @@ -34,7 +34,9 @@ extern const struct kmod_cmd kmod_cmd_compat_modprobe; extern const struct kmod_cmd kmod_cmd_compat_depmod; +extern const struct kmod_cmd kmod_cmd_insert; extern const struct kmod_cmd kmod_cmd_list; extern const struct kmod_cmd kmod_cmd_static_nodes; +extern const struct kmod_cmd kmod_cmd_remove; #include "log.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/tools/lsmod.c new/kmod-21/tools/lsmod.c --- old/kmod-20/tools/lsmod.c 2015-01-02 15:37:39.000000000 +0100 +++ new/kmod-21/tools/lsmod.c 2015-04-16 13:46:11.000000000 +0200 @@ -64,15 +64,17 @@ struct kmod_list *holders, *hitr; int first = 1; - printf("%-19s %8ld %d ", name, size, use_count); + printf("%-19s %8ld %d", name, size, use_count); holders = kmod_module_get_holders(mod); kmod_list_foreach(hitr, holders) { struct kmod_module *hm = kmod_module_get_module(hitr); - if (!first) + if (!first) { putchar(','); - else + } else { + putchar(' '); first = 0; + } fputs(kmod_module_get_name(hm), stdout); kmod_module_unref(hm); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/tools/modinfo.c new/kmod-21/tools/modinfo.c --- old/kmod-20/tools/modinfo.c 2015-01-14 17:32:09.000000000 +0100 +++ new/kmod-21/tools/modinfo.c 2015-06-09 03:38:02.000000000 +0200 @@ -405,6 +405,7 @@ return EXIT_SUCCESS; case 'V': puts(PACKAGE " version " VERSION); + puts(KMOD_FEATURES); return EXIT_SUCCESS; case '?': return EXIT_FAILURE; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/tools/modprobe.c new/kmod-21/tools/modprobe.c --- old/kmod-20/tools/modprobe.c 2015-02-28 18:18:54.000000000 +0100 +++ new/kmod-21/tools/modprobe.c 2015-06-09 03:38:02.000000000 +0200 @@ -824,6 +824,7 @@ break; case 'V': puts(PACKAGE " version " VERSION); + puts(KMOD_FEATURES); err = 0; goto done; case 'h': diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/tools/remove.c new/kmod-21/tools/remove.c --- old/kmod-20/tools/remove.c 1970-01-01 01:00:00.000000000 +0100 +++ new/kmod-21/tools/remove.c 2015-03-07 16:09:51.000000000 +0100 @@ -0,0 +1,150 @@ +/* + * kmod-remove - remove modules from the kernel. + * + * Copyright (C) 2015 Intel Corporation. All rights reserved. + * Copyright (C) 2011-2013 ProFUSION embedded systems + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include <errno.h> +#include <getopt.h> +#include <stdlib.h> +#include <string.h> + +#include <libkmod/libkmod.h> + +#include "kmod.h" + +static const char cmdopts_s[] = "h"; +static const struct option cmdopts[] = { + {"help", no_argument, 0, 'h'}, + { } +}; + +static void help(void) +{ + printf("Usage:\n" + "\t%s remove [options] module\n" + "Options:\n" + "\t-h, --help show this help\n", + program_invocation_short_name); +} + +static int check_module_inuse(struct kmod_module *mod) { + struct kmod_list *holders; + int state; + + state = kmod_module_get_initstate(mod); + + if (state == KMOD_MODULE_BUILTIN) { + ERR("Module %s is builtin.\n", kmod_module_get_name(mod)); + return -ENOENT; + } else if (state < 0) { + ERR("Module %s is not currently loaded\n", + kmod_module_get_name(mod)); + return -ENOENT; + } + + holders = kmod_module_get_holders(mod); + if (holders != NULL) { + struct kmod_list *itr; + + ERR("Module %s is in use by:", kmod_module_get_name(mod)); + + kmod_list_foreach(itr, holders) { + struct kmod_module *hm = kmod_module_get_module(itr); + fprintf(stderr, " %s", kmod_module_get_name(hm)); + kmod_module_unref(hm); + } + fputc('\n', stderr); + + kmod_module_unref_list(holders); + return -EBUSY; + } + + if (kmod_module_get_refcnt(mod) != 0) { + ERR("Module %s is in use\n", kmod_module_get_name(mod)); + return -EBUSY; + } + + return 0; +} + +static int do_remove(int argc, char *argv[]) +{ + struct kmod_ctx *ctx; + struct kmod_module *mod; + const char *name; + int err, r = EXIT_SUCCESS; + + for (;;) { + int c, idx =0; + c = getopt_long(argc, argv, cmdopts_s, cmdopts, &idx); + if (c == -1) + break; + switch (c) { + case 'h': + help(); + return EXIT_SUCCESS; + + default: + ERR("Unexpected getopt_long() value '%c'.\n", c); + return EXIT_FAILURE; + } + } + + if (optind >= argc) { + ERR("Missing module name\n"); + return EXIT_FAILURE; + } + + ctx = kmod_new(NULL, NULL); + if (!ctx) { + ERR("kmod_new() failed!\n"); + return EXIT_FAILURE; + } + + name = argv[optind]; + err = kmod_module_new_from_name(ctx, name, &mod); + if (err < 0) { + ERR("Could not remove module %s: %s\n", name, strerror(-err)); + goto end; + } + + err = check_module_inuse(mod); + if (err < 0) + goto unref; + + err = kmod_module_remove_module(mod, 0); + if (err < 0) + goto unref; + +unref: + kmod_module_unref(mod); + +end: + kmod_unref(ctx); + if (err < 0) { + r = EXIT_FAILURE; + ERR("Could not remove module %s: %s\n", name, strerror(-err)); + } + return r; +} + +const struct kmod_cmd kmod_cmd_remove = { + .name = "remove", + .cmd = do_remove, + .help = "remove module from kernel", +}; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-20/tools/rmmod.c new/kmod-21/tools/rmmod.c --- old/kmod-20/tools/rmmod.c 2015-01-02 15:37:39.000000000 +0100 +++ new/kmod-21/tools/rmmod.c 2015-06-09 03:38:02.000000000 +0200 @@ -128,6 +128,7 @@ return EXIT_SUCCESS; case 'V': puts(PACKAGE " version " VERSION); + puts(KMOD_FEATURES); return EXIT_SUCCESS; case '?': return EXIT_FAILURE;
