Nexoniarz is the sole author and SchOS was never published under Apache-2.0, so this is a straight relicence. LICENSE is the FSF GPLv2 text, every first-party SPDX header moves to GPL-2.0-or-later, and NOTICE, README.md, docs/licensing.md and the site say so. projects/schfs-linux follows the rest of the tree. The GPL gives copyleft: a fork has to ship its source. It also lifts the old "Linux drivers, never" rule, since GPL-2.0-only code combines with GPL-2.0-or-later. "Or later" leaves room for GPLv3, but one binary still has to pick one version, so docs/licensing.md now keeps Apache-2.0 and GPLv3 code out of the kernel to keep Linux code possible there. BSD 4-clause code goes from "avoid" to "no", because the advertising clause is GPL-incompatible. LDLS still ships no .ko. That boundary is now project policy rather than a legal requirement, and ldls.md, devices.md and licensing.md section 6 say so. refmod declares license=GPL, and ldls-check passes (27 checks). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
41 lines
1.6 KiB
Makefile
41 lines
1.6 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
# SchOS ports — third-party software, one directory per port.
|
|
# Every port's licence must combine with GPL-2.0-or-later; see docs/licensing.md.
|
|
#
|
|
# ports/musl/ libc — installs headers/libs to build/ports/musl/prefix
|
|
# ports/mksh/ MirBSD Korn Shell — installed as sysroot/bin/sh
|
|
# ports/toybox/ core utilities — installed as sysroot/bin/<applet>
|
|
# ports/kilo/ the text editor — installed as sysroot/bin/{kilo,edit}
|
|
# ports/ncurses/ terminfo + screen library — link-time only, ships nothing
|
|
# ports/zsh/ the Z shell — installed as sysroot/bin/zsh, beside /bin/sh
|
|
#
|
|
# A port directory holds only a Makefile and optional patches/. Everything
|
|
# generated lives in build/ports/<name>/ — see mk/port.mk for the contract.
|
|
# Tarballs are cached in dist/ and are never removed by 'clean'.
|
|
#
|
|
# Order matters: musl must be built before anything that links against it.
|
|
|
|
# Ports that live in this directory but are deliberately not built by `make`.
|
|
# Empty for now; the filter stays because the reason it existed will recur --
|
|
# a port whose licence cannot be combined with GPL-2.0-or-later can be kept here for
|
|
# local testing but must never be built into a SchOS image.
|
|
NOTPORTS :=
|
|
PORTS := $(filter-out $(NOTPORTS), \
|
|
$(patsubst %/,%,$(sort $(dir $(wildcard */Makefile)))))
|
|
|
|
.PHONY: all $(PORTS) clean distclean
|
|
|
|
all: $(PORTS)
|
|
|
|
mksh: musl
|
|
toybox: musl
|
|
kilo: musl
|
|
fastfetch: musl
|
|
ncurses: musl
|
|
zsh: musl ncurses
|
|
|
|
$(PORTS):
|
|
$(MAKE) -C $@
|
|
|
|
clean distclean:
|
|
for p in $(PORTS); do $(MAKE) -C $$p $@; done
|