Skip to content
This repository has been archived by the owner on Oct 2, 2024. It is now read-only.

Mksquashfs quiet using '-quiet' flag #1921

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions bin/ch-convert
Original file line number Diff line number Diff line change
Expand Up @@ -116,8 +116,14 @@ cv_dir_squash () {
# Exclude build cache metadata. 64kiB block size based on Shane’s
# experiments.
# shellcheck disable=SC2086
quiet mksquashfs "$1" "$2" $squash_xattr_arg -b 65536 -noappend -all-root \
-pf "$pflist" -e "$1"/ch/git -e "$1"/ch/git.pickle
if mksquashfs --help 2>&1 | grep "quiet"; then
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here I think you want to tighten up the grep(1) a bit, specifically:

Suggested change
if mksquashfs --help 2>&1 | grep "quiet"; then
if mksquashfs --help 2>&1 | egrep -q '^-quiet'; then

the changes being:

  1. grepegrep: use “extended” regular expressions which really just means “horrible syntax” instead of “incomprehensibly horrible syntax”. In my view one should only ever fgrep(1) for string matching or egrep(1) for regex matching.
  2. The carat means match only at the beginning of a line.
  3. Match the option itself, without false positives if the help says the word “quiet” somewhere.
  4. -q: Don’t print matching lines, since we only care about the presence or absence of a match.
  5. Single quotes because we don’t want to expand shell variables.

INFO "In quiet"
quiet mksquashfs "$1" "$2" $squash_xattr_arg -b 65536 -noappend -all-root \
-pf "$pflist" -e "$1"/ch/git -e "$1"/ch/git.pickle -quiet
else
mksquashfs "$1" "$2" $squash_xattr_arg -b 65536 -noappend -all-root \
-pf "$pflist" -e "$1"/ch/git -e "$1"/ch/git.pickle
fi
# Zero the archive’s internal modification time at bytes 8–11, 0-indexed
# [1]. Newer SquashFS-Tools ≥4.3 have option “-fstime 0” to do this, but
# CentOS 7 comes with 4.2. [1]: https://dr-emann.github.io/squashfs/
Expand Down
Loading