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@ipfire.org Date: Sun Apr 15 00:23:21 2012 +0200
kbd: Move everything to /usr.
commit 7e981e590f2c8b0e58c768697a8644abc25363c1 Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Apr 15 00:22:20 2012 +0200
gcc: Move everything to /usr.
commit 2c9c6fd6744f0b6b9f18abf4ee2fe063a34182b4 Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Apr 15 00:21:48 2012 +0200
iputils: Move everything to /usr.
commit 576c025cb402cef292b1625de2d9a90ed1ebfb42 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Apr 14 23:10:02 2012 +0200
coreutils: Move everything to /usr.
commit 53938620fde2fcc68a6392684825f283087771a8 Author: Michael Tremer michael.tremer@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@ipfire.org Date: Sat Apr 14 22:59:33 2012 +0200
libselinux: Move everything to /usr.
commit ff3223afc8ee5454b0bc56add0074bbb72158534 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Apr 14 22:58:54 2012 +0200
gzip: Move everything to /usr.
commit cf0ceada79d3e913179d095e62474d75453e2f75 Author: Michael Tremer michael.tremer@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@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@tycho.nsa.gov +@@ -99,4 +109,3 @@ Eamon Walsh ewalsh@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