Compare commits

..

No commits in common. "e819d7bd33bf6ab435dfe0dddb0e327816652b1f" and "b1c45b983cf645f6ccc890289e1825e5b559ae43" have entirely different histories.

3690 changed files with 16727 additions and 3207 deletions

View File

@ -1,6 +1,9 @@
-Packages adhere to the same basic set of rules as standard KISS packages.
-Packages under sys/core should NEVER be listed as an explicit dependency.
-However, indentation is three spaces, instead of four.
-The only package from Core that should be listed as an explicit dependency of
anything is cURL; this is because cURL is not absolutely necessary.
-Packages will only be accepted if they are available from an HTTPS source;
a good place to find secure sources is the Debian repositories. You can
@ -11,10 +14,18 @@
(e.g what UI toolkit to use), always take the option that results in the
fewest overall dependencies. Remember that forking is encouraged.
-Internationalization should always be disabled by default. English is the
only official language of this distribution.
-Internationalization should always be disabled by default.
-Unless necessary for an existing package, arbitrary libraries will not be
accepted.
-Packages with git+ sources will not be accepted. Git support was a mistake.
-Packages not interesting or useful may be allowed in unofficial, or will
be rejected
-New packages will not use install -d, nor shall they use sed -i. Neither of
these are portable. The former can be handled with -D, and the latter can
be accomplished using redirects. (note that this is subject to change if sed-i is put into core)
-Packages built from Git will be stored under ports/unofficial/rolling
-Packages built from tarballs will be stored under ports/unofficial/stable

View File

@ -4,7 +4,7 @@ enum_rolling()
{
MID_DIR=$(printf $KISS_PATH|sed -ne 's/.*:\(.*kiss-mfavila\):.*/\1/p')
ls "${MID_DIR}/ports/unofficial/rolling/"
ls "${MID_DIR}/community-mod/rolling/"
}
for file in enum_rolling #For every file under rolling...

View File

@ -1,29 +0,0 @@
#!/bin/sh -e
find "$1" | grep include > includes
sort includes|uniq -u > includes2
IDIR=$(cat includes2|tr '\n' ' '|sed -ne 's/\.\.\//-I\.\.\//gp')
PNME=$(grep PACKAGE_NAME Makefile|cut -f3 -d' ')
VNUM=$(sed -ne 's/.*\([0-9][0-9]*:[0-9][0-9]*:[0-9][0-9]*\).*/\1/p' Makefile)
# the below might need adjusting if the linker args span multiple lines... guess we'll find out
LIBS=$(grep '.*_LIBS = ' Makefile|cut -f3 -d' ')
MNSO="$(printf '%s.so.%s.%s.%s' "${PNME}" "$(echo $VNUM|cut -f1 -d:)" "$(echo $VNUM|cut -f2 -d:)" "$(echo $VNUM|cut -f3 -d:)")"
for c in $(ls *.c|cut -f1 -d.)
do
cc -DHAVE_CONFIG_H -I. -I.. -I../include $IDIR -c $c.c -o $c.o
done
cc *.o -shared -o "${MNSO}" $LIBS
for i in "$(printf "$PNME.so.%s" "$(echo $VNUM|cut -f1 -d:)")" "$(printf "%s.so" "${PNME}")"
do
ln -s "${MNSO}" "${i}"
done
cc *.o -r -o "$PNME.a"
sed -ne s/.*\([0-9][0-9]*:[0-9][0-9]*:[0-9][0-9]*\).*/\1/p Makefile

View File

