base -> main

This commit is contained in:
aliriza committed 2022-11-08 08:46:45 +00:00
1 parent 68acb252d0
commit f5ed7ba741
22 files changed
+11 -10

No files matched your search

+20
View File
@@ -0,0 +1,20 @@
#!/bin/bash
name=base-files
release=1
version=1
url='https://gitlab.com/sulix/devel/sources/base-files'
description='Base system files'
email='parduscix@yandex.ru'
maintainer='sulincix'
license=('GPLv3')
source=("https://gitlab.com/sulix/devel/sources/base-files/-/archive/$version/base-files-$version.zip")
md5sums=('009efca6fc8897379ac844b786bfb585')
arch=(x86_64)
if [[ -d "$name-$version" ]] ; then
cd "$name-$version"
fi
package(){
make install
}
+25
View File
@@ -0,0 +1,25 @@
#!/bin/bash
name=bash
version=5.1
release=1
depends=(readline ncurses)
source=(https://ftp.gnu.org/gnu/$name/$name-$version.tar.gz)
md5sums=(bb91a17fd6c9032c26d0b2b78b50aff5)
cd $name-$version
setup(){
./configure --prefix=/usr \
--libdir=/lib64 \
--bindir=/bin \
--with-curses \
--enable-readline \
--without-bash-malloc
}
build(){
make -j$(nproc)
}
package(){
make DESTDIR=${DESTDIR} install
}
+6
View File
@@ -0,0 +1,6 @@
#!/bin/busybox ash
/bin/busybox mkdir -p /var/lib/ymp/sysconf/busybox/
if /bin/busybox [ ! -f /var/lib/ymp/sysconf/busybox/postinstall.done ] ; then
/bin/busybox --install -s /bin
/bin/busybox date > /var/lib/ymp/sysconf/busybox.postinst.done
fi
+36
View File
@@ -0,0 +1,36 @@
#!/bin/bash
name=busybox
version=1.35.0
release=1
url='https://busybox.net'
description='BusyBox is a software suite that provides several Unix utilities in a single executable file.'
email='parduscix@yandex.ru'
maintainer='sulincix'
license=('GPLv3')
arch=(x86_64)
source=("https://busybox.net/downloads/busybox-$version.tar.bz2"
"busybox.sysconf"
)
md5sums=("585949b1dd4292b604b7d199866e9913"
"SKIP"
)
cd $name-$version
setup(){
make defconfig
sed -i "s|.*CONFIG_STATIC_LIBGCC .*|CONFIG_STATIC_LIBGCC=y|" .config
sed -i "s|.*CONFIG_STATIC .*|CONFIG_STATIC=y|" .config
}
build(){
make -j`nproc`
}
package(){
mkdir -p ${DESTDIR}/bin/ ${DESTDIR}/etc/sysconf.d
install busybox ${DESTDIR}/bin/busybox
install ../busybox.sysconf ${DESTDIR}/etc/sysconf.d/busybox
}
+25
View File
@@ -0,0 +1,25 @@
#!/bin/bash
name=dash
version=0.5.11
release=1
depends=(glibc)
ver=$version+git20210903+057cd650a4ed-8
source=(https://salsa.debian.org/debian/dash/-/archive/debian/$ver/dash-debian-$ver.zip)
md5sums=(fa7d340bd8968e10f8097667cfdd1c18)
cd $name-debian-$ver
setup(){
./autogen.sh
./configure --prefix=/usr \
--libdir=/lib64 \
--bindir=/bin
}
build(){
make -j$(nproc)
}
package(){
make install
ln -s dash ${DESTDIR}/bin/sh
}
+2
View File
@@ -0,0 +1,2 @@
#!/bin/sh
ldconfig
+2
View File
@@ -0,0 +1,2 @@
include ld.so.conf.d/*.conf
/lib/sulix
+145
View File
@@ -0,0 +1,145 @@
From e47de5cb2d4dbecb58f569ed241e8e95c568f03c Mon Sep 17 00:00:00 2001
From: Florian Weimer <fweimer@redhat.com>
Date: Fri, 29 Apr 2022 16:37:51 +0200
Subject: [PATCH] Do not use --hash-style=both for building glibc shared
objects
The comment indicates that --hash-style=both was used to maintain
compatibility with static dlopen, but we had many internal ABI
changes since then, so this compatiblity does not add value anymore.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
---
Makeconfig | 9 +++++++++
Makerules | 7 +++++++
config.make.in | 1 +
configure | 28 ++++++++++++++++++++++++++++
configure.ac | 16 ++++++++++++++++
5 files changed, 61 insertions(+)
diff --git b/Makeconfig a/Makeconfig
index 760f14e92f..0aa5fb0099 100644
--- b/Makeconfig
+++ a/Makeconfig
@@ -362,6 +362,15 @@ relro-LDFLAGS = -Wl,-z,relro
LDFLAGS.so += $(relro-LDFLAGS)
LDFLAGS-rtld += $(relro-LDFLAGS)
+ifeq (yes,$(have-hash-style))
+# For the time being we unconditionally use 'both'. At some time we
+# should declare statically linked code as 'out of luck' and compile
+# with --hash-style=gnu only.
+hashstyle-LDFLAGS = -Wl,--hash-style=both
+LDFLAGS.so += $(hashstyle-LDFLAGS)
+LDFLAGS-rtld += $(hashstyle-LDFLAGS)
+endif
+
ifeq (no,$(build-pie-default))
pie-default = $(no-pie-ccflag)
else # build-pie-default
diff --git b/Makerules a/Makerules
index 354528b8c7..428464f092 100644
--- b/Makerules
+++ a/Makerules
@@ -557,6 +557,13 @@ $(common-objpfx)shlib.lds: $(common-objpfx)config.make $(..)Makerules
-Wl,--verbose 2>/dev/null | \
sed > $@T \
-e '/^=========/,/^=========/!d;/^=========/d' \
+ $(if $(filter yes,$(have-hash-style)), \
+ -e 's/^.*\.gnu\.hash[ ]*:.*$$/ .note.ABI-tag : { *(.note.ABI-tag) } &/' \
+ -e '/^[ ]*\.hash[ ]*:.*$$/{h;d;}' \
+ -e '/DATA_SEGMENT_ALIGN/{H;g}' \
+ , \
+ -e 's/^.*\.hash[ ]*:.*$$/ .note.ABI-tag : { *(.note.ABI-tag) } &/' \
+ ) \
-e 's/^.*\*(\.dynbss).*$$/& \
PROVIDE(__start___libc_freeres_ptrs = .); \
*(__libc_freeres_ptrs) \
diff --git b/config.make.in a/config.make.in
index fff4c78dd0..bf728c71c0 100644
--- b/config.make.in
+++ a/config.make.in
@@ -70,6 +70,7 @@ have-libcap = @have_libcap@
have-cc-with-libunwind = @libc_cv_cc_with_libunwind@
fno-unit-at-a-time = @fno_unit_at_a_time@
bind-now = @bindnow@
+have-hash-style = @libc_cv_hashstyle@
use-default-link = @use_default_link@
have-cxx-thread_local = @libc_cv_cxx_thread_local@
have-loop-to-function = @libc_cv_cc_loop_to_function@
diff --git b/configure a/configure
index 716dc041b6..5a730dc5fc 100755
--- b/configure
+++ a/configure
@@ -622,6 +622,7 @@ libc_cv_cc_nofma
libc_cv_mtls_dialect_gnu2
fno_unit_at_a_time
libc_cv_has_glob_dat
+libc_cv_hashstyle
libc_cv_fpie
libc_cv_z_execstack
ASFLAGS_config
@@ -6193,6 +6194,33 @@ $as_echo "$libc_cv_fpie" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --hash-style option" >&5
+$as_echo_n "checking for --hash-style option... " >&6; }
+if ${libc_cv_hashstyle+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat > conftest.c <<EOF
+int _start (void) { return 42; }
+EOF
+if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp
+ -fPIC -shared -o conftest.so conftest.c
+ -Wl,--hash-style=both -nostdlib 1>&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }
+then
+ libc_cv_hashstyle=yes
+else
+ libc_cv_hashstyle=no
+fi
+rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_hashstyle" >&5
+$as_echo "$libc_cv_hashstyle" >&6; }
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLOB_DAT reloc" >&5
$as_echo_n "checking for GLOB_DAT reloc... " >&6; }
if ${libc_cv_has_glob_dat+:} false; then :
diff --git b/configure.ac a/configure.ac
index d08ad4d64e..a045f6608e 100644
--- b/configure.ac
+++ a/configure.ac
@@ -1360,6 +1360,22 @@ LIBC_TRY_CC_OPTION([-fpie], [libc_cv_fpie=yes], [libc_cv_fpie=no])
AC_SUBST(libc_cv_fpie)
+AC_CACHE_CHECK(for --hash-style option,
+ libc_cv_hashstyle, [dnl
+cat > conftest.c <<EOF
+int _start (void) { return 42; }
+EOF
+if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp
+ -fPIC -shared -o conftest.so conftest.c
+ -Wl,--hash-style=both -nostdlib 1>&AS_MESSAGE_LOG_FD])
+then
+ libc_cv_hashstyle=yes
+else
+ libc_cv_hashstyle=no
+fi
+rm -f conftest*])
+AC_SUBST(libc_cv_hashstyle)
+
AC_CACHE_CHECK(for GLOB_DAT reloc,
libc_cv_has_glob_dat, [dnl
cat > conftest.c <<EOF
--
2.37.1
+4
View File
@@ -0,0 +1,4 @@
/usr/lib
/usr/local/lib
/usr/local/lib64
/usr/lib64
+4
View File
@@ -0,0 +1,4 @@
# Multiarch support
/usr/local/lib/x86_64-linux-gnu
/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu
+101
View File
@@ -0,0 +1,101 @@
#!/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')
arch=(x86_64)
source=('https://ftp.gnu.org/gnu/glibc/glibc-2.36.tar.xz'
'ld.so.conf'
'usr-support.conf'
'x86_64-linux-gnu.conf'
'glibc.sysconf'
'reenable_DT_HASH.patch'
)
md5sums=('00e9b89e043340f688bc93ec03239b57'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
)
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"
cd "$name-$version"
setup(){
# Thx archlinux
patch -Np1 -i "../reenable_DT_HASH.patch"
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
export CC="gcc -m32"
export CXX="g++ -m32"
mkdir glibc32-build
cd glibc32-build
../configure ${opts[@]} \
--host=i686-pc-linux-gnu \
--libdir=/lib32 \
--libexecdir=/lib32/glibc
cd ..
fi
export CC="gcc"
export CXX="g++"
mkdir glibc-build
cd glibc-build
pwd
../configure ${opts[@]} \
--libdir=/lib \
--libexecdir=/lib/glibc
cd ..
}
build(){
for bdir in glibc-build ${multilib:+glibc32-build} ; do
if [[ -d $bdir ]] ; then
make -C $bdir -O -j`nproc --all`
make -C $bdir info
fi
done
}
package(){
# create symlink lib64 (gentoo compability)
mkdir -p ${DESTDIR}/lib64
ln -s lib64 ${DESTDIR}/lib
if use multilib ; then
mkdir -p ${DESTDIR}/lib32
ln -s lib32 ${DESTDIR}/libx32
fi
for bdir in glibc-build ${multilib:+glibc32-build} ; do
if [[ -d $bdir ]] ; then
make -C $bdir install -j$(nproc --all)
fi
done
mkdir -p ${DESTDIR}/etc/ld.so.conf.d/ ${DESTDIR}/etc/sysconf.d/
install ../ld.so.conf ${DESTDIR}/etc/ld.so.conf
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
# install sysconf trigger
install ../glibc.sysconf ${DESTDIR}/etc/sysconf.d/glibc
}
+25
View File
@@ -0,0 +1,25 @@
#!/bin/bash
name=libffi
release=1
version=3.4.4
url='https://gitlab.com/sulinos/devel/ymp'
description='A portable foreign-function interface library. '
email='parduscix@yandex.ru'
maintainer='sulincix'
license=('GPLv3')
source=('https://github.com/libffi/libffi/releases/download/v3.4.4/libffi-3.4.4.tar.gz')
md5sums=('0da1a5ed7786ac12dcbaf0d499d8a049') # replace this
arch=(x86_64)
cd "$name-$version"
setup(){
./configure --prefix=/usr \
--libdir=/lib64
}
build(){
make -j`nproc`
}
package(){
make -j`nproc` install
}
+25
View File
@@ -0,0 +1,25 @@
#!/bin/bash
name=libtasn
release=1
version=4.19.0
url='https://gitlab.com/sulinos/devel/ymp'
description='Manage ASN.1 structures'
email='parduscix@yandex.ru'
maintainer='sulincix'
license=('GPLv3')
source=('https://ftp.gnu.org/gnu/libtasn1/libtasn1-4.19.0.tar.gz')
md5sums=('f701ab57eb8e7d9c105b2cd5d809b29a') # replace this
arch=(x86_64)
cd "libtasn1-$version"
setup(){
./configure --prefix=/usr \
--libdir=/lib64
}
build(){
make -j`nproc`
}
package(){
make -j`nproc` install
}
+4
View File
@@ -0,0 +1,4 @@
#!/bin/sh
mkdir -p /etc/ssl/local
mkdir -p /etc/ssl/certs
/usr/sbin/make-ca -g
+25
View File
@@ -0,0 +1,25 @@
#!/bin/bash
name=make-ca
release=1
version=1.10
url='https://github.com/lfs-book/make-ca'
description='Ssl certificates'
email='aliriza.keskin@pardus.org.tr'
maintainer='aliriza'
license=('GPLv3')
source=(https://github.com/lfs-book/make-ca/releases/download/v1.10/make-ca-1.10.tar.xz
make-ca.sysconf)
md5sums=('74f1ad16d7a086ac76e0424fd4dfe67b'
'SKIP')
arch=(x86_64)
cd "$name-$version"
build(){
make
}
package(){
make install
mkdir -p "$DESTDIR"/etc/sysconf.d
install ../make-ca.sysconf "$DESTDIR"/etc/sysconf.d/
}
+69
View File
@@ -0,0 +1,69 @@
#!/bin/bash
name=ncurses
version=6.3
release=1
source=(https://invisible-mirror.net/archives/$name/$name-$version.tar.gz)
md5sums=(a2736befde5fee7d2b7eb45eb281cdbe)
depends=(glibc)
so_ver=6
cd $name-$version
setup(){
cp -prf ../$name-$version ../widec
opts=(--prefix=/usr
--libdir=/lib64/ncurses
--without-ada
--without-tests
--disable-termcap
--disable-rpath-hack
--disable-stripping
--with-pkg-config-libdir=/usr/lib64/pkgconfig
--without-cxx-binding
--with-termlib
--with-terminfo-dirs="/etc/terminfo:/usr/share/terminfo:/lib/terminfo:/usr/lib/terminfo"
--enable-pc-files
--with-shared)
./configure ${opts[@]}
cd ../widec
./configure ${opts[@]} --enable-widec
}
build(){
cd ../widec
make -j$(nproc)
cd ../$name-$version
make -j$(nproc)
}
package(){
mkdir -p "$DESTDIR/lib64/ncurses/" "$DESTDIR/usr/lib64/pkgconfig/"
for lib in ncurses ncurses++ form panel menu; do
printf "INPUT(-l%sw)\n" "${lib}" > "$DESTDIR/lib64/ncurses/lib${lib}.so"
ln -sv ${lib}w.pc "$DESTDIR/usr/lib64/pkgconfig/${lib}.pc"
done
# some packages look for -lcurses during build
printf 'INPUT(-lncursesw)\n' > "$DESTDIR/lib64/ncurses/libcursesw.so"
ln -sv libncurses.so "$DESTDIR/lib64/ncurses/libcurses.so"
# tic and ticinfo functionality is built in by default
# make sure that anything linking against it links against libncursesw.so instead
for lib in tic tinfo; do
printf "INPUT(libncursesw.so.%s)\n" "${so_ver}" > "$DESTDIR/lib64/ncurses/lib${lib}.so"
if ! ls $DESTDIR/lib64/ncurses/lib${lib}.so.${so_ver} ; then
ln -sv libncursesw.so.${so_ver} "$DESTDIR/lib64/ncurses/lib${lib}.so.${so_ver}"
ln -sv ncursesw.pc "$DESTDIR/usr/lib64/pkgconfig/${lib}.pc"
fi
done
# legacy binary support
for lib in libncursesw libncurses libtinfo libpanelw libformw libmenuw ; do
ln -sv ${lib}.${so_ver} "$DESTDIR"/lib64/ncurses/${lib}.so.5
done
cd ../widec
make -j$(nproc) install
cd ../$name-$version
make -j$(nproc) install
mkdir -p ${DESTDIR}/etc/ld.so.conf.d/
echo "/lib64/ncurses/" > ${DESTDIR}/etc/ld.so.conf.d/ncurses.conf
}
+42
View File
@@ -0,0 +1,42 @@
# do not bell on tab-completion
#set bell-style none
set colored-stats On
set completion-ignore-case On
set completion-prefix-display-length 3
set mark-symlinked-directories On
set show-all-if-ambiguous On
set show-all-if-unmodified On
set visible-stats On
set colored-completion-prefix on
set mark-modified-lines on
set menu-complete-display-prefix on
$if mode=emacs
# for linux console and RH/Debian xterm
"\e[1~": beginning-of-line
"\e[4~": end-of-line
"\e[5~": beginning-of-history
"\e[6~": end-of-history
"\e[7~": beginning-of-line
"\e[3~": delete-char
"\e[2~": quoted-insert
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word
"\e[1;5C": forward-word
"\e[1;5D": backward-word
# for rxvt
"\e[8~": end-of-line
# for non RH/Debian xterm, can't hurt for RH/DEbian xterm
"\eOH": beginning-of-line
"\eOF": end-of-line
# for freebsd console
"\e[H": beginning-of-line
"\e[F": end-of-line
$endif
+29
View File
@@ -0,0 +1,29 @@
#!/bin/bash
name=readline
version=8.1
release=1
source=(https://ftp.gnu.org/pub/gnu/$name/$name-$version.tar.gz
inputrc
)
md5sums=(e9557dd5b1409f5d7b37ef717c64518e
SKIP
)
depends=(glibc)
cd $name-$version
setup(){
./configure --prefix=/usr \
--libdir=/lib64/readline
}
build(){
make SHLIB_LIBS="-L/tools/lib -lncursesw"
}
package(){
make SHLIB_LIBS="-L/tools/lib -lncursesw" DESTDIR="$DESTDIR" install pkgconfigdir="/usr/lib64/pkgconfig"
install -Dm644 ../inputrc "$DESTDIR"/etc/inputrc
mkdir -p ${DESTDIR}/etc/ld.so.conf.d/
echo "/lib64/readline/" > ${DESTDIR}/etc/ld.so.conf.d/readline.conf
}
+33
View File
@@ -0,0 +1,33 @@
#!/bin/bash
name=zlib
release=1
version=1.2.13
url='https://zlib.net'
description='A compression/decompression library'
email='parduscix@yandex.ru'
maintainer='sulincix'
license=('zlib')
source=("https://zlib.net/zlib-$version.tar.gz")
md5sums=('9b8aa094c4e5765dabf4da391f00d15c')
arch=(x86_64)
cd $name-$version
setup(){
./configure --prefix=/usr --libdir=/lib64/zlib --shared
cd contrib/minizip
autoreconf -fvi
./configure --prefix=/usr --libdir=/lib64/zlib
}
build(){
make -j$(nproc)
cd contrib/minizip
make -j$(nproc)
}
package(){
make install pkgconfigdir="/usr/lib64/pkgconfig"
cd contrib/minizip
make install pkgconfigdir="/usr/lib64/pkgconfig"
mkdir -p ${DESTDIR}/etc/ld.so.conf.d/
echo "/lib64/zlib/" > ${DESTDIR}/etc/ld.so.conf.d/zlib.conf
}