diff options
| author | Mehmet Samet Duman <yongdohyun@projecttick.org> | 2026-04-02 18:24:20 +0300 |
|---|---|---|
| committer | Mehmet Samet Duman <yongdohyun@projecttick.org> | 2026-04-02 18:24:20 +0300 |
| commit | c800ffec456be2f8f346a3a3f50e1e5fa6ee2f0e (patch) | |
| tree | e9754c08c193d5706b9ce8b2f7d2aee2db98dad6 /corebinutils/date/README.md | |
| parent | d12e80797cf0ae7a0bd3cd0cd7948f532f3181ac (diff) | |
| parent | ae4c58645a13317bb8540d47f8f7cfa768f17eb2 (diff) | |
| download | Project-Tick-c800ffec456be2f8f346a3a3f50e1e5fa6ee2f0e.tar.gz Project-Tick-c800ffec456be2f8f346a3a3f50e1e5fa6ee2f0e.zip | |
Add 'corebinutils/date/' from commit 'ae4c58645a13317bb8540d47f8f7cfa768f17eb2'
git-subtree-dir: corebinutils/date
git-subtree-mainline: d12e80797cf0ae7a0bd3cd0cd7948f532f3181ac
git-subtree-split: ae4c58645a13317bb8540d47f8f7cfa768f17eb2
Diffstat (limited to 'corebinutils/date/README.md')
| -rw-r--r-- | corebinutils/date/README.md | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/corebinutils/date/README.md b/corebinutils/date/README.md new file mode 100644 index 0000000000..2a60b313e7 --- /dev/null +++ b/corebinutils/date/README.md @@ -0,0 +1,27 @@ +# date + +Standalone musl-libc-based Linux port of FreeBSD `date` for Project Tick BSD/Linux Distribution. + +## Build + +```sh +gmake -f GNUmakefile +gmake -f GNUmakefile CC=musl-gcc +``` + +## Test + +```sh +gmake -f GNUmakefile test +gmake -f GNUmakefile test CC=musl-gcc +``` + +## Notes + +- Port strategy is Linux-native syscall/API mapping, not a FreeBSD userland ABI shim. +- Time reads and writes use `clock_gettime(2)`, `clock_getres(2)`, and `clock_settime(2)`. +- `-r file` uses Linux `stat(2)` nanosecond timestamps via `st_mtim`. +- Time zone selection uses the libc `TZ` mechanism (`setenv("TZ", ...)` + `tzset()`), so named zones depend on installed tzdata and POSIX `TZ` strings work without glibc-specific behavior. +- `%N` formatting, ISO-8601 rendering, and FreeBSD `-v` adjustments are implemented in local project code so the port stays musl-clean. +- Unsupported semantics are explicit: FreeBSD `-n` is rejected on Linux because there is no equivalent timed/network-set path here. +- Setting the real-time clock still requires Linux `CAP_SYS_TIME`; the port does not emulate FreeBSD `utmpx`/syslog side effects when the clock changes. |
