[packages/uClibc-ng] Initial/raw uClibc-ng

arekm arekm at pld-linux.org
Mon Jun 16 21:05:46 CEST 2025


commit bba5036b72595903849b56b02dac016e029ee077
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Mon Jun 16 20:56:04 2025 +0200

    Initial/raw uClibc-ng

 uClibc.spec => uClibc-ng.spec | 160 +++++++-----------------------------------
 1 file changed, 26 insertions(+), 134 deletions(-)
---
diff --git a/uClibc.spec b/uClibc-ng.spec
similarity index 54%
rename from uClibc.spec
rename to uClibc-ng.spec
index 1521e99..443e91e 100644
--- a/uClibc.spec
+++ b/uClibc-ng.spec
@@ -1,39 +1,21 @@
 #
 # Conditional build:
 %bcond_without	shared		# don't build shared lib support
-%bcond_with	nptl		# libpthread: NPTL instead of LinuxThreads (experimental; no i386)
 %bcond_without	verbose		# verbose mode
 #
-%ifarch alpha
-%undefine	with_shared
-%endif
-#
 Summary:	C library optimized for size
 Summary(pl.UTF-8):	Biblioteka C zoptymalizowana na rozmiar
-Name:		uClibc
-Version:	0.9.33.2
-Release:	45
-Epoch:		4
+Name:		uClibc-ng
+Version:	1.0.52
+Release:	0.1
 License:	LGPL v2.1
 Group:		Libraries
-Source0:	http://uclibc.org/downloads/%{name}-%{version}.tar.xz
-# Source0-md5:	73e6fe215648d02246f4d195b25fb17e
-Patch0:		%{name}-newsoname.patch
-Patch1:		%{name}-toolchain-wrapper.patch
-Patch2:		%{name}-targetcpu.patch
-Patch3:		%{name}-debug.patch
-Patch4:		%{name}-stdio-unhide.patch
-Patch5:		%{name}-kernel-types.patch
-Patch6:		%{name}-features.patch
-Patch7:		hash-style-detect.patch
-URL:		http://uclibc.org/
+Source0:	https://downloads.uclibc-ng.org/releases/%{version}/%{name}-%{version}.tar.xz
+# Source0-md5:	8a3adfa261b8bd6955ae35a52c9fa777
+URL:		http://uclibc-ng.org/
 BuildRequires:	binutils >= 2.16
 BuildRequires:	cpp
-%if %{with nptl}
 BuildRequires:	gcc >= 5:4.1
-%else
-BuildRequires:	gcc >= 5:3.0
-%endif
 BuildRequires:	linux-libc-headers >= 7:2.6.27
 BuildRequires:	make >= 3.80
 BuildRequires:	ncurses-devel
@@ -42,15 +24,11 @@ BuildRequires:	sed >= 4.0
 BuildRequires:	tar >= 1:1.22
 BuildRequires:	which
 BuildRequires:	xz
-%{?with_nptl:Requires:	uname(version) >= 2.6}
 # only these supported by this .spec; uClibc code supports some more
 ExclusiveArch:	alpha %{ix86} ppc sparc sparcv9 %{x8664}
-%{?with_nptl:ExcludeArch:	i386}
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%if "%{cc_version}" >= "4.2"
 %define		specflags	-fgnu89-inline
-%endif
 
 %define		filterout	-fstack-protector -fstack-protector-strong --param=ssp-buffer-size=4
 
@@ -63,12 +41,12 @@ Small libc for building embedded applications.
 Mała libc do budowania aplikacji wbudowanych.
 
 %package devel
-Summary:	Development files for uClibc
-Summary(pl.UTF-8):	Pliki dla programistów uClibc
+Summary:	Development files for uClibc-ng
+Summary(pl.UTF-8):	Pliki dla programistów uClibc-ng
 Group:		Development/Libraries
-Requires:	%{name} = %{epoch}:%{version}-%{release}
+Requires:	%{name} = %{version}-%{release}
 Requires:	linux-libc-headers >= 7:2.6.27
-%requires_eq	gcc
+%requires_eq gcc
 
 %description devel
 Small libc for building embedded applications.
@@ -77,28 +55,20 @@ Small libc for building embedded applications.
 Mała libc do budowania aplikacji wbudowanych.
 
 %package static
-Summary:	Static uClibc libraries
-Summary(pl.UTF-8):	Biblioteki statyczne uClibc
+Summary:	Static uClibc-ng libraries
+Summary(pl.UTF-8):	Biblioteki statyczne uClibc-ng
 Group:		Development/Libraries
