Re: gnustep-make experiment

2007-02-11 Thread Dennis Leeuw

Matt Rice wrote:
On 2007-02-10 17:34:59 -0800 Nicola Pero 
[EMAIL PROTECTED] wrote:




The only objection i've heard from gnustep.pc is Its not the way 
GNUstep stores information.


Here is a refresher --

1. it adds an external dependency upon which *everything* would depend



an entirely optional dependency, people could continue sourcing GNUstep.sh.


2. it is slower



-make is not a bottleneck...
for example on my machine
-make building base here takes 2 minutes 3 seconds...
make when base is already built takes 2 seconds..
where adding this stuff to make would be 0.006th of a second per 
invocation of pkg-config/gnustep-config


this argument is hogwash.


3. it is designed for something else (which adds complexity)


It does exactly the same thing gnustep-config.sh does.
that adds no complexity...


4. it requires rewriting and redesigning stuff with no clear advantages



there are clear advantages...
now I can add stuff to configure for things *using* gnustep-make which 
attempts to see if

GNUstep libraries exist.

there could be a way to bootstrap gnustep-make to just work without 
any gnustep specific

environment variables.

The objection i have with GNUstep.conf is it isolates gnustep from 
the rest of the world.


I find that objection vague.  Can you explain the practical meaning of
it isolates gnustep from the rest of the world ?


It's a text file in /etc/GNUstep.conf containing something like



it can be set by --with-config-file when configuring make.
If this is done, GNUstep can find GNUstep.conf without setting
GNUSTEP_CONFIG_FILE... GNUSTEP_CONFIG_FILE is
provided to override the location of /etc/GNUstep.conf if you
didn't change the default GNUstep.conf location.

I refuse to rely on a feature which
a) 99% of the time is fine.
b) the 1% of the time works unless your relying on GNUstep.conf being 
findable


theres no way to reliably locate it if the caller was not generated by 
GNUstep-make's

configure script.


That's a chicken and egg problem with every configuration. If I compile 
apache in /opt the configuration of apache will live in /opt/etc/apache, 
or /opt/etc/httpd, which is not the system default location. Because I 
choose it to be different, hence the need for a configure option to 
point to the config file.


The same goes for the .pc files. Ever tried to build the pkg-package 
supported libraries in non-default places (like in 
/usr/GNUstep/System/Library/Libraries)... then you also have to set the 
PKG_CONFIG_PATH variable to make make it all happen.


Same goes for ldconfig... it per default only searches the FHS default 
places. Hence the need for /etc/ld.so.conf... but what if you configure 
ldconfig for /usr/GNUstep/System/Configuration as the /etc directory.


What I am trying to say is that every system that you invent to do 
automagic for paths, libraries etc. will rely on defaults and needs 
environment vars for the exceptions.


I doubt you will ever find a package that solves all problems.

Just my 2 cents.

Dennis


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: gnustep-make experiment

2007-02-11 Thread Dennis Leeuw

Adam Fedor wrote:


On Feb 11, 2007, at 3:30 PM, Alex Perez wrote:



there are clear advantages...
now I can add stuff to configure for things *using* gnustep-make 
which attempts to see if

GNUstep libraries exist.

there could be a way to bootstrap gnustep-make to just work 
without any gnustep specific

environment variables.
Those are not advantages of pkg-config.   Those are examples of where 
the use of pkg-config would provide the same functionality.  Early on 
in this thread Nicola suggested both gnustep-config.sh and the use of 
a makefile fragment as ways of doing the same thing, so pkg-config 
provides no advantage in this respect.


They advantages in that many other people already know how the hell 
they work, and pretty much any newcomer does NOT know how this other 
funky system we invented works; even if it's very simple, this RAISES 
the barrier to entry. It does not lower it. This is why the whole 
dependency argument isn't as critical as some of us seem to believe it 
is.


That is not an advantage in this case. pkg-config main reason for being 
is to help find compile and link flags for linking in other libraries. 
It can be extended, which Matt has suggested in this case. But the 
extension here is just to FIND the GNUstep makefiles - and now we are 
just back were we started - the newcomer still has to learn how to use 
our 'funky' makefile system.


The thing that various people have been arguing about here is, 'how do 
we find out various bits of meta-data about the GNUstep system?'. 
pkg-config is woefully inadequate for this work and doesn't even come 
close to covering other requirements of the make system, like compiling 
and linking in bundles, frameworks, palettes, etc.


The only way to work around the fact that we somehow have to find The 
GNUstep Environment is by having a script in a file system compliant 
place that returns what is needed. So on a Unix system place 
gnustep-config.sh in /usr/local/bin or /usr/bin and on Windows in 
/Windows/Programs (?)... etc.


Dennis






___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev






___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: gnustep-make experiment

2007-02-09 Thread Dennis Leeuw
Just to chime in... I compiled pkg-config from source a couple of times 
and it does need glib.


I haven't been able to work around glib.

Dennis

Wim Oudshoorn wrote:

Matt Rice [EMAIL PROTECTED] writes:


On 2007-02-09 09:18:02 -0800 Wim Oudshoorn [EMAIL PROTECTED] wrote:

So next I tried to download pkg-config version 0.21 and compile it
(on
MS Windows). Of course that failed because I hadn't installed glib.
So
I gave up.  (I tried once to get glib compiled on windows and it
wasn't a pleasant experience.)


It does not require anything but a reasonably well working C compiler
and a C library,
but can use an installed glib if that is present.


Well, did you actually try compiling pkg-config?  
I did not investigate deeply but the suggested way of compiling:


./configure
make

Did not work.  ./configure succeeded splendidly, but make
failed and the reason was that glib.h could not be found.

But I don't want to start a discussion in the GNUstep mailing lists on
how to install pkg-config.   I just wanted to see how it would work on windows.

Wim Oudshoorn.


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev






___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: GNUSTEP_INSTALLATION_DOMAIN

2006-10-10 Thread Dennis Leeuw

Hi Nicola,

Would it be an idea to have an option that decides what kind of tree is 
going to be used like:


GNUSTEP_FS_STRUCTURE=[FHS|GNUSTEP|WINDOWS|SOLARIS]

And then GNUSTEP_INSTALLATION_DIR decides where the root is, maybe it 
should be called GNUSTEP_FS_ROOT, like in

GNUSTEP_FS_ROOT=[/usr/GNUstep/System|/usr/GNUstep/Local|/usr|/usr/local|/opt]

I understand the use of domains, since it abstracts the filesystem from 
the user, but there is no NETWORK equivalent for FHS and WINDOWS, and 
some systems like to use /opt, which you rule out.


And what does SYSTEM mean on a Unix but non-FHS system, does that mean 
/usr or /, or /opt?


Just my 2 cents.

Dennis Leeuw


Nicola Pero wrote:

I'd like to propose a new option for gnustep-make ...

GNUSTEP_INSTALLATION_DOMAIN

which could take the values SYSTEM / LOCAL / NETWORK / USER.

This option can only be set on the command line, or before including
common.make ...
but using it in GNUmakefiles should be discouraged as all packages should
install by default
in the default locations ... except for maybe gnustep-base :-)

The meaning of the option is obvious ... it would determine if we install
into
System/Local/Network/User (currently you use GNUSTEP_INSTALLATION_DIR for
this).

The advantage of this option is that it could work with the Unix (or
generally 'native')
filesystem support ... eg, on GNU/Linux,

 make GNUSTEP_INSTALLATION_DOMAIN=SYSTEM

would install stuff in /usr, while

 make GNUSTEP_INSTALLATION_DOMAIN=LOCAL

would install stuff in /usr/local.


We'd still keep GNUSTEP_INSTALLATION_DIR, but only in the situations that
used to work
(ie, GNUstep or Apple filesystem layout), and it would be discouraged to set
GNUSTEP_INSTALLATION_DIR inside GNUmakefiles themselves.

In general, GNUSTEP_INSTALLATION_DIR doesn't work well with the more
flexible directory layout.

Most of the times you want to set GNUSTEP_INSTALLATION_DIR to
GNUSTEP_SYSTEM_ROOT, for example,
but that variable is no longer defined until later inside the GNUmakefiles
(you're no longer
supposed to have sourced GNUstep.sh!), and moreover, it might not even
have much sense if the
filesystem is not the GNUstep one.

GNUSTEP_INSTALLATION_DOMAIN would let you do the same things, but could be
made to work in
more general contexts. :-)

Comments welcome

Thanks






___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev






___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Fwd: Versioning/release policy proposal

2006-10-06 Thread Dennis Leeuw

Hi Richard,

A clear document, the only thing I miss is a rationale for the use of 
the SONAME with a major.minor structure, instead of the more common 
major. I think this would help in the understanding why, and resulting 
in less discussion.


I could even imagine that you use the SONAME major for make and base, 
while keeping major.minor SONAME for gui/back unit they hit 1.0. Just an 
idea.


Thanks,

Dennis

Richard Frith-Macdonald wrote:

Not sure this got through ... so resending

Begin forwarded message:


From: Richard Frith-Macdonald
Date: 5 October 2006 11:28:37 BDT
To: Adam Fedor [EMAIL PROTECTED], Gregory John Casamento  
[EMAIL PROTECTED], Nicola Pero [EMAIL PROTECTED]

Cc: Developer GNUstep gnustep-dev@gnu.org
Subject: Versioning/release policy proposal


This is a proposal for conventions to be adopted for releasing  
GNUstep packages ... the idea being that something like this could  be 
added to our FAQ and used as a reference for making releases and  to 
some extent guiding what changes we allow into trunk in SVN.


I'm CC'ing this to the developer list for information purposes, but  I 
lack the time to respond to comments directly (especially if this  
gets a lot of flaming etc) other than those from GNUstap  
maintainers.  I'm aware that not everyone can be pleased. but I've  
made my best attempt to satisfy people, and I'm hoping that Adam,  
Gregory and Nicola will broadly agree and add any final polish  taking 
any other opinions into account.




1. Release Version Numbering scheme
We retain the current major.minor.subminor version numbering scheme  
for releases and for naming tags in svn.
eg. when making a release of version 1.2.3 of package foo the svn  tag 
is foo_1_2_3.

This is clear, conventional, and well understood.

2. Library Version Numbering scheme
We retain the current link between release versions and library  
(SONAME) versions ... in that changing the major or minor version  
number of a release also implies changing the library version  number, 
but changing the subminor number does not.  So release  1.2.3 of 
package foo implies library libfoo.so.1.2 as does
release 1.2.4 etc.  This provides a clear and simple link between  
release version and library version while allowing us to make  
releases without having to change the library version we expect  apps 
to link to.


3. Policy on changing version numbers
We change the minor version number (and therefore the library  
version) when we break backward compatibility .  This will mean  that 
most releases we make will only change the subminor number  rather 
than the minor number even where we have added substantial  new 
features.  While I realise that this has a problem with public  
perception being that the project is dead because it never makes  
'big' new releases, I think it's better to address the problem with  
improved publicity of what's in the new release rather than by  hoping 
that a big version number change will do it for us.  On the  rare 
occasion where we want a big public change, we would change  the major 
version number (and of course SONAME).


4. Release stability policy
We advertise a 'stable' release *every* time we break backward  
compatibility.  Doing this requires making two releases pretty much  
at the same time and bumping the minor version number for each.   Eg. 
if the last release was 1.3.24 then we release 1.4.0 as  'stable' and 
1.5.0 as 'unstable', each with the appropriate change  in the SONAME.  
All releases (if any) in the 1.4 family would be  bugfix releases.
I suspect the vast majority of people would just use the 'unstable'  
releases (largely defeating the point of having 'stable' ones), but  
the overhead of doing a 'stable' release is very low, so I don't  see 
why we shouldn't do it.
We can make 'stable' releases be those with even subminor version  
numbers.


5. Standard release procedure (backward compatible with previous  
version)
a. tag the version for release using the name_major_minor_subminor  
convention.

b. make tarballs and installation packages
c. bump the subminor version number in trunk
d. put release on ftp site and publicise

5. Standard release procedure (NOT backward compatible with  previous 
version)
a. bump the minor version number and SONAME and reset the subminor  
number to zero
b. tag the version for release as 'stable' using the  
name_major_minor_subminor convention.

c. make tarballs and installation packages
d. bump the minor version number and SONAME and reset the subminor  
number to zero
e. tag the version for release as 'unstable' using the  
name_major_minor_subminor convention.

f. put releases on ftp site and publicise

6. Bugfix release procedure
a. if this is the first bugfix release of a package version, make a  
branch from the tagged release using the tag name as the branch name
eg. if the release was tagged in svn as foo/tags/foo_1_2_0 then the  
branch is foo/branches/foo_1_2_0

b. apply bugfixes to the branch
c. tag 

Re: gnustep release numbers

2006-10-05 Thread Dennis Leeuw
To quote my own documentation at 
http://ocean.made-it.com/Documents/Library.html


The so-name versioning system is described almost everywhere as:

quote
Versioning convention says we have three release numbers:

   1. major release number
   2. minor release number
   3. micro release number

Micro release changes may: improve performance, scalability or some 
other qualitative property, or fix a bug that does not change the API 
nor the ABI. Which means no application built against the old version 
should stop functioning with the new version, but also the otherway 
around: applications built against the new version should work with the 
old library. No functionality can be added to a micro release change.


Minor release number changes should be ABI comptible, but can enhance 
functionality. This means that applications built against the old API 
will work, but applications built against the new API might not work 
with the old ABI (hence they depend on the new minor number).


Major release changes will break ABI and API compatibility and thus 
require a complete rebuild of everything that depends on the libraries.

/quote

And as far as I can tell this is exactly why is being done with the 
GNUstep versioning system.


This of course has nothing to do with stable and unstable releases. 
SVN and the daily snapshots are the unstable releases, and the 
numbered releases are stable ones.


Currently the frequency in which we jump Major release numbers, and thus 
breaking the ABI are not frequent.


Minor releases is open for discussion, depending on your definition of 
frequent.


And Micro should be frequent.

The discussion is about the Minor part, so let's concentrate on that 
one. For a maintainer the choices are quite simple, IMO:


1) There is an app that needs the additional functionality, so you have 
to accept to also supply a library upgrade. Nothing more, so no other 
applications need to be upgraded.


2) No app needs the additional functionality... you do not have to do 
anything


Am I missing a point here?

With kind regards,

Dennis Leeuw

Helge Hess wrote:

On Oct 5, 2006, at 07:31, Richard Frith-Macdonald wrote:


If I seem incredibly slow in understanding what you mean by 'stable',



Sorry, seems I can't really explain stuff in a compatible way? ;-)

Well, its actually not my understanding of stable but the  
requirements enforced by soname versioning?
I'm actually not sure why there is a discussion on what a stable  ABI / 
soname is because its clearly defined and documented.


Its also kind of obvious that you are not supposed to have 10  different 
soname versions on a working system but just two or three :-)


please understand that it's just that the idea of trying to enforce  a 
frozen ABI for years seems utterly impractical.



Why? Its basically just that
a) we tag one branch as, say GNUstep 1.2.0, the stable one. we  announce 
this

   on the website and maintain soname stability requirements
b) development continues as-is in trunk with alpha releases (GS 1.3).  
In fact

   you can do many more releases because you are not expected to  maintain
   sonames.

BTW: please stop exaggerating ;-) I said 2 years not for years  and 
also at least 1 year :-) Thats about the devcycle of Linux  distries 
for endusers. It also doesn't need to be completely fixed on  a time. Eg 
if we have a *major* leap in functionality (say KVO is  implemented in 
base or Windows support gets perfect or so), we can do  a new stable 
release. But I don't expect this to happen a lot :-)  Development is 
more the incremental way.


I suppose a 12 month cycle should be reasonable, we would need to see  
whether we really have enough new features after 12 months :-)



The thing which is utterly impractical is requiring thousands of  users 
to update every few months and having to preserve ten binary  releases 
on the system because they might want to install an old tool/ daemon.


Even for gnustep-base it would not be easy (the drive to MacOS-X  
compatibility is too strong),



I completely disagree.

If we tag gnustep-base 1.2.0 as stable and this doesn't include, say  
NSOutputStream. Now I decide for OGo that we will use this class  
because its in OSX and its neat and whatever.
What you do in this case is a backport, that is you take the class  out 
of trunk, refit it to the stable version and include _just that  class_ 
in your application. That happens all the day with Linux  distris. If 
something is important to have, you get backports for  stable distries.


Of course one has to decide whether a backport is worth the effort  (do 
I really want to use NSOutputStream if its not in gnustep stable?  how 
difficult is it to refit the new class to the old base?). But  its 
always less effort than upgrading the _very basis_ for a  deployment of 
out-of-the-house developers.



Having a few stops very likely improves the quality in various other  
areas as well. Eg you finally have _one_ version

Re: Checking breakage of backward compatibility

2006-10-05 Thread Dennis Leeuw

Richard Frith-Macdonald wrote:


On 4 Oct 2006, at 12:46, David Ayers wrote:


I'm almost indifferent on the subject.  But in practice I believe  people
will unknowingly break binary compatibility and forget to bump the SO
name.  I think this is worse than forcing folks to recompile apps just
because the SO name bumped even though it didn't break binary
compatibility but like I said.  I wouldn't mind either way.



That worries me too ... but I think we *must* try to be strict about it.
Is there any way we could devise an automated test for binary  
compatibility breakage?




I once tried that... but the problem is you can only do that for the 
installed libraries. Is there a way I can ask a program to reveal what 
it needs? I only found tools that said what a lib supplies.


Greetings,

Dennis


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: gnustep release numbers

2006-10-05 Thread Dennis Leeuw
Yep you are right... hadn't looked at the soname naming. I expected the 
a soname Major, not Major.Minor.


Maybe that should be the real discussion then if this naming convention 
is still appropriate?


Dennis

Helge Hess wrote:

On Oct 5, 2006, at 16:01, Dennis Leeuw wrote:

