Merge pull request #6 from stikonas/diffutils

Diffutils
This commit is contained in:
fosslinux 2021-01-12 16:06:30 +11:00 committed by GitHub
commit ae746bb0a6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 212 additions and 27 deletions

1
.gitignore vendored
View File

@ -1,2 +1,3 @@
tmp/
kernel
sources/

6
.gitmodules vendored
View File

@ -22,6 +22,6 @@
[submodule "sysa/tcc-0.9.27"]
path = sysa/tcc-0.9.27
url = git://repo.or.cz/tinycc.git
[submodule "sysa/sed-1.18"]
path = sysa/sed-1.18
url = git://git.savannah.gnu.org/sed/sed-history.git
[submodule "sysa/sed-4.0.7"]
path = sysa/sed-4.0.7
url = https://git.savannah.gnu.org/git/sed/sed-history.git

View File

@ -75,9 +75,36 @@ popd
mkdir -p ../sources
# sed 1.18
cp sed-1.18.kaem tmp/after
cp -r sed-1.18 tmp/after
# sed 4.0.7
cp sed-4.0.7.kaem tmp/after
cp -r sed-4.0.7 tmp/after
# tar 1.12
url=https://ftp.gnu.org/gnu/tar/tar-1.12.tar.gz
pushd ../sources
wget --continue "$url"
popd
cp "$(basename $url .tar.gz).kaem" tmp/after
tar -C tmp/after -xf "../sources/$(basename $url)"
get_file() {
url=$1
pushd ../sources
wget --continue "$url"
popd
ext="${url##*.}"
if [ "$ext" = "tar" ]; then
bname=$(basename "$url" .tar)
else
bname=$(basename "$url" ".tar.${ext}")
fi
cp "${bname}.kaem" tmp/after
cp "../sources/$(basename "$url")" tmp/after
}
# Download remaining sources
get_file https://ftp.gnu.org/gnu/gzip/gzip-1.2.4.tar
get_file https://ftp.gnu.org/gnu/diffutils/diffutils-2.7.tar.gz
# General cleanup
find tmp -name .git -exec rm -rf \;
@ -88,7 +115,7 @@ find . | cpio -H newc -o | gzip > initramfs.igz
# Run
${QEMU_CMD:-qemu-system-x86_64} -enable-kvm \
-m ${RAM:-8G} \
-m "${RAM:-8G}" \
-nographic \
-no-reboot \
-kernel ../../kernel -initrd initramfs.igz -append console=ttyS0

View File

@ -49,6 +49,24 @@ kaem --file mes.kaem
kaem --file tcc.kaem
# Part 7: sed
cd sed-1.18
kaem --file ../sed-1.18.kaem
cd sed-4.0.7
kaem --file ../sed-4.0.7.kaem
cd ..
# Part 8: tar
cd tar-1.12
kaem --file ../tar-1.12.kaem
cd ..
# Part 9: gzip
/after/bin/tar xf gzip-1.2.4.tar
cd gzip-1.2.4
kaem --file ../gzip-1.2.4.kaem
cd ..
# Part 10: diffutils
/after/bin/gunzip diffutils-2.7.tar.gz
/after/bin/tar xf diffutils-2.7.tar
cd diffutils-2.7
kaem --file ../diffutils-2.7.kaem
cd ..

34
sysa/diffutils-2.7.kaem Executable file
View File

@ -0,0 +1,34 @@
#!/bin/sh
set -ex
# Variables
bindir=/after/bin
# Touch config.h file
catm config.h
# Compile
tcc -c -I. -DNULL_DEVICE=\"/dev/null\" cmp.c
tcc -c -I. cmpbuf.c
tcc -c -I. error.c
tcc -c -I. getopt.c
tcc -c -I. getopt1.c
tcc -c -I. xmalloc.c
tcc -c -I. version.c
tcc -c -I. diff.c
tcc -c -I. analyze.c
tcc -c -I. -DHAVE_DIRENT_H dir.c
tcc -c -I. io.c
tcc -c -I. -DHAVE_DUP2 -DHAVE_FORK=0 util.c
tcc -c -I. context.c
tcc -c -I. ed.c
tcc -c -I. ifdef.c
tcc -c -I. normal.c
tcc -c -I. side.c
tcc -c -I. fnmatch.c
tcc -c -I. regex.c
# Link
tcc -static -o ${bindir}/cmp cmp.o cmpbuf.o error.o getopt.o getopt1.o xmalloc.o version.o
tcc -static -o ${bindir}/diff diff.o analyze.o cmpbuf.o dir.o io.o util.o context.o ed.o ifdef.o normal.o side.o fnmatch.o getopt.o getopt1.o regex.o version.o

34
sysa/gzip-1.2.4.kaem Executable file
View File

