Compare commits
5 Commits
b1c45b983c
...
e819d7bd33
Author | SHA1 | Date | |
---|---|---|---|
e819d7bd33 | |||
74acce7243 | |||
e10c09cb3b | |||
a1c8d35f93 | |||
6c8aad5c86 |
|
@ -1,9 +1,6 @@
|
|||
-Packages adhere to the same basic set of rules as standard KISS packages.
|
||||
|
||||
-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 under sys/core should NEVER be listed as an explicit dependency.
|
||||
|
||||
-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
|
||||
|
@ -14,18 +11,10 @@
|
|||
(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.
|
||||
-Internationalization should always be disabled by default. English is the
|
||||
only official language of this distribution.
|
||||
|
||||
-Unless necessary for an existing package, arbitrary libraries will not be
|
||||
accepted.
|
||||
|
||||
-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
|
||||
-Packages with git+ sources will not be accepted. Git support was a mistake.
|
||||
|
|
|
@ -4,7 +4,7 @@ enum_rolling()
|
|||
{
|
||||
MID_DIR=$(printf $KISS_PATH|sed -ne 's/.*:\(.*kiss-mfavila\):.*/\1/p')
|
||||
|
||||
ls "${MID_DIR}/community-mod/rolling/"
|
||||
ls "${MID_DIR}/ports/unofficial/rolling/"
|
||||
}
|
||||
|
||||
for file in enum_rolling #For every file under rolling...
|
||||
|
|
29
NR_MAINT_TOOLS/make.sh
Executable file
29
NR_MAINT_TOOLS/make.sh
Executable file
|
@ -0,0 +1,29 @@
|
|||
#!/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
|
28
NR_MAINT_TOOLS/make.sh~
Executable file
28
NR_MAINT_TOOLS/make.sh~
Executable file
|
@ -0,0 +1,28 @@
|
|||
#!/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"
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/rc
|
||||
|
||||
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 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 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}
|
||||
|
|
38
NR_NOTES
38
NR_NOTES
|
@ -1,21 +1,17 @@
|
|||
-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?
|
||||
-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
|
||||
|
|
99
NR_README
99
NR_README
|
@ -11,66 +11,17 @@ stability is the concern of security, and then performance.
|
|||
|
||||
Expect patches for many - if not most - packages, in the future.
|
||||
|
||||
The mbase directory contains symlinks to packages that I install as my core
|
||||
userspace.
|
||||
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 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.
|
||||
A binaries subdir will be added in the future. I, however, encourage you to
|
||||
build from source if possible.
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
________________________________________________________________________________
|
||||
|
||||
|
@ -81,31 +32,26 @@ ________________________________________________________________________________
|
|||
(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.
|
||||
|
||||
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!).
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
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;
|
||||
Software that will be removed and never added includes, but is not limited to,
|
||||
the following:
|
||||
|
||||
-systemd or any of its ilk
|
||||
-OpenSSL or programs that explicitly depend on it
|
||||
-Open/LibreSSL 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
|
||||
|
@ -116,9 +62,7 @@ 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. 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.
|
||||
TO BE IN A USABLE STATE.
|
||||
|
||||
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
|
||||
|
@ -128,6 +72,7 @@ BE SURE TO INCLUDE THE FOLLOWING:
|
|||
-PACKAGE BUILD LOG
|
||||
-SYSTEM DMESG
|
||||
-YOUR CFLAGS
|
||||
-GCC VERSION (CLANG UNSUPPORTED)
|
||||
-TCC OR CPROC VERSION (OTHER COMPILERS UNSUPPORTED)
|
||||
-X11 LOGS (IF RELEVANT; WAYLAND UNSUPPORTED)
|
||||
|
||||
THANK YOU FOR YOUR COOPERATION.
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
./community-mod/stable/iptables
|
|
@ -1,32 +0,0 @@
|
|||
#!/bin/sh -e
|
||||
|
||||
cat > makeinfo <<EOF
|
||||
#!/bin/sh
|
||||
printf 'makeinfo (GNU texinfo) 5.2\n'
|
||||
EOF
|
||||
|
||||
chmod +x makeinfo
|
||||
export PATH=$PATH:$PWD
|
||||
|
||||
./configure \
|
||||
--prefix=/usr \
|
||||
--with-lib-path=/usr/lib:/usr/local/lib \
|
||||
--enable-targets=x86_64-pep \
|
||||
--enable-deterministic-archives \
|
||||
--enable-gold \
|
||||
--enable-ld=default \
|
||||
--enable-plugins \
|
||||
--disable-multilib \
|
||||
--disable-werror \
|
||||
--disable-gdb \
|
||||
--disable-nls \
|
||||
--disable-readline \
|
||||
--disable-gprof \
|
||||
--with-mmap \
|
||||
--with-system-zlib
|
||||
|
||||
make configure-host
|
||||
make tooldir=/usr
|
||||
make DESTDIR="$1" tooldir=/usr install
|
||||
|
||||
ln -sf ld.gold "$1/usr/bin/ld"
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user