From 6020a48c68208bd3c788e07b1fc5c9b4b39bc43f Mon Sep 17 00:00:00 2001 From: sulincix Date: Sat, 8 Oct 2022 12:24:31 +0000 Subject: [PATCH] glibc --- .gitignore | 2 + glibc/usr-support.conf | 4 ++ glibc/x86_64-linux-gnu.conf | 4 ++ glibc/ympbuild | 91 +++++++++++++++++++++++++++++++++++++ update.sh | 10 ++++ 5 files changed, 111 insertions(+) create mode 100644 .gitignore create mode 100644 glibc/usr-support.conf create mode 100644 glibc/x86_64-linux-gnu.conf create mode 100644 glibc/ympbuild create mode 100644 update.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..19872fc2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*.ymp +output diff --git a/glibc/usr-support.conf b/glibc/usr-support.conf new file mode 100644 index 00000000..0e693877 --- /dev/null +++ b/glibc/usr-support.conf @@ -0,0 +1,4 @@ +/usr/lib +/usr/local/lib +/usr/local/lib64 +/usr/lib64 diff --git a/glibc/x86_64-linux-gnu.conf b/glibc/x86_64-linux-gnu.conf new file mode 100644 index 00000000..9948896b --- /dev/null +++ b/glibc/x86_64-linux-gnu.conf @@ -0,0 +1,4 @@ +# Multiarch support +/usr/local/lib/x86_64-linux-gnu +/lib/x86_64-linux-gnu +/usr/lib/x86_64-linux-gnu \ No newline at end of file diff --git a/glibc/ympbuild b/glibc/ympbuild new file mode 100644 index 00000000..5eaae984 --- /dev/null +++ b/glibc/ympbuild @@ -0,0 +1,91 @@ +#!/bin/bash +name=glibc +release=1 +version=2.36 +url='https://gitlab.com/sulinos/devel/ymp' +description='GNU libc library' +email='parduscix@yandex.ru' +maintainer='sulincix' +license=('GPLv3') +source=('https://ftp.gnu.org/gnu/glibc/glibc-2.36.tar.xz' + 'usr-support.conf' + 'x86_64-linux-gnu.conf' +) +md5sums=('00e9b89e043340f688bc93ec03239b57' + 'SKIP' + 'SKIP' +) +arch=(x86_64) + +export CFLAGS="-O3 ${debug:+-g} -s -mno-tls-direct-seg-refs -mtune=generic -DSULIX" +export CXXFLAGS="-O3 ${debug:+-g} -s -mno-tls-direct-seg-refs -mtune=generic -DSULIX" +export CC=gcc +export CXX=g++ + + +cd "$name-$version" +setup(){ + opts=( + --prefix=/ + --mandir=/share/man + --infodir=/share/info + --with-bugurl=http://gitlab.com/sulix/main/issues + --enable-add-ons + --enable-bind-now + --enable-lock-elision + --enable-multi-arch + --enable-static-pie + --enable-stack-protector=all + --enable-kernel=5.10.0 + --enable-stackguard-randomization + --without-selinux + --disable-werror + + ) + if use multilib ; then + mkdir glibc32-build + cd glibc32-build + ../configure ${opts[@]} \ + --host=i686-pc-linux-gnu \ + --libdir=/lib32 \ + --libexecdir=/lib32/glibc + cd .. + fi + mkdir glibc-build + cd glibc-build + pwd + ../configure ${opts[@]} \ + --libdir=/lib \ + --libexecdir=/lib/glibc + cd .. +} +build(){ + for bdir in glibc32-build glibc-build ; do + if [[ -d $bdir ]] ; then + cd $bdir + make -O -j$(nproc --all) + make info + cd .. + fi + done +} +package(){ + # create symlink lib64 (gentoo compability) + mkdir -p ${DESTDIR}/lib64 + ln -s lib64 ${DESTDIR}/lib + ln -s lib32 ${DESTDIR}/libx32 + for bdir in glibc32-build glibc-build ; do + if [[ -d $bdir ]] ; then + # install files + cd $bdir + make install -j$(nproc --all) + # /usr support + fi + done + mkdir -p ${DESTDIR}/etc/ld.so.conf.d/ + install ../../usr-support.conf ${DESTDIR}/etc/ld.so.conf.d/ + install ../../x86_64-linux-gnu.conf ${DESTDIR}/etc/ld.so.conf.d/ + # remove ld.so.cache file (this file must generated by ldconfig command from inary) + rm -f ${DESTDIR}/etc/ld.so.cache + +} diff --git a/update.sh b/update.sh new file mode 100644 index 00000000..fcd570b9 --- /dev/null +++ b/update.sh @@ -0,0 +1,10 @@ +#!/bin/bash +find -type f | grep ympbuild | while read line ; do + ymp build $(dirname $line) --verbose --no-binary --ignore-dependency --allow-oem +done +[[ -d output ]] && rm -rf output +mkdir -p output +find -type f | grep "source.ymp$" | while read line ; do + mv $line output +done +ymp index output --allow-oem