[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Sc-devel] Platform, Quarks and stand-alones

Hi Dan,

My goal was to force consistency within the particular copy of SC, not between copies of SC running on the same OS.

There are occasions where it is useful to have everything within the SC folder (as it used to be arranged).

For example, if I have an installation somewhere and the computer dies; some gallery staffer who knows nothing about has to install on the new machine. Life is much, much easier if this means copying a folder, setting the app to start on boot and rebooting. I really do not want them going into the application at all....

Another example, the labs at Wesleyan get their disk images rewritten periodically. The only directory that does not get altered is "student_data". With everything in the SC folder, a student can place the folder in student_data and work without running into the need to reinstall and reupdate whenever the machine is reimaged.

Of course, you could keep Quarks in the SC folder and still use symLinks. But, if I am building these copies from my own machine, I now have to keep a separate copy of the Quarks in use for each different version I am building. It is far lower maintenance to have the SC folder versions copy from the standard Quarks directory.

That is what I meant by SC being a programming environment rather than an application. Since you can need to have multiple copies for different needs on one machine, all configuration details should be easily adjusted.

Eventually the useSymLinks flag should probably be stashed in Platform and made a part of application preferences.
But we have to get an application preferences panel working first....


On Feb 28, 2008, at 10:02 AM, Dan Stowell wrote:

What's your motivation for the "useSymLinks" flag? Why not just check
whether or not we're on windows? That would automatically enforce the
consistency you mention.


2008/2/28, ronald kuivila <rkuivila@xxxxxxxxxxxx>:
 Hi Dan and Felix,

 Seems like:

if (useSymLinks) {
("ln -s " + (local.path ++ "/" ++ q.path).escapeChar($ ) + (dirname ++
"/" ++ q.path).escapeChar($ )).systemCmd;
} {
("cp -r" + (local.path ++ "/" ++ q.path).escapeChar($ ) + (dirname ++ "/"
++ q.path ).escapeChar($ )).systemCmd;

installs and

("rm -drf" + (Platform.userExtensionDir ++ "/" ++ local.name ++ "/" ++
q.path).escapeChar($ )).postln.systemCmd;

deinstalls correctly. Can anyone verify these will work in win32? (seems
like they must)

There is the question of what to do on update.  We could add

 if (useSymLinks.not) { Quarks.installed.do { | q |
Quarks.uninstall(q.name); Quarks.install(q.name) } }

to Quarks:update.

Finally,  I would propose that the setter of useSymLinks reinstall
everything to force consistency (i.e., all quarks are installed installed
the same
way, as a symlink or a copy).


On Feb 27, 2008, at 5:01 PM, Dan Stowell wrote:

2008/2/27, felix <felix@xxxxxxxxxxxxxxxxxxx>:
On Wed, Feb 27, 2008 at 7:22 AM, ronald kuivila <rkuivila@xxxxxxxxxxxx>

3. Insisting on symlinks breaks the use of Quarks in win32. While Felix'
and James' rant about win32 was entertaining,

yes, and after the quip about the horse I suggested on windows we could
simply copy the folder.

so I already suggested the solution and I've suggested it before but still I
have heard nothing.

Cool, so let's do it. So installation needs a platformy-switch; does
deinstallation? Deinstallation is (currently) by deleting a symlink;
on Windows, would exactly the same mechanism work to delete the
(copied) folder as well as its contents, or does it need something
special, like the equivalent of "rm -rf"?

Sc-devel mailing list

 Sc-devel mailing list

Sc-devel mailing list