git: 6f5d234138dc - main - framework: new USES trigger
Date: Sun, 10 Oct 2021 17:47:46 UTC
The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/ports/commit/?id=6f5d234138dcb857baea070853fbc9a7736f408b commit 6f5d234138dcb857baea070853fbc9a7736f408b Author: Baptiste Daroussin <bapt@FreeBSD.org> AuthorDate: 2021-09-14 15:24:59 +0000 Commit: Baptiste Daroussin <bapt@FreeBSD.org> CommitDate: 2021-10-10 17:43:02 +0000 framework: new USES trigger Triggers are a new feature from pkg 1.17 (stable in 1.17.2) they are script that are executed at the end of a transaction if anything triggered them. To trigger them a files should have been installed in a location which matches predefined pattern (glob, regexp, or exact matching) When a package is installed in a cross root installation for example: pkg -r XXX install something and if it triggers a trigger, then the execution will be deferred. The pkg trigger command will execute the deferred triggers Reviewed by: tcberner Differential Revision: https://reviews.freebsd.org/D31960 --- Mk/Uses/gnome.mk | 25 ------------------------- Mk/Uses/trigger.mk | 29 +++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 25 deletions(-) diff --git a/Mk/Uses/gnome.mk b/Mk/Uses/gnome.mk index 66d7f4d0169c..b53cc71590e5 100644 --- a/Mk/Uses/gnome.mk +++ b/Mk/Uses/gnome.mk @@ -46,12 +46,6 @@ # file and add apropriate @postexec/@postunexec directives for # each .omf file found to track OMF registration database. # -# INSTALLS_ICONS - If a GTK+ port installs Freedesktop-style icons to -# ${LOCALBASE}/share/icons, then you should use this -# macro. Using this macro ensures that icons are cached -# and will display correctly. This macro isn't needed -# for QT based applications, which use a different method. -# # MAINTAINER: gnome@FreeBSD.org .if !defined(_INCLUDE_USES_GNOME_MK) @@ -458,24 +452,5 @@ gnome-post-omf: done .endif -.if defined(INSTALLS_ICONS) -_USES_install+= 690:gnome-post-icons -gnome-post-icons: - @${RM} ${TMPPLIST}.icons1 - @for i in `${GREP} "^share/icons/.*/" ${TMPPLIST} | ${CUT} -d / -f 1-3 | ${SORT} -u`; do \ - ${ECHO_CMD} "@rmtry $${i}/icon-theme.cache" \ - >> ${TMPPLIST}.icons1; \ - ${ECHO_CMD} "@postexec ${LOCALBASE}/bin/gtk-update-icon-cache -q -f %D/$${i} 2>/dev/null || /usr/bin/true" \ - >> ${TMPPLIST}; \ - ${ECHO_CMD} "@postunexec ${LOCALBASE}/bin/gtk-update-icon-cache -q -f %D/$${i} 2>/dev/null || /usr/bin/true" \ - >> ${TMPPLIST}; \ - done - @if test -f ${TMPPLIST}.icons1; then \ - ${CAT} ${TMPPLIST}.icons1 ${TMPPLIST} > ${TMPPLIST}.icons2; \ - ${RM} ${TMPPLIST}.icons1; \ - ${MV} -f ${TMPPLIST}.icons2 ${TMPPLIST}; \ - fi -.endif - .endif # End of use part. diff --git a/Mk/Uses/trigger.mk b/Mk/Uses/trigger.mk new file mode 100644 index 000000000000..bf15e9512a84 --- /dev/null +++ b/Mk/Uses/trigger.mk @@ -0,0 +1,29 @@ +# Feature: trigger +# Usage: USES=trigger +# Valid ARGS: none +# +# Variables: +# TRIGGERS: list of triggers to package +# +# MAINTAINER= portmgr@FreeBSD.org + +.if !defined(_INCLUDE_USES_TRIGGER_MK) +_INCLUDE_USES_TRIGGER_MK= yes + +.if !empty(trigger_ARGS) +IGNORE= Incorrect 'USES+= trigger:${trigger_ARGS}' trigger takes no arguments +.endif + +TRIGGERS?= ${PORTNAME} +.for t in ${TRIGGERS} +SUB_FILES+= ${t}.ucl +PLIST_FILES+= ${LOCALBASE}/share/pkg/triggers/$t.ucl +.endfor + +_USES_install+= 601:trigger-post-install +trigger-post-install: + ${MKDIR} ${STAGEDIR}${LOCALBASE}/share/pkg/triggers +.for t in ${TRIGGERS} + ${INSTALL_DATA} ${WRKDIR}/$t.ucl ${STAGEDIR}${LOCALBASE}/share/pkg/triggers/ +.endfor +.endif