%ifos linux
%define	_bindir		/bin
%define	_libexecdir	/sbin
%endif

Summary: A GNU archiving program.
Summary(ja): GNU アーカイブプログラム
Name: cpio
Version: 2.11
Release: 3%{?_dist_release}

License: GPLv3
Group: Applications/Archiving
URL: ftp://ftp.gnu.org/pub/gnu/cpio/

Source: ftp://ftp.gnu.org/gnu/cpio/cpio-%{version}.tar.bz2
Source1: cpio.1
Patch1: cpio-2.6-setLocale.patch
Patch2: cpio-2.9-rh.patch
Patch4: cpio-2.9-exitCode.patch
Patch6: cpio-2.9-dev_number.patch
Patch7:	cpio-2.11-gets.patch
#security
Patch100: cpio-2.11-CVE-2014-9112.patch

%ifnos linux
Requires(post): /sbin/rmt
%endif
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
BuildRequires: texinfo autoconf gettext
Buildroot: %{_tmppath}/%{name}-%{version}-root

Vendor: Project Vine
Distribution: Vine Linux

%description
GNU cpio copies files into or out of a cpio or tar archive.  Archives
are files which contain a collection of other files plus information
about them, such as their file name, owner, timestamps, and access
permissions.  The archive can be another file on the disk, a magnetic
tape, or a pipe.  GNU cpio supports the following archive formats:  binary,
old ASCII, new ASCII, crc, HPUX binary, HPUX old ASCII, old tar and POSIX.1
tar.  By default, cpio creates binary format archives, so that they are
compatible with older cpio programs.  When it is extracting files from
archives, cpio automatically recognizes which kind of archive it is reading
and can read archives created on machines with a different byte-order.

Install cpio if you need a program to manage file archives.


%description -l ja
GNU cpio は cpio アーカイブ或いは tar アーカイブにファイルをコピーしたり
取り出したりするプログラムです．アーカイブというのは，(1つ以上の)ファイルと
その情報(ファイル名，オーナー，更新日付，パーミッション等)がまとめられた
1つのファイルのことです．アーカイブはディスク上のファイル，磁気テープ，
或いはパイプであっても構いません．
GNU cpio がサポートしているアーカイブ形式は以下の通りです：
    バイナリ, old ASCII, new ASCII, crc, HPUX バイナリ, HPUX old ASCII,
    old tar, POSIX.1 tar
デフォルトでは cpio はバイナリ形式のアーカイブを作成します．
これは古いバージョンの cpio との互換性の為です．
アーカイブを展開する場合は，cpio はアーカイブの形式を自動認識しますし，
バイトオーダの異なる機械で作成されたアーカイブを読むことも可能です．

ファイルアーカイブを扱うプログラムが必要なら，cpio をインストールして下さい．


%prep
%setup -q
%patch1  -p1 -b .setLocale
%patch2  -p1 -b .rh
%patch4  -p1 -b .exitCode
%patch6  -p1 -b .dev_number
%patch7  -p1 -b .gets
# security
%patch100 -p1 -b .CVE-2014-9112

autoheader

%build

CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -pedantic -Wall" %configure
make %{?_smp_mflags}

%install
rm -rf $RPM_BUILD_ROOT

make DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p" install

{ cd $RPM_BUILD_ROOT

%ifos linux
# XXX these from mt-st
  rm -f .%{_bindir}/mt .%{_mandir}/man1/mt.1
%endif
}

