added glibc package

This commit is contained in:
Alexander Zhirov 2024-03-18 19:36:14 +03:00
parent 05781db65b
commit 7c751428b7
12 changed files with 10438 additions and 0 deletions

2
ports/g/glibc/.nostrip Normal file
View File

@ -0,0 +1,2 @@
^lib/ld-.*\.so\.[0-9]$
^lib/libpthread.*\.so\.[0-9]$

81
ports/g/glibc/Pkgfile Normal file
View File

@ -0,0 +1,81 @@
# Description: The C library used in the GNU system
# URL: http://www.gnu.org/software/libc/
# Maintainer: Alexander Zhirov
name=glibc
version=2.36
release=6
_kernel_version=6.1.63
source=(
https://ftp.gnu.org/gnu/glibc/glibc-$version.tar.xz
https://www.kernel.org/pub/linux/kernel/v6.x/linux-$_kernel_version.tar.xz
glibc-$version-6.patch
hosts
resolv.conf
nsswitch.conf
host.conf
ld.so.conf
locale-gen
locale.gen.in
)
build() {
# install kernel headers
make -C $SRC/linux-$_kernel_version mrproper
make -C $SRC/linux-$_kernel_version INSTALL_HDR_PATH=$PKG/usr headers_install
chown root:root $PKG/usr
patch -p1 -d $SRC/$name-${version:0:4} -i $SRC/$name-$version-6.patch
mkdir $SRC/build
cd $SRC/build
export libc_cv_slibdir=/lib
$SRC/$name-$version/configure \
--prefix=/usr \
--libdir=/usr/lib \
--libexecdir=/usr/lib \
--with-headers=$PKG/usr/include \
--enable-kernel=4.9 \
--enable-stack-protector=strong \
--enable-bind-now \
--enable-multi-arch \
--disable-profile \
--disable-werror \
--without-gd
make
#make check
make install_root=$PKG install
install -m 0644 $SRC/$name-${version:0:4}/nscd/nscd.conf $PKG/etc
install -d $PKG/var/db/nscd
install -m 0644 $SRC/{hosts,resolv.conf,nsswitch.conf,host.conf,ld.so.conf} $PKG/etc
ln -sf ../usr/share/zoneinfo/UTC $PKG/etc/localtime
install -d $PKG/etc/ld.so.conf.d $PKG/usr/lib/locale
touch $PKG/etc/ld.so.cache
install -Dm755 $SRC/locale-gen $PKG/usr/sbin/locale-gen
install -Dm644 $SRC/locale.gen.in $PKG/etc/locale.gen
sed -e '1,3d' -e 's|/| |g' -e 's|\\| |g' -e 's|^|#|g' \
$SRC/$name-$version/localedata/SUPPORTED >> $PKG/etc/locale.gen
LC_ALL=C ./elf/ld.so --library-path . $PKG/usr/bin/localedef \
--force --quiet \
--inputfile=$SRC/$name-$version/localedata/locales/C \
--charmap=$SRC/$name-$version/localedata/charmaps/UTF-8 \
$PKG/usr/lib/locale/C.UTF-8 || true
rm -r $PKG/usr/share/locale \
$PKG/usr/bin/{tzselect,zdump} \
$PKG/usr/sbin/zic
install -Dm644 $SRC/$name-$version/intl/locale.alias \
$PKG/usr/share/locale/locale.alias
find $PKG -name "*install.cmd" -delete
find $PKG -name ".\install" -delete
}

0
ports/g/glibc/core Normal file
View File

File diff suppressed because it is too large Load Diff

8
ports/g/glibc/host.conf Normal file
View File

@ -0,0 +1,8 @@
#
# /etc/host.conf: resolver configuration file
#
order hosts,bind
multi on
# End of file

17
ports/g/glibc/hosts Normal file
View File

@ -0,0 +1,17 @@
#
# /etc/hosts: static lookup table for host names
#
# IPv4
127.0.0.1 localhost
#<ip-address> <hostname.domain.org> <aliases>
# IPv6
#::1 ip6-localhost ip6-loopback
#fe00::0 ip6-localnet
#ff00::0 ip6-mcastprefix
#ff02::1 ip6-allnodes
#ff02::2 ip6-allrouters
#ff02::3 ip6-allhosts
# End of file

7
ports/g/glibc/ld.so.conf Normal file
View File

@ -0,0 +1,7 @@
#
# /etc/ld.so.conf: dynamic linker configuration file
#
include /etc/ld.so.conf.d/*.conf
# End of file

50
ports/g/glibc/locale-gen Executable file
View File

@ -0,0 +1,50 @@
#!/bin/sh
set -e
LOCALEGEN=/etc/locale.gen
LOCALES=/usr/share/i18n/locales
[ -f "$LOCALEGEN" ] && [ -s "$LOCALEGEN" ] || exit 0;
# remove old locale-archive
[ -f /usr/lib/locale/locale-archive ] && rm -f /usr/lib/locale/locale-archive
umask 022
is_entry_ok() {
if [ -n "$locale" ] && [ -n "$charset" ] ; then
true
else
printf '%s' "error: Bad entry '$locale $charset'"
false
fi
}
printf '%s\n' "Generating locales..."
while read -r locale charset; do \
case "$locale" in
\#*|"") continue;;
esac; \
is_entry_ok || continue
printf '%s' "$(echo "$locale" | sed 's/\([^.\@]*\).*/\1/')"
printf '%s' ".$charset"
printf '%s' "$(echo "$locale" | sed 's/\([^\@]*\)\(\@.*\)*/\2/')"
printf '%s' "..."
if [ -f "$LOCALES/$locale" ]; then
input=$locale
else
input=$(echo "$locale" | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/')
fi
localedef -i "$input" -c -f "$charset" \
-A /usr/share/locale/locale.alias "$locale"
printf '%s\n' "done"
done < $LOCALEGEN
printf '%s\n' "Generation complete."

View File

@ -0,0 +1,22 @@
# list of locales that are to be generated by the locale-gen command.
#
# Each line is of the form:
#
# <locale> <charset>
#
# where <locale> is one of the locales given in /usr/share/i18n/locales
# and <charset> is one of the character sets listed in /usr/share/i18n/charmaps
#
# Examples:
# en_US ISO-8859-1
# en_US.UTF-8 UTF-8
# de_DE ISO-8859-1
# de_DE@euro ISO-8859-15
#
# The locale-gen command will generate all the locales,
# placing them in /usr/lib/locale.
#
# A list of supported locales is included in this file.
# Remove the comment marker "#" off the start of the line
# for the ones you need.
#

View File

@ -0,0 +1,24 @@
#
# /etc/nsswitch.conf: name service switch configuration file
#
passwd: files
group: files
shadow: files
hosts: files dns
networks: files
services: files
protocols: files
rpc: files
publickey: files
ethers: files
netmasks: files
netgroup: files
bootparams: files
automount: files
aliases: files
# End of file

View File

@ -0,0 +1,4 @@
#!/bin/sh
/sbin/telinit U
/usr/sbin/locale-gen

View File

@ -0,0 +1,8 @@
#
# /etc/resolv.conf: resolver configuration file
#
#search <domain.org>
#nameserver <ip-address>
# End of file