Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37562527
en ru br
Репозитории ALT
S:2.0.13-alt1
5.1: 1.5.15-alt1
4.1: 1.5-alt1
4.0: 1.5-alt1
www.altlinux.org/Changes

Группа :: Система/Библиотеки
Пакет: klibc

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Name: klibc
Version: 1.5
Release: alt1

Summary: A minimal libc subset for use with initramfs
License: BSD/GPL
Group: System/Libraries
URL: http://www.zytor.com/mailman/listinfo/klibc
Packager: Sergey Vlasov <vsu at altlinux.ru>

# http://www.kernel.org/pub/linux/libs/klibc-%version.tar.gz

Source0: %name-%version.tar

Patch0: %name-%version-%release.patch

# due to %%base_arch

BuildPreReq: kernel-build-tools

BuildPreReq: kernel-headers-std >= 2.6.18

%define klibcdir  %_libdir/klibc
%define libdocdir %_docdir/%name-%version-%release
%define bindocdir %_docdir/%name-utils-%version-%release

# Use special scripts to find dependencies on klibc-*.so (default RPM scripts

# do not pick up these dependencies).
%global __find_provides %_builddir/%name-%version/klibc-find-provides %__find_provides
%global __find_requires %_builddir/%name-%version/klibc-find-requires %__find_requires

%description
%name is intended to be a minimalistic libc subset for use with
initramfs.  It is deliberately written for small size, minimal
entanglement, and portability, not speed.

%package devel
Summary: Libraries and tools needed to compile applications against klibc
Group: Development/C
Requires: %name = %version-%release

%description devel
This package contains the link libraries, header files, and gcc
wrapper scripts needed to compile applications against klibc.

%package utils
Summary: Small utilities built with klibc
Group: System/Kernel and hardware
Requires: %name = %version-%release

%description utils
This package contains a collection of programs that are linked against
klibc.  These duplicate some of the functionality of a regular Linux
toolset, but are typically much smaller than their full-function
counterparts.  They are intended for inclusion in initramfs images and
embedded systems.

%package utils-initramfs
Summary: Utilities for initramfs images generated by mkinitrd
Group: System/Kernel and hardware
Requires: %name = %version-%release
PreReq: mkinitrd-initramfs

%description utils-initramfs
This package contains utilities for use in initramfs images
generated by mkinitrd.

%prep
%setup
%patch0 -p1

chmod 755 klibc-find-provides klibc-find-requires

# Assume that adjust_kernel_headers --first has been run.

mkdir -p linux/include
ln -s "$(readlink -ev /usr/include/linux/../..)"/include/* linux/include/

# Convert i386 headers to the form expected by klibc ("make headers_install"

# from kernel puts asm-$ARCH headers directly in asm/ instead of creating
# a symlink, but klibc expects asm-$ARCH like in the kernel sources).
[ -L linux/include/asm-%base_arch ] || {
mv linux/include/asm linux/include/asm-%base_arch
ln -s asm-%base_arch linux/include/asm
}

%build
%make_build \
KLIBCARCH=%base_arch prefix=%prefix bindir=%_bindir \
SHLIBDIR=/%_lib \
INSTALLDIR=%klibcdir mandir=%_mandir INSTALLROOT=%buildroot

%install
%make_install KLIBCARCH=%base_arch prefix=%prefix bindir=%_bindir \
SHLIBDIR=/%_lib \
INSTALLDIR=%klibcdir mandir=%_mandir INSTALLROOT=%buildroot \
install

install -p klibc-find-requires %buildroot%klibcdir/

# Install the docs

mkdir -p %buildroot%bindocdir %buildroot%libdocdir
install -m 444 README %buildroot%libdocdir
install -m 444 usr/klibc/README %buildroot%libdocdir/README.klibc
install -m 444 usr/klibc/arch/README %buildroot%libdocdir/README.klibc.arch

install -m 444 usr/gzip/COPYING %buildroot%bindocdir/COPYING.gzip
install -m 444 usr/gzip/README %buildroot%bindocdir/README.gzip
install -m 444 usr/kinit/ipconfig/README %buildroot%bindocdir/README.ipconfig
install -m 444 usr/kinit/README %buildroot%bindocdir/README.kinit

# This file must have normal symbols - they are used for linking

# (klibc does not use the dynamic symbol table).
%add_strip_skiplist %klibcdir/lib/libc.so

# Install mkinitrd-klibc files

klibc_soname=`cd %buildroot/%_lib && ls -1 klibc-*.so`
mkdir -p %buildroot/lib/mkinitrd/klibc/{bin,sbin,%_lib}
ln -s /%_lib/"$klibc_soname" \
%buildroot/lib/mkinitrd/klibc/%_lib/"$klibc_soname"
install -p usr/dash/sh.shared %buildroot/lib/mkinitrd/klibc/bin/sh
install -p usr/utils/shared/{cat,false,kill,ln,mkdir,mknod,mount,nuke,readlink,sleep,true,umount} \
%buildroot/lib/mkinitrd/klibc/bin/
install -p usr/utils/shared/{halt,insmod} \
%buildroot/lib/mkinitrd/klibc/sbin/
ln %buildroot/lib/mkinitrd/klibc/sbin/halt \
%buildroot/lib/mkinitrd/klibc/sbin/poweroff
ln %buildroot/lib/mkinitrd/klibc/sbin/halt \
%buildroot/lib/mkinitrd/klibc/sbin/reboot
for prog in fstype ipconfig md_run nfsmount resume run-init; do
install -p usr/kinit/$prog/shared/$prog \
%buildroot/lib/mkinitrd/klibc/bin/
done

%files
/%_lib/klibc-*.so

%files devel
%dir %klibcdir
%klibcdir/include
%klibcdir/lib
%klibcdir/klibc-find-requires
%_bindir/klcc
%_man1dir/*
%doc %libdocdir

%files utils
%dir %klibcdir
%klibcdir/bin
%doc %bindocdir

%files utils-initramfs
/lib/mkinitrd/klibc

%changelog

Полный changelog можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin