[OGo-Developer] Re: [SOGo] sope/sogo and gnustep-make 2

Marcus Müller developer@opengroupware.org
Fri, 4 Jan 2008 10:17:34 +0100


--Apple-Mail-72--59760949
Content-Type: text/plain;
	charset=US-ASCII;
	format=flowed;
	delsp=yes
Content-Transfer-Encoding: 7bit


>> What we can do is create a branch for the transition period. (in fact
>> I think that ZNeK already has a SOPE gstep-make 2 branch).
> that would be best, and iirc he mentioned sth. like that before.

http://svn.opengroupware.org/SOPE/branches/sope-4.7-gsmake-1.98

As the name indicates, I started this pretty early. I use this branch  
to deploy projects compiled with gnustep-make-trunk/gnustep-base-trunk  
on FreeBSD 6.x  but didn't bother to rename it, just for the records.  
I haven't merged changes from SOPE trunk for quite some time now, but  
this is straightforward - except for the Makefiles there's really not  
that much to take care of.

There's one exception though: NGResourceLocator.m has been modified to  
somehow work with the changed environment in gsmake-2, but it's far  
from being perfect and/or complete. I think that this part needs quite  
some work - I don't remember all the implications that came to mind  
when I first reviewed it, but there were quite a lot of things.

What springs to mind: Despite having proper major.minor versioning in  
all SOPE related projects (SOGo/OGo), standard NSBundle dependend  
resource lookup in gstep-make 2.0 based gstep-base won't be able to  
lookup resources in an FHS environment properly. There's no (working)  
provision for versioned resources in gstep-base AFAIK, which is  
absolutely required for FHS, however (if you want to have parallel  
installs of different versions of the same software, that is). You  
just can't obsolete NGResourceLocator's inner working model and base  
it upon NSBundle from gstep-base, thinking, now that they have FHS  
"support" everything works without further modifications - wrong!  
Also, NGResourceLocator needs to be rewritten quite a bit, because  
some of the hints that have been given in the environment prior to  
gstep-make 2.0 have been removed with gstep-make 2.0 - you need to  
take special care about this and ensure that NGResourceLocator works  
properly!

Cheers,

   Marcus

-- 
Marcus Mueller  .  .  .  crack-admin/coder ;-)
Mulle kybernetiK  .  http://www.mulle-kybernetik.com
Current projects: http://www.mulle-kybernetik.com/znek/



--Apple-Mail-72--59760949
Content-Type: text/html;
	charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

