X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=xscreensaver.spec;h=58b1588b6c05432c706878e3e612d53b0c1d2b7c;hp=91a55dbf8755187d94d91cb933ce011495758276;hb=6b1c86cf395f59389e4ece4ea8f4bea2c332745b;hpb=ebc241816cc8e3eec7270a594bb1a607df32bcd6 diff --git a/xscreensaver.spec b/xscreensaver.spec index 91a55dbf..58b1588b 100644 --- a/xscreensaver.spec +++ b/xscreensaver.spec @@ -1,153 +1,204 @@ -%define name xscreensaver -%define version 3.28 -%define release 1 -%define serial 1 -%define prefix /usr/X11R6 - -# By default, builds the basic, non-GL package. -# To build both the basic and GL-add-on packages: -# rpm --define "USE_GL yes" ... +%define name xscreensaver +%define version 5.05 Summary: X screen saver and locker Name: %{name} Version: %{version} -Release: %{release} -Serial: %{serial} +Release: 1 +Epoch: 1 +License: BSD Group: Amusements/Graphics -Copyright: BSD -URL: http://www.jwz.org/xscreensaver +URL: http://www.jwz.org/xscreensaver/ +Source0: http://www.jwz.org/xscreensaver/xscreensaver-%{version}.tar.gz Vendor: Jamie Zawinski -Source: %{name}-%{version}.tar.gz -Buildroot: /var/tmp/%{name}-%{version}-root +Buildroot: %{_tmppath}/%{name}-root + +%package base +Summary: A minimal installation of xscreensaver. +Summary(fr): Une installation minimale de xscreensaver. +Group: Amusements/Graphics +BuildRequires: bc +BuildRequires: gettext +BuildRequires: pam-devel +BuildRequires: gtk2-devel +BuildRequires: desktop-file-utils +# Red Hat (pre-FC5): +#BuildRequires: xorg-x11-devel +#BuildRequires: libglade2-devel +# Red Hat 5, CentOS5, FC5, and up: +BuildRequires: xorg-x11-proto-devel +BuildRequires: libglade2-devel +# Mandrake: +#BuildRequires: libxorg-x11-devel +#BuildRequires: libglade2.0_0-devel +Requires: SysVinit +Requires: /etc/pam.d/system-auth +Requires: htmlview +Requires: desktop-backgrounds-basic +Provides: xscreensaver +Provides: xscreensaver-base +Obsoletes: xscreensaver + +%package extras +Summary: An enhanced set of screensavers. +Summary(fr): Un jeu étendu d'économiseurs d'écran. +Group: Amusements/Graphics +Requires: xscreensaver-base + +%package gl-extras +Summary: An enhanced set of screensavers that require OpenGL. +Summary(fr): Un jeu étendu d'économiseurs d'écran qui nécessitent OpenGL. +Group: Amusements/Graphics +Requires: xscreensaver-base +Obsoletes: xscreensaver-gl %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 100 display modes are included in this package. -%{?USE_GL:See also the xscreensaver-gl package, which} -%{?USE_GL:includes optional OpenGL display modes.} - -%{?USE_GL:%package gl} -%{?USE_GL:Group: Amusements/Graphics} -%{?USE_GL:Requires: xscreensaver = %{version}} -%{?USE_GL:Summary: A set of GL screensavers} -%{?USE_GL:%description gl} -%{?USE_GL:The xscreensaver-gl package contains even more screensavers for your} -%{?USE_GL:mind-numbing, ambition-eroding, time-wasting, hypnotized viewing} -%{?USE_GL:pleasure. These screensavers require OpenGL or Mesa support.} -%{?USE_GL: } -%{?USE_GL:Install the xscreensaver-gl package if you need more screensavers} -%{?USE_GL:for use with the X Window System and you have OpenGL or Mesa} -%{?USE_GL:installed.} +More than 200 display modes are included in this package. + +%description -l fr +Un économiseur d'écran modulaire pour le système X Window. +Plus de 200 modes d'affichages sont inclus dans ce paquet. + +%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 -l fr base +Un économiseur d'écran modulaire pour le système X Window. +Ce paquet contient le minimum vital pour éteindre et verouiller +votre écran. Les modes d'affichages graphiques sont inclus +dans les paquets "xscreensaver-extras" et "xscreensaver-gl-extras". + +%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 -l fr extras +Un économiseur d'écran modulaire pour le système X Window. +Ce paquet contient une pléthore d'économiseurs d'écran graphiques +pour votre plaisir des yeux. + +%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. + +%description -l fr gl-extras +Un économiseur d'écran modulaire pour le système X Window. +Ce paquet contient une pléthore d'économiseurs d'écran basés sur OpenGL (3D) +pour votre plaisir des yeux. %prep %setup -q +if [ -x %{_datadir}/libtool/config.guess ]; then + # use system-wide copy + cp -p %{_datadir}/libtool/config.{sub,guess} . +fi + %build -RPMOPTS="" +archdir=`./config.guess` +mkdir $archdir +cd $archdir -# Is this really needed? If so, why? -# %ifarch alpha -# RPMOPTS="$RPMOPTS --without-xshm-ext" -# %endif +export CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" -# On Solaris, build without PAM and with Shadow. -# On other systems, build with PAM and without Shadow. -# -%ifos solaris - RPMOPTS="$RPMOPTS --without-pam" -%else - RPMOPTS="$RPMOPTS --with-pam --without-shadow" -%endif +CONFIG_OPTS="--prefix=/usr --with-pam --without-shadow --without-kerberos" + +# Red Hat doesn't like this: +CONFIG_OPTS="$CONFIG_OPTS --with-setuid-hacks" -%{?USE_GL:RPMOPTS="$RPMOPTS --with-gl"} -%{!?USE_GL:RPMOPTS="$RPMOPTS --without-gl"} +# This is flaky: +# CONFIG_OPTS="$CONFIG_OPTS --with-login-manager" -CFLAGS="$RPM_OPT_FLAGS" \ - ./configure --prefix=%{prefix} \ - --enable-subdir=../lib/xscreensaver \ - $RPMOPTS +ln -s ../configure . +%configure $CONFIG_OPTS +rm -f configure make %install +archdir=`./config.guess` +cd $archdir -# This is a directory that "make install" won't make as needed -# (since Linux uses /etc/pam.d/* and Solaris uses /etc/pam.conf). -# -mkdir -p $RPM_BUILD_ROOT/etc/pam.d +rm -rf ${RPM_BUILD_ROOT} -# This is another (since "make install" doesn't try to install -# the xscreensaver.kss file unless $KDEDIR is set.) +# We have to make sure these directories exist, +# or nothing will be installed into them. # -if [ -z "$KDEDIR" ]; then export KDEDIR=/usr; fi -mkdir -p $RPM_BUILD_ROOT$KDEDIR/bin +mkdir -p $RPM_BUILD_ROOT%{_bindir} \ + $RPM_BUILD_ROOT%{_datadir}/xscreensaver \ + $RPM_BUILD_ROOT%{_libexecdir}/xscreensaver \ + $RPM_BUILD_ROOT%{_mandir}/man1/xscreensaver \ + $RPM_BUILD_ROOT/etc/pam.d -# And two more for Gnome (same reason...) -# -mkdir -p $RPM_BUILD_ROOT/usr/share/control-center/Desktop -mkdir -p $RPM_BUILD_ROOT/usr/share/gnome/apps/Settings/Desktop +make install_prefix=$RPM_BUILD_ROOT install -make install_prefix=$RPM_BUILD_ROOT \ - AD_DIR=%{prefix}/lib/X11/app-defaults \ - install-strip +desktop-file-install --vendor gnome --delete-original \ + --dir $RPM_BUILD_ROOT%{_datadir}/applications \ + $RPM_BUILD_ROOT%{_datadir}/applications/*.desktop -# Make a pair of lists, of the GL and non-GL executable. -# Do this by parsing the output of a dummy run of "make install" -# in the driver/, hacks/ and hacks/glx/ directories. +# 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 $1 | - sed -n -e 's@.* /\([^ ]*\)$@/\1@p' | - sed -e "s@^$RPM_BUILD_ROOT@@" \ - -e "s@/bin/\.\./@/@" | - sed -e 's@\(.*/man/.*\)@\1\*@' | - sort + make -s install_prefix=${RPM_BUILD_ROOT} INSTALL=true "$@" \ + | sed -n -e 's@.* \(/[^ ]*\)$@\1@p' \ + | sed -e "s@^${RPM_BUILD_ROOT}@@" \ + -e "s@/[a-z][a-z]*/\.\./@/@" \ + | sed -e 's@\(.*/man/.*\)@\1\*@' \ + | sed -e 's@\(.*/app-defaults/\)@%config \1@' \ + -e 's@\(.*/pam\.d/\)@%config(missingok) \1@' \ + | sort } -( cd hacks ; list_files install ; cd ../driver; list_files install-program ) \ - > $RPM_BUILD_DIR/xscreensaver-%{version}/exes-non-gl -( cd hacks/glx ; list_files install ) \ - > $RPM_BUILD_DIR/xscreensaver-%{version}/exes-gl +# 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 +#( cd po ; list_files install ) >> $dd/base.files +%find_lang %{name} +cat %{name}.lang >> $dd/base.files -# This line is redundant, except that it causes the "xscreensaver" -# executable to be installed unstripped (while all others are stripped.) -# You should install it this way so that jwz gets useful bug reports. +# Make sure all files are readable by all, and writable only by owner. # -install -m 4755 driver/xscreensaver $RPM_BUILD_ROOT%{prefix}/bin +chmod -R a+r,u+w,og-w ${RPM_BUILD_ROOT} -# Even if we weren't compiled with PAM support, make sure to include -# the PAM module file in the RPM anyway, just in case. -# -( cd driver ; - make install_prefix=$RPM_BUILD_ROOT PAM_DIR=/etc/pam.d install-pam ) +%clean +rm -rf ${RPM_BUILD_ROOT} -# Make sure all files are readable by all, and writable only by owner. +%post base +# This part runs on the end user's system, when the RPM is installed. + +# This will cause the screen to unlock, which annoys people. So, nevermind: +# people will just have to remember to re-launch it themselves, like they +# have to do with any other daemon they've upgraded. # -chmod -R a+r,u+w,og-w $RPM_BUILD_ROOT +#pids=`/sbin/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 -if [ -d $RPM_BUILD_ROOT-gl ]; then rm -r $RPM_BUILD_ROOT-gl ; fi +%files -f base.files base +%defattr(-,root,root) -%files -f exes-non-gl +%files -f extras.files extras %defattr(-,root,root) -# Files for the "xscreensaver" package: -# -%doc README README.debugging -%dir %{prefix}/lib/xscreensaver -%config %{prefix}/lib/X11/app-defaults/* - %{prefix}/man/man1/xscreensaver* - /etc/pam.d/* -%config(missingok) /usr/bin/*.kss -%config(missingok) /usr/share/control-center/Desktop/screensaver-properties.desktop -%config(missingok) /usr/share/gnome/apps/Settings/Desktop/screensaver-properties.desktop -%config(missingok) /usr/share/pixmaps/* - -# Files for the "xscreensaver-gl" package: -# -%{?USE_GL:%files -f exes-gl gl} +%files -f gl-extras.files gl-extras +%defattr(-,root,root) + +%changelog +* Fri Nov 4 2005 Eric Lassauge +- Updated french translations