Reorganize %install phase.
The %install phase is reorganized into 3 distinct phases, the first phase where files are modified, a second phase where file lists are generated, and a final phase where files are only removed based on list information. This cleanup makes it very clear when we are done installing files, and therefore creates a place where we can put ABI instrumentation to compare the resulting ABI before stripping and debuginfo generation. No ABI instrumentation is added by this patch, and before-and-after testing verifies the %install phase remains functionally the same.
This commit is contained in:
		
							parent
							
								
									559f435759
								
							
						
					
					
						commit
						e4aafbc505
					
				
							
								
								
									
										241
									
								
								glibc.spec
									
									
									
									
									
								
							
							
						
						
									
										241
									
								
								glibc.spec
									
									
									
									
									
								
							| @ -1065,17 +1065,10 @@ truncate -s 0 $RPM_BUILD_ROOT/etc/gai.conf | |||||||
| truncate -s 0 $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules.cache | truncate -s 0 $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules.cache | ||||||
| chmod 644 $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules.cache | chmod 644 $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules.cache | ||||||
| 
 | 
 | ||||||
| ############################################################################## |  | ||||||
| # Misc... |  | ||||||
| ############################################################################## |  | ||||||
| 
 |  | ||||||
| # Install the upgrade program | # Install the upgrade program | ||||||
| install -m 700 build-%{target}/elf/glibc_post_upgrade \ | install -m 700 build-%{target}/elf/glibc_post_upgrade \ | ||||||
|   $RPM_BUILD_ROOT%{_prefix}/sbin/glibc_post_upgrade.%{_target_cpu} |   $RPM_BUILD_ROOT%{_prefix}/sbin/glibc_post_upgrade.%{_target_cpu} | ||||||
| 
 | 
 | ||||||
| # Strip all of the installed object files. |  | ||||||
| strip -g $RPM_BUILD_ROOT%{_libdir}/*.o |  | ||||||
| 
 |  | ||||||
| ############################################################################## | ############################################################################## | ||||||
| # Install debug copies of unstripped static libraries | # Install debug copies of unstripped static libraries | ||||||
| # - This step must be last in order to capture any additional static | # - This step must be last in order to capture any additional static | ||||||
| @ -1091,6 +1084,116 @@ cp -a $RPM_BUILD_ROOT%{_libdir}/*.a \ | |||||||
| rm -f $RPM_BUILD_ROOT%{_prefix}/lib/debug%{_libdir}/*_p.a | rm -f $RPM_BUILD_ROOT%{_prefix}/lib/debug%{_libdir}/*_p.a | ||||||
| %endif | %endif | ||||||
| 
 | 
 | ||||||
|  | # Remove the zoneinfo files | ||||||
|  | rm -rf $RPM_BUILD_ROOT%{_prefix}/share/zoneinfo | ||||||
|  | 
 | ||||||
|  | # Make sure %config files have the same timestamp across multilib packages. | ||||||
|  | # | ||||||
|  | # XXX: Ideally ld.so.conf should have the timestamp of the spec file, but there | ||||||
|  | # doesn't seem to be any macro to give us that.  So we do the next best thing, | ||||||
|  | # which is to at least keep the timestamp consistent.  The choice of using | ||||||
|  | # glibc_post_upgrade.c is arbitrary. | ||||||
|  | touch -r %{SOURCE0} $RPM_BUILD_ROOT/etc/ld.so.conf | ||||||
|  | touch -r sunrpc/etc.rpc $RPM_BUILD_ROOT/etc/rpc | ||||||
|  | 
 | ||||||
|  | pushd build-%{target} | ||||||
|  | $GCC -Os -g -static -o build-locale-archive %{SOURCE1} \ | ||||||
|  | 	../build-%{target}/locale/locarchive.o \ | ||||||
|  | 	../build-%{target}/locale/md5.o \ | ||||||
|  | 	../build-%{target}/locale/record-status.o \ | ||||||
|  | 	-I. -DDATADIR=\"%{_datadir}\" -DPREFIX=\"%{_prefix}\" \ | ||||||
|  | 	-L../build-%{target} \ | ||||||
|  | 	-B../build-%{target}/csu/ -lc -lc_nonshared | ||||||
|  | install -m 700 build-locale-archive $RPM_BUILD_ROOT%{_prefix}/sbin/build-locale-archive | ||||||
|  | popd | ||||||
|  | 
 | ||||||
|  | # Lastly copy some additional documentation for the packages. | ||||||
|  | rm -rf documentation | ||||||
|  | mkdir documentation | ||||||
|  | cp timezone/README documentation/README.timezone | ||||||
|  | cp posix/gai.conf documentation/ | ||||||
|  | 
 | ||||||
|  | %ifarch s390x | ||||||
|  | # Compatibility symlink | ||||||
|  | mkdir -p $RPM_BUILD_ROOT/lib | ||||||
|  | ln -sf /%{_lib}/ld64.so.1 $RPM_BUILD_ROOT/lib/ld64.so.1 | ||||||
|  | %endif | ||||||
|  | 
 | ||||||
|  | %if %{with benchtests} | ||||||
|  | # Build benchmark binaries.  Ignore the output of the benchmark runs. | ||||||
|  | pushd build-%{target} | ||||||
|  | make BENCH_DURATION=1 bench-build | ||||||
|  | popd | ||||||
|  | 
 | ||||||
|  | # Copy over benchmark binaries. | ||||||
|  | mkdir -p $RPM_BUILD_ROOT%{_prefix}/libexec/glibc-benchtests | ||||||
|  | cp $(find build-%{target}/benchtests -type f -executable) $RPM_BUILD_ROOT%{_prefix}/libexec/glibc-benchtests/ | ||||||
|  | # ... and the makefile. | ||||||
|  | for b in %{SOURCE9} %{SOURCE10}; do | ||||||
|  | 	cp $b $RPM_BUILD_ROOT%{_prefix}/libexec/glibc-benchtests/ | ||||||
|  | done | ||||||
|  | # .. and finally, the comparison scripts. | ||||||
|  | cp benchtests/scripts/benchout.schema.json $RPM_BUILD_ROOT%{_prefix}/libexec/glibc-benchtests/ | ||||||
|  | cp benchtests/scripts/compare_bench.py $RPM_BUILD_ROOT%{_prefix}/libexec/glibc-benchtests/ | ||||||
|  | cp benchtests/scripts/import_bench.py $RPM_BUILD_ROOT%{_prefix}/libexec/glibc-benchtests/ | ||||||
|  | cp benchtests/scripts/validate_benchout.py $RPM_BUILD_ROOT%{_prefix}/libexec/glibc-benchtests/ | ||||||
|  | 
 | ||||||
|  | %if 0%{?_enable_debug_packages} | ||||||
|  | # The #line directives gperf generates do not give the proper | ||||||
|  | # file name relative to the build directory. | ||||||
|  | pushd locale | ||||||
|  | ln -s programs/*.gperf . | ||||||
|  | popd | ||||||
|  | pushd iconv | ||||||
|  | ln -s ../locale/programs/charmap-kw.gperf . | ||||||
|  | popd | ||||||
|  | 
 | ||||||
|  | %if %{with docs} | ||||||
|  | # Remove the `dir' info-heirarchy file which will be maintained | ||||||
|  | # by the system as it adds info files to the install. | ||||||
|  | rm -f $RPM_BUILD_ROOT%{_infodir}/dir | ||||||
|  | %endif | ||||||
|  | 
 | ||||||
|  | %ifnarch %{auxarches} | ||||||
|  | truncate -s 0 $RPM_BUILD_ROOT/%{_prefix}/lib/locale/locale-archive | ||||||
|  | mkdir -p $RPM_BUILD_ROOT/var/{db,run}/nscd | ||||||
|  | touch $RPM_BUILD_ROOT/var/{db,run}/nscd/{passwd,group,hosts,services} | ||||||
|  | touch $RPM_BUILD_ROOT/var/run/nscd/{socket,nscd.pid} | ||||||
|  | %endif | ||||||
|  | 
 | ||||||
|  | # Move libpcprofile.so and libmemusage.so into the proper library directory. | ||||||
|  | # They can be moved without any real consequences because users would not use | ||||||
|  | # them directly. | ||||||
|  | mkdir -p $RPM_BUILD_ROOT%{_libdir} | ||||||
|  | mv -f $RPM_BUILD_ROOT/%{_lib}/lib{pcprofile,memusage}.so \ | ||||||
|  | 	$RPM_BUILD_ROOT%{_libdir} | ||||||
|  | 
 | ||||||
|  | # Strip all of the installed object files. | ||||||
|  | strip -g $RPM_BUILD_ROOT%{_libdir}/*.o | ||||||
|  | 
 | ||||||
|  | ############################################################################### | ||||||
|  | # Rebuild libpthread.a using --whole-archive to ensure all of libpthread | ||||||
|  | # is included in a static link. This prevents any problems when linking | ||||||
|  | # statically, using parts of libpthread, and other necessary parts not | ||||||
|  | # being included. Upstream has decided that this is the wrong approach to | ||||||
|  | # this problem and that the full set of dependencies should be resolved | ||||||
|  | # such that static linking works and produces the most minimally sized | ||||||
|  | # static application possible. | ||||||
|  | ############################################################################### | ||||||
|  | pushd $RPM_BUILD_ROOT%{_prefix}/%{_lib}/ | ||||||
|  | $GCC -r -nostdlib -o libpthread.o -Wl,--whole-archive ./libpthread.a | ||||||
|  | rm libpthread.a | ||||||
|  | ar rcs libpthread.a libpthread.o | ||||||
|  | rm libpthread.o | ||||||
|  | popd | ||||||
|  | 
 | ||||||
|  | ############################################################################## | ||||||
|  | # Beyond this point in the install process we no longer modify the set of | ||||||
|  | # installed files, with one exception, for auxarches we cleanup the file list | ||||||
|  | # at the end and remove files which we don't intend to ship. We need the file | ||||||
|  | # list to effect a proper cleanup, and so it happens last. | ||||||
|  | ############################################################################## | ||||||
|  | 
 | ||||||
| ############################################################################## | ############################################################################## | ||||||
| # Build the file lists used for describing the package and subpackages. | # Build the file lists used for describing the package and subpackages. | ||||||
| ############################################################################## | ############################################################################## | ||||||
| @ -1156,15 +1259,12 @@ rm -f $RPM_BUILD_ROOT%{_prefix}/lib/debug%{_libdir}/*_p.a | |||||||
|       -e '\,.*/share/i18n/locales/.*,d' \ |       -e '\,.*/share/i18n/locales/.*,d' \ | ||||||
|       -e '\,.*/share/i18n/charmaps/.*,d' \ |       -e '\,.*/share/i18n/charmaps/.*,d' \ | ||||||
|       -e '\,/etc/\(localtime\|nsswitch.conf\|ld\.so\.conf\|ld\.so\.cache\|default\|rpc\|gai\.conf\),d' \ |       -e '\,/etc/\(localtime\|nsswitch.conf\|ld\.so\.conf\|ld\.so\.cache\|default\|rpc\|gai\.conf\),d' \ | ||||||
|       -e '\,/%{_lib}/lib\(pcprofile\|memusage\)\.so,d' \ |       -e '\,/%{_libdir}/lib\(pcprofile\|memusage\)\.so,d' \ | ||||||
|       -e '\,bin/\(memusage\|mtrace\|xtrace\|pcprofiledump\),d' |       -e '\,bin/\(memusage\|mtrace\|xtrace\|pcprofiledump\),d' | ||||||
| } | sort > rpm.filelist | } | sort > rpm.filelist | ||||||
| 
 | 
 | ||||||