@ -0,0 +1,34 @@
#!/bin/sh
set -ex
# Variables
bindir=/after/bin
# Compile
tcc -c -DNO_UTIME gzip.c
tcc -c bits.c
tcc -c crypt.c
tcc -c deflate.c
tcc -c getopt.c
tcc -c inflate.c
tcc -c lzw.c
tcc -c trees.c
tcc -c unlzh.c
tcc -c unlzw.c
tcc -c unpack.c
tcc -c unzip.c
# Remove strlwr, it does not build with mes libc
cp util.c util_patched.c
sed -i 165,174d util_patched.c
tcc -c util_patched.c
tcc -c zip.c
# Link
tcc -static -o ${bindir}/gzip gzip.o zip.o deflate.o trees.o bits.o unzip.o inflate.o util_patched.o crypt.o lzw.o unlzw.o unpack.o unlzh.o getopt.o
# Install
cp ${bindir}/gzip ${bindir}/gunzip
cp ${bindir}/gzip ${bindir}/zcat
chmod 755 ${bindir}/gunzip
chmod 755 ${bindir}/zcat

@ -1 +0,0 @@
Subproject commit cff4df55786bae5f4f0c042a13d30cd1a962040c

View File

@ -1,17 +0,0 @@
#!/bin/sh
set -ex
# Variables
bindir=/after/bin
# Compile
tcc -c getopt1.c
tcc -c getopt.c
tcc -c regex.c
tcc -c utils.c
tcc -c -Dalloca alloca.c
tcc -c -DHAVE_BCOPY sed.c
# Link
tcc -static -o ${bindir}/sed alloca.o getopt1.o getopt.o regex.o sed.o utils.o

1
sysa/sed-4.0.7 Submodule

@ -0,0 +1 @@
Subproject commit b8fb156db0eedfd28db3340b418591e8fcab08bc

37
sysa/sed-4.0.7.kaem Executable file
View File

@ -0,0 +1,37 @@
#!/bin/sh
set -ex
# Variables
bindir=/after/bin
catm config.h
# Compile
## libsed.a
cd lib
tcc -c getopt1.c
tcc -c -I .. getopt.c
tcc -c -I .. -DENABLE_NLS=0 utils.c
cp regex_.h regex.h
tcc -c -I . regex.c
tcc -c obstack.c
tcc -c strverscmp.c
tcc -c getline.c
tcc -c -DHAVE_FCNTL_H mkstemp.c
tcc -ar cr libsed.a getopt1.o getopt.o utils.o regex.o obstack.o strverscmp.o getline.o mkstemp.o
cd ..
## sed
tcc -c -I . -I lib -DSED_FEATURE_VERSION=\"4.0\" sed/compile.c
tcc -c -I . -I lib sed/execute.c
tcc -c -I . -I lib sed/regex.c
tcc -c -I . -I lib sed/fmt.c
tcc -c -I . -I lib -DPACKAGE=\"sed\" -DVERSION=\"4.0.7\" sed/sed.c
# Link
tcc -static -o ${bindir}/sed -L lib lib/libsed.a compile.o execute.o regex.o fmt.o sed.o -lsed

51
sysa/tar-1.12.kaem Executable file
View File

@ -0,0 +1,51 @@
#!/bin/sh
set -ex
# Variables
bindir=/after/bin
# Compile
## libtar.a
cd lib
tcc -c argmatch.c
tcc -c -DHAVE_DIRENT_H backupfile.c
tcc -c -I . error.c
tcc -c -I . fnmatch.c
tcc -c ftruncate.c
tcc -c getdate.c
tcc -c getopt.c
tcc -c getopt1.c
tcc -c getversion.c
tcc -c modechange.c
tcc -c msleep.c
tcc -c -DHAVE_GETCWD xgetcwd.c
tcc -c xmalloc.c
tcc -c xstrdup.c
tcc -ar cr libtar.a argmatch.o backupfile.o error.o fnmatch.o ftruncate.o getdate.o getopt.o getopt1.o getversion.o modechange.o msleep.o xgetcwd.o xmalloc.o xstrdup.o
cd ..
## tar
# -DSIZEOF_UNSIGNED_LONG=4 forces use of simulated arithmetic
# This is to avoid running configure test to determine sizeof(long long)
tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H src/arith.c
tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H src/buffer.c
tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H src/compare.c
tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H -DHAVE_DIRENT_H src/create.c
tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H src/delete.c
tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H src/extract.c
tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H -DHAVE_GETCWD -DHAVE_DIRENT_H src/incremen.c
tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H src/list.c
tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H src/mangle.c
tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H -DHAVE_DIRENT_H src/misc.c
tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H -DHAVE_GETCWD src/names.c
tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H src/open3.c
tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H src/rtapelib.c
tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H -DPACKAGE=\"tar\" -DVERSION=\"1.12\" src/tar.c
tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H src/update.c
# Link
tcc -static -o ${bindir}/tar -L lib lib/libtar.a arith.o buffer.o compare.o create.o delete.o extract.o incremen.o list.o mangle.o misc.o names.o open3.o rtapelib.o tar.o update.o -ltar