use final 1.5 version tarball insteadof last alpha 1.5a89, ship missing

names.c separately, enable optimalization again (#255261)
This commit is contained in:
Ondrej Vasik 2009-01-27 19:51:20 +00:00
parent 5f253581c6
commit 0e12a9f9ad
4 changed files with 186 additions and 179 deletions

View File

@ -1 +1,2 @@
star-1.5a89.tar.bz2 names.c
star-1.5.tar.bz2

View File

@ -1 +1,3 @@
b75a14385aeaa7b8213d481c758f766d star-1.5a89.tar.bz2 a7b1a5e830935cc1bf1001a558c7f8c4 star-1.5.tar.bz2
2ec266cafd989a1160ecbcada1de839b names.c

View File

@ -1,25 +1,61 @@
--- star-1.5/star/suntar.mk.selinux 2007-02-17 15:51:23.000000000 +0100 diff -urNp star-1.5-orig/conf/configure.in star-1.5/conf/configure.in
+++ star-1.5/star/suntar.mk 2007-08-24 11:51:13.000000000 +0200 --- star-1.5-orig/conf/configure.in 2008-03-27 19:58:16.000000000 +0100
@@ -18,6 +18,7 @@ +++ star-1.5/conf/configure.in 2008-12-18 16:11:49.000000000 +0100
@@ -452,6 +452,15 @@ AC_CHECK_FUNCS(sched_yield)
AC_CHECK_FUNCS(nanosleep)
LIBS="$ac_save_LIBS"
+AC_CHECK_HEADERS(selinux/selinux.h)
+if test "$ac_cv_header_selinux_selinux_h" = yes; then
+ AC_CHECKING(for SELinux support)
+ AC_CHECK_LIB(selinux, is_selinux_enabled, lib_selinux="-lselinux -lattr")
+ ac_save_LIBS="$LIBS"
+ LIBS="$LIBS $lib_selinux"
+ AC_CHECK_FUNCS(is_selinux_enabled)
+fi
+
dnl Misc OS checks.
AC_MSG_CHECKING(for /dev/tty)
if test -r /dev/tty; then
@@ -543,5 +552,6 @@ AC_SUBST(lib_secdb)
AC_SUBST(lib_gen)
AC_SUBST(lib_pthread)
AC_SUBST(lib_rt)
+AC_SUBST(lib_selinux)
AC_OUTPUT(rules.cnf)
diff -urNp star-1.5-orig/conf/rules.cnf.in star-1.5/conf/rules.cnf.in
--- star-1.5-orig/conf/rules.cnf.in 2008-02-20 18:52:09.000000000 +0100
+++ star-1.5/conf/rules.cnf.in 2008-12-18 16:09:30.000000000 +0100
@@ -21,3 +21,4 @@ LIB_SECDB = @lib_secdb@
LIB_GEN = @lib_gen@
LIB_PTHREAD = @lib_pthread@
LIB_RT = @lib_rt@
+LIB_SELINUX = @lib_selinux@
diff -urNp star-1.5-orig/star/cpio.mk star-1.5/star/cpio.mk
--- star-1.5-orig/star/cpio.mk 2008-04-06 20:01:45.000000000 +0200
+++ star-1.5/star/cpio.mk 2008-12-18 16:00:27.000000000 +0100
@@ -19,6 +19,7 @@ CPPOPTS += -DUSE_FIND
CPPOPTS += -DUSE_ACL CPPOPTS += -DUSE_ACL
CPPOPTS += -DUSE_XATTR CPPOPTS += -DUSE_XATTR
CPPOPTS += -DUSE_FFLAGS CPPOPTS += -DUSE_FFLAGS
+CPPOPTS += -DWITH_SELINUX +CPPOPTS += -DWITH_SELINUX
CPPOPTS += -DSCHILY_PRINT CPPOPTS += -DSCHILY_PRINT
CFILES= suntar.c header.c cpiohdr.c xheader.c xattr.c \ CFILES= cpio.c header.c cpiohdr.c xheader.c xattr.c \
list.c extract.c create.c append.c diff.c restore.c \ list.c extract.c create.c append.c diff.c restore.c \
@@ -35,7 +36,7 @@ @@ -34,7 +35,7 @@ CFILES= cpio.c header.c cpiohdr.c xhead
HFILES= star.h starsubs.h dirtime.h xtab.h xutimes.h \
movearch.h table.h props.h fifo.h diff.h \
checkerr.h dumpdate.h bitstring.h checkerr.h dumpdate.h bitstring.h
#LIBS= -lunos -LIBS= -ldeflt -lrmt -lfind -lschily $(LIB_ACL) $(LIB_ATTR) $(LIB_SOCKET) $(LIB_INTL)
#LIBS= -lschily -lc /usr/local/lib/gcc-gnulib +LIBS= -ldeflt -lrmt -lfind -lschily $(LIB_ACL) $(LIB_ATTR) $(LIB_SOCKET) $(LIB_INTL) $(LIB_SELINUX)
-LIBS= -ldeflt -lrmt -lschily $(LIB_ACL) $(LIB_ATTR) $(LIB_SOCKET) XMK_FILE= scpioman.mk
+LIBS= -ldeflt -lrmt -lschily $(LIB_ACL) $(LIB_ATTR) $(LIB_SOCKET) $(LIB_SELINUX)
XMK_FILE= suntarman.mk
########################################################################### ###########################################################################
--- star-1.5/star/extract.c.selinux 2007-06-03 17:06:52.000000000 +0200 diff -urNp star-1.5-orig/star/extract.c star-1.5/star/extract.c
+++ star-1.5/star/extract.c 2007-08-24 11:51:13.000000000 +0200 --- star-1.5-orig/star/extract.c 2008-04-06 17:32:15.000000000 +0200
@@ -246,6 +246,17 @@ +++ star-1.5/star/extract.c 2008-12-18 15:59:46.000000000 +0100
@@ -253,6 +253,17 @@ extern struct WALK walkstate;
continue; continue;
} }
#endif #endif
@ -37,43 +73,31 @@
if (finfo.f_flags & F_BAD_META) { if (finfo.f_flags & F_BAD_META) {
if (!void_bad(&finfo)) if (!void_bad(&finfo))
break; break;
--- star-1.5/star/cpio.mk.selinux 2007-02-17 15:51:23.000000000 +0100 diff -urNp star-1.5-orig/star/gnutar.mk star-1.5/star/gnutar.mk
+++ star-1.5/star/cpio.mk 2007-08-24 11:51:13.000000000 +0200 --- star-1.5-orig/star/gnutar.mk 2008-04-06 20:01:45.000000000 +0200
@@ -18,6 +18,7 @@ +++ star-1.5/star/gnutar.mk 2008-12-18 16:08:54.000000000 +0100
@@ -19,6 +19,7 @@ CPPOPTS += -DUSE_FIND
CPPOPTS += -DUSE_ACL CPPOPTS += -DUSE_ACL
CPPOPTS += -DUSE_XATTR CPPOPTS += -DUSE_XATTR
CPPOPTS += -DUSE_FFLAGS CPPOPTS += -DUSE_FFLAGS
+CPPOPTS += -DWITH_SELINUX +CPPOPTS += -DWITH_SELINUX
CPPOPTS += -DSCHILY_PRINT CPPOPTS += -DSCHILY_PRINT
CFILES= cpio.c header.c cpiohdr.c xheader.c xattr.c \ CFILES= gnutar.c header.c cpiohdr.c xheader.c xattr.c \
list.c extract.c create.c append.c diff.c restore.c \ list.c extract.c create.c append.c diff.c restore.c \
@@ -35,7 +36,7 @@ @@ -34,7 +35,7 @@ CFILES= gnutar.c header.c cpiohdr.c xhe
HFILES= star.h starsubs.h dirtime.h xtab.h xutimes.h \
movearch.h table.h props.h fifo.h diff.h \
checkerr.h dumpdate.h bitstring.h checkerr.h dumpdate.h bitstring.h
#LIBS= -lunos -LIBS= -ldeflt -lrmt -lfind -lschily $(LIB_ACL) $(LIB_ATTR) $(LIB_SOCKET) $(LIB_INTL)
#LIBS= -lschily -lc /usr/local/lib/gcc-gnulib +LIBS= -ldeflt -lrmt -lfind -lschily $(LIB_ACL) $(LIB_ATTR) $(LIB_SOCKET) $(LIB_INTL) $(LIB_SELINUX)
-LIBS= -ldeflt -lrmt -lschily $(LIB_ACL) $(LIB_ATTR) $(LIB_SOCKET) XMK_FILE= gnutarman.mk
+LIBS= -ldeflt -lrmt -lschily $(LIB_ACL) $(LIB_ATTR) $(LIB_SOCKET) $(LIB_SELINUX)
XMK_FILE= scpioman.mk
########################################################################### ###########################################################################
--- star-1.5/star/starsubs.h.selinux 2007-07-15 19:38:52.000000000 +0200 diff -urNp star-1.5-orig/star/Makefile star-1.5/star/Makefile
+++ star-1.5/star/starsubs.h 2007-08-24 11:51:13.000000000 +0200 --- star-1.5-orig/star/Makefile 2008-04-06 20:02:25.000000000 +0200
@@ -297,6 +297,11 @@ +++ star-1.5/star/Makefile 2008-12-18 16:02:39.000000000 +0100
extern BOOL get_xattr __PR((register FINFO *info)); @@ -1,66 +1,19 @@
extern BOOL set_xattr __PR((register FINFO *info)); -#ident @(#)star_fat.mk 1.23 08/04/06
extern void free_xattr __PR((star_xattr_t **xattr));
+#ifdef WITH_SELINUX
+#include <selinux/selinux.h>
+extern BOOL setselinux __PR((register FINFO *info));
+extern int selinux_enabled;
+#endif
#endif
/*
--- star-1.5/star/Makefile.selinux 2007-06-16 16:46:18.000000000 +0200
+++ star-1.5/star/Makefile 2007-08-24 11:51:13.000000000 +0200
@@ -1,67 +1,19 @@
-#ident @(#)star_fat.mk 1.22 08/01/02
+#ident @(#)all.mk 1.1 05/02/16 +#ident @(#)all.mk 1.1 05/02/16
########################################################################### ###########################################################################
-#include $(MAKE_M_ARCH).def -#include $(MAKE_M_ARCH).def
@ -84,7 +108,7 @@
# #
-# This is star_fat.mk, it creates one "fat" binary for all functionality. -# This is star_fat.mk, it creates one "fat" binary for all functionality.
+# This is all.mk, it creates several binaries, one for each function. +# This is all.mk, it creates sevral binaries, one for each function.
# #
-# If you like to create non "fat" binaries, remove Makefile -# If you like to create non "fat" binaries, remove Makefile
-# and copy all.mk to Makefile. -# and copy all.mk to Makefile.
@ -112,29 +136,28 @@
- list.c extract.c create.c append.c diff.c restore.c \ - list.c extract.c create.c append.c diff.c restore.c \
- remove.c star_unix.c acl_unix.c acltext.c fflags.c \ - remove.c star_unix.c acl_unix.c acltext.c fflags.c \
- buffer.c dirtime.c lhash.c \ - buffer.c dirtime.c lhash.c \
- hole.c longnames.c names.c \ - hole.c longnames.c \
- movearch.c table.c props.c \ - movearch.c table.c props.c \
- fetchdir.c \
- unicode.c \ - unicode.c \
- subst.c volhdr.c \ - subst.c volhdr.c \
- chdir.c match.c defaults.c dumpdate.c \ - chdir.c match.c defaults.c dumpdate.c \
- fifo.c device.c checkerr.c \ - fifo.c device.c checkerr.c \
- \ - \
- findinfo.c find.c walk.c find_list.c find_misc.c - findinfo.c
-HFILES= star.h starsubs.h dirtime.h xtab.h xutimes.h \ -HFILES= star.h starsubs.h dirtime.h xtab.h xutimes.h \
- movearch.h table.h props.h fifo.h diff.h restore.h \ - movearch.h table.h props.h fifo.h diff.h restore.h \
- checkerr.h dumpdate.h bitstring.h \ - checkerr.h dumpdate.h bitstring.h
- \ -
- find.h fetchdir.h walk.h find_list.h find_misc.h
-#LIBS= -lunos -#LIBS= -lunos
-#LIBS= -lschily -lc /usr/local/lib/gcc-gnulib -#LIBS= -lschily -lc /usr/local/lib/gcc-gnulib
-LIBS= -ldeflt -lrmt -lschily $(LIB_ACL) $(LIB_ATTR) $(LIB_SOCKET) -LIBS= -ldeflt -lrmt -lfind -lschily $(LIB_ACL) $(LIB_ATTR) $(LIB_SOCKET) $(LIB_INTL)
-# -#
-# Wenn -lfind, dann auch $(LIB_INTL) -# Wenn -lfind, dann auch $(LIB_INTL)
-# -#
-XMK_FILE= Makefile.man starformatman.mk scpioman.mk gnutarman.mk \ -XMK_FILE= Makefile.man starformatman.mk scpioman.mk gnutarman.mk \
- spaxman.mk suntarman.mk Makefile.dfl Makefile.doc - spaxman.mk suntarman.mk Makefile.dfl Makefile.doc
-
-star_fat.c: star.c -star_fat.c: star.c
- $(RM) $(RM_FORCE) $@; cp star.c $@ - $(RM) $(RM_FORCE) $@; cp star.c $@
+MK_FILES= star.mk pax.mk suntar.mk gnutar.mk cpio.mk +MK_FILES= star.mk pax.mk suntar.mk gnutar.mk cpio.mk
@ -146,50 +169,30 @@
-count: $(CFILES) $(HFILES) -count: $(CFILES) $(HFILES)
- count $r1 - count $r1
- -
--- star-1.5/star/pax.mk.selinux 2007-02-17 15:51:23.000000000 +0100 diff -urNp star-1.5-orig/star/pax.mk star-1.5/star/pax.mk
+++ star-1.5/star/pax.mk 2007-08-24 11:51:13.000000000 +0200 --- star-1.5-orig/star/pax.mk 2008-04-06 20:01:45.000000000 +0200
@@ -18,8 +18,10 @@ +++ star-1.5/star/pax.mk 2008-12-18 16:03:42.000000000 +0100
@@ -19,6 +19,7 @@ CPPOPTS += -DUSE_FIND
CPPOPTS += -DUSE_ACL CPPOPTS += -DUSE_ACL
CPPOPTS += -DUSE_XATTR CPPOPTS += -DUSE_XATTR
CPPOPTS += -DUSE_FFLAGS CPPOPTS += -DUSE_FFLAGS
+CPPOPTS += -DWITH_SELINUX +CPPOPTS += -DWITH_SELINUX
CPPOPTS += -DPAX CPPOPTS += -DPAX
CPPOPTS += -DSCHILY_PRINT CPPOPTS += -DSCHILY_PRINT
+
CFILES= pax.c header.c cpiohdr.c xheader.c xattr.c \ CFILES= pax.c header.c cpiohdr.c xheader.c xattr.c \
list.c extract.c create.c append.c diff.c restore.c \ @@ -35,7 +36,7 @@ CFILES= pax.c header.c cpiohdr.c xheade
remove.c star_unix.c acl_unix.c acltext.c fflags.c \ HFILES= star.h starsubs.h dirtime.h xtab.h xutimes.h \
@@ -36,7 +38,7 @@ movearch.h table.h props.h fifo.h diff.h \
checkerr.h dumpdate.h bitstring.h checkerr.h dumpdate.h bitstring.h
#LIBS= -lunos -LIBS= -ldeflt -lrmt -lfind -lschily $(LIB_ACL) $(LIB_ATTR) $(LIB_SOCKET) $(LIB_INTL)
#LIBS= -lschily -lc /usr/local/lib/gcc-gnulib +LIBS= -ldeflt -lrmt -lfind -lschily $(LIB_ACL) $(LIB_ATTR) $(LIB_SOCKET) $(LIB_INTL) $(LIB_SELINUX)
-LIBS= -ldeflt -lrmt -lschily $(LIB_ACL) $(LIB_ATTR) $(LIB_SOCKET)
+LIBS= -ldeflt -lrmt -lschily $(LIB_ACL) $(LIB_ATTR) $(LIB_SOCKET) $(LIB_SELINUX)
XMK_FILE= spaxman.mk XMK_FILE= spaxman.mk
########################################################################### ###########################################################################
--- star-1.5/star/star_fat.mk.selinux 2007-06-16 16:46:18.000000000 +0200 diff -urNp star-1.5-orig/star/star.c star-1.5/star/star.c
+++ star-1.5/star/star_fat.mk 2007-08-24 11:51:13.000000000 +0200 --- star-1.5-orig/star/star.c 2008-04-13 15:01:30.000000000 +0200
@@ -29,6 +29,7 @@ +++ star-1.5/star/star.c 2008-12-18 16:05:31.000000000 +0100
CPPOPTS += -DCOPY_LINKS_DELAYED @@ -46,6 +46,10 @@ static char sccsid[] =
CPPOPTS += -DSTAR_FAT
CPPOPTS += -DSCHILY_PRINT
+CPPOPTS += -DWITH_SELINUX
CFILES= star_fat.c header.c cpiohdr.c xheader.c xattr.c \
list.c extract.c create.c append.c diff.c restore.c \
remove.c star_unix.c acl_unix.c acltext.c fflags.c \
@@ -49,7 +50,7 @@
find.h fetchdir.h walk.h find_list.h find_misc.h
#LIBS= -lunos
#LIBS= -lschily -lc /usr/local/lib/gcc-gnulib
-LIBS= -ldeflt -lrmt -lschily $(LIB_ACL) $(LIB_ATTR) $(LIB_SOCKET)
+LIBS= -ldeflt -lrmt -lschily $(LIB_ACL) $(LIB_ATTR) $(LIB_SOCKET) $(LIB_SELINUX)
#
# Wenn -lfind, dann auch $(LIB_INTL)
#
--- star-1.5/star/star.c.selinux 2007-07-16 09:43:14.000000000 +0200
+++ star-1.5/star/star.c 2007-08-24 11:51:13.000000000 +0200
@@ -45,6 +45,10 @@
#include "starsubs.h" #include "starsubs.h"
#include "checkerr.h" #include "checkerr.h"
@ -200,40 +203,96 @@
EXPORT int main __PR((int ac, char **av)); EXPORT int main __PR((int ac, char **av));
LOCAL void star_create __PR((int ac, char *const *av)); LOCAL void star_create __PR((int ac, char *const *av));
LOCAL void checkdumptype __PR((GINFO *gp)); LOCAL void checkdumptype __PR((GINFO *gp));
@@ -384,6 +388,11 @@ @@ -388,6 +392,10 @@ main(ac, av)
comerr("Panic cannot set back effective uid.\n"); comerr("Panic cannot set back effective uid.\n");
} }
my_uid = geteuid(); my_uid = geteuid();
+ +
+#ifdef WITH_SELINUX +#ifdef WITH_SELINUX
+ selinux_enabled=is_selinux_enabled()>0; + selinux_enabled=is_selinux_enabled()>0;
+#endif +#endif
+
/* /*
* WARNING: We now are no more able to open a new remote connection * WARNING: We now are no more able to open a new remote connection
* unless we have been called by root. * unless we have been called by root.
--- star-1.5/star/star.mk.selinux 2007-02-17 15:51:23.000000000 +0100 diff -urNp star-1.5-orig/star/star_fat.mk star-1.5/star/star_fat.mk
+++ star-1.5/star/star.mk 2007-08-24 11:51:13.000000000 +0200 --- star-1.5-orig/star/star_fat.mk 2008-04-06 20:02:25.000000000 +0200
@@ -19,6 +19,7 @@ +++ star-1.5/star/star_fat.mk 2008-12-18 16:04:20.000000000 +0100
CPPOPTS += -DUSE_XATTR @@ -29,6 +29,7 @@ CPPOPTS += -DUSE_FFLAGS
CPPOPTS += -DUSE_FFLAGS
CPPOPTS += -DCOPY_LINKS_DELAYED CPPOPTS += -DCOPY_LINKS_DELAYED
+CPPOPTS += -DWITH_SELINUX CPPOPTS += -DSTAR_FAT
CPPOPTS += -DSCHILY_PRINT CPPOPTS += -DSCHILY_PRINT
CFILES= star.c header.c cpiohdr.c xheader.c xattr.c \ +CPPOPTS += -DWITH_SELINUX
CFILES= star_fat.c header.c cpiohdr.c xheader.c xattr.c \
list.c extract.c create.c append.c diff.c restore.c \ list.c extract.c create.c append.c diff.c restore.c \
@@ -36,7 +37,7 @@ remove.c star_unix.c acl_unix.c acltext.c fflags.c \
checkerr.h dumpdate.h bitstring.h @@ -48,7 +49,7 @@ HFILES= star.h starsubs.h dirtime.h xta
#LIBS= -lunos #LIBS= -lunos
#LIBS= -lschily -lc /usr/local/lib/gcc-gnulib #LIBS= -lschily -lc /usr/local/lib/gcc-gnulib
-LIBS= -ldeflt -lrmt -lschily $(LIB_ACL) $(LIB_ATTR) $(LIB_SOCKET) -LIBS= -ldeflt -lrmt -lfind -lschily $(LIB_ACL) $(LIB_ATTR) $(LIB_SOCKET) $(LIB_INTL)
+LIBS= -ldeflt -lrmt -lschily $(LIB_ACL) $(LIB_ATTR) $(LIB_SOCKET) $(LIB_SELINUX) +LIBS= -ldeflt -lrmt -lfind -lschily $(LIB_ACL) $(LIB_ATTR) $(LIB_SOCKET) $(LIB_INTL) $(LIB_SELINUX)
#
# Wenn -lfind, dann auch $(LIB_INTL)
#
diff -urNp star-1.5-orig/star/star.mk star-1.5/star/star.mk
--- star-1.5-orig/star/star.mk 2008-04-06 20:01:45.000000000 +0200
+++ star-1.5/star/star.mk 2008-12-18 16:06:07.000000000 +0100
@@ -21,6 +21,7 @@ CPPOPTS += -DUSE_XATTR
CPPOPTS += -DUSE_FFLAGS
CPPOPTS += -DCOPY_LINKS_DELAYED
CPPOPTS += -DSCHILY_PRINT
+CPPOPTS += -DWITH_SELINUX
CFILES= star.c header.c cpiohdr.c xheader.c xattr.c \
list.c extract.c create.c append.c diff.c restore.c \
remove.c star_unix.c acl_unix.c acltext.c fflags.c \
@@ -35,7 +36,7 @@ CFILES= star.c header.c cpiohdr.c xhead
HFILES= star.h starsubs.h dirtime.h xtab.h xutimes.h \
movearch.h table.h props.h fifo.h diff.h restore.h \
checkerr.h dumpdate.h bitstring.h
-LIBS= -ldeflt -lrmt -lfind -lschily $(LIB_ACL) $(LIB_ATTR) $(LIB_SOCKET) $(LIB_INTL)
+LIBS= -ldeflt -lrmt -lfind -lschily $(LIB_ACL) $(LIB_ATTR) $(LIB_SOCKET) $(LIB_INTL) $(LIB_SELINUX)
XMK_FILE= Makefile.man starformatman.mk XMK_FILE= Makefile.man starformatman.mk
########################################################################### ###########################################################################
--- star-1.5/star/xattr.c.selinux 2006-09-13 18:24:20.000000000 +0200 diff -urNp star-1.5-orig/star/starsubs.h star-1.5/star/starsubs.h
+++ star-1.5/star/xattr.c 2007-08-24 11:53:56.000000000 +0200 --- star-1.5-orig/star/starsubs.h 2008-04-06 17:32:15.000000000 +0200
@@ -184,6 +184,28 @@ +++ star-1.5/star/starsubs.h 2008-12-18 16:01:15.000000000 +0100
@@ -304,6 +304,11 @@ extern void opt_xattr __PR((void));
extern BOOL get_xattr __PR((register FINFO *info));
extern BOOL set_xattr __PR((register FINFO *info));
extern void free_xattr __PR((star_xattr_t **xattr));
+# ifdef WITH_SELINUX
+#include <selinux/selinux.h>
+extern BOOL setselinux __PR((register FINFO *info));
+extern int selinux_enabled;
+# endif
#endif
/*
diff -urNp star-1.5-orig/star/suntar.mk star-1.5/star/suntar.mk
--- star-1.5-orig/star/suntar.mk 2008-04-06 20:01:45.000000000 +0200
+++ star-1.5/star/suntar.mk 2008-12-18 15:58:44.000000000 +0100
@@ -19,6 +19,7 @@ CPPOPTS += -DUSE_FIND
CPPOPTS += -DUSE_ACL
CPPOPTS += -DUSE_XATTR
CPPOPTS += -DUSE_FFLAGS
+CPPOPTS += -DWITH_SELINUX
CPPOPTS += -DSCHILY_PRINT
CFILES= suntar.c header.c cpiohdr.c xheader.c xattr.c \
list.c extract.c create.c append.c diff.c restore.c \
@@ -34,7 +35,7 @@ CFILES= suntar.c header.c cpiohdr.c xhe
HFILES= star.h starsubs.h dirtime.h xtab.h xutimes.h \
movearch.h table.h props.h fifo.h diff.h \
checkerr.h dumpdate.h bitstring.h
-LIBS= -ldeflt -lrmt -lfind -lschily $(LIB_ACL) $(LIB_ATTR) $(LIB_SOCKET) $(LIB_INTL)
+LIBS= -ldeflt -lrmt -lfind -lschily $(LIB_ACL) $(LIB_ATTR) $(LIB_SOCKET) $(LIB_INTL) $(LIB_SELINUX)
XMK_FILE= suntarman.mk
###########################################################################
diff -urNp star-1.5-orig/star/xattr.c star-1.5/star/xattr.c
--- star-1.5-orig/star/xattr.c 2008-03-16 16:40:41.000000000 +0100
+++ star-1.5/star/xattr.c 2008-12-18 16:08:15.000000000 +0100
@@ -196,6 +196,27 @@ fail:
#endif /* USE_XATTR */ #endif /* USE_XATTR */
} }
@ -257,82 +316,18 @@
+ return TRUE; + return TRUE;
+} +}
+#endif +#endif
+
+ +
/* ARGSUSED */ /* ARGSUSED */
EXPORT BOOL EXPORT BOOL
set_xattr(info) set_xattr(info)
@@ -197,6 +219,10 @@ @@ -209,6 +230,10 @@ set_xattr(info)
return (TRUE); return (TRUE);
for (xap = info->f_xattr; xap->name != NULL; xap++) { for (xap = info->f_xattr; xap->name != NULL; xap++) {
+#ifdef WITH_SELINUX +#ifdef WITH_SELINUX
+ if (selinux_enabled && (strcmp(xap->name, "security.selinux") == 0)) + if (selinux_enabled && (strcmp(xap->name, "security.selinux") == 0))
+ continue; + continue;
+#endif +#endif
if (lsetxattr(info->f_name, xap->name, xap->value, if (lsetxattr(info->f_name, xap->name, xap->value,
xap->value_len, 0) != 0) { xap->value_len, 0) != 0) {
if (!errhidden(E_SETXATTR, info->f_name)) { if (!errhidden(E_SETXATTR, info->f_name)) {
--- star-1.5/star/gnutar.mk.selinux 2007-02-17 15:51:23.000000000 +0100
+++ star-1.5/star/gnutar.mk 2007-08-24 11:51:13.000000000 +0200
@@ -18,6 +18,7 @@
CPPOPTS += -DUSE_ACL
CPPOPTS += -DUSE_XATTR
CPPOPTS += -DUSE_FFLAGS
+CPPOPTS += -DWITH_SELINUX
CPPOPTS += -DSCHILY_PRINT
CFILES= gnutar.c header.c cpiohdr.c xheader.c xattr.c \
list.c extract.c create.c append.c diff.c restore.c \
@@ -35,7 +36,7 @@
checkerr.h dumpdate.h bitstring.h
#LIBS= -lunos
#LIBS= -lschily -lc /usr/local/lib/gcc-gnulib
-LIBS= -ldeflt -lrmt -lschily $(LIB_ACL) $(LIB_ATTR) $(LIB_SOCKET)
+LIBS= -ldeflt -lrmt -lschily $(LIB_ACL) $(LIB_ATTR) $(LIB_SOCKET) $(LIB_SELINUX)
XMK_FILE= gnutarman.mk
###########################################################################
--- star-1.5/conf/rules.cnf.in.selinux 2007-05-19 14:52:46.000000000 +0200
+++ star-1.5/conf/rules.cnf.in 2007-08-24 11:51:13.000000000 +0200
@@ -20,3 +20,4 @@
LIB_GEN = @lib_gen@
LIB_PTHREAD = @lib_pthread@
LIB_RT = @lib_rt@
+LIB_SELINUX = @lib_selinux@
--- star-1.5/conf/configure.in.selinux 2007-07-10 05:58:54.000000000 +0200
+++ star-1.5/conf/configure.in 2007-08-24 11:51:13.000000000 +0200
@@ -403,6 +403,8 @@
LIBS="$ac_save_LIBS"
fi
+
+
AC_CHECKING(for RBAC support)
AC_CHECK_LIB(secdb, getuserattr, lib_secdb="-lsecdb")
ac_save_LIBS="$LIBS"
@@ -441,6 +443,18 @@
else
echo no
fi
+
+AC_CHECK_HEADERS(selinux/selinux.h)
+if test "$ac_cv_header_selinux_selinux_h" = yes; then
+ AC_CHECKING(for SELinux support)
+ AC_CHECK_LIB(selinux, is_selinux_enabled, lib_selinux="-lselinux -lattr")
+ ac_save_LIBS="$LIBS"
+ LIBS="$LIBS $lib_selinux"
+ AC_CHECK_FUNCS(is_selinux_enabled)
+fi
+
+
+
AC_MSG_CHECKING(for /dev/null)
if test -r /dev/null; then
echo yes
@@ -523,5 +537,6 @@
AC_SUBST(lib_gen)
AC_SUBST(lib_pthread)
AC_SUBST(lib_rt)
+AC_SUBST(lib_selinux)
AC_OUTPUT(rules.cnf)

View File

@ -3,19 +3,21 @@
%endif %endif
Summary: An archiving tool with ACL support Summary: An archiving tool with ACL support
Name: star Name: star
Version: 1.5a89 Version: 1.5
Release: 1%{?dist} Release: 1%{?dist}
URL: http://cdrecord.berlios.de/old/private/star.html URL: http://cdrecord.berlios.de/old/private/star.html
Source: ftp://ftp.berlios.de/pub/star/alpha/%{name}-%{version}.tar.bz2 Source: ftp://ftp.berlios.de/pub/star/%{name}-%{version}.tar.bz2
#names.c dissapeared from upstream tarball, but is necessary for build
Source1: names.c
Patch1: star-1.5-newMake.patch Patch1: star-1.5-newMake.patch
Patch2: star-1.5-selinux.patch Patch2: star-1.5-selinux.patch
Patch3: star-1.5-changewarnSegv.patch Patch3: star-1.5-changewarnSegv.patch
License: CDDL License: CDDL
Group: Applications/Archiving Group: Applications/Archiving
BuildRoot: %{_tmppath}/%{name}-%{version}-root BuildRoot: %{_tmppath}/%{name}-%{version}-root
BuildRequires: libattr-devel libacl-devel libtool libselinux-devel BuildRequires: libattr-devel libacl-devel libtool libselinux-devel
BuildRequires: e2fsprogs-devel gawk BuildRequires: e2fsprogs-devel gawk
%description %description
Star saves many files together into a single tape or disk archive, Star saves many files together into a single tape or disk archive,
and can restore individual files from the archive. Star supports ACL. and can restore individual files from the archive. Star supports ACL.
@ -27,6 +29,8 @@ and can restore individual files from the archive. Star supports ACL.
%patch2 -p1 -b .selinux %patch2 -p1 -b .selinux
%endif %endif
%patch3 -p1 -b .changewarnSegv %patch3 -p1 -b .changewarnSegv
cp -a %{SOURCE1} ./libfind/
cp -a %{SOURCE1} ./star/
for PLAT in %{arm} x86_64 ppc64 s390 s390x sh3 sh4 sh4a sparcv9; do for PLAT in %{arm} x86_64 ppc64 s390 s390x sh3 sh4 sh4a sparcv9; do
for AFILE in gcc cc; do for AFILE in gcc cc; do
@ -45,7 +49,7 @@ export MAKEPROG=gmake
#make %{?_smp_mflags} PARCH=%{_target_cpu} CPPOPTX="-DNO_FSYNC" \ #make %{?_smp_mflags} PARCH=%{_target_cpu} CPPOPTX="-DNO_FSYNC" \
make %{?_smp_mflags} PARCH=%{_target_cpu} \ make %{?_smp_mflags} PARCH=%{_target_cpu} \
COPTX='-O0' \ COPTX='-DTRY_EXT2_FS' \
K_ARCH=%{_target_cpu} \ K_ARCH=%{_target_cpu} \
CONFFLAGS="%{_target_platform} --prefix=%{_prefix} \ CONFFLAGS="%{_target_platform} --prefix=%{_prefix} \
--exec-prefix=%{_exec_prefix} --bindir=%{_bindir} \ --exec-prefix=%{_exec_prefix} --bindir=%{_bindir} \
@ -60,9 +64,9 @@ export MAKEPROG=gmake
rm -rf ${RPM_BUILD_ROOT} rm -rf ${RPM_BUILD_ROOT}
mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man1 mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man1
%makeinstall RPM_INSTALLDIR=${RPM_BUILD_ROOT} PARCH=%{_target_cpu} K_ARCH=%{_target_cpu} < /dev/null %makeinstall RPM_INSTALLDIR=${RPM_BUILD_ROOT} PARCH=%{_target_cpu} K_ARCH=%{_target_cpu} < /dev/null
rm -rf $RPM_BUILD_ROOT/usr/share/man rm -rf ${RPM_BUILD_ROOT}/usr/share/man
rm -rf $RPM_BUILD_ROOT/usr/share/doc/rmt rm -rf ${RPM_BUILD_ROOT}/usr/share/doc/rmt
mv $RPM_BUILD_ROOT/usr/man $RPM_BUILD_ROOT%{_mandir} mv ${RPM_BUILD_ROOT}/usr/man ${RPM_BUILD_ROOT}%{_mandir}
# XXX Nuke unpackaged files. # XXX Nuke unpackaged files.
( cd ${RPM_BUILD_ROOT} ( cd ${RPM_BUILD_ROOT}
@ -98,6 +102,11 @@ rm -rf ${RPM_BUILD_ROOT}
%{_mandir}/man1/spax.1* %{_mandir}/man1/spax.1*
%changelog %changelog
* Tue Jan 27 2009 Ondrej Vasik <ovasik@redhat.com> 1.5-1
- use final instead of beta
- ship missing names.c separately
- enable optimalization again
* Wed Dec 03 2008 Ondrej Vasik <ovasik@redhat.com> 1.5a89-1 * Wed Dec 03 2008 Ondrej Vasik <ovasik@redhat.com> 1.5a89-1
- update to latest upstream release - update to latest upstream release