diff --git a/.gitignore b/.gitignore index 6f72d53..852717d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,40 +1,2 @@ -gnome-commander-1.2.8.6.tar.bz2 -gnome-commander-1.2.8.7.tar.bz2 -/gnome-commander-1.2.8.8.tar.bz2 -/gnome-commander-1.2.8.9.tar.bz2 -/gnome-commander-1.2.8.10.tar.bz2 -/gnome-commander-1.2.8.11.tar.bz2 -/gnome-commander-1.2.8.12.tar.bz2 -/gnome-commander-1.2.8.13.tar.bz2 -/gnome-commander-1.2.8.14.tar.bz2 -/gnome-commander-1.2.8.15.tar.xz -/gnome-commander-1.2.8.16.tar.xz -/gnome-commander-1.2.8.17.tar.xz -/gnome-commander-1.4.0.tar.xz -/gnome-commander-1.4.1.tar.xz -/gnome-commander-1.4.2.tar.xz -/gnome-commander-1.4.3.tar.xz -/gnome-commander-1.4.4.tar.xz -/gnome-commander-1.4.5.tar.xz -/gnome-commander-5a4806f7e5789a7d29d62550e9128436ffdef00a.tar.xz -/gnome-commander-1.4.6.tar.xz -/gnome-commander-1.4.7.tar.xz -/gnome-commander-1.4.8.tar.xz -/gnome-commander-1.4.9.tar.xz -/gnome-commander-1.6.0.tar.xz -/gnome-commander-1.6.1.tar.xz -/gnome-commander-1.6.2.tar.xz -/gnome-commander-1.6.3.tar.xz -/gnome-commander-1.6.4.tar.xz -/gnome-commander-1.8.0.tar.xz -/gnome-commander-1.8.1.tar.xz -/gnome-commander-1.10.0.tar.xz -/gnome-commander-1.10.1.tar.xz -/gnome-commander-1.10.2.tar.xz -/gnome-commander-1.10.3.tar.xz -/gnome-commander-20210319T1025.tar.gz -/gnome-commander-1.12.0.tar.xz -/gnome-commander-1.12.1.tar.xz -/gnome-commander-1.12.2.tar.xz -/gnome-commander-1.12.3.tar.xz -/gnome-commander-1.12.3.1.tar.xz +/gnome-commander-*.tar.gz +/gnome-commander-*.tar.xz diff --git a/0001-GnomeCmdData-save_devices-place-GVariantBuilder-stru.patch b/0001-GnomeCmdData-save_devices-place-GVariantBuilder-stru.patch deleted file mode 100644 index 7aafb7e..0000000 --- a/0001-GnomeCmdData-save_devices-place-GVariantBuilder-stru.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 9723c65d0295baedeb6ee4cb85b35ab51ef22376 Mon Sep 17 00:00:00 2001 -From: Mamoru TASAKA -Date: Mon, 22 Nov 2021 17:04:36 +0900 -Subject: [PATCH] GnomeCmdData::save_devices: place GVariantBuilder structure - on stack initially - -As written on: -https://www.freedesktop.org/software/gstreamer-sdk/data/docs/latest/glib/glib-GVariant.html#g-variant-builder-new -when calling g_variant_builder_init(), GVariantBuilder structure must be placed on stack first -and the reference to the memory must be passed to the function, instead of -passing nullptr. ---- - src/gnome-cmd-data.cc | 15 ++++++++------- - 1 file changed, 8 insertions(+), 7 deletions(-) - -diff --git a/src/gnome-cmd-data.cc b/src/gnome-cmd-data.cc -index 51407cc..b38f96a 100644 ---- a/src/gnome-cmd-data.cc -+++ b/src/gnome-cmd-data.cc -@@ -1722,23 +1722,24 @@ void GnomeCmdData::save_devices() - devices = gnome_cmd_con_list_get_all_dev (gnome_cmd_data.priv->con_list); - if (devices && g_list_length(devices) > 0) - { -- GVariantBuilder *gVariantBuilder = nullptr; -+ GVariantBuilder gVariantBuilder; -+ gboolean device_added_p = false; - - for (; devices; devices = devices->next) - { - auto *device = GNOME_CMD_CON_DEVICE (devices->data); - if (device && !gnome_cmd_con_device_get_autovol (device)) - { -- if (!gVariantBuilder) -+ if (!device_added_p) - { -- g_variant_builder_init (gVariantBuilder, G_VARIANT_TYPE_ARRAY); -+ g_variant_builder_init (&gVariantBuilder, G_VARIANT_TYPE_ARRAY); - } -- -+ device_added_p = true; - gchar *icon_path = g_strdup (gnome_cmd_con_device_get_icon_path (device)); - if (!icon_path || icon_path[0] == '\0') - icon_path = g_strdup (""); - -- g_variant_builder_add (gVariantBuilder, GCMD_SETTINGS_DEVICES_FORMAT_STRING, -+ g_variant_builder_add (&gVariantBuilder, GCMD_SETTINGS_DEVICES_FORMAT_STRING, - gnome_cmd_con_device_get_alias (device), - gnome_cmd_con_device_get_device_fn (device), - gnome_cmd_con_device_get_mountp (device), -@@ -1747,9 +1748,9 @@ void GnomeCmdData::save_devices() - } - } - -- if (gVariantBuilder) -+ if (device_added_p) - { -- devicesToStore = g_variant_builder_end (gVariantBuilder); -+ devicesToStore = g_variant_builder_end (&gVariantBuilder); - g_settings_set_value(options.gcmd_settings->general, GCMD_SETTINGS_DEVICES, devicesToStore); - return; - } --- -2.33.1 - diff --git a/create-gcmd-git-bare-tarball.sh b/create-gcmd-git-bare-tarball.sh index 6ec6fa7..8326c21 100644 --- a/create-gcmd-git-bare-tarball.sh +++ b/create-gcmd-git-bare-tarball.sh @@ -5,7 +5,7 @@ set -e REPONAME=gnome-commander GITURL=https://gitlab.gnome.org/GNOME/${REPONAME}.git -BRANCH=gcmd-1-12 +BRANCH=master DATE=$(date '+%Y%m%d') TIME=$(date '+%H%M') diff --git a/gnome-commander.spec b/gnome-commander.spec index 068a248..19979f7 100644 --- a/gnome-commander.spec +++ b/gnome-commander.spec @@ -2,15 +2,12 @@ %undefine _strict_symbol_defs_build %global EXIV2_REQ 0.14 -%global GLIB_REQ 2.44.0 -%global LIBGSF_REQ 1.12.0 -%global POPPLER_REQ 0.8 +%global GLIB_REQ 2.70.0 +%global LIBGSF_REQ 1.14.26 +%global POPPLER_REQ 0.18 %global TAGLIB_REQ 1.4 +%global UNIQUE_REQ 0.9.3 -%global mimeedit_rev 1958 - -%global use_autotool 0 -%global update_po 0 %global if_pre 0 %global use_gcc_strict_sanitize 0 @@ -29,51 +26,41 @@ %endif %if 0%{?use_gitbare} -%global gittardate 20210319 -%global gittartime 1025 -%global gitbaredate 20210318 -%global git_rev 3ebb680e6a181d1dc6f7c3a188f3d5d90ff26d32 +%global gittardate 20240721 +%global gittartime 1636 +%global gitbaredate 20240719 +%global git_rev 95c732e0bda821f4b1eb437d2bc175acd268c9c6 %global git_short %(echo %{git_rev} | cut -c-8) -%global git_version D%{gitbaredate}git%{git_short} +%global git_version %{gitbaredate}git%{git_short} %global if_pre 1 +%global clamp_mtime_to_source_date_epoch 0 %endif -%global shortver 1.12 -%global fullver %{shortver}.3.1 -%global mainrel 2 +%global shortver 1.18 +%global fullver %{shortver}.4 %if 0%{?use_release} >= 1 -%global fedorarel %{?prever:0.}%{mainrel}%{?prever:.%{prerpmver}} +%global fedoraver %{fullver} %endif %if 0%{?use_gitbare} >= 1 -%global fedorarel %{mainrel}.%{git_version} +%global fedoraver %{fullver}%{?if_pre:~}%{!?if_pre:^}%{git_version} %endif -%if 0%{?if_pre} > 0 -%global use_autotool 1 -%endif -%if 0%{?use_autotool} < 1 -%global update_po 0 -%endif - -# Patch1 updates configure.in -%global use_autotool 1 - -# Autotool seems still needed to avoid build failure -# under doc/ diretory, need investigating -%global use_autotool 1 - Name: gnome-commander # Downgrade 3 times, sorry... Epoch: 4 -Version: %{fullver} -Release: %{fedorarel}%{flagrel}%{?dist} +Version: %{fedoraver} +Release: 1%{?dist}%{flagrel} Summary: A nice and fast file manager for the GNOME desktop Summary(pl): Menadżer plików dla GNOME oparty o Norton Commander'a (TM) Summary(sv): GNOME Commander är en snabb och smidig filhanderare för GNOME -License: GPLv2+ +# Overall GPL-2.0-or-later +# data/org.gnome.gnome-commander.appdata.xml.in CC0-1.0 +# doc/C/legal.xml GFDL-1.1-or-later +# SPDX confirmed +License: GPL-2.0-or-later AND GFDL-1.1-or-later AND CC0-1.0 URL: http://gcmd.github.io/ %if 0%{?use_release} Source0: http://ftp.gnome.org/pub/GNOME/sources/%{name}/%{shortver}/%{name}-%{version}%{?extratag:-%extratag}.tar.xz @@ -84,10 +71,7 @@ Source0: %{name}-%{gittardate}T%{gittartime}.tar.gz Source1: gnome-commander.sh # Source0 is created from Source2 Source2: create-gcmd-git-bare-tarball.sh -Source10: mimeedit-svn%{mimeedit_rev}.sh Patch1: gnome-commander-1.6.0-path-fedora-specific.patch -# Must send to be upstream -Patch101: 0001-GnomeCmdData-save_devices-place-GVariantBuilder-stru.patch BuildRequires: gcc-c++ %if 0%{?use_gcc_strict_sanitize} @@ -99,40 +83,37 @@ BuildRequires: desktop-file-utils BuildRequires: gettext BuildRequires: intltool -BuildRequires: chmlib-devel BuildRequires: pkgconfig(exiv2) >= %{EXIV2_REQ} BuildRequires: pkgconfig(gio-2.0) BuildRequires: pkgconfig(glib-2.0) -BuildRequires: pkgconfig(gtk+-2.0) +BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(gnome-vfs-2.0) BuildRequires: pkgconfig(libgsf-1) >= %{LIBGSF_REQ} BuildRequires: pkgconfig(poppler-glib) >= %{POPPLER_REQ} BuildRequires: pkgconfig(taglib) >= %{TAGLIB_REQ} -BuildRequires: pkgconfig(unique-1.0) +BuildRequires: pkgconfig(unique-1.0) >= %{UNIQUE_REQ} BuildRequires: libICE-devel BuildRequires: libSM-devel -BuildRequires: gnome-doc-utils -BuildRequires: perl(XML::Parser) - -%if %{use_autotool} -BuildRequires: automake +BuildRequires: meson BuildRequires: flex BuildRequires: intltool -BuildRequires: libtool -BuildRequires: gnome-common -%endif -BuildRequires: make -BuildRequires: %{_bindir}/git -BuildRequires: %{_bindir}/appstream-util +BuildRequires: yelp-tools + +BuildRequires: /usr/bin/git +BuildRequires: /usr/bin/appstream-util # %%check -BuildRequires: gtest-devel +BuildRequires: xorg-x11-server-Xvfb +BuildRequires: pkgconfig(gtest) -Requires: gnome-vfs2-smb Requires: meld Requires: gnome-icon-theme-legacy +%if 0%{?fedora} >= 41 +BuildRequires: gdk-pixbuf2-modules-extra +Requires: gdk-pixbuf2-modules-extra%{?_isa} +%endif %description GNOME Commander is a nice and fast file manager for the GNOME desktop. @@ -170,11 +151,22 @@ git init %endif %if 0%{?use_gitbare} -%setup -q -c -T -a 0 +%setup -q -c -n %{name}-%{fullver}-%{git_version} -T -a 0 git clone ./%{name}.git/ cd %{name} -git checkout -b %{version}-fedora %{git_rev} +git checkout -b %{fullver}-fedora %{git_rev} + +# 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]* .. cp -a doc .. @@ -190,63 +182,43 @@ done %endif git config user.name "%{name} Fedora maintainer" -git config user.email "%{name}-owner@fedoraproject.org" +git config user.email "%{name}-maintainer@fedoraproject.org" %if 0%{?use_release} -cat > .gitignore < 0 -( export NOCONFIGURE=1 ; sh autogen.sh ) +%if 0%{?use_release} %endif -%{__sed} -i.pylib \ - -e 's|\$PY_EXEC_PREFIX/lib|%{_libdir}|' \ - configure +# Tweak samba detection +sed -i meson.build \ + -e 's|^\(samba = dependency\)|# \1|' \ + -e 's|^\(have_samba = .*\)$|have_samba = true|' \ + %{nil} +git commit -m "Tweak samba detection" -a + +# Don't install unneeded files +sed -i doc/meson.build \ + -e '\@install_data@,\@^)$@s|^\(.*\)$|# \1|' \ + %{nil} +git commit -m "Don't install header files, static archives, documentation" -a %if 0%{?use_gitbare} pushd .. %endif # gzip -gzip -9 ChangeLog-* - -mkdir TMPBINDIR -cd TMPBINDIR -ln -sf /bin/true ./update-mime-database +#gzip -9 ChangeLog-* %if 0%{?use_gitbare} popd %endif %build -export PATH=$(pwd)/TMPBINDIR:$PATH export BUILD_TOP_DIR=$(pwd) %set_build_flags @@ -261,86 +233,27 @@ pushd %{name} # Install wrapper script, and move binaries to # %%{_libexecdir}/%%{name} -mkdir _builddir || : - -# For debuginfo issue -find . -name \*.cc | while read f -do - dirn=$(dirname $f) - %{__cat} $f | %{__sed} -n -e 's|^#line.*[ \t][ \t]*\"\(.*\)"$|\1|p' | \ - sort | uniq | while read g - do - %{__mkdir_p} _builddir/$dirn - %{__cp} -p $dirn/$g _builddir/$dirn - done -done - -pushd _builddir - -ln -sf ../configure -%configure \ - --srcdir=$(pwd)/.. \ +%meson \ --bindir=%{_libexecdir}/%{name} \ - --disable-Werror \ - --disable-scrollkeeper \ %{nil} -%{__cp} -p README ${BUILD_TOP_DIR} - -%if %{update_po} -%{__make} -C po gnome-commander.pot update-po -%endif - -# First make po without _smp_mflags, so that messages -# won't be mixed up -# Second doc/, parallel make seems to fail -%{__make} -C po GMSGFMT="msgfmt --statistics" -%{__make} -C doc -%{__make} %{?_smp_mflags} -k - -popd # from _builddir +%meson_build --ninja-args "-k 0" %if 0%{?use_gitbare} popd %endif %install -%{__rm} -rf %{buildroot} - -export PATH=$(pwd)/TMPBINDIR:$PATH - %if 0%{?use_gitbare} pushd %{name} %endif -pushd _builddir -%{__make} \ - INSTALL="%{__install} -c -p" \ - DESTDIR=%{buildroot} \ - install -popd # from _builddir - -# Desktop file -desktop-file-install \ - --delete-original \ - --vendor '' \ - --remove-category Application \ - --dir %{buildroot}%{_datadir}/applications \ - %{buildroot}%{_datadir}/applications/%{name}.desktop +%meson_install # Install wrapper %{__mkdir_p} %{buildroot}%{_bindir} %{__install} -cpm 0755 %SOURCE1 %{buildroot}%{_bindir}/%{name} -# install gnome-file-types-properties (bug 458667) -%if 0 -%{__install} -cpm 0755 mimeedit.sh \ - %{buildroot}%{_libexecdir}/%{name}/gnome-file-types-properties -%endif - -%{__rm} -f %{buildroot}%{_libdir}/%{name}/*.{a,la} -%{__rm} -f %{buildroot}%{_libdir}/%{name}/*/*.{a,la} - %if 0%{?use_gitbare} popd %endif @@ -348,14 +261,16 @@ popd %find_lang %{name} %check -appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/%{name}.appdata.xml +desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.%{name}.desktop +appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/org.gnome.%{name}.appdata.xml %if 0%{?use_gitbare} pushd %{name} %endif -pushd _builddir -make check +export ASAN_OPTIONS=detect_leaks=0 +xvfb-run sh -c \ + "%meson_test -v" %if 0%{?use_gitbare} popd @@ -365,10 +280,9 @@ popd %defattr(-,root,root,-) %doc AUTHORS %doc BUGS -%doc ChangeLog* -%doc COPYING +%license COPYING %doc NEWS -%doc README +%doc README.md %doc TODO %doc doc/*.txt @@ -377,17 +291,97 @@ popd %{_libdir}/%{name}/ %{_mandir}/man1/%{name}.1* -%{_datadir}/applications/%{name}.desktop -%{_metainfodir}/%{name}.appdata.xml +%{_datadir}/glib-2.0/schemas/org.gnome.*xml +%dir %{_datadir}/%{name} +#%%{_datadir}/%{name}/*.txt +%{_datadir}/%{name}/icons/ + +%{_datadir}/applications/org.gnome.%{name}.desktop +%{_metainfodir}/org.gnome.%{name}.appdata.xml %{_datadir}/help/*/%{name}/ -%{_datadir}/glib-2.0/schemas/org.gnome.*xml -%{_datadir}/pixmaps/%{name}.svg +%{_datadir}/icons/hicolor/scalable/apps/%{name}*.svg %{_datadir}/pixmaps/%{name}/ %changelog +* Thu Oct 02 2025 Mamoru TASAKA - 4:1.18.4-1 +- 1.18.4 + +* Wed Jul 23 2025 Fedora Release Engineering - 4:1.18.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Thu Jun 26 2025 Mamoru TASAKA - 4:1.18.3-1 +- 1.18.3 + +* Mon Feb 10 2025 Mamoru TASAKA - 4:1.18.2-1 +- 1.18.2 + +* Thu Jan 16 2025 Fedora Release Engineering - 4:1.18.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sun Sep 15 2024 Mamoru TASAKA - 4:1.18.1-2 +- Require gdk-pixbuf2-modules-extra when available + +* Thu Aug 01 2024 Mamoru TASAKA - 4:1.18.1-1 +- 1.18.1 + +* Tue Jul 23 2024 Mamoru TASAKA - 4:1.18.0-2 +- Apply upstream PR for workaround for segfault with leaving tab pointing to + invalid directory + +* Mon Jul 22 2024 Mamoru TASAKA - 4:1.18.0-1 +- 0.18.0 + +* Thu Jul 18 2024 Fedora Release Engineering - 4:1.16.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Fri Jun 14 2024 Robert-André Mauchin - 4:1.16.2-2 +- Rebuilt for exiv2 0.28.2 + +* Mon May 20 2024 Mamoru TASAKA - 4:1.16.2-1 +- 1.16.2 + +* Thu Apr 18 2024 Mamoru TASAKA - 4:1.16.1-6 +- Fix double g_error_free call in remote_close_callback (bug 2271363) + +* Sun Jan 28 2024 Mamoru TASAKA - 4:1.16.1-5 +- SPDX migration + +* Wed Jan 24 2024 Fedora Release Engineering - 4:1.16.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 4:1.16.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jul 19 2023 Fedora Release Engineering - 4:1.16.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Mon Jul 10 2023 Mamoru TASAKA - 4:1.16.1-1 +- 1.16.1 + +* Wed Jan 25 2023 Mamoru TASAKA - 4:1.16.0-1 +- 1.16.0 + +* Thu Jan 19 2023 Fedora Release Engineering - 4:1.14.3-1.2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jul 27 2022 Mamoru TASAKA - 4:1.14.3-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sun Jun 19 2022 Mamoru TASAKA - 4:1.14.3-1 +- 1.14.3 + +* Thu Mar 31 2022 Mamoru TASAKA - 4:1.14.2-1 +- 1.14.2 + +* Thu Mar 3 2022 Mamoru TASAKA - 4:1.14.1-1 +- 1.14.1 + +* Sun Feb 6 2022 Mamoru TASAKA - 4:1.14.0-1 +- 1.14.0 + * Mon Nov 22 2021 Mamoru TASAKA - 4:1.12.3.1-2 - Fix crash when saving device information on preference diff --git a/noautobuild b/noautobuild deleted file mode 100644 index 02c8cc6..0000000 --- a/noautobuild +++ /dev/null @@ -1 +0,0 @@ -Check git later diff --git a/sources b/sources index 212c6fb..d5cd8e1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gnome-commander-1.12.3.1.tar.xz) = 1206d545493deeb2237af6b9026baf6faab2a8f6ae86eb1abb5c2e5ceb6212ad66382d3abd07c89f14271ac8709d14548f0bfe68fb0e11b1779e0c061e0272e5 +SHA512 (gnome-commander-1.18.4.tar.xz) = 54966719e63a4ca6c9d24cbd1f69dbadd4ac0b7588c2cd1a34635deafcab5976d9e82fdcf6dbc0dc7f1098a25443c9eeaa2400db192b487b6d92d62f62ee23db