diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/CODING_STYLE.md | 126 | ||||
-rw-r--r-- | docs/COMPILE.md | 61 | ||||
-rw-r--r-- | docs/FAQ.md | 40 | ||||
-rw-r--r-- | docs/FasesDonationsQR.png | bin | 7547 -> 0 bytes | |||
-rw-r--r-- | docs/MIRRORS.md | 20 | ||||
-rw-r--r-- | docs/STATUS.md | 38 | ||||
-rw-r--r-- | docs/ServerDonationsQR.png | bin | 7547 -> 0 bytes | |||
-rw-r--r-- | docs/TODO.md | 51 |
8 files changed, 0 insertions, 336 deletions
diff --git a/docs/CODING_STYLE.md b/docs/CODING_STYLE.md deleted file mode 100644 index a0817ac..0000000 --- a/docs/CODING_STYLE.md +++ /dev/null @@ -1,126 +0,0 @@ -# fases - Ferass' Base System - -*Simple coreutils for a fully functionnal UNIX-like system* - -[« Go back](/README.md) - -## Coding Style - -The programming language used is ***POSIX C99*** and all code must be written -in ***POSIX C99***, no extensions are used. - -The coding style is as follows: - -### General - -- The code shall be as simple to understand as possible, add comments if -necessary ; - -- For indentation, the code shall use tab characters ; - -- The code shall avoid using GNU-specific functions (as that would make -the program less portable) ; - -- Each line shall not exceed 79 characters ; - -- Utilities shall only implement POSIX-compliant options, if the utility -supports options, and the specified option is invalid, the utility shall -print a help text (this applies only to coreutils) ; - -- Utilities shall only use the **standard C library and POSIX libraries** ; - -- For comments, instead of using `//` (as in `// Comment`), the code shall -use `/*` and `*/` (as in `/* Comment */`) ; - -- For commenting code, use `//` (as in `// printf("broken code")`) ; - -- **Variable names** shall describe the variable's purpose ; - -- The `main()` function shall be placed at the top, after function -prototypes, to increase code readability ; - -### Blocks - -- In a block, do not use `{` and `}` if there's only one instruction inside ; - -``` -for (int i; i != 3; i++) - printf("%d\n", i); -``` - -- When using `{` and `}`, `{` shall not be on it's own line ; - -``` -if (i) { - printf("%d", i); - i = 3; -} -``` - -- The block shall only use 1 line if there's only one instruction ran and -that shall not exceed 79 characters ; - -``` -if (foo[1] == 'a') foo[1] = 'b'; -``` - -### Functions - -- The function type shall be on the same line as the function name and `{` ; - -``` -int main() { - printf("Hello World.\n"); -} -``` - -- Function names shall describe the function's intended purpose ; - -- When exiting, the function shall use `return` instead of `exit()` ; - -``` -int calculate(int i) { - int result; - if (i != 0) - result = 30 / 1; - return 0; - else - return 1; -} -``` - -- Variable declarations shall be at the top of the function ; - -``` -int main() { - int i, result; - char foo; - bool bar; -} -``` - -### Switch - -- In `switch (foo)`, `case` shall be indented ; - -``` -switch (foo) { - case 'b': - break; - case 'a': - printf("bar\n"); - default: - return 0; -} -``` - -### Preprocessor statements - -- The `#define` preprocessor statement shall only be used for setting -constant values ; - -``` -#define FOO 80 -``` - -- Preprocessor statements shall not be indented. diff --git a/docs/COMPILE.md b/docs/COMPILE.md deleted file mode 100644 index fe74b35..0000000 --- a/docs/COMPILE.md +++ /dev/null @@ -1,61 +0,0 @@ -# fases - Ferass' Base System - -*Simple coreutils for a fully functionnal UNIX-like system* - -[« Go back](/README.md) - -## Compile - -You have 2 choices: - -- compile each utility separately; - -- compile only fasesiab which includes all utilities in a single binary. - -Modify the `config.mk` file to fit your needs in both cases. - -## Compiling each utility separately - -For example to compile `cat`, you have to run the following: - - $ cd core/ - $ make cat - -And to compile a non-POSIX utility such as `yes`, you have to run the -following: - - $ cd extras/ - $ make yes - -## Compiling fasesiab - -Fasesiab stands for Ferass' Base System in a box. It includes the entire -coreutils in a single and tiny binary. - -Before compiling, you have to prepare `fasesiab`. -The `box.c` file should already contain some code but it may be outdated -so it's recommended to regenerate it: - - $ make genbox - -Next, run the following: - - $ make prepbox - -Now you're ready to compile! Run `make` and get a binary! - - $ make box - -## Installation - -For now, you can only install fasesiab and no manpages are being installed. -To install, simply run the following: - - $ doas make install - -Or, if using `sudo`: - - $ sudo make install - -Then, you should have a binary called `box`. Make sure `/usr/local/bin/` or -whatever `DESTDIR` and `PREFIX` you set is in your `$PATH`. diff --git a/docs/FAQ.md b/docs/FAQ.md deleted file mode 100644 index d97d6ad..0000000 --- a/docs/FAQ.md +++ /dev/null @@ -1,40 +0,0 @@ -# fases - Ferass' Base System - -*Simple coreutils for a fully functionnal UNIX-like system* - -[« Go back](../README.md) - -## FAQ - -Here are questions someone could ask. Read it! It could answer some of your -questions. - -Q: Why another coreutils? There's already GNU, Busybox, OpenBSD's, and some more. - -A: Most coreutils are either non-POSIX or use non-portable functions not -specified by POSIX. The `fases` project separates POSIX and non-POSIX -utilities while others do not. Some have also quite complex code, making it -harder to study the code. - -[We're not trying to trash other coreutils. A lot of them -(Busybox, OpenBSD, ...) are actually really good] - -Q: Is fases going to work on <insert UNIX-like operating system name here>? - -A: Well, it depends on the system itself. If your system implements POSIX -functions in its libc, then it'll work. Utilities are currently tested on -- OpenBSD ; - -- FreeBSD ; - -- OS X/Mac OS X/MacOS (just a little) ; - -- Artix Linux and Arch Linux ; - -- Alpine Linux. - -No. `fases` will never work on Microsoft Windows. - ---- - -More coming soon. diff --git a/docs/FasesDonationsQR.png b/docs/FasesDonationsQR.png Binary files differdeleted file mode 100644 index dc9d5c6..0000000 --- a/docs/FasesDonationsQR.png +++ /dev/null diff --git a/docs/MIRRORS.md b/docs/MIRRORS.md deleted file mode 100644 index 87c065a..0000000 --- a/docs/MIRRORS.md +++ /dev/null @@ -1,20 +0,0 @@ -# fases - Ferass' Base System - -*Simple coreutils for a fully functionnal UNIX-like system* - -[« Go back](../README.md) - -## Mirrors - -Development of fases is done on git.vitali64.duckdns.org but there are -mirrors made by other people: - -| Protocol | URL | Author | -|----------|-----|--------| -| https,git | [andrewyu.org](https://git.andrewyu.org/vitali64/fases.git) | Andrew Yu | -| https | [notabug.org](https://notabug.org/vitali64/fases) | Ferass | -| http,https,rsync | [mirrors.vern.cc](https://mirrors.vern.cc/fases) | ~vern team | -| https,git | [git.vern.cc](https://git.vern.cc/fases) | ~vern team | - -If you made a mirror too, be sure to let me know so I can add it on this -section too! diff --git a/docs/STATUS.md b/docs/STATUS.md deleted file mode 100644 index baf048b..0000000 --- a/docs/STATUS.md +++ /dev/null @@ -1,38 +0,0 @@ -# fases - Ferass' Base System - -*Simple coreutils for a fully functionnal UNIX-like system* - -[« Go back](/README.md) - -## Status - -The `fases` project is still incomplete as some utilities are missing, here's -what `fases` currently provides (most of those utilities are incomplete): - -- `ls` - -- `head` - -- `cat` - -- `yes` - -- `date` - -- `mkdir` - -- `echo` - -Other utilities are still in the making. Help is greatly appreciated. - -## Known bugs - -The `fases` project is still a Work-in-progress and as such, there are bugs. -Please do report bugs to me, via IRC, email, or even by using Notabug.org -issues. - -| Bug | Affected utility-ies | -|-------------------------------------------------------------|-------| -| Sometimes, `-l` would show incorrect permissions. | `ls` | -| When there's a lot to print, `-l` fails with a memory error | `ls` | - diff --git a/docs/ServerDonationsQR.png b/docs/ServerDonationsQR.png Binary files differdeleted file mode 100644 index 92cf53a..0000000 --- a/docs/ServerDonationsQR.png +++ /dev/null diff --git a/docs/TODO.md b/docs/TODO.md deleted file mode 100644 index 2ea60f6..0000000 --- a/docs/TODO.md +++ /dev/null @@ -1,51 +0,0 @@ -# fases - Ferass' Base System - -*Simple coreutils for a fully functionnal UNIX-like system* - -[« Go back](/README.md) - -## TODO list - -- Test on lots of unix/unix-like operating systems - -- Add lots of utils - -### chmod.c - -- support "a+rwx" and such and -R - -### chown.c - -- fix - -### date.c - -- support dates as operands - -### ln.c - -- support -L/-P - -- support this: `$ ln [-fs] [-L|-P] src target_dir` - -### ls.c - -- broken permissions, -l follows symlinks - -### mkdir.c - -- implement -p - -### more.c - -- implement more options - -### printf.c - -- fix string formatting - -### rm.c - -- implement all options, rm -R doesn't recursively -remove directories - |