Cpio
Download Source: | ftp://ftp.gnu.org/pub/gnu/cpio/cpio-2.9.90.tar.bz2 |
---|---|
Download Patch: | http://www.linuxfromscratch.org/patches/blfs/svn/cpio-2.9.90-security_fixes-1.patch |
Contents
Introduction to Cpio
<Package Description Needed>
Dependencies
Non-Multilib
Compile the package:
sed -i "s/invalid_arg/argmatch_invalid/" src/mt.c && patch -Np1 -i ../cpio-2.9.90-security_fixes-1.patch && ./configure CPIO_MT_PROG=mt --prefix=/usr \ --bindir=/bin --libexecdir=/tmp \ --with-rmt=/usr/sbin/rmt && echo "#define HAVE_SETLOCALE 1" >> config.h && echo "#define HAVE_LSTAT 1" >> config.h && make
Install the package
make install
Command Explanations
sed -i "s/invalid_arg/argmatch_invalid/" src/mt.c: This fixes a problem with the build of mt.
CPIO_MT_PROG=mt: This causes mt to be included in the build.
--bindir=/bin: This makes it so that cpio is put in /bin instead of /usr/bin. This is done to match the FHS.
--libexecdir=/tmp: This prevents the creation of /usr/libexec.
--with-rmt=/usr/sbin/rmt: This parameter prevents rmt from being built. It was already installed with the Tar package.
echo "#define HAVE_SETLOCALE 1" >> config.h: This command specifies that the system Libc implements the setlocale function because it is not detected by configure.
echo "#define HAVE_LSTAT 1" >> config.h: This fixes a bug that causes cpio to convert symlinks into regular files during archive creation.
Multilib
This package does not provide any libraries so only one installation is needed.
32Bit
sed -i "s/invalid_arg/argmatch_invalid/" src/mt.c && patch -Np1 -i ../cpio-2.9.90-security_fixes-1.patch && CC="gcc ${BUILD32}" ./configure CPIO_MT_PROG=mt --prefix=/usr \ --bindir=/bin --libexecdir=/tmp \ --with-rmt=/usr/sbin/rmt && echo "#define HAVE_SETLOCALE 1" >> config.h && echo "#define HAVE_LSTAT 1" >> config.h && make
Install the package:
make install
N32
sed -i "s/invalid_arg/argmatch_invalid/" src/mt.c && patch -Np1 -i ../cpio-2.9.90-security_fixes-1.patch && CC="gcc ${BUILDN32}" ./configure CPIO_MT_PROG=mt --prefix=/usr --libdir=/usr/lib32 \ --bindir=/bin --libexecdir=/tmp \ --with-rmt=/usr/sbin/rmt && echo "#define HAVE_SETLOCALE 1" >> config.h && echo "#define HAVE_LSTAT 1" >> config.h && make
Install the package:
make install
64Bit
Compile the package:
sed -i "s/invalid_arg/argmatch_invalid/" src/mt.c && patch -Np1 -i ../cpio-2.9.90-security_fixes-1.patch && CC="gcc ${BUILD64}" ./configure CPIO_MT_PROG=mt --prefix=/usr --libdir=/usr/lib64 \ --bindir=/bin --libexecdir=/tmp \ --with-rmt=/usr/sbin/rmt && echo "#define HAVE_SETLOCALE 1" >> config.h && echo "#define HAVE_LSTAT 1" >> config.h && make
Install the package:
make install
Contents
Installed Programs: | cpio and mt |
---|---|
Installed Libraries: | None |
Installed Directories: | None |
Short Descriptions
cpio | copies files to and from archives. |
---|---|
mt | controls magnetic tape drive operations. |