zy_sunshine 发表于 2010-8-17 13:48:41

更新MagicInstaller初步解决依赖关系问题

调整之前的顺序
glibc-devel-2.10.1-2mgc25.i686.rpm ---> (0, 914)
bash-completion-20080705-3.20090211git47d0c5b.noarch.rpm ---> (0, 1034)
bash-completion-20080705-3.20090211git47d0c5b.noarch.rpm ---> (0, 1034)
glibc-utils-2.10.1-2mgc25.i686.rpm ---> (0, 1146)
bash-4.0-1mgc25.i686.rpm ---> (0, 3)
glibc-static-2.10.1-2mgc25.i686.rpm ---> (0, 1196)
binutils-devel-2.19.51.0.2-1mgc25.i686.rpm ---> (0, 1319)
binutils-2.19.51.0.2-1mgc25.i686.rpm ---> (0, 911)
coreutils-7.0-7mgc25.i686.rpm ---> (0, 71)
glibc-headers-2.10.1-2mgc25.i686.rpm ---> (0, 913)
glibc-common-2.10.1-2mgc25.i686.rpm ---> (0, 5)

调整之后的顺序

glibc-devel-2.10.1-2mgc25.i686.rpm ---> (0, 18)
bash-completion-20080705-3.20090211git47d0c5b.noarch.rpm ---> (0, 36)
glibc-utils-2.10.1-2mgc25.i686.rpm ---> (0, 35)
bash-4.0-1mgc25.i686.rpm ---> (0, 2)
glibc-static-2.10.1-2mgc25.i686.rpm ---> (0, 19)
glibc-common-2.10.1-2mgc25.i686.rpm ---> (0, 4)
kernel-headers-2.6.30.10-5mgc25.i686.rpm ---> (0, 16)
binutils-devel-2.19.51.0.2-1mgc25.i686.rpm ---> (0, 15)
glibc-2.10.1-2mgc25.i686.rpm ---> (0, 10)
binutils-2.19.51.0.2-1mgc25.i686.rpm ---> (0, 13)
coreutils-7.0-7mgc25.i686.rpm ---> (0, 88)
glibc-headers-2.10.1-2mgc25.i686.rpm ---> (0, 17)最后一个数字为序列

在 spec/specinfo.py 中增加 basepkg_list 参数

haulm 发表于 2010-8-17 18:10:55

未调整前整个工具链包全散一团,bash 跑到 1034 ,真是汗颜。。。
coreutils-7.0-7mgc25.i686.rpm的位置还是不够高。

[ 本帖最后由 haulm 于 2010-8-17 18:15 编辑 ]

zy_sunshine 发表于 2010-8-17 18:51:43

现在还可以向其中增加序列,在排序之前会尽可能的按照这个序列来(是尽可能,因为最后要根据依赖关系来生成顺序)

还发现,在这个功能中 glibc-devel 之类的分包最好不要加入,否则其中的依赖关系会影响这个功能。只能将有最小依赖的包这样排序才可能起作用。

haulm 发表于 2010-8-18 11:58:49

怪事,新的MI安装的确慢了很多,我安装花了一小时,早前最快15分钟内就搞定了。

zy_sunshine 发表于 2010-8-18 12:13:00

MI安装速度问题...我这用vbox测试的...正常
我这没有物理机器可以测试,因为我的机器不能用MI硬盘安装...上次有人问起我说MI硬盘安装可能会失败就是因为我的机器测试会失败...
==================================

coreutils-7.0-7mgc25.i686.rpm的位置还是不够高。
你可以通过增加 依赖 和减少依赖来提高这个位置

我写了一个工具
你可以使用这个工具来辅助调节
使用方法见README

svn checkout http://rpmdeptool.googlecode.com/svn/trunk/ rpmdeptool-read-only

zy_sunshine 发表于 2010-8-20 23:35:52

rpm安装速度慢的问题马上就可以解决了,但是安装时每个包的进度条失效了...

经测试共花费
1303.03848004 seconds
21.7分钟

如果有人想要测试请同步rpmdeptools 按照帖子http://www.linuxfans.org/bbs/thread-192786-1-1.html
安装测试,
注意rpmdeptool自带的spec/specinfo.py 中的参数是我按照magiclinux2.5所有包做的依赖调节。在使用python rpm_dep_tool.py sync <MI path> 时别覆盖了...

zy_sunshine 发表于 2010-8-21 23:49:34

已经提交最新版本 magicinstaller ,呵呵。
安装速度应该是解决了,有条件的麻烦测试一下...

haulm 发表于 2010-8-22 07:53:44

不知道是不是 coreutils-7.0-7mgc25.i686.rpm调节后安装顺序太高了,还是因为依赖调节参数和我的rpm包群不符,coreutils-7.0-7mgc25.i686.rpm提升到第三个位置,结果 coreutils-7.0-7mgc25.i686.rpm和 initscript 安装出现 256 错误。
去掉减少依赖的设置,coreutils-7.0-7mgc25.i686.rpm 在位置70,测试顺利,速度正常了。

zy_sunshine 发表于 2010-8-22 08:25:35

(0, 0) : binutils-2.19.51.0.2-1mgc25.i686.rpm
(0, 1) : glibc-2.10.1-2mgc25.i686.rpm
(0, 2) : bash-4.0-1mgc25.i686.rpm
(0, 3) : coreutils-7.0-7mgc25.i686.rpm

这个是标准开头序列阿。因为coreutils中pre需要sh
可以把这几个包的所有依赖去掉并在basepkg_list中指定这个序列就可以了。

