Opened 4 years ago
Closed 3 years ago
#2329 closed defect (fixed)
Latest MapServer patch breaks GeoMoose
Reported by: | kalxas | Owned by: | |
---|---|---|---|
Priority: | blocker | Milestone: | OSGeoLive14.0 |
Component: | OSGeoLive | Keywords: | mapserver, geomoose |
Cc: | osgeolive@… |
Description
For rc3 a mapserver patch was introduced:
https://github.com/OSGeo/OSGeoLive/commit/5ddf0302b29a4868d7352cfed114ad46e84ea4b1
This patch is breaking GeoMoose (see attachment)
Attachments (3)
Change History (22)
by , 4 years ago
Attachment: | Screenshot_20210430_134741.png added |
---|
comment:1 by , 4 years ago
comment:2 by , 4 years ago
Files are available in various sub-folders of /usr/local/geomoose/gm3-demo-data/
comment:3 by , 4 years ago
/usr/local/geomoose/gm3-demo-data/
And actually, I think the only mapfiles called directly are in
/usr/local/geomoose/gm3-demo-data/*/*.map
The top level ones are only referenced by INCLUDE statements.
by , 3 years ago
Attachment: | Screenshot_20210504_173138.png added |
---|
by , 3 years ago
Attachment: | Screenshot_20210504_173154.png added |
---|
comment:5 by , 3 years ago
comment:6 by , 3 years ago
Ugh... Looking at the screenshots the problem is the /./ in the mapfile path. The value for MS_MAP_PATTERN is explicitly blocking that (and so will subsequent versions of MapServer by default).
- /usr/local/geomoose/gm3-demo-data/demo/./parcels/parcels.map - FAILS
- /usr/local/geomoose/gm3-demo-data/demo/parcels/parcels.map - WORKS
I don't know how those paths are built within GeoMoose.
kalxas, what's the easiest way for me to fire up a local version of OSGeoLive with this issue?
--Steve
comment:7 by , 3 years ago
This is coming from the GeoMoose Mapbooks:
/usr/local/geomoose/gm3-examples/htdocs/desktop/mapbook.xml /usr/local/geomoose/gm3-examples/htdocs/mobile/mapbook.xml
Lines like:
<file>./demo/scalebars/scalebar_miles.map</file>
comment:8 by , 3 years ago
Is it reasonable to remove the ./ or do I need to figure out a different expression that allows /./ in the path?
comment:9 by , 3 years ago
With this change in MapServer, I really want to move the GeoMoose to the /datasets/scalebar_miles.map?...
style URLs (which can protect files and set the environment variables properly for each file using Apache directives) instead of /cgi-bin/mapserv?map=...
, but I don't have time to do that before the OL14 release.
comment:11 by , 3 years ago
I'm not sure if this misses something, but this is what I used on demo.geomoose.org.
SetEnv MS_MAP_PATTERN "^\/srv\/demo\/src\/3\.0\/gm3-demo-data\/(\./){0,1}([^\.][_A-Za-z0-9\-\.]+\/{1})*([_A-Za-z0-9\-\.]+\.(map))$"
comment:12 by , 3 years ago
Reasonable hint. I think I can just do something like:
"^/usr/local/(mapserver specific path)|(geomoose specific path)/([^\.][_A-Za-z0-9\-\.]+\/{1})*([_A-Za-z0-9\-\.]+\.(map))$"
So much easier in recently released version(s). More soon...
--Steve
comment:13 by , 3 years ago
Just submitted another pull request that should allow /./ in paths. --Steve
comment:15 by , 3 years ago
The error persists. Please test using the latest iso:
http://aiolos.survey.ntua.gr/gisvm/dev/osgeolive-nightly-build285-amd64-3f5fd9c-master.iso
comment:17 by , 3 years ago
Ok, one more try. See https://github.com/OSGeo/OSGeoLive/pull/315. Tested against the nightly ISO... --Steve
comment:19 by , 3 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Need to generalize the value for MS_MAP_PATTERN in Apache. What's the path to all the GeoMoose mapfiles?