| touch common.filelist | touch common.filelist | ||||||
| 
 | 
 | ||||||
| mkdir -p $RPM_BUILD_ROOT%{_libdir} |  | ||||||
| mv -f $RPM_BUILD_ROOT/%{_lib}/lib{pcprofile,memusage}.so $RPM_BUILD_ROOT%{_libdir} |  | ||||||
| 
 |  | ||||||
| # The xtrace and memusage scripts have hard-coded paths that need to be | # The xtrace and memusage scripts have hard-coded paths that need to be | ||||||
| # translated to a correct set of paths using the $LIB token which is | # translated to a correct set of paths using the $LIB token which is | ||||||
| # dynamically translated by ld.so as the default lib directory. | # dynamically translated by ld.so as the default lib directory. | ||||||
| @ -1217,6 +1317,9 @@ grep '%{_libdir}/lib.*\.a' < rpm.filelist \ | |||||||
| # devel package. | # devel package. | ||||||
| grep '%{_libdir}/.*\.o' < rpm.filelist >> devel.filelist | grep '%{_libdir}/.*\.o' < rpm.filelist >> devel.filelist | ||||||
| grep '%{_libdir}/lib.*\.so' < rpm.filelist >> devel.filelist | grep '%{_libdir}/lib.*\.so' < rpm.filelist >> devel.filelist | ||||||
|  | # The exception is that libmemusage.so and libpcprofile.so are in glibc | ||||||
|  | # because they are used by the utils. | ||||||
|  | sed -i -e '\,libmemusage.so,d' -e '\,libpcprofile.so,d' devel.filelist | ||||||
| 
 | 
 | ||||||
