2000-04-28 23:14:47 +08:00
|
|
|
# $Id: macros.in,v 1.55 2000/04/28 15:14:47 jbj Exp $
|
1998-08-02 23:03:54 +08:00
|
|
|
#==============================================================================
|
|
|
|
# Macro naming conventions (preliminary):
|
|
|
|
#
|
|
|
|
# Macros that begin with an underscore are "local" in the sense that
|
1999-03-21 05:09:47 +08:00
|
|
|
# they (if used) will not be exported in rpm headers. Some macros
|
|
|
|
# that don't start with an underscore (but look like they should)
|
|
|
|
# are compatible with macros generated by rpm-2.5.x and will be made
|
|
|
|
# more consistent in a future release.
|
1998-08-02 23:03:54 +08:00
|
|
|
#
|
|
|
|
|
1999-05-15 02:59:43 +08:00
|
|
|
#==============================================================================
|
|
|
|
# ---- A macro that expands to nothing.
|
|
|
|
#
|
|
|
|
%nil %{!?nil}
|
|
|
|
|
1998-08-02 23:03:54 +08:00
|
|
|
#==============================================================================
|
|
|
|
# ---- filesystem macros.
|
|
|
|
#
|
1998-10-20 19:54:13 +08:00
|
|
|
%_usr @prefix@
|
|
|
|
%_usrsrc %{_usr}/src
|
|
|
|
%_var @varprefix@
|
1998-08-02 23:03:54 +08:00
|
|
|
|
|
|
|
#==============================================================================
|
1999-11-20 02:19:41 +08:00
|
|
|
# ---- Generally useful path macros.
|
1999-03-28 08:47:40 +08:00
|
|
|
#
|
1999-11-20 02:19:41 +08:00
|
|
|
%__awk @AWK@
|
1999-04-16 13:44:36 +08:00
|
|
|
%__bzip2 %{_bzip2bin}
|
|
|
|
%__cat @__CAT@
|
|
|
|
%__chgrp @__CHGRP@
|
|
|
|
%__chmod @__CHMOD@
|
|
|
|
%__chown @__CHOWN@
|
|
|
|
%__cp @__CP@
|
|
|
|
%__cpio @__CPIO@
|
2000-03-10 02:13:02 +08:00
|
|
|
%__grep @__GREP@
|
1999-04-16 13:44:36 +08:00
|
|
|
%__gzip %{_gzipbin}
|
|
|
|
%__id @__ID@
|
1999-11-20 02:19:41 +08:00
|
|
|
%__install @__INSTALL@
|
|
|
|
%__ln_s @LN_S@
|
1999-04-16 13:44:36 +08:00
|
|
|
%__make @__MAKE@
|
|
|
|
%__mkdir @__MKDIR@
|
1999-11-20 02:19:41 +08:00
|
|
|
%__mkdir_p @MKDIR_P@
|
1999-04-16 13:44:36 +08:00
|
|
|
%__mv @__MV@
|
|
|
|
%__patch @__PATCH@
|
2000-03-10 02:13:02 +08:00
|
|
|
%__perl @__PERL@
|
1999-11-20 02:19:41 +08:00
|
|
|
%__pgp %{_pgpbin}
|
1999-04-16 13:44:36 +08:00
|
|
|
%__rm @__RM@
|
1999-11-20 02:19:41 +08:00
|
|
|
%__rsh @__RSH@
|
2000-03-10 02:13:02 +08:00
|
|
|
%__sed @__SED@
|
1999-11-20 02:19:41 +08:00
|
|
|
%__ssh @__SSH@
|
1999-04-16 13:44:36 +08:00
|
|
|
%__tar @__TAR@
|
1999-03-28 08:47:40 +08:00
|
|
|
|
1999-11-20 02:19:41 +08:00
|
|
|
#==============================================================================
|
|
|
|
# ---- Build system path macros.
|
|
|
|
#
|
|
|
|
%__ar @AR@
|
|
|
|
%__cc @CC@
|
|
|
|
%__cpp @CPP@
|
2000-01-08 01:32:27 +08:00
|
|
|
%__ld @__LD@
|
|
|
|
%__nm @__NM@
|
1999-11-20 02:19:41 +08:00
|
|
|
%__objcopy @__OBJCOPY@
|
|
|
|
%__objdump @__OBJDUMP@
|
|
|
|
%__ranlib @RANLIB@
|
1999-11-24 08:03:54 +08:00
|
|
|
%__remsh %{__rsh}
|
1999-11-20 02:19:41 +08:00
|
|
|
%__strip @__STRIP@
|
|
|
|
|
|
|
|
# XXX avoid failures if tools are not installed when rpm is built.
|
1999-03-28 08:47:40 +08:00
|
|
|
%__libtoolize libtoolize
|
|
|
|
%__aclocal aclocal
|
|
|
|
%__autoheader autoheader
|
|
|
|
%__automake automake
|
|
|
|
%__autoconf autoconf
|
1998-08-02 23:03:54 +08:00
|
|
|
|
|
|
|
#==============================================================================
|
1999-03-21 05:09:47 +08:00
|
|
|
# ---- Required rpmrc macros.
|
|
|
|
# Macros that used to be initialized as a side effect of rpmrc parsing.
|
|
|
|
# These are the default values that can be overridden by other
|
2000-01-11 23:22:35 +08:00
|
|
|
# (e.g. per-platform, per-system, per-packager, per-package) macros.
|
1998-08-02 23:03:54 +08:00
|
|
|
#
|
|
|
|
%_builddir %{_topdir}/BUILD
|
1999-03-21 05:09:47 +08:00
|
|
|
%_buildshell /bin/sh
|
1998-08-02 23:03:54 +08:00
|
|
|
%_bzip2bin @BZIP2BIN@
|
|
|
|
%_dbpath %{_var}/lib/rpm
|
2000-01-18 02:12:32 +08:00
|
|
|
%_rebuilddbpath %{_dbpath}
|
2000-04-24 04:37:57 +08:00
|
|
|
%_dbpath_rebuild %{_dbpath}
|
1999-03-21 05:09:47 +08:00
|
|
|
%_defaultdocdir %{_usr}/doc
|
|
|
|
#
|
1999-07-24 03:19:15 +08:00
|
|
|
%__find_provides @FINDPROVIDES@
|
|
|
|
%__find_requires @FINDREQUIRES@
|
|
|
|
#%__find_prereq ???
|
|
|
|
#%__find_conflicts ???
|
|
|
|
#%__find_obsoletes ???
|
|
|
|
#
|
1999-03-21 05:09:47 +08:00
|
|
|
# XXX fixowner, fixgroup, and fixperms are run at the end of hardcoded setup
|
2000-03-10 02:13:02 +08:00
|
|
|
%__id_u @__ID_U@
|
|
|
|
%__chown_Rhf @__CHOWN_RHF@
|
|
|
|
%__chgrp_Rhf @__CHGRP_RHF@
|
|
|
|
%_fixowner [ `%{__id_u}` = '0' ] && %{__chown_Rhf} root
|
|
|
|
%_fixgroup [ `%{__id_u}` = '0' ] && %{__chgrp_Rhf} @ROOT_GROUP@
|
1999-04-16 13:44:36 +08:00
|
|
|
%_fixperms %{__chmod} -Rf @FIXPERMS@
|
1999-03-21 05:09:47 +08:00
|
|
|
#
|
1998-08-02 23:03:54 +08:00
|
|
|
%_gzipbin @GZIPBIN@
|
1999-03-21 05:09:47 +08:00
|
|
|
%_instchangelog 5
|
1999-03-22 02:43:22 +08:00
|
|
|
%_pgpbin @PGPBIN@
|
1998-08-02 23:03:54 +08:00
|
|
|
%_rpmdir %{_topdir}/RPMS
|
1999-03-21 05:09:47 +08:00
|
|
|
#
|
|
|
|
# XXX Note escaped %% for use in headerSprintf
|
|
|
|
%_rpmfilename %%{ARCH}/%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm
|
|
|
|
%_signature none
|
1998-08-02 23:03:54 +08:00
|
|
|
%_sourcedir %{_topdir}/SOURCES
|
|
|
|
%_specdir %{_topdir}/SPECS
|
|
|
|
%_srcrpmdir %{_topdir}/SRPMS
|
|
|
|
%_tmppath %{_var}/tmp
|
|
|
|
%_topdir %{_usrsrc}/redhat
|
2000-01-11 23:22:35 +08:00
|
|
|
|
1999-03-21 05:09:47 +08:00
|
|
|
#==============================================================================
|
|
|
|
# ---- Optional rpmrc macros.
|
1999-11-20 02:19:41 +08:00
|
|
|
# Macros that are initialized as a side effect of rpmrc and/or spec
|
|
|
|
# file parsing.
|
1999-03-21 05:09:47 +08:00
|
|
|
#
|
2000-01-11 23:22:35 +08:00
|
|
|
# Configurable build root path, same as BuildRoot: in a specfile.
|
|
|
|
# (Note: the configured macro value will override the spec file value).
|
|
|
|
#
|
1999-03-21 05:09:47 +08:00
|
|
|
#%buildroot
|
2000-01-11 23:22:35 +08:00
|
|
|
|
|
|
|
# The sub-directory (relative to %{_builddir}) where sources are compiled.
|
2000-01-13 05:48:58 +08:00
|
|
|
# This macro is set after processing %setup, either explicitly from the
|
|
|
|
# value given to -n or the default name-version.
|
2000-01-11 23:22:35 +08:00
|
|
|
#
|
1999-11-20 02:19:41 +08:00
|
|
|
#%buildsubdir
|
2000-01-11 23:22:35 +08:00
|
|
|
|
|
|
|
# Configurable distribution information, same as Distribution: in a
|
|
|
|
# specfile.
|
|
|
|
#
|
1999-03-21 05:09:47 +08:00
|
|
|
#%distribution
|
2000-01-11 23:22:35 +08:00
|
|
|
|
|
|
|
# Boolean (i.e. 1 == "yes", 0 == "no") that controls whether files
|
|
|
|
# marked as %doc should be installed.
|
1999-03-21 05:09:47 +08:00
|
|
|
#%_excludedocs
|
2000-01-11 23:22:35 +08:00
|
|
|
|
|
|
|
# The port and machine name of a FTP proxy host running TIS firewall.
|
|
|
|
#
|
1999-03-21 05:09:47 +08:00
|
|
|
#%_ftpport
|
|
|
|
#%_ftpproxy
|
2000-01-11 23:22:35 +08:00
|
|
|
|
|
|
|
# The signature to use and the location of configuration files for
|
|
|
|
# signing packages with GNU gpg.
|
|
|
|
#
|
1999-03-21 05:09:47 +08:00
|
|
|
#%_gpg_name
|
|
|
|
#%_gpg_path
|
2000-01-11 23:22:35 +08:00
|
|
|
|
|
|
|
# The port and machine name of an HTTP proxy host.
|
|
|
|
#
|
1999-03-21 05:09:47 +08:00
|
|
|
#%_httpport
|
|
|
|
#%_httpproxy
|
2000-01-11 23:22:35 +08:00
|
|
|
|
|
|
|
# The PATH put into the environment before running %pre/%post et al.
|
|
|
|
#
|
|
|
|
%_install_script_path /sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin
|
|
|
|
|
|
|
|
# A colon separated list of desired locales to be installed;
|
|
|
|
# "all" means install all locale specific files.
|
|
|
|
#
|
2000-01-12 03:12:34 +08:00
|
|
|
%_install_langs all
|
2000-01-11 23:22:35 +08:00
|
|
|
|
|
|
|
#
|
|
|
|
# Deprecated.
|
1999-03-21 05:09:47 +08:00
|
|
|
#%_langpatt
|
2000-01-11 23:22:35 +08:00
|
|
|
|
|
|
|
# A colon separated list of paths where files should *not* be installed.
|
|
|
|
# Usually, these are network file system mount points.
|
|
|
|
#
|
1999-03-21 05:09:47 +08:00
|
|
|
#%_netsharedpath
|
2000-01-11 23:22:35 +08:00
|
|
|
|
|
|
|
# Configurable packager information, same as Packager: in a specfile.
|
|
|
|
#
|
1999-03-21 05:09:47 +08:00
|
|
|
#%packager
|
2000-01-11 23:22:35 +08:00
|
|
|
|
2000-01-12 00:13:16 +08:00
|
|
|
# Compression type and level for package payloads.
|
|
|
|
# "w9.gzdio" gzip level 9 (default).
|
|
|
|
# "w9.bzdio" bzip2 level 9 (experimental, at your own risk).
|
|
|
|
#
|
|
|
|
#%_payload_compression w9.gzdio
|
|
|
|
|
2000-01-11 23:22:35 +08:00
|
|
|
# The signature to use and the location of configuration files for
|
|
|
|
# signing packages with PGP.
|
|
|
|
#
|
1999-03-21 05:09:47 +08:00
|
|
|
#%_pgp_name
|
|
|
|
#%_pgp_path
|
2000-01-11 23:22:35 +08:00
|
|
|
|
|
|
|
# Configurable virtual provides (unimplemented, use Provides: ...
|
|
|
|
# in an rpmrc file).
|
|
|
|
#
|
1999-03-21 05:09:47 +08:00
|
|
|
#%_provides
|
2000-01-11 23:22:35 +08:00
|
|
|
|
|
|
|
# Deprecated.
|
|
|
|
#
|
1999-03-21 05:09:47 +08:00
|
|
|
#%_timecheck
|
2000-01-11 23:22:35 +08:00
|
|
|
|
|
|
|
# Configurable vendor information, same as Vendor: in a specfile.
|
|
|
|
#
|
1999-03-28 05:40:56 +08:00
|
|
|
#%vendor
|
1999-03-14 06:37:47 +08:00
|
|
|
|
2000-04-24 04:37:57 +08:00
|
|
|
#==============================================================================
|
|
|
|
# ---- Database configuration macros.
|
|
|
|
# Macros used to configure Berkley db parameters.
|
|
|
|
#
|
2000-04-21 08:21:15 +08:00
|
|
|
# Choose db interface:
|
2000-03-31 03:22:46 +08:00
|
|
|
# 0 linux glibc libdb1 routines.
|
|
|
|
# 1 db_185.h interface in db2/db3 libdb.a.
|
|
|
|
# 2 native db2 interface.
|
|
|
|
# 3 native db3 interface.
|
2000-04-21 08:21:15 +08:00
|
|
|
# -1 db3 -> db2 -> db1 -> db0 (as available).
|
|
|
|
# There are two macros so that --rebuilddb can convert old_db_api -> new_db_api.
|
2000-04-26 03:41:37 +08:00
|
|
|
%_dbapi 0
|
2000-04-24 04:37:57 +08:00
|
|
|
%_dbapi_rebuild 3
|
2000-04-21 08:21:15 +08:00
|
|
|
|
2000-04-24 04:37:57 +08:00
|
|
|
#
|
|
|
|
# token Berkeley db flag or value
|
|
|
|
# =================================================
|
|
|
|
# recover DB_RECOVER
|
|
|
|
# recover_fatal DB_RECOVER_FATAL
|
|
|
|
# create DB_CREATE
|
|
|
|
# lockdown DB_LOCKDOWN
|
|
|
|
# cdb DB_INIT_CDB
|
|
|
|
# lock DB_INIT_LOCK
|
|
|
|
# log DB_INIT_LOG
|
|
|
|
# mpool DB_INIT_MPOOL
|
|
|
|
# txn DB_INIT_TXN
|
|
|
|
# nommap DB_NOMMAP
|
|
|
|
# private DB_PRIVATE
|
|
|
|
# shared DB_SYSTEM_MEM
|
|
|
|
# thread DB_THREAD
|
|
|
|
# txn_nosync DB_TXN_NOSYNC
|
|
|
|
# hash DB_HASH
|
2000-04-21 08:21:15 +08:00
|
|
|
#
|
2000-04-26 03:41:37 +08:00
|
|
|
# See http://www.sleepycat.com for Berkeley db-3.0.55 configuration.
|
|
|
|
#
|
2000-04-21 08:21:15 +08:00
|
|
|
# The (intended) default value for Red Hat Linux is
|
2000-04-24 04:37:57 +08:00
|
|
|
# hash:mpool:shared:lock
|
|
|
|
#
|
2000-04-26 03:41:37 +08:00
|
|
|
# Additional rpm specific configuration:
|
2000-04-24 04:37:57 +08:00
|
|
|
# teardown Should the DB3 environment be removed after use (experimental)?
|
|
|
|
# usecursors Should DB3 cursors be used in get/put/del (experimental)?
|
|
|
|
#
|
2000-04-28 23:14:47 +08:00
|
|
|
%__dbi_flags mpool:nommap
|
2000-04-24 04:37:57 +08:00
|
|
|
%__dbi_type hash
|
|
|
|
%__dbi_perms perms=0644
|
|
|
|
%__dbi_major db%{_dbapi}
|
2000-04-26 03:41:37 +08:00
|
|
|
%__dbi_other usecursors
|
2000-04-24 04:37:57 +08:00
|
|
|
%__dbi_verbose verbose
|
|
|
|
%__dbi_mp_mmapsize mp_mmapsize=16Mb
|
2000-04-28 23:14:47 +08:00
|
|
|
%__dbi_mp_size mp_size=4Mb
|
|
|
|
%__dbi_pagesize pagesize=16Kb
|
2000-03-31 03:22:46 +08:00
|
|
|
|
2000-04-26 03:41:37 +08:00
|
|
|
# This is a colon (or white space) separated list of tokens for Berkeley
|
|
|
|
# dbi configuration.
|
2000-04-24 04:37:57 +08:00
|
|
|
%_dbi_config \
|
|
|
|
%{__dbi_flags}\
|
|
|
|
%{__dbi_type}\
|
|
|
|
%{__dbi_perms}\
|
|
|
|
%{__dbi_major}\
|
|
|
|
%{__dbi_other}\
|
|
|
|
%{__dbi_verbose}\
|
|
|
|
%{__dbi_mp_mmapsize}\
|
|
|
|
%{__dbi_mp_size}\
|
2000-04-28 23:14:47 +08:00
|
|
|
%{__dbi_pagesize}\
|
2000-04-24 04:37:57 +08:00
|
|
|
%{nil}
|
2000-04-21 08:21:15 +08:00
|
|
|
|
2000-04-28 23:14:47 +08:00
|
|
|
# Depends is a per-transaction cache of known dependency resolutions.
|
|
|
|
%_dbi_config_Depends %{_dbi_config}:private:temporary
|
|
|
|
|
2000-04-26 03:41:37 +08:00
|
|
|
# This is the list of tags for which indices will be built.
|
2000-04-28 23:14:47 +08:00
|
|
|
%_dbi_indices Packages:Name:Basenames:Group:Requirename:Providename:Conflictname:Triggername:Depends
|
2000-03-31 03:22:46 +08:00
|
|
|
|
1999-03-14 06:37:47 +08:00
|
|
|
#==============================================================================
|
1999-03-14 08:34:52 +08:00
|
|
|
# ---- per-platform macros.
|
|
|
|
# Macros that are specific to an individual platform. The values here
|
|
|
|
# will be used if the per-platform macro file does not exist..
|
|
|
|
#
|
1999-03-14 06:37:47 +08:00
|
|
|
%_arch @RPMCANONARCH@
|
1999-03-28 05:40:56 +08:00
|
|
|
%_vendor @RPMCANONVENDOR@
|
1999-03-14 06:37:47 +08:00
|
|
|
%_os @RPMCANONOS@
|
1999-03-28 05:40:56 +08:00
|
|
|
%_target_platform %{_target_cpu}-%{_vendor}-%{_target_os}
|
1999-01-16 00:31:14 +08:00
|
|
|
#
|
|
|
|
# XXX use the rpmrc instantiated macro for now
|
|
|
|
#%optflags -O2
|
1998-08-02 23:03:54 +08:00
|
|
|
|
Hi!
I'd like to start building sparc64 packages (eventhough the install rule
details are yet to be designed - IMHO if 64bit SPARC userland is going into
7.0 we should rebuild all packages into 64bit in the next months or so to
have time to chase bugs etc.), and this is about what I need.
Basically I'd like to have %{_lib} to stand for the last part (normally
"lib") of dirname for directories like /lib, /usr/lib, /usr/X11R6/lib
because on sparc64-linux they are /lib64, /usr/lib64, /usr/X11R6/lib64 (and
on Solaris /lib/sparcv9, /usr/lib/sparcv9 etc.), so that one can use things
like
/usr/%{_lib} in the spec files.
Another thing which I need is an arch specific build root policy.
This patch does a few things:
1) add installplatform into EXTRA_DIST files, so that it is actually invoked
during rpm build not from CVS
2) Define %_lib lib and let target specific macros override it
3) Split __spec_install_post into __arch_install_post and __os_install_post,
--buildpolicy now specifies the __os_install_post part only. spec files
can still override the __arch_install_post if the want to.
brp-sparc64-linux is used to move 64bit libraries to */lib64 directories
from */lib directories if make install of some package left them there.
4) Change installplatform so that on sparc* it creates both sparc and
sparc64 target macro dirs (/usr/lib/rpm/sparc{,64}-redhat-linux in
sparc*-redhat-linux case).
CVS patchset: 3685
CVS date: 2000/04/19 16:03:49
2000-04-20 00:03:49 +08:00
|
|
|
%__arch_install_post %{nil}
|
|
|
|
%__os_install_post %{___build_post}
|
|
|
|
|
1998-09-06 07:13:35 +08:00
|
|
|
#==============================================================================
|
1999-11-20 02:19:41 +08:00
|
|
|
# ---- Scriptlet template templates.
|
2000-01-11 23:22:35 +08:00
|
|
|
# Global defaults used for building scriptlet templates.
|
1998-09-06 07:13:35 +08:00
|
|
|
#
|
2000-01-11 23:22:35 +08:00
|
|
|
# XXX legacy configuration, this will be eliminated after rpm-3.0.4.
|
1998-09-06 07:13:35 +08:00
|
|
|
%_preScriptEnvironment \
|
1999-11-20 02:19:41 +08:00
|
|
|
RPM_SOURCE_DIR=\"%{_sourcedir}\"\
|
|
|
|
RPM_BUILD_DIR=\"%{_builddir}\"\
|
|
|
|
RPM_OPT_FLAGS=\"%{optflags}\"\
|
|
|
|
RPM_ARCH=\"%{_arch}\"\
|
|
|
|
RPM_OS=\"%{_os}\"\
|
|
|
|
export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS\
|
|
|
|
RPM_DOC_DIR=\"%{_docdir}\"\
|
|
|
|
export RPM_DOC_DIR\
|
|
|
|
RPM_PACKAGE_NAME=\"%{name}\"\
|
|
|
|
RPM_PACKAGE_VERSION=\"%{version}\"\
|
|
|
|
RPM_PACKAGE_RELEASE=\"%{release}\"\
|
|
|
|
export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE\
|
|
|
|
%{?buildroot:RPM_BUILD_ROOT=\"%{buildroot}\"\
|
|
|
|
export RPM_BUILD_ROOT}
|
|
|
|
|
|
|
|
%___build_shell %{?_buildshell:%{_buildshell}}%{!?_buildshell:/bin/sh}
|
|
|
|
%___build_args -e
|
1999-11-24 08:03:54 +08:00
|
|
|
%___build_cmd %{?_sudo:%{_sudo} }%{?_remsh:%{_remsh} %{_remhost} }%{?_remsudo:%{_remsudo} }%{?_remchroot:%{_remchroot} %{_remroot} }%{___build_shell} %{___build_args}
|
1999-11-20 02:19:41 +08:00
|
|
|
%___build_pre \
|
|
|
|
RPM_SOURCE_DIR=\"%{u2p:%{_sourcedir}}\"\
|
|
|
|
RPM_BUILD_DIR=\"%{u2p:%{_builddir}}\"\
|
|
|
|
RPM_OPT_FLAGS=\"%{optflags}\"\
|
|
|
|
RPM_ARCH=\"%{_arch}\"\
|
|
|
|
RPM_OS=\"%{_os}\"\
|
|
|
|
export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS\
|
|
|
|
RPM_DOC_DIR=\"%{_docdir}\"\
|
|
|
|
export RPM_DOC_DIR\
|
|
|
|
RPM_PACKAGE_NAME=\"%{name}\"\
|
|
|
|
RPM_PACKAGE_VERSION=\"%{version}\"\
|
|
|
|
RPM_PACKAGE_RELEASE=\"%{release}\"\
|
|
|
|
export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE\
|
|
|
|
%{?buildroot:RPM_BUILD_ROOT=\"%{u2p:%{buildroot}}\"\
|
|
|
|
export RPM_BUILD_ROOT}\
|
|
|
|
\
|
|
|
|
%{verbose:set -x}%{!verbose:exec > /dev/null}\
|
|
|
|
umask 022\
|
|
|
|
cd %{u2p:%{_builddir}}\
|
|
|
|
|
|
|
|
|
|
|
|
#%___build_body %{nil}
|
|
|
|
%___build_post exit 0
|
|
|
|
|
|
|
|
%___build_template #!%{___build_shell}\
|
|
|
|
%{___build_pre}\
|
|
|
|
%{nil}
|
|
|
|
|
|
|
|
#%{___build_body}\
|
|
|
|
#%{___build_post}\
|
|
|
|
#%{nil}
|
|
|
|
|
|
|
|
#==============================================================================
|
|
|
|
# ---- Scriptlet templates.
|
|
|
|
# Macro(s) that expand to a command and script that is executed.
|
|
|
|
# CAVEAT: All macro expansions must fit in a BUFSIZ (8192 byte) buffer.
|
|
|
|
#
|
|
|
|
%__spec_prep_shell %{___build_shell}
|
|
|
|
%__spec_prep_args %{___build_args}
|
|
|
|
%__spec_prep_cmd %{___build_cmd}
|
|
|
|
%__spec_prep_pre %{___build_pre}
|
|
|
|
%__spec_prep_body %{___build_body}
|
|
|
|
%__spec_prep_post %{___build_post}
|
|
|
|
%__spec_prep_template #!%{__spec_prep_shell}\
|
|
|
|
%{__spec_prep_pre}\
|
|
|
|
%{nil}
|
|
|
|
|
|
|
|
#%{__spec_prep_body}\
|
|
|
|
#%{__spec_prep_post}\
|
|
|
|
#%{nil}
|
|
|
|
|
|
|
|
%__spec_build_shell %{___build_shell}
|
|
|
|
%__spec_build_args %{___build_args}
|
|
|
|
%__spec_build_cmd %{___build_cmd}
|
|
|
|
%__spec_build_pre %{___build_pre}
|
|
|
|
%__spec_build_body %{___build_body}
|
|
|
|
%__spec_build_post %{___build_post}
|
|
|
|
%__spec_build_template #!%{__spec_build_shell}\
|
|
|
|
%{__spec_build_pre}\
|
|
|
|
%{nil}
|
|
|
|
|
|
|
|
#%{__spec_build_body}\
|
|
|
|
#%{__spec_build_post}\
|
|
|
|
#%{nil}
|
|
|
|
|
|
|
|
%__spec_install_shell %{___build_shell}
|
|
|
|
%__spec_install_args %{___build_args}
|
|
|
|
%__spec_install_cmd %{___build_cmd}
|
|
|
|
%__spec_install_pre %{___build_pre}
|
|
|
|
%__spec_install_body %{___build_body}
|
Hi!
I'd like to start building sparc64 packages (eventhough the install rule
details are yet to be designed - IMHO if 64bit SPARC userland is going into
7.0 we should rebuild all packages into 64bit in the next months or so to
have time to chase bugs etc.), and this is about what I need.
Basically I'd like to have %{_lib} to stand for the last part (normally
"lib") of dirname for directories like /lib, /usr/lib, /usr/X11R6/lib
because on sparc64-linux they are /lib64, /usr/lib64, /usr/X11R6/lib64 (and
on Solaris /lib/sparcv9, /usr/lib/sparcv9 etc.), so that one can use things
like
/usr/%{_lib} in the spec files.
Another thing which I need is an arch specific build root policy.
This patch does a few things:
1) add installplatform into EXTRA_DIST files, so that it is actually invoked
during rpm build not from CVS
2) Define %_lib lib and let target specific macros override it
3) Split __spec_install_post into __arch_install_post and __os_install_post,
--buildpolicy now specifies the __os_install_post part only. spec files
can still override the __arch_install_post if the want to.
brp-sparc64-linux is used to move 64bit libraries to */lib64 directories
from */lib directories if make install of some package left them there.
4) Change installplatform so that on sparc* it creates both sparc and
sparc64 target macro dirs (/usr/lib/rpm/sparc{,64}-redhat-linux in
sparc*-redhat-linux case).
CVS patchset: 3685
CVS date: 2000/04/19 16:03:49
2000-04-20 00:03:49 +08:00
|
|
|
%__spec_install_post\
|
|
|
|
%{__arch_install_post}\
|
|
|
|
%{__os_install_post}\
|
|
|
|
%{nil}
|
1999-11-20 02:19:41 +08:00
|
|
|
%__spec_install_template #!%{__spec_install_shell}\
|
|
|
|
%{__spec_install_pre}\
|
|
|
|
%{nil}
|
|
|
|
|
|
|
|
#%{__spec_install_body}\
|
|
|
|
#%{__spec_install_post}\
|
|
|
|
#%{nil}
|
|
|
|
|
|
|
|
#%__spec_autodep_shell %{___build_shell}
|
|
|
|
#%__spec_autodep_args %{___build_args}
|
|
|
|
#%__spec_autodep_cmd %{___build_cmd}
|
|
|
|
#%__spec_autodep_pre %{___build_pre}
|
|
|
|
#%__spec_autodep_body %{___build_body}
|
|
|
|
#%__spec_autodep_post %{___build_post}
|
|
|
|
#%__spec_autodep_template #!%{__spec_autodep_shell}\
|
|
|
|
#%{__spec_autodep_pre}\
|
|
|
|
#%{nil}
|
|
|
|
|
|
|
|
#%{__spec_autodep_body}\
|
|
|
|
#%{__spec_autodep_post}\
|
|
|
|
#%{nil}
|
|
|
|
|
|
|
|
%__spec_clean_shell %{___build_shell}
|
|
|
|
%__spec_clean_args %{___build_args}
|
|
|
|
%__spec_clean_cmd %{___build_cmd}
|
|
|
|
%__spec_clean_pre %{___build_pre}
|
|
|
|
%__spec_clean_body %{___build_body}
|
|
|
|
%__spec_clean_post %{___build_post}
|
|
|
|
%__spec_clean_template #!%{__spec_clean_shell}\
|
|
|
|
%{__spec_clean_pre}\
|
|
|
|
%{nil}
|
|
|
|
|
|
|
|
#%{__spec_clean_body}\
|
|
|
|
#%{__spec_clean_post}\
|
|
|
|
#%{nil}
|
|
|
|
|
|
|
|
%__spec_rmbuild_shell %{___build_shell}
|
|
|
|
%__spec_rmbuild_args %{___build_args}
|
|
|
|
%__spec_rmbuild_cmd %{___build_cmd}
|
|
|
|
%__spec_rmbuild_pre %{___build_pre}
|
|
|
|
%__spec_rmbuild_body %{___build_body}
|
|
|
|
%__spec_rmbuild_post %{___build_post}
|
|
|
|
%__spec_rmbuild_template #!%{__spec_rmbuild_shell}\
|
|
|
|
%{__spec_rmbuild_pre}\
|
|
|
|
%{nil}
|
|
|
|
|
|
|
|
#%{__spec_rmbuild_body}\
|
|
|
|
#%{__spec_rmbuild_post}\
|
|
|
|
#%{nil}
|
|
|
|
|
|
|
|
# XXX We don't expand pre/post install scriptlets (yet).
|
|
|
|
#%__spec_pre_pre %{nil}
|
|
|
|
#%__spec_pre_post %{nil}
|
|
|
|
#%__spec_post_pre %{nil}
|
|
|
|
#%__spec_post_post %{nil}
|
|
|
|
#%__spec_preun_pre %{nil}
|
|
|
|
#%__spec_preun_post %{nil}
|
|
|
|
#%__spec_postun_pre %{nil}
|
|
|
|
#%__spec_postun_post %{nil}
|
|
|
|
#%__spec_triggerpostun_pre %{nil}
|
|
|
|
#%__spec_triggerpostun_post %{nil}
|
|
|
|
#%__spec_triggerun_pre %{nil}
|
|
|
|
#%__spec_triggerun_post %{nil}
|
|
|
|
#%__spec_triggerin_pre %{nil}
|
|
|
|
#%__spec_triggerin_post %{nil}
|
1998-09-06 07:13:35 +08:00
|
|
|
|
|
|
|
#==============================================================================
|
1998-10-20 19:54:13 +08:00
|
|
|
# ---- configure macros.
|
2000-01-11 23:22:35 +08:00
|
|
|
# Macro(s) slavishly copied from autoconf's config.status.
|
1998-10-20 19:54:13 +08:00
|
|
|
#
|
1998-12-02 07:28:26 +08:00
|
|
|
%_prefix @prefix@
|
1999-04-21 02:21:08 +08:00
|
|
|
%_exec_prefix %{_prefix}
|
|
|
|
%_bindir %{_exec_prefix}/bin
|
|
|
|
%_sbindir %{_exec_prefix}/sbin
|
|
|
|
%_libexecdir %{_exec_prefix}/libexec
|
|
|
|
%_datadir %{_prefix}/share
|
|
|
|
%_sysconfdir %{_prefix}/etc
|
|
|
|
%_sharedstatedir %{_prefix}/com
|
|
|
|
%_localstatedir %{_prefix}/var
|
Hi!
I'd like to start building sparc64 packages (eventhough the install rule
details are yet to be designed - IMHO if 64bit SPARC userland is going into
7.0 we should rebuild all packages into 64bit in the next months or so to
have time to chase bugs etc.), and this is about what I need.
Basically I'd like to have %{_lib} to stand for the last part (normally
"lib") of dirname for directories like /lib, /usr/lib, /usr/X11R6/lib
because on sparc64-linux they are /lib64, /usr/lib64, /usr/X11R6/lib64 (and
on Solaris /lib/sparcv9, /usr/lib/sparcv9 etc.), so that one can use things
like
/usr/%{_lib} in the spec files.
Another thing which I need is an arch specific build root policy.
This patch does a few things:
1) add installplatform into EXTRA_DIST files, so that it is actually invoked
during rpm build not from CVS
2) Define %_lib lib and let target specific macros override it
3) Split __spec_install_post into __arch_install_post and __os_install_post,
--buildpolicy now specifies the __os_install_post part only. spec files
can still override the __arch_install_post if the want to.
brp-sparc64-linux is used to move 64bit libraries to */lib64 directories
from */lib directories if make install of some package left them there.
4) Change installplatform so that on sparc* it creates both sparc and
sparc64 target macro dirs (/usr/lib/rpm/sparc{,64}-redhat-linux in
sparc*-redhat-linux case).
CVS patchset: 3685
CVS date: 2000/04/19 16:03:49
2000-04-20 00:03:49 +08:00
|
|
|
%_lib lib
|
|
|
|
%_libdir %{_exec_prefix}/%{_lib}
|
1999-04-21 02:21:08 +08:00
|
|
|
%_includedir %{_prefix}/include
|
|
|
|
%_oldincludedir /usr/include
|
1999-08-19 00:29:53 +08:00
|
|
|
%_infodir %{_prefix}/info
|
1999-04-21 02:21:08 +08:00
|
|
|
%_mandir %{_prefix}/man
|
|
|
|
|
|
|
|
#==============================================================================
|
|
|
|
# ---- config.guess platform macros.
|
|
|
|
# Macro(s) similar to the tokens used by configure.
|
|
|
|
#
|
1998-12-03 05:10:18 +08:00
|
|
|
%_build %{_host}
|
|
|
|
%_build_alias %{_host_alias}
|
|
|
|
%_build_cpu %{_host_cpu}
|
|
|
|
%_build_vendor %{_host_vendor}
|
|
|
|
%_build_os %{_host_os}
|
1998-10-20 19:54:13 +08:00
|
|
|
%_host @host@
|
|
|
|
%_host_alias @host_alias@
|
|
|
|
%_host_cpu @host_cpu@
|
|
|
|
%_host_vendor @host_vendor@
|
|
|
|
%_host_os @host_os@
|
1998-12-03 05:10:18 +08:00
|
|
|
%_target %{_host}
|
1999-03-12 13:57:01 +08:00
|
|
|
%_target_alias %{_host_alias}
|
|
|
|
%_target_cpu %{_host_cpu}
|
|
|
|
%_target_vendor %{_host_vendor}
|
|
|
|
%_target_os %{_host_os}
|
1999-01-20 01:23:32 +08:00
|
|
|
|
|
|
|
#==============================================================================
|
|
|
|
# ---- specfile macros.
|
|
|
|
# Macro(s) here can be used reliably for reproducible builds.
|
|
|
|
# (Note: Above is the goal, below are the macros under development)
|
|
|
|
#
|
|
|
|
# The configure macro does the following:
|
1999-03-14 06:37:47 +08:00
|
|
|
# optionally change to a subdirectory (not implemented).
|
|
|
|
# attempt to update config.guess and config.sub.
|
1999-01-20 01:23:32 +08:00
|
|
|
# run configure with correct prefix, platform, and CFLAGS.
|
1999-03-14 06:37:47 +08:00
|
|
|
# optionally restore current directory (not implemented).
|
1999-01-22 01:18:38 +08:00
|
|
|
# The configure macro should be invoked as %configure (rather than %{configure})
|
|
|
|
# because the rest of the arguments will be expanded using %*. Another
|
|
|
|
# gotcha is that arguments, if present, should be on the same line as the
|
|
|
|
# %configure.
|
1999-01-20 01:23:32 +08:00
|
|
|
#
|
1999-01-23 06:20:44 +08:00
|
|
|
%configure \
|
1999-01-20 01:23:32 +08:00
|
|
|
%{?__libtoolize:[ -f configure.in ] && %{__libtoolize} --copy --force} \
|
1999-03-14 07:29:59 +08:00
|
|
|
CFLAGS="%{optflags}" ./configure %{_target_platform} --prefix=%{_prefix}
|
1999-03-28 08:47:40 +08:00
|
|
|
|
2000-02-14 03:24:19 +08:00
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# This is an improved version of %configure that may replace the above
|
|
|
|
# macro at some point (from PLD team).
|
|
|
|
#
|
|
|
|
#%configure { CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \
|
|
|
|
# CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \
|
|
|
|
# FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ; \
|
|
|
|
# ./configure %{_target_platform} \
|
|
|
|
# --prefix=%{_prefix} \
|
|
|
|
# --exec-prefix=%{_exec_prefix} \
|
|
|
|
# --bindir=%{_bindir} \
|
|
|
|
# --sbindir=%{_sbindir} \
|
|
|
|
# --sysconfdir=%{_sysconfdir} \
|
|
|
|
# --datadir=%{_datadir} \
|
|
|
|
# --includedir=%{_includedir} \
|
|
|
|
# --libdir=%{_libdir} \
|
|
|
|
# --libexecdir=%{_libexecdir} \
|
|
|
|
# --localstatedir=%{_localstatedir} \
|
|
|
|
# --sharedstatedir=%{_sharedstatedir} \
|
|
|
|
# --mandir=%{_mandir} \
|
|
|
|
# --infodir=%{_infodir} }
|
|
|
|
|
1999-03-28 08:47:40 +08:00
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# The GNUconfigure macro does the following:
|
2000-02-14 03:24:19 +08:00
|
|
|
# update config.guess and config.sub.
|
|
|
|
# regenerate all autoconf/automake files
|
|
|
|
# optionally change to a directory (make the directory if requested).
|
|
|
|
# run configure with correct prefix, platform, and CFLAGS.
|
|
|
|
# optionally restore current directory.
|
|
|
|
#
|
|
|
|
# Based on autogen.sh from GNOME and orginal GNUconfigure
|
|
|
|
#
|
|
|
|
%GNUconfigure(MCs:) \
|
|
|
|
CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS; \
|
|
|
|
LDFLAGS="${LDFLAGS:-'%{-s:-s}'}" ; export LDFLAGS; \
|
|
|
|
%{-C:_mydir="`pwd`"; %{-M: %{__mkdir} -p %{-C*};} cd %{-C*}} \
|
|
|
|
dirs="`find ${_mydir} -name configure.in -print`"; export dirs; \
|
|
|
|
for coin in `echo ${dirs}` \
|
|
|
|
do \
|
|
|
|
dr=`dirname ${coin}`; \
|
|
|
|
if test -f ${dr}/NO-AUTO-GEN; then \
|
|
|
|
: \
|
|
|
|
else \
|
|
|
|
macrodirs=`sed -n -e 's,AM_ACLOCAL_INCLUDE(\(.*\)),\1,gp' < ${coin}`; \
|
|
|
|
( cd ${dr}; \
|
|
|
|
aclocalinclude="${ACLOCAL_FLAGS}"; \
|
|
|
|
for k in ${macrodirs}; do \
|
|
|
|
if test -d ${k}; then \
|
|
|
|
aclocalinclude="${aclocalinclude} -I ${k}"; \
|
|
|
|
##else \
|
|
|
|
## echo "**Warning**: No such directory \`${k}'. Ignored." \
|
|
|
|
fi \
|
|
|
|
done \
|
|
|
|
if grep "^AM_GNU_GETTEXT" configure.in >/dev/null; then \
|
|
|
|
if grep "sed.*POTFILES" configure.in >/dev/null; then \
|
|
|
|
: do nothing -- we still have an old unmodified configure.in \
|
|
|
|
else \
|
|
|
|
test -r ${dr}/aclocal.m4 || touch ${dr}/aclocal.m4; \
|
|
|
|
echo "no" | gettextize --force --copy; \
|
|
|
|
test -r ${dr}/aclocal.m4 && %{__chmod} u+w ${dr}/aclocal.m4; \
|
|
|
|
fi \
|
|
|
|
fi \
|
|
|
|
if grep "^AM_PROG_LIBTOOL" configure.in >/dev/null; then \
|
|
|
|
%{__libtoolize} --force --copy; \
|
|
|
|
fi \
|
|
|
|
aclocal ${aclocalinclude}; \
|
|
|
|
if grep "^AM_CONFIG_HEADER" configure.in >/dev/null; then \
|
|
|
|
%{__autoheader}; \
|
|
|
|
fi \
|
|
|
|
echo "Running automake --gnu ${am_opt} ..."; \
|
|
|
|
%{__automake} --add-missing --gnu ${am_opt}; \
|
|
|
|
%{__autoconf}; \
|
|
|
|
); \
|
|
|
|
fi \
|
|
|
|
done \
|
|
|
|
%{-C:${_mydir}}%{!-C:.}/configure %{_target_platform} --prefix=%{_prefix} --exec-prefix=%{_exec_prefix} --bindir=%{_bindir} --sbindir=%{_sbindir} --sysconfdir=%{_sysconfdir} --datadir=%{_datadir} --includedir=%{_includedir} --libdir=%{_libdir} --libexecdir=%{_libexecdir} --localstatedir=%{_localstatedir} --sharedstatedir=%{_sharedstatedir} --mandir=%{_mandir} --infodir=%{_infodir} %* ; \
|
1999-04-21 06:45:52 +08:00
|
|
|
%{-C:cd ${_mydir}; unset _mydir}
|
1999-05-06 03:01:01 +08:00
|
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# Useful perl macros (from Artur Frysiak <wiget@t17.ds.pwr.wroc.pl>)
|
|
|
|
#
|
|
|
|
# For example, these can be used as (from ImageMagick.spec from PLD site)
|
|
|
|
# [...]
|
|
|
|
# BuildPrereq: perl
|
|
|
|
# [...]
|
|
|
|
# %package perl
|
|
|
|
# Summary: libraries and modules for access to ImageMagick from perl
|
|
|
|
# Group: Development/Languages/Perl
|
|
|
|
# Requires: %{name} = %{version}
|
|
|
|
# %requires_eq perl
|
|
|
|
# [...]
|
|
|
|
# %install
|
|
|
|
# rm -fr $RPM_BUILD_ROOT
|
|
|
|
# install -d $RPM_BUILD_ROOT/%{perl_sitearch}
|
|
|
|
# [...]
|
|
|
|
# %files perl
|
|
|
|
# %defattr(644,root,root,755)
|
|
|
|
# %{perl_sitearch}/Image
|
|
|
|
# %dir %{perl_sitearch}/auto/Image
|
|
|
|
#
|
1999-05-11 06:58:35 +08:00
|
|
|
%requires_eq() %(LC_ALL="C" rpm -q --queryformat 'Requires:%%{NAME} = %%{VERSION}' %1| grep -v "is not")
|
1999-05-06 03:01:01 +08:00
|
|
|
%perl_sitearch %(eval "`perl -V:installsitearch`"; echo $installsitearch)
|
|
|
|
%perl_archlib %(eval "`perl -V:installarchlib`"; echo $installarchlib)
|
2000-02-14 03:24:19 +08:00
|
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# arch macro for all Intel i?86 compatibile processors
|
|
|
|
# (Note: This macro (and it's analogues) will probably be obsoleted when
|
|
|
|
# rpm can use regular expressions against target platforms in macro
|
|
|
|
# conditionals. This change will be introduced after rpm-3.0.4).
|
|
|
|
#
|
|
|
|
%ix86 i386 i486 i586 i686 i786 i886 i986
|
|
|
|
|
|
|
|
#------------------------------------------------------------------------
|
|
|
|
# Use in %install to generate locale specific file lists. For example,
|
|
|
|
#
|
|
|
|
# %install
|
|
|
|
# ...
|
|
|
|
# %find_lang %{name}
|
|
|
|
# ...
|
|
|
|
# %files -f %{name}.lang
|
|
|
|
#
|
|
|
|
%find_lang @RPMCONFIGDIR@/find-lang.sh %{buildroot}
|
|
|
|
|