Compare commits

...
Sign in to create a new pull request.

82 commits

Author SHA1 Message Date
Mamoru TASAKA
814fbc858f 6.13 2025-12-06 16:26:02 +09:00
Dominik 'Rathann' Mierzejewski
e22ca19c36 Rebuilt for FFmpeg 8 2025-11-06 13:13:46 +01:00
Mamoru TASAKA
3cf3d0a6c6 use git am style 2025-10-25 17:29:40 +09:00
Mamoru TASAKA
04745ac61d rename patch 2025-10-25 17:27:23 +09:00
Dominik 'Rathann' Mierzejewski
52f33dad66 Rebuilt for FFmpeg 8 2025-10-17 11:49:30 +02:00
Fedora Release Engineering
4a17292aca Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 21:05:08 +00:00
Mamoru TASAKA
0cebd29267 Fix heap buffer overflow on xscreensaver-settings when reading previous hack 2025-07-12 00:09:00 +09:00
Mamoru TASAKA
4d2b7f22ee 6.12 2025-07-11 20:19:16 +09:00
Mamoru TASAKA
ccb6f81ac8 Add ACLOCAL_PATH for gettext 0.25 (ref: bug 2366708) 2025-05-26 16:30:17 +09:00
Mamoru TASAKA
949dd9237c Update to 6.10.1 2025-04-29 17:25:45 +09:00
Björn Esser
0007c18129
Add explicit BR: libxcrypt-devel
Signed-off-by: Björn Esser <besser82@fedoraproject.org>
2025-02-01 19:58:22 +01:00
Fedora Release Engineering
8597577c41 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-19 16:19:03 +00:00
Fabio Valentini
7bcdc92a6c
Rebuild for ffmpeg 7 2024-09-23 17:03:17 +02:00
Fedora Release Engineering
c80b323b6d Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-20 10:28:55 +00:00
Mamoru TASAKA
72bf9c8faa Update to 6.09 2024-06-11 16:47:53 +09:00
Fedora Release Engineering
16ff1169f9 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-27 10:12:07 +00:00
Mamoru TASAKA
888a18ebbe Update to 6.08 2023-10-17 22:48:54 +09:00
Mamoru TASAKA
2074248c6b Fix compilation to make --with-record-animation really work 2023-09-08 00:02:52 +09:00
Mamoru TASAKA
371478a9dd Fix patch again 2023-09-03 16:29:59 +09:00
Mamoru TASAKA
3db785d2ab fix patch 2023-09-01 20:10:09 +09:00
Mamoru TASAKA
6f9d841725 more shift overflow fix 2023-09-01 19:16:30 +09:00
Mamoru TASAKA
2eaef5299a upload source 2023-09-01 17:19:41 +09:00
Mamoru TASAKA
2588b3ac00 6.07 entry 2023-09-01 17:17:13 +09:00
Mamoru TASAKA
b4586eeb6d Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild 2023-07-22 23:48:18 +09:00
Mamoru TASAKA
29429d8293 distort_reset: restrict radius by xgwa correctly (bug 2174626) 2023-03-02 21:50:21 +09:00
Mamoru TASAKA
692ca7daf7 rename patch 2023-03-02 21:46:27 +09:00
Mamoru TASAKA
460f696abf really apply patch 2023-02-15 17:37:31 +09:00
Mamoru TASAKA
05ef70e2d8 merge 2023-02-15 17:30:23 +09:00
Mamoru TASAKA
730e096eae Make -base subpackage require -gl-base (debian bug 1030659)
switch_page_cb: backport debian fix for DPMS settings issue
2023-02-15 17:29:10 +09:00
Fedora Release Engineering
b6bddd6d26 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-21 07:52:51 +00:00
Mamoru TASAKA
315c454651 Update to 6.06 2022-12-12 16:10:02 +09:00
Mamoru TASAKA
a25d1881b8 clean up for clang support 2022-11-07 13:43:12 +09:00
Mamoru TASAKA
b241c5d5dd bump date 2022-11-06 16:32:55 +09:00
Mamoru TASAKA
c7c87722ed clean up po regeneration a bit 2022-11-06 16:32:30 +09:00
Mamoru TASAKA
a6e7815f8e hacks/Makefile.in: fix driver/prefs.o output location 2022-11-05 23:32:57 +09:00
Mamoru TASAKA
bf7efc2fac Kill no longer needed workaround stuff
hacks/fonts: fix installation on out-of-source build
driver/Makefile.in: fix GLIB_COMPILE_RESOURCES source
2022-11-04 17:08:25 +09:00
Mamoru TASAKA
b98c67c018 update ja.po 2022-10-23 12:34:45 +09:00
Mamoru TASAKA
700cce750f demo-Gtk.c/populate_prefs_page: use correct pointer for pref_changed_cb 2022-10-23 02:44:11 +09:00
Mamoru TASAKA
c567583c7a Update to 6.05, now demo using GTK3 2022-10-23 01:58:13 +09:00
Mamoru TASAKA
8920995e79 watchdog_timer: don't relaunch hacks when unblanking 2022-08-31 16:15:41 +09:00
Fedora Release Engineering
a38137e56c Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 13:32:51 +00:00
Mamoru TASAKA
d77a40746c Update to 6.04 2022-06-06 18:13:57 +09:00
Mamoru TASAKA
74f6f08b68 print_xinput_event: don't print raw_values (instead of
checking if XIRawEvent.raw_values is available)
2022-03-28 22:30:40 +09:00
Mamoru TASAKA
b64856c426 Split hacks.conf.d/xscreensaver.conf into each subpackage 2022-03-24 17:09:03 +09:00
Mamoru TASAKA
a4f163a4f9 some fixes for clang 2022-03-05 23:12:15 +09:00
Mamoru TASAKA
3cf014a3d3 kill sanitizer 2022-03-04 12:01:48 +09:00
Mamoru TASAKA
da542f6bba Update to 6.03
All patches sent to the upstream was merged, yeah!
print_xinput_event: check if XIRawEvent.raw_values is available
2022-03-04 12:00:18 +09:00
Fedora Release Engineering
aae2d1655b - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-22 05:31:24 +00:00
Mamoru TASAKA
0175259029 marbling: fix signedness for x86_64 and aarch64 on vectorization
build marbling on aarch64 again
2021-11-04 23:20:04 +09:00
Mamoru TASAKA
60d8fded75 get_egl_config: reset loop counter with prefersGLSL option each loop
(ref: bug 1983483)
2021-11-01 15:17:08 +09:00
Mamoru TASAKA
320e1f5575 a bit more clang support 2021-10-21 23:35:29 +09:00
Mamoru TASAKA
10193e7dfd xscreensaver_systemd_loop: avoid use-after-free on for_each loop 2021-10-17 14:27:38 +09:00
Mamoru TASAKA
9b2fa663b8 aarch64: don't build marbling for now, does not build 2021-10-15 16:02:43 +09:00
Mamoru TASAKA
16f63f2ed9 upload source 2021-10-15 14:39:02 +09:00
Mamoru TASAKA
37cb752bc9 Update to 6.02
All patches sent to the upstream was merged, yeah!
2021-10-15 14:36:24 +09:00
Mamoru TASAKA
6a36fc8c21 Replace two patch with ones from the upstream
xscreensaver-6.01-0001-main_loop-consistently-check-init-file-after-some-ac.patch
  xscreensaver-6.01-0002-main_loop-check-init-file-saver_mode.patch
Modify upstream patch to make force_blank_p prefer than blanking_disabled_p
xscreesaver-text: fix uninitialize value usage for speed and update for lscpu new format
2021-10-03 22:02:06 +09:00
Fedora Release Engineering
644fd78fc8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 21:57:52 +00:00
Mamoru TASAKA
15d2cdeaa2 Embed SOURCE_DATE_EPOCH to version.h 2021-07-19 07:32:00 +09:00
Mamoru TASAKA
55e5e37c51 formal-ize release 2021-07-11 14:55:44 +09:00
Mamoru TASAKA
07efeb28ac window_init: check if asterisk font is available and provide fallback character 2021-07-11 14:55:06 +09:00
Mamoru TASAKA
b6c5129f46 fix comments 2021-07-09 14:17:54 +09:00
Mamoru TASAKA
4d6debea4b TRIAL: window_init: check if asterisk font is available and provide fallback character
(bug 1980173)
2021-07-08 23:14:31 +09:00
Mamoru TASAKA
dc0f84738f main_loop: consistently check init file after some activitity occurred
main_loop: check init file saver_mode (bug 1978971)
2021-07-06 23:44:50 +09:00
Mamoru TASAKA
bf928d645f Update to 6.01 2021-06-19 14:17:17 +09:00
Mamoru TASAKA
38680533f5 fix release (for debug) 2021-05-13 00:00:19 +09:00
Mamoru TASAKA
eed94bf425 input_event_to_xlib: don't call duplicate_xinput_event_p when debug mode 2021-05-12 23:58:40 +09:00
Mamoru TASAKA
c486a11ceb fontglide.c: drain_input: terminate with null explicitly 2021-05-05 23:28:23 +09:00
Mamoru TASAKA
45d92e519d init_xinput: remove duplicate event for multiple screen
patch from the upstream (bug 1954884)
2021-05-04 21:29:00 +09:00
Mamoru TASAKA
2f7e745061 xscreensaver-text use en_US locale for lscpu (bug 1956089)
dialog.c: window_init: show more version string (bug 1956262)
Exclude xfce4-screensaver for xscreensaver-autostart (bug 1955993)
fontglide.c: pick_font_1 exclude substitution rectagle glyph
2021-05-03 22:56:54 +09:00
Mamoru TASAKA
43af27ee94 move flagrel to right 2021-05-03 13:45:02 +09:00
Mamoru TASAKA
87b012545f upload source 2021-04-02 19:38:08 +09:00
Mamoru TASAKA
affcdfb870 Update to 6.00 finally 2021-04-02 19:36:26 +09:00
Mamoru TASAKA
ad9d59cd23 Switch to 6.00 final 2021-04-02 19:35:08 +09:00
Mamoru TASAKA
109124f8bb don't change hack name to UTF-8 on XScreenSaver.ad 2021-03-26 19:59:17 +09:00
Mamoru TASAKA
da5faeff0e Apply upstream font settings change 2021-03-26 02:15:37 +09:00
Mamoru TASAKA
88720dd2b5 Revise some patches with upstream suggestion
- xscreensaver --verbose issue with -settings
  - beats signedness overflow issue
