热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

redhatas4几个原代码包的编译

文章标题:redhatas4几个原代码包的编译。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

  非正版的AS4无法下载更新包,我们只能自己到ftp://updates.redhat.com/enterprise/4AS/en/os/SRPMS 目录下去下载src.rpm来自己编译。多数包都可以顺利编译通过,但是在我编译过程中有以下几个包花了些功夫
  
  1 thunderbird-1.0.2-1.4.1.src.rpm
  
  直接rpmbuild --rebuild thunderbird-1.0.2-1.4.1.src.rpm可以顺利编译,但是就是无法安装提示
  error: unpacking of archive failed on file /usr/lib/thunderbird-1.0.2/defaults/pref/all-redhat.js;42ae6fc9: cpio: MD5 sum mismatch
  
  解决办法:
  
  修改thunderbird.spec文件146-147行:
  
  代码:
  %{__cat} %{SOURCE10} | %{__sed} -e 's,THUNDERBIRD_RPM_VR,%{version}-%{release},g' %{__sed} -e 's,COMMAND,%{tbdir}/open-browser.sh,g' > rh-default-prefs
  为
  
  代码:
  %{__cat} %{SOURCE10} | %{__sed} -e 's,THUNDERBIRD_RPM_VR,%{version}-%{release},g' | %{__sed} -e 's,COMMAND,%{tbdir}/open-browser.sh,g' > rh-default-prefs
  然后用rpmbuild -ba thunderbird.spec即可顺利安装
  
  2 comps-4AS-0.20050525.src.rpm
  
  这个文件很麻烦,因为这个文件是redhat发行版的,这个文件记录了发行版的comps文件(也就是我们在软件包管理器里看到的各种分类)以及文件的头信息,而相信大家的机器上不可能有redhat的编译打包目录,所以找不到编译这个包需要.discnfo,hdlist,hdlist2以及comps.xml,我采用了变通的办法,利用系统原来的comps文件来编译新的comps文件,因为我对发行版制作不是很熟悉因此不敢担保这么作以后会不会对system-config-packages有影响,至少我升级后我的系统没发现有什么问题。
  
  解决方法:
  cd /usr/share/comps/i386
  cp .discinfo ../..
  rpm -ivh comps-4AS-0.20050525.src.rpm
  rpmbuild --define="basedir /usr/share/comps/i386" --define="compsversion 4AS" -ba comps-redhat.spec
  即可成功编译
  这个包升级不升级都无所谓,只是我不想看见rh升级提醒那个红灯
  
  3 rpmdb-redhat-4-0.20050525.src.rpm
  
  这个包需要修改specs文件否则也无法编译过去
  rpm -ivh rpmdb-redhat-4-0.20050525.src.rpm
  vi /usr/src/redhat/SPECS/rpmdb-redhat-rhel4.spec.in 加入
  %define rpmdbtree /usr/src/redhat/RPMS
  %define rpmdbname redhat
  %define rpmdbversion 4
  此外还得将:
  
  代码:
  
  cat > ${RPM_BUILD_ROOT}%{_sysconfdir}/rpm/macros.solve <  #    The path to the dependency universe database. The default value
  #    is the rpmdb-redhat location. The macro is usually defined in
  #    /etc/rpm/macros.solve, installed with the rpmdb-redhat package.
  %%_solve_dbpath /usr/lib/rpmdb/%{_arch}-%{_vendor}-%{_os}/redhat
  
  #    The path to the dependency universe packages. This should
  #    be a path to the packages contained in the solve database.
  %%_solve_pkgsdir /var/spool/up2date
  
  #    The output binary package file name template used when suggesting
  #    binary packages that solve a dependency. The macro is usually defined
  #    in /etc/rpm/macros.solve, installed with the rpmdb-redhat package.
  #
  # XXX  Note: escaped %%% for use in headerSprintf()
  %%_solve_name_fmt    %{?_solve_pkgsdir}%%%{NAME}-%%%{VERSION}-%%%{RELEASE}.%%%{ARCH}.rpm
  EOF
  
  改为代码:
  
  cat > ${RPM_BUILD_ROOT}%{_sysconfdir}/rpm/macros.solve <  #    The path to the dependency universe database. The default value
  #    is the rpmdb-redhat location. The macro is usually defined in
  #    /etc/rpm/macros.solve, installed with the rpmdb-redhat package.
  %%_solve_dbpath /usr/lib/rpmdb/%{_arch}-%{_vendor}-%{_os}/redhat
  
  #    The path to the dependency universe packages. This should
  #    be a path to the packages contained in the solve database.
  %%_solve_pkgsdir /var/spool/up2date
  
  #    The output binary package file name template used when suggesting
  #    binary packages that solve a dependency. The macro is usually defined
  #    in /etc/rpm/macros.solve, installed with the rpmdb-redhat package.
  #
  # XXX  Note: escaped %%% for use in headerSprintf()
  %%_solve_name_fmt    %{?_solve_pkgsdir}%%%{NAME}-%%%{VERSION}-%%%{RELEASE}.%%%{ARCH}.rpm
  EOF
  
