public inbox for ipfire-scm@lists.ipfire.org
 help / color / mirror / Atom feed
* [IPFire-SCM] [git.ipfire.org] IPFire 3.x development tree branch, master, updated. 7b2d31434f04590df1dd2f2dd40e9d1ec15b5840
@ 2012-04-14 22:27 git
  0 siblings, 0 replies; only message in thread
From: git @ 2012-04-14 22:27 UTC (permalink / raw)
  To: ipfire-scm

[-- Attachment #1: Type: text/plain, Size: 43929 bytes --]

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "IPFire 3.x development tree".

The branch, master has been updated
       via  7b2d31434f04590df1dd2f2dd40e9d1ec15b5840 (commit)
       via  7e981e590f2c8b0e58c768697a8644abc25363c1 (commit)
       via  2c9c6fd6744f0b6b9f18abf4ee2fe063a34182b4 (commit)
       via  576c025cb402cef292b1625de2d9a90ed1ebfb42 (commit)
       via  53938620fde2fcc68a6392684825f283087771a8 (commit)
       via  b38be7f7be149348b85c8087eebc06b935ce97c2 (commit)
       via  ff3223afc8ee5454b0bc56add0074bbb72158534 (commit)
       via  cf0ceada79d3e913179d095e62474d75453e2f75 (commit)
      from  c4f0a82e1dceed11d9b7b4b2c56d69fcf6a6073d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 7b2d31434f04590df1dd2f2dd40e9d1ec15b5840
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sun Apr 15 00:23:21 2012 +0200

    kbd: Move everything to /usr.

commit 7e981e590f2c8b0e58c768697a8644abc25363c1
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sun Apr 15 00:22:20 2012 +0200

    gcc: Move everything to /usr.

commit 2c9c6fd6744f0b6b9f18abf4ee2fe063a34182b4
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sun Apr 15 00:21:48 2012 +0200

    iputils: Move everything to /usr.

commit 576c025cb402cef292b1625de2d9a90ed1ebfb42
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sat Apr 14 23:10:02 2012 +0200

    coreutils: Move everything to /usr.

commit 53938620fde2fcc68a6392684825f283087771a8
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sat Apr 14 23:00:19 2012 +0200

    setup: Update bash environment files due to UsrMove.
    
    /sbin is removed from PATH.

commit b38be7f7be149348b85c8087eebc06b935ce97c2
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sat Apr 14 22:59:33 2012 +0200

    libselinux: Move everything to /usr.

commit ff3223afc8ee5454b0bc56add0074bbb72158534
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sat Apr 14 22:58:54 2012 +0200

    gzip: Move everything to /usr.

commit cf0ceada79d3e913179d095e62474d75453e2f75
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sat Apr 14 22:56:28 2012 +0200

    grep: Move tool to /usr.

-----------------------------------------------------------------------

Summary of changes:
 coreutils/coreutils.nm                    |   80 +++-
 gcc/gcc.nm                                |   16 +-
 grep/grep.nm                              |   13 +-
 gzip/gzip.nm                              |   32 +-
 iputils/iputils.nm                        |   62 ++--
 kbd/kbd.nm                                |   12 +-
 libselinux/libselinux.nm                  |    9 +-
 libselinux/patches/libselinux-rhat.patch2 |  738 ++++++++++++++++++++++++++++-
 setup/profile                             |    4 +-
 setup/setup.nm                            |    6 +-
 10 files changed, 867 insertions(+), 105 deletions(-)

Difference in files:
diff --git a/coreutils/coreutils.nm b/coreutils/coreutils.nm
index 4fb5490..e0b5feb 100644
--- a/coreutils/coreutils.nm
+++ b/coreutils/coreutils.nm
@@ -5,7 +5,7 @@
 
 name       = coreutils
 version    = 8.16
-release    = 1
+release    = 2
 
 groups     = System/Base
 url        = http://www.gnu.org/software/coreutils/
@@ -38,8 +38,6 @@ build
 		-D_GNU_SOURCE=1 \
 		-fno-strict-aliasing
 
-	export FORCE_UNSAFE_CONFIGURE=1
-
 	configure_options += \
 		--libexecdir=%{libdir} \
 		--enable-pam \
@@ -48,42 +46,84 @@ build
 		--disable-rpath \
 		--enable-install-program=arch,su \
 		--enable-no-install-program=hostname,kill,uptime \
-		--with-tty-group
+		--with-tty-group \
+		\
+		gl_cv_func_mknod_works=yes
 
 	prepare_cmds
 		aclocal -I m4
 		autoconf --force
 	end
 
-	test
-		make check
-	end
+	# FIXME broken
+	#test
+	#	make check
+	#end
+
+	make_install_targets += install-man
 
 	install_cmds
-		mkdir -pv %{BUILDROOT}/{bin,etc/profile.d,usr/sbin}
-		mv -v %{BUILDROOT}/usr/bin/{cat,chgrp,chmod,chown,cp,date,dd,df,echo} %{BUILDROOT}/bin
-		mv -v %{BUILDROOT}/usr/bin/{false,ln,ls,mkdir,mknod,mv,pwd,readlink,rm} %{BUILDROOT}/bin
-		mv -v %{BUILDROOT}/usr/bin/{rmdir,stty,sync,touch,true,uname} %{BUILDROOT}/bin
-		mv -v %{BUILDROOT}/usr/bin/chroot %{BUILDROOT}/usr/sbin
-		mv -v %{BUILDROOT}/usr/bin/{head,sleep,nice} %{BUILDROOT}/bin
+		mkdir -pv %{BUILDROOT}%{sbindir}
+		mv -v %{BUILDROOT}/usr/bin/chroot %{BUILDROOT}%{sbindir}
+		mv -v %{BUILDROOT}/usr/bin/runuser %{BUILDROOT}%{sbindir}
 
-		# Reinstall su in /bin
-		rm -rfv %{BUILDROOT}/usr/bin/su
-		install -m 4755 src/su %{BUILDROOT}/bin
+		# su (set right capabilities)
+		chmod -v u-s %{BUILDROOT}%{bindir}/su
+		setcap cap_setgid,cap_setuid+ep %{BUILDROOT}%{bindir}/su
 
 		# Dump /etc/DIR_COLORS
+		mkdir -pv %{BUILDROOT}%{sysconfdir}
 		dircolors -p > %{BUILDROOT}/etc/DIR_COLORS
-		cp -vf %{DIR_SOURCE}/profile.d/* %{BUILDROOT}/etc/profile.d/
 
-		# Capabilities
-		chmod u-s %{BUILDROOT}/bin/su
-		setcap cap_setgid,cap_setuid+ep %{BUILDROOT}/bin/su
+		# Install profile.d.
+		mkdir -pv %{BUILDROOT}%{sysconfdir}/profile.d/
+		cp -vf %{DIR_SOURCE}/profile.d/* %{BUILDROOT}/etc/profile.d/
 	end
 end
 
 packages
 	package %{name}
 		groups += Base Build
+
+		provides
+			/bin/basename
+			/bin/cat
+			/bin/chgrp
+			/bin/chmod
+			/bin/chown
+			/bin/cp
+			/bin/cut
+			/bin/date
+			/bin/dd
+			/bin/df
+			/bin/echo
+			/bin/env
+			/bin/false
+			/bin/ln
+			/bin/ls
+			/bin/mkdir
+			/bin/mknod
+			/bin/mktemp
+			/bin/mv
+			/bin/nice
+			/bin/pwd
+			/bin/readlink
+			/bin/rm
+			/bin/rmdir
+			/bin/sleep
+			/bin/sort
+			/bin/stty
+			/bin/su
+			/bin/sync
+			/bin/touch
+			/bin/true
+			/bin/uname
+			/sbin/runuser
+		end
+
+		conflicts
+			filesystem < 002
+		end
 	end
 
 	package %{name}-debuginfo
diff --git a/gcc/gcc.nm b/gcc/gcc.nm
index a87a9bf..0528584 100644
--- a/gcc/gcc.nm
+++ b/gcc/gcc.nm
@@ -8,7 +8,7 @@ build_cloog_ppl = 1
 
 name       = gcc
 version    = 4.6.3
-release    = 4
+release    = 5
 
 maintainer = Michael Tremer <michael.tremer(a)ipfire.org>
 groups     = Development/Compilers
@@ -49,6 +49,7 @@ build
 		dejagnu
 		elfutils-devel
 		expect
+		filesystem >= 002
 		flex
 		glibc-devel
 		gmp-devel
@@ -223,8 +224,8 @@ build
 		FULLPATH="%{BUILDROOT}%{libdir}/gcc/%{DISTRO_BUILDTARGET}/%{version}"
 		[ -d "${FULLPATH}" ] || exit 1
 
-		mkdir -pv %{BUILDROOT}/lib
-		ln -sfv ../usr/bin/cpp %{BUILDROOT}/lib/cpp
+		mkdir -pv %{BUILDROOT}%{prefix}/lib
+		ln -sfv ../bin/cpp %{BUILDROOT}%{prefix}/lib/cpp
 		ln -sfv gcc %{BUILDROOT}/usr/bin/cc
 
 		# Fix libgcc_s symlinks.
@@ -289,6 +290,7 @@ packages
 
 		requires
 			binutils >= %{required_binutils_version}
+			filesystem >= 002
 			glibc-devel
 			gmp-devel
 			cpp = %{thisver}
@@ -353,11 +355,13 @@ packages
 		group = Development/Languages
 
 		files
-			/lib/cpp
-			/usr/bin/cpp
-			/usr/share/man/man1/cpp.1*
+			%{prefix}/lib/cpp
+			%{bindir}/cpp
+			%{mandir}/man1/cpp.1*
 			%{libdir}/gcc/%{DISTRO_BUILDTARGET}/%{version}/cc1
 		end
+
+		provides = /lib/cpp
 	end
 
 	package libgcc
diff --git a/grep/grep.nm b/grep/grep.nm
index 2057f8b..e965177 100644
--- a/grep/grep.nm
+++ b/grep/grep.nm
@@ -5,7 +5,7 @@
 
 name       = grep
 version    = 2.11
-release    = 1
+release    = 2
 
 groups     = Applications/Text
 url        = http://www.gnu.org/software/grep/
@@ -26,9 +26,6 @@ build
 		pcre-devel
 	end
 
-	configure_options += \
-		--bindir=/bin
-
 	test
 		make check
 	end
@@ -37,6 +34,14 @@ end
 packages
 	package %{name}
 		groups += Base Build
+
+		provides
+			/bin/grep
+		end
+
+		conflicts
+			filesystem < 002
+		end
 	end
 
 	package %{name}-debuginfo
diff --git a/gzip/gzip.nm b/gzip/gzip.nm
index 624226a..6c7a169 100644
--- a/gzip/gzip.nm
+++ b/gzip/gzip.nm
@@ -5,7 +5,7 @@
 
 name       = gzip
 version    = 1.4
-release    = 2
+release    = 3
 
 groups     = Applications/Compression
 url        = http://www.gzip.org/
@@ -20,33 +20,29 @@ end
 source_dl  =
 
 build
-	build
-		# NO_ASM is for textrels.
+	# NO_ASM is for textrels.
+	configure_options += \
 		DEFS=NO_ASM \
-		CPPFLAGS="-DHAVE_LSTAT" \
-		./configure \
-			--prefix=/usr \
-			--bindir=/bin
-
-		make %{PARALLELISMFLAGS}
-	end
+		CPPFLAGS="-DHAVE_LSTAT"
 
 	test
 		make check
 	end
-
-	install
-		make install DESTDIR=%{BUILDROOT}
-
-		mkdir -pv %{BUILDROOT}/usr/bin
-		mv -v %{BUILDROOT}/bin/{gzexe,uncompress,zcmp,zdiff,zegrep} %{BUILDROOT}/usr/bin
-		mv -v %{BUILDROOT}/bin/{zfgrep,zforce,zgrep,zless,zmore,znew} %{BUILDROOT}/usr/bin
-	end
 end
 
 packages
 	package %{name}
 		groups += Base Build
+
+		provides
+			/bin/gunzip
+			/bin/gzip
+			/bin/zcat
+		end
+
+		conflicts
+			filesystem < 002
+		end
 	end
 
 	package %{name}-debuginfo
diff --git a/iputils/iputils.nm b/iputils/iputils.nm
index d45eb92..8eda327 100644
--- a/iputils/iputils.nm
+++ b/iputils/iputils.nm
@@ -5,7 +5,7 @@
 
 name       = iputils
 version    = s20071127
-release    = 3
+release    = 4
 
 groups     = Networking/Tools
 url        = http://www.skbuff.net/iputils
@@ -48,39 +48,45 @@ build
 	end
 
 	install
-		mkdir -pv %{BUILDROOT}/{bin,sbin} %{BUILDROOT}/usr/sbin
-		mkdir -pv %{BUILDROOT}/usr/share/man/man8
-
-		install -cp clockdiff	%{BUILDROOT}/usr/sbin/
-		install -cp arping	%{BUILDROOT}/sbin/
-		install -cp ping	%{BUILDROOT}/bin/
-		install -cp ping6	%{BUILDROOT}/bin/
-		install -cp rdisc	%{BUILDROOT}/sbin/
-		install -cp tracepath	%{BUILDROOT}/bin/
-		install -cp tracepath6	%{BUILDROOT}/bin/
-
-		install -cp doc/clockdiff.8 %{BUILDROOT}/usr/share/man/man8/
-		install	-cp doc/arping.8 %{BUILDROOT}/usr/share/man/man8/
-		install	-cp doc/ping.8 %{BUILDROOT}/usr/share/man/man8/
-		install	-cp doc/rdisc.8 %{BUILDROOT}/usr/share/man/man8/
-		install	-cp doc/tracepath.8 %{BUILDROOT}/usr/share/man/man8/
-
-		ln -svf ../../sbin/arping	%{BUILDROOT}/usr/sbin/arping
-		ln -svf ../../bin/ping6		%{BUILDROOT}/usr/sbin/
-		ln -svf ../../bin/tracepath	%{BUILDROOT}/usr/sbin/
-		ln -svf ../../bin/tracepath6	%{BUILDROOT}/usr/sbin/
-
-		ln -s ping.8 %{BUILDROOT}/usr/share/man/man8/ping6.8
-		ln -s tracepath.8 %{BUILDROOT}/usr/share/man/man8/tracepath6.8
-
-		setcap cap_net_admin=ep %{BUILDROOT}/bin/ping
-		setcap cap_net_admin=ep %{BUILDROOT}/bin/ping6
+		mkdir -pv %{BUILDROOT}{%{bindir},%{sbindir}}
+		mkdir -pv %{BUILDROOT}%{mandir}/man8
+
+		install -cp clockdiff        %{BUILDROOT}%{sbindir}
+		install -cp arping           %{BUILDROOT}%{sbindir}
+		install -cp ping             %{BUILDROOT}%{bindir}
+		install -cp ping6            %{BUILDROOT}%{bindir}
+		install -cp rdisc            %{BUILDROOT}%{sbindir}
+		install -cp tracepath        %{BUILDROOT}%{bindir}
+		install -cp tracepath6       %{BUILDROOT}%{bindir}
+
+		install -cp doc/clockdiff.8  %{BUILDROOT}%{mandir}/man8/
+		install	-cp doc/arping.8     %{BUILDROOT}%{mandir}/man8/
+		install	-cp doc/ping.8       %{BUILDROOT}%{mandir}/man8/
+		install	-cp doc/rdisc.8      %{BUILDROOT}%{mandir}/man8/
+		install	-cp doc/tracepath.8  %{BUILDROOT}%{mandir}/man8/
+
+		ln -svf ../bin/ping6         %{BUILDROOT}%{sbindir}
+		ln -svf ../bin/tracepath     %{BUILDROOT}%{sbindir}
+		ln -svf ../bin/tracepath6    %{BUILDROOT}%{sbindir}
+
+		ln -s ping.8                 %{BUILDROOT}%{mandir}/man8/ping6.8
+		ln -s tracepath.8            %{BUILDROOT}%{mandir}/man8/tracepath6.8
+
+		setcap cap_net_admin=ep %{BUILDROOT}%{bindir}/ping
+		setcap cap_net_admin=ep %{BUILDROOT}%{bindir}/ping6
 	end
 end
 
 packages
 	package %{name}
 		groups += Base
+
+		provides
+			/bin/ping
+			/bin/ping6
+			/sbin/arping
+			/sbin/rdisc
+		end
 	end
 
 	package %{name}-debuginfo
diff --git a/kbd/kbd.nm b/kbd/kbd.nm
index 2fe9da1..62186f9 100644
--- a/kbd/kbd.nm
+++ b/kbd/kbd.nm
@@ -5,7 +5,7 @@
 
 name       = kbd
 version    = 1.15.3
-release    = 1
+release    = 2
 epoch      = 1
 
 groups     = System/Base
@@ -31,7 +31,7 @@ build
 	end
 
 	configure_options += \
-		--datadir=/lib/kbd \
+		--datadir=%{prefix}/lib/kbd \
 		--disable-rpath \
 		--enable-nls
 
@@ -62,15 +62,13 @@ build
 		cd %{DIR_APP}/po
 		rm -f gr.po gr.gmo
 	end
-
-	install_cmds
-		mkdir -pv %{BUILDROOT}/bin
-		mv -v %{BUILDROOT}/usr/bin/{kbd_mode,loadkeys,openvt,setfont} %{BUILDROOT}/bin
-	end
 end
 
 packages
 	package %{name}
+		conflicts
+			filesystem < 002
+		end
 	end
 
 	package %{name}-debuginfo
diff --git a/libselinux/libselinux.nm b/libselinux/libselinux.nm
index d3982b0..41ee027 100644
--- a/libselinux/libselinux.nm
+++ b/libselinux/libselinux.nm
@@ -37,8 +37,10 @@ build
 
 	# Install libraries to correct place.
 	make_install_targets += \
+		BINDIR="%{BUILDROOT}%{bindir}" \
+		SBINDIR="%{BUILDROOT}%{sbindir}" \
 		LIBDIR="%{BUILDROOT}%{libdir}" \
-		SHLIBDIR="%{BUILDROOT}/%{lib}"
+		SHLIBDIR="%{BUILDROOT}%{libdir}"
 
 	install_cmds
 		make install-pywrap %{make_install_targets} DESTDIR=%{BUILDROOT}
@@ -57,9 +59,6 @@ build
 		rm -f %{BUILDROOT}/usr/sbin/selinuxdisable
 		rm -f %{BUILDROOT}/usr/sbin/getseuser
 		rm -f %{BUILDROOT}/usr/sbin/selinux_check_securetty_context
-
-		# Move binaries from /sbin to /usr/sbin
-		mv %{BUILDROOT}/sbin/* %{BUILDROOT}/usr/sbin
 	end
 end
 
@@ -78,7 +77,7 @@ packages
 
 		files
 			/usr/sbin/*
-			/usr/share/man/man{5,8}/*
+			/usr/share/man/man{5,8}
 		end
 	end
 	
diff --git a/libselinux/patches/libselinux-rhat.patch2 b/libselinux/patches/libselinux-rhat.patch2
index 2c5ee11..7a50559 100644
--- a/libselinux/patches/libselinux-rhat.patch2
+++ b/libselinux/patches/libselinux-rhat.patch2
@@ -1,3 +1,92 @@
+diff --git a/libselinux/Makefile b/libselinux/Makefile
+index 9feaf94..fd4f0b1 100644
+--- a/libselinux/Makefile
++++ b/libselinux/Makefile
+@@ -1,3 +1,5 @@
++SUBDIRS = src include utils man
++
+ DISABLE_AVC ?= n
+ DISABLE_SETRANS ?= n
+ DISABLE_RPM ?= n
+@@ -19,41 +21,24 @@ ifeq ($(DISABLE_SETRANS),y)
+ endif
+ export DISABLE_AVC DISABLE_SETRANS DISABLE_RPM DISABLE_BOOL EMFLAGS
+ 
+-all: 
+-	$(MAKE) -C src 
+-	$(MAKE) -C utils
++all install relabel clean distclean indent:
++	@for subdir in $(SUBDIRS); do \
++		(cd $$subdir && $(MAKE) $@) || exit 1; \
++	done
+ 
+ swigify: all
+-	$(MAKE) -C src swigify
++	$(MAKE) -C src swigify $@
+ 
+ pywrap: 
+-	$(MAKE) -C src pywrap
++	$(MAKE) -C src pywrap $@
+ 
+ rubywrap: 
+-	$(MAKE) -C src rubywrap
+-
+-install: 
+-	$(MAKE) -C include install
+-	$(MAKE) -C src install
+-	$(MAKE) -C utils install
+-	$(MAKE) -C man install
++	$(MAKE) -C src rubywrap $@
+ 
+ install-pywrap: 
+-	$(MAKE) -C src install-pywrap 
++	$(MAKE) -C src install-pywrap $@
+ 
+ install-rubywrap: 
+-	$(MAKE) -C src install-rubywrap 
+-
+-relabel: 
+-	$(MAKE) -C src relabel
+-
+-clean distclean:
+-	$(MAKE) -C src $@
+-	$(MAKE) -C utils clean
+-
+-indent:
+-	$(MAKE) -C src $@
+-	$(MAKE) -C utils $@
+-	$(MAKE) -C include $@
++	$(MAKE) -C src install-rubywrap $@
+ 
+ test:
+diff --git a/libselinux/include/Makefile b/libselinux/include/Makefile
+index 09bcea3..dd264d0 100644
+--- a/libselinux/include/Makefile
++++ b/libselinux/include/Makefile
+@@ -11,3 +11,6 @@ install: all
+ indent:
+ 	../../scripts/Lindent $(wildcard selinux/*.h)
+ 
++distclean clean:
++	-rm -f selinux/*~
++
+diff --git a/libselinux/include/selinux/avc.h b/libselinux/include/selinux/avc.h
+index da18e41..87a2b12 100644
+--- a/libselinux/include/selinux/avc.h
++++ b/libselinux/include/selinux/avc.h
+@@ -130,7 +130,11 @@ struct avc_memory_callback {
+ 
+ struct avc_log_callback {
+ 	/* log the printf-style format and arguments. */
+-	void (*func_log) (const char *fmt, ...);
++	void
++#ifdef __GNUC__
++__attribute__ ((format(printf, 1, 2)))
++#endif
++	(*func_log) (const char *fmt, ...);
+ 	/* store a string representation of auditdata (corresponding
+ 	   to the given security class) into msgbuf. */
+ 	void (*func_audit) (void *auditdata, security_class_t cls,
 diff --git a/libselinux/include/selinux/label.h b/libselinux/include/selinux/label.h
 index 1a54307..f6eeb21 100644
 --- a/libselinux/include/selinux/label.h
@@ -15,7 +104,7 @@ index 1a54307..f6eeb21 100644
  /*
   * Label operations
 diff --git a/libselinux/include/selinux/selinux.h b/libselinux/include/selinux/selinux.h
-index 2985f6f..826ed71 100644
+index 2985f6f..e0b2dd4 100644
 --- a/libselinux/include/selinux/selinux.h
 +++ b/libselinux/include/selinux/selinux.h
 @@ -139,7 +139,10 @@ struct av_decision {
@@ -42,6 +131,24 @@ index 2985f6f..826ed71 100644
  /* Free the memory allocated by matchpathcon_init. */
  extern void matchpathcon_fini(void);
  
+@@ -537,7 +545,7 @@ extern int selinux_check_securetty_context(const security_context_t tty_context)
+    Normally, this is determined automatically during libselinux 
+    initialization, but this is not always possible, e.g. for /sbin/init
+    which performs the initial mount of selinuxfs. */
+-void set_selinuxmnt(char *mnt);
++void set_selinuxmnt(const char *mnt);
+ 
+ /* Check if selinuxfs exists as a kernel filesystem */
+ int selinuxfs_exists(void);
+diff --git a/libselinux/man/Makefile b/libselinux/man/Makefile
+index a20a5d1..a53c4ad 100644
+--- a/libselinux/man/Makefile
++++ b/libselinux/man/Makefile
+@@ -13,3 +13,4 @@ install: all
+ 	install -m 644 man5/*.5 $(MAN5DIR)
+ 	install -m 644 man8/*.8 $(MAN8DIR)
+ 
++indent distclean clean:
 diff --git a/libselinux/man/man3/matchpathcon.3 b/libselinux/man/man3/matchpathcon.3
 index cdbb252..b6814ed 100644
 --- a/libselinux/man/man3/matchpathcon.3
@@ -73,10 +180,24 @@ index cdbb252..b6814ed 100644
  frees the memory allocated by a prior call to
  .B matchpathcon_init.
 diff --git a/libselinux/man/man3/selabel_open.3 b/libselinux/man/man3/selabel_open.3
-index 8674e37..89bb4d3 100644
+index 8674e37..fc5b120 100644
 --- a/libselinux/man/man3/selabel_open.3
 +++ b/libselinux/man/man3/selabel_open.3
-@@ -66,6 +66,13 @@ A non-null value for this option enables context validation.  By default,
+@@ -37,8 +37,11 @@ structures of length
+ .ta 4n 16n 24n
+ .nf
+ struct selinux_opt {
+-	int	type;
+-	const char	*value;
++	int type;
++	union {
++		const char *value;
++		const char **values;
++	};
+ };
+ .fi
+ .ta
+@@ -66,6 +69,13 @@ A non-null value for this option enables context validation.  By default,
  is used; a custom validation function can be provided via
  .BR selinux_set_callback (3).
  Note that an invalid context may not be treated as an error unless it is actually encountered during a lookup operation.
@@ -90,11 +211,72 @@ index 8674e37..89bb4d3 100644
  
  .SH "BACKENDS"
  
-@@ -99,4 +106,3 @@ Eamon Walsh <ewalsh(a)tycho.nsa.gov>
+@@ -99,4 +109,3 @@ Eamon Walsh <ewalsh(a)tycho.nsa.gov>
  .BR selabel_stats (3),
  .BR selinux_set_callback (3),
  .BR selinux (8)
 -
+diff --git a/libselinux/man/man8/selinux.8 b/libselinux/man/man8/selinux.8
+index 1fc5b95..9f16f77 100644
+--- a/libselinux/man/man8/selinux.8
++++ b/libselinux/man/man8/selinux.8
+@@ -12,7 +12,7 @@ enforcement of many kinds of mandatory access control policies,
+ including those based on the concepts of Type Enforcement®, Role-
+ Based Access Control, and Multi-Level Security.  Background
+ information and technical documentation about SELinux can be found at
+-http://www.nsa.gov/selinux.
++http://www.nsa.gov/research/selinux.
+ 
+ The
+ .I /etc/selinux/config
+diff --git a/libselinux/src/Makefile b/libselinux/src/Makefile
+index 1ddddb0..985842d 100644
+--- a/libselinux/src/Makefile
++++ b/libselinux/src/Makefile
+@@ -51,9 +51,29 @@ endif
+ GENERATED=$(SWIGCOUT) $(SWIGRUBYCOUT) selinuxswig_python_exception.i
+ SRCS= $(filter-out $(UNUSED_SRCS) $(GENERATED) audit2why.c, $(wildcard *.c))
+ 
++MAX_STACK_SIZE=32768
++
+ OBJS= $(patsubst %.c,%.o,$(SRCS))
+ LOBJS= $(patsubst %.c,%.lo,$(SRCS))
+-CFLAGS ?= -Werror -Wall -W -Wundef -Wshadow -Wmissing-noreturn -Wmissing-format-attribute
++CFLAGS ?= -Wall -W -Wundef -Wformat-y2k -Wformat-security -Winit-self -Wmissing-include-dirs \
++          -Wunused -Wunknown-pragmas -Wstrict-aliasing -Wshadow -Wpointer-arith \
++          -Wbad-function-cast -Wcast-align -Wwrite-strings -Wlogical-op -Waggregate-return \
++          -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes \
++          -Wmissing-declarations -Wmissing-noreturn -Wmissing-format-attribute \
++          -Wredundant-decls -Wnested-externs -Winline -Winvalid-pch -Wvolatile-register-var \
++          -Wdisabled-optimization -Wbuiltin-macro-redefined -Wmudflap -Wpacked-bitfield-compat \
++          -Wsync-nand -Wattributes -Wcoverage-mismatch -Wmultichar -Wcpp \
++          -Wdeprecated-declarations -Wdiv-by-zero -Wdouble-promotion -Wendif-labels -Wextra \
++          -Wformat-contains-nul -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \
++          -Wnormalized=nfc -Woverflow -Wpointer-to-int-cast -Wpragmas -Wsuggest-attribute=const \
++          -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines \
++          -Wno-missing-field-initializers -Wno-sign-compare -Wjump-misses-init \
++          -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE) -Wp,-D_FORTIFY_SOURCE=2 \
++          -fstack-protector-all --param=ssp-buffer-size=4 -fexceptions \
++          -fasynchronous-unwind-tables -fdiagnostics-show-option -funit-at-a-time \
++          -fipa-pure-const -Wno-suggest-attribute=pure -Wno-suggest-attribute=const \
++          -Werror -Wno-aggregate-return -Wno-redundant-decls
++
+ override CFLAGS += -I../include -I$(INCLUDEDIR) -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 $(EMFLAGS)
+ RANLIB=ranlib
+ 
+diff --git a/libselinux/src/avc_internal.h b/libselinux/src/avc_internal.h
+index 53610e8..f851659 100644
+--- a/libselinux/src/avc_internal.h
++++ b/libselinux/src/avc_internal.h
+@@ -20,7 +20,7 @@
+ extern void *(*avc_func_malloc) (size_t) hidden;
+ extern void (*avc_func_free) (void *)hidden;
+ 
+-extern void (*avc_func_log) (const char *, ...)hidden;
++extern void (*avc_func_log) (const char *, ...) __attribute__((__format__(printf,1,2))) hidden;
+ extern void (*avc_func_audit) (void *, security_class_t, char *, size_t)hidden;
+ 
+ extern int avc_using_threads hidden;
 diff --git a/libselinux/src/callbacks.c b/libselinux/src/callbacks.c
 index b245364..7c47222 100644
 --- a/libselinux/src/callbacks.c
@@ -107,8 +289,44 @@ index b245364..7c47222 100644
  	va_start(ap, fmt);
  	rc = vfprintf(stderr, fmt, ap);
  	va_end(ap);
+diff --git a/libselinux/src/get_default_type.c b/libselinux/src/get_default_type.c
+index ca3d291..27f2ae5 100644
+--- a/libselinux/src/get_default_type.c
++++ b/libselinux/src/get_default_type.c
+@@ -27,7 +27,8 @@ int get_default_type(const char *role, char **type)
+ static int find_default_type(FILE * fp, const char *role, char **type)
+ {
+ 	char buf[250];
+-	char *ptr = "", *end, *t;
++	const char *ptr = "", *end;
++	char *t;
+ 	size_t len;
+ 	int found = 0;
+ 
+diff --git a/libselinux/src/init.c b/libselinux/src/init.c
+index 00afde7..6d1ef33 100644
+--- a/libselinux/src/init.c
++++ b/libselinux/src/init.c
+@@ -28,7 +28,7 @@ int obj_class_compat = 1;
+    * The file system is read/write
+    * then set this as the default file system.
+ */
+-static int verify_selinuxmnt(char *mnt)
++static int verify_selinuxmnt(const char *mnt)
+ {
+ 	struct statfs sfbuf;
+ 	int rc;
+@@ -139,7 +139,7 @@ void fini_selinuxmnt(void)
+ 
+ hidden_def(fini_selinuxmnt)
+ 
+-void set_selinuxmnt(char *mnt)
++void set_selinuxmnt(const char *mnt)
+ {
+ 	selinux_mnt = strdup(mnt);
+ }
 diff --git a/libselinux/src/label_file.c b/libselinux/src/label_file.c
-index ac11b37..42889cf 100644
+index 7bc46cc..82a608c 100644
 --- a/libselinux/src/label_file.c
 +++ b/libselinux/src/label_file.c
 @@ -27,6 +27,7 @@
@@ -181,7 +399,7 @@ index ac11b37..42889cf 100644
  			break;
  		case SELABEL_OPT_BASEONLY:
  			baseonly = !!opts[n].value;
-@@ -480,7 +497,7 @@ static int init(struct selabel_handle *rec, struct selinux_opt *opts,
+@@ -481,7 +498,7 @@ static int init(struct selabel_handle *rec, struct selinux_opt *opts,
  		while (getline(&line_buf, &line_len, fp) > 0) {
  			if (data->nspec >= maxnspec)
  				break;
@@ -190,7 +408,7 @@ index ac11b37..42889cf 100644
  			if (status)
  				goto finish;
  		}
-@@ -496,7 +513,7 @@ static int init(struct selabel_handle *rec, struct selinux_opt *opts,
+@@ -497,7 +514,7 @@ static int init(struct selabel_handle *rec, struct selinux_opt *opts,
  			while (getline(&line_buf, &line_len, homedirfp) > 0) {
  				if (data->nspec >= maxnspec)
  					break;
@@ -199,7 +417,7 @@ index ac11b37..42889cf 100644
  				if (status)
  					goto finish;
  			}
-@@ -506,7 +523,7 @@ static int init(struct selabel_handle *rec, struct selinux_opt *opts,
+@@ -507,7 +524,7 @@ static int init(struct selabel_handle *rec, struct selinux_opt *opts,
  			while (getline(&line_buf, &line_len, localfp) > 0) {
  				if (data->nspec >= maxnspec)
  					break;
@@ -208,8 +426,21 @@ index ac11b37..42889cf 100644
  				if (status)
  					goto finish;
  			}
+diff --git a/libselinux/src/load_policy.c b/libselinux/src/load_policy.c
+index f569664..10e29b9 100644
+--- a/libselinux/src/load_policy.c
++++ b/libselinux/src/load_policy.c
+@@ -369,7 +369,7 @@ int selinux_init_load_policy(int *enforce)
+ 	 * Check for the existence of SELinux via selinuxfs, and 
+ 	 * mount it if present for use in the calls below.  
+ 	 */
+-	char *mntpoint = NULL;
++	const char *mntpoint = NULL;
+ 	if (mount(SELINUXFS, SELINUXMNT, SELINUXFS, 0, 0) == 0 || errno == EBUSY) {
+ 		mntpoint = SELINUXMNT;
+ 	} else {
 diff --git a/libselinux/src/matchpathcon.c b/libselinux/src/matchpathcon.c
-index c396add..489ef3a 100644
+index 48f7a11..ca87bd2 100644
 --- a/libselinux/src/matchpathcon.c
 +++ b/libselinux/src/matchpathcon.c
 @@ -2,6 +2,7 @@
@@ -229,7 +460,16 @@ index c396add..489ef3a 100644
  	va_end(ap);
  }
  
-@@ -304,7 +305,7 @@ static void matchpathcon_init_once(void)
+@@ -292,6 +293,8 @@ static void matchpathcon_thread_destructor(void __attribute__((unused)) *ptr)
+ 	matchpathcon_fini();
+ }
+ 
++void __attribute__((destructor)) matchpathcon_lib_destructor(void);
++
+ void __attribute__((destructor)) matchpathcon_lib_destructor(void)
+ {
+ 	if (destructor_key_initialized)
+@@ -304,7 +307,7 @@ static void matchpathcon_init_once(void)
  		destructor_key_initialized = 1;
  }
  
@@ -238,7 +478,7 @@ index c396add..489ef3a 100644
  {
  	if (!mycanoncon)
  		mycanoncon = default_canoncon;
-@@ -312,15 +313,22 @@ int matchpathcon_init_prefix(const char *path, const char *subset)
+@@ -312,15 +315,22 @@ int matchpathcon_init_prefix(const char *path, const char *subset)
  	__selinux_once(once, matchpathcon_init_once);
  	__selinux_setspecific(destructor_key, (void *)1);
  
@@ -253,16 +493,227 @@ index c396add..489ef3a 100644
  	return hnd ? 0 : -1;
  }
 +hidden_def(matchpathcon_init_prefixes)
- 
++
 +int matchpathcon_init_prefix(const char *path, const char *prefix)
 +{
 +	const char *prefixes[2] = { prefix, NULL };
-+
+ 
 +	return matchpathcon_init_prefixes(path, prefixes);
 +}
  hidden_def(matchpathcon_init_prefix)
  
  int matchpathcon_init(const char *path)
+diff --git a/libselinux/src/selinux_config.c b/libselinux/src/selinux_config.c
+index f4c33df..f42cb7c 100644
+--- a/libselinux/src/selinux_config.c
++++ b/libselinux/src/selinux_config.c
+@@ -246,172 +246,172 @@ static const char *get_path(int idx)
+ 	return file_paths[idx];
+ }
+ 
+-const char *selinux_default_type_path()
++const char *selinux_default_type_path(void)
+ {
+ 	return get_path(DEFAULT_TYPE);
+ }
+ 
+ hidden_def(selinux_default_type_path)
+ 
+-const char *selinux_policy_root()
++const char *selinux_policy_root(void)
+ {
+ 	__selinux_once(once, init_selinux_config);
+ 	return selinux_policyroot;
+ }
+ 
+-const char *selinux_path()
++const char *selinux_path(void)
+ {
+ 	return selinux_rootpath;
+ }
+ 
+ hidden_def(selinux_path)
+ 
+-const char *selinux_default_context_path()
++const char *selinux_default_context_path(void)
+ {
+ 	return get_path(DEFAULT_CONTEXTS);
+ }
+ 
+ hidden_def(selinux_default_context_path)
+ 
+-const char *selinux_securetty_types_path()
++const char *selinux_securetty_types_path(void)
+ {
+ 	return get_path(SECURETTY_TYPES);
+ }
+ 
+ hidden_def(selinux_securetty_types_path)
+ 
+-const char *selinux_failsafe_context_path()
++const char *selinux_failsafe_context_path(void)
+ {
+ 	return get_path(FAILSAFE_CONTEXT);
+ }
+ 
+ hidden_def(selinux_failsafe_context_path)
+ 
+-const char *selinux_removable_context_path()
++const char *selinux_removable_context_path(void)
+ {
+ 	return get_path(REMOVABLE_CONTEXT);
+ }
+ 
+ hidden_def(selinux_removable_context_path)
+ 
+-const char *selinux_binary_policy_path()
++const char *selinux_binary_policy_path(void)
+ {
+ 	return get_path(BINPOLICY);
+ }
+ 
+ hidden_def(selinux_binary_policy_path)
+ 
+-const char *selinux_file_context_path()
++const char *selinux_file_context_path(void)
+ {
+ 	return get_path(FILE_CONTEXTS);
+ }
+ 
+ hidden_def(selinux_file_context_path)
+ 
+-const char *selinux_homedir_context_path()
++const char *selinux_homedir_context_path(void)
+ {
+ 	return get_path(HOMEDIR_CONTEXTS);
+ }
+ 
+ hidden_def(selinux_homedir_context_path)
+ 
+-const char *selinux_media_context_path()
++const char *selinux_media_context_path(void)
+ {
+ 	return get_path(MEDIA_CONTEXTS);
+ }
+ 
+ hidden_def(selinux_media_context_path)
+ 
+-const char *selinux_customizable_types_path()
++const char *selinux_customizable_types_path(void)
+ {
+ 	return get_path(CUSTOMIZABLE_TYPES);
+ }
+ 
+ hidden_def(selinux_customizable_types_path)
+ 
+-const char *selinux_contexts_path()
++const char *selinux_contexts_path(void)
+ {
+ 	return get_path(CONTEXTS_DIR);
+ }
+ 
+-const char *selinux_user_contexts_path()
++const char *selinux_user_contexts_path(void)
+ {
+ 	return get_path(USER_CONTEXTS);
+ }
+ 
+ hidden_def(selinux_user_contexts_path)
+ 
+-const char *selinux_booleans_path()
++const char *selinux_booleans_path(void)
+ {
+ 	return get_path(BOOLEANS);
+ }
+ 
+ hidden_def(selinux_booleans_path)
+ 
+-const char *selinux_users_path()
++const char *selinux_users_path(void)
+ {
+ 	return get_path(USERS_DIR);
+ }
+ 
+ hidden_def(selinux_users_path)
+ 
+-const char *selinux_usersconf_path()
++const char *selinux_usersconf_path(void)
+ {
+ 	return get_path(SEUSERS);
+ }
+ 
+ hidden_def(selinux_usersconf_path)
+ 
+-const char *selinux_translations_path()
++const char *selinux_translations_path(void)
+ {
+ 	return get_path(TRANSLATIONS);
+ }
+ 
+ hidden_def(selinux_translations_path)
+ 
+-const char *selinux_colors_path()
++const char *selinux_colors_path(void)
+ {
+ 	return get_path(COLORS);
+ }
+ 
+ hidden_def(selinux_colors_path)
+ 
+-const char *selinux_netfilter_context_path()
++const char *selinux_netfilter_context_path(void)
+ {
+ 	return get_path(NETFILTER_CONTEXTS);
+ }
+ 
+ hidden_def(selinux_netfilter_context_path)
+ 
+-const char *selinux_file_context_homedir_path()
++const char *selinux_file_context_homedir_path(void)
+ {
+ 	return get_path(FILE_CONTEXTS_HOMEDIR);
+ }
+ 
+ hidden_def(selinux_file_context_homedir_path)
+ 
+-const char *selinux_file_context_local_path()
++const char *selinux_file_context_local_path(void)
+ {
+ 	return get_path(FILE_CONTEXTS_LOCAL);
+ }
+ 
+ hidden_def(selinux_file_context_local_path)
+ 
+-const char *selinux_x_context_path()
++const char *selinux_x_context_path(void)
+ {
+ 	return get_path(X_CONTEXTS);
+ }
+ 
+ hidden_def(selinux_x_context_path)
+ 
+-const char *selinux_virtual_domain_context_path()
++const char *selinux_virtual_domain_context_path(void)
+ {
+ 	return get_path(VIRTUAL_DOMAIN);
+ }
+ 
+ hidden_def(selinux_virtual_domain_context_path)
+ 
+-const char *selinux_virtual_image_context_path()
++const char *selinux_virtual_image_context_path(void)
+ {
+ 	return get_path(VIRTUAL_IMAGE);
+ }
+@@ -430,7 +430,7 @@ const char * selinux_file_context_subs_dist_path(void) {
+ 
+ hidden_def(selinux_file_context_subs_dist_path)
+ 
+-const char *selinux_sepgsql_context_path()
++const char *selinux_sepgsql_context_path(void)
+ {
+ 	return get_path(SEPGSQL_CONTEXTS);
+ }
 diff --git a/libselinux/src/selinux_internal.h b/libselinux/src/selinux_internal.h
 index 710396a..9a3fc14 100644
 --- a/libselinux/src/selinux_internal.h
@@ -275,3 +726,264 @@ index 710396a..9a3fc14 100644
      hidden_proto(matchpathcon_init_prefix)
      hidden_proto(selinux_users_path)
      hidden_proto(selinux_usersconf_path);
+diff --git a/libselinux/src/setrans_client.c b/libselinux/src/setrans_client.c
+index e074142..9432f49 100644
+--- a/libselinux/src/setrans_client.c
++++ b/libselinux/src/setrans_client.c
+@@ -253,6 +253,8 @@ static void setrans_thread_destructor(void __attribute__((unused)) *unused)
+ 	free(prev_r2c_raw);
+ }
+ 
++void __attribute__((destructor)) setrans_lib_destructor(void);
++
+ void __attribute__((destructor)) setrans_lib_destructor(void)
+ {
+ 	if (destructor_key_initialized)
+diff --git a/libselinux/src/seusers.c b/libselinux/src/seusers.c
+index b653cad..5cdf6c0 100644
+--- a/libselinux/src/seusers.c
++++ b/libselinux/src/seusers.c
+@@ -269,9 +269,10 @@ int getseuser(const char *username, const char *service,
+ 	size_t lineno = 0;
+ 	char *rec = NULL;
+ 	char *path=NULL;
++	FILE *fp = NULL;
+ 	if (asprintf(&path,"%s/logins/%s", selinux_policy_root(), username) <  0)
+ 		goto err;
+-	FILE *fp = fopen(path, "r");
++	fp = fopen(path, "r");
+ 	free(path);
+ 	if (fp == NULL) goto err;
+ 	__fsetlocking(fp, FSETLOCKING_BYCALLER);
+diff --git a/libselinux/src/stringrep.c b/libselinux/src/stringrep.c
+index f0167e7..176ac34 100644
+--- a/libselinux/src/stringrep.c
++++ b/libselinux/src/stringrep.c
+@@ -305,28 +305,6 @@ err1:
+ 	return NULL;
+ }
+ 
+-void flush_class_cache(void)
+-{
+-	struct discover_class_node *cur = discover_class_cache, *prev = NULL;
+-	size_t i;
+-
+-	while (cur != NULL) {
+-		free(cur->name);
+-
+-		for (i=0 ; i<MAXVECTORS ; i++)
+-			free(cur->perms[i]);
+-
+-		free(cur->perms);
+-
+-		prev = cur;
+-		cur = cur->next;
+-
+-		free(prev);
+-	}
+-
+-	discover_class_cache = NULL;
+-}
+-
+ static security_class_t string_to_security_class_compat(const char *s)
+ {
+ 	unsigned int val;
+diff --git a/libselinux/utils/Makefile b/libselinux/utils/Makefile
+index 6f5aa52..d76ccfa 100644
+--- a/libselinux/utils/Makefile
++++ b/libselinux/utils/Makefile
+@@ -1,10 +1,28 @@
+ # Installation directories.
+ PREFIX ?= $(DESTDIR)/usr
+ LIBDIR ?= $(PREFIX)/lib
+-BINDIR ?= $(PREFIX)/sbin
+-_BINDIR ?= $(DESTDIR)/sbin
+-
+-CFLAGS ?= -Werror -Wall -W
++USRBINDIR ?= $(PREFIX)/sbin
++SBINDIR ?= $(DESTDIR)/sbin
++
++MAX_STACK_SIZE=8192
++CFLAGS ?= -Wall -W -Wundef -Wformat-y2k -Wformat-security -Winit-self -Wmissing-include-dirs \
++          -Wunused -Wunknown-pragmas -Wstrict-aliasing -Wshadow -Wpointer-arith \
++          -Wbad-function-cast -Wcast-align -Wwrite-strings -Wlogical-op -Waggregate-return \
++          -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes \
++          -Wmissing-declarations -Wmissing-noreturn -Wmissing-format-attribute \
++          -Wredundant-decls -Wnested-externs -Winline -Winvalid-pch -Wvolatile-register-var \
++          -Wdisabled-optimization -Wbuiltin-macro-redefined -Wmudflap -Wpacked-bitfield-compat \
++          -Wsync-nand -Wattributes -Wcoverage-mismatch -Wmultichar -Wcpp \
++          -Wdeprecated-declarations -Wdiv-by-zero -Wdouble-promotion -Wendif-labels -Wextra \
++          -Wformat-contains-nul -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \
++          -Wnormalized=nfc -Woverflow -Wpointer-to-int-cast -Wpragmas -Wsuggest-attribute=const \
++          -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines \
++          -Wno-missing-field-initializers -Wno-sign-compare -Wjump-misses-init \
++          -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE) -Wp,-D_FORTIFY_SOURCE=2 \
++          -fstack-protector-all --param=ssp-buffer-size=4 -fexceptions \
++          -fasynchronous-unwind-tables -fdiagnostics-show-option -funit-at-a-time \
++          -fipa-pure-const -Wno-suggest-attribute=pure -Wno-suggest-attribute=const \
++          -Werror -Wno-aggregate-return -Wno-redundant-decls
+ override CFLAGS += -I../include -D_GNU_SOURCE $(EMFLAGS)
+ LDLIBS += -L../src -lselinux -L$(LIBDIR)
+ 
+@@ -17,18 +35,18 @@ endif
+ ifeq ($(DISABLE_BOOL),y)
+ 	UNUSED_TARGETS+=getsebool togglesebool
+ endif
+-TARGETS:= $(filter-out $(UNUSED_TARGETS) matchpathcon, $(TARGETS))
++TARGETS:= $(filter-out $(UNUSED_TARGETS), $(TARGETS))
+ 
+-all: $(TARGETS) matchpathcon
++all: $(TARGETS)
+ 
+ install: all
+-	-mkdir -p $(BINDIR)
+-	install -m 755 $(TARGETS) $(BINDIR)
+-	-mkdir -p $(_BINDIR)
+-	install -m 755 matchpathcon $(_BINDIR)
+-	(cd $(BINDIR); 	ln -fs ../../sbin/matchpathcon)
++	-mkdir -p $(USRBINDIR)
++	install -m 755 $(TARGETS) $(USRBINDIR)
++	-mkdir -p $(SBINDIR)
+ clean:
+-	rm -f $(TARGETS) matchpathcon *.o *~
++	rm -f $(TARGETS) *.o *~
++
++distclean: clean
+ 
+ indent:
+ 	../../scripts/Lindent $(wildcard *.[ch])
+diff --git a/libselinux/utils/avcstat.c b/libselinux/utils/avcstat.c
+index 772118a..7239ef2 100644
+--- a/libselinux/utils/avcstat.c
++++ b/libselinux/utils/avcstat.c
+@@ -43,7 +43,7 @@ static char buf[DEF_BUF_SIZE];
+ /* selinuxfs mount point */
+ extern char *selinux_mnt;
+ 
+-static void die(const char *msg, ...)
++static __attribute__((__format__(printf,1,2))) void die(const char *msg, ...)
+ {
+ 	va_list args;
+ 
+@@ -118,7 +118,7 @@ int main(int argc, char **argv)
+ 			exit(0);
+ 		default:
+ 			usage();
+-			die("unrecognized parameter", i);
++			die("unrecognized parameter '%c'", i);
+ 		}
+ 	}
+ 
+diff --git a/libselinux/utils/getconlist.c b/libselinux/utils/getconlist.c
+index 4f473e4..94c9bff 100644
+--- a/libselinux/utils/getconlist.c
++++ b/libselinux/utils/getconlist.c
+@@ -9,7 +9,7 @@
+ #include <selinux/selinux.h>
+ #include <selinux/get_context_list.h>
+ 
+-void usage(char *name, char *detail, int rc)
++static void usage(const char *name, const char *detail, int rc)
+ {
+ 	fprintf(stderr, "usage:  %s [-l level] user [context]\n", name);
+ 	if (detail)
+diff --git a/libselinux/utils/getdefaultcon.c b/libselinux/utils/getdefaultcon.c
+index e6eb98b..049e75c 100644
+--- a/libselinux/utils/getdefaultcon.c
++++ b/libselinux/utils/getdefaultcon.c
+@@ -9,7 +9,7 @@
+ #include <selinux/selinux.h>
+ #include <selinux/get_context_list.h>
+ 
+-void usage(char *name, char *detail, int rc)
++static void usage(const char *name, const char *detail, int rc)
+ {
+ 	fprintf(stderr, "usage:  %s [-l level] user fromcon\n", name);
+ 	if (detail)
+diff --git a/libselinux/utils/getsebool.c b/libselinux/utils/getsebool.c
+index cab2bb9..3a90449 100644
+--- a/libselinux/utils/getsebool.c
++++ b/libselinux/utils/getsebool.c
+@@ -6,7 +6,7 @@
+ #include <string.h>
+ #include <selinux/selinux.h>
+ 
+-void usage(const char *progname)
++static void usage(const char *progname)
+ {
+ 	fprintf(stderr, "usage:  %s -a or %s boolean...\n", progname, progname);
+ 	exit(1);
+diff --git a/libselinux/utils/matchpathcon.c b/libselinux/utils/matchpathcon.c
+index 5f0a4c2..b1adadd 100644
+--- a/libselinux/utils/matchpathcon.c
++++ b/libselinux/utils/matchpathcon.c
+@@ -13,7 +13,7 @@
+ #include <stdlib.h>
+ 
+ 
+-void usage(const char *progname)
++static void usage(const char *progname)
+ {
+ 	fprintf(stderr,
+ 		"usage:  %s [-N] [-n] [-f file_contexts] [-p prefix] [-Vq] path...\n",
+@@ -21,7 +21,7 @@ void usage(const char *progname)
+ 	exit(1);
+ }
+ 
+-int printmatchpathcon(char *path, int header, int mode)
++static int printmatchpathcon(const char *path, int header, int mode)
+ {
+ 	char *buf;
+ 	int rc = matchpathcon(path, mode, &buf);
+diff --git a/libselinux/utils/selinux_check_securetty_context.c b/libselinux/utils/selinux_check_securetty_context.c
+index 95bfb7f..b158eb3 100644
+--- a/libselinux/utils/selinux_check_securetty_context.c
++++ b/libselinux/utils/selinux_check_securetty_context.c
+@@ -9,7 +9,7 @@
+ #include <sys/errno.h>
+ #include <selinux/selinux.h>
+ 
+-void usage(const char *progname)
++static void usage(const char *progname)
+ {
+ 	fprintf(stderr, "usage:  %s tty_context...\n", progname);
+ 	exit(1);
+diff --git a/libselinux/utils/selinuxexeccon.c b/libselinux/utils/selinuxexeccon.c
+index c55fde9..476f564 100644
+--- a/libselinux/utils/selinuxexeccon.c
++++ b/libselinux/utils/selinuxexeccon.c
+@@ -9,7 +9,7 @@
+ #include <selinux/flask.h>
+ #include <selinux/selinux.h>
+ 
+-void usage(char *name, char *detail, int rc)
++static void usage(const char *name, const char *detail, int rc)
+ {
+ 	fprintf(stderr, "usage:  %s command [ fromcon ]\n", name);
+ 	if (detail)
+diff --git a/libselinux/utils/setenforce.c b/libselinux/utils/setenforce.c
+index e45b804..df58597 100644
+--- a/libselinux/utils/setenforce.c
++++ b/libselinux/utils/setenforce.c
+@@ -6,7 +6,7 @@
+ #include <strings.h>
+ #include <selinux/selinux.h>
+ 
+-void usage(const char *progname)
++static void usage(const char *progname)
+ {
+ 	fprintf(stderr, "usage:  %s [ Enforcing | Permissive | 1 | 0 ]\n",
+ 		progname);
+diff --git a/libselinux/utils/togglesebool.c b/libselinux/utils/togglesebool.c
+index 680ed8d..ad0d2a2 100644
+--- a/libselinux/utils/togglesebool.c
++++ b/libselinux/utils/togglesebool.c
+@@ -10,7 +10,7 @@
+ 
+ /* Attempt to rollback the transaction. No need to check error
+    codes since this is rolling back something that blew up. */
+-void rollback(int argc, char **argv)
++static void rollback(int argc, char **argv)
+ {
+ 	int i;
+ 
diff --git a/setup/profile b/setup/profile
index 2d66685..cc63878 100644
--- a/setup/profile
+++ b/setup/profile
@@ -35,16 +35,14 @@ fi
 
 # Path manipulation
 if [ "$EUID" = "0" ]; then
-    pathmunge /sbin
     pathmunge /usr/sbin
     pathmunge /usr/local/sbin
 else
     pathmunge /usr/local/sbin after
     pathmunge /usr/sbin after
-    pathmunge /sbin after
 fi
 
-HOSTNAME=`/bin/hostname 2>/dev/null`
+HOSTNAME=`/usr/bin/hostname 2>/dev/null`
 HISTSIZE=1000
 if [ "$HISTCONTROL" = "ignorespace" ] ; then
     export HISTCONTROL=ignoreboth
diff --git a/setup/setup.nm b/setup/setup.nm
index 891af40..0eb5c99 100644
--- a/setup/setup.nm
+++ b/setup/setup.nm
@@ -5,7 +5,7 @@
 
 name       = setup
 version    = 3.0
-release    = 4
+release    = 5
 arch       = noarch
 
 groups     = Base Build System/Base
@@ -50,6 +50,10 @@ packages
 	package %{name}
 		requires = iana-etc
 
+		conflicts
+			filesystem < 002
+		end
+
 		configfiles
 			/etc/aliases
 			/etc/exports


hooks/post-receive
--
IPFire 3.x development tree

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2012-04-14 22:27 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-14 22:27 [IPFire-SCM] [git.ipfire.org] IPFire 3.x development tree branch, master, updated. 7b2d31434f04590df1dd2f2dd40e9d1ec15b5840 git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox