Jon Turney wrote:
On 10/03/2024 16:33, Christian Franke via Cygwin-apps wrote:
Jon Turney wrote:
On 23/02/2024 11:23, Christian Franke via Cygwin-apps wrote:
Christian Franke wrote:
The email generated by the cygport announce command is useful, but
actual use cases are somewhat limited due to the hard-coded email
submission.
The attached patch adds more flexibility. The patch is on top of
the "Use correct wording if only one package is announced" patch.
Slightly changed patch attached. Also adjusted to new version of
"Use correct wording if only one package is announced" patch.
[...]
Thanks for this.
Possible (better?) alternative names for the new settings:
ANNOUNCEMENT_EDITOR
ANNOUNCEMENT_MAILER
Hmmm... I think "ANNOUNCE_EDITOR" and "ANNOUNCE_MAILER" would be
the best for clarity and conciseness.
New patch attached. Is still on top of "Use correct wording ..." patch.
I also added HOMEPAGE to the propagated variables as this should be
included in an announcement.
Thanks.
+ /bin/bash -c "cd ${top} || exit 1
+${HOMEPAGE+HOMEPAGE=${HOMEPAGE@Q}}
+P=${P@Q}; PF=${PF@Q}; PN=${PN@Q}; PR=${PR@Q}; PV=(${PV[*]@Q})
+${SMTP_SENDER+SMTP_SENDER=${SMTP_SENDER@Q}}
+${SMTP_SERVER+SMTP_SERVER=${SMTP_SERVER@Q}}
+${SMTP_SERVER_PORT+SMTP_SERVER_PORT=${SMTP_SERVER_PORT@Q}}
+${SMTP_ENCRYPTION+SMTP_ENCRYPTION=${SMTP_ENCRYPTION@Q}}
+${SMTP_USER+SMTP_USER=${SMTP_USER@Q}}
+${SMTP_PASS+SMTP_PASS=${SMTP_PASS@Q}}
+${cmd}
+" $0 ${msg} || error "Command '\${${cmdvar}} ${msg}'
(cwd=${top}) failed"
+}
Sorry I didn't notice this before, and I am terrible at writing shell,
but perhaps you could share the reasoning behind writing this as
above, and not as, e.g.
(cd ${top} && env BLAH ${cmd})
avoiding all the verbiage in the description of ANNOUNCE_EDITOR about
it being fed into 'bash -c' (and hence getting evaluated twice??)
rather than just run?
None of the mentioned variables are exported to the environment by
cygport. I wanted to keep this fact in the subshell. Therefore the
assignments are added to the script instead of passing via
env(ironment). The latter won't even work with the PV variable because
arrays could not be exported.
Variables would not be evaluated twice. For example in the rare case
that someone uses something like
SMTP_SERVER="smtp.$(hostname -d)"
in cygport.conf, this would immediately expand to
SMTP_SERVER="smtp.some.domain". The above
${SMTP_SERVER+SMTP_SERVER=${SMTP_SERVER@Q}}
would expand to
SMTP_SERVER=${SMTP_SERVER@Q}
and then to
SMTP_SERVER='smtp.some.domain'
(The @Q bash extension ensures proper quoting).