Upstream fix for noseguy
2021-03-25 22:17:13 +09:00
Mamoru TASAKA
17680d1e11 blank_character_p: fix use-after-free (unicrud) 2021-03-24 02:02:15 +09:00
Mamoru TASAKA
e56e32e948 localization related update 2021-03-24 01:11:14 +09:00
Mamoru TASAKA
a4faee8327 Initial trial for xscreensaver 6.00 (currently b2) 2021-03-23 16:34:46 +09:00
Mamoru TASAKA
c96c032cf1 Bump release and rebuild 2021-01-30 12:21:06 +09:00
Mamoru TASAKA
d8a36b7af6 fix miscompilation with pthread on clang 2021-01-30 12:19:35 +09:00
Fedora Release Engineering
617ba498e9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-28 00:24:12 +00:00
24 changed files with 12170 additions and 770 deletions

36
.gitignore vendored
View file

@ -1,35 +1 @@
xscreensaver-5.11.tar.gz
/xscreensaver-5.12.tar.gz
/xscreensaver-5.13.tar.gz
clog
/xscreensaver-5.14.tar.gz
/xscreensaver-5.15.tar.gz
/xscreensaver-5.16.tar.gz
/xscreensaver-5.17.tar.gz
/xscreensaver-5.18.tar.gz
/xscreensaver-5.19.tar.gz
/xscreensaver-5.20.tar.gz
/xscreensaver-5.21.tar.gz
/xscreensaver-5.22.tar.gz
/xscreensaver-5.23.tar.gz
/xscreensaver-5.26.tar.gz
/xscreensaver-5.27.tar.gz
/xscreensaver-5.28.tar.gz
/xscreensaver-5.29.tar.gz
/xscreensaver-5.29-1008-rename-xscreensaver-demo.glade2-to-xscreensaver-demo.patch.gz
/xscreensaver-5.30.tar.gz
/xscreensaver-5.31.tar.gz
/xscreensaver-5.32.tar.gz
/xscreensaver-5.32.ja.po.gz
/xscreensaver-5.33.tar.gz
/xscreensaver-5.34.tar.gz
/xscreensaver-5.35.tar.gz
/xscreensaver-5.36.tar.gz
/xscreensaver-5.37.tar.gz
/xscreensaver-5.38.tar.gz
/xscreensaver-5.39.tar.gz
/xscreensaver-5.40.tar.gz
/xscreensaver-5.42.tar.gz
/xscreensaver-5.43.tar.gz
/xscreensaver-5.44.tar.gz
/xscreensaver-5.45.tar.gz
/xscreensaver-*.tar.gz

View file

@ -0,0 +1,10 @@
boobies
boobs
cock
flatulence
hemorrhoid
heroin
pussy
rectum
viagra
vibrator

11552
ja.po Normal file

File diff suppressed because it is too large Load diff

View file

@ -1,2 +1 @@
SHA512 (xscreensaver-5.44.tar.gz) = 9d9144dec6f075c2d6a1c3cd45123a98d6d0cd732d6c3e3389e97b3f802b8f8765a188d1e35f97f123ca0a64661ea616b7b710577063c311da3d99d8439f1dae
SHA512 (xscreensaver-5.45.tar.gz) = 1b21418c591fd99f3caaea9d31ca49abdb94b8e89f33e661c464299bc81bf4ff13fd99a187070fce19b3843c28a1f2a2a7b94bd6949d2b3b06bba730cae59f14
SHA512 (xscreensaver-6.13.tar.gz) = 1ab42c0d0bf31b6d25e543d44c2ff41f48ef229ffce3a02f82495c1ef9c9452eddec4abe1cd7705220c6491562361f8cd0cca8bce9875ff80a765816574bf8ac

View file

