Build system and packaging (RPM support)

An update to the build system to properly support all commonly
used Makefile targets these include:

  make all        # Build everything
  make install    # Install everything
  make clean	  # Clean up build products
  make distclean  # Clean up everything
  make dist       # Create package tarball
  make srpm       # Create package source RPM
  make rpm        # Create package binary RPMs
  make tags       # Create ctags and etags for everything

Extra care was taken to ensure that the source RPMs are fully
rebuildable against Fedora/RHEL/Chaos kernels.  To build binary
RPMs from the source RPM for your system simply run:

  rpmbuild --rebuild spl-x.y.z-1.src.rpm

This will produce two binary RPMs with correct 'requires'
dependencies for your kernel.  One will contain all spl modules
and support utilities, the other is a devel package for compiling
additional kernel modules which are dependant on the spl.

  spl-x.y.z-1_<kernel version>.x86_64.rpm
  spl-devel-x.y.2-1_<kernel version>.x86_64.rpm
This commit is contained in:
Brian Behlendorf
2009-03-05 09:08:07 -08:00
parent 32f74c5280
commit c5f704607b
42 changed files with 1594 additions and 8522 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
EXTRA_DIST = spl.spec.in
EXTRA_DIST = check.sh
check:
./check.sh
+4 -7
View File
@@ -37,8 +37,7 @@ build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = scripts
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(srcdir)/spl.spec.in
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/spl-build.m4 \
$(top_srcdir)/config/spl-meta.m4 $(top_srcdir)/configure.ac
@@ -46,7 +45,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/spl_config.h
CONFIG_CLEAN_FILES = spl.spec
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -92,6 +91,7 @@ LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LINUX = @LINUX@
LINUX_OBJ = @LINUX_OBJ@
LINUX_VERSION = @LINUX_VERSION@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
@@ -152,7 +152,6 @@ host_vendor = @host_vendor@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
kmoduledir = @kmoduledir@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
@@ -169,7 +168,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
EXTRA_DIST = spl.spec.in
EXTRA_DIST = check.sh
all: all-am
.SUFFIXES:
@@ -202,8 +201,6 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
spl.spec: $(top_builddir)/config.status $(srcdir)/spl.spec.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
mostlyclean-libtool:
-rm -f *.lo
-28
View File
@@ -1,28 +0,0 @@
# spl
%define name @PACKAGE@
%define version @VERSION@
Summary: Solaris Porting Layer
Name: %{name}
Version: %{version}
Release: 1
Copyright: GPL
Group: Utilities/System
BuildRoot: /tmp/%{name}-%{version}
Source: %{name}-%{version}.tar.gz
%description
Abstration layer to provide Solaris style primatives in the linux kernel.
%prep
%setup -q
./configure
%build
rm -rf $RPM_BUILD_ROOT
make
%install
make install "DESTDIR=$RPM_BUILD_ROOT"
%files