-Requires:	%{name}-devel = %{epoch}:%{version}-%{release}
+Requires:	%{name}-devel = %{version}-%{release}
 Provides:	libc-static
 
 %description static
-Static uClibc libraries.
+Static uClibc-ng libraries.
 
 %description static -l pl.UTF-8
-Biblioteki statyczne uClibc.
+Biblioteki statyczne uClibc-ng.
 
 %prep
 %setup -q
-%patch -P0 -p1
-%patch -P1 -p1
-%patch -P2 -p1
-%patch -P3 -p1
-%patch -P4 -p1
-%patch -P5 -p1
-%patch -P6 -p1
-%patch -P7 -p1
 
 # ARCH is already determined by uname -m
 %ifarch %{ix86}
@@ -142,9 +112,10 @@ defconfig=extra/Configs/defconfigs/ia64/defconfig
 %endif
 
 cat <<'EOF' >> $defconfig
+KERNEL_HEADERS="kernel-headers"
 # HAS_NO_THREADS is not set
-%{!?with_nptl:LINUXTHREADS_OLD=y}
-%{?with_nptl:UCLIBC_HAS_THREADS_NATIVE=y}
+# UCLIBC_HAS_LINUXTHREADS is not set
+UCLIBC_HAS_THREADS_NATIVE=y
 UCLIBC_HAS_IPV4=y
 UCLIBC_HAS_IPV6=y
 DO_C99_MATH=y
@@ -180,6 +151,11 @@ install -d our-ld
 ln -s %{_bindir}/ld.bfd our-ld/ld
 PATH=$(pwd)/our-ld:$PATH; export PATH
 
+install -d kernel-headers
+for inc in asm asm-generic linux; do
+	ln -sf %{_includedir}/${inc} kernel-headers/${inc}
+done
+
 # NOTE: 'defconfig' and 'all' must be run in separate make process because of macros
 %{__make} -j1 defconfig \
 	%{?with_verbose:VERBOSE=1} \
@@ -194,7 +170,7 @@ PATH=$(pwd)/our-ld:$PATH; export PATH
 # eventually it gets lost and sets wrong value for TARGET_ARCH and bad value
 # for UCLIBC_LDSO in extra/gcc-uClibc.
 # So we pass it as make arg to be sure it's proper!
-target_arch=$(grep -s '^TARGET_ARCH' .config | sed -e 's/^TARGET_ARCH=//' -e 's/"//g')
+target_arch=$(grep -s '^TARGET_ARCH=' .config | sed -e 's/^TARGET_ARCH=//' -e 's/"//g')
 
 %{__make} -j1 \
 	%{?with_verbose:VERBOSE=1} \
@@ -219,60 +195,9 @@ install -d $RPM_BUILD_ROOT%{_bindir}
 	OPTIMIZATION="%{rpmcflags} -Os" \
 	DESTDIR=$RPM_BUILD_ROOT
 
-%if %{with shared}
-%if %{without nptl}
-mv -f $RPM_BUILD_ROOT%{uclibc_root}/usr/lib/{libpthread-uclibc,libpthread}.so
-ln -sf libpthread-%{version}.so $RPM_BUILD_ROOT%{uclibc_root}/lib/libpthread.so.0
-%endif
-chmod a+rx $RPM_BUILD_ROOT%{uclibc_root}/lib/*.so
-%endif
-
-# these links are *needed* (by stuff in bin/)
-for f in $RPM_BUILD_ROOT%{uclibc_root}/bin/*; do
-	if [ -L $f ]; then
-		l=$(readlink $f)
-		a=${l##*/}
-		d=${l%/*}
-		case "$d" in
-		%{_bindir})
-			ln -sf ${l#%{_bindir}/} $RPM_BUILD_ROOT%{_bindir}/${f##*/}
-			rm -f $f
-			;;
-		$a)
-			mv -f $f $RPM_BUILD_ROOT%{_bindir}
-			;;
-		*)
-			exit 1
-			;;
-		esac
-	else
-		a=${f#*/%{_target_cpu}-uclibc-}
-		ln -sf %{_bindir}/$(basename $f) $RPM_BUILD_ROOT%{uclibc_root}/usr/bin/$a
-		mv -f $f $RPM_BUILD_ROOT%{_bindir}
-	fi
-done
-
-for f in $RPM_BUILD_ROOT%{uclibc_root}/usr/bin/*; do
-	if [ -L $f ]; then
-		l=$(readlink $f)
-		case "${l%/*}" in
-		%{uclibc_root}/bin)
-			a=${l#*/%{_target_cpu}-uclibc-}
-			ln -sf %{_bindir}/$a $f
-			;;
-		%{_bindir})
-			:
-			;;
-		*)
-			exit 2
-			;;
-		esac
-	fi
-done
-
 # rpm -ql linux-libc-headers | awk -F/ ' /^\/usr\/include\// { print "/usr/include/" $4 } ' | sort -u
 for dir in asm asm-generic linux mtd rdma sound video xen; do
