epoch带来的Debian/Ubuntu包兼容问题

编译打包和其他
回复
头像
lainme
论坛版主
帖子: 7805
注册时间: 2008-09-13 19:17
系统: Arch Linux (x86_64)
联系:

epoch带来的Debian/Ubuntu包兼容问题

#1

帖子 lainme » 2012-09-02 17:25

我目前在给pidgin-lwqq打包,想同时适用于debian和ubuntu,需要依赖libpurple>=2.8.0。

但是由于Ubuntu中的pidgin都加上了epoch=1,在计算依赖的时候也会加上epoch,于是变成了 libpurple0 (>=1:2.6.0) 的样子。

这样在debian wheezy和sid上,虽然libpurple的版本已经达到的要求,由于没有epoch的存在,仍然无法安装。我能想到的解决方法就两个

1) 手动写依赖,不要加上epoch。这样不严谨,导致在ubuntu上各个版本的pidgin都能满足要求

2) 在PPA里包含所有支持版本的pidgin包,都加上epoch。这样debian上安装PPA的pidgin可以避免这个问题。至于pidgin的版本,感觉用debian的比较好,可能考虑wheezy。

两种方式都有缺陷,请问还有什么方法或建议么? :em06
头像
lainme
论坛版主
帖子: 7805
注册时间: 2008-09-13 19:17
系统: Arch Linux (x86_64)
联系:

Re: epoch带来的Debian/Ubuntu包兼容问题

#2

帖子 lainme » 2012-09-10 13:13

已经采取了第一种方法,影响小些。第二种隐患太大。
头像
枫叶饭团
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
联系:

Re: epoch带来的Debian/Ubuntu包兼容问题

#3

帖子 枫叶饭团 » 2012-09-10 13:18

很久以前ubuntu不就被吐槽二进制包不兼容嘛
头像
lainme
论坛版主
帖子: 7805
注册时间: 2008-09-13 19:17
系统: Arch Linux (x86_64)
联系:

Re: epoch带来的Debian/Ubuntu包兼容问题

#4

帖子 lainme » 2012-09-10 14:43

枫叶饭团 写了:很久以前ubuntu不就被吐槽二进制包不兼容嘛
这其实也没办法。如果手一抖,版本号写错了,就要加epoch来修正。Debian也有很多包有的。本来epoch就是debian package version format里的。只不过不写的时候,默认为0。
culu
帖子: 1
注册时间: 2012-10-08 23:57
系统: Debian

Re: epoch带来的Debian/Ubuntu包兼容问题

#5

帖子 culu » 2012-10-09 0:14

lainme 写了:我目前在给pidgin-lwqq打包,想同时适用于debian和ubuntu,需要依赖libpurple>=2.8.0。

但是由于Ubuntu中的pidgin都加上了epoch=1,在计算依赖的时候也会加上epoch,于是变成了 libpurple0 (>=1:2.6.0) 的样子。

这样在debian wheezy和sid上,虽然libpurple的版本已经达到的要求,由于没有epoch的存在,仍然无法安装。我能想到的解决方法就两个

1) 手动写依赖,不要加上epoch。这样不严谨,导致在ubuntu上各个版本的pidgin都能满足要求

2) 在PPA里包含所有支持版本的pidgin包,都加上epoch。这样debian上安装PPA的pidgin可以避免这个问题。至于pidgin的版本,感觉用debian的比较好,可能考虑wheezy。

两种方式都有缺陷,请问还有什么方法或建议么? :em06
这种情况我觉得只要做到源码包兼容debian和ubuntu就好, 采用这些workaround办法的话, 维护工作就麻烦了. (主要是用不上shlib/symbols系统了)
头像
lainme
论坛版主
帖子: 7805
注册时间: 2008-09-13 19:17
系统: Arch Linux (x86_64)
联系:

Re: epoch带来的Debian/Ubuntu包兼容问题

#6

帖子 lainme » 2012-10-09 10:44

culu 写了:
lainme 写了:我目前在给pidgin-lwqq打包,想同时适用于debian和ubuntu,需要依赖libpurple>=2.8.0。

但是由于Ubuntu中的pidgin都加上了epoch=1,在计算依赖的时候也会加上epoch,于是变成了 libpurple0 (>=1:2.6.0) 的样子。

这样在debian wheezy和sid上,虽然libpurple的版本已经达到的要求,由于没有epoch的存在,仍然无法安装。我能想到的解决方法就两个

1) 手动写依赖,不要加上epoch。这样不严谨,导致在ubuntu上各个版本的pidgin都能满足要求

2) 在PPA里包含所有支持版本的pidgin包,都加上epoch。这样debian上安装PPA的pidgin可以避免这个问题。至于pidgin的版本,感觉用debian的比较好,可能考虑wheezy。

两种方式都有缺陷,请问还有什么方法或建议么? :em06
这种情况我觉得只要做到源码包兼容debian和ubuntu就好, 采用这些workaround办法的话, 维护工作就麻烦了. (主要是用不上shlib/symbols系统了)
还是可以的。rules里面把有问题的那个排除,让它不要自动添加,然后手动写到control里就可以。其他的依赖依然自动生成
回复