Re: upgrading glibc-2.40 -> 2.41
| Newsgroups | gmane.linux.lfs.beyond.support |
|---|---|
| Message-ID | <[email protected]> |
On 6/24/25 2:56 PM, tjoen ([email protected] via blfs-support Mailing List) wrote: > rpm based (B)LFS > I installed it on a chrooted /mnt/ > But after chroot only segfaults > Is it really necessary to rebuild all packages? > Below are the two versions of glibc > > %define debug_package %{nil} > %define gccver 14.2.0 > Release: 2 > Version: 2.40 > Group: System Environment/Libraries > License: GPL > Name: glibc > Patch0: glibc-2.40-fhs-1.patch > Provides: rtld(GNU_HASH) > Source0: ftp.gnu.org/pub/gnu/glibc/%name-%version.tar.xz > Summary: GNU C Library > %description > > %prep > %setup -q > %patch 0 -p1 > mkdir build > > %build > cd build/ > ../configure --prefix=/usr --disable-static --enable-kernel=4.19 \ > --enable-stack-protector=strong --disable-nscd > make > > %install > [ -d "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != "/" ] && rm -rf > $RPM_BUILD_ROOT > cd build/ > make install_root=$RPM_BUILD_ROOT install > cd $RPM_BUILD_ROOT/ > cat > etc/hosts <<EOF > # NAG 5.6; Net HOWTO 5.5.5 > 127.0.0.1 localhost localhost.localdomain > EOF > rm etc/ld.so.cache > install -d usr/lib/locale > rm -f usr/share/info/dir > mkdir lib64/glibc > mv lib64/*.so.* lib64/glibc/ In my builds for aarch64 I don't have /lib64. Why are you moving the libs to /lib64/glibc ? > > %clean > [ -d "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != "/" ] && rm -rf > $RPM_BUILD_ROOT > > %pre > rpm -e --justdb --nodeps glibc > > %post > install-info --info-dir=/usr/share/info /usr/share/info/libc.info.gz > localedef -i nl_NL -f UTF-8 nl_NL.UTF-8 > localedef -i en_US -f UTF-8 en_US.UTF-8 > touch /var/log/wtmp > install lib64/glibc/*.so.* lib64/ > > %files > %defattr(-,root,root) > %config(noreplace) /etc/hosts > %config /etc/rpc > /lib64/* > /sbin/* > /usr/bin/* > /usr/include/* > /usr/lib/* > /usr/libexec/getconf > /usr/sbin/* > %doc COPYING.LIB LICENSES localedata/SUPPORTED > /usr/share/i18n > %doc /usr/share/info/libc.info*.gz > /usr/share/locale/locale.alias > /usr/share/locale/*/LC_MESSAGES/libc.mo > /var/lib/nss_db > > %changelog > * Wed Jan 8 2025 tjoen > - patch > ... > ************ > %define debug_package %{nil} > %define gccver 14.2.0 > Release: 1 > Version: 2.41 > Group: System Environment/Libraries > License: GPL > Name: glibc > Patch0: glibc-%version-fhs-1.patch > Provides: rtld(GNU_HASH) > Source0: ftp.gnu.org/pub/gnu/glibc/%name-%version.tar.xz > Summary: GNU C Library > %description > > %prep > %setup -q > %patch 0 -p1 > mkdir build > > %build > cd build/ > ../configure --prefix=/usr --disable-static --enable-kernel=5.4 \ > --enable-stack-protector=strong --disable-nscd > make > > #scriplet failed > #%pre > #rpm -e --justdb --nodeps glibc > > %install > [ -d "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != "/" ] && rm -rf > $RPM_BUILD_ROOT > cd build/ > make install_root=$RPM_BUILD_ROOT install > cd $RPM_BUILD_ROOT/ > cat > etc/hosts <<EOF > # NAG 5.6; Net HOWTO 5.5.5 > 127.0.0.1 localhost localhost.localdomain > EOF > rm etc/ld.so.cache > install -d usr/lib/locale > rm -f usr/share/info/dir > mkdir lib64/glibc > mv lib64/*.so.* lib64/glibc/ > > %post > install-info --info-dir=/usr/share/info /usr/share/info/libc.info.gz > localedef -i nl_NL -f UTF-8 nl_NL.UTF-8 > localedef -i en_US -f UTF-8 en_US.UTF-8 > touch /var/log/wtmp > cd /usr/lib/ > chmod a+x audit/sotruss-lib.so gconv/*.so lib*.so > cd /lib64/ > chmod a+x libmemusage.so libpcprofile.so > install glibc/*.so.* . > > %clean > [ -d "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != "/" ] && rm -rf > $RPM_BUILD_ROOT > > %files > %defattr(-,root,root) > %config(noreplace) /etc/hosts > %config /etc/rpc > /lib64/* > /sbin/* > /usr/bin/* > /usr/include/* > /usr/lib/* > /usr/libexec/getconf > /usr/sbin/* > %doc COPYING.LIB LICENSES localedata/SUPPORTED > /usr/share/i18n > %doc /usr/share/info/libc.info*.gz > /usr/share/locale/locale.alias > /usr/share/locale/*/LC_MESSAGES/libc.mo > /var/lib/nss_db > > %changelog > * Tue Jun 24 2025 tjoen > - 2.40 kernel-6.13.6 > Here is how I generator the filelist # Create filelist.rpm find '%{buildroot}' -not -type d -print > %{_builddir}/filelist.rpm sed 's|^%{buildroot}||' -i %{_builddir}/filelist.rpm sed '/^$/d' -i %{_builddir}/filelist.rpm # Fix files listed twice in filelist.rpm for glibc sed -e 's|/usr/bin/locale-gen||' -e 's|/etc/locale.gen||' -e 's|/etc gai.conf||' -e 's|/etc/nscd.conf||' -i %{_builddir}/filelist.rpm sed '/^$/d' -i %{_builddir}/filelist.rpm %files -f %{_builddir}/filelist.rpm %defattr(-,root,root) %attr(755,root,root) /usr/bin/locale-gen %config(noreplace) /etc/locale.gen %config(noreplace) /etc/gai.conf %config(noreplace) /etc/nscd.conf I do that for all the rpms that I build. -- Hindi madali ang maging ako -- http://lists.linuxfromscratch.org/sympa/info/blfs-support Unsubscribe: See the above information page