summaryrefslogtreecommitdiff
path: root/corebinutils/sync/README.md
diff options
context:
space:
mode:
authorMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-02 18:29:45 +0300
committerMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-02 18:29:45 +0300
commit4cf86e37e42f9f04ec4a41a28ffe466d2510438a (patch)
treef47f010bc779e56073514311796a4c130f284546 /corebinutils/sync/README.md
parent1edb2cb7b8a720ba8ae4438947256515a93b7ca9 (diff)
parenta304c2b9dd922485b980b94fe635b512d9dce9c2 (diff)
downloadProject-Tick-4cf86e37e42f9f04ec4a41a28ffe466d2510438a.tar.gz
Project-Tick-4cf86e37e42f9f04ec4a41a28ffe466d2510438a.zip
Add 'corebinutils/sync/' from commit 'a304c2b9dd922485b980b94fe635b512d9dce9c2'
git-subtree-dir: corebinutils/sync git-subtree-mainline: 1edb2cb7b8a720ba8ae4438947256515a93b7ca9 git-subtree-split: a304c2b9dd922485b980b94fe635b512d9dce9c2
Diffstat (limited to 'corebinutils/sync/README.md')
-rw-r--r--corebinutils/sync/README.md24
1 files changed, 24 insertions, 0 deletions
diff --git a/corebinutils/sync/README.md b/corebinutils/sync/README.md
new file mode 100644
index 0000000000..0edac75259
--- /dev/null
+++ b/corebinutils/sync/README.md
@@ -0,0 +1,24 @@
+# sync
+
+Standalone musl-libc-friendly Linux port of FreeBSD `sync` 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 direct Linux-native syscall/API mapping, not preservation of FreeBSD build glue or a BSD compatibility shim.
+- FreeBSD `sync(8)` is specified as a no-argument whole-system flush and is mapped directly to Linux `sync(2)`.
+- GNU/coreutils-style operands and options such as `sync FILE...`, `-d`, and `-f` are intentionally unsupported. `sync.8` does not define them, and file-scoped flushing would require `fsync(2)` or `syncfs(2)` on explicit file descriptors, which is not equivalent to the documented utility semantics.
+- On Linux, as on FreeBSD, `sync(2)` does not provide per-file error reporting to this utility. Successful execution therefore means the process reached and invoked the kernel-wide flush entry point.