| # Remove all of the static, object, unversioned DSOs, and nscd from the core | # Remove all of the static, object, unversioned DSOs, and nscd from the core | ||||||
| # glibc package. | # glibc package. | ||||||
| @ -1294,110 +1397,25 @@ grep '/libnsl-[0-9.]*.so$' rpm.filelist > libnsl.filelist | |||||||
| test $(wc -l < libnsl.filelist) -eq 1 | test $(wc -l < libnsl.filelist) -eq 1 | ||||||
| sed -i -e '\,/libnsl,d' rpm.filelist | sed -i -e '\,/libnsl,d' rpm.filelist | ||||||
| 
 | 
 | ||||||
| # Remove the zoneinfo files | # List of benchmarks. | ||||||
| # XXX: Why isn't this don't earlier when we are removing files? |  | ||||||
| #      Won't this impact what is shipped? |  | ||||||
| rm -rf $RPM_BUILD_ROOT%{_prefix}/share/zoneinfo |  | ||||||
| 
 |  | ||||||
| # Make sure %config files have the same timestamp across multilib packages. |  | ||||||
| # |  | ||||||
| # XXX: Ideally ld.so.conf should have the timestamp of the spec file, but there |  | ||||||
| # doesn't seem to be any macro to give us that.  So we do the next best thing, |  | ||||||
| # which is to at least keep the timestamp consistent.  The choice of using |  | ||||||
| # glibc_post_upgrade.c is arbitrary. |  | ||||||
| touch -r %{SOURCE0} $RPM_BUILD_ROOT/etc/ld.so.conf |  | ||||||
| touch -r sunrpc/etc.rpc $RPM_BUILD_ROOT/etc/rpc |  | ||||||
| 
 |  | ||||||
| pushd build-%{target} |  | ||||||
| $GCC -Os -g -static -o build-locale-archive %{SOURCE1} \ |  | ||||||
| 	../build-%{target}/locale/locarchive.o \ |  | ||||||
| 	../build-%{target}/locale/md5.o \ |  | ||||||
| 	../build-%{target}/locale/record-status.o \ |  | ||||||
| 	-I. -DDATADIR=\"%{_datadir}\" -DPREFIX=\"%{_prefix}\" \ |  | ||||||
| 	-L../build-%{target} \ |  | ||||||
| 	-B../build-%{target}/csu/ -lc -lc_nonshared |  | ||||||
| install -m 700 build-locale-archive $RPM_BUILD_ROOT%{_prefix}/sbin/build-locale-archive |  | ||||||
| popd |  | ||||||
| 
 |  | ||||||
| # Lastly copy some additional documentation for the packages. |  | ||||||
| rm -rf documentation |  | ||||||
| mkdir documentation |  | ||||||
| cp timezone/README documentation/README.timezone |  | ||||||
| cp posix/gai.conf documentation/ |  | ||||||
| 
 |  | ||||||
| %ifarch s390x |  | ||||||
| # Compatibility symlink |  | ||||||
| mkdir -p $RPM_BUILD_ROOT/lib |  | ||||||
| ln -sf /%{_lib}/ld64.so.1 $RPM_BUILD_ROOT/lib/ld64.so.1 |  | ||||||
| %endif |  | ||||||
| 
 |  | ||||||
| %if %{with benchtests} |  | ||||||
| # Build benchmark binaries.  Ignore the output of the benchmark runs. |  | ||||||
| pushd build-%{target} |  | ||||||
| make BENCH_DURATION=1 bench-build |  | ||||||
| popd |  | ||||||
| 
 |  | ||||||
| # Copy over benchmark binaries. |  | ||||||
| mkdir -p $RPM_BUILD_ROOT%{_prefix}/libexec/glibc-benchtests |  | ||||||
| cp $(find build-%{target}/benchtests -type f -executable) $RPM_BUILD_ROOT%{_prefix}/libexec/glibc-benchtests/ |  | ||||||
| 
 |  | ||||||