@ -1,28 +0,0 @@
#!/bin/sh -e
find "$1" | grep include > includes
sort includes|uniq -u > includes2
IDIR=$(cat includes2|tr '\n' ' '|sed -ne 's/\.\.\//-I\.\.\//gp')
PNME=$(grep PACKAGE_NAME Makefile|cut -f3 -d' ')
VNUM=$(grep '[0-9][0-9]*:[0-9][0-9]*:[0-9][0-9]*' Makefile|cut -f3 -d' ')
# the below might need adjusting if the linker args span multiple lines... guess we'll find out
LIBS=$(grep '.*_LIBS = ' Makefile|cut -f3 -d' ')
MNSO="$(printf '%s.so.%s.%s.%s' "${PNME}" "$(echo $VNUM|cut -f1 -d:)" "$(echo $VNUM|cut -f2 -d:)" "$(echo $VNUM|cut -f3 -d:)")"
for c in $(ls *.c|cut -f1 -d.)
do
cc -DHAVE_CONFIG_H -I. -I.. -I../include $IDIR -c $c.c -o $c.o
done
cc *.o -shared -o "${MNSO}" $LIBS
for i in "$(printf "$PNME.so.%s" "$(echo $VNUM|cut -f1 -d:)")" "$(printf "$PNME.so.%s.%s.%s" "$(echo $VNUM|cut -f1 -d:)" "$(echo $VNUM|cut -f2 -d:)" "$(echo $VNUM|cut -f3 -d:)")"
do
ln -s "${MNSO}" "${i}"
done
cc *.o -r -o "$PNME.a"

View File

