Compare commits

..

24 Commits

Author SHA1 Message Date
Nathan Fisher
c9487dbd47 which - add license file header 2023-01-10 22:10:19 -05:00
Nathan Fisher
2dcdba7704 which - once a match is found in $PATH, test that it is a regular file
and can be accessed as executable
2023-01-10 22:07:30 -05:00
Nathan Fisher
32b827061c Updated file and linux 2022-12-28 23:10:58 -05:00
Nathan Fisher
5f2a372e1f Update kernel config, fix plist formatting 2022-11-23 00:29:32 -05:00
Nathan Fisher
d37fe8623b Fix installation of init tools {halt,poweroff,shutdown,reboot,telinit} 2022-10-15 11:37:43 -04:00
Nathan Fisher
e43479df2c Merge branch 'odin' of git.hitchhiker-linux.org:Hitchhiker/src into odin 2022-10-08 02:48:08 +00:00
Nathan Fisher
8e58b3efc2 Add missing init related scripts 2022-10-08 02:47:17 +00:00
Nathan Fisher
28953511ef Bump kernel version for x86_64 config; Fix $PATH in init 2022-10-04 00:06:41 -04:00
Nathan Fisher
85d105fd46 Merge branch 'odin' of git.hitchhiker-linux.org:hitchhiker/src into odin 2022-10-03 09:40:48 -04:00
Nathan Fisher
5d70072768 Bump kernel version 2022-10-03 09:40:20 -04:00
Nathan Fisher
c103ece8b1 Fix some service definitions based on a running system 2022-10-03 09:37:41 -04:00
Nathan Fisher
c1261c7bd2 Various small fixes, update kernel 2022-10-01 23:33:31 -04:00
ac66f293ec Merge branch 'odin' of git.hitchhiker-linux.org:Hitchhiker/src into odin 2022-09-15 18:50:57 -04:00
226442cb53 Fixes to s6-scripts 2022-09-15 18:49:28 -04:00
e87605ad86 Fix potential segfault (42) 2022-09-11 18:50:56 -04:00
Nathan Fisher
272b12a142 Setup Timezones; Add s6log user and group; Remove some unused service defs;
Fix some script interpreters (glibc);
2022-09-06 19:51:14 -04:00
Nathan Fisher
10afb1cd9b Fix libcap build on some architectures; Fix some issues with shell startup
scripts; Improve firmware Makefile; Fix messages in hhl.staticlib.mk
2022-09-01 09:03:41 -04:00
Nathan Fisher
2f9598382b Update several packages, various fixes to compilation, various boot fixes 2022-08-26 10:33:22 -04:00
Nathan Fisher
828f465435 Fixed numerous path issues in s6-scripts;
Fix sbin handling in hhl.script.mk
2022-08-25 13:13:16 -04:00
Nathan Fisher
cd021883f5 Multiple version bumps 2022-08-22 09:50:00 -04:00
Nathan Fisher
2b8d1580e5 Bumped a number of package versions including glibc-2.35 and gcc-12.1.0 2022-05-10 09:41:52 -04:00
Nathan Fisher
8fc87adccb Remove closefrom from libopenbsd to build with glibc > 2.34 2022-05-01 08:56:24 -04:00
Nathan Fisher
38be98f284 Bump linux version 2022-04-29 09:38:54 -04:00
Nathan Fisher
2feff2a5d3 Update to gcc11
Change to openssl
Clean up some `C` for HitchHiker specific utils
2022-01-28 11:44:56 -05:00
204 changed files with 7238 additions and 6462 deletions

3
.gitignore vendored
View File

@ -25,3 +25,6 @@ proctab.c
*.so
*.so.*
libbz2.so.*
tags
tags.temp
tags.lock

View File

@ -69,7 +69,7 @@ $(build)/.built: $(tooldir)/.built $(build)/.skeleton.built
find $(build)/lib $(build)/usr/lib $(build)/usr/lib64 -name '*.la' -delete
touch $@
buildkernel: $(build)/.kernel.built
buildkernel: $(build)/.kernel.built $(build)/.firmware.built
$(info $(grn)=== Kernel build complete ===$(reset))
.PHONY: buildkernel
@ -78,6 +78,10 @@ $(build)/.kernel.built:
$(MAKE) -C kernel
touch $@
$(build)/.firmware.built:
$(MAKE) -C firmware
touch $@
strip: $(build)/.stripped
.PHONY: strip

View File

@ -63,6 +63,7 @@ libressl-${libressl_version}.tar.gz \
libtool-${libtool_version}.tar.xz \
libz-${libz_version}.tar.gz \
linux-${linux_version}.tar.xz \
linux-firmware-$(linux-firmware_version).tar.xz \
m4-${m4_version}.tar.xz \
make-${make_version}.tar.gz \
mandoc-${mandoc_version}.tar.gz \
@ -72,6 +73,7 @@ mpc-${mpc_version}.tar.gz \
mpfr-${mpfr_version}.tar.xz \
musl-$(musl_version).tar.gz \
musl-fts-$(musl-fts_version).tar.gz \
openssl-${openssl_version}.tar.gz \
ncurses-${ncurses_version}.tar.gz \
netbsd-curses-${netbsd-curses_version}.tar.xz \
ninja-${ninja_version}.tar.gz \
@ -202,7 +204,7 @@ elfutils-${elfutils_version}.tar.bz2:
eudev: eudev-${eudev_version}.tar.gz
eudev-${eudev_version}.tar.gz:
wget -c https://dev.gentoo.org/~blueness/eudev/$@
wget -c $(github)/eudev-project/eudev/releases/download/v$(eudev_version)/$@
execline: execline-{execline_version}.tar.gz
@ -212,7 +214,7 @@ execline-${execline_version}.tar.gz:
expat: expat-${expat_version}.tar.xz
expat-${expat_version}.tar.xz:
wget -c $(github)/libexpat/libexpat/releases/download/R_2_2_10/$@
wget -c $(github)/libexpat/libexpat/releases/download/R_2_4_8/$@
file: file-${file_version}.tar.gz
@ -347,7 +349,7 @@ libelf-compat-${libelf-compat_version}.tar.xz:
libffi: libffi-${libffi_version}.tar.gz
libffi-${libffi_version}.tar.gz:
wget -c ftp://sourceware.org/pub/libffi/$@
wget -c $(github)/libffi/libffi/releases/download/v$(libffi_version)/$@
libnl: libnl-${libnl_version}.tar.gz
@ -372,7 +374,12 @@ libz-${libz_version}.tar.gz:
linux: linux-${linux_version}.tar.xz
linux-${linux_version}.tar.xz:
wget -c ${kernel}/kernel/v5.x/$@
wget -c ${kernel}/kernel/v6.x/$@
linux-firmware: linux-formware-$(linux-firmware_version).tar.xz
linux-firmware-$(linux-firmware_version).tar.xz:
wget -c https://mirrors.edge.kernel.org/pub/linux/kernel/firmware/$@
linux_rpi: linux_rpi-${linux_rpi_version}.tar.xz
@ -440,6 +447,11 @@ ninja: ninja-${ninja_version}.tar.gz
ninja-${ninja_version}.tar.gz:
wget -c ${github}/ninja-build/ninja/archive/v${ninja_version}/$@
openssl: openssl-${openssl_version}.tar.gz
openssl-${openssl_version}.tar.gz:
wget -c https://www.openssl.org/source/$@
patch: patch-${patch_version}.tar.xz
patch-${patch_version}.tar.xz:
@ -593,7 +605,7 @@ zsh-${zsh_version}.tar.xz:
zsh-doc: zsh-${zsh_version}-doc.tar.xz
zsh-${zsh_version}-doc.tar.xz:
wget -c http://www.zsh.org/pub/$@
wget -c https://www.zsh.org/pub/$@
zstd: zstd-${zstd_version}.tar.gz

