rpms/xscreensaver/F-7 xscreensaver.spec,1.40,1.41

Mamoru Tasaka (mtasaka) fedora-extras-commits at redhat.com
Sat Sep 15 01:42:44 UTC 2007


Author: mtasaka

Update of /cvs/extras/rpms/xscreensaver/F-7
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv28241/F-7

Modified Files:
	xscreensaver.spec 
Log Message:
* Sat Sep 15 2007 Mamoru Tasaka <mtasaka at ioa.s.u-tokyo.ac.jp> - 1:5.03-4
- Add some comments on update script.



Index: xscreensaver.spec
===================================================================
RCS file: /cvs/extras/rpms/xscreensaver/F-7/xscreensaver.spec,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -r1.40 -r1.41
--- xscreensaver.spec	28 Aug 2007 19:18:45 -0000	1.40
+++ xscreensaver.spec	15 Sep 2007 01:42:12 -0000	1.41
@@ -2,7 +2,13 @@
 
 %define version       5.03
 %define beta_ver      %{nil}
-%define fedora_rel    1
+%if 0%{?fedora} <= 6
+%define modular_conf  0
+%define fedora_rel    1.1
+%else
+%define modular_conf  1
+%define fedora_rel    4
+%endif
 
 %define extrarel      %{nil}
 
@@ -28,6 +34,7 @@
 Group:           Amusements/Graphics
 URL:             http://www.jwz.org/xscreensaver/
 Source0:         http://www.jwz.org/xscreensaver/xscreensaver-%{version}%{?beta_ver}.tar.gz
+Source10:        update-xscreensaver-hacks
 Patch1:          xscreensaver-5.00b5-sanitize-hacks.patch
 Patch21:         xscreensaver-5.03-webcollage-default-nonet.patch
 Patch40:         xscreensaver-5.02-pidnumber-write_long.patch
@@ -272,6 +279,29 @@
 
 make %{?_smp_mflags}
 
+%if %{modular_conf}
+# Make XScreenSavar.ad modular
+CONFD=xscreensaver
+rm -rf $CONFD
+mkdir $CONFD
+
+# preserve the original adfile
+cp -p driver/XScreenSaver.ad $CONFD
+
+# First split XScreenSaver.ad into 3 parts
+cat driver/XScreenSaver.ad | \
+   sed -n -e '1,/\*programs/p' > $CONFD/XScreenSaver.ad.header
+cat driver/XScreenSaver.ad | sed -e '1,/\*programs/d' | \
+   sed -n -e '1,/\\n$/p' > $CONFD/XScreenSaver.ad.hacks
+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
+cd ..
+
+%endif
+
 %install
 archdir=`./config.guess`
 cd $archdir
@@ -323,6 +353,47 @@
 (  cd hacks/glx ; list_files install ) >  $dd/gl-extras.files
 (  cd driver    ; list_files install ) >  $dd/base.files
 
+%if %{modular_conf}
+# install update script
+mkdir -p $RPM_BUILD_ROOT%{_sbindir}
+install -cpm 755 %{SOURCE10} $RPM_BUILD_ROOT%{_sbindir}
+echo "%{_sbindir}/update-xscreensaver-hacks" >> $dd/base.files
+
+# make hack conf modular
+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 \
+   $RPM_BUILD_ROOT%{_datadir}/xscreensaver/hacks.conf.d/
+
+for adfile in xscreensaver/XScreenSaver.ad.* ; do
+   filen=`basename $adfile`
+   echo "%%config(noreplace) %{_sysconfdir}/xscreensaver/$filen" >> $dd/base.files
+done
+echo -n "%%verify(not size md5 mtime) " >> $dd/base.files
+echo "%%config(noreplace) %{_sysconfdir}/xscreensaver/XScreenSaver.ad" >> \
+   $dd/base.files
+echo "%{_datadir}/xscreensaver/hacks.conf.d/xscreensaver.conf" \
+   >> $dd/base.files
+
+# check symlink
+rm -f $RPM_BUILD_ROOT%{_datadir}/X11/app-defaults/XScreenSaver
+
+pushd $RPM_BUILD_ROOT%{_datadir}/X11/app-defaults
+pushd ../../../..
+if [ ! $(pwd) == $RPM_BUILD_ROOT ] ; then
+   echo "Possibly symlink broken"
+   exit 1
+fi
+popd
+popd
+
+ln -sf ../../../..%{_sysconfdir}/xscreensaver/XScreenSaver.ad \
+   $RPM_BUILD_ROOT%{_datadir}/X11/app-defaults/XScreenSaver
+
+%endif
+
 # add documents
 pushd $dd &> /dev/null
 for f in README* ; do
@@ -332,7 +403,7 @@
 
 # add directory
 pushd $RPM_BUILD_ROOT
-for dir in `find .%{_prefix} -type d | grep xscreensaver` ; do
+for dir in `find . -type d | grep xscreensaver` ; do
    echo "%%dir ${dir#.}" >> $dd/base.files
 done
 popd
@@ -414,6 +485,12 @@
 %clean
 rm -rf ${RPM_BUILD_ROOT}
 
+%if %{modular_conf}
+%post base
+%{_sbindir}/update-xscreensaver-hacks
+exit 0
+%endif
+
 %files
 %defattr(-,root,root,-)
 
@@ -433,6 +510,18 @@
 %defattr(-,root,root,-)
 
 %changelog
+* Sat Sep 15 2007 Mamoru Tasaka <mtasaka at ioa.s.u-tokyo.ac.jp> - 1:5.03-4
+- Add some comments on update script.
+
+* Mon Sep  3 2007 Mamoru Tasaka <mtasaka at ioa.s.u-tokyo.ac.jp> - 1:5.03-3
+- Don't split hack part of XScreenSaver.ad into each hack piece
+  and make update script allow multiple hacks in one config file
+  (along with rss-glx, bug 200881)
+- move hack update scripts to %%_sbindir
+
+* Sun Sep  2 2007 Mamoru Tasaka <mtasaka at ioa.s.u-tokyo.ac.jp> - 1:5.03-2
+- Try to make XScreenSaver.ad modular (bug 200881)
+
 * Wed Aug 29 2007 Mamoru Tasaka <mtasaka at ioa.s.u-tokyo.ac.jp> - 1:5.03-1
 - Update to 5.03
 
@@ -441,7 +530,7 @@
   - 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
+  - Mark man files as %%doc explicitly, because %%_mandir is expanded
     in files list
 - Fix write_long() (actually no_malloc_number_to_string())
 




More information about the fedora-extras-commits mailing list