diff options
author | Richard Jones <rjones@redhat.com> | 2009-05-11 14:51:22 +0100 |
---|---|---|
committer | Richard Jones <rjones@redhat.com> | 2009-05-11 15:41:41 +0100 |
commit | d52fcf7521b8f9b1ec7bbeaaf93840af37d363cf (patch) | |
tree | 2e40039898704b34c73c42fa02b27a043ec0fe60 /febootstrap-install.sh | |
parent | e8d2809e31c5f4c937dc98239118855b2d1d006e (diff) | |
download | febootstrap-d52fcf7521b8f9b1ec7bbeaaf93840af37d363cf.tar.gz febootstrap-d52fcf7521b8f9b1ec7bbeaaf93840af37d363cf.tar.xz febootstrap-d52fcf7521b8f9b1ec7bbeaaf93840af37d363cf.zip |
Be more careful about removing files in fakeroot during minimization.
Added febootstrap-install program.
Diffstat (limited to 'febootstrap-install.sh')
-rwxr-xr-x | febootstrap-install.sh | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/febootstrap-install.sh b/febootstrap-install.sh new file mode 100755 index 0000000..76b99b7 --- /dev/null +++ b/febootstrap-install.sh @@ -0,0 +1,45 @@ +#!/bin/bash - +# febootstrap-install +# (C) Copyright 2009 Red Hat Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# +# Written by Richard W.M. Jones <rjones@redhat.com> + +unset CDPATH + +usage () +{ + echo "Usage: febootstrap-install ROOT LOCALFILE TARGETPATH MODE OWNER[.GROUP]" + echo "Please read febootstrap-install(8) man page for more information." +} + +if [ $# != 5 ]; then + usage + exit 1 +fi + +set -e + +# This is a carefully chosen sequence of commands which +# tries not to disturb any inode numbers apart from the +# one for the new file. +cp "$2" "$1"/"$3" +ino=$(ls -i "$1"/"$3" | awk '{print $1}') +cp "$1"/fakeroot.log "$1"/fakeroot.log.old +grep -v "ino=$ino," "$1"/fakeroot.log.old > "$1"/fakeroot.log +rm "$1"/fakeroot.log.old +febootstrap-run "$1" -- chmod "$4" "$3" +febootstrap-run "$1" -- chown "$5" "$3" |