Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Community » Coffee corner » About Linux distros and incompatibilty...
Re: Final release [message #17072 is a reply to message #17063] Sun, 27 July 2008 14:47 Go to previous messageGo to previous message
mdelfede is currently offline  mdelfede
Messages: 1259
Registered: September 2007
Senior Contributor
unodgs wrote on Sat, 26 July 2008 22:54

Quote:

Your 'proposed' file structure... well, that's a bit more problematic. You say 'every app has it's own directory'.
Just think at 'path' problem and you'll see that's not manageable, OR you loose the ability to run apps from command line. Second problem... where do you put config files ? in app folder... impossible, unix doesn't have a *reliable* way to locate executable location. So it must be in a 'fixed' location, which could be /apps/myapp/ or, as it is by now, /etc/myapp.


running apps from cmd - how many apps do you run from cmd daily? Maintaining PATH variable is not problematic to me.
'path problem' - what problem ??


Many of them, when I've got a terminal already opened I find quicker to use command line than menus.
BTW, the 'path problem' is that, which a folder for each app executable makes path zilions chars long an slow to parse.
Quote:


config files - user configuration file in /users/../.appname, global app settings somewhere in app instalation directory tree (where exactely it dosn't meatter)
unix doesn't have a *reliable* way to locate executable location - I'm not unix expert - please explain what's the problem.
Besides we're mostly interested in linux not all unixes. I don't see a problem in fixing this on system level (whatever this problem is Smile )


The problem is simple : you can't assume that argv[0] contains the full executable path, as in windows... it contains the command line used to run the app.
So, if it's on path, it's enought the app executable name, no path. If it's not a path, it can be a symbolic link to the executable. It's a known problem on Linux; there are solutions but all of them are seen as unreliable. I used one of them on my build scripts, if you look at it you'll find it cumbersome, using LSOF command to look for opened files and parse it.
Of course, Linux could be patched to solve this, but I believe it will never happen.

Quote:


No I don't want any dll/so hell. For example my kde instllation uses qt 4.3. Application x use qt 4.3.1 so it KEEPS IT IN ITS OWN DIRECTORY. What's more - even if it uses exactely the same version it also has its own copy. I will delete kde - my app run will be still able to run.

Of course some files must be shared like xorg libs or kde libs. In my filesystem you would have /kde/3.3, /kde/3.4, /xorg/4.0, /xorg/4.2. System could hold in memory structure with that paths, so every app could read it and determine where files it needs are located and if the version they need exist.
I'm not scared about 20 identical shared libs loaded* (typicaly you have 10/15 apps run - and if you have more than 1gb that's no problem). I just want my app run without problems. I want it to be easily located and removed if necessary.


That's (AFAIK) the .net solution to dll hell problem.
It's A solution, not the perfect one, and I think that it'll never be a 'perfect' solution.
IMHO it's better to have a single dll loaded for many apps, besides of being less memory hungry (that's not a big problem by now, indeed) the app startup time is much shorter (and that one IS a big problem sometimes).
Having a copy of KDE libs in 10 places would mean mantain all of them on a kde upgrade OR keep different version of them on a by-app basis. I wouldn't like that one... what happens if a security hole is found on current kde lib ? you upgrade package, you have the 'official' lib replaced and all your 9 copies still containing the hole...

Quote:


I agree with you about 'uniform' filesystem structure, but I don't want ubuntu to be that one.


Well... that's a matter of taste, of course. I wouldn't ever like to have a windows-like filesystem structure, in particular regarding system files.... Just look at c:\windows folder Smile
Ah, I forgot... c:\programs\common files\officexyz folder, c:\programs\common files\myapp, etc.
And if you change language, c:\programmi\file comuni\....
And that ""wonderful"" 'documents and settings' three !

What I really don't like on linux fs is /opt /usr/share /usr/share/1/2/3/.../2345 and so. Those are really useless.

Max


Max
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: UPP SW deployment
Next Topic: Win32 UPP console application profiling? Some free easy to use tools, anyone?
Goto Forum:
  


Current Time: Mon Jan 27 07:38:35 CET 2020

Total time taken to generate the page: 0.00987 seconds