rm -f $RPM_BUILD_ROOT%{_infodir}/dir
rm -f $RPM_BUILD_ROOT/sbin/rmt
rm -f $RPM_BUILD_ROOT%{_mandir}/man1/*.1*
install -c -p -m 0644 %{SOURCE1} ${RPM_BUILD_ROOT}%{_mandir}/man1

%clean
rm -rf $RPM_BUILD_ROOT

%post
/sbin/install-info %{_infodir}/cpio.info.gz %{_infodir}/dir

%preun
if [ $1 = 0 ]; then
    /sbin/install-info --delete %{_infodir}/cpio.info.gz %{_infodir}/dir
fi


%files
%defattr(-,root,root)
%doc AUTHORS ChangeLog NEWS README THANKS TODO
%ifnos linux
%{_libexecdir}/*
%endif
%{_bindir}/*
%{_mandir}/man*/*
%{_infodir}/*.info*
%{_datadir}/locale/*

%changelog
* Sun Jan  4 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 2.11-3
- reflected security fix based on Vine Linux/6.2
  * Tue Dec 23 2014 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 2.11-2
  - add patch100 for fix CVE-2014-9112 (cpio's list_file())
    this patch is from fc21, thanks.

* Sun Dec 29 2013 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.11-2
- rebuild with VineSeed environment
- add Patch7 (cpio-2.11-gets.patch)

* Sat Apr 16 2011 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 2.11-1
- new upstream release 
- rebuilt with current VineSeed

* Fri Jan  1 2010 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 2.10-1
- new upstream release 

* Sun Sep 21 2008 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 2.9.90-1vl5
- new upstream from alpha version 
- applied new versioning policy
- spec in UTF-8
- added Patch5 and 6 from FC
  * Fri Jul 18 2008 Kamil Dudka <kdudka@redhat.com> 2.9.90-2
  - Support major/minor device numbers over 127 (bz#450109)
  * Mon Mar 03 2008 Radek Brich <rbrich@redhat.com> 2.9-7
  - fix -dir_perm patch to restore permissions correctly even
    in passthrough mode -- revert affected code to cpio 2.8 state
    (bz#430835)

* Sat Aug 25 2007 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 2.9-1vl1
- new upstream release

* Sat Apr 16 2005 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 2.6-5vl1
- based on Fedora development 2.6-5
  * Mon Jan 24 2005 Peter Vrabec <pvrabec@redhat.com>
  - insecure file creation (#145721)
  * Mon Jan 17 2005 Peter Vrabec <pvrabec@redhat.com>
  - fix symlinks pack (#145225)
  * Fri Jan 14 2005 Peter Vrabec <pvrabec@redhat.com>
  - new fixed version of lfs patch (#144688)
  * Tue Nov 09 2004 Peter Vrabec <pvrabec@redhat.com>
  - fixed "cpio -oH ustar (or tar) saves bad mtime date after Jan 10 2004" (#114580)
  * Mon Nov 01 2004 Peter Vrabec <pvrabec@redhat.com>
  - support large files > 2GB (#105617)

* Wed Dec 04 2002 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 2.5-1vl1
- based on 2.5-1 from rawhide and built for Vine Linux
- added Japanese summary and description

* Mon Nov 18 2002 Jeff Johnson <jbj@redhat.com> 2.5-1
- update 2.5, restack and consolidate patches.
- don't apply (but include for now) freebsd and #56346 patches.
- add url (#54598).

* Thu Nov  7 2002 Jeff Johnson <jbj@redhat.com> 2.4.2-30
- rebuild from CVS.

* Fri Jun 21 2002 Tim Powers <timp@redhat.com>
- automated rebuild

* Thu May 23 2002 Tim Powers <timp@redhat.com>
- automated rebuild

* Wed Jan 09 2002 Tim Powers <timp@redhat.com>
- automated rebuild

* Thu Nov 22 2001 Bernhard Rosenkraenzer <bero@redhat.com> 2.4.2-25
- Fix up extraction of multiply linked files when the first link is
  excluded (Bug #56346)

* Mon Oct  1 2001 Bernhard Rosenkraenzer <bero@redhat.com> 2.4.2-24
- Merge and adapt patches from FreeBSD, this should fix FIFO handling

* Tue Jun 26 2001 Bernhard Rosenkraenzer <bero@redhat.com>
- Add and adapt Debian patch (pl36), fixes #45285 and a couple of other issues

* Sun Jun 24 2001 Elliot Lee <sopwith@redhat.com>
- Bump release + rebuild.

* Tue Aug  8 2000 Jeff Johnson <jbj@redhat.com>
- update man page with decription of -c behavior (#10581).

* Wed Jul 12 2000 Prospector <bugzilla@redhat.com>
- automatic rebuild

* Thu Jun 29 2000 Preston Brown <pbrown@redhat.com>
- patch from HJ Lu for better error codes upon exit

* Mon Jun  5 2000 Jeff Johnson <jbj@redhat.com>
- FHS packaging.

* Wed Feb  9 2000 Jeff Johnson <jbj@redhat.com>
- missing defattr.

* Mon Feb  7 2000 Bill Nottingham <notting@redhat.com>
- handle compressed manpages

* Fri Dec 17 1999 Jeff Johnson <jbj@redhat.com>
- revert the stdout patch (#3358), restoring original GNU cpio behavior
  (#6376, #7538), the patch was dumb.

* Tue Aug 31 1999 Jeff Johnson <jbj@redhat.com>
- fix infinite loop unpacking empty files with hard links (#4208).
- stdout should contain progress information (#3358).

* Sun Mar 21 1999 Crstian Gafton <gafton@redhat.com> 
- auto rebuild in the new build environment (release 12)

* Sat Dec  5 1998 Jeff Johnson <jbj@redhat.com>
- longlong dev wrong with "-o -H odc" headers (formerly "-oc").

* Thu Dec 03 1998 Cristian Gafton <gafton@redhat.com>
- patch to compile on glibc 2.1, where strdup is a macro

* Tue Jul 14 1998 Jeff Johnson <jbj@redhat.com>
- Fiddle bindir/libexecdir to get RH install correct.
- Don't include /sbin/rmt -- use the rmt from dump package.
- Don't include /bin/mt -- use the mt from mt-st package.
- Add prereq's

* Tue Jun 30 1998 Jeff Johnson <jbj@redhat.com>
- fix '-c' to duplicate svr4 behavior (problem #438)
- install support programs & info pages

* Mon Apr 27 1998 Prospector System <bugs@redhat.com>
- translations modified for de, fr, tr

* Fri Oct 17 1997 Donnie Barnes <djb@redhat.com>
- added BuildRoot
- removed "(used by RPM)" comment in Summary

* Thu Jun 19 1997 Erik Troan <ewt@redhat.com>
- built against glibc
- no longer statically linked as RPM doesn't use cpio for unpacking packages