Currently the frequency in which we jump Major release numbers, and  
thus breaking the ABI are not frequent.



Thats incorrect. For GNUstep the soname is Major.Minor, not Major.  
Which is correct because the soname compatibility indeed broke for  
every major.minor release in the past (classes or methods got added/ 
removed/behaviour changed).

---
lrwxrwxrwx   1 root root  23 Oct  4 11:58 libgnustep-base.so -  
libgnustep-base.so.1.13
lrwxrwxrwx   1 root root  25 Oct  4 11:58 libgnustep-base.so.1.13  
- libgnustep-base.so.1.13.0

-rwxr-xr-x   1 root root 7721941 Oct  4 11:58 libgnustep-base.so.1.13.0
---

You can't expect an application developed against 1.13.0 to run with  
base 1.10 (despite having the same major version). I think its rather  
trivial to proove that.



Again, you can easily check for (required!) soname increases in the  
ChangeLog:
  http://www.gnustep.org/resources/documentation/Developer/Base/ 
ReleaseNotes/ReleaseNotes.html


eg:
---snip---
Version 1.13.0

Several sets of classes have been added for dealing with urls and  
predicates


Version 1.12.0

NSStream, NSIndexPath
New classes added to the library.

Version 1.10.1
NSXMLParser class added

Version 1.9.2:
NSError
New MacOSX compatibility class
---snap---
etc. just extracted one example. per version and just included 4  versions.


Base is a highly moving target for any developer. He can't know what  he 
will be able to use on a deployed system (eg is NSStream available  or 
not).



Am I missing a point here?



Yes, see above ;-)

Greets,
  Helge




___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: make help

2006-09-27 Thread Dennis Leeuw

Adrian Robert wrote:
On 2006-09-27 23:04:07 -0400 Nicola Pero 
[EMAIL PROTECTED] wrote:



This could be an interesting idea, but the main problem is that someone
looking for help
probably wouldn't know that to get help you need to use 'make help=yes'.

Maybe whenever you type 'make' we could always print a line saying 
'Please

type
'make help=yes' for help' ...



I like this one.  In fact, you could have a msg like this:

GNUstep make (version x.xx); please type make help=yes for help.

That would serve 3 purposes -- tell invoker that GNUstep make is being 
used (in case they care), the version, and how to get help.


Reading the make manual, it specifies for installed stripped versions:

make install-strip, from this I find it more logical to use:
install-strip
install-nodebug

and going on in the same logic:
print-help  # prints complete help
print-targets   # prints only the available targets
print-options   # prints the available options
print-version   # Source version
print-gnustep-make-version # GNUstep-make version
print-gnustep-base-version etc...

Just my 2 cents.

Dennis


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Advertisement for gnustep

2006-09-12 Thread Dennis Leeuw

Chris Vetter wrote:

On 2006-09-12 13:38:40 +0200 Gürkan Sengün [EMAIL PROTECTED] wrote:


Indeed, especially if it looks like something I am used to, say
NeXTSTEP/OPENSTEP, Windows or Mac OS X. Please pretty please,
don't make new themes, new looks, another we are gnome, we
are cool, we are KDE, we are new, whatever new thing
that is just ugly.



You're absolutely right, however that is one of the major drawbacks for GNUstep 
-- that it DOESN'T look like KDE, GNOME or XFCE.

Or should I say doesn't try to imitate Windows ???

Most people are USED to the Windows look and feel, they are NOT used (anymore) 
to the look of NeXT (or OSX for that matter).



Maybe we should win on brains/quality instead of looks...

http://today.reuters.com/news/articlenews.aspx?type=inDepthNewsstoryID=2006-08-30T130311Z_01_PEK290182_RTRUKOC_0_US-CHINA-SURGERY.xml
http://marshallbrain.com/discard3.htm
http://www.washingtonpost.com/wp-dyn/articles/A64857-2004May28.html


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Advertisement for gnustep

2006-09-11 Thread Dennis Leeuw

Adam Fedor wrote:


On Sep 9, 2006, at 11:49 PM, Gregory John Casamento wrote:


Adam,

Is it an ad for new developers or an ad urging end-users to try GNUstep?

It's more of an add to get more help, but I think getting more users 
would provide the same benefit.



Maybe the best way to promote the GNUstep project is to set goals.
Create an overview of the current state and the milestones.
Give developers triggers where they can make contributions and what is 
in it for them.


We all know GNUstep can be the best desktop environment around and we 
can beat everything that was (maybe even that will be). The trick is to 
get people in. So tell honestly what is missing, where they can make 
their hands dirty (cairo integration springs to mind).


