feat: kernel roadmap wave — bits4, policy v4, Pear/Bare compatibility
- protocol/booter: bits4 handshake, proc surfaces, boot policy v4, telemetry v4 - coreutils: nohup + ensure-man-pages; seed-man-pages fixes for extra pages - kernel-runner: no static node:module (Pear); bare-module createRequire - docs: handbook, reference, ADR, compatibility matrix, verify scripts
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"name": "nohup",
|
||||
"section": 1,
|
||||
"title": "run command (hangup is a no-op in Bare OS)",
|
||||
"synopsis": [
|
||||
"nohup [OPTION]... [OPERAND]..."
|
||||
],
|
||||
"description": "Bare OS implementation of run command (hangup is a no-op in Bare OS). Full behavior is defined in packages/bare-os-coreutils/src/nohup.js.",
|
||||
"options": [],
|
||||
"keywords": [
|
||||
"nohup",
|
||||
"bare-os",
|
||||
"coreutils"
|
||||
],
|
||||
"examples": [
|
||||
{
|
||||
"caption": "run utility (no real SIGHUP in guest)",
|
||||
"code": "nohup long-job.sh"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
"type": "module",
|
||||
"description": "Build JS /bin utilities for bare-operating-system (concat + stage to kernel/)",
|
||||
"scripts": {
|
||||
"build": "node ./build.mjs",
|
||||
"build": "node ./scripts/ensure-man-pages.mjs && node ./build.mjs",
|
||||
"test": "node ./test/help-bin-list.test.mjs && node ./test/edit-key-parse.test.mjs"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env node
|
||||
/**
|
||||
* If any expected man/pages/*.json is missing (e.g. after adding a command),
|
||||
* run seed-man-pages.mjs once so `npm run build` does not fail on ENOENT.
|
||||
*/
|
||||
import { spawnSync } from 'node:child_process'
|
||||
import { existsSync } from 'node:fs'
|
||||
import { dirname, join } from 'node:path'
|
||||
import { fileURLToPath } from 'node:url'
|
||||
|
||||
import { COREUTILS_COMMANDS, MAN_EXTRA_PAGES } from '../lib/commands.mjs'
|
||||
|
||||
const __dirname = dirname(fileURLToPath(import.meta.url))
|
||||
const pkgRoot = join(__dirname, '..')
|
||||
const pagesDir = join(pkgRoot, 'man/pages')
|
||||
|
||||
const missing = [...COREUTILS_COMMANDS, ...MAN_EXTRA_PAGES].filter(
|
||||
(n) => !existsSync(join(pagesDir, `${n}.json`))
|
||||
)
|
||||
if (!missing.length) process.exit(0)
|
||||
|
||||
console.warn(
|
||||
`[bare-os-coreutils] man/pages missing (${missing.length}): ${missing.join(', ')}; running seed-man-pages.mjs`
|
||||
)
|
||||
const r = spawnSync(process.execPath, [join(__dirname, 'seed-man-pages.mjs')], {
|
||||
cwd: pkgRoot,
|
||||
stdio: 'inherit'
|
||||
})
|
||||
process.exit(r.status ?? 1)
|
||||
Reference in New Issue
Block a user