23
firmware/Makefile Normal file
View File

@ -0,0 +1,23 @@
# Makefile - hhl - /usr/src/world/linux-firmware
# Copyright 2022 Nathan Fisher <nfisher.sr@gmail.com>
#
distname = linux-firmware
default_goal = install_firmware
include world.mk
objdir = $(srcdir)
install_firmware: $(objdir)/.installed
$(objdir)/.installed: $(srcdir)/.dirstamp | $(DESTDIR)/lib/firmware
$(MAKE) DESTDIR=$(DESTDIR) -C $(srcdir) install
$(DESTDIR)/lib/firmware:
install -d $@
$(srcdir)/.dirstamp: $(distlocal)
$(info $(grn)=== Extracting $(distlocal) ===$(reset))
tar -xf $(distlocal) -C $(basedir)/build/src-world-$(arch)
touch $@
$(distlocal):
$(MAKE) -C ../distfiles $(distfile)

View File

@ -31,10 +31,10 @@ ${pkgdbdir}/plist:
find usr/src -name '.built' -exec rm -rf {} + || true
find usr/src -name '.installed' -exec rm -rf {} + || true
find ${dirs} -type f | while read f ; \
do echo file\|$$(stat -c %n\|%a\|%u:%g $${f})\|$$(file -b -e elf $${f}) ; \
do echo file\|$$(stat -c %n\|%a\|root:root $${f})\|$$(file -b -e elf $${f}) ; \
done > $@.in
find ${dirs} -type d | while read d ; \
do echo directory\|$$(stat -c %n\|%a\|%u:%g $${d}) ; \
do echo directory\|$$(stat -c %n\|%a\|root:root $${d}) ; \
done >> $@.in
find ${dirs} -type c | while read c ; \
do echo device\|$${c}\|$$(file -b $${c}) ; \
@ -44,10 +44,10 @@ ${pkgdbdir}/plist:
${pkgdbdir}/etc.plist:
if [ ! -d ${pkgdbdir} ] ; then install -d ${pkgdbdir} ; fi
find etc -type f | while read f ; \
do echo file\|$$(stat -c %n\|%a\|%u:%g $${f})\|$$(file -b -e elf $${f}) ; \
do echo file\|$$(stat -c %n\|%a\|root:root $${f})\|$$(file -b -e elf $${f}) ; \
done > $@.in
find etc -type d | while read d ; \
do echo directory\|$$(stat -c %n\|%a\|%u:%g $${d}) ; \
do echo directory\|$$(stat -c %n\|%a\|root:root $${d}) ; \
done >> $@.in
mv -v $@.in $@

View File

@ -1,18 +1,18 @@
# hhl.script.mk - hhl - /usr/include/mk
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
#
#
internal = true
src ?= src/${progname}.sh
include world.mk
include hhl.doc.mk
include hhl.colors.mk
ifneq (${sbin},true)
installdirs = ${bindir}
binprog = ${bindir}/${progname}
else
ifeq (${sbin},1)
installdirs = ${sbindir}
binprog = ${sbindir}/${progname}
else
installdirs = ${bindir}
binprog = ${bindir}/${progname}
endif
bins = ${binprog} ${binlinks}

View File

@ -12,7 +12,7 @@ cflags += -fPIC
liblinks = $(libdir)/$(libmajor) $(libdir)/$(libbase)
install: $(libdir)/$(libminor) | $(liblinks)
@echo -e "$(grn)=== Finished Building $(libminor) ===$(unset)"
@echo -e "$(grn)=== Finished Building $(libminor) ===$(reset)"
all: $(libminor)
@ -30,11 +30,11 @@ $(objdir)/%.o: $(src)/%.c | $(objdir)
$(CC) $(cppflags) $(cflags) $(ldflags) -o $@ -c $<
$(objdir):
@echo -e "$(grn)=== Building for $(libname) ===$(unset)"
@echo -e "$(grn)=== Building for $(libname) ===$(reset)"
install -d $(objdir)
clean:
@echo -e "$(grn)=== Cleaning for $(libname) ===$(unset)"
@echo -e "$(grn)=== Cleaning for $(libname) ===$(reset)"
rm -rf $(objdir) $(libminor) $(libmajor)
.PHONY: all clean

View File

@ -26,6 +26,7 @@ $(libdir)/$(staticlib): $(staticlib) | $(libdir)
install $< $@
clean:
$(info $(grn)=== Cleaning for $(staticlib) ===$(reset))
rm -rf $(objdir) $(staticlib)
.PHONY: all clean

View File

@ -4,7 +4,7 @@
include versions.mk
os_name = Hitch Hiker Linux
os_abbrev = hhl
os_version = 2021q2
os_version = 2022q3
basedir = /src
include $(basedir)/config.mk
@ -68,7 +68,7 @@ objdir ?= $(global_objdir)/$(distfullname)
tooldir = $(basedir)/build/toolchain-$(arch)
export LC_ALL = POSIX
export PATH = $(tooldir)/bin:$(tooldir)/sbin:/usr/bin:/usr/sbin:/bin:/sbin
export PATH = $(tooldir)/bin:$(tooldir)/sbin:/usr/bin:/usr/bin/core_perl:/usr/sbin:/bin:/sbin
_dhcpcd ?= 1
_wireless ?= 1

View File

@ -3,100 +3,102 @@
#
# package versions - hhl base
acl_version = 2.2.53
acl_version = 2.3.1
argp-standalone_version = 1.4.1
attr_version = 2.4.48
attr_version = 2.5.1
autoconf_version = 2.71
automake_version = 1.16.3
bc_version = 3.2.5
binutils_version = 2.36.1
bison_version = 3.7.5
automake_version = 1.16.5
bc_version = 6.0.1
binutils_version = 2.39
bison_version = 3.8.2
busybox_version = 1.31.1
bzip2_version = 1.0.8
cmake_version = 3.18.1
coreutils_version = 8.32
curl_version = 7.71.0
curl_version = 7.84.0
dash_version = 0.5.11
dbus_version = 1.12.18
diffutils_version = 3.7
dhcpcd_version = 8.1.6
e2fsprogs_version = 1.46.0
elfutils_version = 0.182
eudev_version = 3.2.9
execline_version = 2.7.0.1
expat_version = 2.2.10
file_version = 5.39
findutils_version = 4.8.0
diffutils_version = 3.8
dhcpcd_version = 9.4.1
e2fsprogs_version = 1.46.5
elfutils_version = 0.187
eudev_version = 3.2.11
execline_version = 2.9.0.1
expat_version = 2.4.8
file_version = 5.43
findutils_version = 4.9.0
flex_version = 2.6.4
gawk_version = 5.1.0
gcc_version = 10.2.0
gdbm_version = 1.19
gawk_version = 5.1.1
gcc_version = 12.2.0
gdbm_version = 1.23
gettext_version = 0.21
gettext-tiny_version = 0.3.2
glibc_version = 2.33
glibc_version = 2.36
gmp_version = 6.2.1
gperf_version = 3.1
grep_version = 3.6
grep_version = 3.7
groff_version = 1.22.4
grub_version = 2.04
gzip_version = 1.10
haveged_version = 1.9.14
iana-etc_version = 20210115
inetutils_version = 1.9.4
grub_version = 2.06
gzip_version = 1.12
haveged_version = 1.9.18
iana-etc_version = 20220812
inetutils_version = 2.3
intltool_version = 0.51.0
iproute2_version = 5.10.0
kbd_version = 2.4.0
kmod_version = 28
less_version = 563
libcap_version = 2.47
iproute2_version = 5.19.0
kbd_version = 2.5.1
kmod_version = 30
less_version = 590
libcap_version = 2.65
libedit_version = 20191231-3.1
libelf-compat_version = 0.152
libffi_version = 3.3
libffi_version = 3.4.2
libnl_version = 3.5.0
libressl_version = 3.0.2
libtool_version = 2.4.6
libtool_version = 2.4.7
libz_version = 1.2.8.2015.12.26
linux_version = 5.11.5
linux_version = 6.1.1
linux-firmware_version = 20220815
linux_rpi_version = 5.4.45
m4_version = 1.4.18
m4_version = 1.4.19
make_version = 4.3
man-pages_version = 5.10
man-pages_version = 5.13
mandoc_version = 1.14.5
meson_version = 0.56.2
meson_version = 0.61.1
mpc_version = 1.2.1
mpfr_version = 4.1.0
musl_version = 1.2.2
musl-fts_version = 1.2.7
ncurses_version = 6.2
ncurses_version = 6.3
netbsd-curses_version = 0.3.1
ninja_version = 1.10.2
ninja_version = 1.11.0
openssl_version = 3.0.5
patch_version = 2.7.6
pcre_version = 8.44
perl_version = 5.32.1
pcre_version = 8.45
perl_version = 5.36.0
perl-cross_version = 1.3.5
pkg-config_version = 0.29.2
pkgsrc_version = 2020Q2
pkgsrc_version = 2022Q2
procps-ng_version = 3.3.16
psmisc_version = 23.3
python_version = 3.9.1
s6_version = 2.10.0.1
s6-linux-init_version = 1.0.6.0
s6-rc_version = 0.5.2.1
psmisc_version = 23.5
python_version = 3.10.6
s6_version = 2.11.1.2
s6-linux-init_version = 1.0.8.0
s6-rc_version = 0.5.3.2
sed_version = 4.8
shadow_version = 4.8.1
skalibs_version = 2.10.0.1
shadow_version = 4.12.2
skalibs_version = 2.12.0.1
sysklogd_version = 1.5.1
tar_version = 1.33
texinfo_version = 6.7
tzdata_version = 2021a
tar_version = 1.34
texinfo_version = 6.8
tzdata_version = 2022c
u-boot_version = 2021.01
udev-lfs_version = 20171102
util-linux_version = 2.36.1
vim_version = 8.2.2433
wget_version = 1.21.1
wget_version = 1.21.3
wireless_tools_version = 29
wpa_supplicant_version = 2.9
XML-Parser_version = 2.46
xz_version = 5.2.5
zsh_version = 5.8
zstd_version = 1.4.8
xz_version = 5.2.6
zsh_version = 5.8.1
zstd_version = 1.5.2

View File

@ -43,7 +43,6 @@
#define STDERR_FILENO 2 /* standard error file descriptor */
int execvpe(const char *, char *const *, char *const *);
int closefrom(int);
int crypt_newhash(const char *, const char *, char *, size_t);
int getdtablecount(void);
int getentropy(void *, size_t);

View File

@ -17,6 +17,9 @@ endif
ifeq ($(build_python), 1)
subdirs += python
endif
ifeq ($(build_file), 1)
subdirs += file
endif
subdirs += binutils
subdirs += gcc-pass1
subdirs += linux-headers

8
toolchain/file/Makefile Normal file
View File

@ -0,0 +1,8 @@
# Makefile - hhl - /usr/src/world/gawk
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
#
distname = file
distext = gz
include toolchain.mk
config_opts += --disable-nls
include targets.mk

View File

@ -5,7 +5,7 @@ distname = glibc
patches += glibc-2.31-fhs-1.patch
patches += glibc-no-test-installation.patch
patches += ldd-rewrite-nobash.patch
patches += glibc-ldd-bash-in.patch
include world.mk
-include locales.mk
@ -22,7 +22,10 @@ define makelinks
ln -sfv ../lib/ld-linux-x86-64.so.2 $(DESTDIR)/lib64/ld-lsb-x86-64.so.3
endef
else ifeq ($(arch),armv7l)
makelinks = ln -sfv ld-$(glibc_version).so $(DESTDIR)/lib/ld-linux.so.3
define makelinks
install $(objdir)/elf/ld.so $(DESTDIR)/lib/ld-$(glibc_version).so
ln -sfv ld-$(glibc_version).so $(DESTDIR)/lib/ld-linux.so.3
endef
else ifeq ($(arch),riscv64)
makelinks = ln -sfv ../lib/ld-linux-riscv64-lp64d.so.1 $(DESTDIR)/lib64
endif

View File

@ -0,0 +1,9 @@
diff -Naur glibc-2.36.orig/elf/ldd.bash.in glibc-2.36/elf/ldd.bash.in
--- glibc-2.36.orig/elf/ldd.bash.in 2022-08-25 16:05:09.631944502 -0400
+++ glibc-2.36/elf/ldd.bash.in 2022-08-25 16:05:36.539082495 -0400
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
# Copyright (C) 1996-2022 Free Software Foundation, Inc.
# This file is part of the GNU C Library.

View File

@ -8,6 +8,7 @@ include src-config.mk
subdirs += fs_skeleton
subdirs += man-pages
subdirs += iana-etc
subdirs += tzdata
subdirs += libz
subdirs += libbz2_static
subdirs += libbz2_shared
@ -44,10 +45,12 @@ subdirs += expat
subdirs += kmod
subdirs += gettext
# for musl
subdirs += argp-standalone
#subdirs += argp-standalone
subdirs += elfutils
subdirs += libffi
subdirs += libressl
subdirs += gawk
#subdirs += libressl
subdirs += openssl
subdirs += wget
#subdirs += python
#subdirs += ninja
@ -65,11 +68,9 @@ subdirs += texinfo
subdirs += procps-ng
subdirs += util-linux
# for musl
#subdirs += argp-standalone
# for musl
#subdirs += musl-fts
subdirs += e2fsprogs
subdirs += haveged
#subdirs += haveged
subdirs += eudev
subdirs += skalibs
subdirs += execline

View File

@ -1,14 +1,12 @@
# Makefile - hhl - /usr/src/world/bc
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
#
#
distname = bc
patches += bc-configure.patch
no_objdir = 1
include world.mk
export PREFIX = /usr
export CC = $(tgt)-gcc
export HOSTCC = gcc
export HOSTCFLAGS = -std=c99
export CFLAGS = -std=c99 --sysroot=$(DESTDIR)
config_cmd = $(srcdir)/configure.sh -G -O3
config_cmd = cd $(objdir) && $(srcdir)/configure -G -O3
include targets.mk

View File

