Closed Bug 75687 Opened 24 years ago Closed 22 years ago

need mechanism for creating flat chrome as symbolic links

Categories

(SeaMonkey :: Build Config, defect)

All
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla1.6beta

People

(Reporter: rginda, Assigned: neil)

Details

Attachments

(1 file, 5 obsolete files)

configure-ing with --disable-jar-packaging used to create symbolic links into dist/bin/chrome/foo, now it just copies. Symbolic links made it possible to update a xul app and test the changes without having to make all over again (on linux, at least.) waaa.
This fixes it, but probably breaks XP, how do we figure out if we're on *nix here? How about <http://lxr.mozilla.org/mozilla/source/js/tests/jsDriver.pl#730>? cvs server: Diffing . Index: make-jars.pl =================================================================== RCS file: /cvsroot/mozilla/config/make-jars.pl,v retrieving revision 3.36 diff -u -r3.36 make-jars.pl @@ -220,7 +220,12 @@ mkpath($dir, 0, 0775) || die "can't mkpath $dir: $!"; } unlink $destPath; # in case we had a symlink on unix - copy($file, $destPath) || die "copy($file, $destPath) failed: $!"; + + if ($fileformat eq "flat") { + symlink ("$objdir/$srcFile", "$objdir/$destPath") || die "symlink ($objdir/$srcFile, $objdir/$destPath) failed: $!"; + } else { + copy($file, $destPath) || die "copy($file, $destPath) failed: $!"; + } # fix the mod date so we don't jar everything (is this faster than just jarring everything?) my $atime = stat($file)->atime || die $!;
The use of --disable-jar-packaging is deprecated, use --enable-chrome-format=flat instead. I don't believe make-jars.pl ever used symlinks. So when we switched to using make-jars.pl for chrome exclusively (well over 6 months ago), we stopped making symlinks for chrome. I also recall there being a problem with chrome symlinks and the commercial tree and I don't want to revisit it. Doing a 'make install' from the directory that contains the jar.mn file is not that big of a penalty. Marking wontfix.
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → WONTFIX
Resummarizing. Clearly you don't spend much time developing XUL applications ;) Not typing "make install" means I just hit "reload" to get mozilla to see my changes, typing "make install" in some other window is 100% more work. Seriously, it's a big win for anyone developing a mostly-xul application on unix. How about this patch instead, it adds a new fileformat called "symlink". People developing xul on commercial can just stick with the "flat" format when they need flat chrome files. This also eliminates the need for o/s detection. (my tree is in flux, I havn't actually tested this diff yet)
Summary: --disable-jar-packaging no longer creates symbolic links → need mechanism for creating flat chrome as symbolic links
verified wontfix.
Status: RESOLVED → VERIFIED
That's it? Happy freaking easter to you too.
No, it's happy freaking birthday to me, thank you very much. No, I'm not a XUL developer so I don't see the pressing need for symlinks. Your patch is untested so I'm not going to plop it in the tree just yet. I have negative time to put in on this patch and it's nowhere near essential so it's going to remain at the bottom of my bugs-that-people-consider-cool-but-don't-have-time-to-properly-fix-themselves-and-yet-expect-me-to-fix pile.
This isn't a bug I'm expecting you to fix.
Status: VERIFIED → REOPENED
Resolution: WONTFIX → ---
Reassign to myself.
Assignee: cls → rginda
Status: REOPENED → NEW
Attaching updated patch. configure.in needed to allow "symlink" as a possible value for $MOZ_CHROME_FILE_FORMAT, and the test in rules.mk needed to call add-chrome.pl with disableJarPackaging set for the symlink case. I also removed one of the duplicate "use Cwd;"s in make-jars.pl. looking for r/sr=
Status: NEW → ASSIGNED
Attached patch updated patch (obsolete) — Splinter Review
ok, I flubbed this again. For the case where there is no explicit source in the jar.mn, $srcFile is empty, and the link ends up getting created to the directory. I've got the fix here, but don't have time to recreate the patch (jsdebugger changes are mixed in.) I'll attach it by Monday.
Attached patch another updated diff (obsolete) — Splinter Review
This latest patch fixes the problem for jar.mn entries without explicit source files.
Just out of curiousity, why the removal of "use Cwd;"?
It was in there twice.
r=leaf
I would like to resurrect this bug... I have fixed merge conflicts above.
Attachment #30904 - Attachment is obsolete: true
Attachment #31679 - Attachment is obsolete: true
Attachment #32032 - Attachment is obsolete: true
rginda: can I steal this bug from you?
Target Milestone: --- → mozilla1.5alpha
Attachment #125087 - Flags: review?(seawood)
Comment on attachment 125087 [details] [diff] [review] add --enable-chrome-format=symlink >Index: config/make-jars.pl > if ("$fileformat" ne "jar" && > "$fileformat" ne "flat" && > "$fileformat" ne "both") { >- print "File format specified by -f option must be one of: jar, flat, or both.\n"; >+ print "File format specified by -f option must be one of: jar, flat, both, or symlink.\n"; > exit(1); > } It looks like it would always error out in the symlink case, since the if condition doesn't check for symlink.
Benjamin, feel free.
Comment on attachment 125087 [details] [diff] [review] add --enable-chrome-format=symlink OK, this patch is doing absolute symlinks, and I would like relative... fix upcoming.
Attachment #125087 - Attachment is obsolete: true
taking
Assignee: rginda → bsmedberg
Status: ASSIGNED → NEW
Attached patch --enable-chrome-format=symlink (obsolete) — Splinter Review
Updated, now uses relative symlinks. Weirdal: the check in make-jars.pl is correct, because it checks for the "symlink" case just above and changes the param to "flat".
Attachment #125299 - Flags: superreview?(blizzard)
Attachment #125299 - Flags: review?(leaf)
Comment on attachment 125299 [details] [diff] [review] --enable-chrome-format=symlink cancelling reviews on this, because the relative symlinks don't work correctly
Attachment #125299 - Attachment is obsolete: true
Attachment #125299 - Flags: superreview?(blizzard)
Attachment #125299 - Flags: review?(leaf)
Attached patch My go at a patchSplinter Review
Attachment #134062 - Flags: superreview?(bryner)
Attachment #134062 - Flags: review?(bsmedberg)
Comment on attachment 134062 [details] [diff] [review] My go at a patch please prefix rel2abs and abs2rel (mozrel2abs, for example). File::Spec::Functions can cause name collisions in some circumstance. Otherwise, great! r=bsmedberg
Attachment #134062 - Flags: review?(bsmedberg) → review+
Comment on attachment 134062 [details] [diff] [review] My go at a patch >Index: rules.mk >=================================================================== >RCS file: /cvsroot/mozilla/config/rules.mk,v >retrieving revision 3.420 >diff -p -u -r3.420 rules.mk >--- rules.mk 16 Oct 2003 06:46:50 -0000 3.420 >+++ rules.mk 24 Oct 2003 20:36:23 -0000 >@@ -1465,7 +1465,11 @@ JAR_MANIFEST := $(srcdir)/jar.mn > ifeq (flat,$(MOZ_CHROME_FILE_FORMAT)) > _JAR_REGCHROME_DISABLE_JAR=1 > else >+ifeq (symlink,$(MOZ_CHROME_FILE_FORMAT)) >+_JAR_REGCHROME_DISABLE_JAR=1 >+else > _JAR_REGCHROME_DISABLE_JAR=0 >+endif > endif > > ifdef NO_JAR_AUTO_REG This can be written a little more concisely: ifneq (,$(filter flat symlink,$(MOZ_CHROME_FILE_FORMAT))) _JAR_REGCHROME_DISABLE_JAR=1 else _JAR_REGCHROME_DISABLE_JAR=0 endif Other than that, sr=bryner (with bsmedberg's comments addressed)
Attachment #134062 - Flags: superreview?(bryner) → superreview+
Taking.
Assignee: bsmedberg → neil.parkwaycc.co.uk
Target Milestone: mozilla1.5alpha → mozilla1.6beta
Fix checked in.
Status: NEW → RESOLVED
Closed: 24 years ago22 years ago
Resolution: --- → FIXED
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: