diff --git a/.cvsignore b/.cvsignore deleted file mode 100644 index 87e051f..0000000 --- a/.cvsignore +++ /dev/null @@ -1,4 +0,0 @@ -dietlibc-[0-9].[0-9][0-9] -dietlibc*.tar.bz2* -dietlibc*.rpm -i386 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1ce8451 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +/dietlibc-0.33.20120330.tar.xz +/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/ChangeLog.2005 b/ChangeLog.2005 new file mode 100644 index 0000000..947393c --- /dev/null +++ b/ChangeLog.2005 @@ -0,0 +1,81 @@ +* Sun Oct 30 2005 Enrico Scholz - 0.29-4 +- added '-fno-stack-protector' to the CFLAGS + +* Sun Oct 30 2005 Enrico Scholz - 0.29-3 +- removed '-fstack-protector' from CLI because it uses __stack_chk_fail + which is not provided by dietlibc + +* Thu May 26 2005 Enrico Scholz - 0.29-2 +- rebuilt + +* Tue May 24 2005 Enrico Scholz - 0.29-1 +- updated to 0.29 +- unset some compiler options which cause errors with gcc4 +- rediffed -scall patch +- removed most patches as already in upstream + +* Thu May 19 2005 Enrico Scholz - 0.28-6 +- use %%dist instead of %%disttag +- package some more %%doc files (reported by Chris Ricker) +- add %%release to the BuildRoot (reported by Chris Ricker) +- fixed URLs of the sources (reported by Chris Ricker) + +* Sun May 1 2005 Enrico Scholz - 0.28-5 +- added Herbert Poetzl's syscall(2) implementation for x86_64 and + sparc* architectures (see + http://vserver.13thfloor.at/Experimental/delta-diet.diff); rediffed + the .call patch +- catch the case when syscall(2) is used on archs where it is not + implemented yet +- define MADV_* constants on HPPA and IA64 archs +- fix *truncate64() handling on 64bit archs + +* Fri Mar 4 2005 Enrico Scholz - 0.28-4 +- rebuild +- fixed compilation with gcc4 +- made nice(2) SUSv3 compliantly on x86_64 and other platforms (patch + provided by Colin Hill) +- build the dynamic libs for x86, x86_64 and arm only +- fixed PPC issues in ISO mode (do not use the 'powerpc' macro but the + '__powerpc__' one) +- added some O_* -flags for the HPPA arch +- use more modern flags for '-Os' + +* Tue Feb 1 2005 Enrico Scholz - 1:0.28-1 +- updated to 0.28 +- unset LD_RUN_PATH which would result in empty rpaths else +- removed the waitpid patch; it is solved upstream + +* Tue Aug 17 2004 Enrico Scholz - 1:0.27-1 +- updated to 0.27 + +* Fri Jun 11 2004 Enrico Scholz - 1:0.26-1 +- updated to 0.26 + +* Fri Apr 9 2004 Enrico Scholz - 1:0.25-1 +- updated to 0.25 + +* Sat Jan 17 2004 Enrico Scholz - 1:%VERSION.90.%DATE}-5 +- renewed -snprintf patch + +* Tue Jan 6 2004 Enrico Scholz - 1:%VERSION.90.%DATE}-4 +- applied -snprintf patch (from fedora dietlibc-0.24-2 package) + +* Tue Dec 30 2003 Enrico Scholz - 1:%VERSION.90.%DATE}-2 +- added C99 patch + +* Thu Dec 4 2003 Enrico Scholz - 1:0.24-1 +- updated to 0.24 + +* Tue Sep 16 2003 Enrico Scholz - 1:0.23-1 +- updated to 0.23 + +* Fri Nov 8 2002 Enrico Scholz 1:0.21-1 +- updated to 0.21 +- removed unpackaged files in %%install-stage + +* Thu Jul 11 2002 Enrico Scholz 1:0.18-1 +- updated to 0.18 + +* Thu Jul 4 2002 Enrico Scholz +- Initial build. diff --git a/Makefile b/Makefile index ba7d5a1..d9d53d7 100644 --- a/Makefile +++ b/Makefile @@ -1,21 +1,27 @@ -# Makefile for source rpm: dietlibc -# $Id$ -NAME := dietlibc -SPECFILE = $(firstword $(wildcard *.spec)) +MAKEFILE_COMMON = $(HOME)/.fedora/common.mk +-include $(MAKEFILE_COMMON) -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef +CVS ?= cvs +GIT ?= git +TAR ?= tar +GZIP ?= gzip +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 +GIT_BRANCH_OLD = CVS +GIT_BRANCH_NEW = master +_cvs_suffix = ${CVS_BASEVER}.${CVS_DATE} -MAKEFILE_COMMON := $(shell $(find-makefile-common)) +cvs-sources: + cd ${DESTDIR} . && $(CVS) -d :pserver:cvs@cvs.fefe.de:/cvs -z9 export -D${CVS_DATE} -d dietlibc-${_cvs_suffix} dietlibc + cd ${DESTDIR} . && $(TAR) cJf dietlibc-${_cvs_suffix}.tar.xz dietlibc-${_cvs_suffix} --owner root --group root -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) +git-patch: + cd ${DESTDIR} . && $(GIT) clone --mirror $(GIT_URL) dietlibc.git + cd ${DESTDIR} . && cd dietlibc.git && { \ + ref=`git ls-remote . refs/heads/$(GIT_BRANCH_NEW) | cut -f 1` && \ + cnt=`git rev-list refs/heads/$(GIT_BRANCH_NEW) | wc -l` && \ + $(GIT) diff $(GIT_DIFF_OPTS) $(GIT_BRANCH_OLD)..$(GIT_BRANCH_NEW) > diff && \ + $(GZIP) -c < diff > ../dietlibc-g$$cnt+$$ref.patch.gz ; } + cd ${DESTDIR} . && rm -rf dietlibc.git diff --git a/dietlibc-0.28-setpriority.patch b/dietlibc-0.28-setpriority.patch deleted file mode 100644 index 30090ed..0000000 --- a/dietlibc-0.28-setpriority.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- dietlibc-0.28-unpatched/lib/__nice.c 2005-02-13 18:01:18.966469056 -0500 -+++ dietlibc-0.28/lib/__nice.c 2005-02-13 18:17:04.381744088 -0500 -@@ -1,9 +1,13 @@ - #include "syscalls.h" --#include -+#include - #include - - #ifndef __NR_nice - int nice(int i) { -- return setpriority(PRIO_PROCESS,0,getpriority(PRIO_PROCESS,0)+i); -+ if (setpriority(PRIO_PROCESS,0,getpriority(PRIO_PROCESS,0)+i) == -1) { -+ errno=EPERM; -+ return -1; -+ } -+ return getpriority(PRIO_PROCESS,0); - } - #endif diff --git a/dietlibc-0.29-nostackprotector.patch b/dietlibc-0.29-nostackprotector.patch deleted file mode 100644 index 27e3d9c..0000000 --- a/dietlibc-0.29-nostackprotector.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- dietlibc-0.29/diet.c.nostackprotector 2005-05-18 16:38:55.000000000 +0200 -+++ dietlibc-0.29/diet.c 2005-10-30 12:27:06.000000000 +0100 -@@ -319,6 +319,8 @@ - if (strcmp(argv[i],"-fpic") && strcmp(argv[i],"-fno-pic")) - continue; - } -+ if (strcmp(argv[i],"-fstack-protector")==0) -+ continue; - *dest++=argv[i]; - } - #ifndef __DYN_LIB diff --git a/dietlibc-0.29-scall.patch b/dietlibc-0.29-scall.patch deleted file mode 100644 index ee07d62..0000000 --- a/dietlibc-0.29-scall.patch +++ /dev/null @@ -1,21 +0,0 @@ -2005-04-24 Enrico Scholz - * libcompat/syscall.S: catch the case when syscall(2) is not - implemented for the actual arch instead of jumping to the next - function and executing the wrong code - ---- dietlibc-0.29/libcompat/syscall.S.scall -+++ dietlibc-0.29/libcompat/syscall.S -@@ -120,6 +120,12 @@ - nop - - #else -- /* arch not implemented yet */ -+#include -+ .section .note -+#if (__WORDSIZE == 64) -+ .quad __syscall_2_not_implemented_for_this_arch -+#else -+ .long __syscall_2_not_implemented_for_this_arch -+#endif - #endif - .size syscall, . - syscall diff --git a/dietlibc-0.30-longdouble.patch b/dietlibc-0.30-longdouble.patch deleted file mode 100644 index 04c675e..0000000 --- a/dietlibc-0.30-longdouble.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- dietlibc-0.30/libm/gamma.c~ 2005-03-15 08:51:23.000000000 +0000 -+++ dietlibc-0.30/libm/gamma.c 2006-12-28 14:36:58.000000000 +0000 -@@ -33,19 +33,19 @@ Return value gamma returns a value in - #include - #include - --#define B0 + 1.0l/ 6/ 1/ 2 --#define B1 - 1.0l/ 30/ 3/ 4 --#define B2 + 1.0l/ 42/ 5/ 6 --#define B3 - 1.0l/ 30/ 7/ 8 --#define B4 + 5.0l/ 66/ 9/10 --#define B5 - 691.0l/2730/11/12 --#define B6 + 7.0l/ 6/13/14 --#define B7 - 3617.0l/ 510/15/16 --#define B8 + 43867.0l/ 798/17/18 --#define B9 - 174611.0l/ 330/19/20 --#define B10 + 854513.0l/ 138/21/22 --#define B11 - 236364091.0l/2730/23/24 --#define B12 + 8553103.0l/ 6/25/26 -+#define B0 + 1.0/ 6/ 1/ 2 -+#define B1 - 1.0/ 30/ 3/ 4 -+#define B2 + 1.0/ 42/ 5/ 6 -+#define B3 - 1.0/ 30/ 7/ 8 -+#define B4 + 5.0/ 66/ 9/10 -+#define B5 - 691.0/2730/11/12 -+#define B6 + 7.0/ 6/13/14 -+#define B7 - 3617.0/ 510/15/16 -+#define B8 + 43867.0/ 798/17/18 -+#define B9 - 174611.0/ 330/19/20 -+#define B10 + 854513.0/ 138/21/22 -+#define B11 - 236364091.0/2730/23/24 -+#define B12 + 8553103.0/ 6/25/26 - - static const double coeff[] = { B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10 }; - int signgam; diff --git a/dietlibc-0.31-stacksmash-dyn.patch b/dietlibc-0.31-stacksmash-dyn.patch deleted file mode 100644 index 1f6d81c..0000000 --- a/dietlibc-0.31-stacksmash-dyn.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up dietlibc-0.31/lib/stack_smash_handler2.c.~1~ dietlibc-0.31/lib/stack_smash_handler2.c ---- dietlibc-0.31/lib/stack_smash_handler2.c.~1~ 2007-09-01 14:13:21.000000000 +0200 -+++ dietlibc-0.31/lib/stack_smash_handler2.c 2007-09-01 14:13:40.000000000 +0200 -@@ -2,6 +2,7 @@ - #include - - void __stack_chk_fail(void); -+void __stack_chk_fail_local(void) __attribute__((__alias__("__stack_chk_fail"))); - - /* earlier versions of ProPolice actually gave the address and function - * name as arguments to the handler, so it could print some useful diff --git a/dietlibc-0.31-stacksmash.patch b/dietlibc-0.31-stacksmash.patch deleted file mode 100644 index 8044193..0000000 --- a/dietlibc-0.31-stacksmash.patch +++ /dev/null @@ -1,40 +0,0 @@ -2007-09-01 Enrico Scholz - * lib/stack_smash_handler2: modified __stack_chk_fail() to trigger - a segfault by accessing address 0x0. Every system with an MMU - known by me, segfaults by dereferencing a NULL pointer - - * Makefile: added hack to compile stack_smash_handler2 with - '--fno-omit-frame-pointer'. - -diff -up dietlibc-0.31/lib/stack_smash_handler2.c.~1~ dietlibc-0.31/lib/stack_smash_handler2.c ---- dietlibc-0.31/lib/stack_smash_handler2.c.stacksmash -+++ dietlibc-0.31/lib/stack_smash_handler2.c -@@ -8,5 +8,13 @@ void __stack_chk_fail(void); - * diagnostics. No more. :-( */ - void __stack_chk_fail(void) { - __write2("smashed stack detected, program terminated.\n"); -- _exit(127); -+ -+ /* trigger a segfault which can be inspected within a debugger (inclusive -+ * stack-trace). 'abort(3)' at this place would be too heavy weighted. -+ * -+ * TODO: limit this to systems which are known to have an MMU (resp. is -+ * dietlibc with stack-protector used on systems without an MMU?) -+ */ -+ while (1) -+ *(char *)0 = 0; - } ---- dietlibc-0.31/Makefile.stacksmash -+++ dietlibc-0.31/Makefile -@@ -172,9 +172,10 @@ $(OBJDIR)/%.o: %.S $(ARCH)/syscalls.h - $(OBJDIR)/pthread_%.o: libpthread/pthread_%.c - $(CROSS)$(CC) $(INC) $(CFLAGS) -c $< -o $@ - $(COMMENT) -$(CROSS)strip -x -R .comment -R .note $@ -+$(OBJDIR)/stack_smash_handler2.o: XCFLAGS:=-fno-omit-frame-pointer - - $(OBJDIR)/%.o: %.c -- $(CROSS)$(CC) $(INC) $(CFLAGS) -c $< -o $@ -D__dietlibc__ -+ $(CROSS)$(CC) $(INC) $(CFLAGS) $(XCFLAGS) -c $< -o $@ -D__dietlibc__ - $(COMMENT) -$(CROSS)strip -x -R .comment -R .note $@ - endif - 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-0.31-defpath.patch b/dietlibc-insecure-defpath.patch similarity index 55% rename from dietlibc-0.31-defpath.patch rename to dietlibc-insecure-defpath.patch index c0878da..340d5f3 100644 --- a/dietlibc-0.31-defpath.patch +++ b/dietlibc-insecure-defpath.patch @@ -1,6 +1,5 @@ -diff -up dietlibc-0.31/include/paths.h.~1~ dietlibc-0.31/include/paths.h ---- dietlibc-0.31/include/paths.h.defpath -+++ dietlibc-0.31/include/paths.h +--- 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 diff --git a/dietlibc.spec b/dietlibc.spec index debadf4..37aa2d9 100644 --- a/dietlibc.spec +++ b/dietlibc.spec @@ -1,18 +1,18 @@ -## $Id: dietlibc.spec,v 1.3 2005/02/01 12:03:17 ensc Exp $ - ## This package understands the following switches: +## --with[out] ssp ... enable/disable SSP; default depends +## on target architecture -## Fedora Extras specific customization below... -## +# Disabled per upstream to fix FTBFS. +%undefine _hardened_build -%ifarch %ix86 x86_64 arm -%global do_dyn 0 +#%%global prerelease 20170317 +#%%global githubref c3f1cf67fcc186bb859e64a085bf98aaa6182a82 +%global pkglibdir %{_prefix}/lib/dietlibc + +%ifarch %ix86 x86_64 +%bcond_without ssp %else -%global do_dyn 0 -%endif - -%if %do_dyn -%global with_dyn 1 +%bcond_with ssp %endif %ifarch %ix86 @@ -21,41 +21,57 @@ %global target_cpu %_target_cpu %endif - -%{!?release_func:%global release_func() %1%{?dist}} +%{!?apply:%global apply(p:n:b:) %patch%%{-n:%%{-n*}} %%{-p:-p %%{-p*}} %%{-b:-b %%{-b*}} \ +%nil} Summary: Small libc implementation Name: dietlibc -Version: 0.31 -Release: %release_func 1 -License: GPL -Group: Development/Libraries +Version: 0.34 +Release: 20%{?dist} +License: GPL-2.0-only URL: http://www.fefe.de/dietlibc/ -Source0: http://www.kernel.org/pub/linux/libs/dietlibc/%name-%version.tar.bz2 -Source1: http://www.fefe.de/dietlibc/%name-%version.tar.bz2.sig -Patch1: dietlibc-0.28-setpriority.patch -Patch10: dietlibc-0.29-scall.patch -Patch20: dietlibc-0.29-nostackprotector.patch -Patch30: dietlibc-0.30-longdouble.patch -Patch31: dietlibc-0.31-defpath.patch -Patch32: dietlibc-0.31-stacksmash.patch -Patch33: dietlibc-0.31-stacksmash-dyn.patch -BuildRoot: %_tmppath/%name-%version-%release-buildroot -%{?with_dyn:Requires: dietlibc-lib = %version-%release} -%{!?with_dyn:Obsoletes: dietlibc-lib < %version-%release} +%if !0%{?prerelease:1} +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 +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 +Requires: %{name} = %{version}-%{release} +Obsoletes: %{name}-header < %{version}-%{release} +Provides: %{name}-header = %{version}-%{release} +Provides: %{name}-static = %{version}-%{release} +Provides: %{name}-static%{?_isa} = %{version}-%{release} %package lib Summary: Dynamic libraries for dietlibc -Group: System Environment/Libraries -Conflicts: %name < %version-%release -Conflicts: %name > %version-%release +Requires: %{name} = %{version}-%{release} %description The diet libc is a libc that is optimized for small size. It can be used to create small statically linked binaries for Linux on alpha, arm, hppa, ia64, i386, mips, s390, sparc, sparc64, ppc and x86_64. +%description devel +The diet libc is a libc that is optimized for small size. It can be +used to create small statically linked binaries for Linux on alpha, +arm, hppa, ia64, i386, mips, s390, sparc, sparc64, ppc and x86_64. + +This package contains the object files for dietlibc. %description lib The diet libc is a libc that is optimized for small size. It can be @@ -66,16 +82,14 @@ This package contains the dynamic libraries for dietlibc. %prep -%setup -q -%patch1 -p1 -b .nice -%patch10 -p1 -b .scall -%patch30 -p1 -b .longdouble -%patch31 -p1 -b .defpath -%patch32 -p1 -b .stacksmash -%patch33 -p1 -b .stacksmash-dyn +%setup -q %{?prerelease:-n %{name}-%{version}.%prerelease} +%dnl %setup -qn dietlibc -%ifnarch i386 x86_64 -%patch20 -p1 -b .nostackprotector +%dnl %apply -n0 -p1 +%patch -P 1 -p0 +%patch -P 2 -p1 + +%if %{without ssp} sed -i -e 's!^#define WANT_SSP$!// \0!g; s!.*\(#define WANT_STACKGAP\).*!\1!g' dietfeatures.h %global xtra_fixcflags -fno-stack-protector @@ -83,55 +97,325 @@ sed -i -e 's!^#define WANT_SSP$!// \0!g; %global xtra_fixcflags %nil %endif -sed -i -e 's!strip !: !g' Makefile +sed -i \ + -e '/#define \(WANT_LARGEFILE_BACKCOMPAT\|WANT_VALGRIND_SUPPORT\)/d' \ + dietfeatures.h -%global fixcflags -fomit-frame-pointer -fno-exceptions -fno-asynchronous-unwind-tables %xtra_fixcflags -Os -%global basemakeflags prefix=%_libdir/dietlibc BINDIR=%_bindir MAN1DIR=%_mandir/man1 COMMENT=: CFLAGS="$RPM_OPT_FLAGS %fixcflags" PDIET=%_libdir/dietlibc +%ifarch %ix86 arm +sed -i \ + -e '/#define WANT_DYN_PAGESIZE/{c\' \ + -e '#define WANT_ELFINFO' \ + -e '}' \ + 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 -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 -%{?with_dyn: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 -ln -s lib-%_arch ${RPM_BUILD_ROOT}%_libdir/dietlibc/lib-%_arch-%_vendor +ln -s lib-%{_arch} ${RPM_BUILD_ROOT}%pkglibdir/lib-%{_arch}-%{_vendor} -chmod a-x $RPM_BUILD_ROOT%_libdir/dietlibc/lib-*/*.o -rm -f $RPM_BUILD_ROOT%_bindir/dnsd +chmod a-x $RPM_BUILD_ROOT%pkglibdir/lib-*/*.o +rm -f $RPM_BUILD_ROOT%{_bindir}/dnsd -%clean -rm -rf $RPM_BUILD_ROOT +%check +XTRA_CFLAGS='-fno-builtin' +make %makeflags -C test all %{?_smp_mflags} DIET=$(echo `pwd`/bin-*/diet) -k || : +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 + %files -%defattr(-,root,root,-) -%{?with_dyn:%exclude %_libdir/dietlibc/*/*.so} %doc AUTHOR BUGS CAVEAT CHANGES COPYING FAQ PORTING README* %doc SECURITY THANKS TODO -%doc %_mandir/*/* -%_bindir/* -%_libdir/dietlibc +%doc %{_mandir}/*/* +%{_bindir}/* -%if %do_dyn -%files lib -%defattr(-,root,root,-) -%config(noreplace) %_sysconfdir/* -%dir %_libdir/dietlibc -%dir %_libdir/dietlibc/lib-* -%_libdir/dietlibc/lib-%target_cpu/*.so -%endif +%files devel +%pkglibdir %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. + +* Sat Aug 03 2013 Fedora Release Engineering - 0.33-0.1903.20120825 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Mar 20 2013 Jon Ciesla - 0.33-0.1902.20120825 +- Macro cleanup. +- Merge header subpackage into devel. +- Converted lib <> Conflicts to Requires =. + +* Wed Feb 13 2013 Fedora Release Engineering - 0.33-0.1901.20120825 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sun Aug 26 2012 Enrico Scholz - 0.33-0.1900.20120825 +- updated to recent snapshot +- fixed s390 issues (reported and patched by Dan Horák) + +* Wed Jul 18 2012 Fedora Release Engineering - 0.33-0.1804.20120330 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sun Apr 29 2012 Enrico Scholz - 0.33-0.1803.20120330 +- reverted removal of kernel headers; causes too much trouble + +* Sun Apr 29 2012 Enrico Scholz - 0.33-0.1802.20120330 +- removed local include/linux headers; shipped ones are outdated and + do not work well with those from the kernel-headers package +- added some '-Wno-*' build flags + +* Thu Apr 5 2012 Enrico Scholz - 0.33-0.1801.20120330 +- updated git-patch (fstatat(2) implementation + actime_r(3) fixes) +- removed local runtests-X.sh; it is in git already + +* Sat Mar 31 2012 Enrico Scholz - 0.33-0.1800.20120330 +- updated to 20120330 CVS snapshot +- versionized the patchset fetched from github +- fixed build on armv7+ systems (#800601) + +* Sat Jan 14 2012 Enrico Scholz - 0.33-0.1700.20111222 +- updated to 20111222 CVS snapshot +- rediffed + updated patchset + +* Fri Jan 13 2012 Fedora Release Engineering - 0.33-0.1601.20110311 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Sat Mar 12 2011 Enrico Scholz - 0.33-0.1600.20110311 +- updated to 20110311 CVS snapshot +- set fixed page size for arm +- disabled linux 2.2/2.4 compatibility code + valgrind nice mode +- reduced stack size for testsuite +- rediffed patches + +* Sun Feb 20 2011 Enrico Scholz - 0.33-0.1600.20101223 +- other ARM enhancements +- fixed missing headers in last utime(2) + fadvise(2) patches + +* Sun Feb 20 2011 Enrico Scholz - 0.33-0.1505.20101223 +- further ARM fixes +- global fixes for utime(2), fadvise*(2) + +* Tue Feb 08 2011 Fedora Release Engineering - 0.33-0.1504.20101223 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Fri Jan 14 2011 Enrico Scholz +- added common alarm(2) implementation + +* Sun Jan 9 2011 Enrico Scholz - 0.33-0.1502.20101223 +- replaced all the single patches with a big one from + https://github.com/ensc/dietlibc/commits/rebase +- various ARM-EABI fixes (667852) + +* Fri Dec 24 2010 Enrico Scholz - 0.33-0.1500.20101223 +- updated to 20101223 CVS snapshot + +* Fri Jul 9 2010 Enrico Scholz - 0.32-1400 +- added -static provides (#609606) +- use %%apply, not %%patch +- updated %%release_func macro + +* Sat Jul 25 2009 Enrico Scholz - 0.32-0 +- updated to 0.32 +- fixed stackgap/auxvec patch +- added patches to fix SMP builds and to prevent object file stripping +- moved %%changelog entries from 2005 and before into ChangeLog.2005 file + +* Fri Jul 24 2009 Fedora Release Engineering - 0.31-9.20090228 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Sun Mar 1 2009 Enrico Scholz - 0.31-8.20090228 +- splitted a noarch -header subpackage out of -devel + +* Sun Mar 1 2009 Enrico Scholz - 0.31-7.20090228 +- updated to 20090228 +- updated patches + +* Tue Feb 24 2009 Fedora Release Engineering - 0.31-7.20081017 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Sat Oct 18 2008 Enrico Scholz - 0.31-6.20081017 +- updated to 20081017 CVS snapshot +- relaxed some sanity checks on architecture not supported by Fedora + and use '#warning' instead of '#error' +- fixed ARM dynlib code + +* Wed Jul 16 2008 Tom "spot" Callaway - 0.31-6.20080517 +- fix license tag + +* Sun May 18 2008 Enrico Scholz - 0.31-5.20080517 +- updated to 20080517 snapshot +- use patches from git repository + +* Sun May 18 2008 Enrico Scholz - 0.31-5.20080409 +- fixed __signalfd() prototype + +* Sat Apr 19 2008 Enrico Scholz - 0.31-4.20080409 +- update -pagesize patch + +* Mon Apr 14 2008 Enrico Scholz - 0.31-3.20080409 +- removed debug stuff from specfile +- updated patches to work with new isinf() behavior of gcc 4.3 + +* Sun Apr 13 2008 Enrico Scholz - 0.31-2.20080409 +- added patch for dynamic PAGE_SIZE support +- fixed/enhanced testsuite and removed the '|| :' in %%check +- improved/fixed floating point support *printf(3) + +* Thu Apr 10 2008 Enrico Scholz - 0.31-1.20080409 +- updated to CVS snapshot 20080409 + +* Fri Feb 22 2008 Enrico Scholz - 0.31-1.20080221 +- updated to CVS snapshot 20080221; removed most of the last patches + as they are now in upstream +- moved files into platform neutral /usr/lib dir (not using %%_lib or + %%_libdir macro) +- added -devel subpackage due to multiarch issues; main package contains + only the 'diet' binary plus some tools while -devel holds all the + header and object files. +- fixed optimized memcpy(3) + +* Wed Feb 13 2008 Enrico Scholz - 0.31-1.20080212 +- updated to CVS snapshot 20080212 +- 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 + * Sat Sep 1 2007 Enrico Scholz - 0.31-1 - updated to 0.31 - removed the no-stack-protector bits for i386 and x86_64 archs @@ -156,85 +440,3 @@ rm -rf $RPM_BUILD_ROOT * Sat Feb 18 2006 Enrico Scholz - 0.29-6 - added '-Os' to the CFLAGS - exclude PPC arch due to strange compilation errors - -* Sun Oct 30 2005 Enrico Scholz - 0.29-4 -- added '-fno-stack-protector' to the CFLAGS - -* Sun Oct 30 2005 Enrico Scholz - 0.29-3 -- removed '-fstack-protector' from CLI because it uses __stack_chk_fail - which is not provided by dietlibc - -* Thu May 26 2005 Enrico Scholz - 0.29-2 -- rebuilt - -* Tue May 24 2005 Enrico Scholz - 0.29-1 -- updated to 0.29 -- unset some compiler options which cause errors with gcc4 -- rediffed -scall patch -- removed most patches as already in upstream - -* Thu May 19 2005 Enrico Scholz - 0.28-6 -- use %%dist instead of %%disttag -- package some more %%doc files (reported by Chris Ricker) -- add %%release to the BuildRoot (reported by Chris Ricker) -- fixed URLs of the sources (reported by Chris Ricker) - -* Sun May 1 2005 Enrico Scholz - 0.28-5 -- added Herbert Poetzl's syscall(2) implementation for x86_64 and - sparc* architectures (see - http://vserver.13thfloor.at/Experimental/delta-diet.diff); rediffed - the .call patch -- catch the case when syscall(2) is used on archs where it is not - implemented yet -- define MADV_* constants on HPPA and IA64 archs -- fix *truncate64() handling on 64bit archs - -* Fri Mar 4 2005 Enrico Scholz - 0.28-4 -- rebuild -- fixed compilation with gcc4 -- made nice(2) SUSv3 compliantly on x86_64 and other platforms (patch - provided by Colin Hill) -- build the dynamic libs for x86, x86_64 and arm only -- fixed PPC issues in ISO mode (do not use the 'powerpc' macro but the - '__powerpc__' one) -- added some O_* -flags for the HPPA arch -- use more modern flags for '-Os' - -* Tue Feb 1 2005 Enrico Scholz - 1:0.28-1 -- updated to 0.28 -- unset LD_RUN_PATH which would result in empty rpaths else -- removed the waitpid patch; it is solved upstream - -* Tue Aug 17 2004 Enrico Scholz - 1:0.27-1 -- updated to 0.27 - -* Fri Jun 11 2004 Enrico Scholz - 1:0.26-1 -- updated to 0.26 - -* Fri Apr 9 2004 Enrico Scholz - 1:0.25-1 -- updated to 0.25 - -* Sat Jan 17 2004 Enrico Scholz - 1:%VERSION.90.%DATE}-5 -- renewed -snprintf patch - -* Tue Jan 6 2004 Enrico Scholz - 1:%VERSION.90.%DATE}-4 -- applied -snprintf patch (from fedora dietlibc-0.24-2 package) - -* Tue Dec 30 2003 Enrico Scholz - 1:%VERSION.90.%DATE}-2 -- added C99 patch - -* Thu Dec 4 2003 Enrico Scholz - 1:0.24-1 -- updated to 0.24 - -* Tue Sep 16 2003 Enrico Scholz - 1:0.23-1 -- updated to 0.23 - -* Fri Nov 8 2002 Enrico Scholz 1:0.21-1 -- updated to 0.21 -- removed unpackaged files in %%install-stage - -* Thu Jul 11 2002 Enrico Scholz 1:0.18-1 -- updated to 0.18 - -* Thu Jul 4 2002 Enrico Scholz -- Initial build. diff --git a/lastver b/lastver index 48b9990..00d0c14 100644 --- a/lastver +++ b/lastver @@ -1 +1 @@ -0.31 +0.32 diff --git a/sources b/sources index c78adf9..a734b2e 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -acb98d469ee932d902fdf6de07802b7c dietlibc-0.31.tar.bz2 -77dadb56faa06c1a5177d76806e79b28 dietlibc-0.31.tar.bz2.sig +SHA512 (dietlibc-0.34.tar.xz) = 2b38528c0ccf50e426f587b6448fed997fab1147eecc9e1af2f3fb3efe3d8f3997656d8e66e7cf1045ceb1f602cef43456c62ba83ff494f9c9816721bdb4d6c6 +SHA512 (dietlibc-0.34.tar.xz.sig) = 0428f1a7430b335f527ceb0fb347d50846c25aff38e32ca961f07ca3fc7dc4ca657c09c0797c7bb38b5c126a21e3d6a96f76e6d511e5121bd500276a9ded2a4c diff --git a/verinfo b/verinfo index cc355f3..fb80d97 100644 --- a/verinfo +++ b/verinfo @@ -1,2 +1,2 @@ -http://www.kernel.org/pub/linux/libs/dietlibc/ -dietlibc-(.*?).tar.bz2 +http://www.fefe.de/dietlibc/ +/dietlibc-(.*?)\.tar\.bz2