Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No comma after "i.e." and "e.g." in British English #37

Merged
merged 5 commits into from
Mar 29, 2024
Merged
Show file tree
Hide file tree
Changes from all 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
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ on:

defaults:
run:
# Note that 'bash' provides -o pipefail, in contrast to the default (i.e., unspecified, which also uses bash) or 'sh',
# Note that 'bash' provides -o pipefail, in contrast to the default (i.e. unspecified, which also uses bash) or 'sh',
# see https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell
shell: sh

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ The SailfishOS:Chum GUI Installer works on any SailfishOS release ≥ 3.1.0
* If you experience issues with the SailfishOS:Chum GUI Installer, please take a look at its log file `/var/log/sailfishos-chum-gui-installer.log.txt`. If that does not reveal to you what is going wrong, please check first if an issue report describing this issue [is already filed at GitHub](https://github.com/sailfishos-chum/sailfishos-chum-gui-installer/issues), then you might file a new issue report there and attach the log file to it, or enhance an extant bug report.
* If you experience issues when installing, removing or updating packages after a SailfishOS upgrade, try running `devel-su pkcon refresh` in a terminal app.
* When the SailfishOS:Chum GUI Installer fails to install anything (i.e, a minute after installing it the icon of the SailfishOS:Chum GUI application has not appeared on the launcher / desktop), most likely the preceding or the following bullet point is the reason.
* Before software can be build for a SailfishOS release at the SailfishOS-OBS, Jolla must create a [corresponding "download on demand (DoD)" OBS-repository](https://build.merproject.org/project/subprojects/sailfishos). It may take a little time after a new SailfishOS release is published before the corresponding "DoD" repository is being made available, during which installing the SailfishOS:Chum GUI application by the SailfishOS:Chum GUI Installer or updating the SailfishOS:Chum GUI application by itself on a device with the new SailfishOS release already installed does not work, because the SailfishOS:Chum GUI application cannot be compiled for this new SailfishOS release at the Sailfish-OBS, yet; consequently this is always the case for "closed beta (cBeta)" releases of SailfishOS. In such a situation one has to manually download the SailfishOS:Chum GUI application built for the last prior SailfishOS "general availability (GA)" release (e.g., from [the SailfishOS:Chum repository](https://build.merproject.org/project/show/sailfishos:chum/sailfishos-chum-gui)), then install or update the SailfishOS:Chum GUI application via `pkcon install-local <downloaded RPM file>`, and hope that there is no change in the new SailfishOS release which breaks the SailfishOS:Chum GUI application; if there is, please report that soon at [SailfishOS:Chum GUI application's issue tracker](https://github.com/sailfishos-chum/sailfishos-chum-gui/issues).
* Before software can be build for a SailfishOS release at the SailfishOS-OBS, Jolla must create a [corresponding "download on demand (DoD)" OBS-repository](https://build.merproject.org/project/subprojects/sailfishos). It may take a little time after a new SailfishOS release is published before the corresponding "DoD" repository is being made available, during which installing the SailfishOS:Chum GUI application by the SailfishOS:Chum GUI Installer or updating the SailfishOS:Chum GUI application by itself on a device with the new SailfishOS release already installed does not work, because the SailfishOS:Chum GUI application cannot be compiled for this new SailfishOS release at the Sailfish-OBS, yet; consequently this is always the case for "closed beta (cBeta)" releases of SailfishOS. In such a situation one has to manually download the SailfishOS:Chum GUI application built for the last prior SailfishOS "general availability (GA)" release (e.g. from [the SailfishOS:Chum repository](https://build.merproject.org/project/show/sailfishos:chum/sailfishos-chum-gui)), then install or update the SailfishOS:Chum GUI application via `pkcon install-local <downloaded RPM file>`, and hope that there is no change in the new SailfishOS release which breaks the SailfishOS:Chum GUI application; if there is, please report that soon at [SailfishOS:Chum GUI application's issue tracker](https://github.com/sailfishos-chum/sailfishos-chum-gui/issues).
* Disclaimer: The SailfishOS:Chum GUI application and its installer may still have flaws, kill your kittens or break your SailfishOS installation! Although this is very unlikely after years of testing by many users, new flaws may be introduced in any release (as for any software). Mind that the license you implicitly accept by using the SailfishOS:Chum GUI application or the SailfishOS:Chum GUI Installer excludes any liability.

### Installation instructions
Expand All @@ -29,6 +29,6 @@ The SailfishOS:Chum GUI Installer works on any SailfishOS release ≥&nbsp;3.1.0
### Features of SailfishOS:Chum GUI Installer

* SailfishOS:Chum GUI Installer creates a persistent log file `/var/log/sailfishos-chum-gui-installer.log.txt`.
* SailfishOS:Chum GUI Installer runs "unattended": I.e., without any manual steps, after its installation has been triggered, until the SailfishOS:Chum GUI application is installed.
* SailfishOS:Chum GUI Installer runs "unattended": I.e. without any manual steps, after its installation has been triggered, until the SailfishOS:Chum GUI application is installed.
* SailfishOS:Chum GUI Installer is slow, because it calls `pkcon` three times, which acts quite slowly. The minimal run time for SailfishOS:Chum GUI Installer is about 7 seconds, the typical run time is rather 10 seconds (measured from the moment SailfishOS:Chum GUI Installer's installation is triggered, until the SailfishOS:Chum GUI application is installed and its icon is displayed at the "launcher"). This is already a lot, but I rarely experienced a stalled Packagekit daemon (`packagekitd`, for which `pkcon` is just a command line frontend, communicating with the daemon via D-Bus) during heavy testing, which can be observed with the crude `pkmon` utility (`Ctrl-C` gets you out.:smiley:), so the SailfishOS:Chum GUI Installer tries to detect these "hangs" and to counter them: If that happens, its run time can be up to slightly more than 1 minute. In the worst case a stalled PackageKit daemon (and with it its `pkcon` client process(es)) stalls SailfishOS:Chum GUI Installer, until the PackageKit daemon reaches its idle time out of 300 seconds (5 minutes; this could theoretically happen three times, resulting in a likely unsuccessful run time of more than 15 minutes).<br />
Also note that SailfishOS sometimes fails to show an icon of a freshly installed app on the launcher ("homescreen") until SailfishOS is rebooted (rsp. more precisely: Lipstick is restarted).
14 changes: 7 additions & 7 deletions bin/sailfishos-chum-gui-installer
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ set -ufC # "-u" (error when using uninitialised variables),
# despite minor errors.
set -o pipefail # May not be supported, busybox's ash and bash do.
export LC_ALL=POSIX # For details see https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_02
export POSIXLY_CORRECT=1 # Can have side-effects, see e.g., https://github.com/Olf0/sfos-upgrade/issues/73
export POSIXLY_CORRECT=1 # Can have side-effects, see e.g. https://github.com/Olf0/sfos-upgrade/issues/73
# Ultimately this ensures an almost consistent behaviour across shell implementations.

# Specify bash as interpreter of this script (in its first line), as this ensures
Expand All @@ -28,7 +28,7 @@ export POSIXLY_CORRECT=1 # Can have side-effects, see e.g., https://github.com/

# This script is designed to be called fully detached (by a "double fork"
# / a "daemonize") as the last statement of the %posttrans scriptlet
# (the last executed) of an RPM spec file or directly (e.g., in a shell).
# (the last executed) of an RPM spec file or directly (e.g. in a shell).

# Memorise how we were called (argument checks are primarily intended for interactive use):
mypid="$$"
Expand Down Expand Up @@ -143,7 +143,7 @@ do
logentry="[Warning] Failed to refresh sailfishos-chum repository, because error-code $retc was returned by: $logentry"
printf '\n%s\n' "$(date -Iseconds) $logentry"
systemd-cat -t "$called" -p 4 printf '%s' "$logentry"
logentry="[Notice] Trying to terminate (i.e., sending SIGTERM to) all processes named (ID) \`pkcon\`, then sleeping for $wait seconds."
logentry="[Notice] Trying to terminate (i.e. sending SIGTERM to) all processes named (ID) \`pkcon\`, then sleeping for $wait seconds."
printf '%s\n' "$(date -Iseconds) $logentry"
systemd-cat -t "$called" -p 5 printf '%s' "$logentry"
killall -q -TERM pkcon
Expand All @@ -156,7 +156,7 @@ do
logentry="[Error] Failed to refresh sailfishos-chum repository, because error-code $retc was returned by: $logentry"
printf '\n%s\n' "$(date -Iseconds) $logentry"
systemd-cat -t "$called" -p 3 printf '%s' "$logentry"
logentry="[Warning] Trying to interrupt (i.e., sending SIGINT to) all processes named (ID) \`pkcon\`, then sleeping for $wait seconds."
logentry="[Warning] Trying to interrupt (i.e. sending SIGINT to) all processes named (ID) \`pkcon\`, then sleeping for $wait seconds."
printf '%s\n' "$(date -Iseconds) $logentry"
systemd-cat -t "$called" -p 4 printf '%s' "$logentry"
killall -q -INT pkcon
Expand All @@ -170,7 +170,7 @@ do
logentry="[Error] Failed to refresh sailfishos-chum repository, because error-code $retc was returned by: $logentry"
printf '\n%s\n' "$(date -Iseconds) $logentry"
systemd-cat -t "$called" -p 3 printf '%s' "$logentry"
logentry="[Warning] Trying to hang-up (i.e., sending SIGHUP to) all processes named (ID) \`pkcon\`, then sleeping for $i seconds and ultimately killing them."
logentry="[Warning] Trying to hang-up (i.e. sending SIGHUP to) all processes named (ID) \`pkcon\`, then sleeping for $i seconds and ultimately killing them."
printf '%s\n' "$(date -Iseconds) $logentry"
systemd-cat -t "$called" -p 4 printf '%s' "$logentry"
killall -q -HUP pkcon
Expand Down Expand Up @@ -210,7 +210,7 @@ do
systemd-cat -t "$3" -p 6 printf '%s' "[Info] Self-removal in 20 seconds: $2";\
eval $2)' sh_rm_inst-chum-gui "$mypid" "$logentry" "$called"
# The first 15 characters of the spawned process' name
# (to be used for, e.g., `ps` and `pgrep` / `pkill`) are:
# (to be used for, e.g. `ps` and `pgrep` / `pkill`) are:
# sh_rm_inst-chum
fi
done
Expand All @@ -231,7 +231,7 @@ setsid --fork sh -c '(sleep 1;\
systemd-cat -t "$3" -p 6 printf '%s' "[Info] Executing: $2";\
eval $2)' sh_do_inst-chum-gui "$mypid" "$logentry" "$called"
# The first 15 characters of the spawned process' name
# (to be used for, e.g., `ps` and `pgrep` / `pkill`) are:
# (to be used for, e.g. `ps` and `pgrep` / `pkill`) are:
# sh_do_inst-chum
# Double-fork / "Daemonise" ("SysV-style") in shell code, (ab)using this
# interpreter instance for the preamble (setting the environment):
Expand Down
2 changes: 1 addition & 1 deletion rpm/sailfishos-chum-gui-installer.rpmlintrc
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ addFilter('invalid-license')
# - It extracts strange changelog entries out of Git, if a %%changelog section is used
addFilter('incoherent-version-in-changelog')
# - It sometimes re-writes the %version-%release strings of package names,
# when referencing (only) a branch (i.e., not a git tag), for example,
# when referencing (only) a branch (i.e. not a git tag), for example,
# 0.5.2-1 to 0.5.2+main.20230129011931.1.g584263a-1.8.1.jolla
addFilter('filename-too-long-for-joliet')

Expand Down
8 changes: 4 additions & 4 deletions rpm/sailfishos-chum-gui-installer.spec
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Name: sailfishos-chum-gui-installer
# The Git release tag format must adhere to just <version>. The <version>
# field adheres to semantic versioning and the <release> field comprises a
# natural number greater or equal to 1, which may be prefixed with one of
# {alpha,beta,rc,release} (e.g., "beta3"). For details and reasons, see
# {alpha,beta,rc,release} (e.g. "beta3"). For details and reasons, see
# https://github.com/storeman-developers/harbour-storeman-installer/wiki/Git-tag-format
Version: 0.6.3
Release: 1
Expand Down Expand Up @@ -36,7 +36,7 @@ Requires(posttrans): PackageKit
# ToDo: Check if the GNU-versions of these packages (named as alternatives below)
# also provide the aliases ("virtual packages") denoted here, then these can be
# used; ultimately most of these packages shall be already installed, anyway.
# 1. `coreutils` (for e.g., `touch` and many other very basic UNIX tools):
# 1. `coreutils` (for e.g. `touch` and many other very basic UNIX tools):
# Requires: (busybox-symlinks-coreutils or gnu-coreutils)
Requires: coreutils
# Requires(post,posttrans): (busybox-symlinks-coreutils or gnu-coreutils)
Expand Down Expand Up @@ -120,7 +120,7 @@ cp bin/%{name} %{buildroot}%{_bindir}/

%post
# The %%post scriptlet is deliberately run when installing and updating.
# Create a persistent log file, i.e., which is not managed by RPM and hence
# Create a persistent log file, i.e. which is not managed by RPM and hence
# is unaffected by removing the %%{name} RPM package:
if [ ! -e %{logfile} ]
then
Expand Down Expand Up @@ -171,7 +171,7 @@ umask 113
# because the scriptlets are executed with PWD safely set to /.
setsid --fork sh -c '(%{_bindir}/%{name} "$1" "$2")' sh_call_inst-chum-gui "$$" "%{logfile}" >> "%{logfile}" 2>&1 <&-
# The first 15 characters of the spawned process' name
# (to be used for, e.g., `ps` and `pgrep` / `pkill`) are:
# (to be used for, e.g. `ps` and `pgrep` / `pkill`) are:
# sh_call_inst-ch
exit 0

Expand Down
Loading