Home | History | Annotate | Download | only in docs
      1 #
      2 # spec file for package [package-name]
      3 #
      4 # Copyright (c) 2005 Sun Microsystems, Inc.
      5 # This file and all modifications and additions to the pristine
      6 # package are under the same license as the package itself.
      7 #
      8 
      9 # Use the base name of the tarball to generate the RPM package name
     10 # Exceptions are glib2 and gtk2 [since these are already available under SLEC]
     11 
     12 Name:			[package-name]
     13 
     14 # GPL				Applications, Utilities and Data
     15 # LGPL				Libraries
     16 # There may be exceptions, so best to check tarball/COPYING file
     17 
     18 License:		[package-license]
     19 
     20 # System/Libraries		non GNOME specific libraries eg. gtk2, glib2, vte
     21 # System/Libraries/GNOME	GNOME specific libraries
     22 # Development/Libraries		non GNOME specific devel libraries eg. gtk2-devel, glib2-devel, vte-devel
     23 # Development/Libraries/GNOME   GNOME specific 
     24 # System/GUI			non GNOME specific user interface components
     25 # System/GUI/GNOME		GNOME specific user interface components
     26 # There will be exceptions, so use your own judgement eg. intltool, scrollkeeper
     27 
     28 Group:			[package-group]
     29 
     30 # Include only if the component doesn't contain any architecture dependant files eg. gnome-icon-theme
     31 
     32 BuildArchitectures:	[noarch]
     33 
     34 # The version from the tarball. If updating the spec file for a new tarball version, reset the Release number to 1
     35 
     36 Version:		[package-version]
     37 
     38 # Any time you modify the spec file, you need to increment the Release number. New tarball versions should start with
     39 # the Release number to 1
     40 
     41 Release:		[package-release]
     42 
     43 # Standard values. Do not change.
     44 Distribution:		Java Desktop System, Release 3
     45 
     46 Vendor:			Sun Microsystems, Inc.
     47 
     48 # Should be terse, yet descriptive eg. GNOME Terminal, GNOME Window Manager, Print Library for GNOME, GNOME Component
     49 # Library
     50 
     51 Summary:		[package-summary]
     52 
     53 # Should represent the location of the bzip2 tarball on ftp.gnome.org 
     54 # eg. http://ftp.gnome.org/pub/GNOME/sources/%{name}/2.2/%{name}-%{version}.tar.bz2
     55 # If further sources are to be added, then should have a SourceN: format, where N = 1, 2, 3 ...
     56 
     57 Source:			[package-source]
     58 
     59 # Should represent the component project URL
     60 # eg. http://www.gnome.org for GNOME components
     61 
     62 URL:			[project-url]
     63 
     64 # Standard value. You should not need to change this.
     65 
     66 BuildRoot:		%{_tmppath}/%{name}-%{version}-build
     67 
     68 # Any files flagged with %doc in the %files directive get installed here. Need to decide if we should use this
     69 # for GNOME components or not. README, COPYING, ChangeLog, NEWS are usually typical examples are files being
     70 # flagged. Until that decision is made, do not change this.
     71 
     72 Docdir:			%{_defaultdocdir}/doc
     73 
     74 # Should represent any patches applied to the original source tarball, where the format is PatchN, N = 1, 2, 3, ...
     75 # Do not add if there are no patches.
     76 
     77 Patch1:			[package-patch]
     78 
     79 # Standard value. Do not change.
     80 
     81 Autoreqprov:		on
     82 
     83 # You generally use %defines for tracking Requires and BuildRequires. If you need to add more %defines, then you'd
     84 # better have a good reason. Use '_' where neccessary rather than '-'
     85 # eg. %define libgnomeui_version 2.2.1
     86 
     87 %define			[package_define]	[package_definition]
     88 
     89 # When you need to track runtime dependancies, Requires, use the rule -
     90 #	o Find the list of packages the application/library links against
     91 #       o Find the Highest Common Factors
     92 # We have been using 'jhbuild dot package' to do this. This also applies for buildtime dependancies,
     93 # BuildRequires. There doesn't seem to be a 'correct' solution, so you may have to use your own 
     94 # judgement here - avoid listing dozens of dependancies.
     95 #
     96 # eg. libgnomeui
     97 # Requires:		libbonoboui	  >= %{libbonoboui_version}
     98 # Requires:		libglade	  >= %{libglade_version}
     99 # BuildRequires:	libbonoboui-devel >= %{libbonoboui_version}
    100 # BuildRequires:	libglade-devel    >= %{libglade_version}
    101 # BuildRequires:	popt		  >= %{popt_version}
    102 # BuildRequires:	gtk-doc		  >= %{gtk_doc_version}
    103 #
    104 
    105 Requires:		[package_required]	 >= [package_required_version]
    106 BuildRequires:		[package_build_required] >= [package_required_version]
    107 
    108 # Include a paragraph for the description. Be as concise as possible. Do not list authors names or email addresses
    109 
    110 %description
    111 [package_description]
    112 
    113 # If your package provides a development package use a terse Summary eg. VTE Terminal Emulation Development Library
    114 # The Group should follow the guidelines as above.
    115 # Requires should mention the base package, plus any other required headers, right down to glib2. Make sure that you
    116 # don't add duplicated requirements eg. gtk2-devel requires glib2, libgnome-devl requires gtk2 but *not* glib2
    117 # The description should follow the guidelines as above
    118 
    119 %package devel
    120 Summary:		[package_summary]
    121 Group:			[package_group]
    122 Requires:		%{name} = %{version}
    123 Requires:		[package_required] >= [package_required_version]
    124 
    125 %description devel
    126 [package_devel_description]
    127 
    128 # Standard values. You should not need to change, unless you have good reason eg. the package name is different from
    129 # the tarball name.
    130 
    131 %prep
    132 %setup -q
    133 
    134 # Include only if you have patches to apply. All patches should be 'p1'. N can be values of 1, 2, 3, ...
    135 
    136 %patchN -p1
    137 
    138 # Standard value. Do not change unless neccessary.
    139 # If package contains man pages, add --mandir=%{_mandir}.
    140 # If package contains libexec binaries, add --libexec=%{_libexecdir}
    141 # If package has specific options, please include
    142 #
    143 # If package contains gconf schemas, it will be neccessary to disable them until the post-install phase. You
    144 # can do this by the following -
    145 # export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1
    146 # make DESTDIR=$RPM_BUILD_ROOT
    147 # unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL
    148 
    149 %build
    150 CFLAGS="$RPM_OPT_FLAGS"			\
    151 ./configure --prefix=%{_prefix}			\
    152 	    --sysconfdir=%{_sysconfdir}
    153 make
    154 
    155 %install
    156 make install DESTDIR=$RPM_BUILD_ROOT
    157 
    158 %clean
    159 rm -rf $RPM_BUILD_ROOT
    160 
    161 # Include only if package needs some special steps taken eg.
    162 #
    163 #	scrollkeeper-update -q			package installs scrollkeeper 'omf' files
    164 #						package removes scrollkeeper 'omf' files
    165 #
    166 #	/sbin/ldconfig				package contains libraries
    167 #						package removes libraries
    168 #
    169 #						package installs gconf schemas
    170 #	export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
    171 #	SCHEMAS="package.schemas"
    172 #	for S in $SCHEMAS; do
    173 #		gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/$S > /dev/null
    174 #	done
    175 
    176 %post
    177 [package_post_install_steps]
    178 
    179 %postun
    180 [package_post_uninstall_steps]
    181 
    182 # Should list the files to be packaged into the RPM.
    183 # Do not change the 'defattr'.
    184 # The base RPM should include binaries, libraries [.so.* only], man pages and other data files.
    185 # The devel RPM should include binaries, libraries [.so only], pkgconfig files, developer 
    186 # documentation, but should not duplicate anything that has been already packaged into the base RPM.
    187 # Static libs should not be included in any package unless absolutely necessary.
    188 # In that case, include them in the -devel pkg.
    189 # Libtool's .la files should not be included in any package.
    190 #
    191 # Avoid using %{_prefix} and stick to the following macros
    192 #	{_bindir}		/usr/bin
    193 #	{_libdir}		/usr/lib
    194 #	{_libexecdir}		/usr/libexec
    195 #	{_mandir}		/usr/share/man
    196 #	{_datadir}		/usr/share
    197 #	{_sysconfdir}		/etc		[note, you need to specify this at the %build stage]
    198 #	{_includedir}		/usr/include
    199 #
    200 # Use globs where possible eg. %{_bindir}/*
    201 #
    202 # Do not include directives %doc, %config, %docdir, %verify until we figure out a standard for these.
    203 
    204 %files
    205 %defattr(-,root,root)
    206 [package_files]
    207 
    208 # Include only if there is a devel package.
    209 
    210 %files devel
    211 %defattr(-,root,root)
    212 [package_devel_files]
    213 
    214 # Include a changelog entry with correct format eg. * Mon May 26 2004 - email (at] sun.com
    215 
    216 %changelog
    217 * [package_changelog_date_author]
    218 - [package_changelog_entry]
    219