LinuxSir.cn,穿越时空的Linuxsir!

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

yuking,我作了一个 fcitx 用 autoconf 的包,请试试,看怎么样

[复制链接]
发表于 2004-1-13 13:46:19 | 显示全部楼层 |阅读模式
这里只提供一个脚本,一是节省我的主页空间,二是可以清楚的看到用 autoconf 配置这个包的过程,就当是个 autoconf 的教程了:
http://xie.freezope.org/upload/Files/autofcitx-2.0.1-2.sh
(附件中也是该脚本)

如果你和我一样,用的是 debian/unstable,可以这样获得 fcitx-2.0.1.tar.gz:
[PHP]
wget http://xie.freezope.org/upload/Files/autofcitx-2.0.1-2.sh
sh autofcitx-2.0.1-2.sh
[/PHP]

如果你用的不是 debian,可以这样:
[PHP]
wget http://xie.freezope.org/upload/Files/autofcitx-2.0.1-2.sh
cat autofcitx-2.0.1-2.sh | sed 's|./autogen-deb.sh|./autogen.sh|' > auto.sh
/bin/mv auto.sh autofcitx-2.0.1-2.sh
sh autofcitx-2.0.1-2.sh
[/PHP]

运行没有出错的话,可以在当前目录看到一个文件 fcitx-2.0.1.tar.gz,这就是比较接近 GNU 发布规范的软件包了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2004-1-13 13:56:46 | 显示全部楼层
谢谢!
我先来学习一下再说……
 楼主| 发表于 2004-1-13 14:11:17 | 显示全部楼层
最初由 Yuking 发表
谢谢!
我先来学习一下再说……

大家一起来做吧。我这个只是完成了基本的打包、发布的功能,用户下载 fcitx-2.0.1.tar.gz 之后可以直接解包运行
./configure && make install
就可以安装到系统了。

./configure --prefix=$HOME && make install
是安装到用户自己的目录,就象原来的 make localinstall。

下一步可以增加是否使用 xft 的判断功能。
 楼主| 发表于 2004-1-13 14:54:18 | 显示全部楼层
发现一点错误,看来是上传文件搞错了。把下载的脚本处理一下就可以了:
cat autofcitx-2.0.1-1.sh |  sed 's/ @INCLUDES@//' > auto.sh
/bin/mv auto.sh autofcitx-2.0.1-1.sh
(附件中是改过的脚本)

另外,我在 redhat 的机器上测试了一下;如果诸位机器上没有 flip 命令导致报错的,可以用 dos2unix 代替。脚本处理方法是:
cat autofcitx-2.0.1-1.sh | sed 's/flip -ub/dos2unix/' > auto.sh
/bin/mv auto.sh autofcitx-2.0.1-1.sh

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2004-1-13 23:13:31 | 显示全部楼层
再次修改:
1. 去除 autoconf 的版本检查指令;
2. 自动生成物version.h;
3. 自己检查运行的系统,分别运行不同的执行。

现在下载下来直接执行就是了,在 redhat 上也不用对脚本做什么处理了。当然,redhat 上必须的开发包,比如 Xfree86-devel 之类肯定是必须的。

在我的 debian/unstable 和 fedora 上测试过,没有问题。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2004-1-14 09:24:04 | 显示全部楼层
发现一个问题,如果X没有安装在/usr/X11R6下将无法编译
 楼主| 发表于 2004-1-14 09:51:22 | 显示全部楼层
最初由 Yuking 发表
发现一个问题,如果X没有安装在/usr/X11R6下将无法编译

如果没有找到X,./configure 应该给出警告。至于不是标准目录位置的问题,现在 Makefile.am 里的 include 之类没有使用 autoconf 自动查找出的路径,使用的还是原来你的 Makefile 里的东西。下一步可以把指定的 -I/usr/X11R6/include 改为提取 autoconf 找到的 X 目录。
发表于 2004-1-14 09:55:08 | 显示全部楼层
最初由 Yuking 发表
发现一个问题,如果X没有安装在/usr/X11R6下将无法编译

Yuking兄,为何不将idkey哥们的脚本直接集成到fcitx中呢,另外,建议添加可以在fcitx中增加生成deb包的make选项和生成rpm包的make选项,这样对fcitx的安装易用大有好处。
 楼主| 发表于 2004-1-14 10:00:17 | 显示全部楼层
最初由 zywwzy 发表
Yuking兄,为何不将idkey哥们的脚本直接集成到fcitx中呢,另外,建议添加可以在fcitx中增加生成deb包的make选项和生成rpm包的make选项,这样对fcitx的安装易用大有好处。

一是这个脚本生成的包还还不完善,二是这只是个处理的脚本,它不会出现在最后发布的包里的。
发表于 2004-1-14 11:04:09 | 显示全部楼层
最初由 idkey 发表
如果没有找到X,./configure 应该给出警告。至于不是标准目录位置的问题,现在 Makefile.am 里的 include 之类没有使用 autoconf 自动查找出的路径,使用的还是原来你的 Makefile 里的东西。下一步可以把指定的 -I/usr/X11R6/include 改为提取 autoconf 找到的 X 目录。

呵呵,我的系统是自己编译的(所谓的LFS),X是安装在/opt/XFree86-4.3.0下,结果是无法编译。原来我是搞了个环境变量XFREE_DIR来解决这个问题的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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