📄 uclibc.spec
字号:
%define pfx /opt/freescale/rootfs/%{_target_cpu}%define pkg_name uClibc%define linux_libc_headers linux-libc-headers-2.6.12.0%define linux_kernel_headers linux-2.6.20Summary : uClibc - a Small C Library for LinuxName : uclibcVersion : r18301Release : 1License : LGPLVendor : FreescalePackager : Stuart Hughes/Steve PapacharalambousGroup : System Environment/LibrariesSource : %{pkg_name}-%{version}.tar.bz2Source1 : %{linux_libc_headers}.tar.bz2Source2 : %{linux_kernel_headers}.tar.bz2Patch0 : uclibc-getopt_h-groff.patchPatch1 : uclibc-rcmd_c-inetutils.patchBuildRoot : %{_tmppath}/%{name}Prefix : %{pfx}%Description%{summary}See: http://www.uclibc.org/%Prep%setup -n %{pkg_name}%patch0 -p1%patch1 -p1%Buildif [ ! -e linux/include/asm ] then if grep -q 'CONFIG_PPC_MERGE=y' $PLATFORM_PATH/$PKG_KERNEL_PRECONFIG then LINTARCH=powerpc fi if [ "$LINTARCH" = "ppc" ] then tar jxvf %{SOURCE1} mv %{linux_libc_headers} linux ln -s asm-$LINTARCH linux/include/asm else tar jxvf %{SOURCE2} cd %{linux_kernel_headers} cp $PLATFORM_PATH/$PKG_KERNEL_PRECONFIG .config || exit 1 yes "" | make ARCH=${LINTARCH} CROSS_COMPILE= HOSTCC="$BUILDCC" oldconfig make ARCH=${LINTARCH} CROSS_COMPILE= HOSTCC="$BUILDCC" INSTALL_HDR_PATH=$RPM_BUILD_DIR/%{pkg_name}/linux headers_install cd - fifitest -L include/asm || \ ln -fs $RPM_BUILD_DIR/%{pkg_name}/linux/include/asm include/asmtest -L include/asm-generic || \ ln -fs $RPM_BUILD_DIR/%{pkg_name}/linux/include/asm-generic include/asm-generictest -L include/linux || \ ln -fs $RPM_BUILD_DIR/%{pkg_name}/linux/include/linux include/linuxPKG_UCLIBC_PRECONFIG=${PKG_UCLIBC_PRECONFIG:-uclibc.config}if [ -f "$PLATFORM_PATH/$PKG_UCLIBC_PRECONFIG" ]then cp $PLATFORM_PATH/$PKG_UCLIBC_PRECONFIG .configelse echo "Your platform has no uclibc.config in $PLATFORM_PATH, menuconfig forced" PKG_LIBC_WANT_CF=1fi# force to use our kernel headerscat <<TXT >> .configKERNEL_HEADERS="\$(CURDIR)/include"UCLIBC_SUSV3_LEGACY_MACROS=yUCLIBC_SUSV3_LEGACY=yUCLIBC_HAS_GNU_GLOB=yPTHREADS_DEBUG_SUPPORT=yTXT# fix up namespace compatibility changesperl -pi -e ' s,^(# )*HAS_FPU,\1UCLIBC_HAS_FPU,; s,ARCH_HAS_NO_MMU=y,# ARCH_HAS_MMU is not set,; ' .configif [ -n "$PKG_LIBC_WANT_CF" -o -n "$SCB_WANT_CF" ]then make menuconfig HOSTCC="$BUILDCC" cp .config $PLATFORM_PATH/$PKG_UCLIBC_PRECONFIGelse yes "" | make CROSS=${TOOLCHAIN_PREFIX} HOSTCC="$BUILDCC" oldconfigfimake CROSS=${TOOLCHAIN_PREFIX} HOSTCC="$BUILDCC"%Installrm -rf $RPM_BUILD_ROOTmake PREFIX=$RPM_BUILD_ROOT/%{pfx} install# Install sanitized kernel headers.mkdir -p $RPM_BUILD_ROOT/%{pfx}/usr/srccp -a $RPM_BUILD_DIR/%{pkg_name}/linux $RPM_BUILD_ROOT/%{pfx}/usr/src# Fix up library paths in libc.soif [ -f $RPM_BUILD_ROOT/%{pfx}/usr/lib/libc.so ]then cd $RPM_BUILD_ROOT/%{pfx}/usr/lib perl -i.orig -p -e 's,/lib/libc.so.0,../../lib/libc.so.0,; s,/usr/lib/uclibc_nonshared.a,./uclibc_nonshared.a,' libc.so cd -fi%Cleanrm -rf $RPM_BUILD_ROOT%Files%defattr(-,root,root)%{pfx}/*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -