Difference between revisions of "Cpio"

From CBLFS
Jump to navigationJump to search
(Introduction to Cpio)
 
(4 intermediate revisions by 3 users not shown)
Line 2: Line 2:
 
|-valign="top"
 
|-valign="top"
 
!Download Source:
 
!Download Source:
| ftp://ftp.gnu.org/pub/gnu/cpio/cpio-{{Cpio-Version}}.tar.bz2
+
| ftp://alpha.gnu.org/gnu/cpio/cpio-{{Cpio-Version}}.tar.bz2
|-valign="top"
 
!Download Patch:
 
| http://www.linuxfromscratch.org/patches/blfs/svn/cpio-{{Cpio-Version}}-security_fixes-1.patch
 
 
|}
 
|}
  
 
----
 
----
  
== Introduction to Cpio ==
+
{{Blank-Package-Introduction}}
 
 
<Package Description Needed>
 
  
 
== Dependencies ==
 
== Dependencies ==
Line 20: Line 15:
 
Compile the package:
 
Compile the package:
  
sed -i "s/invalid_arg/argmatch_invalid/" src/mt.c &&
 
patch -Np1 -i ../cpio-{{Cpio-Version}}-security_fixes-1.patch &&
 
 
  ./configure CPIO_MT_PROG=mt --prefix=/usr \
 
  ./configure CPIO_MT_PROG=mt --prefix=/usr \
 
     --bindir=/bin --libexecdir=/tmp \
 
     --bindir=/bin --libexecdir=/tmp \
 
     --with-rmt=/usr/sbin/rmt &&
 
     --with-rmt=/usr/sbin/rmt &&
echo "#define HAVE_SETLOCALE 1" >> config.h &&
 
echo "#define HAVE_LSTAT 1" >> config.h &&
 
 
  make
 
  make
  
Line 34: Line 25:
  
 
=== Command Explanations ===
 
=== 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.
 
''CPIO_MT_PROG=mt'': This causes '''mt''' to be included in the build.
Line 44: Line 33:
  
 
--with-rmt=/usr/sbin/rmt: This parameter prevents '''rmt''' from being built. It was already installed with the Tar package.
 
--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 ==
 
== Multilib ==
Line 54: Line 39:
 
=== 32Bit ===
 
=== 32Bit ===
  
sed -i "s/invalid_arg/argmatch_invalid/" src/mt.c &&
 
patch -Np1 -i ../cpio-{{Cpio-Version}}-security_fixes-1.patch &&
 
 
  CC="gcc ${BUILD32}" ./configure CPIO_MT_PROG=mt --prefix=/usr \
 
  CC="gcc ${BUILD32}" ./configure CPIO_MT_PROG=mt --prefix=/usr \
 
     --bindir=/bin --libexecdir=/tmp \
 
     --bindir=/bin --libexecdir=/tmp \
 
     --with-rmt=/usr/sbin/rmt &&
 
     --with-rmt=/usr/sbin/rmt &&
echo "#define HAVE_SETLOCALE 1" >> config.h &&
 
echo "#define HAVE_LSTAT 1" >> config.h &&
 
 
  make
 
  make
  
Line 69: Line 50:
 
=== N32 ===
 
=== N32 ===
  
sed -i "s/invalid_arg/argmatch_invalid/" src/mt.c &&
 
patch -Np1 -i ../cpio-{{Cpio-Version}}-security_fixes-1.patch &&
 
 
  CC="gcc ${BUILDN32}" ./configure CPIO_MT_PROG=mt --prefix=/usr --libdir=/usr/lib32 \
 
  CC="gcc ${BUILDN32}" ./configure CPIO_MT_PROG=mt --prefix=/usr --libdir=/usr/lib32 \
 
     --bindir=/bin --libexecdir=/tmp \
 
     --bindir=/bin --libexecdir=/tmp \
 
     --with-rmt=/usr/sbin/rmt &&
 
     --with-rmt=/usr/sbin/rmt &&
echo "#define HAVE_SETLOCALE 1" >> config.h &&
 
echo "#define HAVE_LSTAT 1" >> config.h &&
 
 
  make
 
  make
  
Line 86: Line 63:
 
Compile the package:
 
Compile the package:
  
sed -i "s/invalid_arg/argmatch_invalid/" src/mt.c &&
 
patch -Np1 -i ../cpio-{{Cpio-Version}}-security_fixes-1.patch &&
 
 
  CC="gcc ${BUILD64}" ./configure CPIO_MT_PROG=mt --prefix=/usr --libdir=/usr/lib64 \
 
  CC="gcc ${BUILD64}" ./configure CPIO_MT_PROG=mt --prefix=/usr --libdir=/usr/lib64 \
 
     --bindir=/bin --libexecdir=/tmp \
 
     --bindir=/bin --libexecdir=/tmp \
 
     --with-rmt=/usr/sbin/rmt &&
 
     --with-rmt=/usr/sbin/rmt &&
echo "#define HAVE_SETLOCALE 1" >> config.h &&
 
echo "#define HAVE_LSTAT 1" >> config.h &&
 
 
  make
 
  make
  

Latest revision as of 15:30, 2 June 2010

Download Source: ftp://alpha.gnu.org/gnu/cpio/cpio-2.9.90.tar.bz2

Introduction to Cpio

Project Homepage: Unknown

Dependencies

Non-Multilib

Compile the package:

./configure CPIO_MT_PROG=mt --prefix=/usr \
    --bindir=/bin --libexecdir=/tmp \
    --with-rmt=/usr/sbin/rmt &&
make

Install the package

make install

Command Explanations

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.

Multilib

This package does not provide any libraries so only one installation is needed.

32Bit

CC="gcc ${BUILD32}" ./configure CPIO_MT_PROG=mt --prefix=/usr \
    --bindir=/bin --libexecdir=/tmp \
    --with-rmt=/usr/sbin/rmt &&
make

Install the package:

make install

N32

CC="gcc ${BUILDN32}" ./configure CPIO_MT_PROG=mt --prefix=/usr --libdir=/usr/lib32 \
    --bindir=/bin --libexecdir=/tmp \
    --with-rmt=/usr/sbin/rmt &&
make

Install the package:

make install

64Bit

Compile the package:

CC="gcc ${BUILD64}" ./configure CPIO_MT_PROG=mt --prefix=/usr --libdir=/usr/lib64 \
    --bindir=/bin --libexecdir=/tmp \
    --with-rmt=/usr/sbin/rmt &&
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.