README, TODO: Minor updates

This commit is contained in:
Juno Takano 2025-04-30 19:45:39 -03:00
commit 638f886baf
2 changed files with 6 additions and 6 deletions

View file

@ -18,7 +18,7 @@ As a program that can brick your system if something goes wrong, it's really imp
Each language will be used to implement a simple command-line interface that fulfills the specification below. "Simple" means the goal is not to cover corner cases, but to prototype and make a decision based on language syntax, ergonomics, expressiveness, documentation, ecosystem, tooling and overall experience. Each language will be used to implement a simple command-line interface that fulfills the specification below. "Simple" means the goal is not to cover corner cases, but to prototype and make a decision based on language syntax, ergonomics, expressiveness, documentation, ecosystem, tooling and overall experience.
Iganaq Napkin Spec v0.1 Iganaq Napkin Spec v0.2
A1. 'print' refers to messages for users. They MUST always be printed. A1. 'print' refers to messages for users. They MUST always be printed.
A2. 'log' refers to messages for programmers. They MUST be printed only A2. 'log' refers to messages for programmers. They MUST be printed only
@ -30,8 +30,7 @@ Each language will be used to implement a simple command-line interface that ful
A3.2. If this line is not found, the su_command MUST default to 'su -c'. A3.2. If this line is not found, the su_command MUST default to 'su -c'.
A3.3. If it is found, the su_command used MUST be whatever was specified. A3.3. If it is found, the su_command used MUST be whatever was specified.
A3.4. Whatever su_command MUST be validated once for presence at the path A3.4. Whatever su_command MUST be validated once for presence at the path
provided or obtained from $PATH, executability and running 'true' provided or obtained from $PATH and filesystem permission to execute
with exit code 0.
A4. The 'command' is the first argument passed to the program. A4. The 'command' is the first argument passed to the program.
A5. The 'arguments' are all but the first argument passed to the program. A5. The 'arguments' are all but the first argument passed to the program.

View file

@ -8,9 +8,9 @@
- [ ] Validation - [ ] Validation
- [ ] Valid path or in `PATH` - [ ] Valid path or in `PATH`
- [ ] Executability - [ ] Executability
- [-] `true` exits with status 0 (see note 3) - ~~`true` exits with status 0 (see note 3)~~
- [x] Add logging - [x] Add logging
- [ ] Logs only if DEBUG is set - [x] Logs only if DEBUG is set
- [x] Print each command executed, not just package names - [x] Print each command executed, not just package names
- [x] Case with no packages provided - [x] Case with no packages provided
- [x] Prints a message - [x] Prints a message
@ -45,5 +45,6 @@
their password every time. This should be dropped from the spec instead their password every time. This should be dropped from the spec instead
4. INS v0.1 changes requirement B2.3 to "MUST print the OS name and MUST log 4. INS v0.1 changes requirement B2.3 to "MUST print the OS name and MUST log
contents of /etc/os-release" in order to make the logging function testable contents of /etc/os-release" in order to make the logging function testable
without user input. without user input
3. As per item 3 above, INS v0.2 drops "run 'true' with exit code 0" from A3.4