install -m 644 units/mnt-inform.mount %{buildroot}%{_unitdir}
ln -s ../mnt-inform.mount %{buildroot}%{_unitdir}/local-fs.target.wants
+# Pack libbfd for strip
+LIBBFD=$(ldd /usr/bin/strip | sed -ne '/libbfd/s/^[[:space:]]\(libbfd[^[:space:]]\+\).*$/\1/p')
+install -m 0755 -D %{_libdir}/${LIBBFD} %{buildroot}%{initrd_recovery_libexec_dir}/${LIBBFD}
+# Pack strip and od
+install -m 0755 -D %{_bindir}/strip %{buildroot}%{initrd_recovery_libexec_dir}/strip
+install -m 0755 -D %{_bindir}/od %{buildroot}%{initrd_recovery_libexec_dir}/od
+
+
%posttrans
%{initrd_recovery_libexec_dir}/mkinitrd-recovery.sh
rm -rf %{initrd_recovery_libexec_dir}
%attr(0775,root,root)%{initrd_recovery_libexec_dir}/init
%attr(0775,root,root)%{initrd_recovery_libexec_dir}/mkinitrd-recovery.sh
%attr(0775,root,root)%{initrd_recovery_libexec_dir}/minireboot
+%attr(0775,root,root)%{initrd_recovery_libexec_dir}/strip
+%attr(0775,root,root)%{initrd_recovery_libexec_dir}/od
+%attr(0775,root,root)%{initrd_recovery_libexec_dir}/libbfd*
%files -n reboot-param-helper
%{_unitdir}/mnt-inform.mount
TR="/bin/tr"
GREP="/bin/grep"
CUT="/bin/cut"
+STRIP="@INITRD_RECOVERY_LIBEXEC_DIR@/strip"
+OD="@INITRD_RECOVERY_LIBEXEC_DIR@/od"
UNAME="/bin/uname"
ARCH=`$UNAME -m`
mkdir_p_parent $dst
"$CP" -f "$src" "$dst"
+
+ # Check first 4 bytes of file for x7fELF magic
+ type=$(echo -e `"$OD" -tx4 -N4 -An $dst`)
+ if [ x"$type" == x"464c457f" ]; then
+ # Strip out the exception handling section to reduce binary
+ LD_LIBRARY_PATH="@INITRD_RECOVERY_LIBEXEC_DIR@" \
+ "$STRIP" --strip-unneeded -R .eh_frame -R .eh_frame_hdr "$dst"
+ fi
}
#-----------------------------------------------------------------------------