diff --git a/.gitignore b/.gitignore index b334c15..ed34232 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,32 @@ -/libfm-*.tar.gz -/libfm-*.tar.xz +libfm-0.1.12.tar.gz +/libfm-0.1.14.tar.gz +/libfm-0.1.15-git3ec0a717adde65f262b5bb2b33ae5eb56e9aea6f.tar.gz +/libfm-0.1.15-git197c7e1b8e3e439a5e4f3f004a3447aef43b298b.tar.gz +/libfm-0.1.15-gitdebea4a90d17ec6fd5876564d28977a3c3875924.tar.gz +/libfm-0.1.15-D20110422git30d03d27e4.tar.gz +/libfm-0.1.15-D20110427gita1f63c3114.tar.gz +/libfm-0.1.15-D20110529gitcd79d6228b.tar.gz +/libfm-0.1.15-D20110807gitd22b41fd2f.tar.gz +/libfm-0.1.16.tar.gz +/libfm-0.1.17.tar.gz +/libfm-1.0.tar.gz +/libfm-1.0.1.tar.gz +/libfm-1.1.0.tar.gz +/libfm-1.1.1.tar.gz +/libfm-1.1.2.tar.gz +/libfm-1.1.2.1.tar.gz +/libfm-1.1.2.2.tar.gz +/libfm-1.1.3.tar.xz +/libfm-1.1.4.tar.xz +/libfm-1.2.0-rc1.tar.xz +/libfm-1.2.0.tar.xz +/libfm-1.2.1.tar.xz +/libfm-1.2.2.tar.xz +/libfm-1.2.3.tar.xz +/libfm-1.2.3-699810d3bd0c5d9d508fcd9aa3a65442f2afee3f.tar.gz +/libfm-1.2.3-577806e29d2ec27ce5fee9dc816566fb4e23b155.tar.gz +/libfm-1.2.3-D20150525git8f38f90e04b648637509f2fa2d4208027ae59b5c.tar.gz +/libfm-1.2.3-D20150607gite1de98ccba316605e14d8cfc06df9a55752cdcec.tar.gz +/libfm-1.2.3-D20150713gitf47c9ae7ae7e1c5ff9742b8a6ca49fdb6f55f98d.tar.gz +/libfm-1.2.3-D20150728git47d0c1dd7d59c83188f11bfd6aef4a855f4f5c39.tar.gz +/libfm-1.2.4.tar.xz diff --git a/create-libfm-git-bare-tarball.sh b/create-libfm-git-bare-tarball.sh deleted file mode 100644 index 1095278..0000000 --- a/create-libfm-git-bare-tarball.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash - -set -x -set -e - -REPONAME=libfm -GITURL=https://github.com/lxde/${REPONAME}.git - -DATE=$(date '+%Y%m%d') -TIME=$(date '+%H%M') - -TARNAME=${REPONAME}-${DATE}T${TIME}.tar.gz - -PWDDIR=$(pwd) -TMPDIR=$(mktemp -d /var/tmp/libfm-XXXXXX) -pushd $TMPDIR - -git clone --mirror $GITURL -tar czf ${TARNAME} ${REPONAME}.git/ - -pushd ${REPONAME}.git/ -git log --format=fuller | head -n 12 -popd - -cp -p ${TARNAME} $PWDDIR -popd -rm -rf $TMPDIR diff --git a/libfm-1.3.0.2-moduledir-gtkspecific-v03.patch b/libfm-1.2.3-moduledir-gtkspecific-v02.patch similarity index 68% rename from libfm-1.3.0.2-moduledir-gtkspecific-v03.patch rename to libfm-1.2.3-moduledir-gtkspecific-v02.patch index d240e49..3be23af 100644 --- a/libfm-1.3.0.2-moduledir-gtkspecific-v03.patch +++ b/libfm-1.2.3-moduledir-gtkspecific-v02.patch @@ -1,5 +1,5 @@ ---- libfm-1.3.0.2/configure.ac.moduledir 2018-04-29 05:06:53.000000000 +0900 -+++ libfm-1.3.0.2/configure.ac 2018-04-29 17:54:40.014818903 +0900 +--- libfm-8f38f90e04b648637509f2fa2d4208027ae59b5c/configure.ac.moduledir 2015-05-26 01:14:45.000000000 +0900 ++++ libfm-8f38f90e04b648637509f2fa2d4208027ae59b5c/configure.ac 2015-06-01 16:59:15.758431997 +0900 @@ -117,12 +117,14 @@ if test x"$ac_with_gtk" != xno; then LIBFM_GTK_LTLIBRARIES=libfm-gtk3.la LIBFM_GTK_PC=libfm-gtk3.pc @@ -22,8 +22,8 @@ + LIBFM_GTK_MODULE_DIR_SUFFIX="" LIBFM_PREF_APPS= fi - if test "$ac_with_gtk" = "3.0"; then -@@ -144,6 +147,7 @@ AC_SUBST(GTK_LIBS) + AC_SUBST(GTK_CFLAGS) +@@ -141,6 +144,7 @@ AC_SUBST(GTK_LIBS) AC_SUBST(LIBFM_GTK_LTLIBRARIES) AC_SUBST(LIBFM_PREF_APPS) AC_SUBST(LIBFM_GTK_PC) @@ -31,9 +31,9 @@ AM_CONDITIONAL([ENABLE_GTK], [test x$ac_with_gtk != xnone]) dnl pango_modules="pango >= 1.16.0" ---- libfm-1.3.0.2/src/Makefile.am.moduledir 2018-04-29 04:15:18.000000000 +0900 -+++ libfm-1.3.0.2/src/Makefile.am 2018-04-29 17:54:40.014818903 +0900 -@@ -315,6 +315,7 @@ libfm_gtk_la_CFLAGS = \ +--- libfm-8f38f90e04b648637509f2fa2d4208027ae59b5c/src/Makefile.am.moduledir 2015-05-26 01:14:45.000000000 +0900 ++++ libfm-8f38f90e04b648637509f2fa2d4208027ae59b5c/src/Makefile.am 2015-06-01 16:59:15.759431997 +0900 +@@ -313,6 +313,7 @@ libfm_gtk_la_CFLAGS = \ -I$(srcdir)/gtk \ -DPACKAGE_UI_DIR=\""$(datadir)/libfm/ui"\" \ -DPACKAGE_THEME_DIR=\""$(datadir)/libfm/images"\" \ @@ -41,8 +41,8 @@ $(GTK_CFLAGS) \ $(MENU_CACHE_CFLAGS) \ $(NULL) ---- libfm-1.3.0.2/src/fm-gtk.c.moduledir 2018-04-17 04:11:33.000000000 +0900 -+++ libfm-1.3.0.2/src/fm-gtk.c 2018-04-29 17:54:40.014818903 +0900 +--- libfm-8f38f90e04b648637509f2fa2d4208027ae59b5c/src/fm-gtk.c.moduledir 2015-06-01 17:04:33.951498868 +0900 ++++ libfm-8f38f90e04b648637509f2fa2d4208027ae59b5c/src/fm-gtk.c 2015-06-01 17:04:59.933504328 +0900 @@ -57,6 +57,7 @@ gboolean fm_gtk_init(FmConfig* config) if no theme was selected and GTK fallback isn't available then no icons are shown - we should add folder and file icons as fallbacks theme */ @@ -51,9 +51,9 @@ _fm_icon_pixbuf_init(); _fm_thumbnail_init(); _fm_file_properties_init(); ---- libfm-1.3.0.2/src/modules/Makefile.am.moduledir 2018-04-29 05:00:55.000000000 +0900 -+++ libfm-1.3.0.2/src/modules/Makefile.am 2018-04-29 17:57:06.097345230 +0900 -@@ -19,6 +19,7 @@ LIBS += $(top_builddir)/src/libfm.la +--- libfm-8f38f90e04b648637509f2fa2d4208027ae59b5c/src/modules/Makefile.am.moduledir 2015-05-26 01:14:45.000000000 +0900 ++++ libfm-8f38f90e04b648637509f2fa2d4208027ae59b5c/src/modules/Makefile.am 2015-06-01 16:59:15.759431997 +0900 +@@ -18,6 +18,7 @@ LIBS += $(top_builddir)/src/libfm.la # change default and put modules below usual place pkglibdir = $(libdir)/@PACKAGE@/modules @@ -61,7 +61,7 @@ # modules to compile pkglib_LTLIBRARIES = \ -@@ -26,8 +27,11 @@ pkglib_LTLIBRARIES = \ +@@ -25,11 +26,14 @@ pkglib_LTLIBRARIES = \ vfs-search.la \ $(NULL) @@ -69,12 +69,16 @@ + $(NULL) + if ENABLE_GTK + if HAVE_ACTIONS +-pkglib_LTLIBRARIES += gtk-menu-actions.la ++pkggtklib_LTLIBRARIES += gtk-menu-actions.la + endif -pkglib_LTLIBRARIES += \ +pkggtklib_LTLIBRARIES += \ gtk-fileprop-x-desktop.la \ gtk-fileprop-x-shortcut.la \ gtk-menu-trash.la \ -@@ -38,10 +42,14 @@ endif +@@ -39,10 +43,14 @@ endif # install only .so files, we don't need .la files install-exec-hook: rm -f $(DESTDIR)$(pkglibdir)/*.la diff --git a/libfm-1.3.2-0001-fm_config_load_from_key_file-don-t-replace-string-va.patch b/libfm-1.3.2-0001-fm_config_load_from_key_file-don-t-replace-string-va.patch deleted file mode 100644 index 493abf9..0000000 --- a/libfm-1.3.2-0001-fm_config_load_from_key_file-don-t-replace-string-va.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 1789c96ae73720ef001249d2085553102043aee3 Mon Sep 17 00:00:00 2001 -From: Mamoru TASAKA -Date: Thu, 28 Oct 2021 22:07:14 +0900 -Subject: [PATCH] fm_config_load_from_key_file: don't replace string value when - loaded config file does not have such key - -For example, fm_config_load_from_file() loads every key file with path -ending with "/libfm/libfm.conf" under XDG_CONFIG_DIRS using fm_config_load_from_key_file(). - -With current fm_config_load_from_key_file() implementation, every time it is called, -for key having string, firstly the old value is always free'ed, and the new value is -read and set, even if the new value is empty. -So if system wide key file contains a key with string value but user-specific key file -does not contain the key, system widely set key value is lost, which is unwilling. - -For other value types (such as bool or int), the corresponding fm_key_file_get_TYPE -function are used, and these functions replace old values when the new config file -actually has the corresponding key. - -With this patch, similar to other value types, string value is to be replaced -only when new loaded config actually has corresponding key. -Also, implement fm_key_file_get_string() to be consistent with other types. ---- - src/base/fm-config.c | 30 ++++++++++++++++++------------ - 1 file changed, 18 insertions(+), 12 deletions(-) - -diff --git a/src/base/fm-config.c b/src/base/fm-config.c -index a633857..1e3d3f7 100644 ---- a/src/base/fm-config.c -+++ b/src/base/fm-config.c -@@ -245,6 +245,19 @@ static void _parse_drop_default_action(GKeyFile *kf, gint *action) - } - } - -+static gboolean fm_key_file_get_string(GKeyFile* kf, const char* grp, const char* key, char** val) -+{ -+ char* str_key_new = g_key_file_get_string(kf, grp, key, NULL); -+ if(G_LIKELY(str_key_new)) -+ { -+ if (*val) -+ g_free(*val); -+ *val = str_key_new; -+ } -+ return str_key_new != NULL; -+} -+ -+ - /** - * fm_config_load_from_key_file - * @cfg: pointer to configuration -@@ -263,12 +276,8 @@ void fm_config_load_from_key_file(FmConfig* cfg, GKeyFile* kf) - fm_key_file_get_int(kf, "config", "auto_selection_delay", &cfg->auto_selection_delay); - fm_key_file_get_bool(kf, "config", "confirm_del", &cfg->confirm_del); - fm_key_file_get_bool(kf, "config", "confirm_trash", &cfg->confirm_trash); -- if(cfg->terminal) -- g_free(cfg->terminal); -- cfg->terminal = g_key_file_get_string(kf, "config", "terminal", NULL); -- if(cfg->archiver) -- g_free(cfg->archiver); -- cfg->archiver = g_key_file_get_string(kf, "config", "archiver", NULL); -+ fm_key_file_get_string(kf, "config", "terminal", &cfg->terminal); -+ fm_key_file_get_string(kf, "config", "archiver", &cfg->archiver); - fm_key_file_get_bool(kf, "config", "thumbnail_local", &cfg->thumbnail_local); - fm_key_file_get_int(kf, "config", "thumbnail_max", &cfg->thumbnail_max); - fm_key_file_get_bool(kf, "config", "advanced_mode", &cfg->advanced_mode); -@@ -285,8 +294,7 @@ void fm_config_load_from_key_file(FmConfig* cfg, GKeyFile* kf) - fm_key_file_get_bool(kf, "config", "defer_content_test", &cfg->defer_content_test); - fm_key_file_get_bool(kf, "config", "quick_exec", &cfg->quick_exec); - fm_key_file_get_bool(kf, "config", "smart_desktop_autodrop", &cfg->smart_desktop_autodrop); -- g_free(cfg->format_cmd); -- cfg->format_cmd = g_key_file_get_string(kf, "config", "format_cmd", NULL); -+ fm_key_file_get_string(kf, "config", "format_cmd", &cfg->format_cmd); - /* append blacklist */ - strv = g_key_file_get_string_list(kf, "config", "modules_blacklist", NULL, NULL); - fm_strcatv(&cfg->modules_blacklist, strv); -@@ -305,10 +313,8 @@ void fm_config_load_from_key_file(FmConfig* cfg, GKeyFile* kf) - fm_key_file_get_int(kf, "ui", "thumbnail_size", &cfg->thumbnail_size); - fm_key_file_get_bool(kf, "ui", "show_thumbnail", &cfg->show_thumbnail); - fm_key_file_get_bool(kf, "ui", "shadow_hidden", &cfg->shadow_hidden); -- g_free(cfg->list_view_size_units); -- cfg->list_view_size_units = g_key_file_get_string(kf, "ui", "list_view_size_units", NULL); -- g_free(cfg->saved_search); -- cfg->saved_search = g_key_file_get_string(kf, "ui", "saved_search", NULL); -+ fm_key_file_get_string(kf, "ui", "list_view_size_units", &cfg->list_view_size_units); -+ fm_key_file_get_string(kf, "ui", "saved_search", &cfg->saved_search); - - fm_key_file_get_bool(kf, "places", "places_home", &cfg->places_home); - fm_key_file_get_bool(kf, "places", "places_desktop", &cfg->places_desktop); --- -2.33.1 - diff --git a/libfm.spec b/libfm.spec index 5fc24d7..c52aec4 100644 --- a/libfm.spec +++ b/libfm.spec @@ -3,121 +3,79 @@ # Upstream git: # git://pcmanfm.git.sourceforge.net/gitroot/pcmanfm/libfm # add bootstrap, need to build menu-cache in epel7 -%global use_release 0 -%global use_gitbare 1 - -%if 0%{?use_gitbare} < 1 -# force -%global use_release 1 -%endif - -%global git_version %{nil} -%global git_ver_rpm %{nil} -%global git_builddir %{nil} - -%if 0%{?use_gitbare} -%global gittardate 20251217 -%global gittartime 2335 -%define use_gitcommit_as_rel 0 - -%global gitbaredate 20251214 -%global git_rev 7e575d13fcf0532fc181fc26391ad6fd7717ed66 -%global git_short %(echo %{git_rev} | cut -c-8) -%global git_version %{gitbaredate}git%{git_short} - -%if 0%{?use_gitcommit_as_rel} -%global git_ver_rpm ^%{git_version} -%global git_builddir -%{git_version} -%else -%global git_ver_rpm %{nil} -%global git_builddir %{nil} -%endif - -%endif - - -%global main_version 1.4.1 - %global bootstrap 0 +%global mainver 1.2.4 +%undefine prever +%global prerpmver %(echo "%{?prever}" | sed -e 's|-||g') + +%global usegit 0 +%global mainrel 3 + +%global githash 47d0c1dd7d59c83188f11bfd6aef4a855f4f5c39 +%global shorthash %(TMP=%githash ; echo ${TMP:0:10}) +%global gitdate Tue, 28 Jul 2015 02:25:54 +0000 +%global gitdate_num 20150728 + +%if 0%{?usegit} >= 1 +%global fedorarel %{mainrel}.D%{gitdate_num}git%{shorthash} +%else +%global fedorarel %{?prever:0.}%{mainrel}%{?prever:.%{prerpmver}} +%endif + %global build_doc 1 -%undefine _changelog_trimtime - Name: libfm -Version: %{main_version}%{git_ver_rpm} -Release: 1%{?dist} +Version: %{mainver} +Release: %{fedorarel}%{?dist} Summary: GIO-based library for file manager-like programs -# src/actions/ GPL-2.0-or-later -# src/base/ LGPL-2.1-or-later -# src/demo/ GPL-2.0-or-later -# src/extra/ LGPL-2.1-or-later -# src/fm-gtk.{c,h} GPL-2.0-or-later -# src/gtk-compat.c GPL-2.0-or-later -# src/*.c (rest) LGPL-2.1-or-later -# src/gio/ GPL-2.0-or-later -# src/gtk/exo/ LGPL-2.1-or-later AND GPL-2.0-or-later -# src/gtk/ GPL-2.0-or-later AND LGPL-2.1-or-later -# src/job/ LGPL-2.1-or-later -# src/modules/ GPL-2.0-or-later -# src/tests/ GPL-2.0-or-later -# src/tools/ GPL-2.0-or-later -# src/udisks/ GPL-2.0-or-later - -# SPDX confirmed -License: LGPL-2.1-or-later AND GPL-2.0-or-later +Group: System Environment/Libraries +License: GPLv2+ URL: http://pcmanfm.sourceforge.net/ -%if 0%{?use_release} >= 1 +%if 0%{?usegit} >= 1 +Source0: https://github.com/lxde/libfm/archive/%{githash}/%{name}-%{version}-D%{gitdate_num}git%{githash}.tar.gz +%else Source0: http://downloads.sourceforge.net/pcmanfm/%{name}-%{mainver}%{?prever}.tar.xz Source1: https://raw.githubusercontent.com/lxde/libfm/master/autogen.sh %endif -%if 0%{?use_gitbare} >= 1 -Source0: libfm-%{gittardate}T%{gittartime}.tar.gz -%endif -Source10: create-libfm-git-bare-tarball.sh - -# Make fm_config_load_from_key_file don't replace string key value -# when subsequent config file does not contain such key but previous key had -# (related to bug 2011471) -Patch1: libfm-1.3.2-0001-fm_config_load_from_key_file-don-t-replace-string-va.patch +# Fedora specific patches +# Firefox uses firefox.desktop for desktop name, drop +#Patch0: libfm-0.1.9-pref-apps.patch # http://sourceforge.net/p/pcmanfm/feature-requests/385/ -#Patch1000: http://sourceforge.net/p/pcmanfm/feature-requests/_discuss/thread/0a50a386/597e/attachment/libfm-1.2.3-moduledir-gtkspecific-v02.patch -Patch1000: libfm-1.3.0.2-moduledir-gtkspecific-v03.patch +Patch1000: http://sourceforge.net/p/pcmanfm/feature-requests/_discuss/thread/0a50a386/597e/attachment/libfm-1.2.3-moduledir-gtkspecific-v02.patch -BuildRequires: pkgconfig(gio-unix-2.0) >= 2.26.0 -BuildRequires: pkgconfig(glib-2.0) >= 2.27.0 -BuildRequires: pkgconfig(gtk+-2.0) -BuildRequires: pkgconfig(gtk+-3.0) -BuildRequires: pkgconfig(pango) -BuildRequires: pkgconfig(cairo) -BuildRequires: pkgconfig(dbus-glib-1) -BuildRequires: pkgconfig(libexif) +BuildRequires: libexif-devel +BuildRequires: gtk3-devel +%if 0%{?fedora} >= 22 +BuildRequires: gtk2-devel +%endif %if ! 0%{?bootstrap} -BuildRequires: pkgconfig(libmenu-cache) >= 0.3.2 +BuildRequires: menu-cache-devel >= 0.3.2 %endif -BuildRequires: make -BuildRequires: gcc BuildRequires: gettext BuildRequires: intltool BuildRequires: desktop-file-utils BuildRequires: gtk-doc BuildRequires: libxslt -BuildRequires: %{_bindir}/valac + +BuildRequires: dbus-glib-devel + +BuildRequires: vala # Patch1000 needs the below anyway BuildRequires: automake BuildRequires: libtool -# Anyway use git -BuildRequires: git - %if 0%{?build_doc} < 1 Obsoletes: %{name}-devel-docs < 0.1.15 %endif +Requires(post): /sbin/ldconfig +Requires(postun): /sbin/ldconfig + %description LibFM is a GIO-based library used to develop file manager-like programs. It is @@ -131,6 +89,7 @@ This package contains the generic non-gui functions of libfm. %package gtk Summary: File manager-related GTK+ widgets of %{name} +Group: System Environment/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} Requires: gvfs @@ -145,6 +104,7 @@ This package provides useful file manager-related GTK+ 3 widgets. %package gtk2 Summary: File manager-related GTK+ widgets of %{name} +Group: System Environment/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} Requires: gvfs @@ -159,6 +119,7 @@ This package provides useful file manager-related GTK+ 2 widgets. %package gtk-utils Summary: GTK+ related utility package for %{name} +Group: User Interface/Desktops Requires: %{name}-gtk%{?isa} = %{version}-%{release} Obsoletes: lxshortcut < 0.1.3 Provides: lxshortcut = %{version}-%{release} @@ -171,6 +132,7 @@ This package contains some GTK+ related utility files for %package devel Summary: Development files for %{name} +Group: Development/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} %description devel @@ -180,6 +142,7 @@ developing applications that use %{name}. %package gtk-devel-common Summary: Common Development files for %{name}-gtk +Group: Development/Libraries Requires: %{name}-devel = %{version}-%{release} BuildArch: noarch @@ -190,6 +153,7 @@ developing applications that use %{name}-gtk. %package gtk-devel Summary: Development files for %{name}-gtk +Group: Development/Libraries Requires: %{name}-gtk%{?_isa} = %{version}-%{release} Requires: %{name}-gtk-devel-common = %{version}-%{release} @@ -199,6 +163,7 @@ developing applications that use %{name}-gtk. %package gtk2-devel Summary: Development files for %{name}-gtk2 +Group: Development/Libraries Requires: %{name}-gtk2%{?_isa} = %{version}-%{release} Requires: %{name}-gtk-devel-common = %{version}-%{release} @@ -208,120 +173,44 @@ developing applications that use %{name}-gtk2. %package devel-docs Summary: Development documation for %{name} +Group: Development/Libraries %description devel-docs This package containg development documentation files for %{name}. %prep -%if 0%{?use_release} >= 1 -%setup -q -n %{name}-%{main_version}%{?prever} +%if 0%{?usegit} < 1 +%setup -q -n %{name}-%{version}%{?prever} cp -a %{SOURCE1} . #%%patch0 -p1 -b .orig -git init +%else +%setup -q -n %{name}-%{githash} %endif -%if 0%{?use_gitbare} -%setup -q -c -T -n %{name}-%{main_version}%{git_builddir} -a 0 -git clone ./%{name}.git/ -cd %{name} - -%if !%{use_gitcommit_as_rel} -git checkout -b fedora-%{version} %{version} +%if 0%{?fedora} >= 22 +%patch1000 -p1 %endif -# Restore timestamps -set +x -echo "Restore timestamps" -git ls-tree -r --name-only HEAD | while read f -do - unixtime=$(git log -n 1 --pretty='%ct' -- $f) - touch -d "@${unixtime}" $f -done -set -x - -cp -a [A-Z]* .. -%endif - -git config user.name "libfm Fedora maintainer" -git config user.email "libfm-maintainer@fedoraproject.org" - -%if 0%{?use_release} >= 1 -# Once call autogen.sh to make git status clean +# Patch1000 needs below anyway sh autogen.sh -git add . -git commit -m "Init tree" -q -%endif - -%if 0%{?use_gitbare} >= 1 -git checkout -b %{main_version}-fedora %{git_rev} -cat > GITHASH <= 1 -cd libfm -%endif - -%if 0%{?use_gitbare} >= 1 -# Workaround -# Once generate files anyway -./configure -make dist -rm -f config.status -%endif - for ver in \ +%if 0%{?fedora} >= 22 2 \ +%endif 3 \ %{nil} do - rm -rf _BUILDDIR_gtk${ver} - mkdir _BUILDDIR_gtk${ver} - pushd _BUILDDIR_gtk${ver} - ln -sf ../configure - %configure \ - --srcdir=$(pwd)/.. \ %if 0%{?bootstrap} - --with-extra-only \ + --with-extra-only \ %endif --enable-gtk-doc \ --enable-udisks \ @@ -336,17 +225,11 @@ do make -C po -j1 GMSGFMT="msgfmt --statistics" make %{?_smp_mflags} -k - make install DESTDIR=$(pwd)/../INSTDIR-gtk${ver} INSTALL="install -p" - popd + make install DESTDIR=$(pwd)/INSTDIR-gtk${ver} + test "$ver" == 2 && make clean done %install -TOPDIR=$(pwd) - -%if 0%{?use_gitbare} >= 1 -cd libfm -%endif - # GTK3 cp -a INSTDIR-gtk3/* $RPM_BUILD_ROOT @@ -355,14 +238,11 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libfm-gtk.pc find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' %if ! 0%{?bootstrap} desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop -( -cd $TOPDIR %find_lang %{name} -) %endif -echo '%%defattr(-,root,root,-)' > $TOPDIR/base-header.files -echo '%%defattr(-,root,root,-)' > $TOPDIR/gtk-header.files +echo '%%defattr(-,root,root,-)' > base-header.files +echo '%%defattr(-,root,root,-)' > gtk-header.files for f in $RPM_BUILD_ROOT%_includedir/%name-1.0/*.h do @@ -371,24 +251,24 @@ do do if [ -f src/$dir/$bf ] then - echo %_includedir/%name-1.0/$bf >> $TOPDIR/base-header.files + echo %_includedir/%name-1.0/$bf >> base-header.files fi done for dir in gtk do if [ -f src/$dir/$bf ] then - echo %_includedir/%name-1.0/$bf >> $TOPDIR/gtk-header.files + echo %_includedir/%name-1.0/$bf >> gtk-header.files fi done done # GTK2 -%if ! 0%{?bootstrap} +%if 0%{?fedora} >= 22 pushd INSTDIR-gtk2 find . -name '*.la' -exec rm -f {} ';' -rm -f .%{_libdir}/pkgconfig/libfm-gtk3.pc +rm -f .{_libdir}/pkgconfig/libfm-gtk3.pc diff -urNp .%{_includedir}/%{name}-1.0 $RPM_BUILD_ROOT%{_includedir}/%name-1.0 diff -urNp .%{_datadir}/%{name} $RPM_BUILD_ROOT/%{_datadir}/%{name} @@ -404,19 +284,12 @@ popd /usr/lib/rpm/check-rpaths %check -%if 0%{?use_gitbare} >= 1 -cd libfm -%endif +find INSTDIR-gtk* -name \*.ui >> po/POTFILES.skip +make check -for ver in \ - 2 \ - 3 \ - %{nil} -do - pushd _BUILDDIR_gtk${ver} - make check - popd -done +%post +/sbin/ldconfig +touch --no-create %{_datadir}/mime/packages &> /dev/null || : %pre devel # Directory -> symlink @@ -424,6 +297,23 @@ if [ -d %{_includedir}/libfm ] ; then rm -rf %{_includedir}/libfm fi +%postun +/sbin/ldconfig +if [ $1 -eq 0 ] ; then +touch --no-create %{_datadir}/mime/packages &> /dev/null || : +update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null || : +fi + +%posttrans +update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null || : + +%post gtk -p /sbin/ldconfig +%postun gtk -p /sbin/ldconfig +%if 0%{?fedora} >= 22 +%post gtk2 -p /sbin/ldconfig +%postun gtk2 -p /sbin/ldconfig +%endif + %if 0%{?bootstrap} %files %else @@ -431,34 +321,34 @@ fi %endif # FIXME: Add ChangeLog if not empty %doc AUTHORS -%license COPYING +%doc COPYING %doc NEWS %doc README - %if ! 0%{?bootstrap} %dir %{_sysconfdir}/xdg/libfm/ %config(noreplace) %{_sysconfdir}/xdg/libfm/libfm.conf - %{_datadir}/%{name}/ %{_libdir}/%{name}.so.4* - %dir %{_libdir}/libfm %dir %{_libdir}/libfm/modules %{_libdir}/libfm/modules/vfs-*.so %{_datadir}/mime/packages/libfm.xml %endif - %{_libdir}/%{name}-extra.so.4* %if ! 0%{?bootstrap} %files gtk %{_libdir}/%{name}-gtk3.so.4* +%{_datadir}/libfm/ +%if 0%{?fedora} < 22 +%{_libdir}/libfm/modules/gtk-*.so +%else %{_libdir}/libfm/modules/gtk3/ +%endif %files gtk-utils %{_mandir}/man1/libfm-pref-apps.1.* %{_mandir}/man1/lxshortcut.1.* - %{_bindir}/libfm-pref-apps %{_bindir}/lxshortcut %{_datadir}/applications/libfm-pref-apps.desktop @@ -469,7 +359,6 @@ fi %doc TODO %{_includedir}/libfm %dir %{_includedir}/libfm-1.0/ - %if ! 0%{?bootstrap} %{_libdir}/%{name}.so %{_libdir}/pkgconfig/libfm.pc @@ -485,6 +374,7 @@ fi %{_libdir}/%{name}-gtk3.so %{_libdir}/pkgconfig/libfm-gtk3.pc +%if 0%{?fedora} >= 22 %files gtk2 %{_libdir}/%{name}-gtk.so.4* %{_libdir}/libfm/modules/gtk/ @@ -492,6 +382,7 @@ fi %files gtk2-devel %{_libdir}/%{name}-gtk.so %{_libdir}/pkgconfig/libfm-gtk.pc +%endif %if 0%{?build_doc} %files devel-docs @@ -502,199 +393,6 @@ fi %endif %changelog -* Wed Dec 17 2025 Mamoru TASAKA - 1.4.1-1 -- 1.4.1 - -* Thu Jul 24 2025 Fedora Release Engineering - 1.4.0^20250316git3289abf5-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Mon May 26 2025 Mamoru TASAKA - 1.4.0^20250316git3289abf5-2 -- Add ACLOCAL_PATH for gettext 0.25 (ref: bug 2366708) - -* Sat Mar 22 2025 Mamoru TASAKA - 1.4.0^20250316git3289abf5-1 -- Update to the latest git - -* Wed Feb 19 2025 Mamoru TASAKA - 1.4.0-1 -- 1.4.0 - -* Sun Feb 16 2025 Mamoru TASAKA - 1.3.2^20250215git9ea11dca-1 -- Update to the latest git - -* Fri Feb 07 2025 Mamoru TASAKA - 1.3.2^20250114git493571d1-1 -- Update to the latest git - -* Fri Jan 17 2025 Fedora Release Engineering - 1.3.2^20250109git2d94c3c8-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Tue Jan 14 2025 Mamoru TASAKA - 1.3.2^20250109git2d94c3c8-2 -- Apply upstream PR for C23 with function prototype strictness - -* Tue Jan 14 2025 Mamoru TASAKA - 1.3.2^20250109git2d94c3c8-1 -- Update to the latest git - -* Wed Dec 25 2024 Mamoru TASAKA - 1.3.2^20241221git37456d7d-1 -- Update to the latest git -- Restore libfm.so ABI (bug 2333955) - -* Thu Dec 19 2024 Mamoru TASAKA - 1.3.2^20241216gitfb651b87-1 -- Update to the latest git - -* Fri Dec 06 2024 Mamoru TASAKA - 1.3.2^20241203gitcea66071-1 -- Update to the latest git - -* Sun Nov 10 2024 Mamoru TASAKA - 1.3.2^20241107gitd9935ec1-1 -- Update to the latest git - -* Sun Aug 25 2024 Mamoru TASAKA - 1.3.2^20240823git4d2f7b41-1 -- Update to the latest git - -* Tue Aug 13 2024 Mamoru TASAKA - 1.3.2^20240812gitfbcd1833-1 -- Update to the latest git - -* Thu Jul 18 2024 Mamoru TASAKA - 1.3.2^20240714gitee33947e-1 -- Update to the latest git (20240714gitee33947e) - -* Tue Jun 04 2024 Mamoru TASAKA - 1.3.2^20230916git5346a539-3 -- Ignore po/ directory make check error with autoconf 2.72 - -* Tue May 14 2024 Mamoru TASAKA - 1.3.2^20230916git5346a539-2 -- Restore timestamps for git ls files - -* Tue Feb 27 2024 Mamoru TASAKA - 1.3.2^20230916git5346a539-1 -- Update to the latest git (20230916git5346a539) - -* Fri Feb 23 2024 Mamoru TASAKA - 1.3.2-8 -- Handle gcc14 -Werror=incompatible-pointer-types -- Make vala regenerate C source related to -Werror=incompatible-pointer-types - workaround for vala source - -* Thu Jan 25 2024 Fedora Release Engineering - 1.3.2-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sun Jan 21 2024 Fedora Release Engineering - 1.3.2-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jan 19 2024 Mamoru TASAKA - 1.3.2-5 -- Change -Wincompatible-pointer-types from error to warning - -* Mon Dec 11 2023 Mamoru TASAKA - 1.3.2-4 -- SPDX migration - -* Thu Jul 20 2023 Fedora Release Engineering - 1.3.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Thu Jan 19 2023 Fedora Release Engineering - 1.3.2-2.3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Thu Jul 21 2022 Fedora Release Engineering - 1.3.2-2.2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Thu Jan 20 2022 Fedora Release Engineering - 1.3.2-2.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Thu Oct 28 2021 Mamoru TASAKA - 1.3.2-2 -- Make fm_config_load_from_key_file don't replace string key value - when subsequent config file does not contain such key but previous key had - (related to bug 2011471) - -* Thu Jul 22 2021 Fedora Release Engineering - 1.3.2-1.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Sun Feb 7 2021 Mamoru TASAKA - 1.3.2-1 -- 1.3.2 release - -* Thu Feb 4 2021 Mamoru TASAKA - 1.3.1-4.D20210202git54cd5fc -- Update to the latest git - -* Mon Feb 1 2021 Mamoru TASAKA - 1.3.1-3.D20210129git1d79967 -- Update to the latest git - -* Tue Jan 26 2021 Fedora Release Engineering - 1.3.1-2.D20200401git8914a52.2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Tue Jul 28 2020 Fedora Release Engineering - 1.3.1-2.D20200401git8914a52.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Wed Apr 8 2020 Mamoru TASAKA - 1.3.1-2.D20200401git8914a52 -- Update to the latest git - -* Wed Jan 29 2020 Fedora Release Engineering - 1.3.1-1.3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Thu Jul 25 2019 Fedora Release Engineering - 1.3.1-1.2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Fri Feb 01 2019 Fedora Release Engineering - 1.3.1-1.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Wed Dec 19 2018 Mamoru TASAKA - 1.3.1-1 -- 1.3.1 release - -* Fri Jul 13 2018 Fedora Release Engineering - 1.3.0.2-1.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Sun Apr 29 2018 Mamoru TASAKA - 1.3.0.2-1 -- 1.3.0.2 release - -* Wed Feb 07 2018 Fedora Release Engineering - 1.2.5-5.gitD20171230.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Tue Jan 2 2018 Mamoru TASAKA - 1.2.5-5.gitD20171230 -- Better cherry-pick description -- Backport one more fixes - -* Sat Dec 30 2017 Mamoru TASAKA - 1.2.5-4.gitD20171230 -- Backport various fixes from master to 1.2.5 -- Use bare repository directly - -* Thu Aug 03 2017 Fedora Release Engineering - 1.2.5-3.100.2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 1.2.5-3.100.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Fri Apr 7 2017 Mamoru TASAKA - 1.2.5-3 -- Fix crash when pasting large string when completion matches (bug 1437443) -- Build error fix with vala 0.36 - -* Mon Feb 6 2017 Mamoru TASAKA - 1.2.5-2 -- spec file fix for bootstrap mode on fedora (bug 1419338) - -* Sun Dec 11 2016 Mamoru TASAKA - 1.2.5-1 -- 1.2.5 released. - -* Sun Dec 11 2016 Mamoru TASAKA - 1.2.4-13.D20161209gitab583d7800 -- Update to the latest master (with 2 patch from 1.2) - -* Wed Dec 7 2016 Mamoru TASAKA - 1.2.4-12.D20161206gita24389f804 -- Update to the latest master (with 2 patch from 1.2) - -* Mon Dec 5 2016 Mamoru TASAKA - 1.2.4-11.D20161204git275559f196 -- Update to the lastest master branch, with cherry-picking patches from 1.2 branch - to revert some enhancement change on master - -* Thu Nov 10 2016 Mamoru TASAKA - 1.2.4-10.D20161105gitc2989af015 -- Remove duplicate files - -* Tue Nov 8 2016 Mamoru TASAKA - 1.2.4-9.D20161105gitc2989af015 -- Update to the latest git 1.2 branch - -* Sat Oct 22 2016 Mamoru TASAKA - 1.2.4-8.D20161017git82b3a1a201 -- Update to the latest git -- Switch to 1.2 branch - -* Sun Aug 28 2016 Mamoru TASAKA - 1.2.4-7.D20160627git2a537414de -- Pull github:libfm#11 fix - -* Thu Aug 18 2016 Mamoru TASAKA - 1.2.4-6.D20160627git2a537414de -- Properly initialize GError with NULL (bug 1357213) - -* Thu Jul 14 2016 Mamoru TASAKA - 1.2.4-5.D20160627git2a537414de -- Update to the latest git to pull in upstream bug fixes - -* Tue Jun 21 2016 Mamoru TASAKA - 1.2.4-4.D20160618gitb22c0995e7 -- Update to the latest git to pull in upstream bug fixes - * Wed Jun 15 2016 Than Ngo - 1.2.4-3 - disable bootstrap in epel7 diff --git a/sources b/sources index 6e2ccab..17525dd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libfm-20251217T2335.tar.gz) = 22310c122892588d23196b21e4e8e251fb83a49a6e8d0bd86abdc93e20d427d6f81f738f3fb8500c0aaf7d6ff7be5752329435b80ce36f5aa5c42353ab0e1864 +74997d75e7e87dc73398746fd373bf52 libfm-1.2.4.tar.xz