⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 097.htm

📁 LINUX的操作系统分析文件和使用文件
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- saved from url=(0056)http://data.km169.net/wsxx/showjq.asp?id=1406&type=LINUX --><html><head><title>New Page 1</title><meta content="text/html; charset=gb2312" http-equiv="Content-Type"><meta content="Microsoft FrontPage 3.0" name="GENERATOR"><meta content="FrontPage.Editor.Document" name="ProgId"><!--webbot bot="HTMLMarkup" startspan TAG="XBOT" --></SCRIPT><!--webbot bot="HTMLMarkup" endspan--><style>A:link {	COLOR: #4444ff; TEXT-DECORATION: underline}A:visited {	COLOR: #4444ff; TEXT-DECORATION: underline}A:active {	TEXT-DECORATION: none}A:hover {	COLOR: #ff0000; TEXT-DECORATION: none}BODY {	COLOR: #505050; FONT-FAMILY: 宋体; FONT-SIZE: 9pt}TD {	FONT-FAMILY: 宋体; FONT-SIZE: 9pt}TD.a {	FONT-FAMILY: 宋体; FONT-SIZE: 9pt}TD.b {	FONT-FAMILY: 宋体; FONT-SIZE: 11pt; font-color: #ff0000}.other1 {	FONT-SIZE: 9pt; LETTER-SPACING: 0px; LINE-HEIGHT: 18px}.other2 {	FONT-SIZE: 10.5pt}</style></head><body bgColor="#FFFFFF" leftMargin="7" topMargin="7"><hr SIZE="0"><p><b><font color="#fe3a42">标题: ■&nbsp;</font><font color="#9b004e"> </font>RPM HOWTO (RPM at Idle) : . Multi-architectural RPM Building</b><br>姓名 :Donnie Barnes<br>Email:<br>地址 :djb@redhat.com<br>转摘 :http://member.netease.com/</p><p align="center"><a href="linux.htm">返回</a></p><hr SIZE="0"><p><br>7. Multi-architectural RPM Building <br>RPM 目前可用於 build 各式作业平台之程式套件, 如 Intel i386、安装 Linux 之 Digital Alpha、 与 Sparc 机器,而且有人测试报告, 说明它也可以在 SGI 与 HP 工作站上使用。 RPM 有许多特色, 使得它能够轻松地支援在各式作业平台上 build 程式套件, 第一个特色便是在 /etc/rpmrc 档案里的 ``optflags'' 设定项目, 当我们在 build 软体套件时,它可用於指定平台架构的相关设定值。 另一个特色是 spec 档案里的 ``arch'' macro 项目, 根据所要进行 build 的平台架构,您可以指定它们执行不同的工作。另一个特色是在档案 header 处的 ``Exclude'' 设定项目。 <br><br>7.1. Sample spec File <br>下列以 ``fileutils'' 程式套件为例, 其 spec 档案的部份内容,可用来在 Alpha 与 Intel 平台架构上, 进行 build 的工作。 <br><br>Summary: GNU File Utilities <br>Name: fileutils <br>Version: 3.16 <br>Release: 1 <br>Copyright: GPL <br>Group: Utilities/File <br>Source0: prep.ai.mit.edu:/pub/gnu/fileutils-3.16.tar.gz <br>Source1: DIR_COLORS <br>Patch: fileutils-3.16-mktime.patch <br><br>%description <br>These are the GNU file management utilities. It includes programs <br>to copy, move, list, etc, files. <br><br>The ls program in this package now incorporates color ls! <br><br>%prep <br>%setup <br><br>%ifarch alpha <br>%patch -p1 <br>autoconf <br>%endif <br>%build <br>configure --prefix=/usr --exec-prefix=/ <br>make CFLAGS=&quot;$RPM_OPT_FLAGS&quot; LDFLAGS=-s <br><br>%install <br>rm -f /usr/info/fileutils* <br>make install <br>gzip -9nf /usr/info/fileutils* <br><br>. <br>. <br>. <br><br><br>7.2. Optflags <br>在此一□例中, 您可以发现 ``optflags'' 设定项目,是如何由 /etc/rpmrc 档案中发挥作用。首先决定您所进行 build 动作的机器, 是哪一种平台架构,请将其正确之设定值, 指定到 RPM_OPT_FLAGS。您必须针对程式套件之 Makefile 档案, 进行 patch 的动作,将一些通用的变数设定值, 加以改变以适用於您的环境 ( 如 -m486 与 -O2 )。您可以 install 这份 source 套件, 接著解开 source 并检查其 Makefile 档案,以进一步找出更好的设定方式, 然後观察 Makefile 的 patch 内容,以了解我们必须做哪些改变。 <br><br>7.3. Macros <br>%ifarch 此一 macro 设定项目是非常重要的, 在许多场合,您须要只针对某一特定平台架构, 进行一两个 patch 工作,这种情况下, RPM 能够让您仅针对某一平台架构, 采用必要的 patch。 <br><br>在上述□例中, fileutils 有个提供给 64 bit 机器使用的 patch,很明显地, 这项 patch 仅需要由 Alpha 机器所采用, 因此,我们针对 64 bit 的 patch 部份, 增加一个 %ifarch 的 macro 设定项目, 其□例如下: <br><br><br>%ifarch axp <br>%patch1 -p1 <br>%endif <br><br>这样能保证, 除了 Alpha 机器之外, 其他平台架构的机器并不会采用此 patch。 <br><br>7.4. Excluding Architectures from Packages <br>您可以在一个目录内, 同时管理各式作业平台的 RPM 原始档案,这项功能使得我们在制作程式套件的时候, 不必限定於某些作业平台上。因此您可以这样下指令: <br><br>rpm --rebuild /usr/src/SRPMS/*.rpm <br><br>使得正确的程式套件能够被 build。如果您尚未移植某个应用程式至某一特定的作业平台,可以加上这样的一行内容: <br>ExcludeArch: axp <br><br>到 source 程式套件当中, spec 档案的 header 处,然後在原本进行 build 的作业平台上, 再做一次 rebuild 动作。此时, 您就有了一份在 Intel 机器上 build 完成的 source 程式套件,同时它也很容易便能移□至 Alpha 机器上。 <br><br>7.5. Finishing Up <br>使用 RPM 来制作「多作业平台」的程式套件, 通常会比各别在该平台制作来得容易,而且随著您制作越多的程式套件, 其效应会更加明显, 因为,我们可以参考其他类似的原始程式套件内容, 得以处理制作时遇到的问题。 <br><br><br>8. Copyright Notice <br>本说明文件及其内容, 均受版权所保护, 在原文保持完整、 未被更动的情况下,允许将其转载, 也就是说, 您仅能对原文加以重新排版、 重新列印、 或进行转录。 <br></p><hr SIZE="0"><p align="center"><a href="linux.htm">返回</a></p><p> </p></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -