-
Notifications
You must be signed in to change notification settings - Fork 1
/
README
188 lines (150 loc) · 9.32 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
|/
|\ISS Repo https://kisslinux.org
________________________________________________________________________________
KISS-me - A KISS repository for forks, projects, and fun
________________________________________________________________________________
The master branch is for:
1) A self-maintained 'fork' of wyverkiss https://github.com/wyvertux/wyverkiss
2) NonGNU experimentation
Other branches are for:
1) Strangeness
The structure of this repository
________________________________________________________________________________
The master branch is very finicky and I would not recommend using it for a usual
system; use it as a reference for building packages. As an example, many build
scripts have been modified to make use of meson or cmake when available, leaving
perhaps a large amount of overhead in the build system. Not to mention the fact
that it is intended for wyverkiss. Additionally, due to my distaste for GPL,
much of the core system has changed to include e.g. toybox, nawk, and pax. A lot
of utilities are gone because of dropping busybox, but I would like to assume
that I'll be just fine. We will see. Some current issues:
* toybox mdev does NOT work. Use something else, or handle /dev perms manually.
* python expects gnugrep; endianness must be specified.
Any packages that use a GPL license will end up in the gpl directory, regardless
of their position in the system hierarchy. Ideally, there will be almost no GPL
in the core, runtime system.
For the curious
________________________________________________________________________________
Here is a roughly current list of all the licenses each package in this
repository uses. The real question is how one feels about GPL-compatible (what I
would think of as semi-GPL) licenses (PSF, MPL).
The list doesn't go into the nuances of several licenses. Big examples are
things like mesa or llvm - projects which inherit extra licenses because of code
blobs they borrow. In general, I am semi-fine with this (if not wholly forced to
accept it).
NOTES:
* chromium is built using some bundled libs and programs, the biggest being
ffmpeg and x264. This makes chromium de facto GPL.
* zfs bundles util-linux for libblkid and libuuid. libblkid is BSD, but
libuuid is GPLv2.
* some packages include their own makefiles. Please be aware of this before
building packages. Currently,
{zlib-ng, musl, zfs, zstd, elftoolchain, netbsd-curses, wpa_supplicant}
* qemu, basu, dbus, glib, pipewire, xdg-desktop-portal{-wlr} only exist for
my job. The system can build and run just fine without them.
* the most GNU- and GPL-free system I've been able to achieve on this
system: alsa-{lib,utils}, linux, libuuid, and chromium's bundled
dependencies.
+-------------------+---------------+---------------------+---------------+
| CORE | LICENSE | EXTRA | LICENSE |
+-------------------+---------------+---------------------+---------------+
| b3sum | Public Domain | aerc | MIT |
| baseinit | MIT | cairo | MPLv1.1 |
| byacc | Public Domain | chromium | BSD 3-Clause |
| bzip2 | bzip2 | cozette-font | MIT |
| cmake | BSD 3-Clause | dbus | Academic |
| curl | MIT | dhcpcd | BSD |
| flex | Public Domain | elftoolchain | MIT |
| fossil | BSD 2-Clause | exercism | MIT |
| kiss | MIT | expat | BSD |
| libressl | MIT | fantasque-nerd-font | MIT |
| llvm | ISC | fontconfig | MIT |
| m4 | Apache-2.0 | freetype-harfbuzz | BSD |
| make | BSD/ISC | go | BSD 3-Clause |
| musl | BSD 2-Clause | gopls | BSD 3-Clause |
| nawk | MIT | gotop | MIT |
| oksh | MIT | iana-etc | Public Domain |
| openntpd | ISC | iosevka-nerd-font | OFL |
| otools | BSD-style | libdrm | MIT |
| samurai | Apache-2.0 | libffi | MIT |
| sm | MIT | libinput | X11 |
| smdev | MIT | libpciaccess | X11 |
| toybox | 0BSD | libpng | libpngv2 |
| xz | Public Domain | libudev-zero | ISC |
| zfs | CDDL | libva | MIT |
| zlib-ng | zlib | libwebp | BSD 3-Clause |
| zstd | BSD 3-Clause | libxml2 | MIT |
+-------------------+---------------+ mesa | MIT |
| WAYLAND | LICENSE | meson | Apache-2.0 |
+-------------------+---------------+ netbsd-curses | BSD 3-Clause |
| foot | MIT | nodejs | MIT |
| grim | MIT | nss | MPLv2 |
| libxkcommon | MIT | openssh | BSD |
| seatd | MIT | opus | BSD 3-Clause |
| slurp | MIT | perl | Artistic |
| wayfire | MIT | pipewire | MIT |
| wayland | MIT | pixman | MIT |
| wayland-protocols | MIT | pkgconf | ISC |
| wbg | MIT | python | PSFv2 |
| wev | MIT | sdl2 | BSD 3-Clause |
| wayclip | ISC | sqlite | Public Domain |
| wlroots | MIT | tzdata | Public Domain |
| xdp-wlr | MIT | vim | Vim |
| xkeyboard-config | MIT | wpa_supplicant | BSD 3-Clause |
+-------------------+---------------+---------------------+---------------+
| GPL | LICENSE |
+-------------------+---------------+
| alsa-lib | GPLv2.1 |
| alsa-utils | GPLv2 |
| basu | LGPLv2.1 |
| glib | GPLv2.1 |
| linux-headers | GPLv2 |
| qemu | GPLv2 |
| xdp | GPLv2.1 |
+-------------------+---------------+
---
My other stuff
________________________________________________________________________________
I am the maintainer of a couple other repositories:
KISS-haskell https://github.com/dilyn-corner/KISS-haskell - a KISS-compliant
repository that contains a bootstrappable ghc.
KISS-kde https://github.com/dilyn-corner/KISS-kde - A KISS-compliant
repository that brings the wonders of a plasma desktop to KISS.
KISS-static https://github.com/dilyn-corner/KISS-static - A KISS-compliant
repository that provides a static KISS rootfs.
dotfiles https://github.com/dilyn-corner/dotfiles - Just a simple way to
maintain my dotfiles and share screenshots. Don't use it, just marvel.
---
Useful fork-facts
________________________________________________________________________________
This is more-so for me and anyone like me who is both new to Git(hub) and forks.
Keeping up
________________________________________________________________________________
If you want to keep your fork in-line with upstream, there's a very
straightforward way of doing this! [1] Simply add the upstream
repository as a remote URL for git to track, and then you will be able to pull
down any changes upstream makes and merge them into your fork.
git remote add upstream $upstreamURL # Add upstream to your remotes
git fetch upstream # Fetch upstream's changes
git checkout master # Switch to master
git merge upstream/master # Merge upstream's master branch
Suppose upstream is _very_ busy while you do your work. They push a lot of
changes that you wish you had while you're working on your branch. If you
merge upstream into your branch, you'll have some hairy commit messages they
won't _super_ appreciate when you make your PR. So you can rebase instead. It's
very handy.
git checkout -b $newBranch
> You do work
> You commit your work
> They do work
> They push their work
> You want their work
git fetch upstream
git rebase upstream/master
Rebasing [2] is essentially just a patch of the work you did based off
the commit you made your fork from, that you can then simply slide into the
history without making it look wonky (with a bunch of merge commit messages).
This will be edited heavily in the future maybe hopefully probably. [3]
1. https://www.atlassian.com/git/tutorials/git-forks-and-upstreams
2. https://git-scm.com/book/en/v2/Git-Branching-Rebasing
3. https://medium.com/@catalinaturlea/clean-git-history-a-step-by-step-guide-eefc0ad8696d