X-Git-Url: http://git.annexia.org/?p=febootstrap.git;a=blobdiff_plain;f=febootstrap-minimize.sh;h=15782f7926c0db2bcb1b76b2cdb926e9a978cbbf;hp=b4f23c58053a6d19094ce05ca798362ee55aab56;hb=9acbbf00f0cba3d4fcfea7e4261ccc4e113a1673;hpb=b900dfdd10cab92a5c6978bc0f4db8f167ae82a9 diff --git a/febootstrap-minimize.sh b/febootstrap-minimize.sh index b4f23c5..15782f7 100755 --- a/febootstrap-minimize.sh +++ b/febootstrap-minimize.sh @@ -22,7 +22,7 @@ unset CDPATH TEMP=`getopt \ -o '' \ - --long help,all,none,keep-locales,drop-locales,keep-docs,drop-docs,keep-cracklib,drop-cracklib,keep-i18n,drop-i18n,keep-zoneinfo,drop-zoneinfo,keep-rpmdb,drop-rpmdb,keep-yum-cache,drop-yum-cache,keep-services,drop-services,keep-sln,drop-sln,keep-ldconfig,drop-ldconfig,no-pack-executables,pack-executables \ + --long help,all,none,keep-locales,drop-locales,keep-docs,drop-docs,keep-cracklib,drop-cracklib,keep-i18n,drop-i18n,keep-zoneinfo,drop-zoneinfo,keep-rpmdb,drop-rpmdb,keep-yum-cache,drop-yum-cache,keep-services,drop-services,keep-sln,drop-sln,keep-ldconfig,drop-ldconfig \ -n febootstrap-minimize -- "$@"` if [ $? != 0 ]; then echo "febootstrap-minimize: problem parsing the command line arguments" @@ -59,7 +59,6 @@ keep_yum_cache=yes } set_all -pack_executables=no usage () { @@ -135,12 +134,6 @@ while true; do --drop-ldconfig) keep_ldconfig=no shift;; - --no-pack-executables) - pack_executables=no - shift;; - --pack-executables) - pack_executables=yes - shift;; --help) usage exit 0;; @@ -176,43 +169,50 @@ trap remove_tmpdir EXIT #---------------------------------------------------------------------- +# ***NOTE*** Wildcards cannot be passed to febootstrap-run. + if [ "$keep_locales" != "yes" ]; then - rm -f "$target"/usr/lib/locale/* - rm -rf "$target"/usr/share/locale - rm -rf "$target"/usr/lib*/gconv - rm -f "$target"/usr/bin/localedef - rm -f "$target"/usr/sbin/build-locale-archive + febootstrap-run "$target" -- rm -rf usr/lib/locale + febootstrap-run "$target" -- rm -rf usr/share/locale + febootstrap-run "$target" -- rm -rf usr/lib/gconv usr/lib64/gconv + febootstrap-run "$target" -- rm -f usr/bin/localedef + febootstrap-run "$target" -- rm -f usr/sbin/build-locale-archive fi if [ "$keep_docs" != "yes" ]; then - rm -rf "$target"/usr/share/man - rm -rf "$target"/usr/share/doc - rm -rf "$target"/usr/share/info - rm -rf "$target"/usr/share/gnome/help + febootstrap-run "$target" -- rm -rf usr/share/man + febootstrap-run "$target" -- rm -rf usr/share/doc + febootstrap-run "$target" -- rm -rf usr/share/info + febootstrap-run "$target" -- rm -rf usr/share/gnome/help fi if [ "$keep_cracklib" != "yes" ]; then - rm -rf "$target"/usr/share/cracklib + febootstrap-run "$target" -- rm -rf usr/share/cracklib fi if [ "$keep_i18n" != "yes" ]; then - rm -rf "$target"/usr/share/i18n + febootstrap-run "$target" -- rm -rf usr/share/i18n fi if [ "$keep_zoneinfo" != "yes" ]; then mv "$target"/usr/share/zoneinfo/{UCT,UTC,Universal,Zulu,GMT*,*.tab} \ "$target" - rm -rf "$target"/usr/share/zoneinfo/* + febootstrap-run "$target" -- rm -rf usr/share/zoneinfo + febootstrap-run "$target" -- mkdir -p --mode=0755 usr/share/zoneinfo mv "$target"/{UCT,UTC,Universal,Zulu,GMT*,*.tab} \ "$target"/usr/share/zoneinfo/ fi if [ "$keep_rpmdb" != "yes" ]; then - rm -rf "$target"/var/lib/rpm/* + febootstrap-run "$target" -- rm -rf var/lib/rpm + febootstrap-run "$target" -- mkdir -p --mode=0755 var/lib/rpm + febootstrap-run "$target" -- rm -rf var/lib/yum + febootstrap-run "$target" -- mkdir -p --mode=0755 var/lib/yum fi if [ "$keep_yum_cache" != "yes" ]; then - rm -rf "$target"/var/cache/yum/* + febootstrap-run "$target" -- rm -rf var/cache/yum + febootstrap-run "$target" -- mkdir -p --mode=0755 var/cache/yum fi if [ "$keep_services" != "yes" ]; then @@ -270,26 +270,12 @@ __EOF__ fi if [ "$keep_sln" != "yes" ]; then - rm -f "$target"/sbin/sln + febootstrap-run "$target" -- rm -f sbin/sln fi if [ "$keep_ldconfig" != "yes" ]; then - rm -f "$target"/sbin/ldconfig - rm -f "$target"/etc/ld.so.cache - rm -rf "$target"/var/cache/ldconfig/* -fi - -if [ "$pack_executables" = "yes" ]; then - # NB. Be careful to keep the same inode number, since fakeroot - # tracks files by inode number. - for path in $(find "$target" -type f -perm /111 | - xargs file | - grep executable | - awk -F: '{print $1}'); do - base=$(basename "$path") - cp "$path" "$tmpdir" - (cd "$tmpdir" && upx -q -q --best "$base") - cat "$tmpdir"/"$base" > "$path" - rm "$tmpdir"/"$base" - done + febootstrap-run "$target" -- rm -f sbin/ldconfig + febootstrap-run "$target" -- rm -f etc/ld.so.cache + febootstrap-run "$target" -- rm -rf var/cache/ldconfig + febootstrap-run "$target" -- mkdir -p --mode=0755 var/cache/ldconfig fi