haulm 发表于 2010-8-22 08:37:52

原帖由 zy_sunshine 于 2010-8-22 08:25 发表 http://www.linuxfans.org/bbs/images/common/back.gif
(0, 0) : binutils-2.19.51.0.2-1mgc25.i686.rpm
(0, 1) : glibc-2.10.1-2mgc25.i686.rpm
(0, 2) : bash-4.0-1mgc25.i686.rpm
(0, 3) : coreutils-7.0-7mgc25.i686.rpm

这个是标准开头序列阿。因为coreutils中pre需 ...
查过了,已经按上面这样排序了,但安装失败。
我没有修改过任何配置,新的MI已经对依赖进行了调整设置,小BS一下我太自负在硬盘上先行牺牲了一次了。

haulm 发表于 2010-8-22 09:45:13

其它都好办,initscripts 要想办法把它放到后面去,它停在85的位置,否则就没办法把置顶列表实施下去。。。看来sunshine不但要有一个置顶列表,还要有一个T到最后的列表了。。。

haulm 发表于 2010-8-22 09:54:04

删掉提升glibc的定义    'glibc-2.10.1-2mgc25.i686.rpm':
      ['glibc-common-2.10.1-2mgc25.i686.rpm',
         'basesystem-25-1mgc25.noarch.rpm',
         'libgcc-4.4.0-5.i686.rpm',
         'nss-softokn-freebl-3.12.4-1mgc25.i686.rpm',
      ],最后修正的依赖控制列表如下remove_deps = {
    'coreutils-7.0-7mgc25.i686.rpm':
      ['util-linux-ng-2.17.2-2mgc25.i686.rpm',
         'libcap-2.16-1mgc25.i686.rpm',
         'gmp-4.2.4-2mgc25.i686.rpm',
         'ncurses-5.7-2.20090207mgc25.i686.rpm',
         'grep-2.5.3-2mgc25.i686.rpm',
         'pam-1.1.0-2mgc25.i686.rpm',
         'libacl-2.2.47-2mgc25.i686.rpm',
         'info-4.13-3mgc25.i686.rpm',
         'libattr-2.4.43-2mgc25.i686.rpm',
      ],
    'binutils-2.19.51.0.2-1mgc25.i686.rpm':
      ['info-4.13-3mgc25.i686.rpm',
         'bash-4.0-1mgc25.i686.rpm',
         'zlib-1.2.3-19mgc25.i686.rpm',
         'glibc-2.10.1-2mgc25.i686.rpm',
      ],
    'bash-4.0-1mgc25.i686.rpm':
      ['ncurses-libs-5.7-2.20090207mgc25.i686.rpm',
      ],
    }

# For the detail to deal with loop dependencies between packages, refer to
# the comments and code in scripts/PkgArrange.py.


######################################################################
# basepkg_list is a list content the base tool chain packages order by the
# dependency. MI will put packages in order refer to this list.

basepkg_list = ['binutils',
                'glibc',
                'bash',
                'grep',
                'info',
                'coreutils',
                'sed',
                'gawk',
                'shadow-utils',
                'chkconfig',
             ]终于可以正常工作了。

haulm 发表于 2010-8-22 10:05:33

'binutils-2.19.51.0.2-1mgc25.i686.rpm': (0, 0),
'bash-4.0-1mgc25.i686.rpm': (0, 1),
'tzdata-2009f-2mgc25.noarch.rpm': (0, 2),
'glibc-common-2.10.1-2mgc25.i686.rpm': (0, 3),
'setup-2.8.1-1mgc25.noarch.rpm': (0, 4),
'filesystem-2.4.5-1mgc25.i686.rpm': (0, 5),
'basesystem-25-1mgc25.noarch.rpm': (0, 6),
'libgcc-4.4.0-5.i686.rpm': (0, 7),
'nss-softokn-freebl-3.12.4-1mgc25.i686.rpm': (0, 8),
'glibc-2.10.1-2mgc25.i686.rpm': (0, 9),
'ncurses-base-5.7-2.20090207mgc25.i686.rpm': (0, 10),
'ncurses-libs-5.7-2.20090207mgc25.i686.rpm': (0, 11),
'zlib-1.2.3-19mgc25.i686.rpm': (0, 12),
'info-4.13-3mgc25.i686.rpm': (0, 13),
'libstdc++-4.4.0-5.i686.rpm': (0, 14),
'pcre-7.8-2mgc25.i686.rpm': (0, 15),
'grep-2.5.3-2mgc25.i686.rpm': (0, 16),
'coreutils-7.0-7mgc25.i686.rpm': (0, 17),
'sed-4.1.5-8mgc25.i686.rpm': (0, 18),
'gawk-3.1.6-3mgc25.i686.rpm': (0, 19),
'shadow-utils-4.1.2-8mgc25.i686.rpm': (0, 20),
'popt-1.14-1mgc25.i686.rpm': (0, 21),
'chkconfig-1.3.41-1mgc25.i686.rpm': (0, 22),
'ca-certificates-2008-8mgc25.noarch.rpm': (0, 23),
'keyutils-libs-1.2-3mgc25.i686.rpm': (0, 24),
......
'initscripts-8.51-6mgc25.i686.rpm': (0, 91),
......

haulm 发表于 2010-8-22 10:19:37

是日志功能有问题还是依赖错误更多了 8O 一堆ERROR

zy_sunshine 发表于 2010-8-22 12:09:49

已更新log功能,如果再出现错误就不只是错误代码了,还有附加的错误信息。
页: [1] 2
查看完整版本: 更新MagicInstaller初步解决依赖关系问题