Just my 2 cents.

Dennis





___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev






___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: libgnustep-base split proposal

2006-03-10 Thread Dennis Leeuw

Chris Vetter wrote:

On 2006-02-26 03:12:10 +0100 Alex Perez [EMAIL PROTECTED] wrote:

Hear, Hear! This should be the default location. The other gnustep 
junk can still live in /usr/gnustep or wherever else, but the libs 
should be in *STANDARD FHS LOCATIONS*.



Uhm ... 'scuse me, this is all good and stuff, BUT...

... NOT everyone is using GNUstep on a system that adheres to a _LINUX_ 
specific standard. Bash me, if you want, I just checked the FHS' web 
site, and as far as I can see, the only system this so called standard 
is targeting is Linux. Or rather the other way around, Linux is the only 
system 'using' the FHS. So calling the FHS a standard is a bit over the 
top.




Maybe using pkg-config would solve this... although I do not know how 
portable pkg-config is to other platforms...


Dennis

--
It is not necessary to change.
 After all, survival is not mandatory.
Dr. W. Edwards Deming


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: SystemPreferences

2006-02-25 Thread Dennis Leeuw

Hi Matt,

Matt Rice wrote:
Hi Dennis, 


not sure if this is similar to what Chris had in mind
though i'll throw in my opinions 


I would say /{System,Local}/Library/AppName/
though it is probably better suited to the
ApplicationSupport/AppName given the current file
system layout

(though IMHO Library/ is what ApplicationSupport/ and
the stuff in Library/ currently should be in
Library/GNUstep or something for local root and just
Library/ for system root possibly, this is a whole
other conversation though)


I am not so much in favour of an ApplicationSupport directory. I do not 
understand it from a design point of view. If you want a design where a 
folder is the application you should put as much as possible within that 
folder. Not starting to re-invent the /usr/share directory... more below :)




the problem with Library/Bundles is its a catch all 
which contains a bunch of completely unrelated things


Yep, but we are talking (I think) about two things. Bundles that are 
shared amongst applications and Bundles only related to one single App.


The ones that belong to one single app I comment on below, the ones that 
are shared are a different story. To make a little comparison. You do 
not also create a Libraries/Images dir for libs that do image handling 
and Libraries/Sounds for sound related libs. They are all placed within 
the same dir.




i've forever been in favor of removing Bundles/
altogether though probably not vocal about it

so no not /System/Library/Inspectors

/System/Library/Foo/Inspectors/
/System/Library/Bar/Inspectors/


But then why shouldn't it be just part of the Resources dir like:
Foo.app/Resources/Library/Bundles
You keep the what is it logic, but if the thing is only used by the 
application it is stored with(in) the application.


Which imho makes more sense.



so each app would be in charge of its own heirarchy in
the Library dir and not dependent the correct
Library/SomeTypeOfBundle existing 


though again IMHO this should be relegated to third
party stuff, and stuff which is required/default
mostly belong in the app's resources itself to allow
for the mythical cp -r/drag and drop installation

otherwise if we have something like

/System/Library/Applications/Foo.app
/System/Library/Bundles/SomeFoo.bundle
/System/Library/Bundles/FooExample.bundle
/System/Library/Documentation/Foo/

we just have a normal unix heirarchy with a bunch of
capital letters and stuff, (things from the same
components split into many places) 

where we're kindof going for 
Foo.app

Foo.app/Resources/SomeFoo.bundle

and copy Foo.app to Library/Applications

Foo/FooExample.bundle
Foo/Documentation/ 
and optionally Foo/ to Library/


or something


To complete it it would imho even be better to have
Foo.app/Resources/Library/Documentation
Foo.app/Resources/Library/Bundles/
Thus keeping the Bundles dir, only on another level. The Bundles dir 
shows a what kind of component is this from a system/programmers point 
of view. Because the user should be kept unknowing of how a system 
works. She should never enter the Foo.app dir. Everything within that 
directory is only relevant for the developer(s), so on that level it is 
important to know what we are talking about, Libraries, Frameworks or 
Bundles.


I think that everything that is not shared amongst other applications 
and is only relevant for a single app, should belong in the App 
Resources dir.


I think the idea is to have a toplevel structure where you find Tools, 
Applications and Library. Where Library contains the shared resources. 
If something is not a shared resource it should be placed in the 
Foo.app/Resources dir in which the toplevel structure is shown again, like

Foo.app/Resources/Tools
Foo.app/Resources/Library
Foo.app/Resources/Applications

Although Applications is most unlikely, I can imagine that the Tools dir 
is there (something like the libexec directory).


