galeb

Једноставна статичка дистрибуција заснована на musl-у
Дневник | Датотеке | Референце | ПРОЧИТАЈМЕ | ЛИЦЕНЦА

чување f020ef4a2d8a9e13fa9dde6d03f22e56685f3e24
родитељ d6bbb028e9a85f4d3bb20dcd93e3c6cf8ba04636
Аутор: Страхиња Радић <contact@strahinja.org>
Датум:   Sun, 24 Jul 2022 15:11:37 +0200

Add elinks, dropbear; generate /etc/shells

Signed-off-by: Страхиња Радић <contact@strahinja.org>

Diffstat:
M02-chroot.sh | 10++++++++++
M03-packages.sh | 110+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
MBUGS | 13+++++++++----
MFAQ | 3+++
MTODO | 43++++++++++++++++++++++++-------------------
Mlib/pkgs.tsv | 5++---
измењених датотека: 6, додавања: 158(+), брисања: 26(-)

diff --git a/02-chroot.sh b/02-chroot.sh @@ -83,6 +83,16 @@ galeb:x:${GGID}:galeb ! fi +if [ -e ${GR}/etc/shells ]; then + msg info "%s exists" "${GR}/etc/shells" +else + msg info "Generating %s" "${GR}/etc/shells" + cat <<! >${GR}/etc/shells +/bin/sh +/bin/mksh +! +fi + msg info "Generating %s" "${GR}/etc/profile" cat <<! >${GR}/etc/profile LC_ALL= diff --git a/03-packages.sh b/03-packages.sh @@ -4280,6 +4280,46 @@ mkpk_install() fi end_substep +begin_substep dropbear-2022.82 +if [ -x /sucks/bin/dropbear ]; then + msg info "%s exists, skipping %s" /sucks/lib/libpopt.so.0.0.1 ${pkg} +elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then + unpack_pkg ${pkg} / +else + extract_pkg ${G_SRC} ${pkg} ${pkg}.tar.bz2 + ( + cd_or_fail ${G_SRC}/${pkg} + + cat <<! >MKPK +mkpk_name() +{ + printf "%s" "${pkg}" +} + +mkpk_install() +{ + CFLAGS='-Os -pipe -static --static -fcommon' + LDFLAGS='-static --static -fcommon -s' + DESTDIR=/build + PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" + export CFLAGS LDFLAGS DESTDIR PROGRAMS + + ./configure --prefix=/ \\ + --sysconfdir=/etc \\ + --localstatedir=/var \\ + --enable-static + + make ${JN} PROGRAMS="\${PROGRAMS}" MULTI=1 || exit 1 + make DESTDIR=/build PROGRAMS="\${PROGRAMS}" MULTI=1 install +} +! + mkpk ${pkg} + remove_dir ${G_SRC}/${pkg} + unpack_pkg ${pkg} / + ) || exit 1 +fi +end_substep + # Doesn't support HTTPS (yet?) # begin_substep snarf-7.0 # if [ -x /bin/snarf ]; then @@ -4454,6 +4494,76 @@ mkpk_install() fi end_substep +begin_substep elinks-0.15.0 +if [ -e /bin/elinks ]; then + msg info "%s exists, skipping %s" /bin/nasm ${pkg} +elif [ -e ${G_SPKG}/${pkg}.tar.xz ]; then + unpack_pkg ${pkg} / +else + extract_pkg ${G_SRC} ${pkg} ${pkg}.tar.xz + ( + cd_or_fail ${G_SRC}/${pkg} + + cat <<! >MKPK +mkpk_name() +{ + printf "%s" "${pkg}" +} + +mkpk_install() +{ + CFLAGS='-Os -pipe -static --static -fcommon -DVA_COPY=va_copy' + CPPFLAGS=\${CFLAGS} + LDFLAGS='-static --static -fcommon -s' + DESTDIR=/build + export CFLAGS CPPFLAGS LDFLAGS DESTDIR + + CC='cc -static' ./configure --prefix=/ \\ + --sysconfdir=/etc \\ + --mandir=/share/man \\ + --localstatedir=/var \\ + --localedir=/share/locale \\ + --docdir=/share/doc/${pkg} \\ + --disable-shared \\ + --disable-bittorrent \\ + --disable-cgi \\ + --disable-finger \\ + --disable-smb \\ + --disable-nntp \\ + --without-ruby \\ + --without-perl \\ + --without-lua \\ + --without-tre \\ + --with-openssl \\ + --with-zlib \\ + --with-bzlib \\ + --enable-mouse \\ + --enable-gopher \\ + --enable-ipv6 \\ + --enable-mailcap \\ + --enable-256-colors \\ + --enable-static || exit 1 + + # Sucky Makefile + for p in po/*.po; do + msgfmt -o \${p//.po/.gmo} \$p + done + + make ${JN} CC='cc -static' \\ + X_CFLAGS='' CFLAGS="\${CFLAGS}" \\ + LDFLAGS="\${LDFLAGS}" || exit 1 + make ${JN} CC='cc -static' \\ + X_CFLAGS='' CFLAGS="\${CFLAGS}" \\ + LDFLAGS="\${LDFLAGS}" DESTDIR="\${DESTDIR}" install +} +! + mkpk ${pkg} + remove_dir ${G_SRC}/${pkg} + unpack_pkg ${pkg} / + ) || exit 1 +fi +end_substep + begin_substep nasm-2.15.05 if [ -e /bin/nasm ]; then msg info "%s exists, skipping %s" /bin/nasm ${pkg} diff --git a/BUGS b/BUGS @@ -11,12 +11,17 @@ Known bugs/Errata script, as well as the needed libnl, but both are commented out. It has dbus stripped out, and I haven't been able to test how well it would behave. Use at your own risk. You will have to create a service file for **svc**(8) as - well. + well. Adding support for wireless is planned for a future version of Galeb, + and it will likely include the support for Christoph Lohmann's[1] conn, + rfkilld, nldev and nlmon. * utmp/wtmp is nonfunctional as I have been reluctant to include skalibs. That might change in a future version of Galeb. * Once you finish compiling and installing everything, the build scripts won't - be fully functional from that point on, due to sbase/ubase/9base utilities - having only a subset of options of coreutils etc. You can revert this by - uninstalling sbase, ubase and 9base. + be fully functional for rebuilding packages from that point on, due to + sbase/ubase/9base utilities having only a subset of options of coreutils etc. + You can revert this by uninstalling sbase, ubase and 9base. + + +[1]: http://r-36.net/scm/ diff --git a/FAQ b/FAQ @@ -119,6 +119,9 @@ A: When I created Galeb, I made my own choice of initial packages. You are free to add whatever you like. Some of my choices regarding packages not being included are deliberate. +Q: How do I activate wireless? +A: See BUGS. + [1]: https://www.gnu.org/licenses/gpl-faq.html#LGPLStaticVsDynamic [2]: https://www.gnu.org/licenses/license-list.html#Expat diff --git a/TODO b/TODO @@ -1,17 +1,34 @@ TODO ==== -[~] Add packages +[ ] Add "ports" system using mk + + +Low priority +------------ + +< > Create a dedicated shutdown suid executable + +< > Add -h to free + +< > Wireless support - needs testing! + [ ] git://r-36.net/conn [ ] git://r-36.net/rfkilld - [ ] Add X - [ ] Add ssh(d) + [ ] git://r-36.net/nldev - requires busybox mdev? + [ ] git://r-36.net/nlmon - requires busybox mdev? + [ ] Add wpa_supplicant (DBus stripped - untested! Commented out by + default) + +Done +---- + +[x] Add packages + [x] Add elinks + [/] Add X - better handled from within the installed system + [x] Add ~ssh(d)~ dropbear [x] https://git.2f30.org/ports/files.html [x] https://git.2f30.org/pass/files.html [x] Add GnuPG - [/] git://r-36.net/nldev - requires busybox mdev? - [/] git://r-36.net/nlmon - requires busybox mdev? - [x] Add wpa_supplicant (DBus stripped - untested! Commented out by - default) [x] Add opendoas [x] Add tmux [x] fsck.vfat @@ -27,18 +44,6 @@ TODO [/] Replace with axel if not installing curl [x] Add svc - -Low priority ------------- - -< > Create a dedicated shutdown suid executable - -< > Add -h to free - - -Done ----- - [x] Fix init scripts [x] git://r-36.net/stali-init [x] Add multiple ways to set hostname, TZ, etc. diff --git a/lib/pkgs.tsv b/lib/pkgs.tsv @@ -14,9 +14,6 @@ git://git.suckless.org/sinit sinit-20220713 git://git.suckless.org/smdev smdev-20220715 git://git.suckless.org/ubase ubase-20220709 git://oldgit.suckless.org/sup sup-20220718 -git://r-36.net/nldev nldev-20220723 -git://r-36.net/nlmon nlmon-20220723 -git://r-36.net/rfkilld rfkilld-20220722 git://repo.or.cz/tinycc.git tinycc-20220708 http://mama.indstate.edu/users/ice/tree/src/tree-2.0.2.tgz bc4b2e2c8726c6156d52a00b52de6b1d http://www.jimpryor.net/linux/releases/dcron-4.5.tar.gz 078833f3281f96944fc30392b1888326 @@ -136,3 +133,5 @@ https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-29.tar.xz e81e63acd8069 https://www.kernel.org/pub/linux/utils/net/iproute2/iproute2-5.17.0.tar.xz 8ade96ee93f37fba7e1beec89f1a54bf https://www.leonerd.org.uk/code/libtermkey/libtermkey-0.22.tar.gz 08bf514d59660391c3a21b3977a16c8c https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tar.xz 11d12076311563252a995201248d17e5 +https://matt.ucc.asn.au/dropbear/releases/dropbear-2022.82.tar.bz2 7a4a5f2c6d23ff2e6627c97d7c1aeceb +https://github.com/rkd77/elinks/releases/download/v0.15.0/elinks-0.15.0.tar.xz 8fe2e81d2cea75f57cd3cf9bdda6821b