Scripts for deblobbing and rebranding OpenBSD sources-- part of LibertyBSD.

Jaidyn Levesque ca56347765 Remove divsi3.S, file without license 3 years ago
files bb42decd66 Remove upgrade option (until 6.7) 3 years ago
COPYING.txt 43e38f3e7c Fix COPYING etc. 4 years ago
README.txt 0ca4275570 Add mention of OBSD source-location. 3 years ago 05d434219c Cleanup, bug-fixes. 3 years ago 116b0190d2 Remove pas as an ISA sound device 3 years ago a4fc78c67c Replace old sendbug.1 with new 3 years ago c981d01ca5 New install.sub; update root.mail 3 years ago c981d01ca5 New install.sub; update root.mail 3 years ago 13a653da82 Misc. changes 3 years ago b7acfce87d Fix multi-line error 3 years ago ca56347765 Remove divsi3.S, file without license 3 years ago c981d01ca5 New install.sub; update root.mail 3 years ago c981d01ca5 New install.sub; update root.mail 3 years ago



Scripts used to deblob and rebrand OpenBSD source-code, made for the
LibertyBSD project. You can get OBSD sources from your local mirror
at, as the 'src', 'xenocara', or 'sys'
tarballs. CVS can be used, as well.

There're five scripts here, so here's what they do: Deblobs main OBSD source of NF FW, references, etc Gets rid of pages with non-free (NF) references Deletes NF firmware and references thereof from kernel Basic system rebranding, etc System/boot rebranding Rebrand man-pages, and add some of our new ones
Rebrands X sources-- not much to this one
Deblob ports tree of all NF listings
Rebrand ports in ports-tree, etc

Usage of these scripts is pretty simple-- to make freshly deblobbed OBSD
sources, just run them each with the argument being the directory of the
corresponding source-code, like so:

sh /usr/src
sh /usr/src
sh /usr/src/sys
sh /usr/xenocara
sh /usr/ports

If you want liberated OpenBSD sources, but without the LibertyBSD rebranding,
just skip the * scripts and everything should go fine.

All of the scripts make use of "./", and all file-editing/etc
operations are abstracted to its functions.

This is because instead of actually applying changes directly to OBSD
sources, the deblob scripts create a set of patches for them, and *then*
apply them.

You might want to perform multiple operations on a given file, (I.E.,
substitute text, then remove a line, etc.). After every operation, a new
(modified) version of the file is created in the /tmp/ directory, along with
a patch. So if you want to do multiple operations, you'll need to decide
whether or not to use the original source-code, or a modified version from

This has been abstracted away with the "ifile" and "ofile" functions.
"ifile" outputs to stdout the contents of the file-- be it the patch-file, the
original, whatever is appropriate. "ofile" writes to the patch-file what is
piped to it, and handles the bullocks.

Hence why "ifile | operation | ofile" is so common in

Each script uses a very clearly-named /tmp/ directory...

While it is a *tad* bit weird do all of this indirect work on the sources, it
has a few advantages I'd like to stick with:
* Abstraction.
Operations are all very general and unspecific; you don't need
to manually muck with `sed` for every individual patch.
* Easy debugging.
If there's a problem, you can stop the script before it patches
original sources, and look at the /tmp/ data. Compare the
.orig with the .patch with the modified, etc. Very useful.
* Patch generation.
With patches being integral to the entire process, it makes all
changes made to OBSD source code very transparent. Anyone could
take a look at a tarball of the patches and understand *exactly*
what changed.
There're probably some other obscure use-cases for these
patches, anyway. And if it's easy to support a weird
hypothetical use-case, why not?

... in order of importance.

Send patches/issues to:
<#libertybsd> (Freenode)


License is ISC (COPYING.txt)
Author is Jaidyn Ann
Some ports contributions by jmfgdef (Jimmybot),
Some improvements by Einhard Leichtfuß.
Source is at