diff --git a/.gitignore b/.gitignore index 5946530..1ce8451 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,8 @@ /dietlibc-github-236455eac1d2ed2e2004a89b85f904f3ab27e0da.patch.gz /dietlibc-0.33.20120825.tar.xz /dietlibc-github-c3f1cf67fcc186bb859e64a085bf98aaa6182a82.patch.gz +/dietlibc.tar.gz +/dietlibc-0.33.20170317.tar.xz +/dietlibc-0.34.20170317.tar.xz +/dietlibc-0.34.tar.xz +/dietlibc-0.34.tar.xz.sig diff --git a/Makefile b/Makefile index 53a32bd..d9d53d7 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ CVS ?= cvs GIT ?= git TAR ?= tar GZIP ?= gzip -CVS_BASEVER = 0.33 +CVS_BASEVER = 0.34 CVS_DATE := $(shell date +'%Y%m%d' -d '-1 day') GIT_URL = git://github.com/ensc/dietlibc.git GIT_DIFF_OPTS = --summary --stat --patch diff --git a/dietlibc-c99.patch b/dietlibc-c99.patch new file mode 100644 index 0000000..218c679 --- /dev/null +++ b/dietlibc-c99.patch @@ -0,0 +1,33 @@ +Changes to avoid implicit function declarations: +provides a declaration of noths. -D_BSD_SOURCE enables declarations +of random, srandom. + +diff -ur dietlibc-0.34.orig/test/getservbyname.c dietlibc-0.34/test/getservbyname.c +--- dietlibc-0.34.orig/test/getservbyname.c 2003-12-15 14:07:42.000000000 +0100 ++++ dietlibc-0.34/test/getservbyname.c 2022-12-23 18:17:26.645479365 +0100 +@@ -1,5 +1,6 @@ + #include + #include ++#include + + int main(int argc,char *argv[]) { + struct servent* se; +diff -ur dietlibc-0.34.orig/test/stdlib/testsort.c dietlibc-0.34/test/stdlib/testsort.c +--- dietlibc-0.34.orig/test/stdlib/testsort.c 2003-12-15 14:07:42.000000000 +0100 ++++ dietlibc-0.34/test/stdlib/testsort.c 2022-12-23 18:16:33.758018509 +0100 +@@ -1,3 +1,4 @@ ++#define _BSD_SOURCE + #include + #include + #include +diff -ur dietlibc-0.34.orig/test/stdlib/tst-calloc.c dietlibc-0.34/test/stdlib/tst-calloc.c +--- dietlibc-0.34.orig/test/stdlib/tst-calloc.c 2003-12-15 14:07:42.000000000 +0100 ++++ dietlibc-0.34/test/stdlib/tst-calloc.c 2022-12-23 18:16:49.272860349 +0100 +@@ -17,6 +17,7 @@ + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + ++#define _BSD_SOURCE + #include + #include + #include diff --git a/dietlibc-insecure-defpath.patch b/dietlibc-insecure-defpath.patch new file mode 100644 index 0000000..340d5f3 --- /dev/null +++ b/dietlibc-insecure-defpath.patch @@ -0,0 +1,11 @@ +--- include/paths.h~ 2008-02-22 18:09:54.000000000 -0600 ++++ include/paths.h 2016-07-25 12:03:25.144058895 -0500 +@@ -2,7 +2,7 @@ + #define _PATHS_H + + #define _PATH_BSHELL "/bin/sh" +-#define _PATH_DEFPATH "/bin:/usr/bin:" ++#define _PATH_DEFPATH "/bin:/usr/bin" + + #define _PATH_DEVNULL "/dev/null" + diff --git a/dietlibc.spec b/dietlibc.spec index fbb3055..37aa2d9 100644 --- a/dietlibc.spec +++ b/dietlibc.spec @@ -2,8 +2,11 @@ ## --with[out] ssp ... enable/disable SSP; default depends ## on target architecture -%global prerelease 20120825 -%global githubref c3f1cf67fcc186bb859e64a085bf98aaa6182a82 +# Disabled per upstream to fix FTBFS. +%undefine _hardened_build + +#%%global prerelease 20170317 +#%%global githubref c3f1cf67fcc186bb859e64a085bf98aaa6182a82 %global pkglibdir %{_prefix}/lib/dietlibc %ifarch %ix86 x86_64 @@ -23,30 +26,31 @@ Summary: Small libc implementation Name: dietlibc -Version: 0.33 -Release: 0.1904.%prerelease%{?dist} -License: GPLv2 -Group: Development/Libraries +Version: 0.34 +Release: 20%{?dist} +License: GPL-2.0-only URL: http://www.fefe.de/dietlibc/ %if !0%{?prerelease:1} -Source0: http://www.kernel.org/pub/linux/libs/dietlibc/%{name}-%{version}.tar.bz2 -Source1: http://www.fefe.de/dietlibc/%{name}-%{version}.tar.bz2.sig +Source0: https://www.fefe.de/dietlibc/%{name}-%{version}.tar.xz +Source1: http://www.fefe.de/dietlibc/%{name}-%{version}.tar.xz.sig %else # generated by 'make cvs-sources [CVS_DATE=....]' Source0: %{name}-%{version}.%prerelease.tar.xz %endif ## CVS..master diff from https://github.com/ensc/dietlibc -Patch0: dietlibc-github-%githubref.patch.gz -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot -#Requires: dietlibc-lib = %{version}-%{release}} -Obsoletes: dietlibc-lib < %{version}-%{release}} +#Patch0: dietlibc-github-%%githubref.patch.gz +Patch1: dietlibc-insecure-defpath.patch +Patch2: dietlibc-c99.patch +#Requires: dietlibc-lib = %%{version}-%%{release}} +Obsoletes: dietlibc-lib < %{version}-%{release} Requires: %{name}-devel = %{version}-%{release} +BuildRequires: gcc BuildRequires: gdb +BuildRequires: make %package devel Summary: dietlibc development files -Group: Development/Libraries Requires: %{name} = %{version}-%{release} Obsoletes: %{name}-header < %{version}-%{release} Provides: %{name}-header = %{version}-%{release} @@ -55,7 +59,6 @@ Provides: %{name}-static%{?_isa} = %{version}-%{release} %package lib Summary: Dynamic libraries for dietlibc -Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} %description @@ -80,8 +83,11 @@ This package contains the dynamic libraries for dietlibc. %prep %setup -q %{?prerelease:-n %{name}-%{version}.%prerelease} +%dnl %setup -qn dietlibc -%apply -n0 -p1 +%dnl %apply -n0 -p1 +%patch -P 1 -p0 +%patch -P 2 -p1 %if %{without ssp} sed -i -e 's!^#define WANT_SSP$!// \0!g; @@ -103,21 +109,24 @@ sed -i \ dietfeatures.h %endif -%global fixcflags -fomit-frame-pointer -fno-exceptions -fno-asynchronous-unwind-tables %xtra_fixcflags -Os -g3 -Werror-implicit-function-declaration -Wno-unused -Wno-switch +%global fixcflags -fomit-frame-pointer -fno-exceptions -fno-asynchronous-unwind-tables %xtra_fixcflags -Os -g3 -Werror-implicit-function-declaration -Wno-unused -Wno-switch -std=gnu17 %global basemakeflags prefix=%pkglibdir BINDIR=%{_bindir} MAN1DIR=%{_mandir}/man1 CFLAGS="$RPM_OPT_FLAGS %fixcflags $XTRA_CFLAGS" PDIET=%pkglibdir STRIP=: %global makeflags %basemakeflags %build +# This package strips .o files as they are created which removes the LTO +# sections. It's likely this would work if those strip commands were +# changed to leave the LTO sections alone. For now, disable LTO +%define _lto_cflags %{nil} + make %makeflags all %{?_smp_mflags} # 'dyn' target is not SMP safe -#make %makeflags dyn +#make %%makeflags dyn %install -rm -rf $RPM_BUILD_ROOT - install -d -m755 $RPM_BUILD_ROOT/etc make %makeflags DESTDIR=$RPM_BUILD_ROOT install @@ -135,14 +144,10 @@ make %makeflags -C test/inet all %{?_smp_mflags} DIET=$(echo `pwd`/bin-*/diet) cd test ulimit -m $[ 128*1024 ] -v $[ 256*1024 ] -d $[ 128*1024 ] -s 512 -bash ./runtests-X.sh +#bash ./runtests-X.sh -%clean -rm -rf $RPM_BUILD_ROOT - %files -%defattr(-,root,root,-) %doc AUTHOR BUGS CAVEAT CHANGES COPYING FAQ PORTING README* %doc SECURITY THANKS TODO %doc %{_mandir}/*/* @@ -150,20 +155,121 @@ rm -rf $RPM_BUILD_ROOT %files devel -%defattr(-,root,root,-) %pkglibdir -%exclude %pkglibdir/*/*.so - - -#%files lib -#%defattr(-,root,root,-) -#%config(noreplace) %{_sysconfdir}/* -#%dir %pkglibdir -#%dir %pkglibdir/lib-* -#%pkglibdir/lib-%target_cpu/*.so - %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 0.34-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Thu Jan 16 2025 Fedora Release Engineering - 0.34-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Wed Jul 17 2024 Fedora Release Engineering - 0.34-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Jan 24 2024 Fedora Release Engineering - 0.34-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 0.34-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Aug 24 2023 Gwyn Ciesla - 0.34-15 +- Fix FTBFS + +* Wed Jul 19 2023 Fedora Release Engineering - 0.34-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Mar 07 2023 Gwyn Ciesla - 0.34-13 +- migrated to SPDX license + +* Thu Jan 19 2023 Fedora Release Engineering - 0.34-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Dec 23 2022 Florian Weimer - 0.34-11 +- C99 compatibility fixes (#2156074) + +* Thu Jul 21 2022 Fedora Release Engineering - 0.34-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jan 20 2022 Fedora Release Engineering - 0.34-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jul 21 2021 Fedora Release Engineering - 0.34-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jan 26 2021 Fedora Release Engineering - 0.34-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 0.34-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 13 2020 Jeff Law - 0.34-5 +- Disable LTO + +* Tue Jan 28 2020 Fedora Release Engineering - 0.34-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Jul 24 2019 Fedora Release Engineering - 0.34-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jan 31 2019 Fedora Release Engineering - 0.34-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Sep 25 2018 Gwyn Ciesla - 0.34-1 +- 0.34 + +* Thu Jul 12 2018 Fedora Release Engineering - 0.34-0.6.20170317 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Feb 09 2018 Igor Gnatenko - 0.34-0.5.20170317 +- Escape macros in %%changelog + +* Wed Feb 07 2018 Fedora Release Engineering - 0.34-0.4.20170317 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Aug 02 2017 Fedora Release Engineering - 0.34-0.3.20170317 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 0.34-0.2.20170317 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 18 2017 Richard W.M. Jones - 0.34-0.1 +- Move to much newer upstream version which supports aarch64 and POWER. +- Fix bogus date in changelog. + +* Fri Feb 10 2017 Fedora Release Engineering - 0.33-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Sep 15 2016 Dan HorĂ¡k - 0.33-10 +- Enable s390x build + +* Fri Aug 12 2016 Peter Robinson - 0.33-9 +- Exclude aarch64 Power64 s390x + +* Mon Jul 25 2016 Jon Ciesla - 0.33-8 +- Patch for insecure defpath, BZ 1359768. + +* Thu Apr 07 2016 Jon Ciesla - 0.33-7 +- Spec cleanup. + +* Wed Feb 03 2016 Fedora Release Engineering - 0.33-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 0.33-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Nov 17 2014 Jon Ciesla - 0.33-4 +- Fix FTBFS using latest official cvs which drops a test script. + +* Sat Aug 16 2014 Fedora Release Engineering - 0.33-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 0.33-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu Apr 24 2014 Jon Ciesla - 0.33-1 +- Latest upstream. + * Tue Sep 17 2013 Jon Ciesla - 0.33-0.1904.20120825 - Fix typo in %%files, BZ 1008729. @@ -238,7 +344,6 @@ rm -rf $RPM_BUILD_ROOT * Fri Dec 24 2010 Enrico Scholz - 0.33-0.1500.20101223 - updated to 20101223 CVS snapshot -%changelog * Fri Jul 9 2010 Enrico Scholz - 0.32-1400 - added -static provides (#609606) - use %%apply, not %%patch @@ -306,7 +411,7 @@ rm -rf $RPM_BUILD_ROOT * Wed Feb 13 2008 Enrico Scholz - 0.31-1.20080212 - updated to CVS snapshot 20080212 -- fixed printf regression for '%+04i' style formats +- fixed printf regression for '%%+04i' style formats - added %%check and run a testsuite; it does not succeed now so it is for informational purposes only... - added bunch of patches to fixes big-endian issues in string routines diff --git a/sources b/sources index d998747..a734b2e 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -016865b8c40d40a57b2ddb5862f2e338 dietlibc-0.33.20120825.tar.xz -734e14b59b7f017ae5843ee9b9b6d34e dietlibc-github-c3f1cf67fcc186bb859e64a085bf98aaa6182a82.patch.gz +SHA512 (dietlibc-0.34.tar.xz) = 2b38528c0ccf50e426f587b6448fed997fab1147eecc9e1af2f3fb3efe3d8f3997656d8e66e7cf1045ceb1f602cef43456c62ba83ff494f9c9816721bdb4d6c6 +SHA512 (dietlibc-0.34.tar.xz.sig) = 0428f1a7430b335f527ceb0fb347d50846c25aff38e32ca961f07ca3fc7dc4ca657c09c0797c7bb38b5c126a21e3d6a96f76e6d511e5121bd500276a9ded2a4c