MS RFC 83:源树重组¶
- 日期
2012-02-06
- 作者
丹尼尔·莫里塞特
- 联系方式
在mapgears.com的dmorissette
- 最后编辑
011-111-25
- 状态
被遗弃的
- 版本
MapServer 6.2
1。概述¶
在mapserver项目中包含新的mapcache和tinyows组件后,重新组织源树的目录结构以便于将来的构建和维护将是理想的选择。
2。当前目录结构¶
ls -R | grep -v svn | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'
mapserver
|-fonts
|-m4
|-mapcache
|---apache
|---cgi
|---include
|---lib
|---m4
|---nginx
|---static
|---util
|-mapscript
|---csharp
|-----config
|-----examples
|---doc
|---java
|-----data
|-----examples
|-----tests
|-------threadtest
|---perl
|-----examples
|---php
|-----examples
|---python
|-----examples
|-----pygdioctx
|-----tests
|-------cases
|-------timing
|---ruby
|-----examples
|---swiginc
|---tcl
|-----examples
|-----win
|-opengl
|-renderers
|---agg
|-----include
|-------util
|-----src
|-symbols
|-tests
|---vera
|-xmlmapfile
|---tests
其中最有趣的是:
mapserver
|-mapcache
|-mapscript
|-opengl
|-renderers
|---agg
|-xmlmapfile
三。新建议的目录结构¶
最重要的更改是,当前mapserver根目录中的大多数.c/.h源文件都将移动到两个新子目录之一:
lib:包含lib mapserver.so中内置并与多个组件共享的所有mapserver核心源文件。当我们创建libmapfile.so时,这个目录也是它的主目录。
应用程序:包含与传统的mapserv cgi/fastcgi应用程序和命令行实用程序(如shp2img)相关的源文件。
将创建一个新的“tinyows”子目录,作为tinyows源文件的未来主目录。
结果如下:
mapserver
|-lib
|---renderers
|-----agg
|-----opengl
|-apps
|-mapscript
|-mapcache
|-tinyows
|-xmlmapfile
目前,以下文件将继续驻留在mapserver根目录中:
configure.in
Makefile.in
HISTORY.TXT (applicable to releases of the full suite)
最初,根目录的configure.in将与当前相同,它将更新lib、apps和mapscript子目录中的makefile.in。
我们的长期目标(随着时间慢慢发生)是,大多数子目录(尤其是mapserv、mapscript、mapcache和tinyows)最终也将包含自己的独立配置脚本和makefile,以允许独立地构建给定的组件。此时,mapserver根目录中的master configure脚本和makefile只需调用每个子项目的configure和makefile,即可同时自动生成多个选定组件。
history.txt文件将在两个级别上被维护:
根目录中的history.txt:包含与完整套件版本相关的历史信息
每个子项目目录中的history.txt:包含与每个特定组件相关的详细历史信息。当前history.txt将移动到libmapserver.so子目录。
4。向后兼容性问题¶
由于文件四处移动,针对旧版本的补丁可能不再直接应用。出于同样的原因,从SVN沙盒或分支合并更改可能更复杂。
5.错误ID¶
TBD
6。投票历史¶
还没有投票。