1 |
> > An app folder contains starting scripts and the related resources / |
2 |
libraries |
3 |
> > in an all in one package. The idea is that you can copy an app folder |
4 |
> > around in your local file system or to another file system (thing .dmg |
5 |
here), |
6 |
> > while the application still remains runnable. So you have to include any |
7 |
> > library, beside the Apple provided ones. |
8 |
|
9 |
> Two problems with your logic: |
10 |
|
11 |
> 1) The affirmation that all the libraries every .app needs are |
12 |
> included in .app folders is false. Check out /Library and |
13 |
> /usr/lib--you will find that they are not even close to empty. .app's |
14 |
> depend heavily on having a relatively stable OS X system out there to |
15 |
> support it. Try dragging Mail.app from a Tiger installation onto a |
16 |
> Jaguar installation and see if it works. |
17 |
|
18 |
You are right about that not everything is included. SO I still think |
19 |
there must exist a set of libraries which are shared across several MacOS |
20 |
version. |
21 |
The question is if these set is somewhere documented, and how reliable |
22 |
this portability is. |
23 |
But it still is possible to create .app folders which run on several |
24 |
MacOSX versions. Apple Mail may or maybe not a shining example for this. |
25 |
|
26 |
> 2) I think you dragged out the "GUI is/isn't just a frontend to the |
27 |
> CLI" issue to try to argue for app-like organization of files. |
28 |
> They're not the same issue. Let's face it: one of the main reason's |
29 |
> portage exists is to easily manage compiling/installing packages in a |
30 |
> nice orderly way without going upstream to all the projects you are |
31 |
> using and somehow forcing them all to recode their projects so they |
32 |
> work in an app-like organization. |
33 |
|
34 |
- Yes, both issues are separate |
35 |
- No, I don't think any Gentoo package is suited for an app folder. |
36 |
- Yes, normally I am fine with a global namespace, too. However, there exist |
37 |
reasons that I would like to create an .app folder for special |
38 |
applications. |
39 |
- In fact the "GUI is/isn't just a frontend to the CLI" argument I see |
40 |
more as a |
41 |
problem for the prefixed approach. If I am able to start an application |
42 |
from |
43 |
the GUI / Finder, I cannot be sure which .{shell}rc is executed, and so |
44 |
which |
45 |
non-standard places are accessible to an application starter. When I try to |
46 |
start an application which tries to load its libraries from e.g. |
47 |
/sw/lib, I am not |
48 |
quite sure about the results |
49 |
- From what I understood, .app folder don't really need much work from the |
50 |
upstream developers. It should be sufficient to specify the correct |
51 |
paths, at |
52 |
least if a proper build tool is used. I am not quite sure, but I think .app |
53 |
folders mostly work because of linker magic, i.e. some conventions about |
54 |
where libraries are places relatively to the app folder root. |
55 |
|
56 |
> Even assuming you DID get portage to force things into .app |
57 |
> structures and work perfectly, the moment you dragged it to another |
58 |
> system without the exact same versions of compiled gentoo libraries, |
59 |
> you're hosed. |
60 |
|
61 |
I thought that was the reason for some magic concept like source and |
62 |
especially binary compatibility for a given library? |
63 |
|
64 |
> Don't get me wrong, I think the whole app idea is awesome. .app's can |
65 |
> and have been created for OSS (Carbon Emacs, for example), but if |
66 |
> you're going to go to all the trouble to create a real .app, there's |
67 |
> no need for a special package manager (portage) just to copy it into |
68 |
> your /Applications folder. |
69 |
|
70 |
I think the use cases are different. A pure portage based system is fine |
71 |
as long as you have a running Gentoo system, or you are willing to take |
72 |
the plunge. |
73 |
An app folder is fine if you want to deploy an emerged application to a |
74 |
system which has no Gentoo running (an example would be the Mac system of |
75 |
my parents. I would really like being able to show off some recent version |
76 |
of, say, Abiword compiled for MacOS, without having to download a special |
77 |
version from the Abiword developer's site) |
78 |
|
79 |
> > From what I see, fink-commander is a frontend to fink, i.e. to the |
80 |
> > packages, not to the actual applications. Last time I checked, a |
81 |
gentoo or |
82 |
> > fink package has no concept about which are the actual executables. |
83 |
|
84 |
> Splitting hairs. If you make it, then have it do what you want it to do. |
85 |
|
86 |
I don't think such a system which automatically creates startable |
87 |
applications, would be possible right now in Gentoo. There is too much |
88 |
missing metadata in the Gentoo system for such a task. |
89 |
|
90 |
> You are free to use Apple gcc -- that's what it's on your system for. |
91 |
> However, gentoo stuff specifically depends on the features, quirks, |
92 |
> and even bugs in its own supported toolchain, including gcc. Once |
93 |
> there is a "stable, working" version of gentoo-osx, don't expect a lot |
94 |
> of sympathy from gentoo devs if you're not going to use standard |
95 |
> gentoo toolchain. I certainly wouldn't object if a way was found to |
96 |
> use any of Apple's tools, especially if they are better in some way, |
97 |
> but I'm not going to hold my breath. |
98 |
|
99 |
While I may agree about special Apple tools like Xcode (vs Gentoo |
100 |
./configure/make/make install), I don't think this applies for the actual |
101 |
C compiler. I think even in the stock Gentoo toolchain there is the |
102 |
distinction between gcc-3 and gcc-4, where each individual Gentoo |
103 |
installation decides which version too use. Apple's gcc-4 is (or should |
104 |
be?) just another option for a C compiler, at least as long as no Apple |
105 |
specific features are used (think e.g. support for ObjectiveC++ support) |
106 |
|
107 |
> > No. manually installing the packages which are needed to emerge the |
108 |
> > actual wanted packages. The latter are still emerged via Gentoo. |
109 |
|
110 |
> Portage exists to automate (and customize) manual installs. If you |
111 |
> can find a way to manually install it correctly, and the ebuild in |
112 |
> portage can't, then the solution is to fix the ebuild so that it works |
113 |
> for everyone. |
114 |
|
115 |
As long as I can coerce Gentoo to actually emerge a package, everything is |
116 |
fine. The problems start if this is not possible (for a variety of |
117 |
reasons) |
118 |
|
119 |
Regards |
120 |
Dirk |
121 |
|
122 |
|
123 |
|
124 |
|
125 |
|
126 |
|
127 |
-- |
128 |
gentoo-osx@g.o mailing list |