X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=xscreensaver.spec;h=982686185cc9b6a01189cca116bd1bf30805332b;hb=3f9592851ce4ed76a9979bfdd6ec7dc5c457e183;hp=fd75dbe02199977a82aec41f5584694685644704;hpb=585e1a6717d1dd9b90fbb53acaaae82106354d33;p=xscreensaver diff --git a/xscreensaver.spec b/xscreensaver.spec index fd75dbe0..98268618 100644 --- a/xscreensaver.spec +++ b/xscreensaver.spec @@ -1,5 +1,5 @@ %define name xscreensaver -%define version 3.32 +%define version 4.03 %define release 1 %define serial 1 %define x11_prefix /usr/X11R6 @@ -29,11 +29,15 @@ Vendor: Jamie Zawinski Source: %{name}-%{version}.tar.gz Buildroot: %{_tmppath}/%{name}-%{version}-root +# This package really should be made to depend on +# control-center >= 1.4.0.2 -OR- control-center >= 1.5.12 +# but there's no way to express that. + %description A modular screen saver and locker for the X Window System. Highly customizable: allows the use of any program that can draw on the root window as a display mode. -More than 120 display modes are included in this package. +More than 140 display modes are included in this package. %{?USE_GL:See also the xscreensaver-gl package, which} %{?USE_GL:includes optional OpenGL display modes.} @@ -73,16 +77,19 @@ RPMOPTS="" %{?USE_GL:RPMOPTS="$RPMOPTS --with-gl"} %{!?USE_GL:RPMOPTS="$RPMOPTS --without-gl"} +archdir=`./config.guess` +mkdir $archdir +cd $archdir CFLAGS="$RPM_OPT_FLAGS" \ - ./configure --prefix=%{x11_prefix} \ - --enable-subdir=../lib/xscreensaver \ - --without-setuid-hacks \ - $RPMOPTS - + ../configure --prefix=%{x11_prefix} \ + --with-setuid-hacks \ + $RPMOPTS make %install +archdir=`./config.guess` + # Most xscreensaver executables go in the X bin directory (/usr/X11R6/bin/) # but some of them (e.g., the control panel capplet) go in the GNOME bin # directory instead (/usr/bin/). @@ -101,6 +108,7 @@ mkdir -p $RPM_BUILD_ROOT$KDEDIR/bin # mkdir -p $RPM_BUILD_ROOT/etc/pam.d +cd $archdir make install_prefix=$RPM_BUILD_ROOT \ AD_DIR=%{x11_prefix}/lib/X11/app-defaults \ GNOME_BINDIR=%{gnome_prefix}/bin \ @@ -122,9 +130,10 @@ list_files() { } ( cd hacks ; list_files install ; \ - cd ../driver; list_files install-program ) \ + cd ../driver; list_files install-program install-scripts ) \ > $RPM_BUILD_DIR/xscreensaver-%{version}/exes-non-gl ( cd hacks/glx ; list_files install ) \ + | grep -v man1/xscreensaver-gl-helper \ > $RPM_BUILD_DIR/xscreensaver-%{version}/exes-gl @@ -144,89 +153,14 @@ install -m 4755 driver/xscreensaver $RPM_BUILD_ROOT%{x11_prefix}/bin # chmod -R a+r,u+w,og-w $RPM_BUILD_ROOT - -# This is a tricky part... -# -# xscreensaver installs several files that are also installed by the -# "control-center" RPM. The versions from xscreensaver are better, -# and so should override control-center. But, the way RPM works, -# if the xscreensaver RPM contained those files, the end user would -# have to "--force" to make the xscreensaver RPM install. That's -# not something people are used to doing, so that's Bad. -# -# So instead, we rename the files so that they don't conflict with -# the control center. Then we have a "%post" script that creates -# symbolic links to our files. - -CCDIR=$RPM_BUILD_ROOT%{gnome_ccdir} -PADIR=$RPM_BUILD_ROOT%{gnome_paneldir} -CADIR=$RPM_BUILD_ROOT%{gnome_prefix}/bin -DESKF=screensaver-properties.desktop -CAPLT=screensaver-properties-capplet - -if [ -f $CCDIR/$DESKF ]; then - mv $CCDIR/$DESKF $CCDIR/x$DESKF - mv $PADIR/$DESKF $PADIR/x$DESKF - mv $CADIR/$CAPLT $CADIR/x$CAPLT -fi - %post # This part runs on the end user's system, when the RPM is installed. -# (See comment above, at end of "%install" section.) - -verbose=0 - -overwrite_links() { - dir="$1" - oname="$2" - nname="$3" - - # only do this if the file we're making a link *to* exists - # (i.e., was present in this rpm.) - # - if [ -f "$dir/$nname" ]; then - - # backup or delete the old version, if any. - # - existed=0 - if [ -f "$dir/$oname" ]; then - existed=1 - if [ -f "$dir/$oname.rpmsave" ]; then - rm -f "$dir/$oname" - if [ $verbose -gt 1 ]; then - echo "$dir/$oname.rpmsave already exists" >&2 - fi - else - mv "$dir/$oname" "$dir/$oname.rpmsave" - if [ $verbose -gt 1 ]; then - echo "saved $dir/$oname as $oname.rpmsave" >&2 - fi - fi - fi - - # install a relative symlink to the new name. - # - ln -s "$nname" "$dir/$oname" - if [ $verbose -ge 1 ]; then - if [ $existed = 1 ] ; then - echo "replaced $dir/$oname" >&2 - else - echo "created $dir/$oname" >&2 - fi - fi - fi -} - -CCDIR=%{gnome_ccdir} -PADIR=%{gnome_paneldir} -CADIR=%{gnome_prefix}/bin -DESKF=screensaver-properties.desktop -CAPLT=screensaver-properties-capplet - -overwrite_links $CCDIR $DESKF x$DESKF -overwrite_links $PADIR $DESKF x$DESKF -overwrite_links $CADIR $CAPLT x$CAPLT +pids=`pidof xscreensaver` +if [ -n "$pids" ]; then + echo "sending SIGHUP to running xscreensaver ($pids)..." >&2 + kill -HUP $pids +fi %clean if [ -d $RPM_BUILD_ROOT ]; then rm -r $RPM_BUILD_ROOT ; fi @@ -250,6 +184,8 @@ if [ -d $RPM_BUILD_ROOT-gl ]; then rm -r $RPM_BUILD_ROOT-gl ; fi %config(missingok) %{gnome_paneldir}/*.desktop %config(missingok) %{gnome_icondir}/* +%config(missingok) %{gnome_prefix}/share/locale/ + # Files for the "xscreensaver-gl" package: # %{?USE_GL:%files -f exes-gl gl}