Skip to content

Commit 7f71803

Browse files
authored
Merge branch 'main' into sort/sort-merge-fdlimit.sh
2 parents b6820d1 + b04b3bf commit 7f71803

File tree

120 files changed

+3556
-560
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

120 files changed

+3556
-560
lines changed

.busybox-config

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,8 @@ CONFIG_FEATURE_FANCY_HEAD=y
22
CONFIG_UNICODE_SUPPORT=y
33
CONFIG_DESKTOP=y
44
CONFIG_LONG_OPTS=y
5+
CONFIG_FEATURE_SORT_BIG=y
6+
CONFIG_FEATURE_CATV=y
7+
CONFIG_FEATURE_CATN=y
8+
CONFIG_FEATURE_TR_CLASSES=y
9+
CONFIG_FEATURE_READLINK_FOLLOW=y

.github/workflows/GnuTests.yml

Lines changed: 55 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: GnuTests
22

33
# spell-checker:ignore (abbrev/names) CodeCov gnulib GnuTests Swatinem
44
# spell-checker:ignore (jargon) submodules devel
5-
# spell-checker:ignore (libs/utils) autopoint chksum dpkg getenforce getlimits gperf lcov libexpect limactl pyinotify setenforce shopt texinfo valgrind libattr libcap taiki-e
5+
# spell-checker:ignore (libs/utils) autopoint chksum dpkg getenforce getlimits gperf lcov libexpect limactl pyinotify setenforce shopt texinfo valgrind libattr libcap taiki-e zstd cpio
66
# spell-checker:ignore (options) Ccodegen Coverflow Cpanic Zpanic
77
# spell-checker:ignore (people) Dawid Dziurla * dawidd dtolnay
88
# spell-checker:ignore (vars) FILESET SUBDIRS XPASS
@@ -31,6 +31,7 @@ env:
3131
TEST_STTY_FULL_SUMMARY_FILE: 'gnu-stty-full-result.json'
3232
TEST_SELINUX_FULL_SUMMARY_FILE: 'selinux-gnu-full-result.json'
3333
TEST_SELINUX_ROOT_FULL_SUMMARY_FILE: 'selinux-root-gnu-full-result.json'
34+
TEST_SMACK_FULL_SUMMARY_FILE: 'smack-gnu-full-result.json'
3435

