diff --git a/.gitignore b/.gitignore index 3ab4794..0a934ee 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1 @@ xpenguins-2.2.tar.gz -/xpenguins-3.2.3.tar.gz -/xpenguins-3.2.4.tar.gz diff --git a/changelog b/changelog deleted file mode 100644 index 697e2a5..0000000 --- a/changelog +++ /dev/null @@ -1,129 +0,0 @@ -* Sun Jan 19 2025 Fedora Release Engineering - 2.2-38 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Fri Jul 26 2024 Miroslav Suchý - 2.2-37 -- convert license to SPDX - -* Sat Jul 20 2024 Fedora Release Engineering - 2.2-36 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Sat Jan 27 2024 Fedora Release Engineering - 2.2-35 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sat Jul 22 2023 Fedora Release Engineering - 2.2-34 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Wed Feb 08 2023 Florian Weimer - 2.2-33 -- C99 compatibility fixes (#2168300) - -* Sat Jan 21 2023 Fedora Release Engineering - 2.2-32 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Sat Jul 23 2022 Fedora Release Engineering - 2.2-31 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Sat Jan 22 2022 Fedora Release Engineering - 2.2-30 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Fri Jul 23 2021 Fedora Release Engineering - 2.2-29 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Thu Jan 28 2021 Fedora Release Engineering - 2.2-28 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Wed Jul 29 2020 Fedora Release Engineering - 2.2-27 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Fri Jan 31 2020 Fedora Release Engineering - 2.2-26 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Sat Jul 27 2019 Fedora Release Engineering - 2.2-25 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Sun Feb 03 2019 Fedora Release Engineering - 2.2-24 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Tue Oct 09 2018 Göran Uddeborg 2.2-23 -- The current desktop-file-install does know about "Cinnamon"; add it as an - exclude in the desktop file. - -* Sat Jul 14 2018 Fedora Release Engineering - 2.2-22 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Sun Feb 18 2018 Göran Uddeborg - 2.2-21 -- Add an explicit build requirement on gcc. - -* Tue Feb 13 2018 Göran Uddeborg 2.2-20 -- Obsolete scriptlets removed - -* Fri Feb 09 2018 Fedora Release Engineering - 2.2-19 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Mon Sep 18 2017 Göran Uddeborg 2.2-18 -- Appdata added. - -* Thu Aug 03 2017 Fedora Release Engineering - 2.2-17 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Thu Jul 27 2017 Fedora Release Engineering - 2.2-16 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Sat Feb 11 2017 Fedora Release Engineering - 2.2-15 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Sat Jun 4 2016 Göran Uddeborg - 2.2-14 -- Disable in environments where XPengiuns is known not to work. Bz #1324881. -- Also clean out some obsolete SPEC file code. - -* Fri Feb 05 2016 Fedora Release Engineering - 2.2-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Fri Jun 19 2015 Fedora Release Engineering - 2.2-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Mon Aug 18 2014 Fedora Release Engineering - 2.2-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Sun Jun 08 2014 Fedora Release Engineering - 2.2-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Sun Mar 16 2014 Göran Uddeborg - 2.2-9 -- Give proper error message on displays without the SHAPE extension. Bz #1071429. - -* Tue Dec 03 2013 Göran Uddeborg - 2.2-8 -- Fix printf format security issue. Bz #1037404. - -* Sun Aug 04 2013 Fedora Release Engineering - 2.2-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Fri Feb 15 2013 Fedora Release Engineering - 2.2-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Sun Jul 22 2012 Fedora Release Engineering - 2.2-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Sat Jan 14 2012 Fedora Release Engineering - 2.2-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Tue Feb 08 2011 Fedora Release Engineering - 2.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Fri Jul 23 2010 Göran Uddeborg - 2.2-2 -- Create a UTF-8 version of the README file to include instead. - Suggested by reviewer Manuel Wolfshant . - -* Thu Jul 22 2010 Göran Uddeborg - 2.2-1 -- Packaging updated using Fedora standards. - -* Mon Oct 1 2001 Robin Hogan - 2.1.5-1 -- Removed Lemmings (now in xpenguins_themes), added Bill, Big Penguins -- Added resize-frames.scm to docs - -* Wed Aug 22 2001 Robin Hogan - 2.1.3-1 -- Added Lemmings theme - -* Sat May 5 2001 Robin Hogan - 1.9.1-1 -- First spec file used with autoconf - -* Tue May 23 2000 Robin Hogan - 1.2-1 -- Use BuildRoot. diff --git a/sources b/sources index 9684403..8dfebf3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xpenguins-3.2.4.tar.gz) = bd25975b8002dd2fa18c3b3f12241dfce0d44edd597e4ce235b61c8453d073caefd424b8ada0dad48cfca4c36dc63a1df7b838c061b07acfed4ff76d121b8f3b +2ccf555d55f9b0377017322b3b3d27a4 xpenguins-2.2.tar.gz diff --git a/xpenguins-2.2-format-security.patch b/xpenguins-2.2-format-security.patch new file mode 100644 index 0000000..c5cde5b --- /dev/null +++ b/xpenguins-2.2-format-security.patch @@ -0,0 +1,11 @@ +--- a/src/xpenguins_theme.c~ 2001-10-02 00:36:12.000000000 +0200 ++++ b/src/xpenguins_theme.c 2013-12-03 12:54:49.000000000 +0100 +@@ -608,7 +608,7 @@ + xpm_file_name = word; + } + else { +- snprintf(file_base, MAX_STRING_LENGTH, word); ++ snprintf(file_base, MAX_STRING_LENGTH, "%s", word); + xpm_file_name = file_name; + } + if (current->image) { diff --git a/xpenguins-2.2-no-SHAPE.patch b/xpenguins-2.2-no-SHAPE.patch new file mode 100644 index 0000000..cb6b814 --- /dev/null +++ b/xpenguins-2.2-no-SHAPE.patch @@ -0,0 +1,23 @@ +--- a/src/toon_init.cshape 2001-06-24 18:28:17.000000000 +0200 ++++ b/src/toon_init.c 2014-03-16 13:44:18.000000000 +0100 +@@ -29,6 +29,8 @@ + Display * + ToonOpenDisplay(char *display_name) + { ++ int event_base, error_base; ++ + toon_display=XOpenDisplay(display_name); + if (toon_display == NULL) { + if (display_name == NULL && getenv("DISPLAY") == NULL) +@@ -39,6 +41,11 @@ + TOON_MESSAGE_LENGTH); + return(NULL); + } ++ if (!XShapeQueryExtension(toon_display, &event_base, &error_base)) { ++ strncpy(toon_error_message, _("Display doesn't support the SHAPE extension"), ++ TOON_MESSAGE_LENGTH); ++ return(NULL); ++ } + ToonInit(toon_display); + return toon_display; + } diff --git a/xpenguins-c99.patch b/xpenguins-c99.patch new file mode 100644 index 0000000..94770e9 --- /dev/null +++ b/xpenguins-c99.patch @@ -0,0 +1,15 @@ +Include for the exit function, to avoid build problems with +future compilers. + +diff --git a/src/toon_signal.c b/src/toon_signal.c +index 7135f0efcb4810d0..c093584cf6d88ae6 100644 +--- a/src/toon_signal.c ++++ b/src/toon_signal.c +@@ -16,6 +16,7 @@ + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + #include ++#include + #include "toon.h" + + /* SIGNAL AND ERROR HANDLING FUNCTIONS */ diff --git a/xpenguins-configure-c99.patch b/xpenguins-configure-c99.patch new file mode 100644 index 0000000..5226a30 --- /dev/null +++ b/xpenguins-configure-c99.patch @@ -0,0 +1,36 @@ +Fix generic C99 compatibility issues introduced by historic autoconf. +Potential future upstream releases will hopefully use a newer autoconf +version, so it's not necessary to upstream this. + +diff --git a/configure b/configure +index 7a47544bd2f9d06c..4aa7e543f1cfd747 100755 +--- a/configure ++++ b/configure +@@ -909,7 +909,7 @@ cat > conftest.$ac_ext << EOF + #line 910 "configure" + #include "confdefs.h" + +-main(){return(0);} ++int main(){return(0);} + EOF + if { (eval echo configure:915: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + ac_cv_prog_cc_works=yes +@@ -1290,6 +1290,7 @@ cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null diff --git a/xpenguins.appdata.xml b/xpenguins.appdata.xml index 9372a76..8ba9412 100644 --- a/xpenguins.appdata.xml +++ b/xpenguins.appdata.xml @@ -43,6 +43,6 @@ - https://ratrabbit.nl/ratrabbit/software/xpenguins/ + http://xpenguins.seul.org/ goeran@uddeborg.se diff --git a/xpenguins.spec b/xpenguins.spec index 036bace..2861f48 100644 --- a/xpenguins.spec +++ b/xpenguins.spec @@ -1,29 +1,36 @@ Name: xpenguins -Version: 3.2.4 -Release: %autorelease +Version: 2.2 +Release: 33%{?dist} Summary: Cute little penguins that walk along the tops of your windows Summary(sv): Söta små pingviner som vandrar längs överkanterna på dina fönster -# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval -ExcludeArch: %{ix86} +License: GPLv2+ +URL: http://xpenguins.seul.org/ -License: GPL-2.0-or-later -URL: https://ratrabbit.nl/ratrabbit/software/xpenguins/ - -Source0: https://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz +Source0: http://xpenguins.seul.org/%name-%version.tar.gz Source1: %name.appdata.xml +# Mailed upstreams developer with this patch, but it is unclear if +# there ever will be a new release. This is a rather inactive +# project. +Patch0: xpenguins-2.2-format-security.patch +# If run on a display without the SHAPE extension, xpenguins will +# crash. This patch causes it to exit more gracefully. Sent +# upstreams, in case there ever will be a new release. +Patch1: xpenguins-2.2-no-SHAPE.patch +Patch2: xpenguins-configure-c99.patch +Patch3: xpenguins-c99.patch BuildRequires: make BuildRequires: gcc -BuildRequires: gtk3-devel BuildRequires: desktop-file-utils +BuildRequires: ImageMagick BuildRequires: libappstream-glib BuildRequires: libXpm-devel +BuildRequires: libXext-devel BuildRequires: libXt-devel -BuildRequires: pkgconf-pkg-config %global desktopdir %_datadir/applications -%global icondir %_datadir/pixmaps +%global icondir %_datadir/icons/hicolor/48x48/apps %description XPenguins animates a friendly family of penguins in your root window. @@ -34,8 +41,9 @@ you are bored of penguins, try something else. The themes that come with this package are "Penguins", "Classic Penguins", "Big Penguins", "Turtles" and "Bill". -The penguins are able to walk on X11 windows, but are ignorant of -Wayland windows. Some of the effect is lost by this. +XPenguins works by drawing on the X root window. This might not have +the desired effect in modern desktop environments like Gnome where the +root window is not visible. %description -l sv XPengiuns animerar en vänlig familj av pingviner i ditt rotfönster. @@ -47,8 +55,9 @@ teman som följer med detta paket är "Penguins" (pingviner), "Classic Penguins" (klassiska pingviner), "Big Penguins" (stora pingviner), "Turtles" (sköldpaddor) och "Bill" (Bill). -Pingvinerna kan gå på X11-fönster, men vet inte om Wayland-fönster. -Detta gör att lite av effekten går förlorad. +XPenguins fungerar genom att rita på X rotfönster. Detta fungerar +kanske inte som önskat i moderna skrivbordsmiljöer som Gnome där +rotfönstret inte är synligt. %prep @@ -57,26 +66,164 @@ Detta gör att lite av effekten går förlorad. %build %configure make %{?_smp_mflags} +cat << EOF > %name.desktop +[Desktop Entry] +Name=XPenguins +GenericName=Animated penguins +GenericName[sv]=Animerade pingviner +Comment=Cute little penguins that walk along the tops of your windows +Comment[sv]=Söta små pingviner som vandrar längs överkanterna på dina fönster +Exec=%name +Icon=%name +Terminal=false +Type=Application +Categories=Game;Amusement; +# Try to exclude desktops where the the X root window, and thus the penguins, +# are hidden. +# +# Sugar is not defined in +# https://standards.freedesktop.org/menu-spec/latest/apb.html +# I'm guessing at X-Sugar. +# +# Suggestions for improvements/corrections are welcome: +# https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=xpenguins +NotShowIn=Cinnamon;GNOME;KDE;LXDE;MATE;X-Sugar; +EOF +iconv -f ISO-8859-1 -t UTF-8 -o README.utf8 README %install make install DESTDIR=%buildroot -desktop-file-install --dir=%buildroot%desktopdir src/%name.desktop -install -D --target-directory=%buildroot%icondir src/%name.xpm -install -D --target-directory=%buildroot%_datadir/metainfo %SOURCE1 +desktop-file-install --dir=%buildroot%desktopdir %name.desktop +mkdir -p %buildroot%icondir +convert themes/Big_Penguins/walker.xpm -crop 45x45+0+45 -gravity center -compose src -extent 48x48 %buildroot%icondir/%name.png +install -d %buildroot%_datadir/metainfo +cp -p %SOURCE1 %buildroot%_datadir/metainfo %check appstream-util validate-relax --nonet \ %buildroot%_datadir/metainfo/%name.appdata.xml %files -%doc README AUTHORS ChangeLog lay-out-frames.scm resize-frames.scm -%license COPYING +%doc README.utf8 AUTHORS COPYING ChangeLog lay-out-frames.scm resize-frames.scm %_bindir/%name %_mandir/man1/* %_datadir/%name %desktopdir/%name.desktop -%icondir/%name.xpm +%icondir/%name.png %_datadir/metainfo/%name.appdata.xml %changelog -%autochangelog +* Wed Feb 08 2023 Florian Weimer - 2.2-33 +- C99 compatibility fixes (#2168300) + +* Sat Jan 21 2023 Fedora Release Engineering - 2.2-32 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 2.2-31 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jan 22 2022 Fedora Release Engineering - 2.2-30 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 2.2-29 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Jan 28 2021 Fedora Release Engineering - 2.2-28 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 2.2-27 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jan 31 2020 Fedora Release Engineering - 2.2-26 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jul 27 2019 Fedora Release Engineering - 2.2-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Feb 03 2019 Fedora Release Engineering - 2.2-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Oct 09 2018 Göran Uddeborg 2.2-23 +- The current desktop-file-install does know about "Cinnamon"; add it as an + exclude in the desktop file. + +* Sat Jul 14 2018 Fedora Release Engineering - 2.2-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Sun Feb 18 2018 Göran Uddeborg - 2.2-21 +- Add an explicit build requirement on gcc. + +* Tue Feb 13 2018 Göran Uddeborg 2.2-20 +- Obsolete scriptlets removed + +* Fri Feb 09 2018 Fedora Release Engineering - 2.2-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Mon Sep 18 2017 Göran Uddeborg 2.2-18 +- Appdata added. + +* Thu Aug 03 2017 Fedora Release Engineering - 2.2-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 2.2-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 2.2-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Sat Jun 4 2016 Göran Uddeborg - 2.2-14 +- Disable in environments where XPengiuns is known not to work. Bz #1324881. +- Also clean out some obsolete SPEC file code. + +* Fri Feb 05 2016 Fedora Release Engineering - 2.2-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jun 19 2015 Fedora Release Engineering - 2.2-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Aug 18 2014 Fedora Release Engineering - 2.2-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sun Jun 08 2014 Fedora Release Engineering - 2.2-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sun Mar 16 2014 Göran Uddeborg - 2.2-9 +- Give proper error message on displays without the SHAPE extension. Bz #1071429. + +* Tue Dec 03 2013 Göran Uddeborg - 2.2-8 +- Fix printf format security issue. Bz #1037404. + +* Sun Aug 04 2013 Fedora Release Engineering - 2.2-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri Feb 15 2013 Fedora Release Engineering - 2.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sun Jul 22 2012 Fedora Release Engineering - 2.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sat Jan 14 2012 Fedora Release Engineering - 2.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Feb 08 2011 Fedora Release Engineering - 2.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Fri Jul 23 2010 Göran Uddeborg - 2.2-2 +- Create a UTF-8 version of the README file to include instead. + Suggested by reviewer Manuel Wolfshant . + +* Thu Jul 22 2010 Göran Uddeborg - 2.2-1 +- Packaging updated using Fedora standards. + +* Mon Oct 1 2001 Robin Hogan - 2.1.5-1 +- Removed Lemmings (now in xpenguins_themes), added Bill, Big Penguins +- Added resize-frames.scm to docs + +* Wed Aug 22 2001 Robin Hogan - 2.1.3-1 +- Added Lemmings theme + +* Sat May 5 2001 Robin Hogan - 1.9.1-1 +- First spec file used with autoconf + +* Tue May 23 2000 Robin Hogan - 1.2-1 +- Use BuildRoot.