diff --git a/.cvsignore b/.cvsignore
index b74d4fb..160ec4b 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1 +1,2 @@
xscreensaver-5.02.tar.gz
+xscreensaver-5.03.tar.gz
diff --git a/sources b/sources
index 36fb149..985884f 100644
--- a/sources
+++ b/sources
@@ -1 +1,2 @@
83937791b30f55f52011d4fee0f5dff3 xscreensaver-5.02.tar.gz
+367b0397132102faf43e71e27bbdc181 xscreensaver-5.03.tar.gz
diff --git a/xscreensaver-5.00b5-include-directory.patch b/xscreensaver-5.00b5-include-directory.patch
deleted file mode 100644
index 0f702e9..0000000
--- a/xscreensaver-5.00b5-include-directory.patch
+++ /dev/null
@@ -1,166 +0,0 @@
---- 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.01-webcollage-default-nonet.patch b/xscreensaver-5.01-webcollage-default-nonet.patch
deleted file mode 100644
index 140b5a3..0000000
--- a/xscreensaver-5.01-webcollage-default-nonet.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- xscreensaver-5.01/hacks/config/webcollage.xml.nonet 2006-03-20 21:47:40.000000000 +0900
-+++ xscreensaver-5.01/hacks/config/webcollage.xml 2006-11-06 04:29:32.000000000 +0900
-@@ -20,7 +20,7 @@
-
-
-
--
-+
-
- <_description>
- This program makes collages out of random images pulled off of the
---- xscreensaver-5.01/driver/XScreenSaver.ad.in.nonet 2006-11-06 04:14:04.000000000 +0900
-+++ xscreensaver-5.01/driver/XScreenSaver.ad.in 2006-11-06 04:19:38.000000000 +0900
-@@ -302,10 +302,12 @@
- fiberlamp -root \n\
- boxfit -root \n\
- celtic -root \n\
--- default-n: webcollage -root \n\
-+- default-n: webcollage -root \
-+ -directory @DEFAULT_IMAGE_DIRECTORY@ \n\
- - default-n: "WebCollage (whacked)" \
- webcollage -root -filter \
-- 'vidwhacker -stdin -stdout' \n\
-+ 'vidwhacker -stdin -stdout' \
-+ -directory @DEFAULT_IMAGE_DIRECTORY@ \n\
- - default-n: vidwhacker -root \n\
- \
- @GL_KLUDGE@ GL: gears -root \n\
diff --git a/xscreensaver-5.02-pidnumber-write_long.patch b/xscreensaver-5.02-pidnumber-write_long.patch
new file mode 100644
index 0000000..fa3b5bd
--- /dev/null
+++ b/xscreensaver-5.02-pidnumber-write_long.patch
@@ -0,0 +1,11 @@
+--- xscreensaver-5.02/driver/subprocs.c.pidnum_debug 2007-03-15 17:23:37.000000000 +0900
++++ xscreensaver-5.02/driver/subprocs.c 2007-08-28 16:40:38.000000000 +0900
+@@ -93,7 +93,7 @@
+ num = -num;
+ }
+
+- while ((num > 0) && (num_digits < sizeof(string - 1)))
++ while ((num > 0) && (num_digits < sizeof(string) - 1))
+ {
+ int digit;
+ digit = (int) num % 10;
diff --git a/xscreensaver-5.03-webcollage-default-nonet.patch b/xscreensaver-5.03-webcollage-default-nonet.patch
new file mode 100644
index 0000000..604dad9
--- /dev/null
+++ b/xscreensaver-5.03-webcollage-default-nonet.patch
@@ -0,0 +1,28 @@
+--- xscreensaver-5.03/driver/XScreenSaver.ad.in.nonet 2007-07-17 18:01:47.000000000 +0900
++++ xscreensaver-5.03/driver/XScreenSaver.ad.in 2007-08-29 01:39:14.000000000 +0900
+@@ -304,10 +304,12 @@
+ celtic -root \n\
+ cwaves -root \n\
+ m6502 -root \n\
+-- default-n: webcollage -root \n\
++- default-n: webcollage -root \
++ -directory @DEFAULT_IMAGE_DIRECTORY@ \n\
+ - default-n: "WebCollage (whacked)" \
+ webcollage -root -filter \
+- 'vidwhacker -stdin -stdout' \n\
++ 'vidwhacker -stdin -stdout' \
++ -directory @DEFAULT_IMAGE_DIRECTORY@ \n\
+ - default-n: vidwhacker -root \n\
+ \
+ @GL_KLUDGE@ GL: gears -root \n\
+--- xscreensaver-5.03/hacks/config/webcollage.xml.nonet 2006-03-20 21:47:40.000000000 +0900
++++ xscreensaver-5.03/hacks/config/webcollage.xml 2007-08-29 01:33:52.000000000 +0900
+@@ -20,7 +20,7 @@
+
+
+
+-
++
+
+ <_description>
+ This program makes collages out of random images pulled off of the
diff --git a/xscreensaver.spec b/xscreensaver.spec
index 6625c06..dcdb17f 100644
--- a/xscreensaver.spec
+++ b/xscreensaver.spec
@@ -1,10 +1,10 @@
%define name xscreensaver
-%define version 5.02
+%define version 5.03
%define beta_ver %{nil}
%define fedora_rel 1
-%define extrarel .1
+%define extrarel %{nil}
%if 0%{?fedora} >= 7
%define default_text %{_datadir}/doc/HTML/README-Accessibility
@@ -29,8 +29,8 @@ Group: Amusements/Graphics
URL: http://www.jwz.org/xscreensaver/
Source0: http://www.jwz.org/xscreensaver/xscreensaver-%{version}%{?beta_ver}.tar.gz
Patch1: xscreensaver-5.00b5-sanitize-hacks.patch
-Patch8: xscreensaver-5.00b5-include-directory.patch
-Patch21: xscreensaver-5.01-webcollage-default-nonet.patch
+Patch21: xscreensaver-5.03-webcollage-default-nonet.patch
+Patch40: xscreensaver-5.02-pidnumber-write_long.patch
Requires: xscreensaver-base = %{epoch}:%{version}-%{release}
Requires: xscreensaver-extras = %{epoch}:%{version}-%{release}
Requires: xscreensaver-gl-extras = %{epoch}:%{version}-%{release}
@@ -43,6 +43,7 @@ BuildRequires: desktop-file-utils
BuildRequires: sed
BuildRequires: libtool
BuildRequires: bc
+BuildRequires: gawk
BuildRequires: pam-devel > %{pam_ver}
BuildRequires: xorg-x11-proto-devel
BuildRequires: libX11-devel, libXScrnSaver-devel, libXext-devel
@@ -152,8 +153,8 @@ for gnome-screensaver compatibility.
%setup -q -n %{name}-%{version}%{?beta_ver}
%patch1 -p1 -b .sanitize-hacks
-%patch8 -p1 -b .include-dir
%patch21 -p1 -b .nonet
+%patch40 -p1 -b .pidnum_debug
change_option(){
set +x
@@ -193,6 +194,7 @@ silence_hack(){
# change some options
change_option driver/XScreenSaver.ad.in \
+ captureStderr=False \
passwdTimeout=0:00:15 \
grabDesktopImages=False \
lock=True \
@@ -276,26 +278,36 @@ cd $archdir
rm -rf ${RPM_BUILD_ROOT}
+# We have to make sure these directories exist,
+# or nothing will be installed into them.
+#
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/pam.d
+
make install_prefix=$RPM_BUILD_ROOT INSTALL="install -c -p" install
desktop-file-install --vendor gnome --delete-original \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
--add-only-show-in GNOME \
+ --add-category DesktopSettings \
+%if 0%{?fedora} <= 7
--add-category X-Red-Hat-Base \
+%else
+ --remove-category Appearance \
+ --remove-category AdvancedSettings \
+ --remove-category Application \
+%endif
$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() {
- echo "%%defattr(-,root,root)"
+ echo "%%defattr(-,root,root,-)"
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}@@" \
+ | 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|' \
+ | sed -e 's@\(.*/man/.*\)@%%doc \1\*@' \
+ -e 's@\(.*/pam\.d/\)@%%config(noreplace) \1@' \
| sort \
| uniq
}
@@ -303,6 +315,10 @@ list_files() {
# Generate three lists of files for the three packages.
#
dd=%{_builddir}/%{name}-%{version}%{?beta_ver}
+
+# In case rpm -bi --short-circuit is tried multiple times:
+rm -f $dd/*.files
+
( 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
@@ -314,26 +330,17 @@ for f in README* ; do
done
popd
+# add directory
+pushd $RPM_BUILD_ROOT
+for dir in `find .%{_prefix} -type d | grep xscreensaver` ; do
+ echo "%%dir ${dir#.}" >> $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 \
- %{_sysconfdir}/pam.d \
- %{_bindir} \
- %{_datadir}/applications \
- %{_datadir}/pixmaps \
- %{_datadir}/X11/app-defaults \
- %{_mandir}/man[1-9] \
- ; 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 \
@@ -376,14 +383,16 @@ cd $dd
SAVERDIR=%{_datadir}/applications/screensavers
mkdir -p ${RPM_BUILD_ROOT}${SAVERDIR}
+echo "%%dir $SAVERDIR" >> base.files
for list in *extras.files ; do
glist=gnome-$list
rm -f $glist
- echo "%%defattr(-,root,root)" > $glist
- echo "%%dir $SAVERDIR" >> $glist
+ echo "%%defattr(-,root,root,-)" > $glist
+## move the owner of $SAVERDIR to -base
+## echo "%%dir $SAVERDIR" >> $glist
set +x
for xml in `cat $list | grep xml$` ; do
@@ -406,24 +415,45 @@ chmod -R a+r,u+w,og-w ${RPM_BUILD_ROOT}
rm -rf ${RPM_BUILD_ROOT}
%files
-%defattr(-,root,root)
+%defattr(-,root,root,-)
%files -f base.files base
-%defattr(-,root,root)
+%defattr(-,root,root,-)
%files -f extras.files extras
-%defattr(-,root,root)
+%defattr(-,root,root,-)
%files -f gl-extras.files gl-extras
-%defattr(-,root,root)
+%defattr(-,root,root,-)
%files -f gnome-extras.files extras-gss
-%defattr(-,root,root)
+%defattr(-,root,root,-)
%files -f gnome-gl-extras.files gl-extras-gss
-%defattr(-,root,root)
+%defattr(-,root,root,-)
%changelog
+* Wed Aug 29 2007 Mamoru Tasaka - 1:5.03-1
+- Update to 5.03
+
+* Tue Aug 28 2007 Mamoru Tasaka - 1:5.02-4
+- Spec file cleanup
+ - Don't use include-directory patch anymore
+ - Make all xscreensaver related directories owned by -base subpackage
+ because now -extras and -gl-extras subpackage require it.
+ - Mark man files as %%doc explicitly, because %_mandir is expanded
+ in files list
+- Fix write_long() (actually no_malloc_number_to_string())
+
+* Wed Aug 22 2007 Mamoru Tasaka - 1:5.02-3.dist.1
+- Mass rebuild (buildID or binutils issue)
+
+* Tue Aug 14 2007 Mamoru Tasaka - 1:5.02-3
+- Remove man6x from file entry, now included in filesystem
+
+* Sun Aug 12 2007 Mamoru Tasaka - 1:5.02-2
+- Fix up desktop categories
+
* Sat Apr 21 2007 Mamoru Tasaka - 1:5.02-1
- Update to 5.02