[Pkg-jed-commit] r290 - in trunk/packages/jed-extra: debian
debian/examples utils
Guenter Milde
milde-guest at costa.debian.org
Wed May 17 15:29:53 UTC 2006
Author: milde-guest
Date: 2006-05-17 15:29:52 +0000 (Wed, 17 May 2006)
New Revision: 290
Added:
trunk/packages/jed-extra/debian/examples/
trunk/packages/jed-extra/debian/examples/50jed-extra-full.sl
trunk/packages/jed-extra/debian/examples/50jed-extra-minimal.sl
trunk/packages/jed-extra/debian/examples/50jed-extra.sl
trunk/packages/jed-extra/debian/examples/TODO
trunk/packages/jed-extra/debian/examples/jed-extra.rc
trunk/packages/jed-extra/debian/jed-extra.install.template
Modified:
trunk/packages/jed-extra/debian/README.Debian
trunk/packages/jed-extra/debian/README.Maintainer
trunk/packages/jed-extra/debian/changelog
trunk/packages/jed-extra/debian/rules
trunk/packages/jed-extra/debian/sort-modes.sl
trunk/packages/jed-extra/utils/prepare-build.sh
Log:
utils/prepare-build.sh: code cleanup
README.Maintainer: update according to new knowledge from implementing the
scheme
changelog: New version 2.2-1 (upstream is now 2.2)
rules: code cleanup
sort mode documentation to mode-doc folder
jed-extra.install.template, sort-modes.sl: fixed content of jed-extra.install
is now in a template
README.Debian: docu fix
examples/: example config files
Modified: trunk/packages/jed-extra/debian/README.Debian
===================================================================
--- trunk/packages/jed-extra/debian/README.Debian 2006-05-17 14:16:08 UTC (rev 289)
+++ trunk/packages/jed-extra/debian/README.Debian 2006-05-17 15:29:52 UTC (rev 290)
@@ -10,8 +10,10 @@
The version numbering scheme for the jed-extra package follows the versions
on Jedmodes. All modes in versions 2.x should be SLang-2 compatible (while
-still backwards compatible to SLang-1).
+most modes are still backwards compatible to SLang-1).
+
+
-- Debian JED Group <pkg-jed-devel at lists.alioth.debian.org>
$Id$
Modified: trunk/packages/jed-extra/debian/README.Maintainer
===================================================================
--- trunk/packages/jed-extra/debian/README.Maintainer 2006-05-17 14:16:08 UTC (rev 289)
+++ trunk/packages/jed-extra/debian/README.Maintainer 2006-05-17 15:29:52 UTC (rev 290)
@@ -1,40 +1,74 @@
.. -*- rst-mode -*-
-.. Copyright (c) 2004 Guenter Milde.
+.. Copyright (c) 2004 Guenter Milde and the Debian Jed Group
Released under the terms of the GNU General Public License (v. 2 or later)
+
Organizing jed-extra
====================
+When designing jed-extra, let us follow
-The jed-extra package should
+"Goccia's Rules of Thumb":
+~~~~~~~~~~~~~~~~~~~~~~~~~~
- a) "just work" once it is installed,
+ 1. it should be as helpful as possible; but
+ 2. it must not stand in the way; therefore,
+ 3. it should be fully customisable, and
+ 4. it should be usable by geeks and newbies alike.
+
+ -- Guido Gonzato
+
+The jed-extra package should therefore
+
+a) "just work" once it is installed,
+b) not impose settings on the user that cannot be reverted.
+
+From the `Possible Levels of Support`_ support considered below, the
- b) not impose settings on the user that cannot be reverted.
-
+* "minimal-invasive" activation in /etc/jed.d/50jed-extra.sl
+
+seems to be most suited.
+Contained modes
+---------------
+
+See the list in "jedmodes-list.txt".
+
+Instead of a direct copy of Jedmodes-CVS, jed-extra should install an
+"intelligent" choice of packages: purge obsolete packages and add
+interesting new ones.
+
+However, in order to be included, a package|mode needs a "canonical site"
+from which it can be fetched non-interactively. Unfortunately, the standard
+URL for a Sourceforge release cannot serve as such a canonocal site, as it
+requires user interaction to select a mirror :-(
+(How do other packages with upstream sources on Sourceforge solve this
+problem?)
+
+:note: Should the choice be "inclusive" (as much as sensible) or "selective"
+ (as few as sensible, excluding "exotic" modes)?
+
+
Categorization
--------------
-Broadly speaking, there are 4 types of modes:
+Considering the interference with JED, 4 types of modes can be distinguished:
-Additions
-~~~~~~~~~
+A: Additions
+~~~~~~~~~~~~
-* e.g. language modes like make.sl
-
* add a new capability but keep the "look and feel"
* add 1 or 2 autoloads but nothing "heavy"
--> can be installed in the libdir and activated by default.
+* example: language modes like make.sl
+-> install in the libdir and activate by default
-Drop-in replacements
-~~~~~~~~~~~~~~~~~~~~
-* e.g. help.sl (hyperhelp), man.sl (hyperman), recent.sl
+D: Drop-in replacements
+~~~~~~~~~~~~~~~~~~~~~~~
* provide an "improved" look and feel (enhance usability)
@@ -42,28 +76,31 @@
* do not need activation
--> install in a special libdir
+* example: help.sl (hyperhelp), man.sl (hyperman), recent.sl
+-> install in a separate libdir added in the config file (a sysadmin can
+ revert this default activation, a normal user can delete the libdir from
+ the jed-library-path)
-Enhancements
-~~~~~~~~~~~~
-* e.g. numbuf.sl, navigate.sl
+E: Enhancements
+~~~~~~~~~~~~~~~
* provide an "improved" look and feel or enhance usability
-* add to popup menus or keybindings (other than _Reserved_Key_Prefix)
+* medium interference: add to popup menus or keybindings
+ (other than _Reserved_Key_Prefix)
* might slow down startup, increase memory or CPU usage
-* can be installed in the libdir by default
+* example: numbuf.sl, navigate.sl
--> activation should be configurable: comments in 50jed-extra.sl and
- example jed.rc
+-> install in the libdir but activation should be configurable:
+comments in 50jed-extra.sl and doc/jed-extra/examples/jed.rc
-Obsoleted modes
-~~~~~~~~~~~~~~~
+O: Obsoleted modes
+~~~~~~~~~~~~~~~~~~
* unmaintained and obsoleted modes that are still in Jedmodes for
historical reasons
@@ -71,18 +108,19 @@
-> do not install
-Utils
-~~~~~
+U: Utils
+~~~~~~~~
-* e.g. bufutils.sl
+* example: bufutils.sl
* provide functions used by other modes
--> can be installed in the libdir and do not need activation
+-> install in the libdir,
+no need for activation (calling mode should have autoload() or require())
-eXperimental and eXotic modes
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+X: eXperimental and eXotic modes
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* some modes are in a rather experimental, untested state or just need some
work to become up to date.
@@ -95,11 +133,7 @@
Where should the modes go?
--------------------------
-* Generally, modes should go to the `jed-extra library directory` ::
-
- /usr/lib/jed-extra/
-
- Alternatives: /usr/share/jed/site-lib/, /usr/share/jed/jed-extra-lib/
+* The `jed-extra library directory` is ``/usr/share/jed/jed-extra/``
The `jed-extra library directory` should be appended to the search
path (with append_libdir() from libdir.sl in jed.d/50jed-extra.sl).
@@ -112,14 +146,11 @@
a) make their use obligatory for all users if the libdir is *added*, or
b) prevent their use if the libdir is *appended*.
- Drop-ins should therefore go to a separate dir, say ::
+ Drop-ins should therefore go to ``/usr/share/jed/jed-extra/drop-in/``,
+ added (i.e. prepended) to the library path in 50jed-extra.sl.
- /usr/lib/jed-extra/drop-in/
-
- added to the library path in 50jed-extra.sl.
-
* The default behaviour would be to use the drop-ins if jed-extra
- is installed
+ is installed.
* A sysadmin can easily comment out the activation of drop-ins
* A user can remove the drop-in/ dir from the library path in jed.rc
(a function remove_libdir() in libdir.sl could assist)
@@ -127,52 +158,11 @@
of individual modes to a users (or local) libdir.
-Alternatively, all files could go to /usr/lib/jed-extra/ and the dir be
-*added* in 50jed-extra.sl with a comment a'la::
-
- % prepend the library directory to the library path
- % -> identically named files (drop ins) will take precedence
- add_libdir("/usr/lib/jed-extra/");
-
- % append the library directory to the library path
- % -> Drop in files will not replace the standard versions.
- % They can be evaluated by giving the full path in require() or
- % evalfile()
- % append_libdir("/usr/lib/jed-extra/");
-
-
-Contained modes
----------------
-
-See the list in "jedmodes-list.txt".
-
-Instead of just a download of Jedmodes-CVS, we should offer an
-"intelligent" choice of packages: purge obsolete packages and add
-interesting new ones (most obviously Paul's modes outsoured to separate
-Jedmodes "releases").
-
-
-:note: Should the choice be "inclusive" (as much as sensible) or "selective"
- (as few as sensible, excluding "exotic" modes)?
-
Possible Levels of Support
--------------------------
-When designing jed-exrta, let us follow
-"Goccia's Rules of Thumb":
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- 1. it should be as helpful as possible; but
- 2. it must not stand in the way; therefore,
- 3. it should be fully customisable, and
- 4. it should be usable by geeks and newbies alike.
-
- -- Guido Gonzato
-
-
-
-1. Provide the modes in an archive (see `Where should the modes go?`_),
+1. Provide the modes sorted like the upstream,
installation should be "by hand" (in /usr/local/... or ~/.jed/lib/).
- no added value (why then a package at all?)
@@ -183,6 +173,7 @@
+ facilitates "hand-installation"
+ allows "fine tuning" by experts
+
- hard for novices
- Installing jed-extra will not (automatically) improve the
usability of JED.
@@ -193,19 +184,22 @@
a) choosen by the packagers
+ simple, no questions at install time
+
- Violates Goccia's Rule 2. (could stand in the way).
b) choosen from a list with debconf
+ Allows administrators to change choice easily with dpkg-reconfigure.
- - debconf abuse
+ - debconf abuse (violates Debian policy)
+
c) choosen from a list in a jed-extra-installer.sl mode
as this is no system configuration, it must not change anything
- under /usr/share/jed/ or /usr/lib/jed-extra/.
+ under /usr/share/jed/ or /usr/share/jed/jed-extra/.
+ user friendly
+
- lots of work (wont be finished soon)
d) "minimal-invasive" activation in jed.d/
@@ -220,6 +214,7 @@
choice.
+ Prepared configuration options for categories make configuration
a bit more user friendly
+
- no GUI
Modified: trunk/packages/jed-extra/debian/changelog
===================================================================
--- trunk/packages/jed-extra/debian/changelog 2006-05-17 14:16:08 UTC (rev 289)
+++ trunk/packages/jed-extra/debian/changelog 2006-05-17 15:29:52 UTC (rev 290)
@@ -1,4 +1,4 @@
-jed-extra (2.1-1) experimental; urgency=high
+jed-extra (2.2-1) experimental; urgency=low
NOT YET RELEASED!
Added: trunk/packages/jed-extra/debian/examples/50jed-extra-full.sl
===================================================================
--- trunk/packages/jed-extra/debian/examples/50jed-extra-full.sl 2006-05-17 14:16:08 UTC (rev 289)
+++ trunk/packages/jed-extra/debian/examples/50jed-extra-full.sl 2006-05-17 15:29:52 UTC (rev 290)
@@ -0,0 +1,103 @@
+% 50jed-extra.sl: Initialization of jed-extra package
+%
+% Copyright (c) 2005 Debian JED Group
+% Released under the terms of the GNU General Public License (v. 2 or later)
+%
+% The full version of the initalization file does an "almost complete"
+% activation of the jed-extra modes.
+%
+% Copy to /etc/jed.d/50jed-extra.sl if you are sure all users of your site want
+% extensive support `out of the box'.
+%
+% Beware: evaluation of initialization files cannot be reverted by normal
+% users by other means than completely disabling the Debian startup scheme
+% with the command line option --skip-debian-startup. If this frightens you
+% (or your users), go for the "minimal" version of 50jed-extra.
+
+
+% The jed-extra library dir
+$1 = "/usr/share/jed/jed-extra/";
+
+% if jed-extra is removed (not purged), this file exists
+% but nothing else it expects --> abort
+#if (file_status($1) != 2)
+#stop
+#endif
+
+
+% Add (and initialize) library directories
+% ----------------------------------------
+
+require("libdir", path_concat($1, "libdir.sl"));
+
+% Utilities (required by the other modes)
+% Initialization adds autoloads for utility functions:
+% - slows down startup
+% + lets private modes use the util functions without need for autoloads
+% + lets Help>Apropos find util functions right from the start
+append_libdir($1 + "utils/", 1); % append and initialize
+% append_libdir($1 + "utils/", 0); % append but do not initialize
+
+% "Normal" modes
+% Initialization is low key (autolaods, some Menu entries)
+append_libdir($1, 1); % append and initialize
+% append_libdir($1, 0); % append but do not initialize
+
+% Drop-In Modes (recent, help, man, ...) need to be prepended
+% Comment if you want to keep the original behaviour
+% Initialization is low key (autolaods for additional functions)
+add_libdir($1 + "drop-in/", 1); % append and initialize
+% add_libdir($1 + "drop-in/", 0); % append but do not initialize
+
+% Experimental and exotic modes
+% Uncomment at your own risc (maybe better per user in ~/jed.rc)
+% The recommended use is to, copy or link interesting modes
+% to /usr/local/share/jed/lib/ or ~/.jed/lib and user make_ini() and
+% add_libdir() for activation (in ~/jed.rc).
+% append_libdir($1 + "extra/", 0); % append but do not initialize
+% append_libdir($1 + "extra/", 1); % append and initialize
+
+
+% "Manual" initialization of stuff not handled by the ini.sl files
+% ----------------------------------------------------------------
+
+% call extension-dependend modes
+add_mode_for_extension ("css1", "css");
+add_mode_for_extension ("css1", "css1");
+add_mode_for_extension ("gnuplot", "gnuplot"); % gnuplot plotting program
+add_mode_for_extension ("gnuplot", "gp");
+add_mode_for_extension ("mupad", "mu"); % mode for mupad files
+foreach (["man", "1", "2", "3", "4", "5", "6", "7", "8"]) {
+ variable ext = ();
+ add_mode_for_extension ("manedit", ext);
+}
+add_mode_for_extension ("sql", "sql");
+
+% Globally activate extensions
+% ----------------------------
+
+% If there are more JED users on the machine, better do this activation in
+% the user's jed.rc files, as there is no way a "normal" user can revert
+% the choices short of disabling all of the Debian configuration with
+% `jed --skip-debian-startup`.
+
+require("numbuf"); % number buffers for fast switching
+require("navigate"); % history feature (recent buffers)
+require("ispell_init"); % ispell|aspell support
+% require("cuamark"); % use CUA style kind of selecting regions
+
+% Printing
+% --------
+
+% there are 2 alternative functions to send the current buffer to a printer
+% The user can easily override the choice in his|her jed.rc.
+%
+autoload("print_buffer", "print"); % simple, sends pure ASCII
+% autoload("print_buffer", "apsmode"); % uses a2ps, needs to be configured
+
+define print_popup_hook (menubar)
+{
+ menu_insert_separator (6, "Global.&File");
+ menu_insert_item (7, "Global.&File", "&Print Buffer", "print_buffer");
+}
+append_to_hook ("load_popup_hooks", &print_popup_hook);
Added: trunk/packages/jed-extra/debian/examples/50jed-extra-minimal.sl
===================================================================
--- trunk/packages/jed-extra/debian/examples/50jed-extra-minimal.sl 2006-05-17 14:16:08 UTC (rev 289)
+++ trunk/packages/jed-extra/debian/examples/50jed-extra-minimal.sl 2006-05-17 15:29:52 UTC (rev 290)
@@ -0,0 +1,96 @@
+% 50jed-extra-minimal.sl: Non-invasive initialization of jed-extra package
+%
+% Copyright (c) 2005 Debian JED Group
+% Released under the terms of the GNU General Public License (v. 2 or later)
+%
+% The minimal version of the initalization file does a "non invasive"
+% activation of the jed-extra modes.
+%
+% Replace /etc/jed.d/50jed-extra.sl with this file, if the users of your site
+% want to fine tune the level of jed-extr activation in their ~/.jed/jed.rc
+%
+% All settings in this file can be reverted by normal users.
+
+% The jed-extra library dir
+$1 = "/usr/share/jed/jed-extra/";
+
+% if jed-extra is removed (not purged), this file exists
+% but nothing else it expects --> abort
+#if (file_status($1) != 2)
+#stop
+#endif
+
+
+% Add (and initialize) library directories
+% ----------------------------------------
+
+require("libdir", path_concat($1, "libdir.sl"));
+
+% Utilities (required by the other modes)
+% Initialization adds autoloads for utility functions:
+% - slows down startup
+% + lets private modes use the util functions without need for autoloads
+% + lets Help>Apropos find util functions right from the start
+% append_libdir($1 + "utils/", 1); % append and initialize
+append_libdir($1 + "utils/", 0); % append but do not initialize
+
+% "Normal" modes
+% Initialization is low key (autolaods, some Menu entries)
+% append_libdir($1, 1); % append and initialize
+append_libdir($1, 0); % append but do not initialize
+
+% Drop-In Modes (recent, help, man, ...) need to be prepended
+% Comment if you want to keep the original behaviour
+% Initialization is low key (autolaods for additional functions)
+% add_libdir($1 + "drop-in/", 1); % append and initialize
+add_libdir($1 + "drop-in/", 0); % append but do not initialize
+
+% Experimental and exotic modes
+% The recommended use is to, copy or link interesting modes
+% to /usr/local/share/jed/lib/ or ~/.jed/lib and user make_ini() and
+% add_libdir() for activation (in ~/jed.rc).
+
+% "Manual" initialization of stuff not handled by the ini.sl files
+% ----------------------------------------------------------------
+
+% call extension-dependend modes
+% add_mode_for_extension ("css1", "css");
+% add_mode_for_extension ("css1", "css1");
+% add_mode_for_extension ("gnuplot", "gnuplot"); % gnuplot plotting program
+% add_mode_for_extension ("gnuplot", "gp");
+% add_mode_for_extension ("mupad", "mu"); % mode for mupad files
+% foreach (["man", "1", "2", "3", "4", "5", "6", "7", "8"]) {
+% variable ext = ();
+% add_mode_for_extension ("manedit", ext);
+% }
+% add_mode_for_extension ("sql", "sql");
+
+% Globally activate extensions
+% ----------------------------
+
+% If there are more JED users on the machine, better do this activation in
+% the user's jed.rc files, as there is no way a "normal" user can revert
+% the choices short of disabling all of the Debian configuration with
+% `jed --skip-debian-startup`.
+
+% require("numbuf"); % number buffers for fast switching
+% require("navigate"); % history feature (recent buffers)
+% require("ispell_init"); % ispell|aspell support
+
+% require("cuamark"); % use CUA style kind of selecting regions
+
+% Printing
+% --------
+
+% there are 2 alternative functions to send the current buffer to a printer
+% The user can easily override the choice in his|her jed.rc.
+%
+% autoload("print_buffer", "print"); % simple, sends pure ASCII
+% autoload("print_buffer", "apsmode"); % uses a2ps, needs to be configured
+
+% define print_popup_hook (menubar)
+% {
+% menu_insert_separator (6, "Global.&File");
+% menu_insert_item (7, "Global.&File", "&Print Buffer", "print_buffer");
+% }
+% append_to_hook ("load_popup_hooks", &print_popup_hook);
Added: trunk/packages/jed-extra/debian/examples/50jed-extra.sl
===================================================================
--- trunk/packages/jed-extra/debian/examples/50jed-extra.sl 2006-05-17 14:16:08 UTC (rev 289)
+++ trunk/packages/jed-extra/debian/examples/50jed-extra.sl 2006-05-17 15:29:52 UTC (rev 290)
@@ -0,0 +1,99 @@
+% 50jed-extra.sl: Initialization of jed-extra package
+%
+% Copyright (c) 2005 Debian JED Group
+% Released under the terms of the GNU General Public License (v. 2 or later)
+%
+% The default version of the initalization file does an "minimal invasive"
+% activation of the jed-extra modes.
+%
+% Copy to /etc/jed.d/50jed-extra.sl if you are sure all users of your site
+% want (or can tolerate) normal jed-extra support `out of the box'.
+%
+% Beware: evaluation of initialization files cannot be reverted by normal
+% users by other means than completely disabling the Debian startup scheme with
+% the command line option --skip-debian-startup. If this frightens you (or
+% your users), go for the "minimal" version of 50jed-extra.
+
+% The jed-extra library dir
+$1 = "/usr/share/jed/jed-extra/";
+
+% if jed-extra is removed (not purged), this file exists
+% but nothing else it expects --> abort
+#if (file_status($1) != 2)
+#stop
+#endif
+
+
+% Add (and initialize) library directories
+% ----------------------------------------
+
+require("libdir", path_concat($1, "libdir.sl"));
+
+% Utilities (required by the other modes)
+% Initialization adds autoloads for utility functions:
+% - slows down startup
+% + lets private modes use the util functions without need for autoloads
+% + lets Help>Apropos find util functions right from the start
+% append_libdir($1 + "utils/", 1); % append and initialize
+append_libdir($1 + "utils/", 0); % append but do not initialize
+
+% "Normal" modes
+% Initialization is low key (autolaods, some Menu entries)
+append_libdir($1, 1); % append and initialize
+% append_libdir($1, 0); % append but do not initialize
+
+% Drop-In Modes (recent, help, man, ...) need to be prepended
+% Comment if you want to keep the original behaviour
+% Initialization is low key (autolaods for additional functions)
+% add_libdir($1 + "drop-in/", 1); % append and initialize
+add_libdir($1 + "drop-in/", 0); % append but do not initialize
+
+% Experimental and exotic modes
+% The recommended use is to, copy or link interesting modes
+% to /usr/local/share/jed/lib/ or ~/.jed/lib and user make_ini() and
+% add_libdir() for activation (in ~/jed.rc).
+
+% "Manual" initialization of stuff not handled by the ini.sl files
+% ----------------------------------------------------------------
+
+% call extension-dependend modes
+add_mode_for_extension ("css1", "css");
+add_mode_for_extension ("css1", "css1");
+add_mode_for_extension ("gnuplot", "gnuplot"); % gnuplot plotting program
+add_mode_for_extension ("gnuplot", "gp");
+add_mode_for_extension ("mupad", "mu"); % mode for mupad files
+foreach (["man", "1", "2", "3", "4", "5", "6", "7", "8"]) {
+ variable ext = ();
+ add_mode_for_extension ("manedit", ext);
+}
+add_mode_for_extension ("sql", "sql");
+
+% Globally activate extensions
+% ----------------------------
+
+% If there are more JED users on the machine, better do this activation in
+% the user's jed.rc files, as there is no way a "normal" user can revert
+% the choices short of disabling all of the Debian configuration with
+% `jed --skip-debian-startup`.
+
+% require("numbuf"); % number buffers for fast switching
+% require("navigate"); % history feature (recent buffers)
+% require("ispell_init"); % ispell|aspell support
+
+% require("cuamark"); % use CUA style kind of selecting regions
+
+% Printing
+% --------
+
+% there are 2 alternative functions to send the current buffer to a printer
+% The user can easily override the choice in his|her jed.rc.
+%
+% autoload("print_buffer", "print"); % simple, sends pure ASCII
+% autoload("print_buffer", "apsmode"); % uses a2ps, needs to be configured
+
+% define print_popup_hook (menubar)
+% {
+% menu_insert_separator (6, "Global.&File");
+% menu_insert_item (7, "Global.&File", "&Print Buffer", "print_buffer");
+% }
+% append_to_hook ("load_popup_hooks", &print_popup_hook);
Added: trunk/packages/jed-extra/debian/examples/TODO
===================================================================
--- trunk/packages/jed-extra/debian/examples/TODO 2006-05-17 14:16:08 UTC (rev 289)
+++ trunk/packages/jed-extra/debian/examples/TODO 2006-05-17 15:29:52 UTC (rev 290)
@@ -0,0 +1,4 @@
+jed-extra-minimal-boost.rc % full activation when /etc/jed.d/ contains the
+ minimal set up.
+jed-extra-minimal-revert.rc % undo activation when /etc/jed.d/ contains the
+ minimal set up.
Added: trunk/packages/jed-extra/debian/examples/jed-extra.rc
===================================================================
--- trunk/packages/jed-extra/debian/examples/jed-extra.rc 2006-05-17 14:16:08 UTC (rev 289)
+++ trunk/packages/jed-extra/debian/examples/jed-extra.rc 2006-05-17 15:29:52 UTC (rev 290)
@@ -0,0 +1,88 @@
+% -*- slang -*-
+%
+% example user initialization for jed-extra
+% =========================================
+%
+% To get most out of the add-on modes in jed-extra, some activation code
+% is needed. As this slows down the startup and might conflict with private
+% extensions this activation should be done in the users jed.rc.
+%
+% You are invited to insert this file into your jed.rc and modify to match
+% your needs.
+
+% The jed-extra library dir
+$1 = "/usr/share/jed/jed-extra/";
+
+% Add and initialize library directories
+% --------------------------------------
+
+% The default setup in /etc/jed.d/50jed-extra.sl adds library directories
+% for normal modes, utilities, and drop-in modes.
+
+% Utilities (required by the other modes)
+% Initialization adds autoloads for utility functions:
+% - slows down startup
+% + lets private modes use the util functions without need for autoloads,
+% some "extra" modes rely on these autoloads as well
+% + lets Help>Apropos find util functions right from the start
+% () = evalfile($1+"utils/ini.sl");
+
+% "Normal" modes
+% Initialization is already done in the default config
+% (check /etc/jed.d/50jed-extra.sl)
+% () = evalfile($1+"ini.sl");
+
+
+% Drop-In Modes (recent, help, man, ...) need to be prepended
+% Initialization is low key (autolaods for additional functions)
+() = evalfile($1+"drop-in/ini.sl");
+
+% Experimental and exotic modes
+% '''''''''''''''''''''''''''''
+%
+% Uncomment at your own risc (maybe better per user in ~/jed.rc)
+% append_libdir($1 + "extra/", 0); % append but do not initialize
+% append_libdir($1 + "extra/", 1); % append and initialize
+%
+% Add documentation for "extra functions" to the online help
+Jed_Doc_Files += "," + $1+"extra/libfuns.txt";
+
+% One recommended use is to copy or link interesting modes
+% to /usr/local/share/jed/lib/ or ~/.jed/lib
+% and use make_ini() and add_libdir() for activation (see below)
+%
+% Another option is to require() or autoload() with the path
+% relative to the jed-library-path, (you can copy autoloads from
+% /usr/share/jed/jed-extra/extra/ini.sl)
+%
+% However, this approach will fail if the mode depends on another "extra"
+% mode and expects it in the jed-library-path.
+%
+% e.g.
+
+% ffap.sl: find file at point
+"add_list_element", "extra/ffap.sl";
+"ffap_set_info", "extra/ffap.sl";
+"ffap", "extra/ffap.sl";
+_autoload(3);
+
+"add_list_element";
+"ffap_set_info";
+"ffap";
+_add_completion(3);
+
+% services.sl: uri_hooks for some common URI schemes.
+% require("services", "extra/services.sl");
+
+
+% Jed_Home_Directory and private extensions
+% -----------------------------------------
+
+% User extensions
+% Debian sets Jed_Home_Directory to ~/.jed/ if this dir exists
+add_libdir(path_concat(Jed_Home_Directory, "lib"), 1);
+Jed_Highlight_Cache_Dir = path_concat(Jed_Home_Directory, "lib");
+
+% Site wide extensions
+add_libdir("/usr/local/share/jed/lib/", 1);
+
Added: trunk/packages/jed-extra/debian/jed-extra.install.template
===================================================================
--- trunk/packages/jed-extra/debian/jed-extra.install.template 2006-05-17 14:16:08 UTC (rev 289)
+++ trunk/packages/jed-extra/debian/jed-extra.install.template 2006-05-17 15:29:52 UTC (rev 290)
@@ -0,0 +1,3 @@
+debian/examples/50jed-extra.sl etc/jed.d/
+debian/compile usr/share/jed/compile
+debian/jed-extra-preparse.sl usr/share/jed/compile
Modified: trunk/packages/jed-extra/debian/rules
===================================================================
--- trunk/packages/jed-extra/debian/rules 2006-05-17 14:16:08 UTC (rev 289)
+++ trunk/packages/jed-extra/debian/rules 2006-05-17 15:29:52 UTC (rev 290)
@@ -62,24 +62,35 @@
# keep dh_install informations (debian/files)
dh_clean --keep
- # install modes
- # create jed-extra.install from categorization in contents.txt
+ # install modes
+ # -------------
+
+ # fix apsconf permissions
+ # (executable in the Jedmodes CVS repository due to upload from Windoof)
+ chmod -R a-x apsmode/*
+ chmod a+x apsmode/apsconf/
+
+ # move mode documentation to /usr/share/doc/jed-extra/mode-doc/
+ install -d $(debroot)/usr/share/doc/jed-extra/mode-doc/
+ mv $$(find . -name \*.html -o -name \*.otl -name \*.example) \
+ $(debroot)/usr/share/doc/jed-extra/mode-doc/
+
+ # generate jed-extra.install from categorization in contents.txt
jed-script debian/sort-modes.sl
- dh_install -X.html -X.otl -X.example -XREADME
+ # now install using the generated jed-extra.install
+ dh_install
+ # dh_install -X.html -X.otl -X.example -XREADME
- # install documentation (under /usr/share/doc/jed-extra)
- dh_installdocs $$(find . -name \*.html -o -name \*.otl) \
- README.txt
+ # install package documentation
+ dh_installdocs
+
# Install examples
- dh_installexamples $$(find . -name \*.example)
+ dh_installexamples debian/examples/*
- # fix apsconf permissions
- # chmod -x $(debroot)/usr/share/jed/jed-extra/apsconf/*
-
# fix some names (as dh_install* cannot change filenames)
mv $(debroot)/usr/share/jed/compile/compile \
- $(debroot)/usr/share/jed/compile/jed-extra
-
+ $(debroot)/usr/share/jed/compile/jed-extra
+
chmod +x $(debroot)/usr/share/jed/compile/jed-extra
#dh_installdebconf
Modified: trunk/packages/jed-extra/debian/sort-modes.sl
===================================================================
--- trunk/packages/jed-extra/debian/sort-modes.sl 2006-05-17 14:16:08 UTC (rev 289)
+++ trunk/packages/jed-extra/debian/sort-modes.sl 2006-05-17 15:29:52 UTC (rev 290)
@@ -1,4 +1,4 @@
-% This script produces an jed-exrta.install list
+% This script produces an jed-extra.install list
% that lets dh_install put the files in the right place
%
% call from the source directory that contains debian/
@@ -17,6 +17,7 @@
% the list of modes and their categories
private variable modelist = "debian/contents.txt";
private variable target_file = "debian/jed-extra.install";
+private variable target_template = "debian/jed-extra.install.template";
% dirs to sort into...
private variable lib_dir = "usr/share/jed/jed-extra";
@@ -39,14 +40,6 @@
destinations["U"] = utils_dir;
destinations["X"] = extra_dir;
-% files that do not fit into the list
-private variable non_listed_files =
- ["debian/init/*.sl etc/jed.d/",
- % "apsmode/apsconf " + extra_dir,
- "debian/compile usr/share/jed/compile",
- "debian/jed-extra-preparse.sl usr/share/jed/compile"];
-
-
% verbosity
private variable verbose = 1;
@@ -84,13 +77,9 @@
% write an install file
% ---------------------
-() = find_file(target_file);
-erase_buffer();
+% open template with static content
+() = find_file(target_template);
-% debian specific installation tasks
-
-insert(strjoin(non_listed_files, "\n") + "\n");
-
foreach (listdir("."))
{
mode = ();
@@ -115,7 +104,7 @@
vinsert("%s/* %s\n", mode, dest);
}
-save_buffer();
+rv = write_buffer(target_file);
% Give feedback about missing modes
% ---------------------------------
Modified: trunk/packages/jed-extra/utils/prepare-build.sh
===================================================================
--- trunk/packages/jed-extra/utils/prepare-build.sh 2006-05-17 14:16:08 UTC (rev 289)
+++ trunk/packages/jed-extra/utils/prepare-build.sh 2006-05-17 15:29:52 UTC (rev 290)
@@ -2,25 +2,26 @@
# This is an experimental script that helps me test-build jed-extra
# (c) 2005 Guenter Milde
-# Prepare an unpacked source tree with debian dir for package build
+# Build the jed-extra package from existing working copy of SVN files
#
-# Call this script from the base dir of jed-extra which must have the
-# subdirs /debian/ and /utils/
+# Call this script from <pkg-jed SVN>/trunk/packages/jed-extra/utils/
+# (this should be the dir where this file resides)
-# Get the jed-extra files from SVN
-# --------------------------------
-
-# svn export svn+ssh://svn.debian.org/svn/pkg-jed/trunk/packages/jed-extra
-# cd jed-extra
-
cd ..
# upstream version
VER=`perl -ne '/\(([\d.]+)-/; print $1; exit' < debian/changelog`
-# Download the upstream tarball
-# -----------------------------
+# Update the jed-extra files from SVN
+# --------------------------------
+# svn update
+
+# Get the upstream tarball
+# ------------------------
+
+# If there is no jed-extra_$VER.orig.tar.gz, download (see debian/rules)
+
debian/rules get-orig-source
# Unpack
@@ -45,5 +46,8 @@
' $done = 1;'\
' } else {print}' debian/changelog
-# Build (do not sign, ignore SVN entries)
+# Build and test
+# --------------
+
+# (do not sign, ignore SVN entries)
debuild -i -us -uc
More information about the Pkg-jed-commit
mailing list