diff --git a/.gitignore b/.gitignore index e69de29..6eada5c 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/libseccomp-0.1.0.tar.gz diff --git a/libseccomp-0.1.0-build_verbose.patch b/libseccomp-0.1.0-build_verbose.patch new file mode 100644 index 0000000..4d90949 --- /dev/null +++ b/libseccomp-0.1.0-build_verbose.patch @@ -0,0 +1,150 @@ +diff -purN libseccomp-0.1.0.orig/macros.mk libseccomp-0.1.0/macros.mk +--- libseccomp-0.1.0.orig/macros.mk 2012-06-06 12:05:39.000000000 -0400 ++++ libseccomp-0.1.0/macros.mk 2012-06-13 14:09:41.537999663 -0400 +@@ -68,13 +68,13 @@ INSTALL ?= install + # auto dependencies + # + +-MAKEDEP = @$(GCC) $(CPPFLAGS) -MM -MF $(patsubst %.o,%.d,$@) $<; ++MAKEDEP = $(GCC) $(CPPFLAGS) -MM -MF $(patsubst %.o,%.d,$@) $<; + MAKEDEP_EXEC = \ +- @$(GCC) $(CPPFLAGS) -MM -MT $(patsubst %.d,%,$@) \ ++ $(GCC) $(CPPFLAGS) -MM -MT $(patsubst %.d,%,$@) \ + -MF $@ $(patsubst %.d,%.c,$@); + + ADDDEP = \ +- @adddep_func() { \ ++ adddep_func() { \ + $(MV) $$1 $$1.dtmp; \ + $(CAT) $$1.dtmp | $(SED) -e 's/\([^\]\)$$/\1 \\/' | \ + ( $(CAT) - && $(ECHO) " $$2" ) > $$1; \ +@@ -92,14 +92,13 @@ VERSION_HDR = version.h + # build macros + # + +-ARCHIVE = @echo " AR $@ (add/update: $?)"; $(AR) -cru $@ $?; +-COMPILE = @echo " CC $@"; $(GCC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<; +-COMPILE_EXEC = @echo " CC $@"; $(GCC) $(CFLAGS) $(CPPFLAGS) -o $@ $< $(LDFLAGS); +-LINK_EXEC = @echo " LD $@"; $(GCC) $(LDFLAGS) -o $@ $^ $(LIBFLAGS); ++ARCHIVE = $(AR) -cru $@ $?; ++COMPILE = $(GCC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<; ++COMPILE_EXEC = $(GCC) $(CFLAGS) $(CPPFLAGS) -o $@ $< $(LDFLAGS); ++LINK_EXEC = $(GCC) $(LDFLAGS) -o $@ $^ $(LIBFLAGS); + LINK_LIB = \ +- @link_lib_func() { \ ++ link_lib_func() { \ + name=$${1//.so.*/.so}.$(VERSION_MAJOR); \ +- echo " LD $@ ($$name)"; \ + $(GCC) $(LDFLAGS) -o $@ $^ -shared -Wl,-soname=$$name; \ + }; \ + link_lib_func $@; +@@ -109,13 +108,8 @@ LINK_LIB = \ + # + + INSTALL_MACRO = \ +- @install_func() { \ ++ install_func() { \ + dir="$$1"; \ +- if [[ -n "$$3" ]]; then \ +- $(ECHO) " INSTALL $$3"; \ +- else \ +- $(ECHO) " INSTALL $$2 ($$dir/$$2)"; \ +- fi; \ + $(INSTALL) -o $(INSTALL_OWNER) -g $(INSTALL_GROUP) \ + -d "$$dir"; \ + $(INSTALL) -o $(INSTALL_OWNER) -g $(INSTALL_GROUP) -m 0644 \ +@@ -124,13 +118,8 @@ INSTALL_MACRO = \ + install_func + + INSTALL_SBIN_MACRO = \ +- @install_sbin_func() { \ ++ install_sbin_func() { \ + dir="$(INSTALL_SBIN_DIR)"; \ +- if [[ -n "$$2" ]]; then \ +- $(ECHO) " INSTALL $$2"; \ +- else \ +- $(ECHO) " INSTALL $^ ($$dir/$^)"; \ +- fi; \ + $(INSTALL) -o $(INSTALL_OWNER) -g $(INSTALL_GROUP) \ + -d "$$dir"; \ + $(INSTALL) -o $(INSTALL_OWNER) -g $(INSTALL_GROUP) -m 0644 \ +@@ -139,13 +128,8 @@ INSTALL_SBIN_MACRO = \ + install_sbin_func + + INSTALL_BIN_MACRO = \ +- @install_bin_func() { \ ++ install_bin_func() { \ + dir="$(INSTALL_BIN_DIR)"; \ +- if [[ -n "$$2" ]]; then \ +- $(ECHO) " INSTALL $$2"; \ +- else \ +- $(ECHO) " INSTALL $^ ($$dir/$^)"; \ +- fi; \ + $(INSTALL) -o $(INSTALL_OWNER) -g $(INSTALL_GROUP) \ + -d "$$dir"; \ + $(INSTALL) -o $(INSTALL_OWNER) -g $(INSTALL_GROUP) -m 0644 \ +@@ -154,13 +138,8 @@ INSTALL_BIN_MACRO = \ + install_bin_func + + INSTALL_LIB_MACRO = \ +- @install_lib_func() { \ ++ install_lib_func() { \ + dir="$(INSTALL_LIB_DIR)"; \ +- if [[ -n "$$2" ]]; then \ +- $(ECHO) " INSTALL $$2"; \ +- else \ +- $(ECHO) " INSTALL $^ ($$dir/$^)"; \ +- fi; \ + basename=$$(echo $^ | sed -e 's/.so.*$$/.so/'); \ + soname=$$(objdump -p $^ | grep "SONAME" | awk '{print $$2}'); \ + $(INSTALL) -o $(INSTALL_OWNER) -g $(INSTALL_GROUP) \ +@@ -179,13 +158,8 @@ INSTALL_LIB_MACRO = \ + install_lib_func + + INSTALL_INC_MACRO = \ +- @install_inc_func() { \ ++ install_inc_func() { \ + dir="$(INSTALL_INC_DIR)"; \ +- if [[ -n "$$2" ]]; then \ +- $(ECHO) " INSTALL $$2"; \ +- else \ +- $(ECHO) " INSTALL $^ ($$dir/$^)"; \ +- fi; \ + $(INSTALL) -o $(INSTALL_OWNER) -g $(INSTALL_GROUP) \ + -d "$$dir"; \ + $(INSTALL) -o $(INSTALL_OWNER) -g $(INSTALL_GROUP) -m 0644 \ +@@ -194,13 +168,8 @@ INSTALL_INC_MACRO = \ + install_inc_func + + INSTALL_MAN_MACRO = \ +- @install_man_func() { \ ++ install_man_func() { \ + dir="$(INSTALL_MAN_DIR)"/"$$1"; \ +- if [[ -n "$$2" ]]; then \ +- $(ECHO) " INSTALL $$2"; \ +- else \ +- $(ECHO) " INSTALL $^ ($$dir/$^)"; \ +- fi; \ + $(INSTALL) -o $(INSTALL_OWNER) -g $(INSTALL_GROUP) \ + -d "$$dir"; \ + $(INSTALL) -o $(INSTALL_OWNER) -g $(INSTALL_GROUP) -m 0644 \ +diff -purN libseccomp-0.1.0.orig/Makefile libseccomp-0.1.0/Makefile +--- libseccomp-0.1.0.orig/Makefile 2012-06-06 17:11:38.000000000 -0400 ++++ libseccomp-0.1.0/Makefile 2012-06-13 14:12:16.289001238 -0400 +@@ -73,14 +73,14 @@ $(VERSION_HDR): version_info.mk + + $(SUBDIRS_BUILD): $(VERSION_HDR) $(CONFIGS) + @echo "INFO: building in directory $@/ ..." +- @$(MAKE) -s -C $@ ++ $(MAKE) -C $@ + + install: $(SUBDIRS_BUILD) + @echo "INFO: installing in $(INSTALL_PREFIX) ..." + @$(INSTALL_MACRO) $(INSTALL_LIB_DIR)/pkgconfig libseccomp.pc + @for dir in $(SUBDIRS_INSTALL); do \ + echo "INFO: installing from $$dir/"; \ +- $(MAKE) -s -C $$dir install; \ ++ $(MAKE) -C $$dir install; \ + done + + ctags: diff --git a/libseccomp.spec b/libseccomp.spec new file mode 100644 index 0000000..d88b80d --- /dev/null +++ b/libseccomp.spec @@ -0,0 +1,67 @@ +Summary: Enhanced seccomp library +Name: libseccomp +Version: 0.1.0 +Release: 0%{?dist} +License: LGPLv2 +Group: System Environment/Libraries +Source: http://downloads.sf.net/project/libseccomp/%{name}-%{version}.tar.gz +URL: http://libseccomp.sourceforge.net +Requires: kernel >= 3.5 + +# force the build process to be as verbose as possible, nothing is hidden +Patch1: libseccomp-0.1.0-build_verbose.patch + +%description +The libseccomp library provides an easy to use interface to the Linux Kernel's +syscall filtering mechanism, seccomp. The libseccomp API allows an application +to specify which syscalls, and optionally which syscall arguments, the +application is allowed to execute, all of which are enforced by the Linux +Kernel. + +%package devel +Summary: Development files used to build applications with libseccomp support +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} pkgconfig + +%description devel +The libseccomp library provides an easy to use interface to the Linux Kernel's +syscall filtering mechanism, seccomp. The libseccomp API allows an application +to specify which syscalls, and optionally which syscall arguments, the +application is allowed to execute, all of which are enforced by the Linux +Kernel. + +%prep +%setup -q +%patch1 -p1 + +%build +./configure --prefix="%{_prefix}" --libdir="%{_libdir}" +CFLAGS="%{optflags}" make + +%install +rm -rf "%{buildroot}" +mkdir -p "%{buildroot}/%{_libdir}" +mkdir -p "%{buildroot}/%{_includedir}" +mkdir -p "%{buildroot}/%{_mandir}" +make DESTDIR="%{buildroot}" install + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%files +%doc LICENSE +%doc CREDITS +%doc README +%{_libdir}/libseccomp.so.* + +%files devel +%{_includedir}/seccomp.h +%{_libdir}/libseccomp.so +%{_libdir}/pkgconfig/libseccomp.pc +%{_mandir}/man3/* + +%changelog +* Tue Jun 12 2012 Paul Moore - 0.1.0-0 +- Initial version + diff --git a/sources b/sources index e69de29..657fc49 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +60c1c9b94fa46597800652131f5ebe97 libseccomp-0.1.0.tar.gz