Re: git: 37c1a83366f0 - main - devel/desktop-file-utils: use trigger
Date: Wed, 17 Nov 2021 10:08:02 UTC
On Wed, 17 Nov 2021 09:48:16 GMT Baptiste Daroussin <bapt@FreeBSD.org>
wrote:
> The branch main has been updated by bapt:
>
> URL: https://cgit.FreeBSD.org/ports/commit/?id=37c1a83366f02cdf76b850c630f79c275a418bea
>
> commit 37c1a83366f02cdf76b850c630f79c275a418bea
> Author: Baptiste Daroussin <bapt@FreeBSD.org>
> AuthorDate: 2021-10-11 07:46:55 +0000
> Commit: Baptiste Daroussin <bapt@FreeBSD.org>
> CommitDate: 2021-11-17 09:47:29 +0000
>
> devel/desktop-file-utils: use trigger
>
> Instead of polluting all files with a script to be executed post install
> convert the handling of mime database into a trigger
>
> This trigger will regenerate the db each time someone install a files
> into the concern directory
>
> On removal of the desktop-file-utils port, it will cleanup its cache.
>
> While here convert the post installation script into a lua script.
> Note the db is always run at post installation of the port, just to make
> sure the cache is up to date, in case the format changes in the futur
> ---
> devel/desktop-file-utils/Makefile | 14 +++++--------
> .../files/desktop-file-utils.ucl.in | 24 ++++++++++++++++++++++
> devel/desktop-file-utils/files/pkg-deinstall.in | 15 --------------
> devel/desktop-file-utils/files/pkg-install.in | 11 ----------
> .../files/pkg-post-install.lua.in | 2 ++
> 5 files changed, 31 insertions(+), 35 deletions(-)
>
> diff --git a/devel/desktop-file-utils/Makefile b/devel/desktop-file-utils/Makefile
> index ff765677b064..4a83a8eab39a 100644
> --- a/devel/desktop-file-utils/Makefile
> +++ b/devel/desktop-file-utils/Makefile
> @@ -2,6 +2,7 @@
>
> PORTNAME= desktop-file-utils
> PORTVERSION= 0.26
> +PORTREVISION= 1
> CATEGORIES= devel
> MASTER_SITES= http://freedesktop.org/software/${PORTNAME}/releases/
>
> @@ -11,18 +12,13 @@ COMMENT= Couple of command line utilities for working with desktop entries
> LICENSE= GPLv2+
> LICENSE_FILE= ${WRKSRC}/COPYING
>
> -USES= compiler:c11 gettext meson gnome pkgconfig tar:xz
> +USES= compiler:c11 gettext meson gnome pkgconfig trigger tar:xz
> USE_GNOME= glib20
>
> -PKGINSTALL= ${WRKDIR}/pkg-install
> -PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
> -
> -PORT_MIMEDIRS= ${LOCALBASE}/share/applications
> -
> -MIMEDIRS= ${PORT_MIMEDIRS}
> -
> -SUB_FILES= pkg-deinstall pkg-install
> +MIMEDIRS= share/applications
> SUB_LIST= MIMEDIRS="${MIMEDIRS}"
> +PKGPOSTINSTALL= ${WRKDIR}/pkg-post-install
> +SUB_FILES= pkg-post-install.lua
>
> post-install:
> ${INSTALL_DATA} ${WRKSRC}/misc/desktop-entry-mode.el \
> diff --git a/devel/desktop-file-utils/files/desktop-file-utils.ucl.in b/devel/desktop-file-utils/files/desktop-file-utils.ucl.in
> new file mode 100644
> index 000000000000..ed07df4f223f
> --- /dev/null
> +++ b/devel/desktop-file-utils/files/desktop-file-utils.ucl.in
> @@ -0,0 +1,24 @@
> +path: "%%PREFIX%%/%%MIMEDIRS%%"
> +cleanup: {
> + type: lua
> + script: <<EOS
> +local mimedir = "%%PREFIX%%/%%MIMEDIRS%%/"
> +local cache = mimedir .. "mimeinfo.cache"
> +local st = pkg.stat(cache)
> +if st then
> + os.remove(cache)
> +end
> +local res = pkg.readdir(mimedir)
> +if #res == 0 then
> + os.remove(mimrdir)
s/mimrdir/mimedir/