packaging: Add support for configure-dumper
authorSlava Barinov <v.barinov@samsung.com>
Thu, 4 Jun 2020 14:01:00 +0000 (17:01 +0300)
committerDongkyun Son <dongkyun.s@samsung.com>
Tue, 5 Mar 2024 09:02:30 +0000 (18:02 +0900)
Change-Id: Id52b2d7c5f5fd8ab391ee2f8d872937c0108ef3c
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
packaging/glibc.spec
sysdeps/unix/sysv/linux/riscv/configure [changed mode: 0755->0644]

index e08d04a..bb24a35 100644 (file)
 %define glibc_run_tests 1
 %endif
 
+%if 0%{?dump_configure}
+%define glibc_dump_configure 1
+%endif
+
 # This will avoid building some parts of glibc
 %define asan_arch x86_64 armv7l aarch64
 %bcond_with    fast_build
@@ -37,6 +41,9 @@ BuildRequires:  python3-base
 BuildRequires:  glibc-devel-static
 %endif
 }
+%if 0%{?glibc_dump_configure}
+BuildRequires: configure-dumper
+%endif
 #BuildRequires:  pkgconfig(systemd)
 %define _filter_GLIBC_PRIVATE 1
 %if %_target_cpu == "i686"
@@ -85,7 +92,7 @@ Source7:        bindresvport.blacklist
 Source8:        glibc_post_upgrade.c
 Source9:        glibc.rpmlintrc
 Source10:       baselibs.conf
-# For systemd 
+# For systemd
 Source1001:    glibc.manifest
 
 Requires(pre):  filesystem
@@ -234,8 +241,17 @@ ln -s --force /%{_lib}/libc-2.24.so /%{_lib}/libc.so.6
 %endif
 }
 
+%{?glibc_dump_configure:
+%package configure-dump
+Summary:       GNU Glibc configure dump
+License:       GPL-3.0+
+Group:         Development/Languages
+%description configure-dump
+This package contains dump of configure variables of Glibc
+}
+
 %prep
-%setup -n glibc-%{version} -q 
+%setup -n glibc-%{version} -q
 cp %{SOURCE1001} .
 
 %build
@@ -314,7 +330,7 @@ configure_and_build_glibc() {
        cd "cc-$dirname"
        conf_cflags="$cflags -funwind-tables -fPIC"
        %{?asan: conf_cflags="$conf_cflags -DASAN_INIT_FIRST"}
-
+       %{?glibc_dump_configure:patch_configure.pl ..}
        profile="--disable-profile"
 %if %{build_profile}
         if [ "$dirname" = "base" ] ; then
@@ -335,7 +351,7 @@ configure_and_build_glibc() {
 %ifnarch %{multiarcharches}
                --disable-multi-arch \
 %endif
-%ifarch %{ix86} x86_64 
+%ifarch %{ix86} x86_64
                --disable-mathvec \
 %endif
                --enable-kernel=%{enablekernel} \
@@ -345,6 +361,12 @@ configure_and_build_glibc() {
                libc_cv_cc_pie_default=yes
        # explicitly set CFLAGS to use the full CFLAGS (not the reduced one for configure)
        make %{?_smp_mflags} #CFLAGS="$cflags" BUILD_CFLAGS="$cflags"
+       %{?glibc_dump_configure:
+         dump_configure.pl .. . \
+                           --project glibc \
+                           --project-version %{version} \
+                           --out_db glibc-%{version}-%{release}-%_project-%_repository.db
+        }
        cd ..
 }
 
@@ -457,6 +479,10 @@ touch %{buildroot}%{_libdir}/gconv/gconv-modules.cache
 # Install base glibc
 make %{?_smp_mflags} install_root=%{buildroot} install -C cc-base
 
+%{?glibc_dump_configure:
+  install -D -m 0644 cc-base/glibc-%{version}-%{release}-%_project-%_repository.db %{buildroot}%{_datadir}/glibc-%{version}-%{release}-%_project-%_repository.db
+}
+
 install_optimized_variant() {
        local dirname="$1"; shift
        local subdir="$1"; shift
@@ -744,7 +770,7 @@ done
 %files devel
 %manifest %{name}.manifest
 %defattr(-,root,root)
-%license COPYING COPYING.LIB 
+%license COPYING COPYING.LIB
 %doc NEWS README
 %{_bindir}/rpcgen
 %{_includedir}/*
@@ -848,4 +874,10 @@ done
 %doc testresults/*
 }
 
+%{?glibc_dump_configure:
+%files configure-dump
+%manifest glibc.manifest
+%{_datadir}/glibc-%{version}-%{release}-%_project-%_repository.db
+}
+
 %docs_package
old mode 100755 (executable)
new mode 100644 (file)