diff --git a/.gitignore b/.gitignore index 433ef5e..facbe27 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,19 @@ -/menu-cache-*.tar.xz -/menu-cache-*.tar.gz +menu-cache-0.3.2.tar.gz +/menu-cache-0.3.3.tar.gz +/menu-cache-0.4.1.tar.gz +/menu-cache-0.5.1.tar.gz +/menu-cache-1.0.0.tar.xz +/menu-cache-1.0.0-D20151117git2d65876eb6948f122b35241d6611cf0f009b6f79.tar.gz +/menu-cache-1.0.0-D20151126git7e63ae3f66c30a4516bf04139fd98a3856e6a065.tar.gz +/menu-cache-1.0.0-D20151128git0b1e85c263f571f61384c7eb81c7edc2a69335dc.tar.gz +/menu-cache-1.0.1.tar.xz +/menu-cache-1.0.1-D20160506git2932d67f305d4fd45a29c35c233ecd2925c2ecab.tar.gz +/menu-cache-1.0.1-D20161021git441f0ca9a1b3a8e06dc4b440af28aaa5f4e2e37a.tar.gz +/menu-cache-1.0.2.tar.xz +/menu-cache-1.0.2-D20170417git54ab9e45764435634cdf5de360b295ee3a22817a.tar.gz +/menu-cache-1.0.2-D20170419gitdffb1314ec1b7212bbee5dfa9a021a069b826cbb.tar.gz +/menu-cache-1.0.2-D20170514git56f66684592abf257c4004e6e1fff041c64a12ce.tar.gz +/menu-cache-1.0.2-D20170905git2ef9df036ccc68eaae1eb2ebbffe29a6e2856b97.tar.gz +/menu-cache-1.0.2-D20170913gitfd52af607c6f4bc8db99877d71f802f1afdd7c06.tar.gz +/menu-cache-1.0.2-D20170914git8c8534159d4898935b47f9103cf32cd9b21b3df5.tar.gz +/menu-cache-1.1.0.tar.xz diff --git a/create-menu-cache-git-bare-tarball.sh b/create-menu-cache-git-bare-tarball.sh deleted file mode 100644 index 5d59463..0000000 --- a/create-menu-cache-git-bare-tarball.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash - -set -x -set -e - -REPONAME=menu-cache -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/menu-cache-1.1.0-0001-Support-gcc10-compilation.patch b/menu-cache-1.1.0-0001-Support-gcc10-compilation.patch new file mode 100644 index 0000000..29f8e53 --- /dev/null +++ b/menu-cache-1.1.0-0001-Support-gcc10-compilation.patch @@ -0,0 +1,108 @@ +From 1ce739649b4d66339a03fc0ec9ee7a2f7c141780 Mon Sep 17 00:00:00 2001 +From: Mamoru TASAKA +Date: Fri, 24 Jan 2020 13:33:00 +0900 +Subject: [PATCH] Support gcc10 compilation + +gcc10 now defaults to -fno-common, and with gcc10 menu-cache compilation fails like + +/bin/ld: menu-merge.o:menu-cache-gen/menu-tags.h:167: multiple definition of `DirDirs'; main.o:menu-cache-gen/menu-tags.h:167: first defined here +/bin/ld: menu-merge.o:menu-cache-gen/menu-tags.h:164: multiple definition of `AppDirs'; main.o:menu-cache-gen/menu-tags.h:164: first defined here +/bin/ld: menu-merge.o:menu-cache-gen/menu-tags.h:52: multiple definition of `menuTag_Layout'; main.o:menu-cache-gen/menu-tags.h:52: first defined here +.... + +This patch fixes compilation with gcc10: properly declaring variables in header with "extern", and also removing some unneeded variables in header files. +--- + menu-cache-gen/menu-tags.h | 55 ++++++++++++-------------------------- + 1 file changed, 17 insertions(+), 38 deletions(-) + +diff --git a/menu-cache-gen/menu-tags.h b/menu-cache-gen/menu-tags.h +index f3fd7d3..f71c0bc 100644 +--- a/menu-cache-gen/menu-tags.h ++++ b/menu-cache-gen/menu-tags.h +@@ -22,38 +22,17 @@ + #include + #include + +-FmXmlFileTag menuTag_Menu; +-FmXmlFileTag menuTag_AppDir; +-FmXmlFileTag menuTag_DefaultAppDirs; +-FmXmlFileTag menuTag_DirectoryDir; +-FmXmlFileTag menuTag_DefaultDirectoryDirs; +-FmXmlFileTag menuTag_Include; +-FmXmlFileTag menuTag_Exclude; +-FmXmlFileTag menuTag_Filename; +-FmXmlFileTag menuTag_Or; +-FmXmlFileTag menuTag_And; +-FmXmlFileTag menuTag_Not; +-FmXmlFileTag menuTag_Category; +-FmXmlFileTag menuTag_MergeFile; +-FmXmlFileTag menuTag_MergeDir; +-FmXmlFileTag menuTag_DefaultMergeDirs; +-FmXmlFileTag menuTag_Directory; +-FmXmlFileTag menuTag_Name; +-FmXmlFileTag menuTag_Deleted; +-FmXmlFileTag menuTag_NotDeleted; +-FmXmlFileTag menuTag_OnlyUnallocated; +-FmXmlFileTag menuTag_NotOnlyUnallocated; +-FmXmlFileTag menuTag_All; +-FmXmlFileTag menuTag_LegacyDir; +-FmXmlFileTag menuTag_KDELegacyDirs; +-FmXmlFileTag menuTag_Move; +-FmXmlFileTag menuTag_Old; +-FmXmlFileTag menuTag_New; +-FmXmlFileTag menuTag_Layout; +-FmXmlFileTag menuTag_DefaultLayout; +-FmXmlFileTag menuTag_Menuname; +-FmXmlFileTag menuTag_Separator; +-FmXmlFileTag menuTag_Merge; ++extern FmXmlFileTag menuTag_AppDir; ++extern FmXmlFileTag menuTag_DirectoryDir; ++extern FmXmlFileTag menuTag_Include; ++extern FmXmlFileTag menuTag_Exclude; ++extern FmXmlFileTag menuTag_Filename; ++extern FmXmlFileTag menuTag_Or; ++extern FmXmlFileTag menuTag_And; ++extern FmXmlFileTag menuTag_Not; ++extern FmXmlFileTag menuTag_Category; ++extern FmXmlFileTag menuTag_All; ++extern FmXmlFileTag menuTag_LegacyDir; + + typedef enum { + MERGE_NONE, /* starting value */ +@@ -152,19 +131,19 @@ typedef struct { + } MenuRule; + + /* requested language(s) */ +-char **languages; ++extern char **languages; + + /* list of menu files to monitor */ +-GSList *MenuFiles; ++extern GSList *MenuFiles; + + /* list of menu dirs to monitor */ +-GSList *MenuDirs; ++extern GSList *MenuDirs; + + /* list of available app dirs */ +-GSList *AppDirs; ++extern GSList *AppDirs; + + /* list of available dir dirs */ +-GSList *DirDirs; ++extern GSList *DirDirs; + + /* parse and merge menu files */ + MenuMenu *get_merged_menu(const char *file, FmXmlFile **xmlfile, GError **error); +@@ -177,7 +156,7 @@ gboolean save_menu_cache(MenuMenu *layout, const char *menuname, const char *fil + void _free_layout_items(GList *data); + + /* verbosity level */ +-gint verbose; ++extern gint verbose; + + #define DBG if (verbose) g_debug + #define VDBG if (verbose > 1) g_debug +-- +2.24.1 + diff --git a/menu-cache.spec b/menu-cache.spec index 391c032..28e7a99 100644 --- a/menu-cache.spec +++ b/menu-cache.spec @@ -1,61 +1,46 @@ -%global use_release 1 -%global use_git 0 -%global use_gitbare 0 +%global usegit 0 +%global mainrel 2 -%if 0%{?use_git} < 1 -%if 0%{?use_gitbare} < 1 -# force -%global use_release 1 +%global githash 8c8534159d4898935b47f9103cf32cd9b21b3df5 +%global shorthash %(TMP=%githash ; echo ${TMP:0:10}) +%global gitdate Thu, 14 Sep 2017 00:32:14 +0300 +%global gitdate_num 20170914 + +%if 0%{?usegit} >= 1 +%global fedorarel %{mainrel}.D%{gitdate_num}git%{shorthash} +%else +%global fedorarel %{?prever:0.}%{mainrel}%{?prever:.%{prerpmver}} %endif -%endif - -%global git_version %{nil} -%global git_ver_rpm %{nil} -%global git_builddir %{nil} - -%if 0%{?use_gitbare} -%global gittardate 20250209 -%global gittartime 1612 - -%global gitbaredate 20250128 -%global git_rev 18bad9324b9e8990c73a67cee9b87d551d34be91 -%global git_short %(echo %{git_rev} | cut -c-8) -%global git_version %{gitbaredate}git%{git_short} -%endif - -%if 0%{?use_git} || 0%{?use_gitbare} -%global git_ver_rpm ^%{git_version} -%global git_builddir -%{git_version} -%endif - - -%global main_version 1.1.1 - Name: menu-cache -Version: %{main_version}%{git_ver_rpm} -Release: 2%{?dist} +Version: 1.1.0 +Release: %{fedorarel}%{?dist}.7 Summary: Caching mechanism for freedesktop.org compliant menus -# SPDX confirmed -License: LGPL-2.0-or-later +License: LGPLv2+ and GPLv2+ URL: http://lxde.org -%if 0%{?use_gitbare} -Source0: %{name}-%{gittardate}T%{gittartime}.tar.gz +#VCS: git:git://lxde.git.sourceforge.net/gitroot/lxde/menu-cache +%if 0%{?usegit} >= 1 +Source0: https://github.com/lxde/menu-cache/archive/%{githash}/%{name}-%{version}-D%{gitdate_num}git%{githash}.tar.gz +%else +Source0: http://downloads.sourceforge.net/lxde/%{name}-%{version}.tar.xz %endif -%if 0%{?use_release} -Source0: https://github.com/lxde/%{name}/archive/%{version}/%{name}-%{version}.tar.gz +%if 0%{?el7} +# bz#1451069 - CVE-2017-8933 menu-cache: Insecure temporary file creation in get_socket_name function +Patch0: menu-cache-CVE-2017-8933.patch %endif -Source1: create-menu-cache-git-bare-tarball.sh +# https://github.com/lxde/menu-cache/pull/19 +Patch1: menu-cache-1.1.0-0001-Support-gcc10-compilation.patch -BuildRequires: make +BuildRequires: make BuildRequires: gcc BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(libfm-extra) +%if 0%{?usegit} >= 1 BuildRequires: automake BuildRequires: gtk-doc BuildRequires: libtool -BuildRequires: /usr/bin/git +%endif %description Menu-cache is a caching mechanism for freedesktop.org compliant menus to @@ -72,45 +57,29 @@ developing applications that use %{name}. %prep -%if 0%{?use_release} -%setup -q -n %{name}-%{main_version}%{git_builddir} - -git init -%endif - -%if 0%{?use_gitbare} -%setup -q -c -T -n %{name}-%{main_version}%{git_builddir} -a 0 -git clone ./%{name}.git/ -cd %{name} - -git checkout -b %{main_version}-fedora %{git_rev} -cp -a [A-Z]* .. -%endif - -git config user.name "%{name} Fedora maintainer" -git config user.email "%{name}-maintainers@fedoraproject.org" - -%if 0%{?use_release} -git add . -git commit -m "base" -q +%if 0%{?usegit} >= 1 +%setup -q -n %{name}-%{githash} +%else +%setup -q %endif +%if 0%{?usegit} >= 1 sh autogen.sh +%endif +%patch1 -p1 -b .gcc10 %build -%if 0%{?use_gitbare} -cd %{name} -%endif - +%global optflags %optflags -fno-common %configure --disable-static --disable-silent-rules -%make_build +# remove rpath in menu-cache-gen +#sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool +#sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool + +make %{?_smp_mflags} + %install -%if 0%{?use_gitbare} -cd %{name} -%endif - -%make_install +make install DESTDIR=%{buildroot} find %{buildroot} -name '*.la' -exec rm -f {} ';' %ldconfig_scriptlets @@ -120,7 +89,9 @@ find %{buildroot} -name '*.la' -exec rm -f {} ';' #FIXME: add ChangeLog and NEWS if there is content %doc AUTHORS %license COPYING +%if 0%{?usegit} < 1 %doc NEWS +%endif %doc README %{_libexecdir}/%{name}/menu-cache-gen %{_libexecdir}/%{name}/menu-cached @@ -136,39 +107,6 @@ find %{buildroot} -name '*.la' -exec rm -f {} ';' %changelog -* Thu Jul 24 2025 Fedora Release Engineering - 1.1.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Sun Feb 16 2025 Mamoru TASAKA - 1.1.1-1 -- 1.1.1 - -* Sun Feb 09 2025 Mamoru TASAKA - 1.1.0^20250128git18bad932-1 -- Update to the latest git - -* Fri Jan 17 2025 Fedora Release Engineering - 1.1.0^20240821git83d90343-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Sun Aug 25 2024 Mamoru TASAKA - 1.1.0^20240821git83d90343-1 -- Update to the latest git - -* Thu Jul 18 2024 Fedora Release Engineering - 1.1.0^20230724git4a82095c-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Thu Jan 25 2024 Fedora Release Engineering - 1.1.0^20230724git4a82095c-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sun Jan 21 2024 Fedora Release Engineering - 1.1.0^20230724git4a82095c-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Mon Aug 21 2023 Mamoru TASAKA - 1.1.0^20230724git4a82095c-1 -- Update to the latest git - -* Thu Jul 20 2023 Fedora Release Engineering - 1.1.0-2.9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Mon Jun 12 2023 Than Ngo - 1.1.0-2.8 -- migrated to SPDX license - * Thu Jan 19 2023 Fedora Release Engineering - 1.1.0-2.7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild diff --git a/sources b/sources index 7018d9d..e43c3a1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (menu-cache-1.1.1.tar.gz) = a2ede5663946d13a2992196a8547319ffa252cf5e37ba76dad559deb18450797ac6d5910415226ab996eab2131a2aa715b091a023a8a1eb39c83ea47043976e1 +SHA512 (menu-cache-1.1.0.tar.xz) = e4c6619ade7b9a1b97c1366bb94dffb9975be5664b193cf0c69cf9470ef7ae19bda3390d04d98ee9a5b1658ec48aa5c83508c26c347af689161ee67c076b3c9e