# # spec file for package star # # Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: star Version: 1.5.3 Release: 107.2 Summary: POSIX.1-2001-Compliant Tar Implementation License: CDDL-1.0 Group: Productivity/Archiving/Backup Url: http://cdrecord.berlios.de/old/private/star.html Source0: http://sourceforge.net/projects/s-tar/files/%{name}-%{version}.tar.bz2 Source1: README-FIRST Source2: tests.tar.bz2 # PATCH-FIX-SUSE: some default values for configuration/comilation Patch0: star-configuration.diff # PATCH-FIX-SUSE: do not run FSYNC by default Patch1: star-no_fsync.diff # PATCH-FIX-UPSTREAM: Implement selinux Patch2: star-selinux.patch Patch3: star-lock.diff # PATCH-FIX-OPENSUSE-bnc#858660 Patch4: bnc#858660_detect_gzip_failures.patch # PATCH-FIX-UPSTRTEAM: Fix segfault when using selinux and no xattr Patch5: star-1.5.1-selinux-segfault.patch # PATCH-FIX-UPSTREAM: Fix bufferoverflow Patch6: star-1.5.2-bufferoverflow.patch # PATCH-FIX-SUSE: Use ssh by default Patch7: star-1.5.2-use-ssh-by-default.patch # PATCH-FIX-UPSTREAM: Segfault on pax -X Patch8: star-1.5.3-pax-X-option.patch # PATCH-FIX-UPSTREAM: Fix broken star.mk in 1.5.3 (included from all.mk) Patch9: star-1.5.3-star-mk.patch # PATCH-FIX-UPSTREAM bnc#935569 kstreitova@suse.com -- tries to avoid mixed output when people call star 2>&1 | tee Patch10: star-1.5.3-mixed_output.patch # PATCH-FIX-UPSTREAM bnc#1014065 kstreitova@suse.com -- xattrs are now set after chown() to preserve security.capability Patch11: star-1.5.3-xattr_security-capability.patch BuildRequires: autoconf BuildRequires: e2fsprogs-devel BuildRequires: libacl-devel BuildRequires: libattr-devel BuildRequires: libselinux-devel BuildRequires: libtool Recommends: %{name}-rmt = %{version} BuildRoot: %{_tmppath}/%{name}-%{version}-build %description Star is a tar like archiver. TAR stands for Tape ARchiver. Star is the fastest known implementation of a tar archiver. Features: - FIFO to keep the tape streaming. - remote tape support. - accurate sparse files (if the OS supports it). - pattern matcher to archive and extract a subset of files. - user tailorable interface for comparing tar archives against file trees. - path names up to 1024 Bytes may be archived. - stores and restores all 3 file times (even creation time). With POSIX.1-2001 the times are in nanosecond granularity. %package -n spax Summary: Portable archive exchange Group: Productivity/Archiving/Backup Requires: %{name} = %{version} Provides: pax = 3.5 Obsoletes: pax < 3.5 %description -n spax The pax utility shall read and write archives, write lists of the members of archive files and copy directory hierarchies as is defined in IEEE Std 1003.1. %package rmt Summary: Magnetic tape control and server Group: Productivity/Archiving/Backup Requires(post): update-alternatives Requires(postun): update-alternatives Provides: mt Provides: rmt %description rmt The rmt is a program used by programs like star and ufsdump that like to access remote magnetic tape drives and files through an interprocess communication connection. This package contain also mt program for local or remote tape control. %prep %setup -q -T -b 2 -n tests -b 0 -n star-%{version} %patch0 -p1 %patch1 -p1 #%patch2 -p1 %patch3 %patch4 -p1 #%patch5 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 %patch10 -p1 %patch11 -p1 cp %{SOURCE1} . for PLAT in aarch64 %{arm} ppc ppc64 ppc64le x86_64 s390 s390x; do for AFILE in gcc cc; do [ ! -e RULES/${PLAT}-linux-${AFILE}.rul ] \ && ln -s i586-linux-${AFILE}.rul RULES/${PLAT}-linux-${AFILE}.rul done done # disable single "fat" binary cp -a star/all.mk star/Makefile # do not ship these rm TARGETS/{25include,55star_sym} %build # x86 is special %ifarch %{ix86} FLAGS="`echo %{optflags} | sed -e 's/\-fomit-frame-pointer//g'`" %else FLAGS="%{optflags}" %endif # This is config/work-around for atypical build system. Variables used are # docummented makefiles.5. GMAKE_NOWARN silences irritating warnings in # GNU/Linux ecosystem. %global make_flags GMAKE_NOWARN=true \\\ RUNPATH= \\\ LDPATH= \\\ PARCH=%{_target_cpu} \\\ K_ARCH=%{_target_cpu} \\\ INSTALL='sh $(SRCROOT)/conf/install-sh -c -m $(INSMODEINS)' \\\ COPTX="$FLAGS -DTRY_EXT2_FS" \\\ DEFCCOM=gcc MAKEPROG=gmake MANDIR=man make %{?_smp_mflags} %{make_flags} %install make %{make_flags} INS_BASE=%{buildroot}%{_prefix} INS_RBASE=%{buildroot} install # Install docu install -D -m 644 %{SOURCE1} %{buildroot}%{_docdir}/%{name}-rmt install -D -m 644 -t %{buildroot}%{_docdir}/star AN* CDDL* README Changelog # Alternatives system for rmt & mt install -d %{buildroot}%{_sysconfdir}/alternatives ln -sf %{_sysconfdir}/alternatives/rmt %{buildroot}%{_bindir}/rmt ln -sf %{_sysconfdir}/alternatives/rmt.1%{ext_man} %{buildroot}%{_mandir}/man1/rmt.1%{ext_man} ln -sf %{_sysconfdir}/alternatives/mt %{buildroot}%{_bindir}/mt ln -sf %{_sysconfdir}/alternatives/mt.1%{ext_man} %{buildroot}%{_mandir}/man1/mt.1%{ext_man} %check cd %{_builddir}/tests export PATH=%{buildroot}%{_prefix}/bin:$PATH # FAILS: 36 commands (30 passed, 6 failed) make %{?_smp_mflags} || : %post rmt %{_sbindir}/update-alternatives --force \ --install %{_bindir}/rmt rmt %{_bindir}/srmt 30 \ --slave %{_mandir}/man1/rmt.1%{ext_man} rmt.1%{ext_man} %{_mandir}/man1/srmt.1%{ext_man} %{_sbindir}/update-alternatives --force \ --install %{_bindir}/mt mt %{_bindir}/smt 10 \ --slave %{_mandir}/man1/mt.1%{ext_man} mt.1%{ext_man} %{_mandir}/man1/smt.1%{ext_man} %postun rmt if [ ! -f %{_bindir}/srmt ] ; then %{_sbindir}/update-alternatives --remove rmt %{_bindir}/srmt %{_sbindir}/update-alternatives --remove mt %{_bindir}/smt fi %files %defattr(-, root, root) %{_docdir}/%{name} %config(noreplace) %{_sysconfdir}/default/star %{_bindir}/star %{_bindir}/tartest %{_bindir}/ustar %{_mandir}/man1/match.1%{ext_man} %{_mandir}/man1/star.1%{ext_man} %{_mandir}/man1/tartest.1%{ext_man} %files -n spax %defattr(-, root, root) %{_mandir}/man1/spax.1%{ext_man} %{_bindir}/pax %{_bindir}/spax %files rmt %defattr(-, root, root) %{_docdir}/%{name}-rmt %config(noreplace) %{_sysconfdir}/default/rmt %{_mandir}/man1/srmt.1%{ext_man} %{_mandir}/man1/smt.1%{ext_man} %{_bindir}/srmt %{_bindir}/smt %ghost %{_bindir}/rmt %ghost %{_bindir}/mt %ghost %{_mandir}/man1/rmt.1%{ext_man} %ghost %{_mandir}/man1/mt.1%{ext_man} %ghost %{_sysconfdir}/alternatives/rmt %ghost %{_sysconfdir}/alternatives/mt %ghost %{_sysconfdir}/alternatives/rmt.1%{ext_man} %ghost %{_sysconfdir}/alternatives/mt.1%{ext_man} %ghost /usr/share/doc/packages/star-rmt/default-rmt.sample %changelog * Mon Mar 27 2017 mpluskal@suse.com - Conform with packaging guidelines for update alternatives * Tue Mar 14 2017 svalx@svalx.net - Disable building extra binaries - Alternatives system for mt and rmt - Separated subpackage for mt and rmt - Move rmt to /usr/bin/ * Mon Dec 19 2016 kstreitova@suse.com - add star-1.5.3-xattr_security-capability.patch - Linux xattrs are now set after chown() as Linux resets xattrs with a chown() call [bsc#1014065] * Fri May 20 2016 schwab@suse.de - Create rules for aarch64 * Fri Nov 20 2015 kstreitova@suse.com - add star-1.5.3-mixed_output.patch to flush the verbose file stream before checking for missing links. This tries to avoid mixed output when people call "star 2>&1 | tee" [bnc#935569] - run spec-cleaner * Fri Jun 12 2015 kstreitova@suse.com - move /usr/share/doc/rmt/* to /usr/share/doc/packages/rmt [bnc#931169] * Mon Feb 23 2015 kstreitova@suse.com - remove /usr/share/man/man1/mt.1.gz man page because this causes a conflict with cpio package. * Fri Feb 20 2015 tchvatal@suse.com - Fix build on i586 * Fri Feb 20 2015 tchvatal@suse.com - Do not install docu that describes how to compile - Convert spec file and changelog to UTF8 * Thu Feb 19 2015 mpluskal@suse.com - Cleanup install section * Thu Feb 19 2015 tchvatal@suse.com - Copy testsuite run to %%check phase - Fix the install phase to pass * Thu Feb 19 2015 tchvatal@suse.com - Add few patches from fedora: * star-1.5.1-selinux-segfault.patch * star-1.5.2-bufferoverflow.patch * star-1.5.2-use-ssh-by-default.patch * star-1.5.3-pax-X-option.patch * star-1.5.3-star-mk.patch * Thu Feb 19 2015 tchvatal@suse.com - Remove german from README-FIRST * Thu Feb 19 2015 tchvatal@suse.com - Version bump to 1.5.3 release, Various changes without changelog - Upstream moved to sourceforge - Libtool is needed always, so stop the if conditions around it - Refresh few patches: * star-configuration.diff * star-no_fsync.diff * star-lock.diff * star-selinux.patch * bnc#858660_detect_gzip_failures.patch - Obsoleted patch: * rmt-move.diff * star-getline.diff * star-fexecve.diff * star-1.5.1-bufferoverflow.patch * Thu Jan 29 2015 kukuk@suse.de - Add missing requires for star main package * Thu Jan 29 2015 kukuk@suse.de - Create subpackage with spax binary and compatibility link for pax. This is needed for LSB compatibility. * Mon May 26 2014 vdziewiecki@suse.com -Fix Bug 858660 - star does not detect gzip failures: bnc#858660_detect_gzip_failures.patch * Mon Dec 9 2013 dvaleev@suse.com - enable ppc64le * Sun Jun 16 2013 jengelh@inai.de - Explicitly list libattr-devel as BuildRequires - Remove redundant %%clean section. * Wed Mar 20 2013 schwab@suse.de - Port baroque configuration system to aarch64 * Tue Jun 19 2012 cfarrell@suse.com - license update: CDDL-1.0 SPDX format * Wed Jan 4 2012 meissner@suse.de - for ppc64, we need to do the stuff that suse_update_config did. * Wed Dec 21 2011 coolo@suse.com - add autoconf as buildrequire to avoid implicit dependency * Wed Dec 21 2011 coolo@suse.com - remove call to suse_update_config (very old work around) * Fri Sep 30 2011 agraf@novell.com - fix build on armv7 * Wed Jul 28 2010 puzel@novell.com - star-1.5.1-bufferoverflow.patch (bnc#625527) * Sun Jun 7 2009 ro@suse.de - rename getline to my_getline to avoid collision with function from glibc - rename fexecve to my_fexecve to avoid collision with function from glibc * Tue Mar 10 2009 werner@suse.de - Set read lock before using the semaphore wait on a pipe fd to avoid deadlock (bnc#414251) * Wed Aug 20 2008 mkoenig@suse.de - enable SELinux support [fate#303662] * Tue Apr 29 2008 mkoenig@suse.de - set version to 1.5final to avoid update problem with previous version number 1.5a70. * Mon Apr 28 2008 skh@suse.de - update to version 1.5 final (see Changelog in package documentation for all changes) - remove patch star-CVE-2007-4134.patch (is upstream now) - don't build with -D_GNU_SOURCE * Fri Aug 31 2007 mkoenig@suse.de - fix directory traversal vulnerability CVE-2007-4134 [#302489] * Mon Sep 11 2006 jw@suse.de - remove unused GPL code. Fixing #134113 * Wed May 10 2006 mmj@suse.de - compile with RPM_OPT_FLAGS [#170464] * Wed Jan 25 2006 mls@suse.de - converted neededforbuild to BuildRequires * Tue Dec 20 2005 mmj@suse.de - update to 1.5a70 o null.diff is upstream * Fri Dec 9 2005 ro@suse.de - disable selinux * Tue Nov 22 2005 mmj@suse.de - ustar should link to star [#134107] * Tue Nov 15 2005 uli@suse.de - link armv4l build rules to armv5tel (aka QEMU) * Mon Jul 25 2005 nadvornik@suse.cz - install symlink /etc/rmt -> /sbin/rmt - provide rmt * Thu Jul 21 2005 mmj@suse.de - Disable fsync again [#97500] - Enable null.diff * Wed Jul 20 2005 mmj@suse.de - Move rmt to /sbin [#97266] * Tue Jun 28 2005 agruen@suse.de - null.diff: Add -null option to star (patch from Björn Jacke). * Fri Feb 18 2005 agruen@suse.de - The new version also needs e2fsprogs-devel for some defines. * Wed Feb 16 2005 agruen@suse.de - star-acl-fix.diff: Drop this patch: it contains a bug (#50874) and nothing else that would be useful. * Wed Feb 16 2005 agruen@suse.de - Update to version 1.5a58-pre2. * Wed Feb 16 2005 agruen@suse.de - Add support for the ext3 'j' flag (per-file data journaling). * Wed Aug 11 2004 mmj@suse.de - Update to star-1.5a44 * Fri Jul 9 2004 mmj@suse.de - Update to star-1.5a41 and move stuff from %%prep to %%build * Mon Mar 15 2004 kukuk@suse.de - Add SELinux support * Fri Mar 5 2004 mmj@suse.de - Fix testsuite * Thu Mar 4 2004 mmj@suse.de - Update to 1.5a38 * Sat Jan 10 2004 adrian@suse.de - fix user build * Mon Oct 13 2003 agruen@suse.de - Upgrade to version 1.5a30. * Mon Sep 15 2003 agruen@suse.de - Upgrade to version 1.5a25. - Another fix in star-acl-fix.diff. - Rename star-alpha (ver. 1.5a25) to star, and drop star 1.4.3. * Wed Sep 10 2003 agruen@suse.de - Upgrade to version 1.5a24. - Fix restoring of archives that contain broken acls. * Thu Aug 21 2003 agruen@suse.de - Fix bug in xattr patch that causes star to crash. * Sun Jul 27 2003 agruen@suse.de - Update to version 1.5a17. - Don't do fsync for extracted files. - Remove files that won't be packaged. - Include tartest binary and manpage. - Add test suite for acls and extended atributes. * Tue Mar 4 2003 agruen@suse.de - Split star-1.5 package from from star. Upgrade to latest alpha version. * Tue Feb 25 2003 agruen@suse.de - Fix several shortcomings and some bugs in the EA handling patch. (EA support in star on 8.2 beta 2 is broken -- which doesn't matter so much, since it's a new feature, anyway.) * Mon Feb 24 2003 agruen@suse.de - Add Extended Attributes handling patch. (Still needs to be discussed much forther with Jörg Schilling, so it is quite likely to change again soon.) * Wed Jan 22 2003 agruen@suse.de - Update to 1.4.2, which includes the fix from Oct 29. - names-with-spaces.diff fixes a bug with spaces in user/group names of ACL entries. - Update the Source tag in the spec file to the new FTP server (was: ftp://ftp.fokus.gmd.de/pub/unix/star/%%{name}-%%{version}.tar.bz2) * Fri Dec 13 2002 ro@suse.de - updated neededforbuild * Tue Oct 29 2002 pthomas@suse.de - Apply patch from agruen@suse.de to fix archive corruption. * Fri Aug 16 2002 pthomas@suse.de - Fix typo in README.SuSE - Add acl,acl-devel, and attr to neededforbuild to make star support ACLs * Tue Jun 25 2002 pthomas@suse.de - Update to bugfix release 1.4.1 * Mon Jun 3 2002 pthomas@suse.de - Add rules for ppc64-linux as symlinks to i586-linux. * Wed May 29 2002 pthomas@suse.de - Install /etc/default/rmt as %%config(noreplace) - Add README.SuSE explaining configuration and setup for using rmt. - Fix rmt manpage. - Only install smt, as cpio provides mt. - Don't install makefiles.5 and makerules.5 - Define _GNU_SOURCE unconditionally and modify sources so that declarations for fexecve and getline don't clash. * Tue May 28 2002 sf@suse.de - %%_lib fixes * Mon May 27 2002 ro@suse.de - fixed typo in specfile * Mon May 27 2002 pthomas@suse.de - Initial package creation.