如何打包Gambas
请仔细阅读
这些页面不会向您解释如何制作软件包,但它们的结构
必须遵循。
Gambas**必须**按照本文件中所述的方式进行包装,因为
开发环境在创建包时依赖于此结构的一个gambas项目。
如果分发不符合此要求,则由开发环境生成的包将无法安装,
并且用户将非常不高兴。
目前并不是所有的发行版都制作了正确的gambas二进制包。
所以,如果你是这些发行版的打包者,如果你读到这篇文章的
文本,请告诉我们应该做些什么来帮助Gambas完成您的分发工作。
提前感谢!
SPECIFICATIONS FOR GAMBAS development version
Packaging specifications for Gambas development version
SPECIFICATIONS FOR GAMBAS <= 3.19
Packaging specifications for Gambas version 3.19
SPECIFICATIONS FOR GAMBAS <= 3.18
Packaging specifications for Gambas version 3.18
SPECIFICATIONS FOR GAMBAS <= 3.17
Packaging specifications for Gambas version 3.16 to 3.17
SPECIFICATIONS FOR GAMBAS <= 3.15
Packaging specifications for Gambas version 3.15
SPECIFICATIONS FOR GAMBAS <= 3.14
Packaging specifications for Gambas version 3.8 to 3.14
SPECIFICATIONS FOR GAMBAS <= 3.7
Packaging specifications for Gambas version 3.0 to 3.7
这个文件不会告诉你如何制作包,但是制作的包必须符合下面的结构。
在这篇文档中描述了*必须的*Gambas打包方式,因为开发环境创建一个Gambas项目包时依赖于这个结构。
如果一个发布不符合这个要求,那么开发环境生成的包将不能被安装,用户会很不高兴。
当前,并非所有的发行版制作的Gambas二进制包是规范的。
所以,如果你是某个发行版的打包人员,并且阅读了这些文字,请尽力帮助Gambas工作于你的发行版之上。
先行致谢,
Benoît.
GAMBAS 2.0说明
该说明类似于Gambas 1.0的,除了=lib.XXX.component=文件重新命名为=XXX.component=,
以及现在一个组件的一部分可以用Gambas编写。
Gambas二进制包必须有下列名称和内容:
运行时包
该包包含运行Gambas应用程序的 Gambas解释器。
包括:
-
解释器:=gbx2=
-
gbx2=的符号链接:=gbr2
-
内部组件描述:=gb.组件=,=gb.info=和=gb.list=
-
Readme文件,=TODO=文件,等等。
-
gb.debug=组件:=gb.debug.info=,=gb.debug.list=,=gb.debug.component=,=gb.debug.so.*=,=gb.debug.la
-
gb.eval=组件:=gb.eval.info=,=gb.eval.list=,=gb.eval.component=,=gb.eval.so.*=,=gb.eval.la
.
-
gb.draw=组件:=gb.draw.info=,=gb.draw.list=,=gb.draw.component=,=gb.draw.so.*=,=gb.draw.la
.
注意:不需要发布=gb.la=,=gb.so=,=gb.so.0=和=gb.so.0.0.0=。它们仅仅是用于生成=gb.info=和=gb.list=的临时文件。
包的名称必须是_
gambas2-runtime
。
符号链接=gbr2=的位置*必须*位于=PATH=中,否则可执行文件不会工作。
开发包
该包包含不安装完整的开发环境时编译Gambas工程所需的全部工具。
包括:
-
编译器:=gbc2=
-
打包器:=gba2=
-
通知器:=gbi2=
包的名称必须是_
gambas2-devel
。
脚本包
该包包含允许用Gambas语言写脚本的脚本解释器程序。
包括:
-
脚本解释器:=gbs2.gambas=
-
脚本解释器的符号链接:=gbs2=
包的名称必须是_
gambas2-script
。
该包依赖于下列Gambas包:
-
gambas2-runtime
-
gambas2-devel
该包必须被=application-x-gambasscript.xml=文件和=application-x-gambasscript.png=图标注册为指定的=application/x-gambasscript=多用途互连网邮件扩展(mime)类型。
符号链接=gbs2=的位置*必须*位于=PATH=中,否则脚本文件不会工作。
组件包
每个Gambas组件必须单独打包。
组件包包括:
-
共享库文件:=gb.XXX.la=,=gb.XXX.so=,=gb.XXX.so.0=,=gb.XXX.so.0.0.0=。
-
组件文件:=gb.XXX.component=。
-
信息文件:=gb.XXX.info=和=gb.XXX.list=。
-
有时用Gambas编写的部分:=gb.XXX.gambas=。
...其中=gb.XXX=是组件的名称。
组件包的名称*必须是*
gambas2-gb-XXX
_,其中=gb-XXX=是组件的名称,“.”将被替换成“-”。
例如,=gb.qt=组件包名为=gambas2-gb-qt=。
它必须包括:
-
gb.qt.la
-
gb.qt.so
-
gb.qt.so.0
-
gb.qt.so.0.0.0
-
gb.qt.component
-
gb.qt.gambas
-
gb.qt.info
-
gb.qt.list
一些组件完全用Gambas编写,也就是说,它们只有一个Gambas部分。
这些组件位于源代码归档中的=comp=目录。
对于这些组件必须遵循前面的命名规则,除非它们不是内部共享库文件。
开发环境包
该包包含完整的Gambas开发环境,包括数据库管理器和帮助文件。
包括:
-
开发环境:=gambas2.gambas=
-
对开发环境的符号链接:=gambas2=
-
数据库管理器:=gambas-database-manager.gambas=
该包依赖于下列Gambas包:
-
gambas2-runtime
-
gambas2-devel
-
IDE和数据库管理器所需的组件包
可以*让该包依赖于所有的Gambas组件,那么它们都会被安装,但是不建议这样。
包的名称必须是_
gambas2-ide
.
IDE依赖下列外部工具:
-
GNU翻译工具,用于翻译工程。
-
RPM工具,用于创建RPM包。
-
tar=和=gzip=工具,用于创建=*.tar.gz=归档。
所以必须添加对提供这些工具的包的依赖关系。这些包的名称与发行版有关。
例如,在Mandriva上,它们是:
-
gettext
-
rpm-build
-
gzip
-
tar
实例包
该包包含所有Gambas提供的实例工程。
打包实例时,注意Gambas工程包含一些隐藏文件和目录。
包括:
-
.project=文件
-
.gambas=目录
-
.lang=目录
-
.directory=文件
-
.icon.png=文件
该包依赖于下列Gambas包:
-
gambas2-runtime
-
gambas2-ide
-
所有*Gambas组件
包的名称必须是_
gambas2-examples
.
帮助包
该包包含由位于
http://gambaswiki.org的Wiki生成的帮助文件。
它们被安装在=$(INSTALL)/share/gambas2/help=目录,其中=$(INSTALL)
必须被替换为Gambas安装路径。
帮助目录包含下列内容:
-
help=目录
-
符号链接=image=和=img=
-
tree=目录
-
background.png=文件
-
style.css=文件
其他的所有文件是不需要的。
该包依赖于=gambas2-ide=包。
包的名称必须是_
gambas2-help
。
包列表
这是所有必须制作的包的列表:
gambas2-devel
gambas2-examples
gambas2-gb-chart
gambas2-gb-compress
gambas2-gb-crypt
gambas2-gb-db
gambas2-gb-db-firebird
gambas2-gb-db-form
gambas2-gb-db-mysql
gambas2-gb-db-odbc
gambas2-gb-db-postgresql
gambas2-gb-db-sqlite2
gambas2-gb-db-sqlite3
gambas2-gb-desktop
gambas2-gb-form
gambas2-gb-form-dialog
gambas2-gb-form-mdi
gambas2-gb-gtk
gambas2-gb-gui
gambas2-gb-image
gambas2-gb-info
gambas2-gb-net
gambas2-gb-net-curl
gambas2-gb-net-smtp
gambas2-gb-opengl
gambas2-gb-option
gambas2-gb-pcre
gambas2-gb-pdf
gambas2-gb-qt
gambas2-gb-qt-ext
gambas2-gb-qt-kde
gambas2-gb-qt-kde-html
gambas2-gb-qt-opengl
gambas2-gb-report
gambas2-gb-sdl
gambas2-gb-sdl-sound
gambas2-gb-settings
gambas2-gb-v4l
gambas2-gb-vb
gambas2-gb-web
gambas2-gb-xml
gambas2-gb-xml-rpc
gambas2-gb-xml-xslt
gambas2-help
gambas2-ide
gambas2-runtime
gambas2-script
可以有一个存储前面所有包调试信息的=gambas2-debug=包。
未来GAMBAS 3的打包规范
现在,打包规范基本上与Gambas 2相同:
版本号增大:"gambas2"必须被换成"gambas3","gbx2"换成"gbx3",如此类推。
Components可以有控件图标。这些=PNG=文件必须被安装在=$(INSTALL)/share/gambas3/control/$(COMPONENT)
目录下,在这里=$(COMPONENT)=是相应组件的名字。
gb.form=组件的MessageLabel控件图标是=messagelabel.png=文件,它必须被安装在=$(INSTALL)/share/gambas3/control/gb.form=目录下。
当心这是发展版本,而且因此主体会随时发生变化!