hardlink identical .pyc and .pyo files to save some space. patch from

Ville Skyttä <ville DOT skytta AT iki DOT fi>
This commit is contained in:
Jeremy Katz 2007-06-19 14:20:53 -04:00
parent 9f4238cef9
commit a959c1f92d
2 changed files with 20 additions and 0 deletions

19
brp-python-hardlink Executable file
View File

@ -0,0 +1,19 @@
#!/bin/sh
# If using normal root, avoid changing anything.
if [ -z "$RPM_BUILD_ROOT" -o "$RPM_BUILD_ROOT" = "/" ]; then
exit 0
fi
# Hardlink identical *.pyc and *.pyo, originally from PLD's rpm-build-macros
# Modified to use sha1sum instead of cmp to avoid a diffutils dependency.
find "$RPM_BUILD_ROOT" -type f -name "*.pyc" | while read pyc ; do
pyo="$(echo $pyc | sed -e 's/.pyc$/.pyo/')"
if [ -f "$pyo" ] ; then
csha="$(sha1sum -b $pyc | cut -d' ' -f 1)" && \
osha="$(sha1sum -b $pyo | cut -d' ' -f 1)" && \
if [ "$csha" = "$osha" ] ; then
ln -f "$pyc" "$pyo"
fi
fi
done

1
macros
View File

@ -86,6 +86,7 @@
/usr/lib/rpm/redhat/brp-strip-static-archive %{__strip} \
/usr/lib/rpm/redhat/brp-strip-comment-note %{__strip} %{__objdump} \
/usr/lib/rpm/brp-python-bytecompile \
/usr/lib/rpm/redhat/brp-python-hardlink \
/usr/lib/rpm/redhat/brp-java-repack-jars \
%{nil}