| find build-%{target}/benchtests -type f -executable | while read b; do | find build-%{target}/benchtests -type f -executable | while read b; do | ||||||
| 	echo "%{_prefix}/libexec/glibc-benchtests/$(basename $b)" | 	echo "%{_prefix}/libexec/glibc-benchtests/$(basename $b)" | ||||||
| done >> benchtests.filelist | done >> benchtests.filelist | ||||||
| 
 |  | ||||||
| # ... and the makefile. | # ... and the makefile. | ||||||
| for b in %{SOURCE9} %{SOURCE10}; do | for b in %{SOURCE9} %{SOURCE10}; do | ||||||
| 	cp $b $RPM_BUILD_ROOT%{_prefix}/libexec/glibc-benchtests/ |  | ||||||
| 	echo "%{_prefix}/libexec/glibc-benchtests/$(basename $b)" >> benchtests.filelist | 	echo "%{_prefix}/libexec/glibc-benchtests/$(basename $b)" >> benchtests.filelist | ||||||
| done | done | ||||||
| 
 | # ... and finally, the comparison scripts. | ||||||
| # .. and finally, the comparison scripts. |  | ||||||
| cp benchtests/scripts/benchout.schema.json $RPM_BUILD_ROOT%{_prefix}/libexec/glibc-benchtests/ |  | ||||||
| cp benchtests/scripts/compare_bench.py $RPM_BUILD_ROOT%{_prefix}/libexec/glibc-benchtests/ |  | ||||||
| cp benchtests/scripts/import_bench.py $RPM_BUILD_ROOT%{_prefix}/libexec/glibc-benchtests/ |  | ||||||
| cp benchtests/scripts/validate_benchout.py $RPM_BUILD_ROOT%{_prefix}/libexec/glibc-benchtests/ |  | ||||||
| 
 |  | ||||||
| echo "%{_prefix}/libexec/glibc-benchtests/benchout.schema.json" >> benchtests.filelist | echo "%{_prefix}/libexec/glibc-benchtests/benchout.schema.json" >> benchtests.filelist | ||||||
| echo "%{_prefix}/libexec/glibc-benchtests/compare_bench.py*" >> benchtests.filelist | echo "%{_prefix}/libexec/glibc-benchtests/compare_bench.py*" >> benchtests.filelist | ||||||
| echo "%{_prefix}/libexec/glibc-benchtests/import_bench.py*" >> benchtests.filelist | echo "%{_prefix}/libexec/glibc-benchtests/import_bench.py*" >> benchtests.filelist | ||||||
| echo "%{_prefix}/libexec/glibc-benchtests/validate_benchout.py*" >> benchtests.filelist | echo "%{_prefix}/libexec/glibc-benchtests/validate_benchout.py*" >> benchtests.filelist | ||||||
| %endif | %endif | ||||||
|  | sed -i -e '\,glibc-benchtests,d' rpm.filelist | ||||||
| 
 | 
 | ||||||
| ############################################################################### | ############################################################################### | ||||||
| # Rebuild libpthread.a using --whole-archive to ensure all of libpthread | # Process debug information. | ||||||
| # is included in a static link. This prevents any problems when linking |  | ||||||
| # statically, using parts of libpthread, and other necessary parts not |  | ||||||
| # being included. Upstream has decided that this is the wrong approach to |  | ||||||
| # this problem and that the full set of dependencies should be resolved |  | ||||||
| # such that static linking works and produces the most minimally sized |  | ||||||
| # static application possible. |  | ||||||
| ############################################################################### | ############################################################################### | ||||||
| pushd $RPM_BUILD_ROOT%{_prefix}/%{_lib}/ |  | ||||||
| $GCC -r -nostdlib -o libpthread.o -Wl,--whole-archive ./libpthread.a |  | ||||||
| rm libpthread.a |  | ||||||
| ar rcs libpthread.a libpthread.o |  | ||||||
| rm libpthread.o |  | ||||||
| popd |  | ||||||
| ############################################################################### |  | ||||||
| 
 |  | ||||||
| %if 0%{?_enable_debug_packages} |  | ||||||
| 
 |  | ||||||
