最近决定重新整理一下gpkg, 步骤如下: 1. 加入滚动升级功能。 目前gpkg不支持滚动升级, 升级软件包前需要先卸载旧软件包。 这就意味着不能升级系统关键软件包象glibc之类的。 重新些xgfileinfo使具备滚动升级功能。 (a) xgfileinfo中加入rm, mv,rmdir命令的实现, 从coreutils里拷贝代码编译即可。 (b) 先编译好新包, 放在临时目录。 (c) 使用xgfileinfo卸载旧包,用新包覆盖, 整个过程不退出xgfileinfo, 这样就可以实现滚动升级。 2. 加入包依赖关系。 (a) 加入新命令 "gpkg -io package", 只安装指定包, 忽略依赖关系。 (b) 修改命令"gpkg -i package", 先检查依赖关系, 如果不满足, 先安装其依赖的包。 依赖关系在脚本里描述, 命令如下: DEP="xorg-server(>=7.19.2) xproto(>=8.0) xcb" 可以指定或忽略版本信息。 (c) 完善命令"gpkg -showdep package", 观看所有依赖的软件包信息。 3. 完善二进制包的安装。 (a) 完善命令 "gpkg -ib package", 先从本地搜索预先打包好的软件包, 如果没有, 去服务器搜索。同时检查依赖关系, 如果不满足, 优先安装依赖的软件包。 这些功能完成后, 弦歌基本上算上一个完备的Linux发行版。 有空闲时间想练练手的可以联系我。