@ -1,11 +0,0 @@
diff -Naur bc-3.2.5.orig/configure bc-3.2.5/configure
--- bc-3.2.5.orig/configure.sh 2021-01-30 19:35:41.000000000 -0500
+++ bc-3.2.5/configure.sh 2021-02-02 11:45:45.393574823 -0500
@@ -609,7 +609,6 @@
help* | bc-only* | dc-only* | coverage* | debug*)
usage "No arg allowed for --$arg option" ;;
disable-bc* | disable-dc* | disable-clean*)
- disable-extra-math*)
usage "No arg allowed for --$arg option" ;;
disable-generated-tests* | disable-history*)
usage "No arg allowed for --$arg option" ;;

View File

@ -1,49 +0,0 @@
# $NetBSD: Makefile,v 1.10 2018/08/12 09:03:21 christos Exp $
# $FreeBSD: head/usr.bin/grep/Makefile 210389 2010-07-22 19:11:57Z gabor $
# $OpenBSD: Makefile,v 1.6 2003/06/25 15:00:04 millert Exp $
PROG= grep
SRCS= fastgrep.c file.c grep.c queue.c util.c
LINKS= ${BINDIR}/grep ${BINDIR}/egrep \
${BINDIR}/grep ${BINDIR}/fgrep \
${BINDIR}/grep ${BINDIR}/zgrep \
${BINDIR}/grep ${BINDIR}/zegrep \
${BINDIR}/grep ${BINDIR}/zfgrep
MLINKS= grep.1 egrep.1 \
grep.1 fgrep.1 \
grep.1 zgrep.1 \
grep.1 zegrep.1 \
grep.1 zfgrep.1
.if empty(HOST_CPPFLAGS:M*-DWITHOUT_GZIP*)
LDADD+= -lz
DPADD+= ${LIBZ}
.endif
.if empty(HOST_CPPFLAGS:M*-DWITHOUT_BZ2*)
LDADD+= -lbz2
DPADD+= ${LIBBZ2}
.endif
.if empty(HOST_CPPFLAGS:M*-DWITHOUT_NLS*)
.PATH: ${.CURDIR}/nls
NLS= C.msg \
es_ES.ISO8859-1.msg \
gl_ES.ISO8859-1.msg \
hu_HU.ISO8859-2.msg \
ja_JP.eucJP.msg \
ja_JP.SJIS.msg \
ja_JP.UTF-8.msg \
pt_BR.ISO8859-1.msg \
ru_RU.KOI8-R.msg \
uk_UA.UTF-8.msg \
zh_CN.UTF-8.msg
.endif
COPTS.grep.c += -Wno-format-nonliteral
COPTS.util.c += -Wno-format-nonliteral
.include <bsd.prog.mk>

View File

