diff --git a/CHANGELOG.md b/CHANGELOG.md index 85ac0bf..c7543b5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,9 @@ The first version, to be released as 0.1.0. the web UI. Networks smaller than a /24 explain that they belong in the enclosing /24's zone. - docs/operations.md: setting up a secondary server with its own jarld. +- Jarl is released under the MIT License (`LICENSE`), which is installed + with the docs and is the Debian package's `copyright` file (with the + bundled Cinzel font's OFL). - A Debian package: `make deb` builds `dist/jarl__.deb` with only `dpkg-deb` (no root), for the host or any other architecture (`DEB_ARCH=arm64`). Installing it creates the `jarl` user and directories diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..2eda393 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 abrown38 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Makefile b/Makefile index ce7b57b..0a1aecb 100644 --- a/Makefile +++ b/Makefile @@ -82,6 +82,7 @@ install-files: install -D -m 0644 deploy/sysusers.d/jarl.conf $(DESTDIR)$(SYSUSERSDIR)/jarl.conf install -D -m 0644 deploy/tmpfiles.d/jarl.conf $(DESTDIR)$(TMPFILESDIR)/jarl.conf install -D -m 0644 README.md $(DESTDIR)$(DOCDIR)/README.md + install -D -m 0644 LICENSE $(DESTDIR)$(DOCDIR)/LICENSE install -D -m 0644 CHANGELOG.md $(DESTDIR)$(DOCDIR)/CHANGELOG.md install -d $(DESTDIR)$(DOCDIR)/docs $(DESTDIR)$(DOCDIR)/contrib/acme.sh $(DESTDIR)$(DOCDIR)/contrib/lego install -m 0644 docs/*.md $(DESTDIR)$(DOCDIR)/docs/ @@ -105,7 +106,7 @@ dist: build for arch in amd64 arm64; do \ GOOS=linux GOARCH=$$arch go build $(GOFLAGS) -ldflags '$(LDFLAGS)' -o dist/jarl-$(VERSION)-linux-$$arch/jarld ./cmd/jarld && \ GOOS=linux GOARCH=$$arch go build $(GOFLAGS) -ldflags '$(LDFLAGS)' -o dist/jarl-$(VERSION)-linux-$$arch/jarl ./cmd/jarl && \ - cp -r README.md CHANGELOG.md docs deploy contrib bin/completion dist/jarl-$(VERSION)-linux-$$arch/ && \ + cp -r README.md CHANGELOG.md LICENSE docs deploy contrib bin/completion dist/jarl-$(VERSION)-linux-$$arch/ && \ tar -C dist -czf dist/jarl-$(VERSION)-linux-$$arch.tar.gz jarl-$(VERSION)-linux-$$arch || exit 1; \ done diff --git a/README.md b/README.md index 9fe6197..ff6d879 100644 --- a/README.md +++ b/README.md @@ -143,6 +143,11 @@ Version 0.1.0, the first release. It is feature-complete for one server's configuration. DNSSEC signing and managing several servers are not handled yet ([concepts.md](docs/concepts.md#what-jarl-deliberately-doesnt-do-yet)). +## License + +Jarl is released under the [MIT License](LICENSE). The bundled Cinzel font +is under the SIL Open Font License 1.1 (below). + ## Credits The "Jarl" name in the web UI's header uses [Cinzel](https://github.com/NDISCOVER/Cinzel) Bold diff --git a/scripts/mkdeb.sh b/scripts/mkdeb.sh index 486f1bb..a032264 100755 --- a/scripts/mkdeb.sh +++ b/scripts/mkdeb.sh @@ -58,6 +58,24 @@ GOOS=linux GOARCH=$goarch GOARM=$goarm CGO_ENABLED=0 go build -ldflags "$LDFLAGS make --no-print-directory install-files DESTDIR="$root" PREFIX=/usr \ UNITDIR=/usr/lib/systemd/system JARLD_BIN="$work/jarld" JARL_BIN="$work/jarl" >/dev/null +# Debian's machine-readable copyright file, from LICENSE and the bundled +# font's licence (the font is embedded in jarld's web UI). +indent() { sed -e 's/^$/./' -e 's/^/ /' "$1"; } +{ + echo "Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/" + echo "Upstream-Name: jarl" + echo + echo "Files: *" + echo "Copyright: $(sed -n 's/^Copyright (c) //p' LICENSE)" + echo "License: Expat" + indent LICENSE + echo + echo "Files: internal/web/static/assets/fonts/*" + echo "Copyright: 2020 The Cinzel Project Authors" + echo "License: OFL-1.1" + indent internal/web/static/assets/fonts/Cinzel-OFL.txt +} > "$root/usr/share/doc/jarl/copyright" + for f in postinst prerm postrm; do install -m 0755 "deploy/debian/$f" "$root/DEBIAN/$f" done