首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >支持Debian压缩的tomcat7

支持Debian压缩的tomcat7
EN

Server Fault用户
提问于 2013-02-26 00:14:49
回答 1查看 1K关注 0票数 2

我正在为我们的软件创建.deb安装包,它依赖于tomcat7。不幸的是,这个包并不存在于Debian中,它只随包tomcat6一起提供。

即将发布的Debian7 (Wheezy)发布了Tomcat 6和7。这是否意味着我可以从Wheezy获取源代码包,重新构建它以进行压缩,并将其与我们自己软件的构建一起放在我们的自定义存储库中?或者这可能会在某种程度上导致挤压系统上的冲突?

有几个地方的说明如何支持猫,然而,令我担心的是,Tomcat 7不是官方Debian6支持项目的一部分。我不想搞砸我们任何用户的系统。例如,如果他们试图在已经安装了tomcat6的系统上安装我们的软件,我认为这与tomcat7冲突。在这种情况下,它应该以与Wheezy或Ubuntu相同的方式优雅地解决这个问题。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2013-03-06 19:29:15

从您显示的链接来看,Tomcat7的后端似乎非常简单。如果一切运行良好,您应该最终得到一个满足您的需求的tomcat7包。但是..。

它可能在一年前起作用(当博客文章出现时),但现在我认为有一个陷阱。实际上,apt-get build-dep tomcat6这一步有点棘手。真正应该做的是apt-get build-dep tomcat7。一旦你尝试这样做,你就会发现这项工作有点乏味。其他一些软件包将作为构建依赖项出现,如果它们可用,您将需要安装它们,如果没有,则需要从源代码中构建它们。

构建过程

从我的试验中,我发现要能够为用户构建tomcat7,您需要:

  • 启用压缩支持并从其中安装maven-repo-helperjavahelper
  • 从喘息源构建jakarta-taglibs-standard并将其安装在您的生成机器上。

最后,正如我所做的那样,整个过程(截至2013年6月3日提供的版本号):

代码语言:javascript
运行
复制
# adding wheezy sources to your apt config and preparing the build host:
echo "deb http://backports.debian.org/debian-backports squeeze-backports main" >> /etc/apt/sources.list
echo "deb-src http://ftp.debian.org/debian/ wheezy main" >> /etc/apt/sources.list
apt-get update
apt-get install dpkg-dev build-essential fakeroot
# manually adding missing build dependencies
apt-get -t squeeze-backports install javahelper maven-repo-helper
# getting the source package for jakarta-taglibs-standard, building and installing it on the build machine:
cd /usr/local/src/
apt-get -t wheezy source jakarta-taglibs-standard
apt-get build-dep jakarta-taglibs-standard
cd jakarta-taglibs-standard-1.1.2
dpkg-buildpackage -rfakeroot -b
cd ..
dpkg -i libjstl1.1-java_1.1.2-2_all.deb
dpkg -i libjakarta-taglibs-standard-java_1.1.2-2_all.deb
# getting the source package for tomcat7 and building it (this takes some time...)
apt-get -t wheezy source tomcat7
apt-get build-dep tomcat7
cd tomcat7-7.0.28
dpkg-buildpackage -rfakeroot -b

tomcat7 7.0.28源代码包

的特点

上面列出的说明应该是所需的。但是,Wheezy/测试存储库中的tomcat7 7.0.28-4源代码包中有一个过期的证书(自签名的证书在2013年2月27日到期)。这将使构建在单元测试中失败。

解决这一问题的办法有两种:

  • 将构建机器上的日期更改为2013年2月27日之前,
  • 禁用构建的单元测试,这可以在build.properties.default文件中完成,您需要更改3个属性:
    • execute.test.bio=false
    • execute.test.nio=false
    • execute.test.apr=false

Installation

正如您在链接中所看到的,您将附带一些需要为用户提供的tomcat7-...包。最好是通过您自己的存储库,这样他们就可以轻松地安装所有这些了。

有了所有这些包,一切都应该是好的,您的用户实际上将有一个支持Tomcat 7的挤压。如果您的用户随后迁移到Wheezy,他们应该没有问题,因为Wheezy中的任何新Tomcat 7包的版本号都比您提供的版本要大。他们会得到Wheezy升级很好。

维护

您需要考虑的最后一件事是Tomcat 7的安全性或bug修复,稍后将进入Wheezy。如果Wheezy中弹出了一个严肃的tomcat7更新,那么您应该考虑重新构建自己的tomcat7包,并向用户提供相同的更新。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/482443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档