# HG changeset patch # User Hans-G?nter Theisgen # Date 1590498772 -3600 # Node ID b454de65b47bd27d34f0390ebd0dd09dcb3f2288 # Parent 3f40a3c71c48da98d976d7060d8bddc877a41b72 libfm: do not treat desktop entries as executables diff -r 3f40a3c71c48 -r b454de65b47b libfm/receipt --- a/libfm/receipt Mon May 25 18:40:12 2020 +0000 +++ b/libfm/receipt Tue May 26 14:12:52 2020 +0100 @@ -3,24 +3,23 @@ PACKAGE="libfm" VERSION="1.3.1" CATEGORY="system-tools" -SHORT_DESC="File management support (core library)" -MAINTAINER="devel@slitaz.org" +SHORT_DESC="File management support (core library)." +MAINTAINER="maintainer@slitaz.org" LICENSE="GPL2" +WEB_SITE="http://pcmanfm.sourceforge.net" + TARBALL="$PACKAGE-$VERSION.tar.xz" -WEB_SITE="http://pcmanfm.sourceforge.net" WGET_URL="$SF_MIRROR/pcmanfm/$TARBALL" -#EXTRA_SOURCE_FILES="$PACKAGE-reversepatch_SF949_7daeaf3.u" # Really fix segfault -#WGET_URL2="https://github.com/lxde/libfm/commit/7daeaf3.patch" -#WGETURL3="https://github.com/lxde/libfm/commit/2c00984.patch" #narrow icon cell -HOST_ARCH="i486 arm" -GENERIC_MENUS="no" SUGGESTED="gvfs" DEPENDS="glib glibc-base libffi libgio menu-cache pcre zlib" -BUILD_DEPENDS="automake gtk-doc libtool \ -gtk+-dev dbus-glib-dev dbus-dev startup-notification-dev \ -libxcb-dev xcb-util-dev menu-cache-dev expat-dev libgio-dev \ -shared-mime-info-dev" # git-version deps: gtk-doc libtool automake +BUILD_DEPENDS="automake dbus-dev dbus-glib-dev expat-dev gtk-doc gtk+-dev + libgio-dev libtool libxcb-dev menu-cache-dev shared-mime-info-dev + startup-notification-dev xcb-util-dev" # git-version deps: gtk-doc libtool automake + +GENERIC_MENUS="no" + +HOST_ARCH="i486 arm" case "$ARCH" in i?86) BUILD_DEPENDS="$BUILD_DEPENDS intltool vala" @@ -29,34 +28,41 @@ # Rules to configure and make the package. compile_rules() { -# [ -s $SOURCES_REPOSITORY/$EXTRA_SOURCE_FILES ] || \ -# wget -O $SOURCES_REPOSITORY/$EXTRA_SOURCE_FILES $WGET_URL2 -# patch -p1 -R -i $SOURCES_REPOSITORY/$EXTRA_SOURCE_FILES -# # fix freeze when using custom action with "inode/directory": -# sed 's|TRUE, 0.5, 0.0|FALSE, 0.0f, 0.0f|' -i src/gtk/fm-standard-view.c ./autogen.sh patch -p1 -i $stuff/quick-exec.patch - ./configure \ - --sysconfdir=/etc \ - --disable-static \ + + # Do *not* treat desktop entries as executables! + patch --input $stuff/patches/fm-file-info.c-1.3.1 \ + src/base/fm-file-info.c + + ./configure \ + --sysconfdir=/etc \ + --disable-static \ $CONFIGURE_ARGS && - make && make install || return 1 + make && + make install || return 1 # remove libfm-extra files (already provided by libfm-extra package) - rm $install/usr/lib/libfm-extra.* $install/usr/lib/pkgconfig/libfm-extra.pc + rm $install/usr/lib/libfm-extra.* + rm $install/usr/lib/pkgconfig/libfm-extra.pc } # Rules to gen a SliTaz package suitable for Tazpkg. genpkg_rules() { - mkdir -p $fs/usr/lib/libfm/modules $fs/usr/share/libfm - cp -a $install/etc $fs/ - cp -a $install/usr/lib/libfm.so* $fs/usr/lib/ - cp -a $install/usr/lib/libfm/modules/vfs* $fs/usr/lib/libfm/modules/ - cp -a $install/usr/share/libfm/*.list $fs/usr/share/libfm/ + mkdir -p $fs/usr/lib/libfm/modules + mkdir -p $fs/usr/share/libfm + + cp -a $install/etc $fs + cp -a $install/usr/lib/libfm.so* $fs/usr/lib + cp -a $install/usr/lib/libfm/modules/vfs* $fs/usr/lib/libfm/modules + cp -a $install/usr/share/libfm/*.list $fs/usr/share/libfm + # define terminal - sed -i 2i\ 'terminal=terminal' $fs/etc/xdg/libfm/libfm.conf - # set small & pane icon size to 16 - sed -i 's|\(\(small\|pane\)_icon_size=\).*|\116|' $fs/etc/xdg/libfm/libfm.conf + sed -i 2i\ 'terminal=terminal' \ + $fs/etc/xdg/libfm/libfm.conf + # set small and pane icon size to 16 + sed -i 's|\(\(small\|pane\)_icon_size=\).*|\116|' \ + $fs/etc/xdg/libfm/libfm.conf } diff -r 3f40a3c71c48 -r b454de65b47b libfm/stuff/patches/fm-file-info.c-1.3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libfm/stuff/patches/fm-file-info.c-1.3.1 Tue May 26 14:12:52 2020 +0100 @@ -0,0 +1,10 @@ +--- src/base/fm-file-info.c.orig ++++ src/base/fm-file-info.c +@@ -1385,6 +1385,7 @@ + else if(strcmp(type, "application/x-desktop") == 0) + { /* treat desktop entries as executables if + they are native and have read permission */ ++ return FALSE; + if(fm_path_is_native(fi->path) && (fi->mode & (S_IRUSR|S_IRGRP|S_IROTH))) + { + if (fi->shortcut && fi->target) {