3536
jobs:
3637
native:
@@ -318,8 +319,52 @@ jobs:
318319
gnu/tests-selinux/*.log
319320
gnu/tests-selinux/*/*.log.gz
320321
322+
smack:
323+
name: Run GNU tests (SMACK)
324+
runs-on: ubuntu-24.04
325+
steps:
326+
- name: Checkout code (uutils)
327+
uses: actions/checkout@v6
328+
with:
329+
path: 'uutils'
330+
persist-credentials: false
331+
- uses: dtolnay/rust-toolchain@master
332+
with:
333+
toolchain: stable
334+
components: rustfmt
335+
- uses: Swatinem/rust-cache@v2
336+
with:
337+
workspaces: "./uutils -> target"
338+
- name: Checkout code (GNU coreutils)
339+
run: (mkdir -p gnu && cd gnu && bash ../uutils/util/fetch-gnu.sh)
340+
- name: Install dependencies
341+
run: |
342+
sudo apt-get update
343+
sudo apt-get install -y qemu-system-x86 zstd cpio
344+
- name: Run GNU SMACK tests
345+
run: |
346+
cd uutils
347+
bash util/run-gnu-tests-smack-ci.sh "$GITHUB_WORKSPACE/gnu" "$GITHUB_WORKSPACE/gnu/tests-smack"
348+
- name: Extract testing info into JSON
349+
run: |
350+
python3 uutils/util/gnu-json-result.py gnu/tests-smack > ${{ env.TEST_SMACK_FULL_SUMMARY_FILE }}
351+
- name: Upload SMACK json results
352+
uses: actions/upload-artifact@v6
353+
with:
354+
name: smack-gnu-full-result
355+
path: ${{ env.TEST_SMACK_FULL_SUMMARY_FILE }}
356+
- name: Compress SMACK test logs
357+
run: gzip gnu/tests-smack/*/*.log 2>/dev/null || true
358+
- name: Upload SMACK test logs
359+
uses: actions/upload-artifact@v6
360+
with:
361+
name: smack-test-logs
362+
path: |
363+
gnu/tests-smack/*.log
364+
gnu/tests-smack/*/*.log.gz
365+
321366
aggregate:
322-
needs: [native, selinux]
367+
needs: [native, selinux, smack]
323368
permissions:
324369
actions: read # for dawidd6/action-download-artifact to query and download artifacts
325370
contents: read # for actions/checkout to fetch code
@@ -384,6 +429,12 @@ jobs:
384429
name: selinux-root-gnu-full-result
385430
path: results
386431
merge-multiple: true
432+
- name: Download smack json results
433+
uses: actions/download-artifact@v7
434+
with:
435+
name: smack-gnu-full-result
436+
path: results
437+
merge-multiple: true
387438
- name: Extract/summarize testing info
388439
id: summary
389440
shell: bash
@@ -394,8 +445,8 @@ jobs:
394445
path_UUTILS='uutils'
395446
396447
json_count=$(ls -l results/*.json | wc -l)
397-
if [[ "$json_count" -ne 5 ]]; then
398-
echo "::error ::Failed to download all results json files (expected 4 files, found $json_count); failing early"
448+
if [[ "$json_count" -ne 6 ]]; then
449+
echo "::error ::Failed to download all results json files (expected 6 files, found $json_count); failing early"
399450
ls -lR results || true
400451
exit 1
401452
fi

.vscode/cspell.dictionaries/acronyms+names.wordlist.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ aarch
33
AIX
44
ASLR # address space layout randomization
55
AST # abstract syntax tree
6+
CATN # busybox cat -n feature flag
7+
CATV # busybox cat -v feature flag
68
CICD # continuous integration/deployment
79
CPU
810
CPUs

.vscode/cspell.dictionaries/jargon.wordlist.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
AFAICT
2+
asimd
3+
ASIMD
24
alloc
35
arity
46
autogenerate
@@ -71,6 +73,7 @@ hardlink
7173
hardlinks
7274
hasher
7375
hashsums
76+
hwcaps
7477
infile
7578
iflag
7679
iflags
@@ -97,6 +100,7 @@ nocache
97100
nocreat
98101
noctty
99102
noerror
103+
noexec
100104
nofollow
101105
nolinks
102106
nonblock
@@ -149,6 +153,8 @@ tokenize
149153
toolchain
150154
totalram
151155
truthy
156+
tunables
157+
TUNABLES
152158
ucase
153159
unbuffered
154160
udeps

.vscode/cspell.dictionaries/workspace.wordlist.txt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -364,6 +364,22 @@ getcwd
364364
weblate
365365
algs
366366

367+
# * stty terminal flags
368+
brkint
369+
cstopb
370+
decctlq
371+
echoctl
372+
echoe
373+
echoke
374+
ignbrk
375+
ignpar
376+
icrnl
377+
isig
378+
istrip
379+
litout
380+
opost
381+
parodd
382+
367383
# translation tests
368384
CLICOLOR
369385
erreur

CONTRIBUTING.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ crates is as follows:
4545
- `Cargo.toml`
4646
- `src/main.rs`: contains only a single macro call
4747
- `src/<util name>.rs`: the actual code for the utility
48-
- `<util name>.md`: the documentation for the utility
48+
- `locales/en-US.ftl`: the util's strings
49+
- `locales/fr-FR.ftl`: French translation of the util's strings
4950

5051
We have separated repositories for crates that we maintain but also publish for
5152
use by others:
@@ -86,6 +87,7 @@ are some tips for writing good issues:
8687
- What platform are you on?
8788
- Provide a way to reliably reproduce the issue.
8889
- Be as specific as possible!
90+
- Please provide the output with LANG=C, except for locale-related bugs.
8991

9092
### Writing Documentation
9193

Cargo.lock

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,10 @@ feat_selinux = [
6565
"selinux",
6666
"stat/selinux",
6767
]
68+
# "feat_smack" == enable support for SMACK Security Context (by using `--features feat_smack`)
69+
# NOTE:
70+
# * Running a uutils compiled with `feat_smack` requires a SMACK enabled Kernel at run time.
71+
feat_smack = ["ls/smack"]
6872
##
6973
## feature sets
7074
## (common/core and Tier1) feature sets

README.md

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,6 @@ options might be missing or different behavior might be experienced.
3232
We provide prebuilt binaries at https://github.com/uutils/coreutils/releases/latest .
3333
It is recommended to install from main branch if you install from source.
3434

35-
To install it:
36-
37-
```shell
38-
cargo install --git https://github.com/uutils/coreutils coreutils
39-
# cargo install --git https://github.com/uutils/coreutils uu_true # for one util only
40-
~/.cargo/bin/coreutils
41-
```
42-
4335
</div>
4436

4537
<!-- markdownlint-disable-next-line MD026 -->

src/uu/base32/src/base_common.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ impl Config {
5454
if let Some(extra_op) = values.next() {
5555
return Err(UUsageError::new(
5656
BASE_CMD_PARSE_ERROR,
57-
translate!("base-common-extra-operand", "operand" => extra_op.to_string_lossy().quote()),
57+
translate!("base-common-extra-operand", "operand" => extra_op.quote()),
5858
));
5959
}
6060

0 commit comments

Comments
 (0)