LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1092|回复: 14

package.keywords带来的升级问题

[复制链接]
发表于 2007-12-5 15:18:06 | 显示全部楼层 |阅读模式
对于一个包例如python,我把他写到package.keywords中,则可以顺利安装被mask的python2.5。
但是这样给系统升级带来一个问题:就是等到python2.5进入stable以后,我却无法升级到stable版本,因为可能有更高版本的python在mask中,所以我升级后始终是mask中的版本!

另,有些包版本好低阿,如python、gimp,其他发行版都用python2.5和gimp2.4了,Gentoo却还是低版本的郁闷阿!
发表于 2007-12-5 15:28:29 | 显示全部楼层
你可以用~arch

我不是很明白你这句话,可以举个具体的例子么:
但是这样给系统升级带来一个问题:就是等到python2.5进入stable以后,我却无法升级到stable版本,因为可能有更高版本的python在mask中,所以我升级后始终是mask中的版本!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-5 15:45:04 | 显示全部楼层
就是不太想用~arch,感觉不稳定,上次遇到rxvt的问题,干脆去掉了

比如:
python现在是2.4.4 ,被mask的是2.5.1,所以我把"dev-python/python"加到package.keywords里了,等到python2.5.1进入stable的时候,可能又有个python2.5.2在mask里面,结果因为我没从pacakge.keywords中去掉python,所以我就自然升级到了2.5.2,结果它是mask的版本!

解决方案:时刻注意portage的变化看哪天python2.5进入stable后就立刻从package.keywords里删除python,不过这样是不是有点太费工夫了

而且我也没办法改写“=dev-python/python-2.5.1-r1",因为这样我也没办法拿到最新的版本,只有等>2.5.1-r1进stable才能升级python2.5

哈哈,有点变态的需求阿!
回复 支持 反对

使用道具 举报

发表于 2007-12-5 17:02:31 | 显示全部楼层
~media-plugins/xlyrics-0.4.6 ~x86
你可以这样写,前面加个~

~  means match any revision of the base version specified.  So
in the  above  example,  we  would  match  versions  '1.0.2a',
'1.0.2a-r1', '1.0.2a-r2', etc...

quoted from 'man 5 ebuild'
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-5 20:18:16 | 显示全部楼层
恩,这个不错,但是问题是会不会出现如下情况:
1.02a-r3是stable但是1.02a-r5是mask的,结果按上面的写就会自动升级到1.02a-r5他是unstable的阿!
回复 支持 反对

使用道具 举报

发表于 2007-12-5 20:28:52 | 显示全部楼层
感觉楼主没救儿了。这样的要求从逻辑上就是说不通的。除非你能预知未来,事先知道将来哪个版本会是稳定的,哪个会是不稳定的。
回复 支持 反对

使用道具 举报

发表于 2007-12-5 20:51:24 | 显示全部楼层
Post by cmaxvv;1792061
恩,这个不错,但是问题是会不会出现如下情况:
1.02a-r3是stable但是1.02a-r5是mask的,结果按上面的写就会自动升级到1.02a-r5他是unstable的阿!


你现在不就是这样作的么?
你现在的要求就是装python-2.5,而“他是unstable的阿!”
1.02a-r3是stable,要装它你本来就不需要写入keywords.

我只想问你一句:
你到底想干什么?
回复 支持 反对

使用道具 举报

发表于 2007-12-5 21:26:51 | 显示全部楼层
呵呵,楼主认真看看楼上各位说的吧!我就是基础系统基本都是stable,比如glibc,xorg等,桌面xfce4等都是~x86。。。当然glibc和python也是unstable的,一直这样,基本没什么问题。
另外:你说的高版本的python-2.5等,基本都是补丁修正,前面都是unstable,继续跟进用修正版又有什么不可呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-5 23:11:10 | 显示全部楼层
Post by zhllg;1792067
你现在不就是这样作的么?
你现在的要求就是装python-2.5,而“他是unstable的阿!”
1.02a-r3是stable,要装它你本来就不需要写入keywords.

我只想问你一句:
你到底想干什么?

比如说
我用~dev-lang/python-2.5.1安装了python-2.5.1-r3
…………
之后python-2.5.1-r4稳定了取消了mask,那么ok这是我想达到的效果,我的担心是,在这之后又冒出来个python-2.5.1-r5而且他是mask的,那么按照设置我运行emerge -avuDN world岂不是又升级到mask的python-2.5.1-r5了,这不是我想达到的,我应该继续保持稳定的python-2.5.1-r4。
……
目的是跟进python2.5版本,当他没有stable版本时保证使用最新的版本,等2.5有了stable版本我就不希望用最新版本(当然是指被mask的版本)而使用stable的最新版本,我只是想知道是否可以使用package.keywords自动完成这个工作!
回复 支持 反对

使用道具 举报

发表于 2007-12-5 23:34:06 | 显示全部楼层
出-rN的目的就是修复之前的问题
一般不带-rN的比带-rN的出问题的概率要高
现实中最高的-rN版本往往可能是稳定的,而低的-rN和原版可能是不稳定的
你明白了么?
你看看python-2.3.6
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表