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/