name mode size
files 040000
COPYING.txt 100644 729B
README.txt 100644 4.23kB 100755 8.13kB 100755 1.09kB 100755 2.56kB 100644 2.29kB 100644 1.9kB 100644 3.04kB 100755 3.75kB 100755 3.99kB 100755 788B 100755 1.25kB
=============================================================================== LIBERTYBSD-SCRIPTS For deblobbing OpenBSD =============================================================================== 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. ---------------------------------------- SCRIPTS ---------------------------------------- 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 ---------------------------------------- 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. ---------------------------------------- NOTES ---------------------------------------- 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 /tmp/... 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... /tmp/script-name/ 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. ---------------------------------------- BORING STUFF ---------------------------------------- Send patches/issues to: </f/libertybsd> ( <#libertybsd> (Freenode) <> <LibertyBSD/libertybsd-scripts> (NotABug) License is ISC (COPYING.txt) Author is Jaidyn Ann <> Some ports contributions by jmfgdef (Jimmybot), Some improvements by Einhard Leichtfuß. Source is at