suckless: added patching guide

master
TiynGER 4 years ago
parent d953429782
commit 6878d2cefc

@ -0,0 +1,33 @@
# Suckless
Suckless is a community that is best known for minimalist free software.
Notable works include `dwm` and `dmenu`.
## Workflow for installation
Programs written by the suckless community are minimal by default.
`.diff` files are available to patch functionality.
Configuring is done in the `config.h` file.
Expressions in `<>` may need replacement.
- If not already created initialize a git repository
- Create and switch to the `base` brach with `git branch base`
- Download the default version of the suckless program you want to patch
- Add and commit all the files in the `base` branch
- Clean the master branch
with `make clean & rm -f config.h & git reset --hard origin/base`
- Apply patches (this has to be done only once for each branch (except updates))
- Create and switch to a new branch for the patch with `git branch <feature>`
- Download the `.diff` file of the according feature into your directory
- Apply the patch to the current directory with `git apply <feature>.diff`
- Add and commit all the files in the `<feature>` branch
- Merge all branches into master branch (sometimes you can skip already merged
ones)
- Merge each branch (except the new feature) into master with `git merge <feature>`
- (maybe you have to manually merge some errors)
- If you have a `config` branch merge `config` into `master` before adding the
new `feature`
- Finally update the `config` branch
- If not created already create a `config` branch from the `base` branch
- Get the `config.def.h` of `master` into `config` with
`git checkout master config.def.h`
Loading…
Cancel
Save