Josh asked me to look through the autotools work. Here are the issues I have found with the libsepol package: 1. In configure.ac, the AC_INIT macro is not filled out; 2. Within libsepol/src/Makefile.am, the internal header files are not assigned to COMMONSRC; 3. Within utils/Makefile.am, the builddir for utils is not necessarily sibling to src; 4. libsepol is being installed to $(LIBDIR). In this case, it should default to the system library. 5. Most importantly, the unit tests are not built nor run. I resolved the first three issues with the patch below. After applying the changes, 'make distcheck' succeeded for me. For the fourth issue, consider adding to configure.ac an AC_ARG_WITH, "--with-libsepol-dir", that sets the location to install libsepol.so. This would default to /lib or /lib64, depending upon the target architecture. For the fifth issue, the enable_tests variable ought to default to yes, and then conditional compiliation be used to actually compile and run those tests. -- Jason Tang / jtang@xxxxxxxxxx
diff --git a/libsepol/configure.ac b/libsepol/configure.ac index 6678f77..0a0a7f8 100644 --- a/libsepol/configure.ac +++ b/libsepol/configure.ac @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.61) -AC_INIT([libsepol], [1] BUG-REPORT-ADDRESS) +AC_INIT([libsepol], 2.0.32, selinux@xxxxxxxxxxxxx) AM_INIT_AUTOMAKE AC_CONFIG_SRCDIR([utils/chkcon.c]) AC_CONFIG_HEADER([config.h]) diff --git a/libsepol/src/Makefile.am b/libsepol/src/Makefile.am index 348a465..55c8d8e 100644 --- a/libsepol/src/Makefile.am +++ b/libsepol/src/Makefile.am @@ -6,7 +6,22 @@ COMMONSRC = assertion.c conditional.c ebitmap.c hashtab.c \ node_record.c policydb_public.c sidtab.c write.c \ boolean_record.c context_record.c genusers.c interfaces.c \ nodes.c port_record.c symtab.c booleans.c \ - debug.c handle.c link.c polcaps.c ports.c user_record.c + debug.c handle.c link.c polcaps.c ports.c user_record.c \ + av_permissions.h \ + boolean_internal.h \ + context.h \ + context_internal.h \ + debug.h \ + dso.h \ + handle.h \ + iface_internal.h \ + mls.h \ + module_internal.h \ + node_internal.h \ + policydb_internal.h \ + port_internal.h \ + private.h \ + user_internal.h lib_LTLIBRARIES = libsepol.la libsepol_la_SOURCES = $(COMMONSRC) libsepol_la_CPPFLAGS = \ diff --git a/libsepol/utils/Makefile.am b/libsepol/utils/Makefile.am index 0c41aec..fe887da 100644 --- a/libsepol/utils/Makefile.am +++ b/libsepol/utils/Makefile.am @@ -2,5 +2,5 @@ bin_PROGRAMS = chkcon AM_LDFLAGS = -Wl,--as-needed AM_CPPFLAGS = -I$(abs_top_srcdir)/include chkcon_SOURCES = chkcon.c -chkcon_DEPENDENCIES = $(builddir)/../src/libsepol.la -chkcon_LDFLAGS = -lsepol -L$(builddir)/../src +chkcon_DEPENDENCIES = $(top_builddir)/src/libsepol.la +chkcon_LDFLAGS = -lsepol -L$(top_builddir)/src