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).

Reply via email to