From: Brian Inglis <Brian.Inglis@SystematicSw.ab.ca>
To: cygwin@cygwin.com
Subject: Re: No admin setup questions
Date: Tue, 23 Feb 2021 14:51:39 -0700 [thread overview]
Message-ID: <74f0de28-a6a8-9cb0-81d6-25af806bae53@SystematicSw.ab.ca> (raw)
In-Reply-To: <DM8PR09MB7095DE1F14F693111C4D4162A5809@DM8PR09MB7095.namprd09.prod.outlook.com>
[-- Attachment #1: Type: text/plain, Size: 3184 bytes --]
On 2021-02-23 09:08, Lavrentiev, Anton (NIH/NLM/NCBI) [C] via Cygwin wrote:
> I just downloaded the freshest setup.exe from the website to update a very
> old installation on a work PC, and am running it with -B (no admin).
> First thing I noticed is that the front page of the website (Cygwin.com)
> tells me that the latest Cygwin is 3.1.6, but the setup is downloading
> 3.1.7-1.
Good catch - thanks - patch submitted.
> Also, I see a lot of messages in the cmd.exe "terminal" window, from where
> setup was run: it seems to be logging all actions, including that I was not
> allowed to open service controller, and missing some rights, what the
> download and install path are, which packages are being downloaded, extracted
> and installing.
> I do not remember seeing any of those in a "more regular" use (without the
> -B, when I just click the icon with the program).
Your non-elevated non-admin USER may not have perms to create logs in any of the
usual places /var/log/, /tmp/, ./, /
> Is that some sort of a debugging output left behind? Just curios, if that's
> a debug version of the setup ended up on being offered for download
> inadvertently.
> Also, procmail fails to post-install (I don't need it, so I don't basically
> care).
> running: C:\cygwin64\bin\bash.exe --norc --noprofile "/etc/postinstall/procmail.sh"
> abnormal exit: exit code=1
Your non-elevated non-admin USER will not have perms to be able to chown to
SYSTEM, and may not have perms to create directories, install config files, etc.
required to install services such as procmail which should normally be installed
or upgraded under an elevated admin USER.
$ head /etc/postinstall/procmail.sh.done
#!/bin/sh
function install_conf {
if ! [ -s "/$1" ]; then
cp -p "/etc/defaults/$1" "/$1"
chown SYSTEM "/$1"
chmod -x "/$1"
fi
}
function install_dir {
$ dash -n /etc/postinstall/procmail.sh.done
a/procmail.sh.done: 9: a/procmail.sh.done: Syntax error: "}" unexpected
$ checkbashisms -fnpx /etc/postinstall/procmail.sh.done
possible bashism in /etc/postinstall/procmail.sh.done line 3 ('function' is
useless):
function install_conf {
possible bashism in /etc/postinstall/procmail.sh.done line 10 ('function' is
useless):
function install_dir {
Script /etc/postinstall/procmail.sh is non-POSIX, non-portable, will not run
under dash or another POSIX shell, only if sh is bash as installed by Cygwin or
something similar; to be safe, explicit standard binary paths should be
hardcoded and precautions taken, just in case a proper PATH is not yet set, the
script is not run under native Cygwin, or not installed for all users under an
elevated admin USER, similar to the attached patch.
The postinstall script would be better rewritten to take account of these
conditions and use the install utility designed to do all this instead of
duplicating it in functions.
--
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada
This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in binary units and prefixes, physical quantities in SI.]
[-- Attachment #2: procmail.sh.patch --]
[-- Type: text/plain, Size: 886 bytes --]
diff a/procmail.sh b/procmail.sh
--- a/procmail.sh 2015-05-02 15:47:51.000000000 -0600
+++ b/procmail.sh 2021-02-23 14:36:11.615337500 -0700
@@ -1,22 +1,24 @@
#!/bin/sh
-function install_conf {
+install_conf () {
if ! [ -s "/$1" ]; then
- cp -p "/etc/defaults/$1" "/$1"
- chown SYSTEM "/$1"
- chmod -x "/$1"
+ /bin/cp -p "/etc/defaults/$1" "/$1"
+ [ -n "$CYGWINFORALL" ] && /bin/chown $root "/$1"
+ /bin/chmod a-x "/$1"
fi
}
-function install_dir {
+install_dir () {
if ! [ -d "$1" ]; then
- mkdir -p "$1"
- chown SYSTEM "$1"
+ /bin/mkdir -p "$1"
+ [ -n "$CYGWINFORALL" ] && /bin/chown $root "$1"
fi
}
+[ $(uname -o) = Cygwin ] && root=SYSTEM || root=root
+
install_dir /var/spool/mail
install_conf etc/aliases
-chown SYSTEM /usr/bin/procmail.exe
-chown SYSTEM /usr/bin/lockfile.exe
+/bin/chown $root /usr/bin/procmail
+/bin/chown $root /usr/bin/lockfile
next prev parent reply other threads:[~2021-02-23 21:51 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-23 16:08 Lavrentiev, Anton (NIH/NLM/NCBI) [C]
2021-02-23 21:51 ` Brian Inglis [this message]
2021-02-27 2:44 Lavrentiev, Anton (NIH/NLM/NCBI) [C]
2021-02-27 19:15 ` Adam Dinwoodie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=74f0de28-a6a8-9cb0-81d6-25af806bae53@SystematicSw.ab.ca \
--to=brian.inglis@systematicsw.ab.ca \
--cc=cygwin@cygwin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).