@ -1,6 +1,6 @@
#!/bin/rc
fn enum_core_deps { for (i in `{cat /var/db/kiss/repos/kiss-mfavila/ports/official/core/*/depends|cut -f1 -d' '}){printf '%s\n' $i}}
fn enum_core_deps { for (i in `{cat /var/db/kiss/repos/kiss-mfavila/core-mod/core/*/depends|cut -f1 -d' '}){printf '%s\n' $i}}
fn get_dep_paths { list=`{for (i in `{for (i in `enum_core_deps){kiss search $i|grep -v installed|grep -v 'core-mod/core'}}){printf '%s\n' $i}}
printf %s\n $list|tr ' ' '\n'|sort|uniq}

View File

@ -1,17 +1,21 @@
-get python to build without GNU-compatible grep? [we should just avoid python...]
-get everything under core/ to build statically? [only bsdtar, se, pkgconf, tcc]
-attempt to replace gcc with tcc? [in progress]
-write minimally viable HTTP/S client for official/core
-patch procps-ng to build with tcc
-patch pciutils or, more likely, replaced - fails to assemble with tccasm
-replace network-tools configure script
-replace mandoc with heirloom-doctools
-fix or replace syslinux with something that builds with tcc [done]
-replace libressl with bearssl [done]
-patch or replace libarchive to work with tcc
-patch libz makefile for tcc compat [done]
-curses library needs to be patched [done]
-restructure official/* [done]
-fix or replace util-linux, procps-ng and libarchive
-work on building tinyx
-flac needs its configure patched
-LessTif is busted; tries to mkdir an existing dir. Replace with OS/F MOTIF
-Package Haskell tools to allow building shellcheck from source
-es needs to have its patch adjusted
-libwebp cannot be retrieved from upstream securely; look into alternate sources
-rename all non-obvious GNU tools to gnu-$package
-rename all libraries to lib$package, adjust depends
-remove superfluous packages
-remove coreutils from browser deps - build as part of browser???
-replace all gnu-* in core-mod/core with alternatives
-look into packaging ftpfs, encfs, x11fs, and ucspi, as well as stunnel, sent,
-removed bkeymaps, brotli, jq.
-fix iptables package to not require GNU install
-add iptables to mbase?
-begin adding 'about' files to each directory
-remove need for autoconf in core/core-mod/
-remove need for git in core/core-mod/
-attempt to make packages m4-agnostic
-make rc the default user shell
-gradually rewrite shell scripts in rc - maybe port kiss?

View File

@ -11,17 +11,66 @@ stability is the concern of security, and then performance.
Expect patches for many - if not most - packages, in the future.
All packages under ports have been tested to compile with musl and tcc.
Packages not under ports have no guarantee. Breakage of things under
ports/unofficial will be handled when time is available. ports/official
will be handled by me personally, with top priority.
The mbase directory contains symlinks to packages that I install as my core
userspace.
A binaries subdir will be added in the future. I, however, encourage you to
build from source if possible.
The banished directory contains software that has been isolated for whatever
reason. May or may not include a "JUSTIFICATION" file to remind myself in the
future.
As the system is not fully self-hosting yet, some elements of core will be
provided in binary form as a convenience. Feel free to build them on your own
KISS system if you don't trust me, though.
Note that not all of the packages in this repo are written by me; some are
forked from Core and Community. This is purely a matter of convenience.
All packages under mbase have been tested and build on the Haswell
microarchitecture using the following CFLAGS (assuming GCC):
-pipe
Compile in memory
-w
Suppress errors
-D_FORTIFY_SOURCE=1
Perform lightweight tests to catch overflows and etc
-O2
Standard level of optimization
-march=native
Compile for the current micro-arch
-fno-asynchronous-unwind-tables
Do not include asynchronous unwind tables. Reduces binary size
-momit-leaf-frame-pointer
Leave out unneeded pointers
-ftree-loop-vectorize
Vectorize trees (unsure of the implications, but doesn't appear to cause
breakage; will investigate further)
-fstack-protector-strong
Sacrifice a fair amount of performance in order to protect from stack
smashing
--param ssp-buffer-size=4
Increase the number of functions under the stack protector
-fstack-clash-protection
Protect from stack clashing. Will investigate further
-fPIE
Generate position-independent executables
-fPIC
Generate position-independent code
-Wl,--hash-style=gnu -Wl,-pie
Linker arguments
A new subdir, bin, containing binaries built with the above CFLAGS (sans native)
will be added in the future. I, however, encourage you to build from source if
possible.
________________________________________________________________________________
@ -32,26 +81,31 @@ ________________________________________________________________________________
(Un)Official Repositories
________________________________________________________________________________
This repository is compatible with the legacy KISS package management
standard. Originally forked from upstream on 2021/7/9, I feel that
sufficient changes have been made for me to lay claim to the entire
repository.
Tentatively, it will be referred to as A/OS; I'm taking the FVWM
approach to naming things, so the A stands for whatever you want.
The unofficial repositories for KISS Linux maintained by Mid Favila.
Included in my repo is a snapshot of the community and musl core, xorg, and
extra repos as of 2021/7/9, modified to replace the utterly garbage packages
that some members had contributed (in blatant violation of guidelines, too!).
These were forked due to upstream's insistence on switching from LibreSSL to
OpenSSL, and from X11 to Wayland; the former due to Python, and the latter,
I'm not quite sure of. Regardless, I dislike these changes.
Software that will be removed and never added includes, but is not limited to,
the following:
Over time, packages that I'm not willing to maintain will be moved to
mid-graveyard; after a few months, they'll be deleted.
Any programs that require Python as a build-time dependency will have their
scripts rewritten in Common Lisp, or they will be removed. This will happen
ASAP.
I will also be removing packages that I just flat out don't like. If you want
them yourself, then copy them from an old git push. Software that will be
removed and never added includes, but is not limited to, the following;
-systemd or any of its ilk
-Open/LibreSSL or programs that explicitly depend on it
-OpenSSL or programs that explicitly depend on it
-Programs that require a version of Python newer than 3.9
-Programs written with or requiring Rust tooling
-Programs written with or requiring C++ tooling
-Programs written primarily by or for corporations, such as BTRFS utilities
(This applies triply to FAGMAN; Facebook, Apple, Google, Microsoft,
Amazon, and Netflix. I also will not tolerate software related to Tencent
@ -62,7 +116,9 @@ CAPACITY. THEY ARE NOT RESPONSIBLE FOR THESE PACKAGES. DO NOT SUBMIT REPORTS IN
#KISSLINUX ON LIBERA.CHAT IF THESE BREAK; EMAIL ME.
ALSO NOTE THAT THESE PACKAGES ARE CURRENTLY BEING REWRITTEN AND ARE NOT LIKELY
TO BE IN A USABLE STATE.
TO BE IN A USABLE STATE. I WILL NOT ACCEPT BUG REPORTS RELATING TO COMMUNITY
OR CORE, AND I WILL NOT ACCEPT REPORTS IF YOUR SYSTEM IS COMPILED WITH FLAGS
THAT ARE NOT INCLUDED ABOVE.
BEFORE SUBMITTING BUG REPORTS, READ ERIC S. RAYMOND'S "HOW TO ASK QUESTIONS THE
SMART WAY", AND SPEND SOME TIME STUDYING YOUR LOGS. I HAVE NO QUALMS HELPING
@ -72,7 +128,6 @@ BE SURE TO INCLUDE THE FOLLOWING:
-PACKAGE BUILD LOG
-SYSTEM DMESG
-YOUR CFLAGS
-TCC OR CPROC VERSION (OTHER COMPILERS UNSUPPORTED)
-GCC VERSION (CLANG UNSUPPORTED)
-X11 LOGS (IF RELEVANT; WAYLAND UNSUPPORTED)
THANK YOU FOR YOUR COOPERATION.

0
mbase/brownout Normal file
View File

0
mbase/classic-colors-git Normal file
View File

0
mbase/clearsans-font Normal file
View File

0
mbase/cloc Normal file
View File

0
mbase/cproc-git Normal file
View File

0
mbase/dictd Normal file
View File

0
mbase/dmenu Normal file
View File

0
mbase/dropbear Normal file
View File

0
mbase/dtach-git Normal file
View File

0
mbase/dzen-git Normal file
View File

0
mbase/editres-git Normal file
View File

0
mbase/emacs-mod Normal file
View File

0
mbase/emwm Normal file
View File

0
mbase/ffmpeg Normal file
View File

0
mbase/gambit Normal file
View File

0
mbase/gdb Normal file
View File

0
mbase/git Normal file
View File

0
mbase/gnu-diction Normal file
View File

0
mbase/gnu-freefont-fonts Normal file
View File

0
mbase/gnu-unifont-font Normal file
View File

0
mbase/gnuplot Normal file
View File

0
mbase/gv Normal file
View File

0
mbase/hicolor Normal file
View File

0
mbase/hostapd Normal file
View File

0
mbase/ii Normal file
View File

0
mbase/inetutils Normal file
View File

0
mbase/iosevka-font Normal file
View File

1
mbase/iptables Symbolic link
View File

@ -0,0 +1 @@
./community-mod/stable/iptables

0
mbase/less Normal file
View File

0
mbase/libmbim Normal file
View File

0
mbase/links2-mod Normal file
View File

0
mbase/lsc-git Normal file
View File

0
mbase/lsd-git Normal file
View File

0
mbase/lxtask Normal file
View File

0
mbase/lzip Normal file
View File

0
mbase/man-pages Normal file
View File

0
mbase/man-pages-posix Normal file
View File

0
mbase/maxima-lisp Normal file
View File

0
mbase/meh-git Normal file
View File

0
mbase/midscripts-git Normal file
View File

0
mbase/motif Normal file
View File

0
mbase/musl-compat-git Normal file
View File

0
mbase/nilfs-utils Normal file
View File

0
mbase/nmap Normal file
View File

0
mbase/pfetch Normal file
View File

0
mbase/picocom-git Normal file
View File

0
mbase/picom Normal file
View File

0
mbase/pidgin Normal file
View File

View File

0
mbase/pixz Normal file
View File

0
mbase/plzip Normal file
View File

0
mbase/qemu Normal file
View File

0
mbase/sbcl Normal file
View File

0
mbase/scrot Normal file
View File

0
mbase/sed-i Normal file
View File

0
mbase/shellcheck-bin Normal file
View File

0
mbase/slock-mod Normal file
View File

0
mbase/smack-utils Normal file
View File

0
mbase/sshfs Normal file
View File

0
mbase/stalonetray Normal file
View File

0
mbase/strace Normal file
View File

0
mbase/sup Normal file
View File

0
mbase/sxhkd Normal file
View File

0
mbase/sysmgr-git Normal file
View File

0
mbase/tabbed Normal file
View File

0
mbase/tcpdump Normal file
View File

0
mbase/tdlib-purple Normal file
View File

0
mbase/wmctrl-git Normal file
View File

0
mbase/wmutils-core-git Normal file
View File

0
mbase/wmutils-opt-git Normal file
View File

0
mbase/xcalc-git Normal file
View File

0
mbase/xclickroot-git Normal file
View File

0
mbase/xclock Normal file
View File

0
mbase/xdm Normal file
View File

0
mbase/xev Normal file
View File

View File

0
mbase/xf86-video-amdgpu Normal file
View File

0
mbase/xf86-video-intel Normal file
View File

0
mbase/xfsprogs Normal file
View File

0
mbase/xinput Normal file
View File

0
mbase/xless Normal file
View File

0
mbase/xmenu-git Normal file
View File

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