@ -1,96 +0,0 @@
From 0d26e4514d7d6c90d2c5e35749c0b83121a66b77 Mon Sep 17 00:00:00 2001
From: "mtasaka@fedoraproject.org" <mtasaka@fedoraproject.org>
Date: Tue, 7 Feb 2017 16:40:52 +0900
Subject: [PATCH] misc: kill gcc warn_unused_result warnings
Remove misc warnings generated gcc -Wall with
"warning: ignoring return value of 'foo',
declared with attribute warn_unused_result".
For setuid() and fgets(), really check the returned value.
For system(), for now just use empty body to avoid this
warning. Note that casting the result to (void) does not
remove these warnings.
---
driver/demo-Gtk.c | 9 +++++++--
hacks/glx/sonar-icmp.c | 2 +-
hacks/glx/sonar.c | 5 +++--
hacks/recanim.c | 6 +++++-
4 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/driver/demo-Gtk.c b/driver/demo-Gtk.c
index f5c4839..7c34846 100644
--- a/driver/demo-Gtk.c
+++ b/driver/demo-Gtk.c
@@ -4423,7 +4423,8 @@ kde_screensaver_active_p (void)
FILE *p = popen ("dcop kdesktop KScreensaverIface isEnabled 2>/dev/null",
"r");
char buf[255];
- fgets (buf, sizeof(buf)-1, p);
+ if (!p) return False;
+ if (!fgets (buf, sizeof(buf)-1, p)) return False;
pclose (p);
if (!strcmp (buf, "true\n"))
return True;
@@ -4434,7 +4435,11 @@ kde_screensaver_active_p (void)
static void
kill_kde_screensaver (void)
{
- system ("dcop kdesktop KScreensaverIface enable false");
+ /* Use empty body to kill warning from gcc -Wall with
+ "warning: ignoring return value of 'system',
+ declared with attribute warn_unused_result"
+ */
+ if (system ("dcop kdesktop KScreensaverIface enable false")) {}
}
diff --git a/hacks/glx/sonar-icmp.c b/hacks/glx/sonar-icmp.c
index 8256270..26eb90d 100644
--- a/hacks/glx/sonar-icmp.c
+++ b/hacks/glx/sonar-icmp.c
@@ -1634,7 +1634,7 @@ sonar_init_ping (Display *dpy, char **error_ret, char **desc_ret,
fprintf (stderr, "%s: unable to open icmp socket\n", progname);
/* Disavow privs */
- setuid(getuid());
+ if (setuid(getuid()) == -1) abort();
pd->pid = getpid() & 0xFFFF;
pd->seq = 0;
diff --git a/hacks/glx/sonar.c b/hacks/glx/sonar.c
index f3a4d9d..2c6ca5b 100644
--- a/hacks/glx/sonar.c
+++ b/hacks/glx/sonar.c
@@ -930,8 +930,9 @@ init_sensor (ModeInfo *mi)
sp->ssd = sonar_init_ping (MI_DISPLAY (mi), &sp->error, &sp->desc,
ping_arg, ping_timeout, resolve_p, times_p,
debug_p);
- else
- setuid(getuid()); /* Disavow privs if not pinging. */
+ else {
+ if (setuid(getuid()) == -1) abort(); /* Disavow privs if not pinging. */
+ }
sp->start_time = double_time (); /* for error message timing */
diff --git a/hacks/recanim.c b/hacks/recanim.c
index 51379ed..a526c25 100644
--- a/hacks/recanim.c
+++ b/hacks/recanim.c
@@ -324,7 +324,11 @@ screenhack_record_anim_free (record_anim_state *st)
" 2>&-",
fn);
fprintf (stderr, "%s: exec: %s\n", progname, cmd);
- system (cmd);
+ /* Use empty body to kill warning from gcc -Wall with
+ "warning: ignoring return value of 'system',
+ declared with attribute warn_unused_result"
+ */
+ if (system (cmd)) {}
if (stat (fn, &s))
{
--
2.9.3

View file

@ -1,27 +0,0 @@
From 95ae80c0e7bc1b92535067df1fd0129829ce67af Mon Sep 17 00:00:00 2001
From: Mamoru TASAKA <mtasaka@fedoraproject.org>
Date: Sun, 30 Dec 2018 15:23:37 +0900
Subject: [PATCH] open new window for man when using gnome-terminal
Instead of opening man page in another tab, force opening
new window.
---
driver/XScreenSaver.ad.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/driver/XScreenSaver.ad.in b/driver/XScreenSaver.ad.in
index eec998f..b7a0846 100644
--- a/driver/XScreenSaver.ad.in
+++ b/driver/XScreenSaver.ad.in
@@ -100,7 +100,7 @@ GetViewPortIsFullOfLies: False
! Gnome 2.4, 2.6: (yelp can't display man pages, as of 2.6.3)
!
@GNOME24@*loadURL: @WITH_BROWSER@ '%s'
-@GNOME24@*manualCommand: gnome-terminal --title '%s manual' \
+@GNOME24@*manualCommand: gnome-terminal --window --title '%s manual' \
@GNOME24@ --command '/bin/sh -c "man %s; read foo"'
!
! Gnome 2.2:
--
2.20.1

View file

@ -1,24 +0,0 @@
From 2ab857c449470d9de45f7b1b8114eda3d9899dc6 Mon Sep 17 00:00:00 2001
From: XScreenSaver owners <xscreensaver-owner@fedoraproject.org>
Date: Tue, 24 Mar 2020 13:37:59 +0900
Subject: [PATCH] Patch to compile driver/test-xdpms
---
driver/test-xdpms.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/driver/test-xdpms.c b/driver/test-xdpms.c
index b86aed3..1a48c3d 100644
--- a/driver/test-xdpms.c
+++ b/driver/test-xdpms.c
@@ -29,7 +29,6 @@
#include <X11/Xproto.h>
#include <X11/extensions/dpms.h>
-#include <X11/extensions/dpmsstr.h>
extern Bool DPMSQueryExtension (Display *dpy, int *event_ret, int *error_ret);
extern Bool DPMSCapable (Display *dpy);
--
2.25.2

View file

@ -1,77 +1,12 @@
From d8ba605b7779ce5d2fc893c44fc2986ecf176e47 Mon Sep 17 00:00:00 2001
From: XScreenSaver owners <xscreensaver-owner@fedoraproject.org>
Date: Wed, 9 Dec 2020 22:12:09 +0900
Subject: [PATCH] barcode / glsnake: sanitize the names of modes
Subject: [PATCH] glsnake: sanitize the names of modes
---
hacks/barcode.c | 10 ----------
hacks/glx/glsnake.c | 12 ++++++------
2 files changed, 6 insertions(+), 16 deletions(-)
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/hacks/barcode.c b/hacks/barcode.c
index 20c2f38..ba3e2b2 100644
--- a/hacks/barcode.c
+++ b/hacks/barcode.c
@@ -122,8 +122,6 @@ static const char *words[] =
"bird flu",
"bliss",
"bogosity",
- "boobies",
- "boobs",
"booty",
"bread",
"brogrammers",
@@ -139,7 +137,6 @@ static const char *words[] =
"chocolate",
"chupacabra",
"CLONE",
- "cock",
"congress",
"constriction",
"contrition",
@@ -184,7 +181,6 @@ static const char *words[] =
"fear",
"fever",
"filth",
- "flatulence",
"fluff",
"fnord",
"followers",
@@ -202,9 +198,7 @@ static const char *words[] =
"happiness",
"hate",
"helplessness",
- "hemorrhoid",
"hermaphrodite",
- "heroin",
"heroine",
"hope",
"hysteria",
@@ -286,7 +280,6 @@ static const char *words[] =
"punishment",
"punk rock",
"punk",
- "pussy",
"quagmire",
"quarantine",
"quartz",
@@ -295,7 +288,6 @@ static const char *words[] =
"rage",
"readout",
"reality",
- "rectum",
"reject",
"rejection",
"respect",
@@ -365,8 +357,6 @@ static const char *words[] =
"venom",
"verifiability",
"very fine people",
- "viagra",
- "vibrator",
"victim",
"vignette",
"villainy",
diff --git a/hacks/glx/glsnake.c b/hacks/glx/glsnake.c
index 8efc681..125df90 100644
--- a/hacks/glx/glsnake.c

View file

@ -1,42 +0,0 @@
From bc93d94efe27f6a42cfe1d5c5c5723565f3930de Mon Sep 17 00:00:00 2001
From: Mamoru TASAKA <mtasaka@fedoraproject.org>
Date: Thu, 10 Dec 2020 11:45:51 +0900
Subject: [PATCH] asm6502.c/immediate: readd free() call accidentally removed
during gcc warnings fix
valgrind detects the following leak:
==200428== 4,480 bytes in 56 blocks are definitely lost in loss record 307 of 310
==200428== at 0x483BAE9: calloc (vg_replace_malloc.c:760)
==200428== by 0x1122AB: UnknownInlinedFun (asm6502.c:115)
==200428== by 0x1122AB: UnknownInlinedFun (asm6502.c:1411)
==200428== by 0x1122AB: UnknownInlinedFun (asm6502.c:1576)
==200428== by 0x1122AB: UnknownInlinedFun (asm6502.c:1652)
==200428== by 0x1122AB: compileCode (asm6502.c:2028)
==200428== by 0x118602: UnknownInlinedFun (asm6502.c:2230)
==200428== by 0x118602: UnknownInlinedFun (m6502.c:93)
==200428== by 0x118602: m6502_draw (m6502.c:230)
==200428== by 0x10D9D7: UnknownInlinedFun (screenhack.c:597)
==200428== by 0x10D9D7: main (screenhack.c:991)
During gcc warnings fix (about -Wstringop), strncpy() is changed to sprintf, but the following
free() should not be removed, otherwise m6502 will leak memory.
---
hacks/asm6502.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hacks/asm6502.c b/hacks/asm6502.c
index 1d5c896..dd8a11b 100644
--- a/hacks/asm6502.c
+++ b/hacks/asm6502.c
@@ -1413,6 +1413,7 @@ static BOOL immediate(char **s, Param *param){
(*s)++; /* move past < or > */
if (paramLabel(s, &label)){
sprintf(param->label, "%.*s", MAX_LABEL_LEN-1, label);
+ free(label);
return TRUE;
}
free(label);
--
2.29.2

View file

@ -1,33 +0,0 @@
From dab3a04fbd2c4658614471cd4d8550ce0e0cef7b Mon Sep 17 00:00:00 2001
From: Mamoru TASAKA <mtasaka@fedoraproject.org>
Date: Thu, 10 Dec 2020 16:38:26 +0900
Subject: [PATCH] beats/draw_beats: avoid integer overflow by multiplication
gcc10 -fsanitize=undefined detects the following integer overflow:
------------------------------------------
../../../hacks/glx/beats.c:325:53: runtime error: signed integer overflow: 3665625 * 42587 cannot be represented in type 'int'
../../../hacks/glx/beats.c:326:21: runtime error: signed integer overflow: 1489149219 * 1233599 cannot be represented in type 'int'
------------------------------------------
Avoid this by using unsigned integer.
---
hacks/glx/beats.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hacks/glx/beats.c b/hacks/glx/beats.c
index 64fd689..19565ec 100644
--- a/hacks/glx/beats.c
+++ b/hacks/glx/beats.c
@@ -322,8 +322,8 @@ draw_beats (ModeInfo *mi)
}
}
/* pseudo-random generator based on current minute */
- timeSeed = (((tmM+1) * (tmM+1) * ((tmH+1) * 37) *
- ((tmD+1) * 1151) * 1233599) % 653);
+ timeSeed = (((tmM+1) * (tmM+1) * ((tmH+1) * 37ULL) *
+ ((tmD+1) * 1151ULL) * 1233599ULL) % 653);
cycle = timeSeed % 4;
if(bp->preset_cycle != -1){
cycle = bp->preset_cycle;
--
2.29.2

View file

@ -1,65 +0,0 @@
From 2b1643d361274d52259820561747165af423a420 Mon Sep 17 00:00:00 2001
From: Mamoru TASAKA <mtasaka@fedoraproject.org>
Date: Mon, 28 Dec 2020 15:14:30 +0900
Subject: [PATCH 4/6] xscreensaver-systemd: fix blurb strncpy
Shut up the following gcc11 -Wall warning:
---------------------------------------------
In function 'strncpy',
inlined from 'blurb' at ../../driver/xscreensaver-systemd.c:387:3:
/usr/include/bits/string_fortified.h:91:10: warning: 'strncpy' output may be truncated copying 8 bytes from a string of length 88 [-Wstringop-truncation]
---------------------------------------------
Note that the current blurb() implementation contains some code which is
actually not working. Currently:
---------------------------------------------
376 blurb (void)
377 {
378 static char buf[255];
386 ctime_r (&now, ct);
387 strncpy(buf+n, ct+11, 8);
388 strcpy(buf+n+9, ": ");
389 return buf;
390 }
---------------------------------------------
With the line 378, the contents of buf[] is all initialized to 0.
the line 388 strncpy() puts some string from ct to
buf[n+0], buf[n+1], ... , and buf[n+7] (8 bytes, not putting terminating
null character). Here buf[n+8] is still 0 (null character) because
buf[] is all initialized to 0.
The line 388 puts the string to buf[n+9] and buf[n+10], but as
buf[n+8] is still 0, the line 388 does essentially nothing.
Note that the other part of this file calls blurb() like:
----------------------------------------------
402 fprintf (stderr, "%s: exec: %s\n", blurb(), buf);
----------------------------------------------
i.e. "%s" always followed by ":" which compensates for the line 388.
---
driver/xscreensaver-systemd.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/driver/xscreensaver-systemd.c b/driver/xscreensaver-systemd.c
index 2da99de..f6bd104 100644
--- a/driver/xscreensaver-systemd.c
+++ b/driver/xscreensaver-systemd.c
@@ -378,14 +378,8 @@ blurb (void)
static char buf[255];
time_t now = time ((time_t *) 0);
char ct[100];
- int n = strlen(progname);
- if (n > 100) n = 99;
- strncpy(buf, progname, n);
- buf[n++] = ':';
- buf[n++] = ' ';
ctime_r (&now, ct);
- strncpy(buf+n, ct+11, 8);
- strcpy(buf+n+9, ": ");
+ sprintf(buf, "%.99s: %.8s", progname, ct+11);
return buf;
}
--
2.29.2

View file

@ -1,78 +0,0 @@
From a93c17b054313f8ce0b0474942177a3aa646893b Mon Sep 17 00:00:00 2001
From: Mamoru TASAKA <mtasaka@fedoraproject.org>
Date: Mon, 28 Dec 2020 15:29:41 +0900
Subject: [PATCH 5/6] recanim.c: fix up -Wformat-overflow warning:
From gcc11 -Wall:
--------------------------------------------------------------
../../hacks/recanim.c: In function 'screenhack_record_anim_free':
../../hacks/recanim.c:435:12: warning: '%s' directive writing up to 1023 bytes into a region of size 968 [-Wformat-overflow=]
435 | " -c:v libx264"
| ^~~~~~~~~~~~~~~
......
442 | fn);
| ~~
../../hacks/recanim.c:439:15: note: format string is defined here
439 | " '%s'"
| ^~
--------------------------------------------------------------
To silence this warning, calculate the size of the string which is "supposed to be"
written and if the size is going to be oversized, exit abnormally.
---
hacks/recanim.c | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/hacks/recanim.c b/hacks/recanim.c
index b1c7e0a..bf9084c 100644
--- a/hacks/recanim.c
+++ b/hacks/recanim.c
@@ -391,6 +391,7 @@ screenhack_record_anim_free (record_anim_state *st)
const char *type = "png";
char cmd[1024];
char fn[1024];
+ size_t len_cmd;
const char *soundtrack = 0;
fprintf (stderr, "%s: wrote %d frames\n", progname, st->frame_count);
@@ -417,7 +418,8 @@ screenhack_record_anim_free (record_anim_state *st)
if (! soundtrack) soundtrack = "../../" ST;
if (stat (soundtrack, &s)) soundtrack = 0;
- sprintf (cmd,
+ len_cmd = 0;
+ len_cmd += snprintf (cmd, sizeof cmd - len_cmd,
"ffmpeg"
" -hide_banner"
" -loglevel error"
@@ -425,13 +427,16 @@ screenhack_record_anim_free (record_anim_state *st)
" -i '%s-%%06d.%s'"
" -r %d", /* rate of output: must be after -i */
st->fps, progname, type, st->fps);
- if (soundtrack)
- sprintf (cmd + strlen(cmd),
+ if (len_cmd >= sizeof cmd) abort();
+ if (soundtrack) {
+ len_cmd += snprintf (cmd + len_cmd, sizeof cmd - len_cmd,
" -i '%s' -map 0:v:0 -map 1:a:0 -acodec aac"
/* Truncate or pad audio to length of video */
" -filter_complex '[1:0] apad' -shortest",
soundtrack);
- sprintf (cmd + strlen(cmd),
+ if (len_cmd >= sizeof cmd) abort();
+ }
+ len_cmd += snprintf (cmd + len_cmd, sizeof cmd - len_cmd,
" -c:v libx264"
" -profile:v high"
" -crf 18"
@@ -440,6 +445,7 @@ screenhack_record_anim_free (record_anim_state *st)
" </dev/null"
/*" 2>&-"*/,
fn);
+ if (len_cmd >= sizeof cmd) abort();
fprintf (stderr, "%s: exec: %s\n", progname, cmd);
/* Use empty body to kill warning from gcc -Wall with
"warning: ignoring return value of 'system',
--
2.29.2

View file

@ -1,33 +0,0 @@
From 2a744c80fb0e8ec22c1b7d3656f7cbdcad2f3fef Mon Sep 17 00:00:00 2001
From: Mamoru TASAKA <mtasaka@fedoraproject.org>
Date: Mon, 28 Dec 2020 15:31:38 +0900
Subject: [PATCH 6/6] asm6502.c/newAsmLine: shut up -Wstringop warning
Shut up the following warning by gcc11 -Wall:
----------------------------------------------------------
In function 'strncpy',
inlined from 'newAsmLine' at ../../hacks/asm6502.c:1181:5,
inlined from 'parseAssembly' at ../../hacks/asm6502.c:1661:14,
inlined from 'compileCode' at ../../hacks/asm6502.c:2029:13:
/usr/include/bits/string_fortified.h:91:10: warning: 'strncpy' specified bound 80 equals destination size [-Wstringop-truncation]
----------------------------------------------------------
---
hacks/asm6502.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hacks/asm6502.c b/hacks/asm6502.c
index dd8a11b..28a85d1 100644
--- a/hacks/asm6502.c
+++ b/hacks/asm6502.c
@@ -1178,7 +1178,7 @@ static AsmLine *newAsmLine(char *cmd, char *label, BOOL decl, Param *param, int
newp = (AsmLine *) ecalloc(1, sizeof(AsmLine));
newp->labelDecl = decl;
newp->label = newLabel();
- strncpy(newp->label->label,label,MAX_LABEL_LEN);
+ sprintf(newp->label->label, "%.*s", MAX_LABEL_LEN - 1, label);
newp->command = estrdup(cmd);
newp->param = newParam();
copyParam(newp->param, param);
--
2.29.2

View file

@ -1,54 +0,0 @@
From 0638fb6fca4b10120d08e5b1d546dea0013faa07 Mon Sep 17 00:00:00 2001
From: Mamoru TASAKA <mtasaka@fedoraproject.org>
Date: Mon, 28 Dec 2020 18:03:25 +0900
Subject: [PATCH] lock.c/draw_passwd_window: show logo and ok button
On Fedora 33 and on some environment, user may see the issue on
lock screen:
* xscreensaver logo is not shown
* ok and new login buttons are not shown
To fix these issue, two modifications seem needed.
* Calling XSync() is needed to make ok button appear
* draw_shaded_rectangle() on the whole window must be called before
painting logo
---
driver/lock.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/driver/lock.c b/driver/lock.c
index 8bcd2e0..7133dc0 100644
--- a/driver/lock.c
+++ b/driver/lock.c
@@ -750,6 +750,12 @@ draw_passwd_window (saver_info *si)
x3 = pw->width - (pw->shadow_width * 2);
y1 = (pw->shadow_width * 2) + spacing + spacing;
+ /* The shadow around the whole window
+ */
+ draw_shaded_rectangle (si->dpy, si->passwd_dialog,
+ 0, 0, pw->width, pw->height, pw->shadow_width,
+ pw->shadow_top, pw->shadow_bottom);
+
/* top heading
*/
XSetFont (si->dpy, gc1, pw->heading_font->fid);
@@ -994,14 +1000,9 @@ draw_passwd_window (saver_info *si)
pw->thermo_width - 1, pw->thermo_field_height - 1);
#endif
- /* The shadow around the whole window
- */
- draw_shaded_rectangle (si->dpy, si->passwd_dialog,
- 0, 0, pw->width, pw->height, pw->shadow_width,
- pw->shadow_top, pw->shadow_bottom);
-
XFreeGC (si->dpy, gc1);
XFreeGC (si->dpy, gc2);
+ XSync (si->dpy, False);
update_passwd_window (si, pw->passwd_string, pw->ratio);
}
--
2.29.2

View file

@ -1,33 +0,0 @@
From 9b948db8377c0ac146eae2d865c987e73d9109ad Mon Sep 17 00:00:00 2001
From: Mamoru TASAKA <mtasaka@fedoraproject.org>
Date: Fri, 11 Dec 2020 10:40:09 +0900
Subject: [PATCH] test-screens.c: add skel XA_SCREENSAVER_VERSION definition
To avoid the following link error:
----------------------------------------------------
/usr/bin/ld: test-screens.o: in function `update_screen_layout':
/builddir/build/BUILD/xscreensaver-5.45/x86_64-pc-linux-gnu/driver/../../driver/screens.c:1104: undefined reference to `XA_SCREENSAVER_VERSION'
collect2: error: ld returned 1 exit status
----------------------------------------------------
On xscreensaver-5.45, in screens.c/update_screen_layout some logic is added using
XA_SCREENSAVER_VERSION .
---
driver/test-screens.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/driver/test-screens.c b/driver/test-screens.c
index 2fb3e35..c5dfa02 100644
--- a/driver/test-screens.c
+++ b/driver/test-screens.c
@@ -39,6 +39,7 @@
char *progname = 0;
char *progclass = "XScreenSaver";
+Atom XA_SCREENSAVER_VERSION;
const char *blurb(void) { return progname; }
--
2.29.2

View file

@ -1,31 +0,0 @@
From bcb4b5355e73274722a6169dfa4f532353b3d6a7 Mon Sep 17 00:00:00 2001
From: XScreenSaver owners <xscreensaver-owner@fedoraproject.org>
Date: Wed, 9 Dec 2020 22:35:55 +0900
Subject: [PATCH] test-password.c: add skel definition for
clientmessage_response
Fix below
/usr/bin/ld: /tmp/test-passwd.BnNU2t.ltrans0.ltrans.o: in function `passwd_event_loop':
/foo/xscreensaver-5.45/x86_64-pc-linux-gnu/driver/../../driver/lock.c:1937: undefined reference to `clientmessage_response'
collect2: error: ld returned 1 exit status
make: *** [Makefile:842: test-passwd] Error 1
---
driver/test-passwd.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/driver/test-passwd.c b/driver/test-passwd.c
index 9b4f98e..1c4dccc 100644
--- a/driver/test-passwd.c
+++ b/driver/test-passwd.c
@@ -67,6 +67,7 @@ void describe_monitor_layout (saver_info *si) { }
Bool update_screen_layout (saver_info *si) { return 0; }
Bool in_signal_handler_p = 0;
char *timestring (time_t when) { return ""; }
+void clientmessage_response (saver_info *si, Window w, Bool error, const char *stderr_msg, const char *protocol_msg) {}
const char *blurb(void) { return progname; }
Atom XA_SCREENSAVER, XA_DEMO, XA_PREFS;
--
2.29.2

View file

@ -0,0 +1,48 @@
From ef72c9500015a36bf0b4b412337ec2d890d092b6 Mon Sep 17 00:00:00 2001
From: Mamoru TASAKA <mtasaka@fedoraproject.org>
Date: Fri, 2 Apr 2021 18:46:14 +0900
Subject: [PATCH] screensaver_id: search parenthesis first for searching year
Fedora package modifies screensaver_id string to %%version-%%release .
Adjust window_init function so that "year" information is
parsed correctly.
---
driver/dialog.c | 4 +++-
driver/xscreensaver-systemd.c | 4 +++-
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/driver/dialog.c b/driver/dialog.c
index fce74c4..9a8173f 100644
--- a/driver/dialog.c
+++ b/driver/dialog.c
@@ -949,8 +949,10 @@ window_init (Widget root_widget, Bool splash_p)
/* Put the version number in the label. */
{
char *version = strdup (screensaver_id + 17);
- char *year = strchr (version, '-');
+ char *year;
char *s = strchr (version, ' ');
+ year = strchr (version, '('); /* Search parenthesis first */
+ year = strchr (year, '-');
*s = 0;
year = strchr (year+1, '-') + 1;
s = strchr (year, ')');
diff --git a/driver/xscreensaver-systemd.c b/driver/xscreensaver-systemd.c
index d06174a..c9a66a1 100644
--- a/driver/xscreensaver-systemd.c
+++ b/driver/xscreensaver-systemd.c
@@ -950,8 +950,10 @@ main (int argc, char **argv)
{
int i;
char *version = strdup (screensaver_id + 17);
- char *year = strchr (version, '-');
+ char *year;
char *s = strchr (version, ' ');
+ year = strchr (version, '('); /* Search parenthesis first */
+ year = strchr (year, '-');
*s = 0;
year = strchr (year+1, '-') + 1;
s = strchr (year, ')');
--
2.31.1

View file

@ -0,0 +1,27 @@
From 13e1203d8cc00a8462dbd2656257b46b411b2854 Mon Sep 17 00:00:00 2001
From: Mamoru TASAKA <mtasaka@fedoraproject.org>
Date: Mon, 3 May 2021 15:00:31 +0900
Subject: [PATCH] dialog.c: window_init: show more version string
Fedora modifies version string to "6.00-1.fc34" to show rpm "release", for example.
Let's allow more length for version string for password dialog.
---
driver/dialog.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/driver/dialog.c b/driver/dialog.c
index 9a8173f..3020880 100644
--- a/driver/dialog.c
+++ b/driver/dialog.c
@@ -959,7 +959,7 @@ window_init (Widget root_widget, Bool splash_p)
*s = 0;
ws->heading_label = (char *) malloc (100);
ws->version = strdup(version);
- sprintf (ws->heading_label, "XScreenSaver %.4s, v%.10s", year, version);
+ sprintf (ws->heading_label, "XScreenSaver %.4s, v%.14s", year, version);
if (splash_p)
{
--
2.31.1

View file

@ -1,29 +1,28 @@
From b04424419b281e608bac2a600bf7aab0c65b164a Mon Sep 17 00:00:00 2001
From 585252a63804d1cea0271fe29ef33476d1127a4f Mon Sep 17 00:00:00 2001
From: XScreenSaver owners <xscreensaver-owner@fedoraproject.org>
Date: Tue, 24 Mar 2020 13:29:14 +0900
Date: Sat, 22 Oct 2022 23:48:23 +0900
Subject: [PATCH] # Change webcollage not to access to net # Also see bug
472061
---
hacks/config/webcollage.xml | 7 ++++++-
hacks/config/webcollage.xml | 7 +++++++
hacks/webcollage.man | 5 +++++
2 files changed, 11 insertions(+), 1 deletion(-)
2 files changed, 12 insertions(+)
diff --git a/hacks/config/webcollage.xml b/hacks/config/webcollage.xml
index c26ea98..da312fa 100644
index a2acab7..1db7aa5 100644
--- a/hacks/config/webcollage.xml
+++ b/hacks/config/webcollage.xml
@@ -30,8 +30,8 @@
<string id="filter" _label="Per-image filter program" arg="-filter %"/>
<string id="filter2" _label="Overall filter program" arg="-filter2 %"/>
<file id="dictionary" _label="Dictionary file" arg="-dictionary %"/>
- <file id="dir" _label="Image directory" arg="-directory %"/>
-->
+ <file id="dir" _label="Image directory" arg="-directory %"/>
@@ -26,6 +26,8 @@
</vgroup>
</hgroup>
+ <file id="dir" _label="Image directory" arg="-directory %"/>
+
<xscreensaver-updater />
@@ -51,6 +51,11 @@ Please act accordingly.
<_description>
@@ -44,6 +46,11 @@ Please act accordingly.
See also https://www.jwz.org/webcollage/
@ -32,25 +31,25 @@ index c26ea98..da312fa 100644
+and uses image files on your local disk. If you want webcollage to
+search for image files on net, use webcollage.original .
+
Written by Jamie Zawinski; 1999.
Written by Jamie Zawinski; 1998.
</_description>
</screensaver>
diff --git a/hacks/webcollage.man b/hacks/webcollage.man
index 82bf5d7..7860d2e 100644
index 85255b5..fadcd20 100644
--- a/hacks/webcollage.man
+++ b/hacks/webcollage.man
@@ -178,6 +178,11 @@ the given directory.
@@ -176,6 +176,11 @@ the given directory.
.TP 8
.B \-fps
.B \-\-fps
Display the current frame rate and CPU load (MacOS only).
+.SH NOTES FOR FEDORA USER
+Webcollage on Fedora uses '-directory' option by default, so it
+.B does not connect to internet
+.B does not connect to internet
+and uses image files on your local disk. If you want webcollage to
+search for image files on net, use webcollage.original .
.SH ENVIRONMENT
.PP
.TP 8
--
2.25.2
2.38.1

View file

@ -0,0 +1,49 @@
From 1e20010cd70edd4c26bbc6ce48c57bf36b064aeb Mon Sep 17 00:00:00 2001
From: XScreenSaver owners <xscreensaver-owner@fedoraproject.org>
Date: Fri, 1 Sep 2023 17:30:50 +0900
Subject: [PATCH 1/2] make_ximage: avoid integer overflow on left shift
gcc -fsanitize=undefined shows the following undefined behavior:
../../hacks/ximage-loader.c:176:29: runtime error: left shift of 255 by 24 places cannot be represented in type 'int'
../../hacks/ximage-loader.c:169:29: runtime error: left shift of 255 by 24 places cannot be represented in type 'int'
This is because of integral promotion from guchar to int, not to unsigned int.
To avoid this error, cast to unsigned long type.
---
hacks/ximage-loader.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hacks/ximage-loader.c b/hacks/ximage-loader.c
index a3f6eb0..152ad9f 100644
--- a/hacks/ximage-loader.c
+++ b/hacks/ximage-loader.c
@@ -159,21 +159,21 @@ make_ximage (Display *dpy, Visual *visual, const char *filename,
unsigned long rgba = 0;
switch (chan) {
case 1:
- rgba = ((0xFF << 24) |
+ rgba = ((0xFFUL << 24) |
(*i << 16) |
(*i << 8) |
*i);
i++;
break;
case 3:
- rgba = ((0xFF << 24) |
+ rgba = ((0xFFUL << 24) |
(i[2] << 16) |
(i[1] << 8) |
i[0]);
i += 3;
break;
case 4:
- rgba = ((i[3] << 24) |
+ rgba = ((((unsigned long)i[3]) << 24) |
(i[2] << 16) |
(i[1] << 8) |
i[0]);
--
2.41.0

View file

@ -0,0 +1,37 @@
From b6aacc5eb73ef0d41bdff9cd62672d4dc7a62e0d Mon Sep 17 00:00:00 2001
From: XScreenSaver owners <xscreensaver-owner@fedoraproject.org>
Date: Fri, 1 Sep 2023 17:32:57 +0900
Subject: [PATCH 2/2] convert_ximage_to_rgba32: avoid integer overflow on left
shift
gcc -fsanitize=undefined shows the following undefined behavior:
../../../hacks/glx/grab-ximage.c:213:21: runtime error: left shift of 255 by 24 places cannot be represented in type 'int'
This is because of integral promotion from unsigned char to int, not to unsigned int.
To avoid this error, cast to unsigned long type.
---
hacks/glx/grab-ximage.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hacks/glx/grab-ximage.c b/hacks/glx/grab-ximage.c
index defefda..9d3a2d6 100644
--- a/hacks/glx/grab-ximage.c
+++ b/hacks/glx/grab-ximage.c
@@ -207,10 +207,10 @@ convert_ximage_to_rgba32 (Screen *screen, XImage *image)
sb = spread_map[2][sb];
}
- cp = ((sr << crpos) |
+ cp = ((((unsigned long)sr) << crpos) |
(sg << cgpos) |
(sb << cbpos) |
- (0xFF << capos));
+ (0xFFUL << capos));
XPutPixel (to, x, y, cp);
}
--
2.41.0

View file

@ -0,0 +1,26 @@
From 7071bfa1503191aaf5ab550fe2cd41350b15d15f Mon Sep 17 00:00:00 2001
From: Jamie Zawinski <jwz@jwz.org>
Date: Sat, 6 Dec 2025 11:19:50 +0900
Subject: [PATCH] driver/demo-Gtk.c: Initialize locking_supported_p for X11
session
---
driver/demo-Gtk.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/driver/demo-Gtk.c b/driver/demo-Gtk.c
index 9ab785d..692b84d 100644
--- a/driver/demo-Gtk.c
+++ b/driver/demo-Gtk.c
@@ -2585,6 +2585,8 @@ populate_prefs_page (state *s)
# ifdef NO_LOCKING
s->locking_supported_p = FALSE;
lock_why = _("Not compiled with support for locking");
+#else
+ s->locking_supported_p = TRUE;
# endif
if (s->backend == WAYLAND_BACKEND ||
--
2.52.0

View file

@ -5,5 +5,6 @@
if [ -x /usr/bin/gnome-screensaver ] ; then exit 0 ; fi
if [ -x /usr/bin/mate-screensaver ] ; then exit 0 ; fi
if [ -x /usr/bin/xfce4-screensaver ] ; then exit 0 ; fi
exec xscreensaver -nosplash

View file

@ -1,7 +1,8 @@
%define name xscreensaver
%define mainversion 5.45
%define beta_ver %{nil}
%define mainversion 6.13
%dnl %define extratarver 1
%dnl %define beta_ver b2
%define modular_conf 1
@ -10,7 +11,7 @@
%define split_getimage 1
%endif
%define fedora_rel 3
%define baserelease 1
%global use_clang_as_cc 0
%global use_clang_analyze 0
@ -18,16 +19,25 @@
%global use_gcc_strict_sanitize 0
%global use_gcc_trap_on_sanitize 0
%global use_gcc_analyzer 0
%global enable_animation 1
%undefine extrarel
%global flagrel %{nil}
%if 0%{?use_cppcheck} >= 1
%global flagrel %{flagrel}.cppcheck
%global flagrel %{flagrel}.CPPCHECK
%endif
%if 0%{?use_gcc_strict_sanitize} >= 1
%global flagrel %{flagrel}.san
%global flagrel %{flagrel}.SAN
%endif
%if 0%{?use_clang_analyze} >= 1
%global flagrel %{flagrel}.clang_alz
%endif
%global toolchain gcc
%if 0%{?use_clang_as_cc} >= 1
%global toolchain clang
%endif
# EPEL6
%{!?__git:%define __git git}
@ -62,12 +72,12 @@
Summary: X screen saver and locker
Name: %{name}
Version: %{mainversion}
Release: %{fedora_rel}%{flagrel}%{?dist}%{?extrarel}
Version: %{mainversion}%{?extratarver:.%extratarver}
Release: %{?beta_ver:0.}%{baserelease}%{?beta_ver:.%beta_ver}%{?dist}%{flagrel}%{?extrarel}
Epoch: 1
License: MIT
URL: http://www.jwz.org/xscreensaver/
Source0: http://www.jwz.org/xscreensaver/xscreensaver-%{mainversion}%{?beta_ver}.tar.gz
Source0: http://www.jwz.org/xscreensaver/xscreensaver-%{mainversion}%{?beta_ver}%{?extratarver:.%extratarver}.tar.gz
%if %{modular_conf}
Source10: update-xscreensaver-hacks
%endif
@ -77,6 +87,10 @@ Source12: xscreensaver-autostart.desktop
%endif
# wrapper script for switching user (bug 1878730)
Source13: xscreensaver-newlogin-wrapper
# bug 129335
# Remove unwilling words from barcode hack
Source20: barcode-words-blacklist.txt
Source100: ja.po
##
## Patches
##
@ -85,30 +99,18 @@ Patch1: xscreensaver-5.45-0001-barcode-glsnake-sanitize-the-names-of-mo
## Patches already sent to the upsteam
## Patches which must be discussed with upstream
# See bug 472061
Patch21: xscreensaver-5.35-webcollage-default-nonet.patch
# Patch to compile driver/test-xdpms
Patch52: xscreensaver-5.44-0002-Patch-to-compile-driver-test-xdpms.patch
#
# misc: kill gcc warn_unused_result warnings
Patch3607: xscreensaver-5.36-0007-misc-kill-gcc-warn_unused_result-warnings.patch
# open new window for man when using gnome-terminal
Patch4261: xscreensaver-5.42-0061-open-new-window-for-man-when-using-gnome-terminal.patch
# test-password.c: add skel definition for clientmessage_response
Patch4501: xscreensaver-5.45-1001-test-password.c-add-skel-definition-for-clientmessa.patch
# asm6502.c/immediate: readd free() call accidentally removed during gcc warnings fix
Patch4502: xscreensaver-5.45-0002-asm6502.c-immediate-readd-free-call-accidentally-rem.patch
# beats/draw_beats: avoid integer overflow by multiplication
Patch4503: xscreensaver-5.45-0003-beats-draw_beats-avoid-integer-overflow-by-multiplic.patch
# xscreensaver-systemd: fix blurb strncpy
Patch4504: xscreensaver-5.45-0004-xscreensaver-systemd-fix-blurb-strncpy.patch
# recanim.c: fix up -Wformat-overflow warning
Patch4505: xscreensaver-5.45-0005-recanim.c-fix-up-Wformat-overflow-warning.patch
# asm6502.c/newAsmLine: shut up -Wstringop warning
Patch4506: xscreensaver-5.45-0006-asm6502.c-newAsmLine-shut-up-Wstringop-warning.patch
# lock.c/draw_passwd_window: show logo and ok button
Patch4507: xscreensaver-5.45-0007-lock.c-draw_passwd_window-show-logo-and-ok-button.patch
# test-screens.c: add skel XA_SCREENSAVER_VERSION definition
Patch4551: xscreensaver-5.45-0051-test-screens.c-add-skel-XA_SCREENSAVER_VERSION-defin.patch
Patch21: xscreensaver-6.06-webcollage-default-nonet.patch
# make_ximage: avoid integer overflow on left shift
Patch4701: xscreensaver-6.07-0001-make_ximage-avoid-integer-overflow-on-left-shift.patch
# convert_ximage_to_rgba32: avoid integer overflow on left shift
Patch4702: xscreensaver-6.07-0002-convert_ximage_to_rgba32-avoid-integer-overflow-on-l.patch
# driver/demo-Gtk.c: Initialize locking_supported_p for X11 session
Patch5301: xscreensaver-6.13-0001-driver-demo-Gtk.c-Initialize-locking_supported_p-for.patch
# Fedora specific
# window_init: search parenthesis first for searching year
Patch10001: xscreensaver-6.00-0001-screensaver_id-search-parenthesis-first-for-searchin.patch
# dialog.c: window_init: show more version string
Patch10003: xscreensaver-6.00-0003-dialog.c-window_init-show-more-version-string.patch
#
# gcc warning cleanup
# Some cppcheck cleanup
@ -149,9 +151,11 @@ BuildRequires: bc
BuildRequires: desktop-file-utils
BuildRequires: gawk
BuildRequires: gettext
BuildRequires: gettext-devel
BuildRequires: libtool
BuildRequires: pam-devel > %{pam_ver}
BuildRequires: sed
BuildRequires: libxcrypt-devel
# Use pseudo symlink
# BuildRequires: xdg-utils
BuildRequires: xorg-x11-proto-devel
@ -161,11 +165,14 @@ BuildRequires: libgle-devel
%endif
BuildRequires: libX11-devel
BuildRequires: libXScrnSaver-devel
# xscreensaver 6.00
#BuildRequires: libXcomposite-devel
BuildRequires: libXext-devel
# From xscreensaver 5.12, write explicitly
BuildRequires: libXi-devel
BuildRequires: libXinerama-devel
BuildRequires: libXmu-devel
# Dropped from 6.00
# BuildRequires: libXmu-devel
# xscreensaver 5.39: check if the following can be removed
BuildRequires: libXpm-devel
# xscreensaver 5.39
@ -177,12 +184,14 @@ BuildRequires: libXt-devel
#BuildRequires: libXxf86misc-devel
BuildRequires: libXxf86vm-devel
# XScreenSaver 5.31
BuildRequires: libXft-devel
BuildRequires: gtk2-devel
BuildRequires: pkgconfig(xft)
BuildRequires: pkgconfig(gtk+-3.0) >= 2.22.0
BuildRequires: pkgconfig(gmodule-2.0)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(gio-2.0)
# Write explicitly below, especially
# for F-23 gdk_pixbuf package splitting
BuildRequires: pkgconfig(gdk-pixbuf-2.0)
BuildRequires: pkgconfig(gdk-pixbuf-xlib-2.0)
BuildRequires: libjpeg-devel
BuildRequires: libglade2-devel
%if 0%{?support_setcap} >= 1
@ -192,6 +201,17 @@ BuildRequires: pkgconfig(libcap)
%if 0%{?support_systemd} >= 1
BuildRequires: pkgconfig(libsystemd)
%endif
# From xscreensaver 6.07
%if 0%{?enable_animation}
BuildRequires: pkgconfig(libavutil)
BuildRequires: pkgconfig(libavcodec)
BuildRequires: pkgconfig(libavformat)
BuildRequires: pkgconfig(libswscale)
BuildRequires: pkgconfig(libswresample)
%endif
# From xscreensaver 6.12
BuildRequires: pkgconfig(wayland-server)
BuildRequires: pkgconfig(wayland-client)
%if 0%{?fedora}
BuildRequires: %{default_text}
%endif
@ -199,6 +219,9 @@ BuildRequires: %{default_text}
# https://fedoraproject.org/wiki/Changes/Build_Root_Without_Perl
BuildRequires: perl-interpreter
BuildRequires: perl-generators
# xscreensaver 6.07 calls check-configs.pl
BuildRequires: perl(strict)
BuildRequires: perl(diagnostics)
# For --with-login-manager option
%if 0%{?fedora} >= 14
# Use pseudo symlink, not writing BR: gdm
@ -211,13 +234,18 @@ Requires: xdg-utils
%if ! %{split_getimage}
Requires: appres
%endif
Requires: xorg-x11-fonts-ISO8859-1-100dpi
# For switch user wrapper
Requires: %{_bindir}/pidof
# XScreenSaver 6.07: For manual
# Actually the following is not needed, yelp is still used
#Recommends: xterm
%if 0%{?build_tests} < 1
# Obsoletes but not Provides
Obsoletes: xscreeensaver-tests < %{epoch}:%{version}-%{release}
%endif
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1030659
# XScreenSaver 6.06 xscreensaver-settings now needs xscreensaver-gl-visual
Requires: %{name}-gl-base = %{epoch}:%{version}-%{release}
%package extras-base
Summary: A base package for screensavers
@ -232,7 +260,7 @@ Summary: An enhanced set of screensavers
# Does not available on EPEL7
BuildRequires: desktop-backgrounds-basic
%else
BuildRequires: gnome-backgrounds
BuildRequires: gnome-backgrounds
%endif
Requires: %{name}-base = %{epoch}:%{version}-%{release}
%if %{split_getimage}
@ -241,7 +269,6 @@ Requires: %{name}-extras-base = %{epoch}:%{version}-%{release}
%package gl-base
Summary: A base package for screensavers that require OpenGL
Requires: %{name}-base = %{epoch}:%{version}-%{release}
%package gl-extras
Summary: An enhanced set of screensavers that require OpenGL
@ -361,6 +388,7 @@ config.guess
config.sub
aclocal.m4
config.h.in
config.rpath
OSX
EOF
@ -371,26 +399,24 @@ rm -f driver/XScreenSaver_ad.h
find . -name \*.c -exec chmod ugo-x {} \;
%__git init
%__git config user.email "xscreensaver-owner@fedoraproject.org"
%__git config user.name "XScreenSaver owners"
%__git config user.email "xscreensaver-maintainer@fedoraproject.org"
%__git config user.name "XScreenSaver maintainer"
%__git add .
%__git commit -m "base" -q
%__cat %PATCH1 | %__git am
%__cat %SOURCE20 | while read f
do
sed -i hacks/barcode.c -e "\@\"$f\"@s@^.*\$@/**/@"
done
%__git commit -m "barcode: sanitize the names of modes" -a
%__cat %PATCH21 | %__git am
%__cat %PATCH52 | %__git am
#%%__cat %PATCH3607 | %__git am
%__cat %PATCH4261 | %__git am
%__cat %PATCH4501 | %__git am
%__cat %PATCH4502 | %__git am
%__cat %PATCH4503 | %__git am
%__cat %PATCH4551 | %__git am
%__cat %PATCH4504 | %__git am
%__cat %PATCH4505 | %__git am
%__cat %PATCH4506 | %__git am
%__cat %PATCH4507 | %__git am
%__cat %PATCH4701 | %__git am
%__cat %PATCH4702 | %__git am
%__cat %PATCH5301 | %__git am
%__cat %PATCH10001 | %__git am
%__cat %PATCH10003 | %__git am
#%%__cat %PATCH13501 | %%__git am
@ -433,8 +459,11 @@ silence_hack(){
%global PATCH_desc \
# change some files to UTF-8
for f in \
%if 0
driver/XScreenSaver.ad.in \
%endif
hacks/glx/sproingies.man \
hacks/glx/cubocteversion.man \
; do
iconv -f ISO-8859-1 -t UTF-8 $f > $f.tmp || cp -p $f $f.tmp
touch -r $f $f.tmp
@ -464,9 +493,13 @@ change_option driver/XScreenSaver.ad.in \
# Disable the following hacks by default \
# (disable, not remove)
silence_hack driver/XScreenSaver.ad.in \
bsod flag \
peepers \
bsod \
covid19 \
flag \
headroom \
peepers \
skulloop \
skytentacles \
%{nil}
%__git commit -m "%PATCH_desc" -a
@ -484,9 +517,10 @@ eval sed -i.date \
eval sed -i.ver \
-e \'s\|\(\[0-9\].\*-.\*-20\[0-9\]\[0-9\]\)\|\(`LANG=C LC_ALL=C \
date -u +'%%d-%%b-%%Y'`\)\|g\' \
-e \'s\|\\\(5.\[0-9\]\[0-9\]\\\)[a-z]\[0-9\]\[0-9\]\*\|\\\1\|\' \
-e \'s\|5.\[0-9\]\[0-9\]\|%{version}-`echo %{release} | \
-e \'s\|\\\([56]\\\.\[0-9\]\[0-9\]\\\)[a-z]\[0-9\]\[0-9\]\*\|\\\1\|\' \
-e \'s\|[56]\\\.\[0-9\]\[0-9\]\|%{version}-`echo %{release} | \
sed -e '/IGNORE THIS/s|\.[a-zA-Z][a-zA-Z0-9].*$||'`\|\' \
-e \'s\|\\\(XSCREENSAVER_RELEASED\\\)\.\*\|\\\1 ${SOURCE_DATE_EPOCH}\|\' \
utils/version.h
%__git commit -m "%PATCH_desc" -a
@ -505,6 +539,12 @@ sed -i.manentry -e 's@man %%s@man 6x %%s 2>/dev/null || man 1 %%s @' \
driver/XScreenSaver.ad.in
%__git commit -m "%PATCH_desc" -a
# XScreenSaver 6.07: use xterm
sed -i.term \
driver/XScreenSaver.ad.in \
-e 's|lxterminal|xterm|'
%__git commit -m "Manual: change terminal to xterm" -a
# Suppress rpmlint warnings.
# suppress about pam config (although this is
# not the fault of xscreensaver.pam ......).
@ -513,35 +553,24 @@ sed -i.manentry -e 's@man %%s@man 6x %%s 2>/dev/null || man 1 %%s @' \
%if 0
sed -i.rpmlint -n -e '1,5p' driver/xscreensaver.pam
%endif
# xscreensaver 6.12
sed -i.auth driver/xscreensaver.pam.in \
-e '\@auth.*include.*system-auth@s|^#||'
%__git commit -m "Use system-auth for auth again" -a
# xscreensaver 6.13
# and don't override xscreensaver.pam by system-wide /etc/pam.d/login or so
sed -i.nooverride driver/Makefile.in \
-e '\@src2.*PAM_DIR@s|src2=.*$|src2= ;\\|'
%__git commit -m "Don't override xscreensaver.pam by system-wide /etc/pam.d/login or so" -a
if [ -x %{_datadir}/libtool/config.guess ]; then
# use system-wide copy
cp -p %{_datadir}/libtool/config.{sub,guess} .
fi
%global PATCH_desc \
# Fix for desktop-file-utils 0.14+
%if 0%{?fedora} >= 9
sed -i.icon -e 's|xscreensaver\.xpm|xscreensaver|' \
driver/screensaver-properties.desktop.in
%endif
%__git commit -m "%PATCH_desc" -a || echo "Nothing changed"
%global PATCH_desc \
# Disable (don't build) some tests \
# apm: doesn't compile \
# mlstring: causes OOM - need check again
sed -i.test \
-e 's|test-apm[ \t][ \t]*t|t|' \
%if 0
-e 's|test-mlstring[ \t][ \t]*t|t|' \
%endif
driver/Makefile.in
%__git commit -m "%PATCH_desc" -a
%global PATCH_desc \
# test-fade: give more time between fading
sed -i.delay -e 's| delay = 1| delay = 3|' driver/test-fade.c
sed -i.delay -e 's| delay = 2| delay = 3|' driver/test-fade.c
%__git commit -m "%PATCH_desc" -a
%global PATCH_desc \
@ -549,6 +578,36 @@ sed -i.delay -e 's| delay = 1| delay = 3|' driver/test-fade.c
sed -i.delay -e 's|60 \* 15|20|' driver/test-grab.c
%__git commit -m "%PATCH_desc" -a
# Well, clang misinterpretates how gcc / autoconf uses -Wunknown-warning-option ....
sed -i 's|-Wunknown-warning-option|-Wfoo-bar-baz|' ax_pthread.m4
%__git commit -m "Really use unknowing warning option" -a
# xscreensaver 6.03: manually fix po/Makefile.in.in
# ca.po seems broken
pushd po
sed -i Makefile.in.in \
-e "\@^POFILES[ \t]*=@s@^.*@POTFILES\t=$(ls -1 *po | grep -v ca.po | while read f ; do echo -n -e " $f" ; done)@" \
-e "\@^GMOFILES[ \t]*=@s@^.*@GMOTFILES\t=$(ls -1 *po | grep -v ca.po | while read f ; do echo -n -e " ${f%.po}.gmo" ; done)@" \
-e "\@^CATALOGS[ \t]*=@s@^.*@CATALOGS\t=$(ls -1 *po | grep -v ca.po | while read f ; do echo -n -e " ${f%.po}.gmo" ; done)@" \
-e "\@^CATOBJEXT[ \t]*=@s@^.*@CATOBJEXT\t= .gmo@" \
-e "\@^INSTOBJEXT[ \t]*=@s@^.*@INSTOBJEXT\t= .mo@" \
-e "\@^MKINSTALLDIRS[ \t]*=@s@^.*@MKINSTALLDIRS\t= install -d@" \
%{nil}
popd
%__git commit -m "Manually fix po files entry" -a
# xscreensaver 6.13: test-wayland-lock: no rule for wayland-lock.o
sed -i driver/Makefile.in -e 's|test-wayland-lock$||'
%__git commit -m "Skip test-wayland-lock for now" -a
# %%configure adds --disable-dependency-tracking, don't fail with that for now
sed -i configure.ac \
-e "$(($(sed -n '\@ac_unrecognized_opts@=' configure.ac | head -n 1) + 2))s|exit 2|true exit 2|"
%__git commit -m "Don't make configure fail with unrecognized option" -a
touch config.rpath
# Add ACLOCAL_PATH for gettext 0.25 (ref: bug 2366708)
export ACLOCAL_PATH=%{_datadir}/gettext/m4/
aclocal
autoconf
autoheader
@ -574,6 +633,8 @@ export PATH=$(pwd):$PATH
# xdg-open
ln -sf /bin/true xdg-open
popd
# gtk-update-icon-cache
ln -sf /bin/true gtk-update-icon-cache
# Set optflags first
%set_build_flags
@ -585,15 +646,7 @@ export CFLAGS="$CFLAGS -Wno-long-long"
export CFLAGS="$CFLAGS -Wno-variadic-macros"
%if 0%{?use_clang_as_cc}
export CC=clang
export CFLAGS="$(echo $CFLAGS | sed -e 's|-fstack-protector-strong|-fstack-protector|')"
export CFLAGS="$(echo $CFLAGS | sed -e 's|-specs=[^ \t][^ \t]*||g')"
export CFLAGS="$(echo $CFLAGS | sed -e 's|-flto=auto -ffat-lto-objects |-flto |')"
export CFLAGS="$CFLAGS -Wno-gnu-statement-expression"
export LDFLAGS="$(echo $LDFLAGS | sed -e 's|-specs=[^ \t][^ \t]*||g')"
%if 0%{?fedora} >= 33
export LDFLAGS="$LDFLAGS -flto"
%endif
%endif
%if 0%{?use_gcc_strict_sanitize}
@ -614,12 +667,17 @@ export CC="${CC} -fanalyzer"
%global _smp_mflags -j1
%endif
# Show 1/100sec on blurb
export CFLAGS="$CFLAGS -DBLURB_CENTISECONDS"
CONFIG_OPTS="--prefix=%{_prefix} --with-pam --without-shadow --without-kerberos"
CONFIG_OPTS="$CONFIG_OPTS --without-setuid-hacks"
CONFIG_OPTS="$CONFIG_OPTS --with-text-file=%{default_text}"
CONFIG_OPTS="$CONFIG_OPTS --with-x-app-defaults=%{_datadir}/X11/app-defaults"
CONFIG_OPTS="$CONFIG_OPTS --disable-root-passwd"
CONFIG_OPTS="$CONFIG_OPTS --with-browser=xdg-open"
# 6.12
CONFIG_OPTS="$CONFIG_OPTS --with-wayland"
# From xscreensaver 5.12, login-manager option is on by default
# For now, let's enable it on F-14 and above
@ -637,7 +695,9 @@ popd
CONFIG_OPTS="$CONFIG_OPTS --enable-pam-check-account-type"
# xscreensaver 5.30
%if 0%{?enable_animation}
CONFIG_OPTS="$CONFIG_OPTS --with-record-animation"
%endif
%if 0%{?support_setcap}
CONFIG_OPTS="$CONFIG_OPTS --with-setcap-hacks"
@ -651,7 +711,7 @@ CONFIG_OPTS="$CONFIG_OPTS --with-systemd"
# CONFIG_OPTS="$CONFIG_OPTS --with-login-manager"
%if 0%{?use_clang_analyze} >= 1
%global _configure scan-build --use-analyzer %_bindir/clang ./configure
#%%global _configure scan-build --use-analyzer %_bindir/clang --use-cc %_bindir/clang -v -v -v ./configure
%endif
unlink configure || :
@ -663,56 +723,52 @@ rm -f configure
sed -i driver/XScreenSaver.ad -e "s|$(pwd)/TMPBINDIR/||"
%if %{update_po}
#( cd po ; make generate_potfiles_in update-po )
# ???
pushd po
make generate_potfiles_in
cp -p POTFILES.in ..
# Workaround for ui file
sed -i ../POTFILES.in POTFILES.in POTFILES \
-e '\@-demo\.ui@s|^\([ \t]*\)\(.*\)$|\1[type: gettext/glade]\2|'
# The following hack still seems needed
sed -i POTFILES.in POTFILES \
-e '\@driver/.*\.ui@s|^\([ \t]*\)\(.*\)$|\1[type: gettext/glade]\2|'
# Update POTFILES.in, the copy to the original directory
cp -p POTFILES.in ../../po/
git commit -m "POTFILES.in regenerated" -a || true
( cd .. ; ./config.status )
cp -p POTFILES{.in,} ..
make xscreensaver.pot srcdir=..
( export srcdir=.. ; make update-po )
rm -f ../POTFILES_in
make update-po
rm -f ../POTFILES{.in,}
popd
( cp -p ../po/*.po po/)
( cp -p po/* ../po/)
( ( cd ../po ; git add *.po ; git commit -m "po regenerated" ) || true )
%endif
# Update po
#cp -p %{SOURCE100} po/
%if 0%{?use_clang_analyze} >= 1
%global __make scan-build --use-analyzer %_bindir/clang -v -v -v -o clang-analyze make
%global __make scan-build --use-analyzer %_bindir/clang --use-cc %_bindir/clang -v -v -v -o clang-analyze make
mkdir clang-analyze
%endif
# Workaround for 5.39
mkdir -p hacks/images || true
if [ ! -f hacks/images/Makefile ] ; then
cat > hacks/images/Makefile <<EOF
default:
install:
EOF
fi
# Workaround end
# From 5.45: temporary workaround for installation issue
cp -p ../driver/xscreensaver-demo.ui driver/
BUILD_STATUS=0
%if 0%{?use_clang_analyze} < 1
# Workaround for ppc64 build failure
make -C ../hacks/images -j1
make -C ../hacks/images || BUILD_STATUS=1
for dir in \
utils driver ../hacks/images hacks hacks/glx po
utils driver ../hacks/images hacks/images hacks hacks/glx po
do
%__make %{?_smp_mflags} -k \
-C $dir \
GMSGFMT="msgfmt --statistics"
GMSGFMT="msgfmt --statistics" || BUILD_STATUS=1
done
%endif
# Again
%__make %{?_smp_mflags} -k
%__make %{?_smp_mflags} -k || BUILD_STATUS=1
if [ $BUILD_STATUS != 0 ] ; then
exit $BUILD_STATUS
fi
%if %{modular_conf}
# Make XScreenSavar.ad modular (bug 200881)
@ -732,7 +788,9 @@ cat driver/XScreenSaver.ad | sed -e '1,/\\n$/d' > $CONFD/XScreenSaver.ad.tail
# Seperate XScreenSaver.ad.hacks into each hacks
cd $CONFD
mkdir hacks.conf.d ; cp -p XScreenSaver.ad.hacks hacks.conf.d/xscreensaver.conf
mkdir hacks.conf.d
cat XScreenSaver.ad.hacks | grep -v GL: > hacks.conf.d/xscreensaver-extras.conf
cat XScreenSaver.ad.hacks | grep GL: > hacks.conf.d/xscreensaver-gl-extras.conf
cd ..
%endif
@ -769,6 +827,12 @@ cd $archdir
archdir=`sh ./config.guess`
cd $archdir
# Same as %%build
export PATH=/usr/bin:$PATH
pushd TMPBINDIR/
export PATH=$(pwd):$PATH
popd
rm -rf ${RPM_BUILD_ROOT}
# We have to make sure these directories exist,
@ -776,7 +840,7 @@ rm -rf ${RPM_BUILD_ROOT}
#
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/pam.d
make install_prefix=$RPM_BUILD_ROOT INSTALL="install -c -p" install
make DESTDIR=$RPM_BUILD_ROOT INSTALL="install -c -p" install
# Kill OnlyShowIn=GNOME; on F-11+ (bug 483495)
desktop-file-install --vendor "" --delete-original \
@ -791,6 +855,7 @@ desktop-file-install --vendor "" --delete-original \
--remove-category Appearance \
--remove-category AdvancedSettings \
--remove-category Application \
--remove-category Screensaver \
%endif
$RPM_BUILD_ROOT%{_datadir}/applications/*.desktop
@ -798,7 +863,8 @@ desktop-file-install --vendor "" --delete-original \
# It does this by parsing the output of a dummy run of "make install".
list_files() {
echo "%%defattr(-,root,root,-)"
make -s install_prefix=${RPM_BUILD_ROOT} INSTALL=true "$@" \
make -s DESTDIR=${RPM_BUILD_ROOT} INSTALL=true "$@" \
| sed -e '\@gtk-update-icon-cache@d' \
| sed -n -e 's@.* \(/[^ ]*\)$@\1@p' \
| sed -e "s@^${RPM_BUILD_ROOT}@@" \
-e "s@/[a-z][a-z]*/\.\./@/@" \
@ -816,6 +882,7 @@ dd=%{_builddir}/%{name}-%{mainversion}%{?beta_ver}
rm -f $dd/*.files
( cd hacks ; list_files install ) > $dd/extras.files
( cd hacks/fonts ; list_files install ) >> $dd/extras.files
( cd hacks/glx ; list_files install ) > $dd/gl-extras.files
( cd driver ; list_files install ) > $dd/base.files
@ -824,6 +891,8 @@ sed -i $dd/gl-extras.files \
-e '\@sonar$@s|^|%%attr(0755,root,root) %%caps(cap_net_raw=p)|' \
%{nil}
%endif
# Own directory
echo "%%dir %{_datadir}/fonts/xscreensaver" >> $dd/extras.files
# Move xscreensaver-gettext-foo, xscreensaver-text to extras-base
# (bug 668427)
@ -831,11 +900,13 @@ sed -i $dd/gl-extras.files \
echo "%%defattr(-,root,root,-)" >> $dd/extras-base.files
for target in \
/xscreensaver-getimage \
/xscreensaver-text
/xscreensaver-text \
/fonts/xscreensaver \
%{nil}
do
grep -v $target $dd/base.files > $dd/base.files.new
grep $target $dd/base.files >> $dd/extras-base.files
mv $dd/base.files{.new,}
grep -v $target $dd/extras.files > $dd/extras.files.new
grep $target $dd/extras.files >> $dd/extras-base.files
mv $dd/extras.files{.new,}
done
%endif
@ -844,12 +915,8 @@ done
%if %{modular_conf}
echo "%%defattr(-,root,root,-)" >> $dd/gl-base.files
sed -i -e '/xscreensaver-gl-helper/d' $dd/gl-extras.files
pushd $RPM_BUILD_ROOT
for dir in `find . -name \*xscreensaver-gl-helper\*` ; do
echo "${dir#.}" >> $dd/gl-base.files
done
popd
grep xscreensaver-gl-visual $dd/gl-extras.files >> $dd/gl-base.files
sed -i -e '/xscreensaver-gl-visual/d' $dd/gl-extras.files
sed -i -e 's|^\(%{_mandir}.*\)$|\1*|' $dd/gl-base.files
%endif
@ -864,7 +931,7 @@ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/xscreensaver
mkdir -p $RPM_BUILD_ROOT%{_datadir}/xscreensaver/hacks.conf.d
cp -p xscreensaver/XScreenSaver.ad* \
$RPM_BUILD_ROOT%{_sysconfdir}/xscreensaver
cp -p xscreensaver/hacks.conf.d/xscreensaver.conf \
cp -p xscreensaver/hacks.conf.d/xscreensaver*.conf \
$RPM_BUILD_ROOT%{_datadir}/xscreensaver/hacks.conf.d/
for adfile in xscreensaver/XScreenSaver.ad.* ; do
@ -874,8 +941,10 @@ done
echo -n "%%verify(not size md5 mtime) " >> $dd/base.files
echo "%{_sysconfdir}/xscreensaver/XScreenSaver.ad" >> \
$dd/base.files
echo "%{_datadir}/xscreensaver/hacks.conf.d/xscreensaver.conf" \
>> $dd/base.files
echo "%{_datadir}/xscreensaver/hacks.conf.d/xscreensaver-extras.conf" \
>> $dd/extras.files
echo "%{_datadir}/xscreensaver/hacks.conf.d/xscreensaver-gl-extras.conf" \
>> $dd/gl-extras.files
# Check symlink
rm -f $RPM_BUILD_ROOT%{_datadir}/X11/app-defaults/XScreenSaver
@ -1082,6 +1151,30 @@ fi
exit 0
%post extras
%if %{modular_conf}
%{_sbindir}/update-xscreensaver-hacks
%endif
exit 0
%postun extras
%if %{modular_conf}
%{_sbindir}/update-xscreensaver-hacks
%endif
exit 0
%post gl-extras
%if %{modular_conf}
%{_sbindir}/update-xscreensaver-hacks
%endif
exit 0
%postun gl-extras
%if %{modular_conf}
%{_sbindir}/update-xscreensaver-hacks
%endif
exit 0
%files
%defattr(-,root,root,-)
@ -1126,6 +1219,180 @@ exit 0
%endif
%changelog
* Sat Dec 06 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.13-1
- Update to 6.13
* Thu Nov 06 2025 Dominik Mierzejewski <dominik@greysector.net> - 1:6.12-5
- Rebuilt for FFmpeg 8
* Wed Oct 15 2025 Dominik Mierzejewski <dominik@greysector.net> - 1:6.12-4
- Fixed build with FFmpeg 8
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.12-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Fri Jul 11 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.12-2
- Fix heap buffer overflow on xscreensaver-settings when reading previous hack
* Fri Jul 11 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.12-1
- Update to 6.12
* Mon May 26 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.10.1-2
- Add ACLOCAL_PATH for gettext 0.25 (ref: bug 2366708)
* Tue Apr 29 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.10.1-1
- Update to 6.10.1
* Sat Feb 01 2025 Björn Esser <besser82@fedoraproject.org> - 1:6.09-5
- Add explicit BR: libxcrypt-devel
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.09-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Mon Sep 23 2024 Fabio Valentini <decathorpe@gmail.com> - 1:6.09-3
- Rebuild for ffmpeg 7
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.09-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Tue Jun 11 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.09-1
- Update to 6.09
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.08-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Tue Oct 17 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.08-1
- Update to 6.08
* Thu Sep 7 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.07-4
- Fix compilation to make --with-record-animation really work
* Sun Sep 3 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.07-3
- Fix patch again
* Fri Sep 1 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.07-2
- Update to 6.07
- make_ximage: avoid integer overflow on left shift
- convert_ximage_to_rgba32: likewise
* Sat Jul 22 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.06-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Mar 2 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.06-3
- distort_reset: restrict radius by xgwa correctly (bug 2174626)
* Wed Feb 15 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.06-2
- Make -base subpackage require -gl-base (debian bug 1030659)
- switch_page_cb: backport debian fix for DPMS settings issue
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.06-1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Mon Dec 12 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.06-1
- Update to 6.06
* Sun Nov 6 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.05-3
- Kill no longer needed workaround stuff
- hacks/fonts: fix installation on out-of-source build
- driver/Makefile.in: fix GLIB_COMPILE_RESOURCES source
- hacks/Makefile.in: fix driver/prefs.o output location
* Sat Oct 22 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.05-2
- demo-Gtk.c/populate_prefs_page: use correct pointer for pref_changed_cb
* Sat Oct 22 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.05-1
- Update to 6.05, now demo using GTK3
* Wed Aug 31 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.04-2
- watchdog_timer: don't relaunch hacks when unblanking
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.04-1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jun 6 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.04-1
- Update to 6.04
* Sun Mar 27 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.03-3
- print_xinput_event: don't print raw_values (instead of
checking if XIRawEvent.raw_values is available)
* Thu Mar 24 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.03-2
- Split hacks.conf.d/xscreensaver.conf into each subpackage
* Fri Mar 4 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.03-1
- Update to 6.03
- All patches sent to the upstream was merged, yeah!
- print_xinput_event: check if XIRawEvent.raw_values is available
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.02-4.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Nov 4 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.02-4
- marbling: fix signedness for x86_64 and aarch64 on vectorization
- build marbling on aarch64 again
* Mon Nov 1 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.02-3
- get_egl_config: reset loop counter with prefersGLSL option each loop
(ref: bug 1983483)
* Sun Oct 17 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.02-2
- xscreensaver_systemd_loop: avoid use-after-free on for_each loop
* Fri Oct 15 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.02-1
- Update to 6.02
- All patches sent to the upstream was merged, yeah!
- aarch64: don't build marbling for now, does not build
* Sun Oct 3 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.01-5
- Replace two patch with ones from the upstream
- xscreensaver-6.01-0001-main_loop-consistently-check-init-file-after-some-ac.patch
- xscreensaver-6.01-0002-main_loop-check-init-file-saver_mode.patch
- Modify upstream patch to make force_blank_p prefer than blanking_disabled_p
- xscreesaver-text: fix uninitialize value usage for speed and update for lscpu new format
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.01-4.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Sun Jul 18 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.01-4
- Embed SOURCE_DATE_EPOCH to version.h
* Thu Jul 8 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.01-3
- window_init: check if asterisk font is available and provide fallback character
(bug 1980173)
- destroy_window: check ws->xftdraw to avoid nullptr dereference (bug 1966287)
* Tue Jul 6 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.01-2
- main_loop: consistently check init file after some activitity occurred
- main_loop: check init file saver_mode (bug 1978971)
* Sat Jun 19 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.01-1
- Update to 6.01
* Wed May 12 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.00-5
- input_event_to_xlib: don't call duplicate_xinput_event_p when debug mode
* Wed May 5 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.00-4
- fontglide.c: drain_input: terminate with null explicitly
* Tue May 4 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.00-3
- init_xinput: remove duplicate event for multiple screen
patch from the upstream (bug 1954884)
* Mon May 3 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.00-2
- xscreensaver-text use en_US locale for lscpu (bug 1956089)
- dialog.c: window_init: show more version string (bug 1956262)
- Exclude xfce4-screensaver for xscreensaver-autostart (bug 1955993)
- fontglide.c: pick_font_1 exclude substitution rectagle glyph
* Fri Apr 2 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:6.00-1
- Update to 6.00
* Sat Jan 30 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:5.45-4
- Bump release and rebuild
* Thu Jan 28 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:5.45-3.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Dec 28 2020 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:5.45-3
- Fix up gcc -Wstringop or -Wformat-overflow warnings
- Make xscreensaver logo or ok button appear on lock screen