User:Scop/TestingUpstreamXEmacsPackages

From FedoraProject

Jump to: navigation, search

Contents

Testing Upstream XEmacs Packages

The xemacs-packages-base and xemacs-packages-extra packages contain lots of different XEmacs modes. When a bug is reported against one of these, chances are that the Fedora package maintainers do not have first hand experience with the mode in question, and/or it can already be fixed in upstream bleeding edge elisp packages. So it's likely that the bug reporter is asked to try these pre-release packages to see if the problem has already been fixed upstream. Here are some instructions how to do it.

In a nutshell, the process is to download and install an upstream tarball into your ~/.xemacs, try it out, if it works, keep it until a Fedora package containing the fix is out, then get rid of the version in ~/.xemacs.

Method 1: The Manual Way

1. Create the ~/.xemacs/xemacs-packages directory if it does not already exist 1. Locate the package you need to install from http://ftp.xemacs.org/beta/experimental/packages/ (pre-release) or http://ftp.xemacs.org/packages/ (released) 1. Download it to ~/.xemacs/xemacs-packages 1. Extract it into that same dir 1. (Re)start XEmacs

For example, for an imaginary pre-release package foo, version 1.0:

$ mkdir -p ~/.xemacs/xemacs-packages
$ cd ~/.xemacs/xemacs-packages
$ curl -O http://ftp.xemacs.org/beta/experimental/packages/foo-1.0-pkg.tar.gz
$ tar zxvf foo-1.0-pkg.tar.gz

Method 2: The XEmacs Package UI

See upstream instructions at http://www.xemacs.org/Documentation/packageGuide.html#Installing_automatically

Be sure to choose a pre-release download site if you are asked to try out a pre-release elisp package.

Cleaning Up

When finished testing an elisp package installed this way (for example if it did not fix the problem or if a Fedora rpm containing the fix has been installed), private copies of it should be removed in order to avoid duplicate versions installed on the system.

The files extracted from elisp packages installed this way are listed in ~/.xemacs/xemacs-packages/pkginfo/MANIFEST.*. Review its contents for sanity, then remove all files listed in it, including the manifest file itself. For example, to remove your private copy of the foo package:

$ cd ~/.xemacs/xemacs-packages
$ rm $(cat pkginfo/MANIFEST.foo)

After doing this, there may be some leftover empty dirs around. They're harmless, but can be removed eg. with:

$ find ~/.xemacs/xemacs-packages -type d -empty -delete

Miscellaneous

After following these instructions, you may get warnings like "Error in Autoload ...: Feature foo-autoload already loaded" at startup. This is expected because you now have several versions of the same elisp package installed (your private one and a system one probably from the xemacs-packages-base or xemacs-packages-extra rpm) which is not a good idea in the long term. If this is an annoyance, you can get rid of (all) warnings by setting display-warning-minimum-level eg. to "error" from within XEmacs:

M-x customize-variable RET display-warning-minimum-level RET

If you choose to do this, you can reset it back to standard settings later when it's time to clean up (see above).