6549N/A#
6549N/A# spec file for package [package-name]
6549N/A#
6549N/A# Copyright (c) 2005 Sun Microsystems, Inc.
6549N/A# This file and all modifications and additions to the pristine
6549N/A# package are under the same license as the package itself.
6549N/A#
6549N/A
6549N/A# Use the base name of the tarball to generate the RPM package name
6549N/A# Exceptions are glib2 and gtk2 [since these are already available under SLEC]
6549N/A
6549N/AName: [package-name]
6549N/A
6549N/A# GPL Applications, Utilities and Data
6549N/A# LGPL Libraries
6549N/A# There may be exceptions, so best to check tarball/COPYING file
6549N/A
6549N/ALicense: [package-license]
6549N/A
6549N/A# System/Libraries non GNOME specific libraries eg. gtk2, glib2, vte
6549N/A# System/Libraries/GNOME GNOME specific libraries
6549N/A# Development/Libraries non GNOME specific devel libraries eg. gtk2-devel, glib2-devel, vte-devel
6549N/A# Development/Libraries/GNOME GNOME specific
6549N/A# System/GUI non GNOME specific user interface components
6549N/A# System/GUI/GNOME GNOME specific user interface components
6549N/A# There will be exceptions, so use your own judgement eg. intltool, scrollkeeper
6549N/A
6549N/AGroup: [package-group]
6549N/A
6549N/A# Include only if the component doesn't contain any architecture dependant files eg. gnome-icon-theme
6549N/A
6549N/ABuildArchitectures: [noarch]
6549N/A
6549N/A# The version from the tarball. If updating the spec file for a new tarball version, reset the Release number to 1
6549N/A
6549N/AVersion: [package-version]
6549N/A
6549N/A# Any time you modify the spec file, you need to increment the Release number. New tarball versions should start with
6549N/A# the Release number to 1
6549N/A
6549N/ARelease: [package-release]
6549N/A
6549N/A# Standard values. Do not change.
6549N/ADistribution: Java Desktop System, Release 3
6549N/A
6549N/AVendor: Sun Microsystems, Inc.
6549N/A
6549N/A# Should be terse, yet descriptive eg. GNOME Terminal, GNOME Window Manager, Print Library for GNOME, GNOME Component
6549N/A# Library
6549N/A
6549N/ASummary: [package-summary]
6549N/A
6549N/A# Should represent the location of the bzip2 tarball on ftp.gnome.org
6549N/A# eg. http://ftp.gnome.org/pub/GNOME/sources/%{name}/2.2/%{name}-%{version}.tar.bz2
6549N/A# If further sources are to be added, then should have a SourceN: format, where N = 1, 2, 3 ...
6549N/A
6549N/ASource: [package-source]
6549N/A
6549N/A# Should represent the component project URL
6549N/A# eg. http://www.gnome.org for GNOME components
6549N/A
6549N/AURL: [project-url]
6549N/A
6549N/A# Standard value. You should not need to change this.
6549N/A
6549N/ABuildRoot: %{_tmppath}/%{name}-%{version}-build
6549N/A
6549N/A# Any files flagged with %doc in the %files directive get installed here. Need to decide if we should use this
6549N/A# for GNOME components or not. README, COPYING, ChangeLog, NEWS are usually typical examples are files being
6549N/A# flagged. Until that decision is made, do not change this.
6549N/A
6549N/ADocdir: %{_defaultdocdir}/doc
6549N/A
6549N/A# Should represent any patches applied to the original source tarball, where the format is PatchN, N = 1, 2, 3, ...
6549N/A# Do not add if there are no patches.
6549N/A
6549N/APatch1: [package-patch]
6549N/A
6549N/A# Standard value. Do not change.
6549N/A
6549N/AAutoreqprov: on
6549N/A
6549N/A# You generally use %defines for tracking Requires and BuildRequires. If you need to add more %defines, then you'd
6549N/A# better have a good reason. Use '_' where neccessary rather than '-'
6549N/A# eg. %define libgnomeui_version 2.2.1
6549N/A
6549N/A%define [package_define] [package_definition]
6549N/A
6549N/A# When you need to track runtime dependancies, Requires, use the rule -
6549N/A# o Find the list of packages the application/library links against
6549N/A# o Find the Highest Common Factors
6549N/A# We have been using 'jhbuild dot package' to do this. This also applies for buildtime dependancies,
6549N/A# BuildRequires. There doesn't seem to be a 'correct' solution, so you may have to use your own
6549N/A# judgement here - avoid listing dozens of dependancies.
6549N/A#
6549N/A# eg. libgnomeui
6549N/A# Requires: libbonoboui >= %{libbonoboui_version}
6549N/A# Requires: libglade >= %{libglade_version}
6549N/A# BuildRequires: libbonoboui-devel >= %{libbonoboui_version}
6549N/A# BuildRequires: libglade-devel >= %{libglade_version}
6549N/A# BuildRequires: popt >= %{popt_version}
6549N/A# BuildRequires: gtk-doc >= %{gtk_doc_version}
6549N/A#
6549N/A
6549N/ARequires: [package_required] >= [package_required_version]
6549N/ABuildRequires: [package_build_required] >= [package_required_version]
6549N/A
6549N/A# Include a paragraph for the description. Be as concise as possible. Do not list authors names or email addresses
6549N/A
6549N/A%description
6549N/A[package_description]
6549N/A
6549N/A# If your package provides a development package use a terse Summary eg. VTE Terminal Emulation Development Library
6549N/A# The Group should follow the guidelines as above.
6549N/A# Requires should mention the base package, plus any other required headers, right down to glib2. Make sure that you
6549N/A# don't add duplicated requirements eg. gtk2-devel requires glib2, libgnome-devl requires gtk2 but *not* glib2
6549N/A# The description should follow the guidelines as above
6549N/A
6549N/A%package devel
6549N/ASummary: [package_summary]
6549N/AGroup: [package_group]
6549N/ARequires: %{name} = %{version}
6549N/ARequires: [package_required] >= [package_required_version]
6549N/A
6549N/A%description devel
6549N/A[package_devel_description]
6549N/A
6549N/A# Standard values. You should not need to change, unless you have good reason eg. the package name is different from
6549N/A# the tarball name.
6549N/A
6549N/A%prep
6549N/A%setup -q
6549N/A
6549N/A# Include only if you have patches to apply. All patches should be 'p1'. N can be values of 1, 2, 3, ...
6549N/A
6549N/A%patchN -p1
6549N/A
6549N/A# Standard value. Do not change unless neccessary.
6549N/A# If package contains man pages, add --mandir=%{_mandir}.
6549N/A# If package contains libexec binaries, add --libexec=%{_libexecdir}
6549N/A# If package has specific options, please include
6549N/A#
6549N/A# If package contains gconf schemas, it will be neccessary to disable them until the post-install phase. You
6549N/A# can do this by the following -
6549N/A# export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1
6549N/A# make DESTDIR=$RPM_BUILD_ROOT
6549N/A# unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL
6549N/A
6549N/A%build
6549N/ACFLAGS="$RPM_OPT_FLAGS" \
6549N/A./configure --prefix=%{_prefix} \
6549N/A --sysconfdir=%{_sysconfdir}
6549N/Amake
6549N/A
6549N/A%install
6549N/Amake install DESTDIR=$RPM_BUILD_ROOT
6549N/A
6549N/A%clean
6549N/Arm -rf $RPM_BUILD_ROOT
6549N/A
6549N/A# Include only if package needs some special steps taken eg.
6549N/A#
6549N/A# scrollkeeper-update -q package installs scrollkeeper 'omf' files
6549N/A# package removes scrollkeeper 'omf' files
6549N/A#
6549N/A# /sbin/ldconfig package contains libraries
6549N/A# package removes libraries
6549N/A#
6549N/A# package installs gconf schemas
6549N/A# export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
6549N/A# SCHEMAS="package.schemas"
6549N/A# for S in $SCHEMAS; do
6549N/A# gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/$S > /dev/null
6549N/A# done
6549N/A
6549N/A%post
6549N/A[package_post_install_steps]
6549N/A
6549N/A%postun
6549N/A[package_post_uninstall_steps]
6549N/A
6549N/A# Should list the files to be packaged into the RPM.
6549N/A# Do not change the 'defattr'.
6549N/A# The base RPM should include binaries, libraries [.so.* only], man pages and other data files.
6549N/A# The devel RPM should include binaries, libraries [.so only], pkgconfig files, developer
6549N/A# documentation, but should not duplicate anything that has been already packaged into the base RPM.
6549N/A# Static libs should not be included in any package unless absolutely necessary.
6549N/A# In that case, include them in the -devel pkg.
6549N/A# Libtool's .la files should not be included in any package.
6549N/A#
6549N/A# Avoid using %{_prefix} and stick to the following macros
6549N/A# {_bindir} /usr/bin
6549N/A# {_libdir} /usr/lib
6549N/A# {_libexecdir} /usr/libexec
6549N/A# {_mandir} /usr/share/man
6549N/A# {_datadir} /usr/share
6549N/A# {_sysconfdir} /etc [note, you need to specify this at the %build stage]
6549N/A# {_includedir} /usr/include
6549N/A#
6549N/A# Use globs where possible eg. %{_bindir}/*
6549N/A#
6549N/A# Do not include directives %doc, %config, %docdir, %verify until we figure out a standard for these.
6549N/A
6549N/A%files
6549N/A%defattr(-,root,root)
6549N/A[package_files]
6549N/A
6549N/A# Include only if there is a devel package.
6549N/A
6549N/A%files devel
6549N/A%defattr(-,root,root)
6549N/A[package_devel_files]
6549N/A
6549N/A# Include a changelog entry with correct format eg. * Mon May 26 2004 - email@sun.com
6549N/A
6549N/A%changelog
6549N/A* [package_changelog_date_author]
6549N/A- [package_changelog_entry]