diff --git a/.gitignore b/.gitignore index b334c15..2302e48 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,28 @@ -/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 diff --git a/autogen.sh b/autogen.sh deleted file mode 100644 index d76828b..0000000 --- a/autogen.sh +++ /dev/null @@ -1,55 +0,0 @@ -#! /bin/sh -AC_VERSION= - -test -n "$SRC_DIR" || SRC_DIR=$(dirname "$0") -test -n "$SRC_DIR" || SRC_DIR=. - -OLD_DIR=$(pwd) -cd "$SRC_DIR" - -AUTOMAKE=${AUTOMAKE:-automake} -AM_INSTALLED_VERSION=$($AUTOMAKE --version | sed -e '2,$ d' -e 's/.* \([0-9]*\.[0-9]*\).*/\1/') - -# FIXME: we need a better way for version check later. -case "$AM_INSTALLED_VERSION" in - 1.1[1-9]) - ;; - *) - echo - echo "You must have automake >= 1.11 installed." - echo "Install the appropriate package for your distribution," - echo "or get the source tarball at http://ftp.gnu.org/gnu/automake/" - exit 1 - ;; -esac - - -if [ "x${ACLOCAL_DIR}" != "x" ]; then - ACLOCAL_ARG=-I ${ACLOCAL_DIR} -fi - -GTKDOCIZE=`which gtkdocize` - -if test "x${GTKDOCIZE}" = x; then - echo "You need gtk-doc to build this package." - echo "http://www.gtk.org/gtk-doc/" - exit 1 -fi - -set -ex - -gtkdocize --copy -${ACLOCAL:-aclocal$AM_VERSION} ${ACLOCAL_ARG} -${AUTOHEADER:-autoheader$AC_VERSION} --force -AUTOMAKE=$AUTOMAKE libtoolize -c --automake --force -AUTOMAKE=$AUTOMAKE intltoolize -c --automake --force -$AUTOMAKE --add-missing --copy --include-deps -${AUTOCONF:-autoconf$AC_VERSION} - -rm -rf autom4te.cache - -if test -n "$DOCONFIGURE"; then - ./configure $@ -fi - -cd "$OLD_DIR" 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.2.3-right-click-sf926.patch b/libfm-1.2.3-right-click-sf926.patch new file mode 100644 index 0000000..db2062f --- /dev/null +++ b/libfm-1.2.3-right-click-sf926.patch @@ -0,0 +1,15 @@ +--- libfm-8f38f90e04b648637509f2fa2d4208027ae59b5c/src/gtk/fm-folder-view.c.sf926 2015-05-26 01:14:45.000000000 +0900 ++++ libfm-8f38f90e04b648637509f2fa2d4208027ae59b5c/src/gtk/fm-folder-view.c 2015-05-31 14:56:56.010343707 +0900 +@@ -1107,7 +1107,11 @@ + /* get all the relative coordinates */ + gtk_widget_get_allocation(widget, &a); + gdk_window_get_device_position(gtk_widget_get_window(widget), +- gtk_get_current_event_device(), &x2, &y2, NULL); ++ gdk_device_manager_get_client_pointer( ++ gdk_display_get_device_manager( ++ gdk_window_get_display( ++ gtk_widget_get_window(widget)))), ++ &x2, &y2, NULL); + gtk_widget_get_allocation(GTK_WIDGET(menu), &ma); + parent_window = gtk_widget_get_parent_window(widget); + screen = gtk_widget_get_screen(widget); diff --git a/libfm-1.3.0.2-moduledir-gtkspecific-v03.patch b/libfm-1.3.0.2-moduledir-gtkspecific-v03.patch deleted file mode 100644 index d240e49..0000000 --- a/libfm-1.3.0.2-moduledir-gtkspecific-v03.patch +++ /dev/null @@ -1,91 +0,0 @@ ---- 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 -@@ -117,12 +117,14 @@ if test x"$ac_with_gtk" != xno; then - LIBFM_GTK_LTLIBRARIES=libfm-gtk3.la - LIBFM_GTK_PC=libfm-gtk3.pc - ac_with_gtk="3.0" -+ LIBFM_GTK_MODULE_DIR_SUFFIX="gtk3" - ;; - *) - pkg_modules="$gio_modules gtk+-2.0 >= 2.18.0 pango >= 1.16.0 cairo >= 1.8.0" - LIBFM_GTK_LTLIBRARIES=libfm-gtk.la - LIBFM_GTK_PC=libfm-gtk.pc - ac_with_gtk="2.0" -+ LIBFM_GTK_MODULE_DIR_SUFFIX="gtk" - ;; - esac - PKG_CHECK_MODULES(GTK, [$pkg_modules]) -@@ -134,6 +136,7 @@ else - LIBFM_GTK_LTLIBRARIES= - LIBFM_GTK_PC= - ac_with_gtk="none" -+ 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(LIBFM_GTK_LTLIBRARIES) - AC_SUBST(LIBFM_PREF_APPS) - AC_SUBST(LIBFM_GTK_PC) -+AC_SUBST(LIBFM_GTK_MODULE_DIR_SUFFIX) - 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 = \ - -I$(srcdir)/gtk \ - -DPACKAGE_UI_DIR=\""$(datadir)/libfm/ui"\" \ - -DPACKAGE_THEME_DIR=\""$(datadir)/libfm/images"\" \ -+ -DPACKAGE_MODULES_GTK_DIR=\""$(libdir)/@PACKAGE@/modules/@LIBFM_GTK_MODULE_DIR_SUFFIX@"\" \ - $(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 -@@ -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 */ - gtk_icon_theme_append_search_path(gtk_icon_theme_get_default(), PACKAGE_THEME_DIR); -+ fm_modules_add_directory(PACKAGE_MODULES_GTK_DIR); - _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 - - # change default and put modules below usual place - pkglibdir = $(libdir)/@PACKAGE@/modules -+pkggtklibdir = $(libdir)/@PACKAGE@/modules/@LIBFM_GTK_MODULE_DIR_SUFFIX@ - - # modules to compile - pkglib_LTLIBRARIES = \ -@@ -26,8 +27,11 @@ pkglib_LTLIBRARIES = \ - vfs-search.la \ - $(NULL) - -+pkggtklib_LTLIBRARIES = \ -+ $(NULL) -+ - if ENABLE_GTK --pkglib_LTLIBRARIES += \ -+pkggtklib_LTLIBRARIES += \ - gtk-fileprop-x-desktop.la \ - gtk-fileprop-x-shortcut.la \ - gtk-menu-trash.la \ -@@ -38,10 +42,14 @@ endif - # install only .so files, we don't need .la files - install-exec-hook: - rm -f $(DESTDIR)$(pkglibdir)/*.la -+ rm -f $(DESTDIR)$(pkggtklibdir)/*.la - - PLUGINS_INSTALLED = $(pkglib_LTLIBRARIES:.la=.so) -+PLUGINS_GTK_INSTALLED = $(pkggtklib_LTLIBRARIES:.la=.so) -+ - uninstall-hook: - cd $(DESTDIR)$(pkglibdir) && rm -f $(PLUGINS_INSTALLED) || true -+ test -n "$(PLUGINS_GTK_INSTALLED)" && cd $(DESTDIR)$(pkggtklibdir) && rm -f $(PLUGINS_GTK_INSTALLED) || true - - # module-specific parameters - vfs_menu_la_CFLAGS = $(MENU_CACHE_CFLAGS) -I$(top_srcdir)/src/extra 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..b1497ee 100644 --- a/libfm.spec +++ b/libfm.spec @@ -2,122 +2,72 @@ # 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 mainver 1.2.3 +%undefine prever +%global prerpmver %(echo "%{?prever}" | sed -e 's|-||g') -%global git_version %{nil} -%global git_ver_rpm %{nil} -%global git_builddir %{nil} +%global usegit 1 +%global mainrel 8 -%if 0%{?use_gitbare} -%global gittardate 20251217 -%global gittartime 2335 -%define use_gitcommit_as_rel 0 +%global githash 8f38f90e04b648637509f2fa2d4208027ae59b5c +%global shorthash %(TMP=%githash ; echo ${TMP:0:10}) +%global gitdate Mon, 25 May 2015 19:14:45 +0300 +%global gitdate_num 20150525 -%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} +%if 0%{?usegit} >= 1 +%global fedorarel %{mainrel}.D%{gitdate_num}git%{shorthash} %else -%global git_ver_rpm %{nil} -%global git_builddir %{nil} +%global fedorarel %{?prever:0.}%{mainrel}%{?prever:.%{prerpmver}} %endif -%endif - - -%global main_version 1.4.1 - -%global bootstrap 0 %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 +# Fedora specific patches +# Firefox uses firefox.desktop for desktop name, drop +#Patch0: libfm-0.1.9-pref-apps.patch +Patch101: libfm-1.2.3-right-click-sf926.patch -# 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 -# 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 +BuildRequires: libexif-devel +BuildRequires: gtk3-devel +BuildRequires: menu-cache-devel >= 0.3.2 -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) - -%if ! 0%{?bootstrap} -BuildRequires: pkgconfig(libmenu-cache) >= 0.3.2 -%endif - -BuildRequires: make -BuildRequires: gcc BuildRequires: gettext BuildRequires: intltool BuildRequires: desktop-file-utils BuildRequires: gtk-doc BuildRequires: libxslt -BuildRequires: %{_bindir}/valac -# Patch1000 needs the below anyway +BuildRequires: dbus-glib-devel + +BuildRequires: vala + +%if 0%{?usegit} >= 1 BuildRequires: automake -BuildRequires: libtool - -# Anyway use git -BuildRequires: git +BuildRequires: libtool +%endif %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 +81,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 @@ -141,24 +92,11 @@ related operations such as copy & paste, drag & drop, file associations or thumbnail support. By utilizing glib/gio and gvfs, libfm can access remote file systems supported by gvfs. -This package provides useful file manager-related GTK+ 3 widgets. - -%package gtk2 -Summary: File manager-related GTK+ widgets of %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: gvfs - -%description gtk2 -libfm is a GIO-based library used to develop file manager-like programs. It is -developed as the core of next generation PCManFM and takes care of all file- -related operations such as copy & paste, drag & drop, file associations or -thumbnail support. By utilizing glib/gio and gvfs, libfm can access remote -file systems supported by gvfs. - -This package provides useful file manager-related GTK+ 2 widgets. +This package provides useful file manager-related GTK+ 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 +109,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 @@ -178,191 +117,67 @@ The %{name}-devel package contains libraries and header files for developing applications that use %{name}. -%package gtk-devel-common -Summary: Common Development files for %{name}-gtk -Requires: %{name}-devel = %{version}-%{release} -BuildArch: noarch - -%description gtk-devel-common -The %{name}-gtk-devel package contains common header files for -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} +Requires: %{name}-devel%{?_isa} = %{version}-%{release} %description gtk-devel -The %{name}-gtk-devel package contains libraries files for +The %{name}-devel package contains libraries and header files for developing applications that use %{name}-gtk. -%package gtk2-devel -Summary: Development files for %{name}-gtk2 -Requires: %{name}-gtk2%{?_isa} = %{version}-%{release} -Requires: %{name}-gtk-devel-common = %{version}-%{release} - -%description gtk2-devel -The %{name}-gtk2-devel package contains libraries files for -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} -cp -a %{SOURCE1} . +#%%setup -q -n %{name}-%{version}%{?prever} #%%patch0 -p1 -b .orig -git init -%endif +%setup -q -n %{name}-%{githash} -%if 0%{?use_gitbare} -%setup -q -c -T -n %{name}-%{main_version}%{git_builddir} -a 0 -git clone ./%{name}.git/ -cd %{name} +%patch101 -p1 -b .sf926 -%if !%{use_gitcommit_as_rel} -git checkout -b fedora-%{version} %{version} -%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 +%if 0%{?usegit} >= 1 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 \ - 2 \ - 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 \ -%endif - --enable-gtk-doc \ - --enable-udisks \ - --with-gtk=${ver} \ +%configure \ + --enable-gtk-doc \ + --enable-udisks \ + --with-gtk=3 \ %if 0 - --enable-demo \ + --enable-demo \ %endif - --disable-silent-rules \ - --disable-static + --disable-silent-rules \ + --disable-static - # To show translation status - make -C po -j1 GMSGFMT="msgfmt --statistics" - make %{?_smp_mflags} -k +# To show translation status +make -C po -j1 GMSGFMT="msgfmt --statistics" +make %{?_smp_mflags} -k - make install DESTDIR=$(pwd)/../INSTDIR-gtk${ver} INSTALL="install -p" - popd -done %install -TOPDIR=$(pwd) - -%if 0%{?use_gitbare} >= 1 -cd libfm -%endif - -# GTK3 -cp -a INSTDIR-gtk3/* $RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' 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,52 +186,26 @@ 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} -pushd INSTDIR-gtk2 - -find . -name '*.la' -exec rm -f {} ';' -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} - -cp -a ./%{_libdir}/libfm-gtk* $RPM_BUILD_ROOT%{_libdir} -cp -a ./%{_libdir}/pkgconfig/libfm-gtk.pc \ - $RPM_BUILD_ROOT%{_libdir}/pkgconfig/ -cp -a ./%{_libdir}/libfm/modules/gtk/ \ - $RPM_BUILD_ROOT%{_libdir}/libfm/modules/ -popd -%endif - /usr/lib/rpm/check-rpaths %check -%if 0%{?use_gitbare} >= 1 -cd libfm -%endif +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,314 +213,80 @@ if [ -d %{_includedir}/libfm ] ; then rm -rf %{_includedir}/libfm fi -%if 0%{?bootstrap} -%files -%else +%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 + %files -f %{name}.lang -%endif +%defattr(-,root,root,-) # 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* - +%{_libdir}/%{name}-extra.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* -%{_libdir}/libfm/modules/gtk3/ +#%%dir %%{_libdir}/libfm/ +#%%{_libdir}/libfm/gnome-terminal +%{_datadir}/libfm/ +%{_libdir}/libfm/modules/gtk-*.so %files gtk-utils +%defattr(-,root,root,-) %{_mandir}/man1/libfm-pref-apps.1.* %{_mandir}/man1/lxshortcut.1.* - %{_bindir}/libfm-pref-apps %{_bindir}/lxshortcut %{_datadir}/applications/libfm-pref-apps.desktop %{_datadir}/applications/lxshortcut.desktop -%endif + %files devel -f base-header.files +%defattr(-,root,root,-) %doc TODO %{_includedir}/libfm %dir %{_includedir}/libfm-1.0/ - -%if ! 0%{?bootstrap} %{_libdir}/%{name}.so -%{_libdir}/pkgconfig/libfm.pc -%endif %{_libdir}/%{name}-extra.so +%{_libdir}/pkgconfig/libfm.pc %{_libdir}/pkgconfig/libfm-extra.pc -%if ! 0%{?bootstrap} -%files gtk-devel-common -f gtk-header.files +%files gtk-devel -f gtk-header.files +%defattr(-,root,root,-) %{_includedir}/libfm-1.0/fm-gtk.h - -%files gtk-devel %{_libdir}/%{name}-gtk3.so %{_libdir}/pkgconfig/libfm-gtk3.pc -%files gtk2 -%{_libdir}/%{name}-gtk.so.4* -%{_libdir}/libfm/modules/gtk/ - -%files gtk2-devel -%{_libdir}/%{name}-gtk.so -%{_libdir}/pkgconfig/libfm-gtk.pc - %if 0%{?build_doc} %files devel-docs +%defattr(-,root,root,-) %dir %{_datadir}/gtk-doc %dir %{_datadir}/gtk-doc/html %{_datadir}/gtk-doc/html/%{name} %endif -%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 - -* Wed Jun 15 2016 Than Ngo - 1.2.4-2.1 -- bootstrap in epel7 - -* Wed Jun 01 2016 Than Ngo - 1.2.4-2 -- add bootstrap support (need to build menu-cache in epel7 branch) - -* Sun Feb 28 2016 Mamoru TASAKA - 1.2.4-1 -- 1.2.4 - -* Thu Feb 04 2016 Fedora Release Engineering - 1.2.3-13.D20150728git47d0c1dd7d.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Thu Jul 30 2015 Mamoru TASAKA - 1.2.3-13.D20150728git47d0c1dd7d -- Update to the latest git (the previous patch accepted by the upstream) - -* Tue Jul 28 2015 Mamoru TASAKA - 1.2.3-12.D20150713gitf47c9ae7ae -- Workaround for highlighting issue on icon view (bug 1211585, upstream bug 921) - -* Thu Jul 23 2015 Mamoru TASAKA - 1.2.3-11.D20150713gitf47c9ae7ae -- Update to the latest git -- Build gtk2 also on F-22 - -* Wed Jun 17 2015 Mamoru TASAKA - 1.2.3-10.D20150607gite1de98ccba -- F-23: build also gtk2 library -- Move data files to main package - -* Wed Jun 17 2015 Fedora Release Engineering - 1.2.3-9.D20150607gite1de98ccba.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Wed Jun 10 2015 Mamoru TASAKA - 1.2.3-9.D20150607gite1de98ccba -- Update to the latest git - * Sun May 31 2015 Mamoru TASAKA - 1.2.3-8.D20150525git8f38f90e04 -- Update to the latest git, removing patches applied upstream +- Update to the latest git, all removing patches applied upstream * Sun May 24 2015 Mamoru TASAKA - 1.2.3-7.D20150521git577806e29d - Fix another GTK3 related bug @@ -815,7 +370,7 @@ fi * Sun Nov 4 2012 Mamoru TASAKA - 1.1.0-1 - 1.1.0 -* Thu Sep 27 2012 Mamoru Tasaka - 1.0.1-1 +* Wed Sep 27 2012 Mamoru Tasaka - 1.0.1-1 - 1.0.1 * Wed Aug 15 2012 Mamoru Tasaka - 1.0-1 diff --git a/sources b/sources index 6e2ccab..c783046 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libfm-20251217T2335.tar.gz) = 22310c122892588d23196b21e4e8e251fb83a49a6e8d0bd86abdc93e20d427d6f81f738f3fb8500c0aaf7d6ff7be5752329435b80ce36f5aa5c42353ab0e1864 +62987faa02cfa185220f6c6f4a511d36 libfm-1.2.3-D20150525git8f38f90e04b648637509f2fa2d4208027ae59b5c.tar.gz