Another way is to regard Resources equal to Library, but that would 
break the overall logic.


From a users/developers point of view (what do I expect when I have 
never seen the system before and how do I get quickly familiar with the 
system) the holy three Applications, Library, Tools should appear 
everywhere imho.


Greetings,

Dennis




--- Dennis Leeuw [EMAIL PROTECTED] wrote:



Hi Chris,

Would this also mean the we need a
/System/Library/Inspectors 
/System/Library/Finder
/System/Library/TextConverters 
/System/Library/GSPrinting just no name a view
others that are falling 
in the same category.


Or am I somehow missing the point here?




Chris Vetter wrote:


Hi,

just a thought, but wouldn't it make sense to


store SystemPreference 


modules somewhere else instead of


/System/Library/Bundles/ like 


/System/Library/Preferences/ or sth similar?

I know, technically, they ARE bundles, but then


again, logically they 


are system preferences and IMHO should be set


aside from regular bundles 


that are loaded during


application/backend

Re: SystemPreferences

2006-02-24 Thread Dennis Leeuw

Hi Chris,

Would this also mean the we need a /System/Library/Inspectors 
/System/Library/Finder /System/Library/TextConverters 
/System/Library/GSPrinting just no name a view others that are falling 
in the same category.


Or am I somehow missing the point here?

Thanks,

Dennis

Chris Vetter wrote:

Hi,

just a thought, but wouldn't it make sense to store SystemPreference 
modules somewhere else instead of /System/Library/Bundles/ like 
/System/Library/Preferences/ or sth similar?


I know, technically, they ARE bundles, but then again, logically they 
are system preferences and IMHO should be set aside from regular bundles 
that are loaded during application/backend/whatever startup. Makes sense?





--
It is not necessary to change.
 After all, survival is not mandatory.
Dr. W. Edwards Deming


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Possible future Gorm name change

2005-11-17 Thread Dennis Leeuw



GNUstep ain't Cocoa/OSX. I don't see a point in mimicking too many of
Apple's ideas.
What will be next? Use gSomething (gChat) analogous to iSomething (iChat) ???


troll
Wauw... cool! Nice Idea
/troll


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Gorm 1.0 on GNUstep site

2005-11-02 Thread Dennis Leeuw

Scott Stevenson wrote:


On Nov 2, 2005, at 5:13 AM, Stefan Urbanek wrote:


Something like here:
http://www.mozilla.org/products/firefox/
or here:
http://www.openoffice.org/
or here:
Advertisment of art.gnome: http://www.gnome.org/



Or like this?  :)

http://treehouseideas.com/downloads/gnustep.page


Wow! This is great!
I am completly amazed...

If this was a competition I vote for this one.

Dennis



I'll see if I can find some time to templatize this weekend, but  
deploying it is probably somewhat depedent on having server side  
includes or something implemented across the site.


- Scott




___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev




___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Why Unanimous Consent Doesn't Work (Was: Re: why do we need change?)

2005-10-26 Thread Dennis Leeuw

Richard Frith-Macdonald wrote:

On 2005-10-26 08:49:52 +0100 Dennis Leeuw [EMAIL PROTECTED] wrote:




Sašo Kiselkov wrote:


Alright, let's stop arguing (which doesn't lead anywhere) and
starting holes in the air, but let's instead start some
heavy-weight brain-storming for ideas on how to implement the
problems at hand. From the dicussions before we already know
that:

- GNUstep needs somewhat tighter management of it's further
development

- GNUstep needs to better react to proposals coming from it's
users (meaning people using GNUstep, not just end-users)

My proposal for the first point is setting up some sort of
GNUstep Steering Commitee composed of a bunch of people which
would choose the direction. Perhaps 3, 4, or 5 people, the
precise number doesn't matter. It should be core-developers,
people who have authority, knowledge and wisdom.

As for the second point, I propose setting up a discussion forum
(something like a phpBB or something simmilar) entitled like
GNUstep Future. In the forum there could be sections like:


Could we for now, just make it a little easier (Although I like
your idea). Could we first define and set (e.g. in the wiki or on
the progress page). The things we think needs to be done to get GUI
and Back to 1.0?

I think it is a clear goal. Something we can all agree on, I don't
think there isn't anybody who doesn't want GNUstep to become 1.0.
We just need a list of things to be done and a timeframe.



Can I support this ...

Yes, a new release would be good ... I don't think anybody disagrees
and I don't think anybody wants to insist on exact OpenStep
compliance.

Yes, we want to keep things simple.

Not sure wiki is best for tasks ... how about defining tasks in the
GNUstep project task manager? We (well, Adam) could set up a new task
category for 1.0 release.



That would be cool. Is that related to the progress page? Since that 
last update of the progress bar is from 2004/03/03 which is rather old.


Thanks,

Dennis Leeuw


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: The goal of GNUstep 1.0 (Why Unanimous Consent Doesn't Work)

2005-10-26 Thread Dennis Leeuw

Hi Richard,

Richard Frith-Macdonald wrote:

On 2005-10-26 08:49:52 +0100 Dennis Leeuw [EMAIL PROTECTED] wrote:

I think it is a clear goal. Something we can all agree on, I don't 
think there isn't anybody who doesn't want GNUstep to become 1.0. We 
just need a list of things to be done and a timeframe.



Personally I see three, largely independent targets that I think, we 
should be aiming for ...


Target one:
As already identified, gui/back  reliability/polish/10.0-release ... 
proibably the most important target ...


The two gui/back issues that really annoy me are ...

1. window manager interaction ... I want clicking on windows to work 
*reliably*, so that when I click on any GNUstep window
a. The application activates (shows its menu and panels, and raises the 
window clicked on).

b. The clicked winbdow starts accepting keyboard input
c. any other GNUstep application deactivates (hides its menu and panels)

2. popup/pulldown menu operation ... sometimes (often) popup menus seem 
to fail to track the mouse, so you can't select their buttons.



These points seem to me are THE goals for a 1.0 release. My question is 
about the next one. How much I would want to have Camaelon integrated I 
think it would be wise to move it to e.g. 1.1.

What do you think?



And the one new development I'd really like to see is ...

Camaelon integration into the gui.  I have no particular need for it 
myself, but it's a good selling point and it's needed for my third main 
target.


Cut the app part. Just to stay on the (changed) subject



Target three:
ms-windows support ... we've made a lot of progress on this, but we 
*should* be taking it a lot further.  Personally I want to run GNUstep 
on windows (when I have to use windows) and have it look/feel like 
GNUstep/NeXTstep.  However, a lot of people want it to look/feel like 
windows, so we need to have a windows theme (and Camaeleon built into 
the gui as I mentioned above).  We need windows backend/gui development 
work, and we need to be able to support both windows and OpenStep style 
inter-application communications (cut/paste, DnD, services, 
notifications, workspace/session management etc), though this isn't 
going to happen quickly and must be viewed as a long term goal.


Here my question is also, is Windows a 1.0 goal or should it be post-1.0?

Of course, there are many other things we want to do, but even 
concentrating on three main targets is a LOT of work, and I don't think 
having more than three formal goals is a good idea.


I think you are very right. We have to take little steps at a time. 
Thank you so much for this input. I think a task list is now emerging 
for a clear defined goal.


Let's here some more input!

With kind regards,

Dennis Leeuw


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: why do we need change?

2005-10-25 Thread Dennis Leeuw

Hi Gregory,


To get to 1.0 I think a roadmap is needed. Looking at:
http://savannah.gnu.org/task/?group_id=99
Maybe someone should define which one of those tasks needs to be 
completed before GNUstep can be 1.0. And those points should be made 
more visible on the website, as to get peoples attention.
All other stuff should be done in a post 1.0 branch or even not 
excepted, until after the 1.0 release.



I believe that first and foremost we need to stop tying ourselves to the
OpenStep specification.   Yes, it is a good guideline, but I don't think we
should use it as a measure for the 1.0 anymore.

Some of the AppKit classes in it are not used any longer and thus we really
shouldn't see these as showstoppers for the 1.0.   We need to come up with a
list of things which should be accomplished prior to the 1.0 release of
GNUStep-gui.   Once this is done, we should announce GNUstep 1.0 to the world.


I agree with you that the OpenStep spec should not be leading anymore. I 
think GNUstep already has out grown the spec. It should now stand on its 
own feet, with own ideas and an its own direction. But before that can 
be accomplished we need to show the world we are ready to do that. And I 
think a 1.0 release would be a good marker. After that we have to think 
about the future for 2.0 and maintain 1.0.


But who is going to take the lead to create a list of things to be done 
before we can claim 1.0. And a bigger hurdle for the GNUstep community 
how are we going to agree on it. Many of those discussions tend to go no 
where on the GNUstep lists.


I suggest that one person (or a very small group) decides what needs to 
be done and setup a rough timeframe in which they would like it to be 
accomplished.


If the timeframe conflicts with reality (no body wanting to pick up a 
certain part), then the idea of Adam for a bounty for that subject can 
be used.


In my opinion everything should now be aimed at getting at 1.0.

With kind regards,

Dennis Leeuw


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev