Tiny Core Linux

General TC => Programming & Scripting - Unofficial => Topic started by: vitex on January 03, 2010, 07:47:56 AM

Title: Using find and cpio to copy parts of a directory
Post by: vitex on January 03, 2010, 07:47:56 AM
As compensation for the confusion that I may have created with http://forum.tinycorelinux.net/index.php?topic=4476.0  (http://forum.tinycorelinux.net/index.php?topic=4476.0), here is a cpio pass-mode example that may be useful.

See http://tinycorelinux.com/wiki/tiki-index.php?page=Creating+Extensions#When_DESTDIR_Fails (http://tinycorelinux.com/wiki/tiki-index.php?page=Creating+Extensions#When_DESTDIR_Fails).  The scripting in the post TC 2.4 case can be simplified to

Code: [Select]
touch /tmp/mark               # in case DESTDIR fails
make install DESTDIR=/tmp/pkg # DESTDIR may not work ...
( cd /                        # Copy any new files that make placed in /usr/local
  find usr/local -newer /tmp/mark -not -type d | cpio -pd /tmp/pkg
)
( cd /tmp ; mksquashfs pkg/ someapp.tcz )

Using find and cpio, it is easy to filter the list of files to be copied.  For example,
Code: [Select]
( cd /                       
  find usr/local -newer /tmp/mark -not -type d |
    grep -v /man/ |
    cpio -pd /tmp/pkg
)
would exclude all files in a /man/ directory.