diff options
-rw-r--r-- | packaging/desktop-file-utils.manifest | 5 | ||||
-rw-r--r-- | packaging/desktop-file-utils.spec | 65 | ||||
-rw-r--r-- | packaging/macros.desktop-file-utils | 38 |
3 files changed, 108 insertions, 0 deletions
diff --git a/packaging/desktop-file-utils.manifest b/packaging/desktop-file-utils.manifest new file mode 100644 index 0000000..017d22d --- /dev/null +++ b/packaging/desktop-file-utils.manifest @@ -0,0 +1,5 @@ +<manifest> + <request> + <domain name="_"/> + </request> +</manifest> diff --git a/packaging/desktop-file-utils.spec b/packaging/desktop-file-utils.spec new file mode 100644 index 0000000..1b295f8 --- /dev/null +++ b/packaging/desktop-file-utils.spec @@ -0,0 +1,65 @@ +Name: desktop-file-utils +Version: 0.27 +Release: 0 +Summary: Utilities for Manipulating Desktop Files +License: GPL-2.0+ +Group: Development/Tools/Other +Url: http://www.freedesktop.org/wiki/Software/desktop-file-utils +Source0: http://www.freedesktop.org/software/desktop-file-utils/releases/%{name}-%{version}.tar.xz +Source2: macros.desktop-file-utils +Source1001: desktop-file-utils.manifest +BuildRequires: glib2-devel +BuildRequires: pkg-config +BuildRequires: meson +BuildRequires: ninja +# Only needed because we don't (and won't) support building xz tarballs by default... See bnc#697467 +BuildRequires: xz + +%description +This packages contains a couple of command line utilities for +working with desktop files. + +More information about desktop files can be found at: +http://freedesktop.org/wiki/Specifications/desktop-entry-spec + +%prep +%setup -q +cp %{SOURCE1001} . + +%build +export CFLAGS+=" -fPIC" + +mkdir -p builddir +meson --prefix /usr --libdir %{_libdir} builddir + +%install +DESTDIR=%{buildroot} ninja -C builddir install +# Install rpm macros +install -D -m644 %{S:2} %{buildroot}%{_sysconfdir}/rpm/macros.desktop-file-utils +# Create ghosts based on default $XDG_DATA_DIRS: +mkdir -p %{buildroot}%{_datadir}/applications +touch %{buildroot}%{_datadir}/applications/mimeinfo.cache + +%post +%{_bindir}/update-desktop-database --quiet %{_datadir}/applications || true + +%files +%manifest %{name}.manifest +%defattr(-, root, root) +%license COPYING +%doc AUTHORS ChangeLog NEWS README +%{_bindir}/desktop-file-edit +%{_bindir}/desktop-file-install +%{_bindir}/desktop-file-validate +%{_bindir}/update-desktop-database +%ghost %{_datadir}/applications/mimeinfo.cache +%{_mandir}/man1/desktop-file-edit.1* +%{_mandir}/man1/desktop-file-install.1* +%{_mandir}/man1/desktop-file-validate.1* +%{_mandir}/man1/update-desktop-database.1* +# Own directories to not require emacs installed. +%dir %{_datadir}/emacs +%dir %{_datadir}/emacs/site-lisp +%{_datadir}/emacs/site-lisp/*.el* +%{_sysconfdir}/rpm/macros.desktop-file-utils + diff --git a/packaging/macros.desktop-file-utils b/packaging/macros.desktop-file-utils new file mode 100644 index 0000000..19266d4 --- /dev/null +++ b/packaging/macros.desktop-file-utils @@ -0,0 +1,38 @@ +# RPM macros for packages installing desktop files +# +### +# +# When a package installs a desktop file, it should use both macros: +# +# - %desktop_database_post in %post +# - %desktop_database_postun in %postun +# +# Note that these macros can optionally take as argument the directory +# where the desktop file is installed. If no argument is passed, then +# %{_datadir}/applications will be used (which is where applications +# usually install their desktop file). +# +### + +# On install, update the desktop database +%desktop_database_post() \ +if test -x %{_bindir}/update-desktop-database; then \ +%if "x%1" != "x%%1" \ + %{_bindir}/update-desktop-database --quiet "%1" || true \ +%else \ + %{_bindir}/update-desktop-database --quiet "%{_datadir}/applications" || true \ +%endif \ +fi + +# On uninstall, update the desktop database. Note: we ignore upgrades (already +# handled in %post of the new package). +%desktop_database_postun() \ +if [ $1 -eq 0 ]; then \ + if test -x %{_bindir}/update-desktop-database; then \ +%if "x%1" != "x%%1" \ + %{_bindir}/update-desktop-database --quiet "%1" || true \ +%else \ + %{_bindir}/update-desktop-database --quiet "%{_datadir}/applications" || true \ +%endif \ + fi \ +fi |