| # The #line directives gperf generates do not give the proper |  | ||||||
| # file name relative to the build directory. |  | ||||||
| pushd locale |  | ||||||
| ln -s programs/*.gperf . |  | ||||||
| popd |  | ||||||
| pushd iconv |  | ||||||
| ln -s ../locale/programs/charmap-kw.gperf . |  | ||||||
| popd |  | ||||||
| 
 |  | ||||||
| # Print some diagnostic information in the builds about the |  | ||||||
| # getconf binaries. |  | ||||||
| # XXX: Why do we do this? |  | ||||||
| ls -l $RPM_BUILD_ROOT%{_prefix}/bin/getconf |  | ||||||
| ls -l $RPM_BUILD_ROOT%{_prefix}/libexec/getconf |  | ||||||
| eu-readelf -hS $RPM_BUILD_ROOT%{_prefix}/bin/getconf \ |  | ||||||
| 	$RPM_BUILD_ROOT%{_prefix}/libexec/getconf/* |  | ||||||
| 
 | 
 | ||||||
| find_debuginfo_args='--strict-build-id -g' | find_debuginfo_args='--strict-build-id -g' | ||||||
| %ifarch %{debuginfocommonarches} | %ifarch %{debuginfocommonarches} | ||||||
| @ -1503,15 +1521,13 @@ exclude_common_dirs debuginfo.filelist | |||||||
| 
 | 
 | ||||||
| %endif # 0%{?_enable_debug_packages} | %endif # 0%{?_enable_debug_packages} | ||||||
| 
 | 
 | ||||||
| %if %{with docs} |  | ||||||
| # Remove the `dir' info-heirarchy file which will be maintained |  | ||||||
| # by the system as it adds info files to the install. |  | ||||||
| rm -f $RPM_BUILD_ROOT%{_infodir}/dir |  | ||||||
| %endif |  | ||||||
| 
 |  | ||||||
| %ifarch %{auxarches} | %ifarch %{auxarches} | ||||||
| 
 | ############################################################################## | ||||||
| # Delete files that we do not intended to ship with the auxarch. | # Delete files that we do not intended to ship with the auxarch. | ||||||
|  | # This is the only place where we touch the installed files after generating | ||||||
|  | # the file lists. | ||||||
|  | ############################################################################## | ||||||
|  | 
 | ||||||
| echo Cutting down the list of unpackaged files | echo Cutting down the list of unpackaged files | ||||||
| sed -e '/%%dir/d;/%%config/d;/%%verify/d;s/%%lang([^)]*) //;s#^/*##' \ | sed -e '/%%dir/d;/%%config/d;/%%verify/d;s/%%lang([^)]*) //;s#^/*##' \ | ||||||
| 	common.filelist devel.filelist static.filelist headers.filelist \ | 	common.filelist devel.filelist static.filelist headers.filelist \ | ||||||
| @ -1520,19 +1536,8 @@ sed -e '/%%dir/d;/%%config/d;/%%verify/d;s/%%lang([^)]*) //;s#^/*##' \ | |||||||
| 	debuginfocommon.filelist \ | 	debuginfocommon.filelist \ | ||||||
| %endif | %endif | ||||||
| 	| (cd $RPM_BUILD_ROOT; xargs --no-run-if-empty rm -f 2> /dev/null || :) | 	| (cd $RPM_BUILD_ROOT; xargs --no-run-if-empty rm -f 2> /dev/null || :) | ||||||
| 
 |  | ||||||
| %else |  | ||||||
| 
 |  | ||||||
| mkdir -p $RPM_BUILD_ROOT/var/{db,run}/nscd |  | ||||||
| touch $RPM_BUILD_ROOT/var/{db,run}/nscd/{passwd,group,hosts,services} |  | ||||||
| touch $RPM_BUILD_ROOT/var/run/nscd/{socket,nscd.pid} |  | ||||||
| 
 |  | ||||||
| %endif # %{auxarches} | %endif # %{auxarches} | ||||||
| 
 | 
 | ||||||
| %ifnarch %{auxarches} |  | ||||||
| truncate -s 0 $RPM_BUILD_ROOT/%{_prefix}/lib/locale/locale-archive |  | ||||||
| %endif |  | ||||||
| 
 |  | ||||||
| ############################################################################## | ############################################################################## | ||||||
| # Run the glibc testsuite | # Run the glibc testsuite | ||||||
| ############################################################################## | ############################################################################## | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user