[ANNOUNCE] kmod 33

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



kmod 33 is out:

          https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-33.tar.xz
          https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-33.tar.sign

- Improvements

        - Allow to handle compressed modules even without decompression
          libraries linked in. Previously we would detect if the kernel
          supported the decompression algorithm and pass the module directly
          through finit_module(). However it wouldn't consider the file if
          the respective decompression library was compiled out. Now it's
          possible to completely disable all libraries and still have module
          load working with libkmod.

          Tools that inspect module content themselves like modinfo and depmod
          won't work if the decompression library is not enabled.

        - Add weak dependencies - these are similar to pre softdep, but they
          don't cause the dependency to be loaded by libkmod: when a module has
          a weak dependency, it is expected that module may or may not be used,
          with decision happening in runtime by the kernel. It's purpose is to
          be informational for other tools like ones used to create initramfs,
          so the module is made available before switch_root(), but doesn't
          imply it to be loaded when not needed.

        - Improve compatibility with non-gnu libc like musl and uClibc. Now it's
          possible to build and use libkmod and tools without any additional compat
          patches.

        - Move manpages from xsltproc to scdoc, which is now needed during build.

        - Improve documentation in manpages, fixing typos, rewording sentences,
          detailing how configuration files are handled with precedence order
          and making all the manpages more consistent on how to reference options,
          environment variables, configuration, authors, etc.

        - Speed up zstd decompression, particularly when not using glibc.

        - Stop parsing .alias files from modprobe.d directories. Configuration files
          were always documented as needing the .conf extension. For compatibility
          reason with module-init-tools, kmod also parsed .alias files. However that
          was also done in module-init-tools for compatibility reasons and not
          documented anywhere. From inspection on what distros are using, none use
          .alias files in practice, so stop parsing those files and follow what's
          documented.

        - Adopt SPDX for license and cleanup comments on individual files.

        - Since kmod 29 there's a github mirror for the repository. Now it's
          also used for issues and improvement tracking. With that, the old
          TODO file has been removed and distros/users are encouraged to file
          issues in github.

- Bug fixes

        - Move kmod.pc to the right dir, ${datadir}/pkgconfig, as it's related
          to kmod, not libkmod.

        - Fix error handling while loading a file and mmap fails.

        - Fix error handling while handling errors from the decompression
          libraries.

        - Add missing documentation for KMOD_INDEX_MODULES_BUILTIN that was
          added in v27 breaking the ABI. A wide search has found one external
          tool using it, which hasn't been updated in the past 12 years. It
          was deemed safe to simply update the documentation to include the
          missing enum.

        - Move kmod_module_new_from_name_lookup() to the correct symbol
          version. It was added by mistake to @LIBKMOD_5 when v30 got released.
          No external user of this API was found, so it was considered safe
          to just move it.

	- Fix undefined behavior while parsing builtins

- Others

        - Overwrite symlinks when installing tools.

        - General cleanup of how (de)compression libraries are integrated.

        - Add CI infrastructure to automatically test in several distros
          before applying commit series. Currently the latest versions of
          Alpine, Archlinux, Fedora and Ubuntu are covered. More distros are
          easy to add as they are all containerized.


Shortlog is below:

Emil Velikov (39):
      libkmod: use a dup()'d fd for zlib
      libkmod: keep gzFile gzf local to load_zlib()
      libkmod: remove kmod_file::{zstd,xz}_used flags
      libkmod: clear file->memory if map fails
      libkmod: nuke struct file_ops
      libkmod: propagate {zstd,xz,zlib}_load errors
      libkmod: move kmod_file_load_contents as applicable
      libkmod: always detect the module compression
      libkmod: swap alloca usage for a few assert_cc
      libkmod: tidy-up kmod_file_open()
      libkmod: move load_reg() further up
      libkmod: keep KMOD_FILE_COMPRESSION_NONE/load_reg in comp_types
      .mailmap: Forward to my personal email
      man: add scdoc based man pages
      man: build the scdoc based man pages
      man: remove no longer used XML files
      man: add some extra bold/italic annotations
      man: white space fixes
      man: misc punctuation fixes
      man: some options take an argument, mention that
      man: couple of grammar/language fixes
      man: stop removing DISTCONFDIR lines
      man: depmod.d: document the config file order handling
      man: depmod.d: factor out a CONFIGURATION FORMAT section
      man: depmod.d: rework the opening description sentence
      man: depmod: remove hard-coded /etc/depmod.d references
      man: modprobe.d: document the config file order handling
      man: modprobe.d: factor out a CONFIGURATION FORMAT section
      man: add few mentions about MODPROBE_OPTIONS
      man: modprobe: remove hard-coded /etc/modprobe.d references
      man: remove the "Maintained by" references
      man: rework AUTHORS section
      man: list options one per line
      kmod: remove .alias config files for modprobe.d
      libkmod: document KMOD_INDEX_MODULES_BUILTIN_ALIAS in kmod_dump_index()
      libkmod: correctly tag kmod_module_new_from_name_lookup
      libkmod: move new weak API to separate section
      m4: reinstate CC_CHECK_FLAG_APPEND summary
      m4: remove verbose license exception clause

Eugene Syromiatnikov (1):
      libkmod: avoid undefined behaviour in libkmod-builtin.c:get_string

Jose Ignacio Tornos Martinez (2):
      libkmod: add weak dependecies
      testsuite: add tests for weak dependencies

Khem Raj (1):
      Use portable implementation for basename API

Lucas De Marchi (25):
      build: Allow to install over dirty dir
      testsuite: Fix warnings due to -Wmissing-prototypes
      build: Ignore directories commonly used for out-of-tree build
      depmod: Fix warning with -D_TIME_BITS=64
      testsuite: Add missing.h include
      gitignore: ignore gtk-doc.m4
      build: Require scdoc if building man pages
      build: Add mod-weakdep.c to EXTRA_DIST
      ci: Add github workflow
      README: update to a decade+ later
      ci: Replace package installation with local action
      ci: Use a container and expand versions
      ci: Add Archlinux
      ci: Add Fedora
      ci: Add Alpine
      build: Always run distcheck with all compression libraries
      libkmod: Move xz-related functions to separate file
      libkmod: Move zlib-related functions to separate file
      libkmod: Move zstd-related functions to separate file
      Use SPDX header for license
      Drop the one line short description on sources
      depmod: Remove license/copyright from the middle
      build: Add s-o-b to release commit
      Remove outdated TODO file
      kmod 33

Mike Gilbert (1):
      Install kmod.pc in ${datadir}/pkgconfig

Shengjing Zhu (1):
      testsuite: wrap _{l,}stat64_time64 in test

q66 (1):
      libkmod: improve realloc behavior for zstd outbuffer


Thank y'all for the contributions,

Lucas De Marchi




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux