You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
3.8 KiB
95 lines
3.8 KiB
--------------------------------------------------------------------------------
|
|
Packaging suggestions for NetSurf 30 July 2008
|
|
--------------------------------------------------------------------------------
|
|
|
|
This document lays out some suggestions for people interested in packaging
|
|
NetSurf for UNIX-like OSes.
|
|
|
|
We consider the Debian (and thus Ubuntu) packages excellent examples to
|
|
crib from. They do everything right.
|
|
|
|
|
|
Building NetSurf
|
|
==================
|
|
|
|
You should change Makefile.config to be specific (rather than rely on AUTO)
|
|
for the libraries and functionality you want to include. This will help
|
|
your packages be consistent. Also remember that you can turn off
|
|
functionality such as PDF export, RISC OS Sprite support, SVG rendering etc.
|
|
from here should you require a smaller, lighter build.
|
|
|
|
|
|
Launching NetSurf
|
|
===================
|
|
|
|
The GTK port of NetSurf requires access to some resources at run time.
|
|
These are stored in gtk/res/ in the source tree. Some of these files are
|
|
symlinks into the top level resources directory. Not all of the files in the
|
|
directory are required - the symlinks are used only as a way of making
|
|
checkouts smaller and making sure changes to one set of resources updates
|
|
the other.
|
|
|
|
The binary that the build system produces is called "nsgtk3".
|
|
You should install nsgtk3 to `/usr/bin/netsurf` (or wherever your
|
|
distribution's packaging policy suggests) and copy the contents of
|
|
gtk/res/ (dereferencing the symlinks, obviously) to /usr/share/netsurf (or
|
|
wherever your packaging policy suggests).
|
|
|
|
You will need to tell NetSurf where to find its run time loaded
|
|
resources. NetSurf searches three locations by default when trying
|
|
to load them, in this order:
|
|
|
|
1. ~/.netsurf/
|
|
|
|
This entry allows the user some flexibility in changing what
|
|
resources NetSurf uses by placing resources in their home
|
|
directory.
|
|
|
|
2. $NETSURFRES/
|
|
|
|
This entry allows the user or packager to control resource
|
|
aquisition through the environment. This entry is how the
|
|
developer launcher script controls resource location.
|
|
|
|
3. NETSURF_GTK_RES_PATH option
|
|
|
|
This location is controlled by the option in Makefile.config
|
|
(defaulting to ${PREFIX}/share/netsurf/ ). This configuration
|
|
is the recommended way for packagers to change the location
|
|
NetSurf finds external resources. The first path element of the
|
|
NETSURF_GTK_RES_PATH option is used in the install target as
|
|
the destination for installed resources.
|
|
|
|
User agent string
|
|
===================
|
|
|
|
You may also want to change NetSurf's user agent string to include the
|
|
name of your distribution. The user agent string is built by a function
|
|
kept in utils/useragent.c - you'll want to change the macro called
|
|
NETSURF_UA_FORMAT_STRING. It's processed via sprintf, so keep that in
|
|
mind when changing it. The first format parameter is the OS name (uname -s)
|
|
and the remainder are major and minor version numbers. You might want
|
|
to change this to something like:
|
|
|
|
"Mozilla/5.0 (%s; Debian GNU/Linux) NetSurf/%d.%d"
|
|
|
|
or similar.
|
|
|
|
Note that the "Mozilla/5.0" prefix is a requirement to enable modern
|
|
web standards on many websites. It should not be removed or modified.
|
|
|
|
Home page URL
|
|
===============
|
|
|
|
If the user hasn't specified a home page URL in their Preferences, NetSurf
|
|
defaults to a "portal" welcome page at about:netsurf - if you wish to
|
|
change this, you can do so by overriding the NETSURF_HOMEPAGE URL in
|
|
Makefile.config.
|
|
|
|
|
|
If you make significant changes to NetSurf in your package, please ask your
|
|
users to report bugs to your bug tracker, not ours. We'd also be interested
|
|
in seeing the diffs for these changes - we may be able to integrate them
|
|
to make your job easier in future.
|
|
|