推荐阅读
  • 本文介绍了ArcXML配置文件的分类及其在不同服务中的应用,详细解释了地图配置文件的结构和功能,包括其在Image Service、Feature Service以及ArcMap Server中的使用方法。 ... [详细]
  • 本文详细介绍如何利用已搭建的LAMP(Linux、Apache、MySQL、PHP)环境,快速创建一个基于WordPress的内容管理系统(CMS)。WordPress是一款流行的开源博客平台,适用于个人或小型团队使用。 ... [详细]
  • 本文详细介绍了 RosPack 类的功能和用法,探讨了其在 ROS 系统中的重要作用。RosPack 类提供了类似于终端命令 rospack 的功能,能够方便地查询和管理 ROS 包的相关信息。 ... [详细]
  • 本文探讨了如何使用自增和自减运算符遍历二维数组中的元素。通过实例详细解释了指针与二维数组结合使用的正确方法,并解答了常见的错误用法。 ... [详细]
  • Struts与Spring框架的集成指南
    本文详细介绍了如何将Struts和Spring两个流行的Java Web开发框架进行整合,涵盖从环境配置到代码实现的具体步骤。 ... [详细]
  • 本文介绍如何将自定义项目设置为Tomcat的默认访问项目,使得通过IP地址访问时直接展示该自定义项目。提供了三种配置方法:修改项目路径、调整配置文件以及使用WAR包部署。 ... [详细]
  • 本文介绍了如何通过设置背景形状来轻松地为 Android 的 TextView 添加圆形边框。我们将详细讲解 XML 代码的配置,包括圆角、描边和填充等属性。 ... [详细]
  • 在成功安装和测试MySQL及Apache之后,接下来的步骤是安装PHP。为了确保安全性和配置的一致性,建议在安装PHP前先停止MySQL和Apache服务,并将MySQL集成到PHP中。 ... [详细]
  • 本文探讨了Java编程的核心要素,特别是其面向对象的特性,并详细介绍了Java虚拟机、类装载器体系结构、Java类文件和Java API等关键技术。这些技术使得Java成为一种功能强大且易于使用的编程语言。 ... [详细]
  • 本文详细介绍了如何在PHP中使用serialize()和unserialize()函数,以及它们在数据传输和存储中的应用。 ... [详细]
  • 阿里云ecs怎么配置php环境,阿里云ecs配置选择 ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • 本文介绍如何使用 Android 的 Canvas 和 View 组件创建一个简单的绘图板应用程序,支持触摸绘画和保存图片功能。 ... [详细]
  • 本文介绍了如何利用 Spring Boot 和 Groovy 构建一个灵活且可扩展的动态计算引擎,以满足钱包应用中类似余额宝功能的推广需求。我们将探讨不同的设计方案,并最终选择最适合的技术栈来实现这一目标。 ... [详细]
  • 采用IKE方式建立IPsec安全隧道
    一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ... [详细]
author-avatar
不会游泳的鱼
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有