<html><body style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; =
-webkit-line-break: after-white-space; "><br><div><blockquote =
type=3D"cite"><div><blockquote type=3D"cite">What we can do is create a =
branch for the transition period. (in fact =
&nbsp;<br></blockquote><blockquote type=3D"cite">I think that ZNeK =
already has a SOPE gstep-make 2 branch).<br></blockquote>that would be =
best, and iirc he mentioned sth. like that =
before.<br></div></blockquote><br></div><div><a =
href=3D"http://svn.opengroupware.org/SOPE/branches/">http://svn.opengroupw=
are.org/SOPE/branches/</a>sope-4.7-gsmake-1.98</div><div><br =
class=3D"webkit-block-placeholder"></div><div>As the name indicates, I =
started this pretty early. I use this branch to deploy projects compiled =
with gnustep-make-trunk/gnustep-base-trunk on FreeBSD 6.x &nbsp;but =
didn't bother to rename it, just for the records. I haven't merged =
changes from SOPE trunk for quite some time now, but this is =
straightforward - except for the Makefiles there's really not that much =
to take care of.</div><div><br =
class=3D"webkit-block-placeholder"></div><div>There's one exception =
though:&nbsp;NGResourceLocator.m has been modified to somehow work with =
the changed environment in gsmake-2, but it's far from being perfect =
and/or complete. I think that this part needs quite some work - I don't =
remember all the implications that came to mind when I first reviewed =
it, but there were quite a lot of things.</div><div><br =
class=3D"webkit-block-placeholder"></div><div>What springs to mind: =
Despite having proper major.minor versioning in all SOPE related =
projects (SOGo/OGo), standard NSBundle dependend resource lookup in =
gstep-make 2.0 based gstep-base won't be able to lookup resources in an =
FHS environment properly. There's no (working) provision for versioned =
resources in gstep-base AFAIK, which is absolutely required for FHS, =
however (if you want to have parallel installs of different versions of =
the same software, that is). You just can't obsolete NGResourceLocator's =
inner working model and base it upon NSBundle from gstep-base, thinking, =
now that they have FHS "support" everything works without further =
modifications - wrong! Also, NGResourceLocator needs to be rewritten =
quite a bit, because&nbsp;some of the hints that have been given in the =
environment prior to gstep-make 2.0 have been removed with gstep-make =
2.0 - you need to take special care about this and ensure that =
NGResourceLocator works properly!</div><div><br></div><div =
apple-content-edited=3D"true"> <span class=3D"Apple-style-span" =
style=3D"border-collapse: separate; border-spacing: 0px 0px; color: =
rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: =
normal; font-variant: normal; font-weight: normal; letter-spacing: =
normal; line-height: normal; text-align: auto; =
-khtml-text-decorations-in-effect: none; text-indent: 0px; =
-apple-text-size-adjust: auto; text-transform: none; orphans: 2; =
white-space: normal; widows: 2; word-spacing: 0px; "><div =
style=3D"word-wrap: break-word; -khtml-nbsp-mode: space; =
-khtml-line-break: after-white-space; "><span class=3D"Apple-style-span" =
style=3D"border-collapse: separate; border-spacing: 0px 0px; color: =
rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: =
normal; font-variant: normal; font-weight: normal; letter-spacing: =
normal; line-height: normal; text-align: auto; =
-khtml-text-decorations-in-effect: none; text-indent: 0px; =
-apple-text-size-adjust: auto; text-transform: none; orphans: 2; =
white-space: normal; widows: 2; word-spacing: 0px; "><p style=3D"margin: =
0.0px 0.0px 0.0px 0.0px"><font face=3D"Helvetica" size=3D"3" =
style=3D"font: 12.0px Helvetica">Cheers,</font></p><p style=3D"margin: =
0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: =
14.0px"><br></p><p style=3D"margin: 0.0px 0.0px 0.0px 0.0px"><font =
face=3D"Helvetica" size=3D"3" style=3D"font: 12.0px Helvetica"><span =
class=3D"Apple-converted-space">&nbsp;<span =
class=3D"Apple-converted-space">&nbsp;</span></span>Marcus</font></p><p =
style=3D"margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; =
min-height: 14.0px"><br></p><p style=3D"margin: 0.0px 0.0px 0.0px =
0.0px"><font face=3D"Helvetica" size=3D"3" style=3D"font: 12.0px =
Helvetica">--<span =
class=3D"Apple-converted-space">&nbsp;</span></font></p><p =
style=3D"margin: 0.0px 0.0px 0.0px 0.0px"><font face=3D"Helvetica" =
size=3D"3" style=3D"font: 12.0px Helvetica">Marcus Mueller<span =
class=3D"Apple-converted-space">&nbsp;<span =
class=3D"Apple-converted-space">&nbsp;</span></span>.<span =
class=3D"Apple-converted-space">&nbsp;<span =
class=3D"Apple-converted-space">&nbsp;</span></span>.<span =
class=3D"Apple-converted-space">&nbsp;<span =
class=3D"Apple-converted-space">&nbsp;</span></span>.<span =
class=3D"Apple-converted-space">&nbsp;<span =
class=3D"Apple-converted-space">&nbsp;</span></span>crack-admin/coder =
;-)</font></p><p style=3D"margin: 0.0px 0.0px 0.0px 0.0px"><font =
face=3D"Helvetica" size=3D"3" style=3D"font: 12.0px Helvetica">Mulle =
kybernetiK<span class=3D"Apple-converted-space">&nbsp;<span =
class=3D"Apple-converted-space">&nbsp;</span></span>.<span =
class=3D"Apple-converted-space">&nbsp;<span =
class=3D"Apple-converted-space">&nbsp;</span></span><a =
href=3D"http://www.mulle-kybernetik.com">http://www.mulle-kybernetik.com</=
a></font></p><p style=3D"margin: 0.0px 0.0px 0.0px 0.0px"><font =
face=3D"Helvetica" size=3D"3" style=3D"font: 12.0px Helvetica">Current =
projects:&nbsp;<a =
href=3D"http://www.mulle-kybernetik.com/znek/">http://www.mulle-kybernetik=
.com/znek/</a></font></p><br =
class=3D"Apple-interchange-newline"></span></div></span> =
</div><br></body></html>=

--Apple-Mail-72--59760949--