From: incognu <in...@in...> - 2006-11-09 11:04:00
|
Quoting "Jose J. Rodriguez" <jo...@gm...>: > On 11/8/06, incognu <in...@in...> wrote: >> Joe1962 asked if I'd be interested in doing some work on the >> SeaMonkey package. >> >> I've packaged one of my own builds based on instructions on the web, but I'd >> like to know more about how JohnB316 has been packaging them. Also, can you >> share the .mozconfig used for the Vector SM packages? And of course >> also, what >> method are you using to change the theme in the package? >> > > incognu: > > Welcome to our vectorlinux-devel mailing list. Thanks for the welcome. > The theme is a tough > one, because it was mostly arrived at by installing the xpi on a > running SM and seeing what changed. So far I just kept the chrome.rdf > and overlay.rdf for overwriting in subsequent builds, which is not a > nice way to do it. Since you have an understanding of the rdf files, > you might give us a hint on how to script the addition of the eurynome > theme and newsfox to them. Yes, patching the source first would be nicer, but that at least works, and isn't too unweildy. It might be possible to patch the source to include the theme .... The extracted theme directory should go in ./mozilla/themes. Then, ./mozilla/themes/makefiles, ./mozilla/themes/Makefile.in should be edited to include a reference to it. (Not sure if other files need to be edited.) The really difficult part is generating the jar.mn which should go in ./mozilla/themes/eurynome, corresponding to the jar.mn files in ./mozilla/themes/classic and ./mozilla/themes/modern. Does anyone know of a bash script which can automatically generate a jar.mn? I've been trying to write one, without much success. The script I've come up with can only generate a partial jar.mn for one subdirectory at a time. Since there are 113 subdirectories in eurynome (and > 1000 files), this is still impractical, though not as bad as creating one by hand. If anyone's handy with scripting, here's what I have so far. unzip eurynome.jar -d eurynome ls -R eurynome > Z_ls-R.one manually copy only the 2nd section, starting with "eurynome/communicator:" into a second file, "one.bak" and then run this script (rough working copy): #!/bin/bash DIRNM=thisisdirectory DIRNMRT=communicator # edit this each time run script for each of 113 subdirectories! FNM=one echo $DIRNM echo $FNM cat $FNM.bak > $FNM sed -i '/\.[a-z]/ !s/.//g' $FNM # this removes all non file names sed -i '/^$/d' $FNM # this removes blank lines cat $FNM > $FNM.a cat $FNM > $FNM.b sed -i "s/^.*/\($DIRNM\/&\)/g" $FNM.b sed -i "s/^/ $DIRNM\//g" $FNM.a rpl "$DIRNM" "$DIRNMRT" $FNM.a rpl "$DIRNM" "$DIRNMRT" $FNM.b diff -y --width=160 $FNM.a $FNM.b > $FNM.diff.a cp $FNM.diff.a $FNM.diff.b sed -i 's/|//g' $FNM.diff.b expand $FNM.diff.b >> $FNM.diff.c.mn # tabs to spaces; add each section as processed to the .mn file sed -i 's/^ / /g' $FNM.diff.c.mn The output is called one.diff.c.mn. I think (haven't been able to test) that this, on these limited lines, gives the proper format. Since Eurynome's directory structure is different from Classic's, I think the lines should be, for example: communicator/tasksOverlay.css (communicator/tasksOverlay.css) instead of Classic jar.mn's: skin/classic/communicator/tasksOverlay.css (communicator/tasksOverlay.css) Ideally, the script should take each section in the file generated by "ls -R eurynome" -- for example, to use two short ones: eurynome/communicator/permissions: status-cookie.gif taskbar-cookie.gif eurynome/communicator/profile: migrate.gif profile.css profileicon-large.gif profileManager.css and automatically get the directory name (such as "communicator/profile/" from "eurynome/communicator/profile:") at the beginning of each section, using it only in each section, and processing it along the lines of my script. As it is, it's necessary to copy, paste, and process one section at a time, manually entering the directory variable into the script. For over 100 sections! > We do the following steps: > > 1- put eurynome.jar and newsfox.jar in > /opt/seamonkey/lib/seamonkey-1.0.5/chrome/ > 2- overwrite chrome.rdf and overlays.rdf in that same dir > 3- change the /opt/seamonkey/lib/seamonkey-1.0.5/chrome/icons/default/ > to the eurynome-matching set > 4- Replace /opt/seamonkey/lib/seamonkey-1.0.5/defaults/profile/bookmarks.html > with our customized bookmarks > 5- Put our customized userChrome.css and userContent.css in > /opt/seamonkey/lib/seamonkey-1.0.5/defaults/profile/chrome > 6- rename /opt/seamonkey/bin/seamonkey > to seamonkey-original > 7- copy our seamonkey script to /opt/seamonkey/bin/ > > This seamonkey script (step 7) makes it possible to call several parts > of SM from the menu even when SM is already running. The ones that > cannot be called in this situation (would require a different > profile), simply produce a popup explaining that they should be run > from within SM. > > Of course, we also add icons and .desktop files for the KDE and XFCE > menus to the package, as well as XFCE helper definition files and an > /etc/profile.d/seamonkey.sh script. That mostly looks fairly straightforward. JohnB316 also compiles seamonkey for use in the package, right? I'm still wondering about the .mozconfig used for the build process. My .mozconfig isn't a standard one suitable for use with a distribution. > A template directory structure > with these elements exists on our repository server. Er, I haven't been able to find that template, though I've got the SeaMonkey package itself as well as a "makeinfo-slapt" script from the repository. Found some buildscripts for fx for vl 5.0 but couldn't get into 5.8. Do you have the url? Best, incognu |