📄 amanda.spec
字号:
## Copyright (C) 2005 Zmanda Incorporated.# All Rights Reserved.## This program is free software; you can redistribute it and/or modify it# under the terms of the GNU General Public License version 2 as published# by the Free Software Foundation.# # This program is distributed in the hope that it will be useful, but# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License# for more details.# # You should have received a copy of the GNU General Public License along# with this program; if not, write to the Free Software Foundation, Inc.,# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA# # Contact information: Zmanda Inc, 505 N Mathlida Ave, Suite 120# Sunnyvale, CA 94085, USA, or: http://www.zmanda.com#%define build_srpm 0%{?srpm_only: %define build_srpm 1}# Pkg-config sometimes needs its own path set, and we need to allow users to# override our guess during detection. This macro takes care of that.# If no --define PKG_CONFIG_PATH was passed and env var $PKG_CONFIG_PATH is # set then use the env var.%{!?PKG_CONFIG_PATH: %{expand:%(echo ${PKG_CONFIG_PATH:+"%%define PKG_CONFIG_PATH $PKG_CONFIG_PATH"})}}%{?PKG_CONFIG_PATH:%{echo:PKG_CONFIG_PATH = %{PKG_CONFIG_PATH}}}# Define which Distribution we are building:# Try to detect the distribution we are building:%if %{_vendor} == redhat # Fedora symlinks /etc/fedora-release to /etc/redhat-release for at least # fc3-7. So RHEL and Fedora look at the same file. The awk trickery here # forces the field to be numeric so that the spec comparison works %if %(awk '{print $1}' /etc/redhat-release) == "Fedora" && %(awk '{print $4+0}' /etc/redhat-release) == 3 %define dist fedora %define disttag fc %define distver 3 %endif %if %(awk '{print $1}' /etc/redhat-release) == "Fedora" && %(awk '{print$4+0}' /etc/redhat-release) == 4 %define dist fedora %define disttag fc %define distver 4 %endif %if %(awk '{print $1}' /etc/redhat-release) == "Fedora" && %(awk '{print $4+0}' /etc/redhat-release) == 5 %define dist fedora %define disttag fc %define distver 5 %endif %if %(awk '{print $1}' /etc/redhat-release) == "Fedora" && %(awk '{print $4+0}' /etc/redhat-release) == 6 %define dist fedora %define disttag fc %define distver 6 %endif %if %(awk '{print $1}' /etc/redhat-release) == "Fedora" && %(awk '{print $3+0}' /etc/redhat-release) == 7 %define dist fedora %define disttag fc %define distver 7 %endif %if %(awk '{print $1}' /etc/redhat-release) == "Fedora" && %(awk '{print $3+0}' /etc/redhat-release) == 8 %define dist fedora %define disttag fc %define distver 8 # TODO: generalize this so that any platform can cross compile %if %{_host_cpu} == x86_64 && %{_target_cpu} == i686 # Do nothing if PKG_CONFIG_PATH was set by the user above. %{!?PKG_CONFIG_PATH: %define PKG_CONFIG_PATH /usr/lib/pkgconfig} %endif %endif %if %(awk '{print $1}' /etc/redhat-release) == "Red" && %(awk '{print $7+0}' /etc/redhat-release) == 3 %define dist redhat %define disttag rhel %define distver 3 %endif %if %(awk '{print $1}' /etc/redhat-release) == "Red" && %(awk '{print $7+0}' /etc/redhat-release) == 4 %define dist redhat %define disttag rhel %define distver 4 %endif %if %(awk '{print $1}' /etc/redhat-release) == "Red" && %(awk '{print $7+0}' /etc/redhat-release) == 5 %define dist redhat %define disttag rhel %define distver 5 %endif%endif# Detect Suse variants. Suse gives us some nice macros in their rpms%if %{_vendor} == "suse" %if %{suse_version} == 910 %define dist SuSE %define disttag sles %define distver 9 %endif %if %{suse_version} == 1010 %define dist SuSE %define disttag sles %define distver 10 %endif %if %{suse_version} == 1000 %define dist SuSE %define disttag suse %define distver 10 %endif%endif# Set options per distribution%if %{dist} == redhat || %{dist} == fedora %define rpm_group Applications/Archiving %define xinetd_reload restart%endif%if %{dist} == SuSE %define rpm_group Productivity/Archiving/Backup %define xinetd_reload restart%endif%define packer %(%{__id_u} -n)# --- Definitions ---# Define amanda_version if it is not already defined.%{!?amanda_version: %define amanda_version 2.6.0p1}%{!?amanda_release: %define amanda_release 1}%define amanda_version_info "Amanda Community Edition - version %{amanda_version}"%define amanda_user amandabackup%define amanda_group disk%define udpportrange "700,740"%define tcpportrange "11000,11040"%define low_tcpportrange "700,710"Summary: The Amanda Backup and Archiving SystemName: amandaVersion: %{amanda_version}%define rpm_release %{amanda_release}.%{disttag}%{distver}%if %{build_srpm}%define rpm_release %{amanda_release}%endifRelease: %{rpm_release}Source: %{name}-%{version}.tar.gzLicense: http://wiki.zmanda.com/index.php/Amanda_CopyrightVendor: Zmanda, Inc.Packager: www.zmanda.comBuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%{packer}-buildrootGroup: %{rpm_group}# TODO - Need required versions for these:BuildRequires: autoconfBuildRequires: automakeBuildRequires: binutilsBuildRequires: bisonBuildRequires: flexBuildRequires: gccBuildRequires: glibc >= 2.2.0BuildRequires: readlineBuildRequires: curl >= 7.10.0Requires: /bin/awkRequires: /bin/dateRequires: /usr/bin/idRequires: /sbin/ldconfigRequires: /bin/shRequires: /usr/sbin/useraddRequires: /usr/sbin/usermodRequires: fileutilsRequires: grepRequires: gnuplotRequires: libc.so.6Requires: libm.so.6Requires: libnsl.so.1Requires: curl >= 7.10.0Requires: xinetdRequires: perl >= 5.6.0Requires: tar >= 1.15%if %{dist} == redhat || %{dist}== fedoraRequires: libtermcap.so.2Requires: initscripts%endifProvides: amanda-backup_client = %{amanda_version}, amanda-backup_server = %{amanda_version}%package backup_clientSummary: The Amanda Backup and Archiving ClientGroup: %{rpm_group}Requires: /bin/awkRequires: fileutilsRequires: grep%if %{dist} == redhat || %{dist}== fedoraRequires: libtermcap.so.2Requires: initscripts%endifRequires: xinetdRequires: libc.so.6Requires: libm.so.6Requires: libnsl.so.1Requires: perl >= 5.6.0Requires: tar >= 1.15Provides: amanda-backup_client = %{amanda_version}Provides: libamclient-%{version}.so = %{amanda_version}Provides: libamanda-%{version}.so = %{amanda_version}Conflicts: amanda-backup_server %package backup_serverSummary: The Amanda Backup and Archiving ServerGroup: %{rpm_group}Requires: /bin/awkRequires: fileutilsRequires: grepRequires: libc.so.6Requires: libm.so.6Requires: libnsl.so.1%if %{dist} == redhat || %{dist}== fedoraRequires: libtermcap.so.2Requires: initscripts%endifRequires: xinetdRequires: perl >= 5.6.0Requires: tar >= 1.15Provides: amanda-backup_server = %{amanda_version}Provides: libamclient-%{version}.so = %{amanda_version}Provides: libamanda-%{version}.so = %{amanda_version}Provides: libamserver-%{version}.so = %{amanda_version}Provides: librestore-%{version}.so = %{amanda_version}Provides: libamtape-%{version}.so = %{amanda_version}Provides: libamdevice-%{version}.so = %{amanda_version}# --- Package descriptions ---%descriptionAmanda is the leading Open-Source Backup and Archiving software.The amanda-backup_server package should be installed on the Amanda server, i.e. the machine attached to backup media (such as a tape drive or disk drives) where backups will be written. The amanda-backup_server packageincludes Amanda client. The amanda-backup_client package needs to be installed on every system that is being backed up.Amanda Forums is located at: http://forums.zmanda.com/Amanda Documentation is available at: http://wiki.zmanda.com/%description backup_serverAmanda is the leading Open-Source Backup and Archiving software.This package contains the Amanda server. The amanda-backup_server package should be installed on the Amanda server, i.e. the machine attached to backup media (such as a tape drive or disk drives) where backups will be written. The amanda-backup_server package includes Amanda client.Amanda Forums is located at: http://forums.zmanda.com/Amanda Documentation is available at: http://wiki.zmanda.com/%description backup_clientAmanda is the leading Open-Source Backup and Archiving software.This package contains the Amanda client. The amanda-backup_client package needs to be installed on every system that is being backed up.Amanda Forums is located at: http://forums.zmanda.com/Amanda Documentation is available at: http://wiki.zmanda.com/# --- Directory setup ---# Configure directories:%define PREFIX /usr%define EPREFIX %{PREFIX}%define BINDIR %{EPREFIX}/bin%define SBINDIR %{EPREFIX}/sbin%define LIBEXECDIR %{EPREFIX}/libexec%define AMLIBEXECDIR %{LIBEXECDIR}/amanda%define DATADIR %{PREFIX}/share%define SYSCONFDIR /etc%define LOCALSTATEDIR /var%define AMANDAHOMEDIR %{LOCALSTATEDIR}/lib/amanda%ifarch x86_64%define LIBDIR %{EPREFIX}/lib64
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -