|
|
|
@ -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` |