Initital import (769832)
This commit is contained in:
parent
7a3238ce4a
commit
d6f4ce67e5
1
.gitignore
vendored
1
.gitignore
vendored
@ -0,0 +1 @@
|
|||||||
|
/kmod-2.tar.xz
|
106
kmod-2-with-rootlibdir.patch
Normal file
106
kmod-2-with-rootlibdir.patch
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
diff -urNp kmod-2_orig/configure kmod-2/configure
|
||||||
|
--- kmod-2_orig/configure 2011-12-20 20:48:00.170160687 -0500
|
||||||
|
+++ kmod-2/configure 2011-12-22 19:39:11.899001373 -0500
|
||||||
|
@@ -621,6 +621,7 @@ required_private_libs
|
||||||
|
zlib_libs
|
||||||
|
BUILD_TOOLS_FALSE
|
||||||
|
BUILD_TOOLS_TRUE
|
||||||
|
+rootlibdir
|
||||||
|
rootprefix
|
||||||
|
OTOOL64
|
||||||
|
OTOOL
|
||||||
|
@@ -745,6 +746,7 @@ with_gnu_ld
|
||||||
|
with_sysroot
|
||||||
|
enable_libtool_lock
|
||||||
|
with_rootprefix
|
||||||
|
+with_rootlibdir
|
||||||
|
enable_tools
|
||||||
|
enable_logging
|
||||||
|
enable_zlib
|
||||||
|
@@ -1405,6 +1407,7 @@ Optional Packages:
|
||||||
|
(or the compiler's sysroot if not specified).
|
||||||
|
--with-rootprefix=DIR rootfs directory prefix for config files and kernel
|
||||||
|
modules
|
||||||
|
+ --with-rootlibdir=DIR rootfs directory to install shared libraries
|
||||||
|
|
||||||
|
Some influential environment variables:
|
||||||
|
CC C compiler command
|
||||||
|
@@ -13233,6 +13236,17 @@ fi
|
||||||
|
rootprefix=$with_rootprefix
|
||||||
|
|
||||||
|
|
||||||
|
+
|
||||||
|
+# Check whether --with-rootlibdir was given.
|
||||||
|
+if test "${with_rootlibdir+set}" = set; then :
|
||||||
|
+ withval=$with_rootlibdir;
|
||||||
|
+else
|
||||||
|
+ with_rootlibdir=$libdir
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
+rootlibdir=$with_rootlibdir
|
||||||
|
+
|
||||||
|
+
|
||||||
|
# Check whether --enable-tools was given.
|
||||||
|
if test "${enable_tools+set}" = set; then :
|
||||||
|
enableval=$enable_tools;
|
||||||
|
@@ -15828,6 +15842,7 @@ fi
|
||||||
|
rootprefix: ${rootprefix}
|
||||||
|
sysconfdir: ${sysconfdir}
|
||||||
|
libdir: ${libdir}
|
||||||
|
+ rootlibdir: ${rootlibdir}
|
||||||
|
includedir: ${includedir}
|
||||||
|
bindir: ${bindir}
|
||||||
|
|
||||||
|
@@ -15848,6 +15863,7 @@ $as_echo "
|
||||||
|
rootprefix: ${rootprefix}
|
||||||
|
sysconfdir: ${sysconfdir}
|
||||||
|
libdir: ${libdir}
|
||||||
|
+ rootlibdir: ${rootlibdir}
|
||||||
|
includedir: ${includedir}
|
||||||
|
bindir: ${bindir}
|
||||||
|
|
||||||
|
diff -urNp kmod-2_orig/configure.ac kmod-2/configure.ac
|
||||||
|
--- kmod-2_orig/configure.ac 2011-12-20 20:36:37.036701029 -0500
|
||||||
|
+++ kmod-2/configure.ac 2011-12-22 19:39:11.980007591 -0500
|
||||||
|
@@ -32,6 +32,11 @@ AC_ARG_WITH([rootprefix],
|
||||||
|
[], [with_rootprefix=""])
|
||||||
|
AC_SUBST([rootprefix], [$with_rootprefix])
|
||||||
|
|
||||||
|
+AC_ARG_WITH([rootlibdir],
|
||||||
|
+ AS_HELP_STRING([--with-rootlibdir=DIR], [rootfs directory to install shared libraries]),
|
||||||
|
+ [], [with_rootlibdir=$libdir])
|
||||||
|
+AC_SUBST([rootlibdir], [$with_rootlibdir])
|
||||||
|
+
|
||||||
|
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)
|
||||||
|
@@ -134,6 +139,7 @@ AC_MSG_RESULT([
|
||||||
|
rootprefix: ${rootprefix}
|
||||||
|
sysconfdir: ${sysconfdir}
|
||||||
|
libdir: ${libdir}
|
||||||
|
+ rootlibdir: ${rootlibdir}
|
||||||
|
includedir: ${includedir}
|
||||||
|
bindir: ${bindir}
|
||||||
|
|
||||||
|
diff -urNp kmod-2_orig/Makefile.am kmod-2/Makefile.am
|
||||||
|
--- kmod-2_orig/Makefile.am 2011-12-20 20:36:21.337897292 -0500
|
||||||
|
+++ kmod-2/Makefile.am 2011-12-22 19:39:11.980007591 -0500
|
||||||
|
@@ -53,6 +53,18 @@ libkmod_libkmod_la_LIBADD = @zlib_libs@
|
||||||
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
|
pkgconfig_DATA = libkmod/libkmod.pc
|
||||||
|
|
||||||
|
+install-exec-hook:
|
||||||
|
+ if test "$(libdir)" != "$(rootlibdir)"; then \
|
||||||
|
+ mkdir -p $(DESTDIR)$(rootlibdir) && \
|
||||||
|
+ so_img_name=$$(readlink $(DESTDIR)$(libdir)/libkmod.so) && \
|
||||||
|
+ so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \
|
||||||
|
+ ln -sf $$so_img_rel_target_prefix$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/libkmod.so && \
|
||||||
|
+ mv $(DESTDIR)$(libdir)/libkmod.so.* $(DESTDIR)$(rootlibdir); \
|
||||||
|
+ fi
|
||||||
|
+
|
||||||
|
+uninstall-hook:
|
||||||
|
+ rm -f $(DESTDIR)$(rootlibdir)/libkmod.so*
|
||||||
|
+
|
||||||
|
if BUILD_TOOLS
|
||||||
|
bin_PROGRAMS = tools/kmod-insmod tools/kmod-rmmod tools/kmod-lsmod \
|
||||||
|
tools/kmod-modprobe tools/kmod-modinfo
|
130
kmod.spec
Normal file
130
kmod.spec
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
Name: kmod
|
||||||
|
Version: 2
|
||||||
|
Release: 4%{?dist}
|
||||||
|
Summary: Linux kernel module management utilities
|
||||||
|
|
||||||
|
Group: System Environment/Kernel
|
||||||
|
License: GPLv2+
|
||||||
|
#TODO: Change the following URLs once there is wiki write access
|
||||||
|
#URL: http://modules.wiki.kernel.org/
|
||||||
|
URL: http://git.profusion.mobi/cgit.cgi/kmod.git/
|
||||||
|
#TODO: The following URL will be moving to kernel.org eventually
|
||||||
|
Source0: http://packages.profusion.mobi/kmod/%{name}-%{version}.tar.xz
|
||||||
|
Patch0: kmod-2-with-rootlibdir.patch
|
||||||
|
Exclusiveos: Linux
|
||||||
|
|
||||||
|
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
|
||||||
|
|
||||||
|
BuildRequires: zlib-devel chrpath
|
||||||
|
|
||||||
|
# TODO: Investigate the following and determine prefered policy guide
|
||||||
|
# Fedora Renaming/Replacing Existing Packages policy (review/FIXME)
|
||||||
|
#Provides: module-init-tools = 4.0-1
|
||||||
|
#Obsoletes: module-init-tools < 4.0-1
|
||||||
|
|
||||||
|
%description
|
||||||
|
The kmod package provides various programs needed for automatic
|
||||||
|
loading and unloading of modules under 2.6, 3.x, and later kernels, as well
|
||||||
|
as other module management programs. Device drivers and filesystems are two
|
||||||
|
examples of loaded and unloaded modules.
|
||||||
|
|
||||||
|
%package libs
|
||||||
|
Summary: Libraries to handle kernel module loading and unloading
|
||||||
|
License: LGPLv2+
|
||||||
|
Group: System Environment/Libraries
|
||||||
|
|
||||||
|
%description libs
|
||||||
|
The kmod-libs package provides runtime libraries for any application that
|
||||||
|
wishes to load or unload Linux kernel modules from the running system.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Header files for kmod development
|
||||||
|
Group: Development/Libraries
|
||||||
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
The kmod-devel package provides header files used for development of
|
||||||
|
applications that wish to load or unload Linux kernel modules.
|
||||||
|
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q
|
||||||
|
%patch0 -p1 -b .rootlibdir
|
||||||
|
|
||||||
|
|
||||||
|
%build
|
||||||
|
# Initially configure into /sbin in line with existing tools. This may well
|
||||||
|
# move into /usr as part of the planned changes to filesystem layout soon.
|
||||||
|
%configure --disable-static --bindir=/bin --with-rootlibdir=/%{_lib}
|
||||||
|
make %{?_smp_mflags}
|
||||||
|
# TODO: add a doc target here
|
||||||
|
|
||||||
|
%install
|
||||||
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
# TODO: Initially these are installed in /sbin like module-init-tools
|
||||||
|
# TODO: That *cannot* change for the moment (but explicitly noted here)
|
||||||
|
make install DESTDIR=$RPM_BUILD_ROOT
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_libdir}/*.la
|
||||||
|
|
||||||
|
# TODO: Fix the upstream rpath issues to avoid doing this (just for now)
|
||||||
|
chrpath --delete $RPM_BUILD_ROOT/bin/kmod-insmod
|
||||||
|
chrpath --delete $RPM_BUILD_ROOT/bin/kmod-lsmod
|
||||||
|
chrpath --delete $RPM_BUILD_ROOT/bin/kmod-modinfo
|
||||||
|
chrpath --delete $RPM_BUILD_ROOT/bin/kmod-modprobe
|
||||||
|
chrpath --delete $RPM_BUILD_ROOT/bin/kmod-rmmod
|
||||||
|
|
||||||
|
mkdir -p $RPM_BUILD_ROOT/etc
|
||||||
|
mkdir -p $RPM_BUILD_ROOT/etc/modprobe.d
|
||||||
|
|
||||||
|
# New configuration files we ship (if any) should go into /lib/modprobe.d
|
||||||
|
# in order to allow the local sysadmin to customize /etc/modprobe.d
|
||||||
|
# NOTE: These do not use macros because we always want "/lib" (no multilib)
|
||||||
|
mkdir -p $RPM_BUILD_ROOT/lib
|
||||||
|
mkdir -p $RPM_BUILD_ROOT/lib/modprobe.d
|
||||||
|
|
||||||
|
mkdir -p $RPM_BUILD_ROOT/etc/depmod.d
|
||||||
|
# We used to create a depmod "dist.conf" but do not use that any more
|
||||||
|
|
||||||
|
|
||||||
|
%clean
|
||||||
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
|
%post libs -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun libs -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
# TODO: Add documentation files and man pages
|
||||||
|
%dir %{_sysconfdir}/depmod.d
|
||||||
|
%dir %{_sysconfdir}/modprobe.d
|
||||||
|
# NOTE: always /lib even on systems with /lib64 (there is no macro available)
|
||||||
|
%dir /lib/modprobe.d
|
||||||
|
/bin/kmod-insmod
|
||||||
|
/bin/kmod-lsmod
|
||||||
|
/bin/kmod-modinfo
|
||||||
|
/bin/kmod-modprobe
|
||||||
|
/bin/kmod-rmmod
|
||||||
|
%doc NEWS README TODO COPYING
|
||||||
|
|
||||||
|
%files libs
|
||||||
|
/%{_lib}/libkmod.so*
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%{_includedir}/libkmod.h
|
||||||
|
%{_libdir}/pkgconfig/libkmod.pc
|
||||||
|
/%{_libdir}/libkmod.so*
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Thu Dec 22 2011 Jon Masters <jcm@jonmasters.org> - 2-4
|
||||||
|
- There is no generic macro for non-multilib "/lib", hardcode like others
|
||||||
|
|
||||||
|
* Thu Dec 22 2011 Jon Masters <jcm@jonmasters.org> - 2-3
|
||||||
|
- Update package incorporating fixes from initial review feedback
|
||||||
|
- Cleaups to SPEC, rpath, documentation, library and binary locations
|
||||||
|
|
||||||
|
* Thu Dec 22 2011 Jon Masters <jcm@jonmasters.org> - 2-2
|
||||||
|
- Update package for posting to wider test audience (initial review submitted)
|
||||||
|
|
||||||
|
* Thu Dec 22 2011 Jon Masters <jcm@jonmasters.org> - 2-1
|
||||||
|
- Initial Fedora package for module-init-tools replacement (kmod) library
|
Loading…
Reference in New Issue
Block a user