diff --git a/.cvsignore b/.cvsignore index e69de29..8673d4e 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +xscreensaver-5.00.tar.gz diff --git a/sources b/sources index e69de29..d1f1a6f 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +2c26877fb0acd508b9a726dce6a77f78 xscreensaver-5.00.tar.gz diff --git a/xscreensaver-5.00-locale-safety.patch b/xscreensaver-5.00-locale-safety.patch new file mode 100644 index 0000000..cd89bad --- /dev/null +++ b/xscreensaver-5.00-locale-safety.patch @@ -0,0 +1,12 @@ +--- xscreensaver-5.00/hacks/screenhack.c.locale-safety 2006-05-24 07:09:58.000000000 +0900 ++++ xscreensaver-5.00/hacks/screenhack.c 2006-05-26 01:53:18.000000000 +0900 +@@ -170,6 +170,9 @@ + const char *cmp_locale; + int j = 0; + ++ /* current_locale might be NULL */ ++ if (!current_locale || !*current_locale) return; ++ + while ((cmp_locale = change_locale[j])) + { + if (!strncmp(current_locale, cmp_locale, strlen(cmp_locale))) diff --git a/xscreensaver-5.00-matherr-utils.patch b/xscreensaver-5.00-matherr-utils.patch new file mode 100644 index 0000000..2698a14 --- /dev/null +++ b/xscreensaver-5.00-matherr-utils.patch @@ -0,0 +1,20 @@ +--- xscreensaver-5.00/utils/erase.c.matherr2 2006-03-28 16:07:37.000000000 +0900 ++++ xscreensaver-5.00/utils/erase.c 2006-05-26 01:45:00.000000000 +0900 +@@ -451,7 +451,7 @@ + { + st->cols = 10 + random() % 30; + size = st->width / st->cols; +- rows = (st->height / size) + 1; ++ rows = (size ? (st->height / size) : 0) + 1; + st->nlines = st->cols * rows; + st->lines = (int *) calloc (st->nlines, sizeof(*st->lines)); + +@@ -469,7 +469,7 @@ + } + + size = st->width / st->cols; +- rows = (st->height / size) + 1; ++ rows = (size ? (st->height / size) : 0) + 1; + + for (i = st->nlines * st->prev_ratio; + i < st->nlines * st->ratio; diff --git a/xscreensaver-5.00b5-change-defaults.patch b/xscreensaver-5.00b5-change-defaults.patch new file mode 100644 index 0000000..4950e09 --- /dev/null +++ b/xscreensaver-5.00b5-change-defaults.patch @@ -0,0 +1,84 @@ +--- xscreensaver-5.00b5/driver/XScreenSaver.ad.in.change-defaults 2006-05-18 09:12:56.000000000 +0900 ++++ xscreensaver-5.00b5/driver/XScreenSaver.ad.in 2006-05-18 15:05:31.000000000 +0900 +@@ -37,24 +37,24 @@ + *dpmsStandby: 2:00:00 + *dpmsSuspend: 2:00:00 + *dpmsOff: 4:00:00 +-*grabDesktopImages: True ++*grabDesktopImages: False + *grabVideoFrames: False + *chooseRandomImages: @DEFAULT_IMAGES_P@ + *imageDirectory: @DEFAULT_IMAGE_DIRECTORY@ + *nice: 10 + *memoryLimit: 0 +-*lock: False ++*lock: True + *verbose: False + *timestamp: True + *fade: True + *unfade: False + *fadeSeconds: 0:00:03 + *fadeTicks: 20 +-*splash: True ++*splash: False + *splashDuration: 0:00:05 + *visualID: default + *captureStderr: True +-*ignoreUninstalledPrograms: False ++*ignoreUninstalledPrograms: True + + *textMode: file + *textLiteral: XScreenSaver +@@ -74,7 +74,7 @@ + + ! Set this to True if you are experiencing longstanding XFree86 bug #421 + ! (xscreensaver not covering the whole screen) +-GetViewPortIsFullOfLies: False ++GetViewPortIsFullOfLies: True + + ! This is what the "Demo" button on the splash screen runs (/bin/sh syntax.) + *demoCommand: xscreensaver-demo +@@ -93,13 +93,11 @@ + ! + ! Gnome 2.4, 2.6: (yelp can't display man pages, as of 2.6.3) + ! +-@GNOME24@*loadURL: gnome-open '%s' + @GNOME24@*manualCommand: gnome-terminal --title '%s manual' \ + @GNOME24@ --command '/bin/sh -c "man %s; read foo"' + ! + ! Gnome 2.2: + ! +-@GNOME22@*loadURL: gnome-url-show '%s' + @GNOME22@*manualCommand: gnome-terminal --title '%s manual' \ + @GNOME22@ --command '/bin/sh -c "man %s; read foo"' + ! +@@ -110,10 +108,10 @@ + ! + ! non-Gnome systems: + ! +-@NOGNOME@*loadURL: firefox '%s' || mozilla '%s' || netscape '%s' + @NOGNOME@*manualCommand: xterm -sb -fg black -bg gray75 -T '%s manual' \ + @NOGNOME@ -e /bin/sh -c 'man "%s" ; read foo' + ++*loadURL: htmlview '%s' + + ! The format used for printing the date and time in the password dialog box + ! (see the strftime(3) manual page for details.) +@@ -229,7 +227,7 @@ + epicycle -root \n\ + interference -root \n\ + truchet -root \n\ +- bsod -root \n\ ++- bsod -root \n\ + crystal -root \n\ + discrete -root \n\ + kumppa -root \n\ +@@ -455,7 +453,7 @@ + *Dialog.borderWidth: 1 + *Dialog.shadowThickness: 2 + +-*passwd.heading.label: XScreenSaver %s ++*passwd.heading.label: Screen Locked + *passwd.body.label: Please enter your password. + *passwd.login.label: New Login + *passwd.user.label: Username: diff --git a/xscreensaver-5.00b5-dont-allow-root.patch b/xscreensaver-5.00b5-dont-allow-root.patch new file mode 100644 index 0000000..65f52d2 --- /dev/null +++ b/xscreensaver-5.00b5-dont-allow-root.patch @@ -0,0 +1,18 @@ +--- xscreensaver-5.00b5/driver/passwd-pam.c.dont-allow-root 2006-05-17 11:14:58.000000000 +0900 ++++ xscreensaver-5.00b5/driver/passwd-pam.c 2006-05-18 15:13:39.000000000 +0900 +@@ -288,6 +288,7 @@ + goto DONE; + } + ++#if 0 + /* If that didn't work, set the user to root, and try to authenticate again. + */ + if (user) free (user); +@@ -300,6 +301,7 @@ + if (status != PAM_SUCCESS) goto DONE; + + PAM_NO_DELAY(pamh); ++#endif + + set = block_sigchld(); + status = pam_authenticate (pamh, 0); diff --git a/xscreensaver-5.00b5-include-directory.patch b/xscreensaver-5.00b5-include-directory.patch new file mode 100644 index 0000000..0f702e9 --- /dev/null +++ b/xscreensaver-5.00b5-include-directory.patch @@ -0,0 +1,166 @@ +--- xscreensaver-5.00b5/hacks/glx/Makefile.in.include-dir 2006-05-18 09:22:21.000000000 +0900 ++++ xscreensaver-5.00b5/hacks/glx/Makefile.in 2006-05-18 15:21:02.000000000 +0900 +@@ -207,6 +207,7 @@ + install-program:: $(EXES) + @exes="$(HACK_EXES)" ; \ + idir="$(install_prefix)$(HACKDIR)" ; \ ++ echo "Installing hack programs in the directory $(install_prefix)$(HACKDIR)" ;\ + if [ "$$exes" != "" ]; then \ + if [ ! -d $$idir ]; then \ + $(INSTALL_DIRS) $$idir ; \ +@@ -220,6 +221,7 @@ + # the xscreensaver-gl-helper program, in $bindir + install-program:: $(EXES) + @exes="@GL_UTIL_EXES@" ; \ ++ echo "Installing gl-helper program in the directory $(install_prefix)$(bindir)" ;\ + idir="$(install_prefix)$(bindir)" ; \ + if [ "$$exes" != "" ]; then \ + if [ ! -d $$idir ]; then \ +@@ -246,6 +248,7 @@ + TH=".TH XScreenSaver $(mansuffix) \"$$V\" \"X Version 11\"" ; \ + echo "installing man pages: $$TH" ; \ + \ ++ echo "Installing manual pages in the directory $(install_prefix)$(manNdir)" ; \ + if [ ! -d $(install_prefix)$(manNdir) ]; then \ + $(INSTALL_DIRS) $(install_prefix)$(manNdir) ; \ + fi ; \ +@@ -266,6 +269,7 @@ + + install-xml: + @dest=$(install_prefix)$(HACK_CONF_DIR) ; \ ++ echo "Installing XML config files in the directory $(install_prefix)$(HACK_CONF_DIR)" ;\ + if [ ! -d $$dest ]; then \ + $(INSTALL_DIRS) $$dest ; \ + fi ; \ +--- xscreensaver-5.00b5/hacks/Makefile.in.include-dir 2006-05-18 09:22:18.000000000 +0900 ++++ xscreensaver-5.00b5/hacks/Makefile.in 2006-05-18 15:21:02.000000000 +0900 +@@ -254,6 +254,7 @@ + @if [ ! -d $(install_prefix)$(HACKDIR) ]; then \ + $(INSTALL_DIRS) $(install_prefix)$(HACKDIR) ; \ + fi ; \ ++ echo "Installing hack programs in the directory $(install_prefix)$(HACKDIR)" ;\ + for program in $(NEXES); do \ + echo $(INSTALL_PROGRAM) $$program \ + $(install_prefix)$(HACKDIR)/$$program ; \ +@@ -327,6 +328,7 @@ + TH=".TH XScreenSaver $(mansuffix) \"$$V\" \"X Version 11\"" ; \ + echo "installing man pages: $$TH" ; \ + \ ++ echo "Installing manual pages in the directory $(install_prefix)$(manNdir)" ;\ + if [ ! -d $(install_prefix)$(manNdir) ]; then \ + $(INSTALL_DIRS) $(install_prefix)$(manNdir) ; \ + fi ; \ +@@ -347,6 +349,7 @@ + + install-xml: + @dest=$(install_prefix)$(HACK_CONF_DIR) ; \ ++ echo "Installing XML config documents in the directory $(HACK_CONF_DIR)" ;\ + if [ ! -d $$dest ]; then \ + $(INSTALL_DIRS) $$dest ; \ + fi ; \ +--- xscreensaver-5.00b5/driver/Makefile.in.include-dir 2006-05-18 09:22:18.000000000 +0900 ++++ xscreensaver-5.00b5/driver/Makefile.in 2006-05-18 15:21:02.000000000 +0900 +@@ -26,6 +26,7 @@ + GTK_DATADIR = @GTK_DATADIR@ + GTK_APPDIR = $(GTK_DATADIR)/applications + GTK_ICONDIR = $(GTK_DATADIR)/pixmaps ++SAVER_DATADIR = $(GTK_DATADIR)/xscreensaver + GTK_GLADEDIR = $(GTK_DATADIR)/xscreensaver/glade + HACK_CONF_DIR = @HACK_CONF_DIR@ + +@@ -290,6 +291,7 @@ + $$e "" ;\ + fi ; \ + fi ; \ ++ echo "Installing driver programs in the directory $(install_prefix)$(bindir)" ;\ + echo $$inst xscreensaver $(install_prefix)$(bindir)/xscreensaver ; \ + $$inst xscreensaver $(install_prefix)$(bindir)/xscreensaver + @for exe in xscreensaver-command xscreensaver-demo \ +@@ -302,6 +304,7 @@ + @if [ ! -d $(install_prefix)$(AD_DIR) ]; then \ + $(INSTALL_DIRS) $(install_prefix)$(AD_DIR) ; \ + fi ++ @echo "Installing XScreenSaver.ad in the directory $(install_prefix)$(AD_DIR)" + @-echo $(INSTALL_DATA) XScreenSaver.ad \ + $(install_prefix)$(AD_DIR)/XScreenSaver ; \ + if $(INSTALL_DATA) XScreenSaver.ad \ +@@ -375,6 +378,7 @@ + TH=".TH XScreenSaver $(mansuffix) \"$$V\" \"X Version 11\"" ; \ + echo "installing man pages: $$TH" ; \ + \ ++ echo "Installing manual pages in the directory $(install_prefix)$(manNdir)" ; \ + if [ ! -d $(install_prefix)$(manNdir) ]; then \ + $(INSTALL_DIRS) $(install_prefix)$(manNdir) ; \ + fi ; \ +@@ -418,7 +422,15 @@ + dir="$(install_prefix)$(PAM_DIR)" ; \ + conf="$(PAM_CONF)" ; \ + \ ++ \ ++ if [ ! -d $$dir -a ! -f $$conf ] ; then \ ++ echo $(INSTALL_DIRS) $$dir ; \ ++ $(INSTALL_DIRS) $$dir ; \ ++ fi ; \ ++ \ ++ \ + if [ -d $$dir ] ; then \ ++ echo "Installing pam script file in the directory $(install_prefix)$(PAM_DIR)" ;\ + \ + if [ -f $$dir/xdm ]; then \ + src2=$$dir/xdm ; \ +@@ -491,6 +503,7 @@ + # into /usr/share/applications/ + install-gnome:: screensaver-properties.desktop + @if [ "$(GTK_DATADIR)" != "" ]; then \ ++ echo "Installing desktop text in the directory $(install_prefix)$(GTK_APPDIR)" ;\ + if [ ! -d "$(install_prefix)$(GTK_APPDIR)" ]; then \ + echo $(INSTALL_DIRS) "$(install_prefix)$(GTK_APPDIR)" ;\ + $(INSTALL_DIRS) "$(install_prefix)$(GTK_APPDIR)" ;\ +@@ -507,6 +520,7 @@ + # into /usr/share/pixmaps/ + install-gnome:: $(LOGO) + @if [ "$(GTK_DATADIR)" != "" ]; then \ ++ echo "Installing X pixmap image file in the directory $(install_prefix)$(GTK_ICONDIR)" ;\ + if [ ! -d "$(install_prefix)$(GTK_ICONDIR)" ]; then \ + echo $(INSTALL_DIRS) "$(install_prefix)$(GTK_ICONDIR)" ;\ + $(INSTALL_DIRS) "$(install_prefix)$(GTK_ICONDIR)" ;\ +@@ -522,6 +536,15 @@ + # into /usr/share/xscreensaver/glade/ + install-gnome:: + @if [ "$(GTK_GLADEDIR)" != "" ]; then \ ++ \ ++ \ ++ echo "Creating the directory $(install_prefix)$(SAVER_DATADIR)" ;\ ++ if [ ! -d "$(install_prefix)$(SAVER_DATADIR)" ] ; then \ ++ echo $(INSTALL_DIRS) "$(install_prefix)$(SAVER_DATADIR)" ;\ ++ $(INSTALL_DIRS) "$(install_prefix)$(SAVER_DATADIR)" ;\ ++ fi ; \ ++ \ ++ echo "Installing PNG image file in the directory $(install_prefix)$(GTK_GLADEDIR)" ;\ + if [ ! -d "$(install_prefix)$(GTK_GLADEDIR)" ]; then \ + echo $(INSTALL_DIRS) "$(install_prefix)$(GTK_GLADEDIR)" ;\ + $(INSTALL_DIRS) "$(install_prefix)$(GTK_GLADEDIR)" ;\ +@@ -539,6 +562,15 @@ + # into /usr/share/xscreensaver/glade/ + install-gnome:: xscreensaver-demo.glade2 + @if [ "$(GTK_GLADEDIR)" != "" ]; then \ ++ \ ++ \ ++ echo "Creating the directory $(install_prefix)$(SAVER_DATADIR)" ;\ ++ if [ ! -d "$(install_prefix)$(SAVER_DATADIR)" ] ; then \ ++ echo $(INSTALL_DIRS) "$(install_prefix)$(SAVER_DATADIR)" ;\ ++ $(INSTALL_DIRS) "$(install_prefix)$(SAVER_DATADIR)" ;\ ++ fi ; \ ++ \ ++ echo "Installing XML glade2 file in the directory $(install_prefix)$(GTK_GLADEDIR)" ;\ + if [ ! -d "$(install_prefix)$(GTK_GLADEDIR)" ]; then \ + echo $(INSTALL_DIRS) "$(install_prefix)$(GTK_GLADEDIR)" ;\ + $(INSTALL_DIRS) "$(install_prefix)$(GTK_GLADEDIR)" ;\ +@@ -605,6 +637,7 @@ + # /usr/share/xscreensaver/config/README + install-xml: + @dest=$(install_prefix)$(HACK_CONF_DIR) ; \ ++ echo "Installing README text in the directory $(install_prefix)$(HACK_CONF_DIR)" ;\ + if [ ! -d $$dest ]; then \ + $(INSTALL_DIRS) $$dest ; \ + fi ; \ diff --git a/xscreensaver-5.00b5-sanitize-hacks.patch b/xscreensaver-5.00b5-sanitize-hacks.patch new file mode 100644 index 0000000..161cdfa --- /dev/null +++ b/xscreensaver-5.00b5-sanitize-hacks.patch @@ -0,0 +1,109 @@ +--- xscreensaver-5.00b5/hacks/barcode.c.sanitize-hacks 2006-04-06 15:40:32.000000000 +0900 ++++ xscreensaver-5.00b5/hacks/barcode.c 2006-05-18 15:09:13.000000000 +0900 +@@ -117,8 +117,6 @@ + "belly", + "bliss", + "bogosity", +- "boobies", +- "boobs", + "booty", + "bread", + "bubba", +@@ -131,7 +129,6 @@ + "children", + "chocolate", + "CLONE", +- "cock", + "constriction", + "contrition", + "cop", +@@ -171,7 +168,6 @@ + "fear", + "fever", + "filth", +- "flatulence", + "fluff", + "fnord", + "freedom", +@@ -188,9 +184,7 @@ + "happiness", + "hate", + "helplessness", +- "hemorrhoid", + "hermaphrodite", +- "heroin", + "heroine", + "hope", + "hysteria", +@@ -265,7 +259,6 @@ + "punishment", + "punk rock", + "punk", +- "pussy", + "quagmire", + "quarantine", + "quartz", +@@ -274,7 +267,6 @@ + "rage", + "readout", + "reality", +- "rectum", + "reject", + "rejection", + "respect", +@@ -333,8 +325,6 @@ + "vegetarian", + "venom", + "verifiability", +- "viagra", +- "vibrator", + "victim", + "vignette", + "villainy", +--- xscreensaver-5.00b5/hacks/glx/glsnake.c.sanitize-hacks 2006-05-04 04:39:21.000000000 +0900 ++++ xscreensaver-5.00b5/hacks/glx/glsnake.c 2006-05-18 15:09:13.000000000 +0900 +@@ -535,7 +535,7 @@ + PIN, ZERO, RIGHT, RIGHT, ZERO, PIN, PIN, ZERO, PIN, PIN, ZERO, + RIGHT, ZERO } + }, +- { "k's turd", ++ { "caterpillar", + { RIGHT, RIGHT, PIN, RIGHT, LEFT, RIGHT, PIN, RIGHT, LEFT, + RIGHT, PIN, RIGHT, LEFT, RIGHT, PIN, RIGHT, LEFT, RIGHT, PIN, + RIGHT, LEFT, RIGHT, PIN, ZERO } +@@ -560,22 +560,22 @@ + ZERO, PIN, ZERO, ZERO, ZERO, ZERO, PIN, ZERO, ZERO, ZERO, ZERO, + ZERO, ZERO, ZERO } + }, +- { "kissy box", ++ { "ribbon", + { PIN, ZERO, ZERO, ZERO, PIN, ZERO, ZERO, ZERO, ZERO, ZERO, + ZERO, PIN, ZERO, ZERO, ZERO, ZERO, PIN, ZERO, ZERO, ZERO, ZERO, + ZERO, PIN, ZERO } + }, +- { "erect penis", /* thanks benno */ ++ { "shuffle board", /* thanks benno */ + { PIN, ZERO, PIN, PIN, ZERO, ZERO, PIN, ZERO, ZERO, ZERO, PIN, + PIN, ZERO, ZERO, ZERO, RIGHT, ZERO, ZERO, ZERO, ZERO, ZERO, ZERO, + ZERO, ZERO } + }, +- { "flaccid penis", ++ { "anchor", + { PIN, ZERO, PIN, PIN, ZERO, ZERO, PIN, ZERO, ZERO, ZERO, PIN, + PIN, ZERO, ZERO, ZERO, RIGHT, PIN, ZERO, ZERO, ZERO, ZERO, ZERO, + ZERO, ZERO } + }, +- { "vagina", ++ { "engagement ring", + { RIGHT, ZERO, ZERO, ZERO, RIGHT, ZERO, ZERO, PIN, ZERO, ZERO, + LEFT, ZERO, ZERO, ZERO, LEFT, ZERO, LEFT, PIN, LEFT, PIN, RIGHT, + PIN, RIGHT, ZERO } +@@ -995,7 +995,7 @@ + { "Parrot", + { ZERO, ZERO, ZERO, ZERO, RIGHT, RIGHT, ZERO, LEFT, PIN, RIGHT, ZERO, RIGHT, ZERO, RIGHT, ZERO, RIGHT, PIN, LEFT, ZERO, RIGHT, LEFT, ZERO, PIN, ZERO } + }, +- { "Penis", ++ { "Shuttle", + { PIN, PIN, RIGHT, ZERO, PIN, PIN, ZERO, PIN, ZERO, ZERO, RIGHT, PIN, LEFT, ZERO, ZERO, PIN, ZERO, PIN, PIN, ZERO, LEFT, PIN, PIN, ZERO } + }, + { "PictureComingSoon", diff --git a/xscreensaver.spec b/xscreensaver.spec new file mode 100644 index 0000000..0ba9034 --- /dev/null +++ b/xscreensaver.spec @@ -0,0 +1,753 @@ +%define name xscreensaver + +%define version 5.00 +%define fedora_rel 1 + +%define default_text %{_datadir}/doc/fedora-release-5.89/RELEASE-NOTES + +Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +Summary: X screen saver and locker +Name: %{name} +Version: %{version} +Release: %{fedora_rel}%{?dist}%{?extrarel} +Epoch: 1 +License: BSD +Group: Amusements/Graphics +URL: http://www.jwz.org/xscreensaver/ +Source0: http://www.jwz.org/xscreensaver/xscreensaver-%{version}.tar.gz +Patch0: xscreensaver-5.00b5-change-defaults.patch +Patch1: xscreensaver-5.00b5-sanitize-hacks.patch +Patch5: xscreensaver-5.00b5-dont-allow-root.patch +Patch8: xscreensaver-5.00b5-include-directory.patch +Patch101: xscreensaver-5.00-locale-safety.patch +Patch102: xscreensaver-5.00-matherr-utils.patch + +# find_lang +BuildRequires: gettext +BuildRequires: desktop-file-utils + +Requires: fedora-release + +%package base +Summary: A minimal installation of xscreensaver +Group: Amusements/Graphics +BuildRequires: bc +BuildRequires: pam-devel > 0.80-7 +BuildRequires: xorg-x11-proto-devel +BuildRequires: libX11-devel, libXScrnSaver-devel, libXext-devel +BuildRequires: libXinerama-devel +BuildRequires: libXmu-devel +BuildRequires: libXpm-devel +BuildRequires: libXt-devel +BuildRequires: libXxf86misc-devel +BuildRequires: libXxf86vm-devel +BuildRequires: libjpeg-devel +BuildRequires: gtk2-devel libglade2-devel +Requires: /etc/pam.d/system-auth, htmlview, desktop-backgrounds-basic +Provides: xscreensaver = %{epoch}:%{version}-%{release} +Obsoletes: xscreensaver + +%package extras +Summary: An enhanced set of screensavers +Group: Amusements/Graphics + +%package gl-extras +Summary: An enhanced set of screensavers that require OpenGL +Group: Amusements/Graphics +Provides: xscreensaver-gl = %{epoch}:%{version}-%{release} +Obsoletes: xscreensaver-gl +BuildRequires: libGLU-devel, libGL-devel + +%description +A modular screen saver and locker for the X Window System. +More than 200 display modes are included in this package. + +%description base +A modular screen saver and locker for the X Window System. +This package contains the bare minimum needed to blank and +lock your screen. The graphical display modes are the +"xscreensaver-extras" and "xscreensaver-gl-extras" packages. + +%description extras +A modular screen saver and locker for the X Window System. +This package contains a variety of graphical screen savers for +your mind-numbing, ambition-eroding, time-wasting, hypnotized +viewing pleasure. + +%description gl-extras +A modular screen saver and locker for the X Window System. +This package contains a variety of OpenGL-based (3D) screen +savers for your mind-numbing, ambition-eroding, time-wasting, +hypnotized viewing pleasure. + +%prep +%setup -q + +%patch0 -p1 -b .change-defaults +%patch1 -p1 -b .sanitize-hacks +%patch5 -p1 -b .dont-allow-root +%patch8 -p1 -b .include-dir +%patch101 -p1 -b .locale-safety +%patch102 -p1 -b .matherr2 + +sed -i -e 's|version [45].[0-9a-z][0-9a-z]*|version %{version}|' \ + driver/XScreenSaver.ad.in + +eval sed \ + -i -e \'s\|\[0-9\].\*-.\*-20\[0-9\]\[0-9\]\|`LANG=C date -u +'%%d-%%b-%%Y'`\|g\' \ + driver/XScreenSaver.ad.in + +cd utils +eval sed \ + -i -e \'s\|\(\[0-9\].\*-.\*-20\[0-9\]\[0-9\]\)\|\(`LANG=C date -u +'%%d-%%b-%%Y'`\)\|g\' \ + -i -e \'s\|\\\(5.\[0-9\]\[0-9\]\\\)[a-z]\[0-9\]\[0-9\]\*\|\\\1\|\' \ + -i -e \'s\|5.\[0-9\]\[0-9\]\|%{version}-`echo %{release} | sed -e 's|\..*||g'`\|g\' \ + version.h +cd .. + +if [ -x %{_datadir}/libtool/config.guess ]; then + # use system-wide copy + cp -p %{_datadir}/libtool/config.{sub,guess} . +fi + +%build +################################# +# suppress rpmlint booing +# suppress about pam config (although this is +# not the fault of xscreensaver.pam ......) + +mv driver/xscreensaver.pam driver/xscreensaver.pam.rpmlint +head -n 5 driver/xscreensaver.pam.rpmlint > driver/xscreensaver.pam +chmod 644 driver/xscreensaver.pam +################################# + +autoconf +archdir=`./config.guess` +mkdir $archdir +cd $archdir + +export CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" + +CONFIG_OPTS="--prefix=/usr --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" + +# This is flaky: +# CONFIG_OPTS="$CONFIG_OPTS --with-login-manager" + +ln -s ../configure . +%configure $CONFIG_OPTS +rm -f configure + +make + +%install +archdir=`./config.guess` +cd $archdir + +rm -rf ${RPM_BUILD_ROOT} + +make install_prefix=$RPM_BUILD_ROOT install + +desktop-file-install --vendor gnome --delete-original \ + --dir $RPM_BUILD_ROOT%{_datadir}/applications \ + --add-only-show-in GNOME \ + --add-category X-Red-Hat-Base \ + $RPM_BUILD_ROOT%{_datadir}/applications/*.desktop + +# This function prints a list of things that get installed. +# It does this by parsing the output of a dummy run of "make install". +list_files() { + make -s install_prefix=${RPM_BUILD_ROOT} INSTALL=true "$@" \ + | sed -e 's|directory* \([^ ][^ ]*\)$|/%%dir\1|' \ + | sed -n -e 's@.* \(/[^ ]*\)$@\1@p' \ + | sed -e "s@${RPM_BUILD_ROOT}@@" \ + -e "s@/[a-z][a-z]*/\.\./@/@" \ + | sed -e '/%%dir/!s@\(.*/man/.*\)@\1\*@' \ + -e '/%%dir/!s@\(.*/pam\.d/\)@%%config(noreplace) \1@' \ + -e 's|/%%dir\([^ ][^ ]*\)$|%%dir \1|' \ + | sort \ + | uniq +} + +# Generate three lists of files for the three packages. +# +dd=%{_builddir}/%{name}-%{version} +( cd hacks ; list_files install ) > $dd/extras.files +( cd hacks/glx ; list_files install ) > $dd/gl-extras.files +( cd driver ; list_files install ) > $dd/base.files + +# Add documents +pushd $dd &> /dev/null +for f in README* ; do + echo "%%doc $f" >> $dd/base.files +done +popd + +%find_lang %{name} +cat %{name}.lang | uniq >> $dd/base.files + +################################# +# suppress rpmlint booing +# remove directories explicitly included in filesystem rpm +for f in %{_bindir} %{_datadir}/applications \ + %{_mandir}/man[1-9] %{_datadir}/pixmaps ; do + ff=`echo $f | sed -e 's|\/|\\\\\\\\\/|g'` + for g in $dd/*.files ; do + eval sed -i -e \/$ff\$\/d $g + done +done + +# sanitize path in script file +for f in ${RPM_BUILD_ROOT}%{_bindir}/xscreensaver-getimage-* \ + ${RPM_BUILD_ROOT}%{_libexecdir}/xscreensaver/vidwhacker \ + ${RPM_BUILD_ROOT}%{_bindir}/xscreensaver-text ; do + if [ -f $f ] ; then + sed -i -e 's|/usr//bin/|/usr/bin/|g' $f + fi +done + +# Make sure all files are readable by all, and writable only by owner. +# +chmod -R a+r,u+w,og-w ${RPM_BUILD_ROOT} + +%clean +rm -rf ${RPM_BUILD_ROOT} + +%files -f base.files base +%defattr(-,root,root) + +%files -f extras.files extras +%defattr(-,root,root) + +%files -f gl-extras.files gl-extras +%defattr(-,root,root) + +%changelog +* Fri May 26 2006 Mamoru Tasaka - 1:5.00-1 +- Update to 5.00 +- Switch to extras, don't remove anything. + +* Fri Mar 24 2006 Ray Strode - 1:4.24-2 +- add patch from jwz to reap zombie processes (bug 185833) + +* Fri Feb 10 2006 Jesse Keating - 1:4.24-1.1 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 1:4.23-1.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Fri Jan 13 2006 Ray Strode 1:4.23-1 +- update to 4.23 +- add a BuildRequires on imake (spotted by Mamoru Tasaka) +- add a lot of patches and fixes from Mamoru Tasaka + +* Sat Dec 17 2005 Jesse Keating +- rebuilt + +* Mon Dec 5 2005 Ray Strode 1:4.22-21 +- Update list_files function to fix ownership issues. + Patch from Mamoru Tasaka (mtasaka@ioa.s.u-tokyo.ac.jp) (bug 161728). + +* Tue Nov 1 2005 Ray Strode 1:4.22-20 +- Switch requires to modular X + +* Thu Oct 13 2005 Tomas Mraz 1:4.22-19 +- use include instead of pam_stack in pam config + +* Wed Sep 28 2005 Ray Strode 1:4.22-18 +- accept zero timeout values for suspend and off. + Patch from Mamoru Tasaka + (bug 157501). + +* Fri Sep 23 2005 Ray Strode 1:4.22-17 +- remove explicit dependency on xscreensaver-base for + extras and gl-extras packages + +* Fri Sep 16 2005 Ray Strode 1:4.22-16 +- don't allow root to authenticate lock dialog when selinux + is enabled (bug 157014). + +* Fri Sep 9 2005 Ray Strode 1:4.22-15 +- take BSOD out of the default random list (bug 105388). + +* Thu Sep 08 2005 Florian La Roche +- add version-release to the Provides: + +* Wed Sep 7 2005 Ray Strode 1:4.22-13 +- Patch from Mamoru Tasaka to improve man page handling + (bug 167708). + +* Tue Sep 6 2005 Ray Strode 1:4.22-12 +- remove density option from squiral screensaver, + Patch from Mamoru Tasaka + (bug 167374). + +* Wed Aug 31 2005 Ray Strode 1:4.22-11 +- ignore unprintable characters in password dialog (bug 135966). + +* Thu Aug 25 2005 Ray Strode 1:4.22-10 +- Move man pages to section 6 (bug 166441). + +* Wed Aug 24 2005 Ray Strode 1:4.22-9 +- The only legitimate way to call realpath is with NULL + buffer (bug 165270). + +* Fri Aug 19 2005 Ray Strode 1:4.22-8 +- Don't try to use an invalid tree iterator (bug 166299) + +* Tue Aug 16 2005 Warren Togami - 1:4.22-7 +- rebuild for new cairo + +* Wed Aug 10 2005 Ray Strode 1:4.22-6 +- Don't call printf in signal handler (might fix 126428) + +* Wed Aug 3 2005 Ray Strode 1:4.22-5 +- Update to xscreensaver 4.22. + +* Sun Jun 19 2005 Ray Strode 1:4.21-5 +- Add build requires for desktop-file-utils (bug 160980). + +* Wed May 11 2005 Ray Strode 1:4.21-4 +- Allow configuration gui to support hacks with absolute paths + (bug 157417). + +* Mon May 09 2005 Ray Strode 1:4.21-3 +- Use @libexecdir@/xscreensaver instead of @HACKDIR@ in + default configuration file so that the path gets expanded + fully (bug 156906). + +* Tue May 03 2005 Ray Strode 1:4.21-2 +- Use absolute filenames for screenhacks so we don't pull + in screenhacks from PATH (bug 151677). +- Don't try to ping in sonar screensaver (bug 139692). + +* Sun Mar 20 2005 Ray Strode 1:4.21-1 +- Update to xscreensaver-4.21. +- Update spec file to better match new upstream spec file. + +* Fri Feb 25 2005 Nalin Dahyabhai 1:4.18-19 +- We don't patch configure.in, so we don't need to run 'autoconf'. +- Add --without-kerberos to skip built-in Kerberos password verification, so + that we'll always go through PAM (fixes 149731). + +* Mon Feb 21 2005 Ray Strode 1:4.18-18 +- Install desktop files to /usr/share/applications instead of + /usr/share/control-center-2.0 (should fix bug 149229). + +* Thu Jan 6 2005 Ray Strode 1:4.18-17 +- Change lock dialog instructions to only ask for password + and not username. + +* Tue Jan 4 2005 Ray Strode 1:4.18-16 +- Add patch to spec file to change defaults + +* Tue Jan 4 2005 Ray Strode 1:4.18-15 +- Remove xscreensaver-config-tool after some discussions with + jwz. +- Take out some additional screensavers + +* Wed Dec 1 2004 Ray Strode 1:4.18-14 +- Add utility xscreensaver-config-tool to make changing settings + easier (replaces the short lived xscreensaver-register-hack + program). Use xscreensaver-config-tool to set default settings + instead of using patches. +- Split up xscreensaver (fixes 121693). +- Make preferences dialog slightly more pretty +- Make lock dialog slightly more pretty + +* Fri Nov 26 2004 Than Ngo 1:4.18-13 +- add patch to fix vroot bug and make xscreensaver working in KDE again. +- get rid of webcollage, which often download porn images + +* Wed Nov 10 2004 Ray Strode 1:4.18-10 +- Get rid of unnecessary xloadimage requirement + (bug 100641) + +* Wed Nov 10 2004 Ray Strode 1:4.18-9 +- Call pam_acct_mgmt() (might fix bug 137195) + +* Tue Nov 9 2004 Ray Strode 1:4.18-8 +- Give vidwhacker screensaver working defaults + (bug 64518) + +* Tue Nov 9 2004 Ray Strode 1:4.18-7 +- Get rid of old crufty %{_datadir}/control-center/ tree + (bug 114692) + +* Wed Nov 3 2004 Ray Strode 1:4.18-6 +- rebuild for rawhide + +* Wed Nov 3 2004 Ray Strode 1:4.18-5 +- Don't allow screensavers access to desktop images by default (bug #126809) +- Lock screen by default (bug #126809) + +* Tue Oct 19 2004 4.18-4 +- Add xscreensaver-4.18-stuff-piecewise-leak.patch to stop piecewise + from leaking (#135164). + +* Wed Sep 1 2004 Ray Strode 4.18-3 +- remove superfluous line in the spec file + +* Wed Sep 1 2004 Ray Strode 4.18-2 +- blank the screen by default + +* Tue Aug 24 2004 Ray Strode 4.18-1 +- update to 4.18 (fixes bug 87745). + +* Sat Aug 14 2004 Ray Strode 4.16-4 +- change titles of questionably named bar codes + (fixes bug 129929). + +* Fri Aug 6 2004 Ray Strode 4.16-3 +- change titles of questionably named shape formations + (fixes bug 129335). + +* Wed Jun 23 2004 Ray Strode 4.16-2 +- use htmlview for browsing help. + +* Mon Jun 21 2004 Ray Strode 4.16-1 +- update to 4.16. Use desktop-file-install for desktop file. + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Wed May 5 2004 Bill Nottingham 4.14-5 +- config tweaks + +* Wed Mar 31 2004 Karsten Hopp 4.14-4 +- fix fortune stand-in (#115369) + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Mon Oct 27 2003 Bill Nottingham 1:4.14-1 +- update to 4.14 + +* Tue Oct 7 2003 Bill Nottingham 1:4.13-1 +- take out flag-with-logo, don't require redhat-logos (#106046) +- update to 4.13 + +* Wed Aug 27 2003 Bill Nottingham 1:4.12-1 +- update to 4.12 (fixes #101920) +- re-add BSOD to the random list + +* Tue Jun 24 2003 Bill Nottingham 1:4.11-1 +- update to 4.11 + +* Fri Jun 13 2003 Bill Nottingham 1:4.10-3 +- fix some 64-bit arches (#97359) + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Wed May 28 2003 Bill Nottingham 1:4.10-1 +- update to 4.10 + +* Thu Mar 20 2003 Bill Nottingham 1:4.09-1 +- update to 4.09, now with bouncing cows + +* Mon Feb 10 2003 Bill Nottingham 1:4.07-2 +- oops, xloadimage *is* needed (#83676) + +* Thu Feb 6 2003 Bill Nottingham 1:4.07-1 +- update to 4.07, fixes #76276, #75574 + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Fri Nov 29 2002 Tim Powers 1:4.06-4 +- call autoconf instead of autoconf-2.53 + +* Mon Nov 11 2002 Bill Nottingham 4.06-3 +- put glade tweaks back in +- switch pam package to not specify directories, to work on multilib + arches + +* Fri Nov 8 2002 Nalin Dahyabhai 4.06-1 +- add a BuildPrereq on bc, which configure requires +- replace use of fortune with an innocuous-and-editable stand-in script in + %{stand_in_path} +- define FORTUNE_PROGRAM at compile-time to force apps to use what's specified + even if it doesn't happen to be installed at compile-time + +* Sun Sep 2 2002 Bill Nottingham 4.05-6 +- fix typo (#73246) + +* Wed Aug 28 2002 Bill Nottingham 4.05-5 +- revert to non-gtk unlock dialog +- fix translations + +* Mon Aug 12 2002 Bill Nottingham 4.05-4 +- twiddle titlebar (#67844) +- fix extraneous text (#70975) +- tweak desktop entry (#69502) + +* Fri Aug 9 2002 Yu Shao 4.05-3 +- use GTK_IM_MODULE=gtk-im-context-simple in lock widget +- to avoid CJK IM weirdness (#70655, #68216) +- xscreensaver-rh-imcjk.patch + +* Wed Jul 17 2002 Elliot Lee 4.05-2 +- Add fortune-mod to buildprereq to make beehive happy +- Fix find_lang usage - install translations properly by specifying datadir + +* Tue Jun 11 2002 Bill Nottingham 4.05-1 +- update to 4.05 +- use gtk2 lock widget () +- some Red Hat-ifications +- fix critical (#63916) + +* Mon Jun 10 2002 Bill Nottingham 4.04-2 +- remove no longer needed xloadimage dependency + +* Mon Jun 3 2002 Bill Nottingham 4.04-1 +- update to 4.04, gtk2 property dialog is now mainline + +* Thu May 16 2002 Bill Nottingham 4.03-1 +- update to 4.03 +- use gtk2 properties dialog + +* Thu Mar 14 2002 Bill Nottingham 4.01-2 +- don't show screensavers that aren't available + +* Sun Feb 24 2002 Bill Nottingham +- update to 4.01 + +* Mon Feb 11 2002 Bill Nottingham +- update to 4.00 + +* Wed Jan 09 2002 Tim Powers +- automated rebuild + +* Thu Aug 23 2001 Bill Nottingham +- fix segfault on ia64 (#52336) + +* Thu Aug 9 2001 Bill Nottingham +- never mind, back to 3.33 (wheeee) +- hack window-id back in for the time being +- disable memlimit so GL works + +* Mon Jul 23 2001 Bill Nottingham +- oops, back to 3.32 for now +- remove optflags override (oops) +- add pam-devel buildprereq + +* Mon Jul 16 2001 Bill Nottingham +- update to 3.33, fix broken last build +- fix build weirdness on some package sets (#48905) +- don't document non-existent options for forest (#49139) + +* Sun Jun 24 2001 Elliot Lee +- Bump release + rebuild. + +* Tue May 22 2001 Havoc Pennington +- putting in tree for David + +* Tue May 22 2001 David Sainty +- added DPMS options to command line help + +* Sun Apr 22 2001 Bill Nottingham +- update to 3.32 +- add patch to specify DPMS settings on the command line + +* Wed Apr 11 2001 Bill Nottingham +- update to 3.31 + +* Wed Apr 4 2001 Bill Nottingham +- fix extrusion exclusion (#34742) + +* Tue Apr 3 2001 Bill Nottingham +- disable GL screensavers by default (bleah) + +* Mon Feb 19 2001 Bill Nottingham +- update to 3.29 (#27437) + +* Tue Jan 23 2001 Bill Nottingham +- update to 3.27 + +* Fri Dec 01 2000 Bill Nottingham +- rebuild because of broken fileutils + +* Fri Nov 10 2000 Bill Nottingham +- 3.26 + +* Fri Aug 11 2000 Jonathan Blandford +- Up Epoch and release + +* Wed Jul 26 2000 Bill Nottingham +- hey, vidmode works again + +* Fri Jul 21 2000 Bill Nottingham +- update to 3.25 + +* Thu Jul 13 2000 Prospector +- automatic rebuild + +* Sat Jun 17 2000 Bill Nottingham +- xscreensaver.kss is not a %%config file. + +* Sun Jun 11 2000 Bill Nottingham +- tweak kss module (#11872) + +* Thu Jun 1 2000 Nalin Dahyabhai +- modify PAM configuration to use system-auth + +* Thu May 18 2000 Preston Brown +- added Red Hat screensaver (waving flag has logo now). + +* Fri May 5 2000 Bill Nottingham +- tweaks for ia64 + +* Mon Apr 10 2000 Bill Nottingham +- turn off xf86vidmode ext, so that binaries built against XFree86 4.0 + work on 3.x servers + +* Wed Apr 5 2000 Bill Nottingham +- turn off gnome support for now + +* Mon Apr 3 2000 Bill Nottingham +- update to 3.24 + +* Wed Feb 09 2000 Preston Brown +- wmconfig entry gone. + +* Mon Jan 31 2000 Bill Nottingham +- update to 3.23 + +* Fri Jan 14 2000 Bill Nottingham +- rebuild to fix GL depdencies + +* Tue Dec 14 1999 Bill Nottingham +- everyone in GL +- single package again + +* Fri Dec 10 1999 Bill Nottingham +- update to 3.22 +- turn off xf86vmode on alpha + +* Tue Dec 7 1999 Bill Nottingham +- mmm... hardware accelerated GL on i386. :) :) + +* Mon Nov 22 1999 Bill Nottingham +- 3.21 +- use shm on alpha, let's see what breaks + +* Tue Nov 16 1999 Bill Nottingham +- update to 3.20 + +* Wed Nov 3 1999 Bill Nottingham +- update to 3.19 + +* Thu Oct 14 1999 Bill Nottingham +- update to 3.18 + +* Sat Sep 25 1999 Bill Nottingham +- add a '-oneshot' single time lock option. + +* Mon Sep 20 1999 Bill Nottingham +- take webcollage out of random list (for people who pay for bandwidth) + +* Fri Sep 10 1999 Bill Nottingham +- patch webcollage to use xloadimage +- in the random list, run petri with -size 2 to save memory +- extend RPM silliness to man pages, too. + +* Mon Jul 19 1999 Bill Nottingham +- update to 3.17 +- add a little RPM silliness to package GL stuff if it's built + +* Thu Jun 24 1999 Bill Nottingham +- update to 3.16 + +* Mon May 10 1999 Bill Nottingham +- update to 3.12 + +* Tue May 4 1999 Bill Nottingham +- remove security problem introduced earlier + +* Wed Apr 28 1999 Bill Nottingham +- update to 3.10 + +* Thu Apr 15 1999 Bill Nottingham +- kill setuid the Right Way(tm) + +* Mon Apr 12 1999 Bill Nottingham +- fix xflame on alpha + +* Mon Apr 12 1999 Preston Brown +- upgrade to 3.09, fixes vmware interaction problems. + +* Mon Apr 5 1999 Bill Nottingham +- remove setuid bit. Really. I mean it. + +* Sun Mar 21 1999 Cristian Gafton +- auto rebuild in the new build environment (release 3) + +* Fri Mar 19 1999 Bill Nottingham +- kill setuid, since pam works OK + +* Tue Mar 16 1999 Bill Nottingham +- update to 3.08 + +* Wed Feb 24 1999 Bill Nottingham +- wmconfig returns, and no one is safe... + +* Tue Feb 23 1999 Bill Nottingham +- remove bsod from random list because it's confusing people???? *sigh* + +* Tue Jan 12 1999 Cristian Gafton +- call libtoolize to get it to compile cleanely on the arm + +* Tue Jan 5 1999 Bill Nottingham +- update to 3.07 + +* Mon Nov 23 1998 Bill Nottingham +- update to 3.06 + +* Tue Nov 17 1998 Bill Nottingham +- update to 3.04 + +* Thu Nov 12 1998 Bill Nottingham +- update to 3.02 +- PAMify + +* Tue Oct 13 1998 Cristian Gafton +- take out Noseguy module b/c of possible TMv +- install modules in /usr/X11R6/lib/xscreensaver +- don't compile support for xshm on the alpha +- properly buildrooted +- updated to version 2.34 + +* Fri Aug 7 1998 Bill Nottingham +- update to 2.27 + +* Wed Jun 10 1998 Prospector System +- translations modified for de + +* Mon Jun 08 1998 Erik Troan +- added fix for argv0 buffer overflow + +* Fri Apr 24 1998 Prospector System +- translations modified for de, fr, tr + +* Sat Apr 11 1998 Donnie Barnes +- updated from 2.10 to 2.16 +- added buildroot + +* Wed Oct 25 1997 Marc Ewing +- wmconfig + +* Thu Oct 23 1997 Marc Ewing +- new version, configure + +* Fri Aug 22 1997 Erik Troan +- built against glibc +