不使用apt升级xdebug?

use*_*394 4 make debian apt

我正在运行 debian 5.0.6 并通过 aptitude 安装了 xdebug 2.0.3。现在我想安装 PHPUnit,当尝试通过 pear 安装时,我收到错误消息,PHPUnit 需要更新的 xdebug

phpunit/PHPUnit requires PHP extension "xdebug" (version >= 2.0.5), installed version is 2.0.3
Run Code Online (Sandbox Code Playgroud)

查看 debian 站点,我没有看到 2.0.5 的包。在 apt 系统之外尝试升级 xdebug 是否安全?我并不完全清楚这些东西( php、apache2 和 xdebug )是如何相互关联的,我不想破坏事情并有停机时间。我粗略的猜测是我会构建 xdebug 2.0.5,然后重新启动 Apache。如果我一个人去,当 xdebug 包出来时,aptitude 会不会在以后绊倒?

Gil*_*il' 6

在squeeze中有一个足够新的xdebug版本(Debian的下一个版本,现在任何一个月都可以准备好)。它没有正式的向后移植到稳定版(否则向后移植将列在xdebug 包搜索页面上)。二进制包依赖于最新版本的 PHP,但您应该能够在 lenny 上编译源包,因为它的构建依赖关系在 lenny 上是可满足的。这是构建包的秘诀:

  1. 下载三个文件(.dsc.orig.tar.gz,和.debian.tar.gz)。由于这是一个守时的需要,只需手动完成即可。
  2. 使用或安装构建依赖项(此处debhelperphp5-dev)。还要安装基本的开发包;该包会拉他们。还要安装.apt-getaptitudebuild-essentialfakeroot
  3. 解压源:dpkg-source -x xdebug_2.1.0-1.dsc并切换到源目录:cd xdebug-2.1.0
  4. (如果您不对源包进行任何更改,则可以跳过此步骤。)
    编辑debian/changelog文件以添加新的更改日志条目。这在 Emacs 中很容易完成:
    • 确保dpkg-dev-el安装了软件包;
    • debian/changelog在 Emacs 中打开;
    • 用于C-c C-a添加条目;
    • 选择一个新的版本号(这里2.1.0~user394+1是一个合理的选择,遵循官方向后移植使用的模式);
    • 写一个日志条目(例如,backport to lenny描述您所做的更改);
    • 用于C-c C-c完成输入。
  5. 编译包:dpkg-buildpackage -rfakeroot -us -uc
    如果您有 PGP/GPG 密钥,-us -uc如果提示对包进行加密签名,请不要传递并输入您的密码。
  6. 利润安装二进制包。

总结一下步骤:

wget http://ftp.de.debian.org/debian/pool/main/x/xdebug/xdebug_2.1.0{.orig.tar.gz,-1.{dsc,debian.tar.gz}}
sudo aptitude install build-essential fakeroot debhelper php5-dev
dpkg-source -x xdebug_2.1.0-1.dsc
cd xdebug-2.1.0
# patch as necessary
emacs debian/changelog # not necessary if unpatched
dpkg-buildpackage -rfakeroot -us -uc
dpkg -i ../php5-xdebug_2.1.0_*.deb
Run Code Online (Sandbox Code Playgroud)