Restructure %pyproject_install to remove duplicated for loop

This commit is contained in:
Lumir Balhar 2020-09-22 13:38:34 +02:00 committed by churchyard
parent 894e21291e
commit 8d5b3ac22f

View File

@ -31,30 +31,26 @@ if [ -d %{buildroot}%{_bindir} ]; then
rm -rfv %{buildroot}%{_bindir}/__pycache__ rm -rfv %{buildroot}%{_bindir}/__pycache__
fi fi
rm -f %{pyproject_ghost_distinfo} rm -f %{pyproject_ghost_distinfo}
site_dirs=()
# Process %%{python3_sitelib} if exists
if [ -d %{buildroot}%{python3_sitelib} ]; then if [ -d %{buildroot}%{python3_sitelib} ]; then
for distinfo in %{buildroot}%{python3_sitelib}/*.dist-info; do site_dirs+=( "%{python3_sitelib}" )
echo "%ghost ${distinfo#%{buildroot}}" >> %{pyproject_ghost_distinfo}
sed -i 's/pip/rpm/' ${distinfo}/INSTALLER
if [ -f ${distinfo}/RECORD ]; then
PYTHONPATH=%{_rpmconfigdir}/redhat \\
%{__python3} -B %{_rpmconfigdir}/redhat/pyproject_preprocess_record.py \\
--buildroot %{buildroot} --record ${distinfo}/RECORD --output %{pyproject_record}
rm ${distinfo}/RECORD
fi
done
fi fi
# Process %%{python3_sitearch} if exists and does not equal to %%{python3_sitelib}
if [ %{buildroot}%{python3_sitearch} != %{buildroot}%{python3_sitelib} ] && [ -d %{buildroot}%{python3_sitearch} ]; then if [ %{buildroot}%{python3_sitearch} != %{buildroot}%{python3_sitelib} ] && [ -d %{buildroot}%{python3_sitearch} ]; then
for distinfo in %{buildroot}%{python3_sitearch}/*.dist-info; do site_dirs+=( "%{python3_sitearch}" )
fi
# Process all *.dist-info dirs in sitelib/sitearch
for site_dir in ${site_dirs[@]}; do
for distinfo in %{buildroot}$site_dir/*.dist-info; do
echo "%ghost ${distinfo#%{buildroot}}" >> %{pyproject_ghost_distinfo} echo "%ghost ${distinfo#%{buildroot}}" >> %{pyproject_ghost_distinfo}
sed -i 's/pip/rpm/' ${distinfo}/INSTALLER sed -i 's/pip/rpm/' ${distinfo}/INSTALLER
if [ -f ${distinfo}/RECORD ]; then
PYTHONPATH=%{_rpmconfigdir}/redhat \\ PYTHONPATH=%{_rpmconfigdir}/redhat \\
%{__python3} -B %{_rpmconfigdir}/redhat/pyproject_preprocess_record.py \\ %{__python3} -B %{_rpmconfigdir}/redhat/pyproject_preprocess_record.py \\
--buildroot %{buildroot} --record ${distinfo}/RECORD --output %{pyproject_record} --buildroot %{buildroot} --record ${distinfo}/RECORD --output %{pyproject_record}
rm ${distinfo}/RECORD rm ${distinfo}/RECORD
fi
done done
fi done
lines=$(wc -l %{pyproject_ghost_distinfo} | cut -f1 -d" ") lines=$(wc -l %{pyproject_ghost_distinfo} | cut -f1 -d" ")
if [ $lines -ne 1 ]; then if [ $lines -ne 1 ]; then
echo -e "\\n\\nWARNING: %%%%pyproject_extras_subpkg won't work without explicit -i or -F, found $lines dist-info directories.\\n\\n" >/dev/stderr echo -e "\\n\\nWARNING: %%%%pyproject_extras_subpkg won't work without explicit -i or -F, found $lines dist-info directories.\\n\\n" >/dev/stderr