@ -29,7 +29,8 @@
#define _GNU_SOURCE // getline, getopt
#include <ctype.h> // isprint
#include <err.h> // err
#include <err.h> // err, perror
#include <errno.h> // errno
#include <inttypes.h> // uint*_t
#include <libgen.h> // basename
#include <stdio.h> // fclose, fopen, getline, nread, perror, printf
@ -87,6 +88,23 @@ void _head(char *file) {
}
}
long parselong(char *buf) {
errno = 0;
char *endptr;
int num = strtol(optarg, &endptr, 10);
if (errno != 0) {
perror("Error parsing integer from input: ");
exit(EXIT_FAILURE);
} else if (num == 0 && endptr == optarg) {
fprintf(stderr, "Error: invalid input: %s\n", optarg);
exit(EXIT_FAILURE);
} else if (*endptr != '\0') {
fprintf(stderr, "Error: invalid input: %s\n", optarg);
exit(EXIT_FAILURE);
}
return num;
}
int main(int argc, char *argv[]) {
int c, index;
__progname = basename(argv[0]);
@ -109,7 +127,7 @@ int main(int argc, char *argv[]) {
switch (c) {
case 'c':
cflag = 1;
chars = (int)strtol(optarg, NULL, 10);
chars = (int)parselong(optarg);
break;
case 'q':
qflag = 1;
@ -124,7 +142,7 @@ int main(int argc, char *argv[]) {
exit(EXIT_SUCCESS);
case 'n':
nflag = 1;
lines = (int)strtol(optarg, NULL, 10);
lines = (int)parselong(optarg);
break;
case '0':
case '1':

View File

@ -28,13 +28,13 @@
#define _DEFAULT_SOURCE
#include <sys/param.h>
#include <sys/param.h> // HOST_NAME_MAX
#include <libgen.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <libgen.h> // basename
#include <stdio.h> // printf, fprintf
#include <stdlib.h> // exit
#include <string.h> // strlen
#include <unistd.h> // gethostname, sethostname, getopt
static const char *__progname;

View File

@ -3,7 +3,7 @@
#
distname = elfutils
distext = bz2
patches += elfutils-wnoerror.patch
#patches += elfutils-wnoerror.patch
#patches += elfutils-musl-no-error.patch
#patches += elfutils-musl-no-cdefs.patch
include world.mk

View File

@ -14,7 +14,6 @@ define post_install
install -d $(docdir)/expat/$(expat_version)
install -m644 $(srcdir)/doc/*.html $(docdir)/expat/$(expat_version)
install -m644 $(srcdir)/doc/*.css $(docdir)/expat/$(expat_version)
install -m644 $(srcdir)/doc/*.png $(docdir)/expat/$(expat_version)
endef
include targets.mk

View File

@ -22,3 +22,4 @@ kvm:x:61:
wheel:x:97:
nogroup:x:99:
users:x:999:
s6log:x:963:

View File

@ -3,4 +3,5 @@ bin:x:1:1:bin:/dev/null:/bin/false
daemon:x:6:6:Daemon User:/dev/null:/bin/false
messagebus:x:18:18:D-Bus Message Daemon User:/var/run/dbus:/bin/false
nobody:x:99:99:Unprivileged User:/dev/null:/bin/false
_file:x:964:964::/home/_file:/usr/sbin/nologin
_file:x:964:964::/dev/null:/sbin/nologin
s6log:x:963:963::/dev/null:/sbin/nologin

View File

@ -1,8 +1,8 @@
# Setup for /bin/ls and /bin/grep to support color, the alias is in /etc/bashrc.
if [ -f "/etc/dircolors" ] ; then
eval $(dircolors -b /etc/dircolors)
if [ -f "/etc/dircolors" ]
then eval $(dircolors -b /etc/dircolors)
fi
if [ -f "$HOME/.dircolors" ] ; then
eval $(dircolors -b $HOME/.dircolors)
if [ -f "$HOME/.dircolors" ]
then eval $(dircolors -b $HOME/.dircolors)
fi

View File

@ -15,8 +15,10 @@ fi
if [ -x /usr/pkg/share/man ]
then MANPATH=/usr/pkg/share/man:${MANPATH}
fi
if [ -x /usr/pkg/man ]
then MANPATH=/usr/pkg/man:${MANPATH}
fi
if [ -x /usr/pkg/share/info ]
then INFOPATH=/usr/pkg/share/info:${INFOPATH}
fi
PKG_PATH=https://hitchhiker-linux.org/pub/${OS_VERSION}/${arch}/packages
export PATH PKG_CONFIG_PATH MANPATH INFOPATH PKG_PATH
export PATH PKG_CONFIG_PATH MANPATH INFOPATH

View File

@ -0,0 +1,6 @@
if [ -r "/etc/tz" ]
then source /etc/tz
else
TZ="America/New_York"
fi
export TZ

View File

@ -1,14 +1,27 @@
if [ $UID = 0 ]
then PATH=/usr/bin:/usr/sbin:/bin:/sbin
if [ -d /usr/local/bin ] ; then PATH=/usr/local/bin:/usr/local/sbin:${PATH} ; fi
then PATH=/usr/bin:/usr/sbin:/bin:/sbin
if [ -d /usr/local/bin ] ; then PATH=/usr/local/bin:/usr/local/sbin:${PATH} ; fi
else
PATH=/usr/bin:/bin
if [ -d /usr/local/bin ] ; then PATH=/usr/local/bin:${PATH} ; fi
if [ -d /usr/local/bin ] ; then PATH=/usr/local/bin:${PATH} ; fi
fi
if [ -d ${HOME}/bin ]
then PATH=${HOME}/bin:PATH
if [ -d ${HOME}/bin ] ; then PATH=${HOME}/bin:${PATH} ; fi
PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/share/pkgconfig
MANPATH=/usr/share/man
INFOPATH=/usr/share/info
if [ -d /usr/local/lib/pkgconfig ]
then PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:${PKG_CONFIG_PATH}
fi
export PATH
if [ -d /usr/local/share/pkgconfig ]
then PKG_CONFIG_PATH=/usr/local/share/pkgconfig:${PKG_CONFIG_PATH}
fi
if [ -d /usr/local/share/man ]
then MANPATH=/usr/local/share/man:${MANPATH}
fi
if [ -d /usr/local/share/info ]
then INFOPATH=/usr/local/share/info:${INFOPATH}
fi
export PATH PKG_CONFIG_PATH MANPATH INFOPATH
for script in /etc/zshenv.d/*.zsh
do source ${script}
do source ${script}
done

View File

@ -1,8 +1,8 @@
# Setup for /bin/ls and /bin/grep to support color, the alias is in /etc/bashrc.
if [ -f "/etc/dircolors" ] ; then
eval $(dircolors -b /etc/dircolors)
if [ -f "/etc/dircolors" ]
then eval $(dircolors -b /etc/dircolors)
fi
if [ -f "$HOME/.dircolors" ] ; then
eval $(dircolors -b $HOME/.dircolors)
if [ -f "$HOME/.dircolors" ]
then eval $(dircolors -b $HOME/.dircolors)
fi

View File

@ -15,6 +15,9 @@ fi
if [ -x /usr/pkg/share/man ]
then MANPATH=/usr/pkg/share/man:${MANPATH}
fi
if [ -x /usr/pkg/man ]
then MANPATH=/usr/pkg/man:${MANPATH}
fi
if [ -x /usr/pkg/share/info ]
then INFOPATH=/usr/pkg/share/info:${INFOPATH}
fi

View File

@ -0,0 +1,6 @@
if [ -r "/etc/tz" ]
then source /etc/tz
else
TZ="America/New_York"
fi
export TZ

10
world/gawk/Makefile Normal file
View File

@ -0,0 +1,10 @@
# Makefile - hhl - /usr/src/world/gawk
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
#
distname = gawk
include world.mk
config_opts += --host=$(tgt)
config_opts += --with-sysroot=$(build)
include targets.mk

View File

@ -2,6 +2,7 @@
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
#
distname = gcc
patches = gcc-nostdinc.patch
include world.mk
ifeq ($(arch),x86_64)

View File

@ -0,0 +1,11 @@
--- gcc-11.2.0.orig/configure 2021-07-28 02:55:06.628278148 -0400
+++ gcc-11.2.0.new/configure 2021-10-19 11:51:51.300514740 -0400
@@ -16478,7 +16478,7 @@
fi
-RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET"
+RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET -nostdinc++"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the target ar" >&5
$as_echo_n "checking where to find the target ar... " >&6; }

View File

@ -5,7 +5,7 @@ distname = glibc
patches += glibc-2.31-fhs-1.patch
patches += glibc-no-test-installation.patch
patches += ldd-rewrite-nobash.patch
patches += glibc-fix-interpreter.patch
include world.mk
-include locales.mk

View File

@ -0,0 +1,18 @@
diff '--color=auto' -Naur glibc-2.36.orig/elf/ldd.bash.in glibc-2.36/elf/ldd.bash.in
--- glibc-2.36.orig/elf/ldd.bash.in 2022-08-25 16:05:09.631944502 -0400
+++ glibc-2.36/elf/ldd.bash.in 2022-09-06 11:36:31.356744917 -0400
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
# Copyright (C) 1996-2022 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
diff '--color=auto' -Naur glibc-2.36.orig/timezone/tzselect.ksh glibc-2.36/timezone/tzselect.ksh
--- glibc-2.36.orig/timezone/tzselect.ksh 2022-08-25 16:05:10.408624969 -0400
+++ glibc-2.36/timezone/tzselect.ksh 2022-09-06 11:42:46.123011925 -0400
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
# Ask the user about the time zone, and output the resulting TZ value to stdout.
# Interact with the user via stderr and stdin.

View File

@ -1,12 +0,0 @@
diff -Naur glibc-2.31.orig/elf/Makefile glibc-2.31/elf/Makefile
--- glibc-2.31.orig/elf/Makefile 2020-02-01 06:52:50.000000000 -0500
+++ glibc-2.31/elf/Makefile 2020-07-13 10:21:19.374415161 -0400
@@ -594,7 +594,7 @@
-e 's%@VERSION@%$(version)%g' \
-e 's|@PKGVERSION@|$(PKGVERSION)|g' \
-e 's|@REPORT_BUGS_TO@|$(REPORT_BUGS_TO)|g' \
- -e 's%@BASH@%$(BASH)%g' \
+ -e 's%@BASH@%/bin/sh%g' \
-e 's%@TEXTDOMAINDIR@%$(localedir)%g'
ifeq ($(ldd-rewrite-script),no)

View File

@ -23,8 +23,11 @@ PKG_CONFIG:=pkg-config
AR:=$(tgt)-ar
CC:=$(tgt)-gcc
YACC:=bison
TC_CONFIG_IPSET:=y
LIBDIR:=/usr/lib
IP_CONFIG_SETNS:=y
CFLAGS += -DHAVE_SETNS
CFLAGS += -DHAVE_HANDLE_AT
HAVE_ELF:=y
CFLAGS += -DHAVE_ELF
LDLIBS += -lelf

View File

@ -3,7 +3,7 @@
# compat sources
VPATH+= ${LIBCSRCDIR}/compat
SRCS+= fgetwln.c open.c setproctitle.c pledge-noop.c closefrom.c
SRCS+= fgetwln.c open.c setproctitle.c pledge-noop.c
include ${.TOPDIR}/config.mk

View File

@ -1,109 +0,0 @@
/*
* Copyright (c) 2004-2005 Todd C. Miller <Todd.Miller@courtesan.com>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
#ifndef HAVE_CLOSEFROM
#include <sys/types.h>
#include <sys/param.h>
#include <unistd.h>
#include <stdio.h>
#ifdef HAVE_FCNTL_H
# include <fcntl.h>
#endif
#include <limits.h>
#include <stdlib.h>
#include <stddef.h>
#include <string.h>
#include <unistd.h>
#ifdef HAVE_DIRENT_H
# include <dirent.h>
# define NAMLEN(dirent) strlen((dirent)->d_name)
#else
# define dirent direct
# define NAMLEN(dirent) (dirent)->d_namlen
# ifdef HAVE_SYS_NDIR_H
# include <sys/ndir.h>
# endif
# ifdef HAVE_SYS_DIR_H
# include <sys/dir.h>
# endif
# ifdef HAVE_NDIR_H
# include <ndir.h>
# endif
#endif
#ifndef OPEN_MAX
# define OPEN_MAX 256
#endif
#if 0
__unused static const char rcsid[] = "$Sudo: closefrom.c,v 1.11 2006/08/17 15:26:54 millert Exp $";
#endif /* lint */
/*
* Close all file descriptors greater than or equal to lowfd.
*/
#ifdef HAVE_FCNTL_CLOSEM
int
closefrom(int lowfd)
{
(void) fcntl(lowfd, F_CLOSEM, 0);
return 0;
}
#else
int
closefrom(int lowfd)
{
long fd, maxfd;
#if defined(HAVE_DIRFD) && defined(HAVE_PROC_PID)
char fdpath[PATH_MAX], *endp;
struct dirent *dent;
DIR *dirp;
int len;
/* Check for a /proc/$$/fd directory. */
len = snprintf(fdpath, sizeof(fdpath), "/proc/%ld/fd", (long)getpid());
if (len > 0 && (size_t)len <= sizeof(fdpath) && (dirp = opendir(fdpath))) {
while ((dent = readdir(dirp)) != NULL) {
fd = strtol(dent->d_name, &endp, 10);
if (dent->d_name != endp && *endp == '\0' &&
fd >= 0 && fd < INT_MAX && fd >= lowfd && fd != dirfd(dirp))
(void) close((int) fd);
}
(void) closedir(dirp);
} else
#endif
{
/*
* Fall back on sysconf() or getdtablesize(). We avoid checking
* resource limits since it is possible to open a file descriptor
* and then drop the rlimit such that it is below the open fd.
*/
#ifdef HAVE_SYSCONF
maxfd = sysconf(_SC_OPEN_MAX);
#else
maxfd = getdtablesize();
#endif /* HAVE_SYSCONF */
if (maxfd < 0)
maxfd = OPEN_MAX;
for (fd = lowfd; fd < maxfd; fd++)
(void) close((int) fd);
}
return 0;
}
#endif /* !HAVE_FCNTL_CLOSEM */
#endif /* HAVE_CLOSEFROM */

View File

@ -121,7 +121,6 @@ objs += $(objdir)/fgetwln.o
objs += $(objdir)/open.o
objs += $(objdir)/setproctitle.o
objs += $(objdir)/pledge-noop.o
objs += $(objdir)/closefrom.o
objs += $(objdir)/fgetln.o
objs += $(objdir)/freezero.o
objs += $(objdir)/getdtablecount.o

View File

@ -43,7 +43,6 @@
#define STDERR_FILENO 2 /* standard error file descriptor */
int execvpe(const char *, char *const *, char *const *);
int closefrom(int);
int crypt_newhash(const char *, const char *, char *, size_t);
int getdtablecount(void);
int getentropy(void *, size_t);

View File

@ -11,6 +11,6 @@ makeflags += lib=lib
export BUILD_CC = gcc
export SYSROOT = $(DESTDIR)
export CROSS_COMPILE = $(tgt)-
export COPTS = -O2 --sysroot=$(DESTDIR)
export COPTS = -O2
post_install = chmod 755 $(DESTDIR)/lib/libcap.so.$(libcap_version)
include targets.mk

View File

@ -1,17 +1,17 @@
diff -Naur libcap-2.47.orig/Make.Rules libcap-2.47/Make.Rules
--- libcap-2.47.orig/Make.Rules 2021-01-23 21:06:05.000000000 -0500
+++ libcap-2.47/Make.Rules 2021-02-02 23:53:56.595677007 -0500
@@ -76,7 +76,7 @@
BUILD_GPERF := $(shell which gperf >/dev/null 2>/dev/null && echo yes)
diff -Naur libcap-2.65.orig/Make.Rules libcap-2.65/Make.Rules
--- libcap-2.65.orig/Make.Rules 2022-08-25 21:32:12.478981513 -0400
+++ libcap-2.65/Make.Rules 2022-08-25 21:33:55.027444454 -0400
@@ -63,7 +63,7 @@
KERNEL_HEADERS := $(topdir)/libcap/include/uapi
LIBCAP_INCLUDES = -I$(KERNEL_HEADERS) -I$(topdir)/libcap/include
DEFINES := -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
-SYSTEM_HEADERS = /usr/include
+SYSTEM_HEADERS = $(SYSROOT)/usr/include
INCS=$(topdir)/libcap/include/sys/capability.h
LDFLAGS += -L$(topdir)/libcap
CFLAGS += -Dlinux $(WARNINGS) $(DEBUG)
@@ -89,7 +89,7 @@
# DYNAMIC controls how capsh etc are linked - to shared or static libraries
SUDO := sudo
CC := $(CROSS_COMPILE)gcc
@@ -121,7 +121,7 @@
# Force enabled with "make DYNAMIC=yes ...".
DYNAMIC := $(shell if [ ! -d "$(topdir)/.git" ]; then echo $(SHARED); else echo no ; fi)
-PAM_CAP ?= $(shell if [ -f /usr/include/security/pam_modules.h ]; then echo $(SHARED) ; else echo no ; fi)

View File

@ -1,8 +1,7 @@
# Makefile - hhl - /usr/src/world/m4
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
#
#
distname = m4
patches = m4-glibc-fixes.patch
include world.mk
config_opts += --host=$(tgt)
CFLAGS += --sysroot=$(DESTDIR)

View File

@ -1,107 +0,0 @@
diff -Naur m4-1.4.18.orig/lib/fflush.c m4-1.4.18/lib/fflush.c
--- m4-1.4.18.orig/lib/fflush.c 2016-12-31 08:54:41.000000000 -0500
+++ m4-1.4.18/lib/fflush.c 2020-05-19 16:21:43.578036277 -0400
@@ -33,7 +33,7 @@
#undef fflush
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
/* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */
static void
@@ -72,7 +72,7 @@
#endif
-#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
+#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
# if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT
/* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */
@@ -148,7 +148,7 @@
if (stream == NULL || ! freading (stream))
return fflush (stream);
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
clear_ungetc_buffer_preserving_position (stream);
diff -Naur m4-1.4.18.orig/lib/fpending.c m4-1.4.18/lib/fpending.c
--- m4-1.4.18.orig/lib/fpending.c 2016-12-31 08:54:41.000000000 -0500
+++ m4-1.4.18/lib/fpending.c 2020-05-19 16:21:43.578036277 -0400
@@ -32,7 +32,7 @@
/* Most systems provide FILE as a struct and the necessary bitmask in
<stdio.h>, because they need it for implementing getc() and putc() as
fast macros. */
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
return fp->_IO_write_ptr - fp->_IO_write_base;
#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
/* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */
diff -Naur m4-1.4.18.orig/lib/fpurge.c m4-1.4.18/lib/fpurge.c
--- m4-1.4.18.orig/lib/fpurge.c 2016-12-31 08:54:41.000000000 -0500
+++ m4-1.4.18/lib/fpurge.c 2020-05-19 16:21:43.578036277 -0400
@@ -62,7 +62,7 @@
/* Most systems provide FILE as a struct and the necessary bitmask in
<stdio.h>, because they need it for implementing getc() and putc() as
fast macros. */
-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
fp->_IO_read_end = fp->_IO_read_ptr;
fp->_IO_write_ptr = fp->_IO_write_base;
/* Avoid memory leak when there is an active ungetc buffer. */
diff -Naur m4-1.4.18.orig/lib/freadahead.c m4-1.4.18/lib/freadahead.c
--- m4-1.4.18.orig/lib/freadahead.c 2016-12-31 08:54:41.000000000 -0500
+++ m4-1.4.18/lib/freadahead.c 2020-05-19 16:21:43.578036277 -0400
@@ -25,7 +25,7 @@
size_t
freadahead (FILE *fp)
{
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
if (fp->_IO_write_ptr > fp->_IO_write_base)
return 0;
return (fp->_IO_read_end - fp->_IO_read_ptr)
diff -Naur m4-1.4.18.orig/lib/freading.c m4-1.4.18/lib/freading.c
--- m4-1.4.18.orig/lib/freading.c 2016-12-31 08:54:41.000000000 -0500
+++ m4-1.4.18/lib/freading.c 2020-05-19 16:21:43.578036277 -0400
@@ -31,7 +31,7 @@
/* Most systems provide FILE as a struct and the necessary bitmask in
<stdio.h>, because they need it for implementing getc() and putc() as
fast macros. */
-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
return ((fp->_flags & _IO_NO_WRITES) != 0
|| ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0
&& fp->_IO_read_base != NULL));
diff -Naur m4-1.4.18.orig/lib/fseeko.c m4-1.4.18/lib/fseeko.c
--- m4-1.4.18.orig/lib/fseeko.c 2016-12-31 08:54:41.000000000 -0500
+++ m4-1.4.18/lib/fseeko.c 2020-05-19 16:21:43.578036277 -0400
@@ -47,7 +47,7 @@
#endif
/* These tests are based on fpurge.c. */
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
if (fp->_IO_read_end == fp->_IO_read_ptr
&& fp->_IO_write_ptr == fp->_IO_write_base
&& fp->_IO_save_base == NULL)
@@ -123,7 +123,7 @@
return -1;
}
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
fp->_flags &= ~_IO_EOF_SEEN;
fp->_offset = pos;
#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
diff -Naur m4-1.4.18.orig/lib/stdio-impl.h m4-1.4.18/lib/stdio-impl.h
--- m4-1.4.18.orig/lib/stdio-impl.h 2016-12-31 08:54:42.000000000 -0500
+++ m4-1.4.18/lib/stdio-impl.h 2020-05-19 16:21:43.601369662 -0400
@@ -138,3 +138,4 @@
# define _IOERR 0x10
#endif
+#define _IO_IN_BACKUP 0x100

View File

@ -2,8 +2,9 @@
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
#
distname = man-pages
patches += man-pages-destdir.patch
no_objdir = 1
use_configure = 0
include world.mk
build_cmd =
install_cmd = $(MAKE) DESTDIR=$(DESTDIR) prefix=/usr -C $(objdir) install
include targets.mk

View File

@ -1,22 +0,0 @@
diff -Naur man-pages-5.10.orig/Makefile man-pages-5.10/Makefile
--- man-pages-5.10.orig/Makefile 2020-12-21 10:20:40.000000000 -0500
+++ man-pages-5.10/Makefile 2021-02-01 15:42:12.024004277 -0500
@@ -1,6 +1,5 @@
-DESTDIR=
prefix?=/usr
-MANDIR=$(prefix)/share/man
+MANDIR=$(DESTDIR)$(prefix)/share/man
all: remove install
@@ -24,8 +23,8 @@
install:
for i in man?; do \
- install -d -m 755 $(DESTDIR)$(MANDIR)/"$$i" || exit $$?; \
- install -m 644 "$$i"/* $(DESTDIR)$(MANDIR)/"$$i" || exit $$?; \
+ install -d -m 755 $(MANDIR)/"$$i" || exit $$?; \
+ install -m 644 "$$i"/* $(MANDIR)/"$$i" || exit $$?; \
done
# Check if groff reports warnings (may be words of sentences not displayed)

View File

@ -1,11 +1,11 @@
diff -Naur ncurses-6.2.orig/configure ncurses-6.2/configure
--- ncurses-6.2.orig/configure 2020-02-08 16:06:19.000000000 -0500
+++ ncurses-6.2/configure 2021-02-02 23:19:21.212696811 -0500
@@ -15348,12 +15348,7 @@
echo "$as_me:15348: result: $with_stripping" >&5
echo "${ECHO_T}$with_stripping" >&6
diff -Naur ncurses-6.3.orig/configure ncurses-6.3/configure
--- ncurses-6.3.orig/configure 2021-10-17 11:12:23.000000000 -0400
+++ ncurses-6.3/configure 2022-05-10 13:31:50.225046310 -0400
@@ -16501,12 +16501,7 @@
echo "$as_me:16501: result: $enable_stripping" >&5
echo "${ECHO_T}$enable_stripping" >&6
-if test "$with_stripping" = yes
-if test "$enable_stripping" = yes
-then
- INSTALL_OPT_S="-s"
-else
@ -13,5 +13,5 @@ diff -Naur ncurses-6.2.orig/configure ncurses-6.2/configure
-fi
+INSTALL_OPT_S=
: ${INSTALL:=install}
echo "$as_me:15359: checking if install accepts -p option" >&5
: "${INSTALL:=install}"
echo "$as_me:16512: checking if install accepts -p option" >&5

37
world/openssl/Makefile Normal file
View File

@ -0,0 +1,37 @@
# Makefile - hhl - /usr/src/world/openssl
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
#
distname = openssl
distext = gz
include world.mk
config_cmd = cd $(objdir) && $(srcdir)/Configure $(config_opts)
export CFLAGS = --sysroot=$(DESTDIR)
ifeq (aarch64, $(arch))
config_opts += linux-aarch64
endif
ifeq (riscv64, $(arch))
config_opts += linux64-riscv64
endif
ifeq (x86_64, $(arch))
config_opts += linux-x86_64
endif
ifeq ($(filter i486 i586 i686, $(arch)), $(arch))
config_opts += linux-x86
endif
ifeq (i486, $(arch))
export CFLAGS = -latomic
endif
ifeq (armv7l, $(arch))
config_opts += linux-generic32
export CFLAGS = -latomic
endif
config_opts += --cross-compile-prefix=$(tgt)-
config_opts += --openssldir=/etc/ssl
config_opts += --libdir=/usr/lib
config_opts += shared
consif_opts += zlib-dynamic
include targets.mk

View File

@ -2,7 +2,6 @@
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
#
distname = psmisc
patches += psmisc-malloc.patch
include world.mk
config_opts += --host=$(tgt)
export CFLAGS = --sysroot=$(DESTDIR)

View File

@ -1,55 +0,0 @@
diff -Naur psmisc-23.3.orig/configure psmisc-23.3/configure
--- psmisc-23.3.orig/configure 2019-10-24 06:25:15.231547509 -0400
+++ psmisc-23.3/configure 2021-02-03 00:15:16.265839933 -0500
@@ -9658,25 +9658,9 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5
$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; }
-if test $ac_cv_func_malloc_0_nonnull = yes; then :
$as_echo "#define HAVE_MALLOC 1" >>confdefs.h
-else
- $as_echo "#define HAVE_MALLOC 0" >>confdefs.h
-
- case " $LIBOBJS " in
- *" malloc.$ac_objext "* ) ;;
- *) LIBOBJS="$LIBOBJS malloc.$ac_objext"
- ;;
-esac
-
-
-$as_echo "#define malloc rpl_malloc" >>confdefs.h
-
-fi
-
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working memcmp" >&5
$as_echo_n "checking for working memcmp... " >&6; }
if ${ac_cv_func_memcmp_working+:} false; then :
@@ -9787,25 +9771,9 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_realloc_0_nonnull" >&5
$as_echo "$ac_cv_func_realloc_0_nonnull" >&6; }
-if test $ac_cv_func_realloc_0_nonnull = yes; then :
$as_echo "#define HAVE_REALLOC 1" >>confdefs.h
-else
- $as_echo "#define HAVE_REALLOC 0" >>confdefs.h
-
- case " $LIBOBJS " in
- *" realloc.$ac_objext "* ) ;;
- *) LIBOBJS="$LIBOBJS realloc.$ac_objext"
- ;;
-esac
-
-
-$as_echo "#define realloc rpl_realloc" >>confdefs.h
-
-fi
-
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat accepts an empty string" >&5
$as_echo_n "checking whether stat accepts an empty string... " >&6; }
if ${ac_cv_func_stat_empty_string_bug+:} false; then :

View File

@ -1,12 +1,21 @@
# Makefile - hhl - /src/world/bin/s6-scripts
# Copyright 2021 Nathan Fisher <nfisher.sr@gmail.com>
#
progname = init
progname = init
export exec_prefix = $(DESTDIR)
export sbin = 1
include hhl.script.mk
VPATH += bin
sysctl_libdir = $(DESTDIR)/usr/lib/sysctl.d
scripts += halt
scripts += poweroff
scripts += reboot
scripts += shutdown
scripts += telinit
install: $(sysctl_libdir)/50-default.conf install_conf
sysctl_libdir = $(DESTDIR)/usr/lib/sysctl.d
install: $(sysctl_libdir)/50-default.conf install_conf install_scripts
$(sysctl_libdir)/50-default.conf: data/50-default.conf | $(sysctl_libdir)
install -m644 $< $@
@ -14,7 +23,11 @@ $(sysctl_libdir)/50-default.conf: data/50-default.conf | $(sysctl_libdir)
install_conf:
cp -R etc $(DESTDIR)
install_scripts: $(scripts)
for script in $(scripts) ; \
do install -m755 bin/$$script $(DESTDIR)/sbin ; done
$(sysctl_libdir):
install -d $@
.PHONY: install_conf
.PHONY: install_conf install_scripts

View File

@ -0,0 +1,3 @@
#!/bin/execlineb -S0
s6-linux-init-hpr -h $@

View File

@ -0,0 +1,3 @@
#!/bin/execlineb -S0
s6-linux-init-hpr -p $@

View File

@ -0,0 +1,3 @@
#!/bin/execlineb -S0
s6-linux-init-hpr -r $@

View File

@ -0,0 +1,3 @@
#!/bin/execlineb -S0
s6-linux-init-shutdown $@

View File

@ -0,0 +1,3 @@
#!/bin/execlineb -S0
s6-linux-init-telinit $@

View File

@ -1,3 +1,3 @@
#!/sbin/execlineb -P
#!/bin/execlineb -P
s6-linux-init-shutdown -a -r -- now

View File

@ -1,3 +1,3 @@
#!/sbin/execlineb -P
#!/bin/execlineb -P
s6-linux-init-shutdown -a -p -- now

View File

@ -1,2 +1,2 @@
#!/sbin/execlineb -P
#!/bin/execlineb -P

View File

@ -1,2 +1,2 @@
#!/sbin/execlineb -P
#!/bin/execlineb -P

View File

@ -1,3 +1,3 @@
#!/sbin/execlineb -P
#!/bin/execlineb -P
s6-linux-init-shutdown -a -p -- now

View File

@ -1,3 +1,3 @@
#!/sbin/execlineb -P
#!/bin/execlineb -P
s6-linux-init-shutdown -a -h -- now

View File

@ -1,2 +1,2 @@
#!/sbin/execlineb -P
#!/bin/execlineb -P

View File

@ -1,4 +1,4 @@
#!/sbin/execlineb -P
#!/bin/execlineb -P
redirfd -w 2 /dev/console
fdmove -c 1 2

View File

@ -1,4 +1,4 @@
#!/sbin/execlineb -P
#!/bin/execlineb -P
redirfd -w 2 /dev/console
fdmove -c 1 2

View File

@ -1,3 +1,3 @@
#!/sbin/execlineb -P
#!/bin/execlineb -P
/sbin/agetty -L -8 tty1 115200
/bin/getty tty1

View File

@ -1,4 +1,4 @@
#!/sbin/execlineb -P
#!/bin/execlineb -P
fdmove -c 2 1
fdmove 1 3

View File

@ -1,3 +1,3 @@
#!/sbin/execlineb -P
#!/bin/execlineb -P
s6-linux-init-shutdownd -c "/etc/s6/current" -g 3000

View File

@ -1,4 +1,4 @@
#!/sbin/execlineb -P
#!/bin/execlineb -P
fdmove -c 1 2
redirfd -rnb 0 fifo

Binary file not shown.

View File

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,5 @@
#!/bin/execlineb -P
if { pipeline { redirfd -w 2 /dev/null s6-rc -a list } grep -qFx mount-filesystems }
envfile /etc/s6/sv/getty-tty1/conf
importas -iu SPAWN SPAWN
exec getty /dev/tty1

View File

@ -0,0 +1,5 @@
#!/bin/execlineb -P
if { pipeline { redirfd -w 2 /dev/null s6-rc -a list } grep -qFx mount-filesystems }
envfile /etc/s6/sv/getty-tty2/conf
importas -iu SPAWN SPAWN
exec getty /dev/tty2

View File

@ -0,0 +1,5 @@
#!/bin/execlineb -P
if { pipeline { redirfd -w 2 /dev/null s6-rc -a list } grep -qFx mount-filesystems }
envfile /etc/s6/sv/getty-tty3/conf
importas -iu SPAWN SPAWN
exec getty /dev/tty3

View File

@ -0,0 +1,5 @@
#!/bin/execlineb -P
if { pipeline { redirfd -w 2 /dev/null s6-rc -a list } grep -qFx mount-filesystems }
envfile /etc/s6/sv/getty-tty4/conf
importas -iu SPAWN SPAWN
exec getty /dev/tty4

View File

@ -0,0 +1,5 @@
#!/bin/execlineb -P
if { pipeline { redirfd -w 2 /dev/null s6-rc -a list } grep -qFx mount-filesystems }
envfile /etc/s6/sv/getty-tty5/conf
importas -iu SPAWN SPAWN
exec getty /dev/tty5

View File

@ -0,0 +1,5 @@
#!/bin/execlineb -P
if { pipeline { redirfd -w 2 /dev/null s6-rc -a list } grep -qFx mount-filesystems }
envfile /etc/s6/sv/getty-tty6/conf
importas -iu SPAWN SPAWN
exec getty /dev/tty6

View File

@ -0,0 +1 @@
../../uid/0/env

View File

@ -0,0 +1 @@
S6_FDHOLDER_STORE_REGEX

Some files were not shown because too many files have changed in this diff Show More