/
usr
/
lib
/
rpm
/
/usr/lib/rpm
mkdir
upload
Name
Size
Mode
Actions
fileattrs/
-
0755
rm
macros.d/
-
0755
rm
platform/
-
0755
rm
redhat/
-
0755
rm
brp-compress
1502
0755
edit
dl
rm
brp-java-gcjcompile
1418
0755
edit
dl
rm
brp-python-bytecompile
3868
0755
edit
dl
rm
brp-python-hardlink
632
0755
edit
dl
rm
brp-scl-compress
1809
0755
edit
dl
rm
brp-scl-python-bytecompile
3109
0755
edit
dl
rm
brp-strip
428
0755
edit
dl
rm
brp-strip-comment-note
741
0755
edit
dl
rm
brp-strip-shared
706
0755
edit
dl
rm
brp-strip-static-archive
494
0755
edit
dl
rm
check-buildroot
1285
0755
edit
dl
rm
check-files
1043
0755
edit
dl
rm
check-prereqs
418
0755
edit
dl
rm
check-rpaths
1039
0755
edit
dl
rm
check-rpaths-worker
5055
0755
edit
dl
rm
config.guess
44166
0755
edit
dl
rm
config.sub
36408
0755
edit
dl
rm
debugedit
47688
0755
edit
dl
rm
debuginfo.prov
375
0755
edit
dl
rm
desktop-file.prov
602
0755
edit
dl
rm
elfdeps
16768
0755
edit
dl
rm
find-debuginfo.sh
20054
0755
edit
dl
rm
find-lang.sh
8235
0755
edit
dl
rm
find-provides
91
0755
edit
dl
rm
find-requires
91
0755
edit
dl
rm
fontconfig.prov
489
0755
edit
dl
rm
kabi.sh
468
0755
edit
dl
rm
kmod.prov
682
0755
edit
dl
rm
libtooldeps.sh
718
0755
edit
dl
rm
macros
43988
0644
edit
dl
rm
macros.perl
473
0644
edit
dl
rm
macros.php
192
0644
edit
dl
rm
macros.python
906
0644
edit
dl
rm
metainfo.prov
438
0755
edit
dl
rm
mkinstalldirs
3539
0755
edit
dl
rm
mono-find-provides
1107
0755
edit
dl
rm
mono-find-requires
1916
0755
edit
dl
rm
ocaml-find-provides.sh
1659
0755
edit
dl
rm
ocaml-find-requires.sh
2135
0755
edit
dl
rm
pkgconfigdeps.sh
1371
0755
edit
dl
rm
python-macro-helper
634
0644
edit
dl
rm
pythondeps.sh
921
0755
edit
dl
rm
pythondistdeps.py
11184
0755
edit
dl
rm
rpm.daily
296
0644
edit
dl
rm
rpm.log
61
0644
edit
dl
rm
rpm.supp
688
0644
edit
dl
rm
rpm2cpio.sh
1249
0755
edit
dl
rm
rpmdb_dump
16904
0755
edit
dl
rm
rpmdb_load
29296
0755
edit
dl
rm
rpmdb_loadcvt
1467
0755
edit
dl
rm
rpmdb_recover
16904
0755
edit
dl
rm
rpmdb_stat
16872
0755
edit
dl
rm
rpmdb_upgrade
12752
0755
edit
dl
rm
rpmdb_verify
16856
0755
edit
dl
rm
rpmdeps
17344
0755
edit
dl
rm
rpmpopt-4.14.3
11470
0644
edit
dl
rm
rpmrc
17154
0644
edit
dl
rm
scldeps.sh
254
0755
edit
dl
rm
script.req
322
0755
edit
dl
rm
sepdebugcrcfix
16232
0755
edit
dl
rm
tgpg
929
0755
edit
dl
rm
Edit:
/usr/lib/rpm/brp-python-bytecompile
(3868B)
#!/bin/bash errors_terminate=$2 extra=$3 # If using normal root, avoid changing anything. if [ -z "$RPM_BUILD_ROOT" -o "$RPM_BUILD_ROOT" = "/" ]; then exit 0 fi # Figure out how deep we need to descend. We could pick an insanely high # number and hope it's enough, but somewhere, somebody's sure to run into it. depth=`(find "$RPM_BUILD_ROOT" -type f -name "*.py" -print0 ; echo /) | \ xargs -0 -n 1 dirname | sed 's,[^/],,g' | sort -u | tail -n 1 | wc -c` if [ -z "$depth" -o "$depth" -le "1" ]; then exit 0 fi function python_bytecompile() { local options=$1 local python_binary=$2 local exclude=$3 local python_libdir=$4 local depth=$5 local real_libdir=$6 cat << EOF | $python_binary $options import compileall, sys, os, re python_libdir = "$python_libdir" depth = $depth real_libdir = "$real_libdir" build_root = "$RPM_BUILD_ROOT" exclude = r"$exclude" class Filter: def search(self, path): ret = not os.path.realpath(path).startswith(build_root) if exclude: ret = ret or re.search(exclude, path) return ret sys.exit(not compileall.compile_dir(python_libdir, depth, real_libdir, force=1, rx=Filter(), quiet=1)) EOF } # .pyc/.pyo files embed a "magic" value, identifying the ABI version of Python # bytecode that they are for. # # The files below RPM_BUILD_ROOT could be targeting multiple versions of # python (e.g. a single build that emits several subpackages e.g. a # python26-foo subpackage, a python31-foo subpackage etc) # # Support this by assuming that below each /usr/lib/python$VERSION/, all # .pyc/.pyo files are to be compiled for /usr/bin/python$VERSION. # # For example, below /usr/lib/python2.6/, we're targeting /usr/bin/python2.6 # and below /usr/lib/python3.1/, we're targeting /usr/bin/python3.1 shopt -s nullglob for python_libdir in `find "$RPM_BUILD_ROOT" -type d|grep -E "/usr/lib(64)?/python[0-9]\.[0-9]+$"`; do python_binary=/usr/bin/$(basename $python_libdir) if [ "$python_binary" = "/usr/bin/python3.6" ]; then python_binary=/usr/libexec/platform-python fi real_libdir=${python_libdir/$RPM_BUILD_ROOT/} echo "Bytecompiling .py files below $python_libdir using $python_binary" # Generate normal (.pyc) byte-compiled files. python_bytecompile "" "$python_binary" "" "$python_libdir" "$depth" "$real_libdir" if [ $? -ne 0 -a 0$errors_terminate -ne 0 ]; then # One or more of the files had a syntax error exit 1 fi # Generate optimized (.pyo) byte-compiled files. python_bytecompile "-O" "$python_binary" "" "$python_libdir" "$depth" "$real_libdir" if [ $? -ne 0 -a 0$errors_terminate -ne 0 ]; then # One or more of the files had a syntax error exit 1 fi done # Handle other locations in the filesystem using the default python implementation # if extra is set to 0, don't do this if [ 0$extra -eq 0 ]; then exit 0 fi # If we don't have a default python interpreter, we cannot proceed default_python=${1:-/usr/bin/python} if [ ! -x "$default_python" ]; then exit 0 fi # Figure out if there are files to be bytecompiled with the default_python at all # this prevents unnecessary default_python invocation find "$RPM_BUILD_ROOT" -type f -name "*.py" | grep -Ev "/bin/|/sbin/|/usr/lib(64)?/python[0-9]\.[0-9]+|/usr/share/doc" || exit 0 # Generate normal (.pyc) byte-compiled files. python_bytecompile "" $default_python "/bin/|/sbin/|/usr/lib(64)?/python[0-9]\.[0-9]+|/usr/share/doc" "$RPM_BUILD_ROOT" "$depth" "/" if [ $? -ne 0 -a 0$errors_terminate -ne 0 ]; then # One or more of the files had a syntax error exit 1 fi # Generate optimized (.pyo) byte-compiled files. python_bytecompile "-O" $default_python "/bin/|/sbin/|/usr/lib(64)?/python[0-9]\.[0-9]+|/usr/share/doc" "$RPM_BUILD_ROOT" "$depth" "/" if [ $? -ne 0 -a 0$errors_terminate -ne 0 ]; then # One or more of the files had a syntax error exit 1 fi exit 0
Save
cmd:
run