+
+if [ "$keep_rpmdb" != "yes" ]; then
+ rm -rf "$target"/var/lib/rpm/*
+fi
+
+if [ "$keep_yum_cache" != "yes" ]; then
+ rm -rf "$target"/var/cache/yum/*
+fi
+
+if [ "$keep_services" != "yes" ]; then
+ # NB: Overwrite the same file so that we have the same inode,
+ # since fakeroot tracks files by inode number.
+ cat > "$target"/etc/services <<'__EOF__'
+tcpmux 1/tcp
+tcpmux 1/udp
+echo 7/tcp
+echo 7/udp
+discard 9/tcp sink null
+discard 9/udp sink null
+ftp 21/tcp
+ftp 21/udp fsp fspd
+ssh 22/tcp
+ssh 22/udp
+telnet 23/tcp
+telnet 23/udp
+smtp 25/tcp mail
+smtp 25/udp mail
+time 37/tcp timserver
+time 37/udp timserver
+nameserver 42/tcp name
+nameserver 42/udp name
+domain 53/tcp
+domain 53/udp
+bootps 67/tcp
+bootps 67/udp
+bootpc 68/tcp dhcpc
+bootpc 68/udp dhcpc
+tftp 69/tcp
+tftp 69/udp
+finger 79/tcp
+finger 79/udp
+http 80/tcp www www-http
+http 80/udp www www-http
+http 80/sctp
+kerberos 88/tcp kerberos5 krb5
+kerberos 88/udp kerberos5 krb5
+pop3 110/tcp pop-3
+pop3 110/udp pop-3
+sunrpc 111/tcp portmapper rpcbind
+sunrpc 111/udp portmapper rpcbind
+auth 113/tcp authentication tap ident
+auth 113/udp authentication tap ident
+ntp 123/tcp
+ntp 123/udp
+imap 143/tcp imap2
+imap 143/udp imap2
+snmp 161/tcp
+snmp 161/udp
+snmptrap 162/tcp
+snmptrap 162/udp snmp-trap
+__EOF__
+fi
+
+if [ "$keep_sln" != "yes" ]; then
+ rm -f "$target"/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
+fi