Fixes, many fixes

This commit is contained in:
aheirman 2021-02-12 17:20:35 +01:00
parent 68fe2959b7
commit fe6963e1bd
5 changed files with 27 additions and 39 deletions

2
.gitignore vendored
View file

@ -3,5 +3,5 @@ build/
docker_move_tar_load docker_move_tar_load
docker_delete_abyss docker_delete_abyss
token token
builds

View file

@ -27,3 +27,4 @@ sudo umount root/proc/
sudo umount root/sys/ sudo umount root/sys/
sudo mount --make-rprivate root/dev/ sudo mount --make-rprivate root/dev/
sudo umount -l root/dev/ sudo umount -l root/dev/

View file

@ -2,6 +2,8 @@
if [ "$#" -ne 1 ]; then if [ "$#" -ne 1 ]; then
echo "You must enter exactly the container id of the docker in which the compilation took place. (the client not the volunteers)" echo "You must enter exactly the container id of the docker in which the compilation took place. (the client not the volunteers)"
echo "This can be false, then the builds fodler will be used."
echo "The builds folder is a folder where llvm, musl, musl-dev, bmake can reside which will can be used instead of the automatic docker cp mechanism."
exit -1 exit -1
fi fi
@ -38,6 +40,8 @@ docker cp $1:/iglunix/pkgs/musl/out/musl-dev.1.2.2.tar.xz ./root/musl-dev.tar.x
docker cp $1:/iglunix/pkgs/musl/out/musl.1.2.2.tar.xz ./root/musl.tar.xz docker cp $1:/iglunix/pkgs/musl/out/musl.1.2.2.tar.xz ./root/musl.tar.xz
docker cp $1:/iglunix/pkgs/bmake/out/bmake.20210110.tar.xz ./root/bmake.tar.xz docker cp $1:/iglunix/pkgs/bmake/out/bmake.20210110.tar.xz ./root/bmake.tar.xz
cp ./builds/* ./root/
cd ./root cd ./root
ROOT=$(pwd) ROOT=$(pwd)
@ -47,10 +51,12 @@ tar -xf llvm.tar.xz -C ./
tar -xf bmake.tar.xz -C ./ tar -xf bmake.tar.xz -C ./
#--- #---
rm ./busybox-x86_64
wget -nc -q https://busybox.net/downloads/binaries/1.31.0-defconfig-multiarch-musl/busybox-x86_64 wget -nc -q https://busybox.net/downloads/binaries/1.31.0-defconfig-multiarch-musl/busybox-x86_64
chmod +x ./busybox-x86_64 chmod +x ./busybox-x86_64
mv busybox-x86_64 ./bin/busybox mv busybox-x86_64 ./bin/busybox
rm ./toybox-x86_64
wget -nc -q http://landley.net/toybox/bin/toybox-x86_64 wget -nc -q http://landley.net/toybox/bin/toybox-x86_64
chmod +x ./toybox-x86_64 chmod +x ./toybox-x86_64
mv toybox-x86_64 ./bin/toybox mv toybox-x86_64 ./bin/toybox

View file

@ -9,8 +9,8 @@ compile_packages (){
echo "Going to build: $pkg" echo "Going to build: $pkg"
cd /iglunix/pkgs/${pkg}/ cd /iglunix/pkgs/${pkg}/
../../iglupkg.sh ../../iglupkg.sh || exit 1
tar -xf out/${pkg}.*.tar.xz -C / tar -xf out/${pkg}.*.tar.xz -C / || exit 1
tar -xf out/${pkg}-dev.*.tar.xz -C / 2> /dev/null tar -xf out/${pkg}-dev.*.tar.xz -C / 2> /dev/null
tar -xf out/${pkg}-doc.*.tar.xz -C / 2> /dev/null tar -xf out/${pkg}-doc.*.tar.xz -C / 2> /dev/null
done done
@ -43,8 +43,6 @@ echo "root:x:0:root" > /etc/group
#--------- #---------
# Stage 1 # Stage 1
#--------- #---------
#Apply the only headers patch for linux, we can't build it yet...
patch /iglunix/pkgs/linux/build.sh /linux_header_only_patch
#Stub lex #Stub lex
printf "#!/bin/sh\necho lex go brr\n" > /usr/bin/lex printf "#!/bin/sh\necho lex go brr\n" > /usr/bin/lex
chmod +x /usr/bin/lex chmod +x /usr/bin/lex
@ -63,7 +61,7 @@ compile_packages
#Samurai #Samurai|| exit 1
cd /iglunix/pkgs/samurai cd /iglunix/pkgs/samurai
cd src/samurai-*/ cd src/samurai-*/
clang *.c -o samu clang *.c -o samu
@ -74,42 +72,42 @@ cd /iglunix/pkgs/samurai
rm /usr/bin/samu rm /usr/bin/samu
tar -xf out/samurai.*.tar.xz -C / tar -xf out/samurai.*.tar.xz -C /
packages="rsync linux"
compile_packages
#---------
# Stage 3
#---------
# Libre ssl, a slight problem # Libre ssl, a slight problem
# lible ssl needs cmake, but cmake needs libre ssl. :( # lible ssl needs cmake, but cmake needs libre ssl. :(
# and rsync needs cmake
cd /iglunix/pkgs/libressl cd /iglunix/pkgs/libressl
cd src/libressl-*/ cd src/libressl-*/
./configure --prefix=/usr && make -j12 && make install ./configure --prefix=/usr && make -j12 && make install
cd ../..
packages="rsync"
compile_packages
# Build the headers of linux.
# No other solutions don't work well/at all.
cd /iglunix/pkgs/linux
cd src/linux-*/
gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ LEX=lex YACC=yacc LLVM_IAS=1
gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ YACC=yacc LLVM_IAS=1 INSTALL_HDR_PATH=/usr headers_install
cd /iglunix/pkgs/cmake cd /iglunix/pkgs/cmake
cd src/cmake-*/ cd src/cmake-*/
./bootstrap \ ./bootstrap \
--prefix=/usr \ --prefix=/usr \
--mandir=/usr/share/man \ --mandir=/usr/share/man \
--datadir=/usr/share/$pkgname \ --datadir=/usr/share/cmake \
--docdir=/usr/share/doc/$pkgname \ --docdir=/usr/share/doc/cmake \
--generator=Ninja \ --generator=Ninja \
--no-system-libs --no-system-libs
cd ../.. cd ../..
#NOTE: we recompile mksh, because now we have curl and it can download the man page! #NOTE: we recompile mksh, because now we have curl and it can download the man page!
#We remove the linux headers only patch packages="cmake libressl busybox toybox libffi python ca-certificates curl zlib expat kati gettext-tiny git netbsd-curses kakoune mksh linux iglunix llvm musl nasm tiny-linux-bootloader"
patch -R /iglunix/pkgs/linux/build.sh /linux_header_only_patch
packages="cmake libressl busybox toybox libffi python ca-certificates curl zlib expat kati gettext-tiny git netbsd-curses kakoune mksh linux iglunix llvm musl tiny-linux-bootloader"
compile_packages compile_packages
echo "finished" echo "finished"
exit exit

View file

@ -1,17 +0,0 @@
--- build.sh
+++ build.sh
@@ -16,10 +16,10 @@
build() {
cd $pkgname-$pkgver
#gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ YACC=yacc LLVM_IAS=1 defconfig
- gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ LEX=lex YACC=yacc LLVM_IAS=1 oldconfig
- gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ LEX=lex YACC=yacc LLVM_IAS=1 menuconfig
- cp .config ../../x86_64.config.new
- gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ LEX=lex YACC=yacc LLVM_IAS=1
+ #gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ LEX=lex YACC=yacc LLVM_IAS=1 oldconfig
+ #gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ LEX=lex YACC=yacc LLVM_IAS=1 menuconfig
+ #cp .config ../../x86_64.config.new
+ #gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ LEX=lex YACC=yacc LLVM_IAS=1
}
package() {