Compare commits

..

No commits in common. "rawhide" and "f36" have entirely different histories.

6 changed files with 191 additions and 152 deletions

11
.gitignore vendored
View file

@ -1,2 +1,9 @@
/lxappearance-*.tar.xz
/lxappearance-*.tar.gz
lxappearance-0.4.0.tar.gz
/lxappearance-20100903gitf0945814.tar.bz2
/lxappearance-0.5.0.tar.gz
/lxappearance-0.5.1.tar.gz
/lxappearance-0.5.2.tar.gz
/lxappearance-0.6.1.tar.xz
/lxappearance-0.6.2.tar.xz
/lxappearance-0.6.3.tar.xz
/lxappearance-20210321T2042.tar.gz

View file

@ -1,28 +0,0 @@
#!/bin/bash
set -x
set -e
REPONAME=lxappearance
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
pushd ${REPONAME}.git/
git log --format=fuller | head -n 12
popd
tar czf ${TARNAME} ${REPONAME}.git/
cp -p ${TARNAME} $PWDDIR
popd
rm -rf $TMPDIR

View file

@ -0,0 +1,91 @@
From 2aa35e4c8a9d9c632e411df83d43ec27f4ddf718 Mon Sep 17 00:00:00 2001
From: Mamoru TASAKA <mtasaka@fedoraproject.org>
Date: Sun, 21 Mar 2021 21:52:10 +0900
Subject: [PATCH 1/2] load_icon_themes_from_dir: never reuse GKeyFile object
As written on:
https://developer.gnome.org/glib/stable/glib-Key-value-file-parser.html#g-key-file-load-from-file
an empty GKeyFile object must be passed to g_key_file_load_from_file .
---
src/icon-theme.c | 8 ++++----
src/icon-theme.h | 2 +-
src/utils.c | 4 +---
3 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/src/icon-theme.c b/src/icon-theme.c
index 7fba616..ea1db83 100644
--- a/src/icon-theme.c
+++ b/src/icon-theme.c
@@ -46,7 +46,7 @@ static void icon_theme_free(IconTheme* theme)
g_slice_free(IconTheme, theme);
}
-void load_icon_themes_from_dir(const char* base_dir, const char* theme_dir, GKeyFile* kf)
+void load_icon_themes_from_dir(const char* base_dir, const char* theme_dir)
{
/* NOTE:
* 1. theoratically, base_dir is identical to theme_dir
@@ -75,6 +75,7 @@ void load_icon_themes_from_dir(const char* base_dir, const char* theme_dir, GKey
IconTheme* theme = g_slice_new0(IconTheme);
char* index_theme;
char* cursor_subdir;
+ GKeyFile* kf = g_key_file_new();
theme->name = g_strdup(name);
index_theme = g_build_filename(theme_dir, name, "index.theme", NULL);
@@ -97,6 +98,7 @@ void load_icon_themes_from_dir(const char* base_dir, const char* theme_dir, GKey
else
theme->disp_name = theme->name;
g_free(index_theme);
+ g_key_file_free(kf);
cursor_subdir = g_build_filename(theme_dir, name, "cursors", NULL);
/* it contains a cursor theme */
@@ -119,13 +121,11 @@ static void load_icon_themes()
{
int n, i;
gtk_icon_theme_get_search_path(gtk_icon_theme_get_default(), &icon_theme_dirs, &n);
- GKeyFile* kf = g_key_file_new();
for(i = 0; i < n; ++i)
{
- load_icon_themes_from_dir(icon_theme_dirs[i], icon_theme_dirs[i], kf);
+ load_icon_themes_from_dir(icon_theme_dirs[i], icon_theme_dirs[i]);
/* g_debug("icon_theme_dirs[%d] = %s", i, icon_theme_dirs[i]); */
}
- g_key_file_free(kf);
}
diff --git a/src/icon-theme.h b/src/icon-theme.h
index 7ba2ac1..45a104d 100644
--- a/src/icon-theme.h
+++ b/src/icon-theme.h
@@ -40,7 +40,7 @@ typedef struct
}IconTheme;
void icon_theme_init(GtkBuilder* b);
-void load_icon_themes_from_dir(const char* base_dir, const char* theme_dir, GKeyFile* kf);
+void load_icon_themes_from_dir(const char* base_dir, const char* theme_dir);
gint icon_theme_cmp_name(IconTheme* t, const char* name);
gint icon_theme_cmp_disp_name(IconTheme* t1, IconTheme* t2);
diff --git a/src/utils.c b/src/utils.c
index 09d356d..4f3af10 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -159,11 +159,9 @@ _failed:
{
/* move files in tmp_dir to user_icons_dir */
GDir* dir;
- GKeyFile* kf = g_key_file_new();
/* convert the themes in the dir to IconTheme structs and add them to app.icon_themes list */
- load_icon_themes_from_dir(user_icons_dir, tmp_dir, kf);
- g_key_file_free(kf);
+ load_icon_themes_from_dir(user_icons_dir, tmp_dir);
/* now really move this themes to $XDG_DATA_HOME/icons dir and also update the GUI */
dir = g_dir_open(tmp_dir, 0, NULL);
--
2.30.2

View file

@ -0,0 +1,35 @@
From 3f50631f17f96ef3695921b892eb2f7b82a2b43d Mon Sep 17 00:00:00 2001
From: Mamoru TASAKA <mtasaka@fedoraproject.org>
Date: Sun, 21 Mar 2021 22:08:16 +0900
Subject: [PATCH 2/2] on_remove_theme_clicked: initialize both variable
correctly
In on_remove_theme_clicked: both variable is used uninitialized, which causes lxappearance segfault
when removing theme. Initialize this correctly.
---
src/icon-theme.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/icon-theme.c b/src/icon-theme.c
index ea1db83..6952cd8 100644
--- a/src/icon-theme.c
+++ b/src/icon-theme.c
@@ -171,7 +171,6 @@ static void on_remove_theme_clicked(GtkButton* btn, gpointer user_data)
if(gtk_tree_selection_get_selected(sel, &model, &it))
{
IconTheme* theme;
- gboolean both = theme->has_icon && theme->has_cursor;
if(gtk_tree_model_iter_n_children(model, NULL) < 2)
{
@@ -183,6 +182,7 @@ static void on_remove_theme_clicked(GtkButton* btn, gpointer user_data)
gtk_tree_model_get(model, &it, 1, &theme, -1);
if(remove_icon_theme(GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(btn))), theme))
{
+ gboolean both = theme->has_icon && theme->has_cursor;
gtk_list_store_remove(GTK_LIST_STORE(model), &it);
/* select the first theme */
--
2.30.2

View file

@ -1,57 +1,56 @@
# Review: https://bugzilla.redhat.com/show_bug.cgi?id=442269
%global use_release 0
%global use_git 0
%global use_gitbare 1
%global use_release 0
%global use_git 0
%global use_gitbare 1
%if 0%{?use_git} < 1
%if 0%{?use_gitbare} < 1
# force
%global use_release 1
%global use_release 1
%endif
%endif
%global git_version %{nil}
%global git_ver_rpm %{nil}
%global git_builddir %{nil}
%if 0%{?use_gitbare}
%global gittardate 20250325
%global gittartime 1621
%define use_gitcommit_as_rel 0
%global gitbaredate 20250324
%global git_rev 96e09b05b1897bdca72d8fdfeb1bd8ec68942c42
%global git_short %(echo %{git_rev} | cut -c-8)
%global git_version %{gitbaredate}git%{git_short}
%global gittardate 20210321
%global gittartime 2042
%global gitbaredate 20200807
%global git_rev d132fdd829b1ed080f4c82a53b71d7e88dda8cc2
%global git_short %(echo %{git_rev} | cut -c-8)
%global git_version D%{gitbaredate}git%{git_short}
%endif
%global mainrel 13
%if 0%{?use_release} >= 1
%global fedorarel %{?prever:0.}%{mainrel}%{?prever:.%{prerpmver}}
%endif
%if 0%{?use_gitbare} >= 1
%global fedorarel %{mainrel}.%{git_version}
%endif
%if 0%{?use_gitcommit_as_rel}
%global git_ver_rpm ^%{git_version}
%global git_builddir -%{git_version}
%endif
Name: lxappearance
Version: 0.6.3
Release: %{fedorarel}%{?dist}.2
Summary: Feature-rich GTK+ theme switcher for LXDE
%global main_version 0.6.4
Name: lxappearance
Version: %{main_version}%{git_ver_rpm}
Release: 3%{?dist}
Summary: Feature-rich GTK+ theme switcher for LXDE
# SPDX confirmed
License: GPL-2.0-or-later
URL: http://lxde.org/
License: GPLv2+
URL: http://lxde.org/
#VCS: git:git://lxde.git.sourceforge.net/gitroot/lxde/lxappearance
%if 0%{?use_gitbare}
Source0: %{name}-%{gittardate}T%{gittartime}.tar.gz
Source0: %{name}-%{gittardate}T%{gittartime}.tar.gz
%endif
%if 0%{?use_git}
Source0: %{name}-%{main_version}-%{?git_version}.tar.bz2
Source0: %{name}-%{version}-%{?git_version}.tar.bz2
%endif
%if 0%{?use_release}
Source0: http://downloads.sourceforge.net/sourceforge/lxde/%{name}-%{main_version}.tar.xz
Source0: http://downloads.sourceforge.net/sourceforge/lxde/%{name}-%{version}.tar.xz
%endif
# https://github.com/lxde/lxappearance/pull/3
Patch1: lxappearance-0.6.3-0001-load_icon_themes_from_dir-never-reuse-GKeyFile-objec.patch
# https://sourceforge.net/p/lxde/bugs/866/
# https://github.com/lxde/lxappearance/pull/4
Patch2: lxappearance-0.6.3-0002-on_remove_theme_clicked-initialize-both-variable-cor.patch
BuildRequires: make
BuildRequires: gcc
@ -64,11 +63,11 @@ BuildRequires: gettext
BuildRequires: intltool
BuildRequires: docbook-utils
BuildRequires: docbook-style-xsl
BuildRequires: /usr/bin/xsltproc
BuildRequires: %{_bindir}/xsltproc
BuildRequires: automake
BuildRequires: autoconf
BuildRequires: /usr/bin/git
BuildRequires: %{_bindir}/git
Requires: lxsession >= 0.4.0
@ -92,30 +91,18 @@ for LXAppearance.
%prep
%if 0%{?use_release}
%setup -q -n %{name}-%{main_version}%{git_builddir}
%setup -q
git init
%endif
%if 0%{?use_gitbare}
%setup -q -c -T -n %{name}-%{main_version}%{git_builddir} -a 0
%setup -q -c -T -a 0
git clone ./%{name}.git/
cd %{name}
#git checkout -b %{version}-fedora %{version}
git checkout -b %{main_version}-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
git checkout -b %{version}-fedora %{git_rev}
cp -a [A-Z]* ..
cp -a data/ ..
@ -124,22 +111,23 @@ EOF
cat GITHASH | while read line
do
commit=$(echo "$line" | sed -e 's|[ \t].*||')
git cherry-pick $commit
commit=$(echo "$line" | sed -e 's|[ \t].*||')
git cherry-pick $commit
done
%endif
git config user.name "lxpanel Fedora maintainer"
git config user.email "lxpanel-maintainers@fedoraproject.org"
git config user.email "lxpanel-owner@fedoraproject.org"
%if 0%{?use_release}
git add .
git commit -m "base" -q
%endif
# Add ACLOCAL_PATH for gettext 0.25 (ref: bug 2366708)
export ACLOCAL_PATH=%{_datadir}/gettext/m4/
cat %PATCH1 | git am
cat %PATCH2 | git am
sh autogen.sh
@ -151,9 +139,6 @@ pushd %{name}
%configure \
--disable-silent-rules \
--enable-man \
%if 0
--enable-gtk3 \
%endif
%{nil}
%make_build
@ -163,85 +148,34 @@ pushd %{name}
pushd %{name}
%endif
rm -rf %{buildroot}
%make_install
desktop-file-install \
--delete-original \
--dir=%{buildroot}%{_datadir}/applications \
%{buildroot}%{_datadir}/applications/%{name}.desktop
%if 0%{?use_gitbare}
popd
%endif
# Own plugin directory
mkdir -p %{buildroot}%{_libdir}/%{name}/plugins/
%find_lang %{name}
%check
desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
%files -f %{name}.lang
%doc AUTHORS
%license COPYING
%files -f %{name}.lang
%doc AUTHORS
%license COPYING
%{_bindir}/%{name}
%{_datadir}/applications/*%{name}.desktop
%dir %{_datadir}/%{name}/
%{_datadir}/%{name}/ui/
%dir %{_libdir}/%{name}/plugins/
%{_datadir}/%{name}/
%{_mandir}/man1/%{name}*.1.*
%files devel
%files devel
%{_includedir}/%{name}/
%{_libdir}/pkgconfig/%{name}.pc
%changelog
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Mon May 26 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.6.4-2
- Add ACLOCAL_PATH for gettext 0.25 (ref: bug 2366708)
* Tue Mar 25 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.6.4-1
- 0.6.4
* Tue Feb 11 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.6.3^20241025gitb51af4c5-1
- Update to the latest git
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.3^20240817git95d5b02e-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Fri Aug 30 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.6.3^20240817git95d5b02e-2
- Own plugin directory
* Sun Aug 25 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.6.3^20240817git95d5b02e-1
- Update to the latest git
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.3^20230917git655fd083-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.3^20230917git655fd083-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.3^20230917git655fd083-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Dec 31 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.6.3^20230917git655fd083-1
- Update to the latest git
* Fri Sep 15 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.6.3^20230913git5423cc46-1
- Update to the latest git
* Mon Aug 14 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.6.3^20230801git8e634d03-1
- Update to the latest git
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.3-14.D20200807gitd132fdd8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.3-13.D20200807gitd132fdd8.4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.3-13.D20200807gitd132fdd8.3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.3-13.D20200807gitd132fdd8.2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

View file

@ -1 +1 @@
SHA512 (lxappearance-20250325T1621.tar.gz) = ab48ed776beff4ce6d5a5419306669dab5af91c8bdac794454535b5eb2993ec66ab110b5356c69c2be95ca3d1403d350466b2bbe97b87731d0fa61b0822fa294
SHA512 (lxappearance-20210321T2042.tar.gz) = 6e4ffab43923fa803c0be130c5690c567a376ee20342371f22a3a408ba9ee678ea851d6598f296d9ad5552d922bb4ca1492ce04ff6e584267d38cbf6ef4595d9