Skip to content
/ 2bsd2git Public

an attempt at automatically turning 2.11-BSD sources + patches into a git lineage

License

Notifications You must be signed in to change notification settings

onre/2bsd2git

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

2bsd2git
~~~~~~~~

a collection of small utilities for automatic transmogrification of
2.11-BSD patches into git commits. it can also turn manpages into HTML
if you have mandoc(1) installed. if not, get it from: https://mandoc.bsd.lv/

status
~~~~~~

this thing is a work in progress so adjust expectations accordingly.

known issues
~~~~~~~~~~~~

- the cleanup could remove lots of other things without affecting patching
  (prime example: catman pages)
- the only piece of file metadata git stores is the executable bit
- replicating the application recipe in patch2commit.sh is what it is

todo
~~~~

verify the output against a manually upgraded known-good system.

quick guide
~~~~~~~~~~~

from zero to repo:

$ make

subtargets
~~~~~~~~~~

HTML manpages:

$ make html-manpages

apply a single patch:

$ make PATCH=460 apply

update the 2.11-BSD distribution files via rsync:

$ make update

longer explanation
~~~~~~~~~~~~~~~~~~

the default make target does the following:

- rsync 2.11-BSD from TUHS
- extract the root dump and file[678].tar.gz into a directory
- remove binaries
- create a git commit from this, using VERSION file as the message and
  its timestamp as the commit date
- unpack patches into a separate directory
- start applying patches one by one, using the patch file date as the commit
  date

license
~~~~~~~
MIT license applies, see the file LICENSE for more information.

About

an attempt at automatically turning 2.11-BSD sources + patches into a git lineage

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published