Files
bpfire/lfs/kmod
Peter Müller ddd8d0705b kmod: Update to 29
Full changelog as given in the NEWS file:

kmod 29
=======

- Improvements
	- Add support to use /usr/local as a place for configuration files. This makes it easier
	  to install locally without overriding distro files.

- Bug fixes
	- Fix `modinfo -F` when module is builtin: when we asked by a specific field from modinfo,
	  it was not working correctly if the module was builtin

	- Documentation fixes on precedence order of /etc and /run: the correct order is
	  /etc/modprobe.d, /run/modprobe.d, /lib/modprobe.d

	- Fix the priority order that we use for searching configuration files. The
	  correct one is /etc, /run, /usr/local/lib, /lib, for both modprobe.d
	  and depmo.d

	- Fix kernel command line parsing when there are quotes present. Grub
	  mangles the command line and changes it from 'module.option="val with
	  spaces"' to '"module.option=val with spaces"'. Although this is weird
	  behavior and grub could have been fixed, the kernel understands it
	  correctly for builtin modules. So change libkmod to also parse it
	  correctly. This also brings another hidden behavior from the kernel:
	  newline in the kernel command line is also allowed and can be used to
	  separate options.

	- Fix a memory leak, overflow and double free on error path

	- Fix documentation for return value from kmod_module_get_info(): we
	  return the number of entries we added to the list

	- Fix output of modules.builtin.alias.bin index: we were writing an empty file due to
	  the misuse of kmod_module_get_info()

- Infra/internal
	- Retire integration with semaphoreci

	- Declare the github mirror also as an official upstream source: now besides accepting
	  patches via mailing list, PRs on github are also acceptable

	- Misc improvements to testsuite, so we can use it reliably regardless
	  of the configuration used: now tests will skip if we don't have the
	  build dependencies)

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Reviewed-by: Michael Tremer <michael.tremer@ipfire.org>
2022-01-14 13:35:13 +00:00

96 lines
3.4 KiB
Plaintext

###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2022 IPFire Team <info@ipfire.org> #
# #
# 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 3 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/>. #
# #
###############################################################################
###############################################################################
# Definitions
###############################################################################
include Config
VER = 29
THISAPP = kmod-$(VER)
DL_FILE = $(THISAPP).tar.xz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
###############################################################################
# Top-level Rules
###############################################################################
objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_MD5 = e81e63acd80697d001c8d85c1acb38a0
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
download :$(patsubst %,$(DIR_DL)/%,$(objects))
md5 : $(subst %,%_MD5,$(objects))
###############################################################################
# Downloading, checking, md5sum
###############################################################################
$(patsubst %,$(DIR_CHK)/%,$(objects)) :
@$(CHECK)
$(patsubst %,$(DIR_DL)/%,$(objects)) :
@$(LOAD)
$(subst %,%_MD5,$(objects)) :
@$(MD5)
###############################################################################
# Installation Details
###############################################################################
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && ./configure \
--prefix=/usr \
--bindir=/bin \
--sysconfdir=/etc \
--disable-manpages \
--with-openssl \
--with-xz \
--with-zlib \
--with-zstd
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
# Create symlinks
ln -svf ../bin/kmod /sbin/modprobe
ln -svf ../bin/kmod /sbin/modinfo
ln -svf ../bin/kmod /sbin/insmod
ln -svf ../bin/kmod /sbin/rmmod
ln -svf ../bin/kmod /sbin/depmod
ln -svf ../bin/kmod /sbin/lsmod
@rm -rf $(DIR_APP)
@$(POSTBUILD)