SUNWxscreensaver.spec revision 18828
#
# spec file for xscreensaver packages
#
# SVR4 names: pkg(5)/IPS names:
# SUNWxscreensaver desktop/xscreensaver
# SUNWxscreensaver-hacks desktop/xscreensaver/hacks
# SUNWxscreensaver-hacks-gl desktop/xscreensaver/hacks/hacks-gl
# SUNWrss-glx desktop/xscreensaver/hacks/rss-glx
#
# includes module(s): xscreensaver, rss-glx
#
# This file and all modifications and additions to the pristine
# packages are under the same license as the packages themselves.
#
#
%{?sf_download:#}%define sf_download http://downloads.sourceforge.net
SUNW_Desc: XScreenSaver is two things: it is both a large collection of screen savers (distributed in the "hacks" packages) and it is also the framework for blanking and locking the screen (this package).
Version: %{src_version}
SUNW_BaseDir: %{_basedir}
# date:2008-12-15 owner:alanc type:bug bugster:6785377
# date:2006-05-10 owner:alanc type:branding bugster:6526791
# date:2006-05-10 owner:alanc type:branding
# date:2006-05-10 owner:alanc type:branding bugster:6770336
# date:2006-05-10 owner:alanc type:branding
# date:2006-05-10 owner:alanc type:feature
# bugster:6735203,6673036,6484604,6673036,6670025,6611183,6478362,6417168
# bugster:6346056,6308859,6269444,6182506,6237901,5039878,6178584,5039876
# bugster:5077993,5077989,5079870,4931584,5039876,5059445,4782515,4783832
# bugster:6845751,5083155,6176524,6541240,6839026,6825374,6769901,6857559
# bugster:6475285,6670659,6461887,6395649,6520014,6736157,6573182
# date:2006-05-10 owner:ma54148 type:feature bugster:4849641
# date:2006-05-10 owner:alanc type:feature bugster:5077981,6176524
# date:2006-05-10 owner:alanc type:feature bugster:5077966,6836372
# date:2006-05-10 owner:alanc type:l10n bugster:6203951
# date:2006-05-10 owner:alanc type:feature
# date:2006-05-10 owner:alanc type:bug bugster:4832530
# date:2006-05-10 owner:johnfisc type:feature
# bugster:6673036,6451477,6698996,6845488,6845488
# date:2006-06-07 owner:ma54148 type:feature
# bugster:5015296,6417168,6654320
# date:2006-08-09 owner:alanc type:branding
%else
# date:2006-08-09 owner:alanc type:branding
# date:2006-08-09 owner:alanc type:branding
# date:2008-01-03 owner:samlau type:bug bugster:6610282
# date:2008-02-11 owner:uejio type:bug bugster:6583181
# date:2008-02-27 owner:ma54148 type:bug bugster:6585644
# date:2008-06-03 owner:uejio type:bug bugster:6583247
# date:2009-02-05 owner:alanc type:bug bugster:4802301
# date:2009-07-31 owner:bp230705 type:bug bugster:6859039
# date:2010-05-26 owner:john.fischer & arvind.umrao type:bug bugster:6757448,6924996
# date:2008-03-07 owner:alanc type:branding
# date:2008-03-07 owner:alanc type:branding
SUNW_BaseDir: %{_basedir}
# Need to have the 10.0 first so our version number is higher than
# the 6.9.0 version number used when delivered from X gate
SUNW_BaseDir: %{_basedir}
# Need to have the 10.0 first so our version number is higher than
# the 6.9.0 version number used when delivered from X gate
SUNW_BaseDir: %{_basedir}
Version: %{rss_version}
%if %build_l10n
SUNW_BaseDir: %{_basedir}
%prep
%if %build_l10n
%else
# Adjust man pages to Solaris standards:
# - add paths to synopsis
# - add attributes section to end with package info & stability
-a '{Availability, %{pkg5_name_base}}' \
-a '{Interface Stability, Volatile}' \
-a '{Availability, %{pkg5_name_base}}' \
-a '{Interface Stability, Private}' \
-p %{xss_libdir}/bin/ \
-a '{Availability, %{pkg5_name_hacks}}' \
-a '{Interface Stability, Private}' \
-p %{xss_libdir}/hacks/ \
-a '{Availability, %{pkg5_name_hacks_gl}}' \
-a '{Interface Stability, Private}' \
-p %{xss_libdir}/hacks/ \
-a '{Availability, %{pkg5_name_hacks_rss}}' \
-a '{Interface Stability, Private}' \
-p %{xss_libdir}/hacks/ \
src/*.1
# Clear pictures we don't want in build
CPUS=1
fi
# Mapfile flags copied from X - these are generically good for all libraries
# and applications and should probably move to Solaris.inc in the future.
# See the comments in each mapfile for a description of what it does.
# so that it's harder for attackers to exploit buffer overflows
# SPARC architecture requires PLT section in .data be executable, so
# we can only make .bss, not all of .data no-exec on SPARC
%else
# Flags useful for libraries, shared objects, and programs
# XScreenSaver
export GNOME_DATADIR='%{xss_libdir}/config'
export GLADE_DATADIR='%{xss_libdir}/config'
# Force building with mesa headers & libraries to make sure we build the
# same on all systems, whether or not proprietary GL from Sun or nVidia is
# also installed and don't end up accidentally depending on those.
# so we create local install path to work around that.
# Additional optimization flags, to make the hacks show off the hardware
# better and because for just a screensaver display we can get away with
# using optimizations that may change strict correctness of floating point ops.
%if %cc_is_gcc
%else
export CFLAGS="-v %optflags %extra_opt_flags %mesa_includes"
export CXXFLAGS="+w2 %cxx_optflags %extra_opt_flags %mesa_includes"
export LDFLAGS="%mesa_libpath %_ldflags %mapfiles_for_all %mapfiles_for_progs"
# Several patches change configure.in & Makefile.in files, so autoreconf
--localstatedir=%{_localstatedir} \
# Update potfiles.in to pick up our added sources like lock-Gtk.c
cd po
# FIXME: hack, add "-o Makefile" to avoid looping.
# FIXME: hack: stop the build from looping
# RSS-GLX hacks
./configure \
--prefix=%{xss_libdir} \
--bindir='$(prefix)/hacks' \
--localstatedir=%{_localstatedir} \
CPPFLAGS="-D_FILE_OFFSET_BITS=64"
# Remove hacks we've chosen not to ship at all for various reasons
REMOVED_HACKS="extrusion flyingtoasters ljlatest sonar webcollage"
for h in ${REMOVED_HACKS} ; do
done
# Move rss-glx man pages to section 6 (games/amusements) to match xscreensaver
for m in */*.1 ; do
done
# Don't need to ship static libraries in the package
# Run script to add rss-glx hacks to XScreenSaver app-defaults, then delete it
cd ${RPM_BUILD_ROOT}
# Make compatibility links for SUNWxscreensaver
../../bin/xscreensaver-command \
../../bin/xscreensaver-demo \
# This function prints a list of things that get installed.
# It does this by parsing the output of a dummy run of "make install".
echo '%%defattr(-,root,bin)'
echo '%%dir %%attr(0755, root, bin) %%{xss_libdir}'
echo '%%dir %%attr(0755, root, bin) %%{xss_libdir}/hacks'
echo '%%dir %%attr(0755, root, bin) %%{xss_libdir}/config/control-center-2.0'
echo '%%dir %%attr(0755, root, sys) %%{_datadir}'
echo '%%dir %%attr(0755, root, bin) %%{_mandir}'
echo '%%dir %%attr(0755, root, bin) %%{_mandir}/man6'
-e "s@/[a-z][a-z]*/\.\./@/@" \
-e 's@/man1/\(.*\)\.1$@/man6/\1.6@' \
-e 's@\(.*/man/.*\)@%%doc \1@' \
| sort -u
}
# Make sure that there were at least some files found
exit 1
}
}
# Make lists of which hacks go into which addon package
(cd hacks ; list_files install ) > hacks.files
(cd hacks/glx ; list_files install ) > hacks-gl.files
(cd src ; list_files install-data-am install-exec-am ) > rss-glx.files
%if %build_l10n
%else
# REMOVE l10n FILES
%{?pkgbuild_postprocess: %pkgbuild_postprocess -v -s -c "%{version}:%{jds_version}:%{name}:$RPM_ARCH:%(date +%%Y-%%m-%%d):%{support_level}" $RPM_BUILD_ROOT}
# xscreensaver must be setuid root in order to do PAM authentication
%{_bindir}/xscreensaver-command
%if %build_l10n
don't get XErrors when we process them and try to restack a destroyed window.
- Pass through some additional messages from the upstream code, like the
"(Caps Lock?)" when authentication fails & Caps Lock was on and the counts
of failed login attempts.
* Wed Jun 2 2010 - alan.coopersmith@oracle.com
- Use gnome-help to display man pages instead of running "man" in a terminal
* Tue Jun 1 2010 - alan.coopersmith@oracle.com
- Fix XErrors from XRestackWindow calls by major overhaul of accessibility
- Merge patch 18 into patch 6, renumber patches 19-25 to fill the hole
- Remove some unnecessary changes from patches
* Thu May 27 2010 - brian.cameron@oracle.com
- Fixed prompting for new password when a users password is expired.
- Improve appearance of unlock dialog
* Wed May 26 2010 - alan.coopersmith@oracle.com
- Merge patches 18 & 19
- Move %descriptions to SUNW_Desc in spec file
- Make code more readable/maintainable by cleaning up comments,
making formatting & indentation consistent.
- Fix some copyright dates based on history from X gate
- Change a few more #ifdef sun to #ifdef __sun for consistency.
* Wed May 26 2010 - arvind.umrao
- Added patch xscreensaver-26-bug-xrandr.diff for bug bugster:6757448,6924996
* Tue May 25 2010 - brian.cameron@oracle.com
- Bump to 5.11. Remove upstream patches. Merge several patches so that
patches do not apply on top of other patches so much. Cleanup.
* Fri Mar 12 2010 - alan.coopersmith@sun.com
are not needed on IPS-installed machines)
* Mon Mar 1 2010 - alan.coopersmith@sun.com
- Use new IPS package names in man page attributes setting in .spec file
and in hacks packages message in xscreensaver-05-solaris-paths.diff
* Mon Feb 15 2010 - arvind.umrao@sun.com
- Add xscreensaver-53-bug-6924996.diff to fix CR#6924996
* Thu Feb 04 2010 - harry.fu@sun.com
- Add po-sun translations.
* Tue Jan 26 2010 - dave.lin@sun.com
- Mark SUNWxwsvr as Nevada only package.
* Thu Dec 31 2009 - naveen.gundlagutta@sun.com
- 6865652: Add xscreensaver-50-bug-6865652.diff to disable restart, kill options in xscreensaver-demo in trusted solaris
- 6832923: Add xscreensaver-52-bug-6832923.diff to prevent xscreensaver from crashing in sunray.
* Wed Dec 23 2009 - alan.coopersmith@sun.com
- Move app-defaults file to /usr/share/X11/app-defaults
SUNWxorg-mesa is delivered on SPARC in snv_130
- Report error if none of the GL hacks were built instead of quietly
building empty packages for them
* Tue Dec 22 2009 - alan.coopersmith@sun.com
- Add xscreensaver-51-dpms-headers.diff to build with snv_130 X headers