-	ln -sf /usr/include/${dir} $RPM_BUILD_ROOT%{uclibc_root}/usr/include/${dir}
+       ln -sf /usr/include/${dir} $RPM_BUILD_ROOT%{uclibc_root}/usr/include/${dir}
 done
 
 %clean
@@ -280,7 +205,7 @@ rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%doc Changelog* DEDICATION.mjn3 MAINTAINERS README TODO
+%doc MAINTAINERS README
 %dir %{uclibc_root}
 %ifarch %{ix86} %{x8664} ppc sparc sparcv9
 %if %{with shared}
@@ -292,41 +217,8 @@ rm -rf $RPM_BUILD_ROOT
 %files devel
 %defattr(644,root,root,755)
 %doc docs/*.txt
-%attr(755,root,root) %{_bindir}/%{_target_cpu}-uclibc-addr2line
-%attr(755,root,root) %{_bindir}/%{_target_cpu}-uclibc-ar
-%attr(755,root,root) %{_bindir}/%{_target_cpu}-uclibc-as
-%attr(755,root,root) %{_bindir}/%{_target_cpu}-uclibc-c++
-%attr(755,root,root) %{_bindir}/%{_target_cpu}-uclibc-cc
-%attr(755,root,root) %{_bindir}/%{_target_cpu}-uclibc-cpp
-%attr(755,root,root) %{_bindir}/%{_target_cpu}-uclibc-g++
-%attr(755,root,root) %{_bindir}/%{_target_cpu}-uclibc-gcc
-%attr(755,root,root) %{_bindir}/%{_target_cpu}-uclibc-ld
-%attr(755,root,root) %{_bindir}/%{_target_cpu}-uclibc-nm
-%attr(755,root,root) %{_bindir}/%{_target_cpu}-uclibc-objcopy
-%attr(755,root,root) %{_bindir}/%{_target_cpu}-uclibc-objdump
-%attr(755,root,root) %{_bindir}/%{_target_cpu}-uclibc-ranlib
-%attr(755,root,root) %{_bindir}/%{_target_cpu}-uclibc-size
-%attr(755,root,root) %{_bindir}/%{_target_cpu}-uclibc-strings
-%attr(755,root,root) %{_bindir}/%{_target_cpu}-uclibc-strip
 %{uclibc_root}/usr/lib/*.o
 %dir %{uclibc_root}/usr
-%dir %{uclibc_root}/usr/bin
-%attr(755,root,root) %{uclibc_root}/usr/bin/addr2line
-%attr(755,root,root) %{uclibc_root}/usr/bin/ar
-%attr(755,root,root) %{uclibc_root}/usr/bin/as
-%attr(755,root,root) %{uclibc_root}/usr/bin/c++
-%attr(755,root,root) %{uclibc_root}/usr/bin/cc
-%attr(755,root,root) %{uclibc_root}/usr/bin/cpp
-%attr(755,root,root) %{uclibc_root}/usr/bin/g++
-%attr(755,root,root) %{uclibc_root}/usr/bin/gcc
-%attr(755,root,root) %{uclibc_root}/usr/bin/ld
-%attr(755,root,root) %{uclibc_root}/usr/bin/nm
-%attr(755,root,root) %{uclibc_root}/usr/bin/objcopy
-%attr(755,root,root) %{uclibc_root}/usr/bin/objdump
-%attr(755,root,root) %{uclibc_root}/usr/bin/ranlib
-%attr(755,root,root) %{uclibc_root}/usr/bin/size
-%attr(755,root,root) %{uclibc_root}/usr/bin/strings
-%attr(755,root,root) %{uclibc_root}/usr/bin/strip
 %dir %{uclibc_root}/usr/lib
 %if %{with shared}
 %{uclibc_root}/usr/lib/uclibc_nonshared.a
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/uClibc-ng.git/commitdiff/bba5036b72595903849b56b02dac016e029ee077



More information about the pld-cvs-commit mailing list