|
|
发表于 2008-10-25 17:50:48
|
显示全部楼层
实际上,我的意思是,所谓stable非stable很难以介定,我都是按自己想要的版本选择,因为
1,维护不力或覆盖不全
有些软件比如amule 其stable版本很长时间没有人关注过了,也有人提交过stable请求了
2,特殊群体
比如postgresql 8.2以前的版本不能处理所有的扩展区中文utf8字符(multibyte encoding),那么所有<8.2版本对于中文用户都将是bug版本,这个当时我跑官方maillist 才问到,当时一直以为依赖gentoo stable分支很“安全”,其实这multibyte encoding属于function improvements并非bug。理论上保证原有function work fine就是stable,但目前portage 里的postgresql 对中国用户并不是可依赖。
3,特殊版本
比如wine 出了 1.0.1,这个1.0.1 官方表示将只1.0 进行stable修改,不提供新的功能实现。照理说普通用户应该首选这个版本,它才是stable分支。
4,兼容问题
比如wine 0.9+所有版本 跑war3 1.21+ 版本都会因为完成端口问题导致无法存盘或载图出错(出现地址不可读写,俗称非法操作),我这wine就偶尔跑个war3上bn,是否在其它软件会出问题不清楚,这样的情况永远没法用stable非stable分支来解决,附上我的#cat /etc/portage/portdir_overlay/app-emulation/wine/files/wine-no_io_comp_port.patch - diff --git a/dlls/kernel32/sync.c b/dlls/kernel32/sync.c
- index 08385f1..ec8c16a 100644
- --- a/dlls/kernel32/sync.c
- +++ b/dlls/kernel32/sync.c
- @@ -1826,12 +1826,12 @@ HANDLE WINAPI CreateIoCompletionPort(HANDLE hFileHandle, HANDLE hExistingComplet
- TRACE("(%p, %p, %08lx, %08x)\n",
- hFileHandle, hExistingCompletionPort, CompletionKey, dwNumberOfConcurrentThreads);
-
- - if (hExistingCompletionPort && hFileHandle == INVALID_HANDLE_VALUE)
- +/* if (hExistingCompletionPort && hFileHandle == INVALID_HANDLE_VALUE)*/
- {
- SetLastError( ERROR_INVALID_PARAMETER);
- return NULL;
- }
- -
- +#if 0
- if (hExistingCompletionPort)
- ret = hExistingCompletionPort;
- else
- @@ -1858,6 +1858,7 @@ fail:
- CloseHandle( ret );
- SetLastError( RtlNtStatusToDosError(status) );
- return 0;
- +#endif
- }
-
- /******************************************************************************
复制代码
5,ebuild问题
比如mplayer 安装起来要一堆关联,有的如 xvid 解码的话mplayer 内置的ffmpeg 完全可以,安装xvid 只为用在mencoder 编码用,这样的话用ebuild 安装mplayer 对普通用户并不是最佳选择(用户会认为没有xvid use就意味着失去对xvid 的支持)。
又如 win32codec 的ebuild 下的是 all-${PV}.tar.bz2,实际上在linux 就使用 essential-${PV}.tar.bz2,all 里包括的一些文件只在其它平台有效,如果也将之放在codec 里,会被优先使用而不使用内置的ffmpeg 导致部分编码的媒体文件解码失败,这个问题很久前我也是查了好长时间才发现。。。换句话说,用portage 里的win32codec 反而不 stable
所以我个人认为,使用linux特别是gentoo的用户应当了解自己要和将做的事,选择的关键在于用户,stable与否真的很难以维护,就象上面几个情况我想提交都难以下手,因为无法介定这个stable与否。。。
ps:
gentoo 发版行说小了就是 kernrl.org 下个内核加上一堆软件镜像,说大了是一个linux user system,包括并提供了用户交互利用的平台,互相可以补助以维护一个良好的安装/运行体系,故而,使用、安装、运行都应该是由用户知晓情况的前提下,否则就应该选择捆定的编译版本,这类有较为成功的就如mac os,提供给用户的不是软件而是功能。
gentoo 给用户更多,更透明的选择,关键应在于这个选择。。真让用户去提交这个stable真的很难下手,呵呵,起码我使用的是stable分支,但上面那些软件我都是用非stable版本,因为这些非stable版本对我却反而是stable版本,而那些stable版本对我却是非stable。。 |
|