Mail Archives: djgpp/2018/07/16/14:44:32
This is a port of Lynx 2.8.9rel.1 to MSDOS/DJGPP.
Lynx is a fully-featured World Wide Web (WWW) client for users running
cursor-addressable, character-cell display devices such as vt100 terminals
and vt100 emulators running on character-cell display. It will display
Hypertext Markup Language (HTML) documents containing links to files on the
local system, as well as files on remote systems running http, gopher, ftp,
wais, nntp, finger, or cso/ph/qi servers, and services accessible via logins
to telnet, tn3270 or rlogin accounts.
DJGPP specific changes.
=======================
This port is based on the current stable release code of lynx (aka
lynx2.8.9rel.1) available as:
https://invisible-mirror.net/archives/lynx/tarballs/lynx2.8.9rel.1.tar.bz2
The code has been adjusted to detect at runtime if LFN support is available
or not. If LFN support is available then the original posix style file
names will be used else DOS compatible ones will be used.
The port will use cp850 as default code page instead of using iso-8859-1 as
it is in the current code. It is clear that having iso-8859-1 on plain DOS
as character set is useless as soon as spanish, german or other non-english
texts shall be displayed. You can always select another character set by
either setting the corresponding environment variable or by editing lynx.cfg
acordingly.
The current version of lynx requires that the HOME environment variable is
set to a writable directory or it will refuse to start. To alleviate this
situation, if HOME is not set, the current directory will be used instead
by this port version.
The port has been configured using the configure script provided by the
source package. This means that neither old DJGPP specific scripts nor
makefiles distributed by the package have been used. A lot of the porting
work has been invested in the DJGPP specific configuration scripts.
This port has been configured to be compiled with BZIP2, ZIP and PDCURSES
support. This means that if you want to recompile the preconfigured sources
you must have installed the following ports:
ftp://ftp.delorie.com/pub/djgpp/current/v2apps/bz2-106ar2.zip
ftp://ftp.delorie.com/pub/djgpp/current/v2tk/zlb1211b.zip
ftp://ftp.delorie.com/pub/djgpp/current/v2tk/pdcur36a.zip
The port has been configured and build without NLS support enabled.
To enable this feature, the latest ports of libiconv and gettext must be
installed:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/licv114br2.zip
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/gtxt192b.zip
If you prefer NLS, then reconfigure the sources passing the nls flag to the
config.bat file.
The port has been configured with OPENSSL support. OpenSSL support requires
installing the WATT-32 port. The following ports have been used:
ftp://ftp.delorie.com/pub/djgpp/current/v2tk/ssl102ob.zip
ftp://ftp.delorie.com/pub/djgpp/current/v2tk/wat3222br6.zip
No other versions have been tested. To be able to use this program compiled
with OpenSSL and WATT-32 a noise source must be installed. A noise source
can be obtained as:
http://www.rahul.net/dkaufman/noise063a2.zip
If for some reason you decide to reconfigure the source package, then you
will have to set the WATT_ROOT environment variable to point to the
directory where the headers and the library reside. This is:
set WATT_ROOT=/dev/env/DJDIR/net/watt
To be able to run the program, configuration files are expected to be found
at their canonical place. This is the /dev/env/DJDIR/etc directory. The
configuration files lynx.cfg and lynx.css are stored in the /etc directory
and reflect, to certain extent, the conditions during the configuration and
compilation process of this port. You may need to adjust the entries to fit
your requiriments. If lynx.cfg and lynx.css are not found at their canonical
place then the program will try to load them from the installation directory
of lynx. To run the program, a working version of wattcp.cfg is required.
This file is __NOT__ distributed with this port. That file will reflect
your network environment and hardware. It is the user's job write one that
matches his environment. As a starting point you can use the one distributed
with the WATT-32 port. Please note that the location of wattcp.cfg must be
specified by setting the WATTCP.CFG environment variable. This can be done
either in the environment, in autoexec.bat or in djgpp.env. If the file
cannot be found at any of the canonical places the program will try to load
it from the installation directory of lynx.
To be able to run the program, a DOS packet driver (PKTDRVR) is required.
This may be obtained from the card manufacturer or from one of the archives
of packet drivers (such as "http://www.lanet.lv/simtel.net/msdos/pktdrvr-pre.html"
or "http://ftp.freenet.de/pub/ftp.simtel.net/pub/simtelnet/msdos/pktdrvr/").
Even when only browsing local files, a NULLPKT packet driver is required like
nullpkt.zip. The zip file can be downloaded as:
http://www.jumpjet.info/Application-Software/DOS/Hardware/2/NULLPKT/NULLPKT.zip
The lynx executable itself handles http:, https:, ftp:, file:, news:, nntp:
and gopher: protocols. You will need external programs if you want to access
telnet:, tn3270:, or mailto: URLs. In this case a port of kermit may be
required.
Please note that lynx does _NOT_ support javascript at all. So nothing will
work that requires this feature. If you need this, look for a different text
web browser.
It is important to realize that this port is a _PURE_ DOS port. If for some
reason you want to use lynx under Windows, you should download a windows port
of lynx.
If you decide to use this port as stand alone program then you can set the
following environment variables to point to the required configuration files:
LYNX_CFG Set to the full path and filename for lynx.cfg
LYNX_LSS Set to the full path and filename for lynx.lss
WATTCP.CFG Set to the full path for the WATTCP.CFG directory
SSL_CERT_FILE Set to the full path and filename for your file of
trusted certificates
As a last resort, if the above environment variables are not set, the
program will try to load those files from its installation directory.
There is also a batch file stored in the /share/lynx_doc/samples directory
that shows how to run lynx as a stand alone application.
The DJGPP port now checks the OS version it is running on. If it is equal
or less than MSDOS 6.22 the double quotes around the file name passed to
edit.com will be removed. If this is not done, edit.com refuses to start.
For OS like Win95 and above this is not necessary. edit.com is the editor
used by lynx at last resort. The program's behaviour is not changed if an
editor different from edit.com is selected in lynx.cfg.
The DJGPP port now checks if LFN support is available. If available then
files with a leading dot are allowed/supported in case that this has been
allowed by setting NO_DOT_FILES to FALSE in lynx.cfg. In all previous
versions, the setting of this value had absolute no influence in program's
behviour if compiled with DJGPP.
I have tested this port by trying to access all sites that are listed in:
http://royal.pingdom.com/2012/06/25/using-web-browser-lynx-visit-top-websites/
and I have experienced no issues. I have also accessed some german and
spanish sites to check if the special native characters are correctly
displayed and I have found no issues. I have also accessed www.delorie.com
to check if the ftp support works well and if the cvs repository can be
accessed via cvsweb interface and everthing works flawlessly. Of course,
the mail archives can also be accessed without issues.
Please note that I am not a lynx user. I have ported it as a real world
test for the OpenSSL and WATT-32 ports.
Only to make this point clear, if you want to use lynx as a stand alone
program without having to care about environment variables and directories
trees, copy lynx.exe, lynx.cfg and lynx.lss into the same directory and
it will work.
As usual, all djgpp specific files (diffs, README files, etc.) are stored
in the /djgpp directory. The sources have been configured to be build in
the "_build" directory. If for some reason it does not work for you,
delete it contents and configure from scratch again.
Please read the docs very __CAREFULLY__ to become familiar with the product.
Here is an extract of the NEWS file showing the user visible changes from
the last port (Lynx 2.8.9dev.16) to this one:
-------------------------------------------------------------------------------
2018-07-08 (2.8.9rel.1)
* documentation/metrics updates -TD
2018-06-10 (2.8.9pre.1)
* fix an inconsistency in message for "-listonly" option (Debian #805753) -TD
2018-05-17 (2.8.9dev.19)
* update test-packages to use current ncurses test-packages -TD
* improve portability for sockaddr structures used in HTTP and FTP, for
IPv6 and SOCKS configurations -TD
* fix several minor warnings reported by Coverity -TD
* build-fix overlooked in 2.8.9dev.3 when INACTIVE_INPUT_STYLE_VH is defined,
for problem introduced by 2.8.8dev.17 code-cleanup -GV
* trim unnecessary intllib symbols from src/chrtrans/makefile.in -TD
* when cross-compiling, trim LDFLAGS from makefile rule linking makeuctb,
because it is a build tool, which should generally use BUILD_LDFLAGS
(patch by Thomas Petazzoni)
2018-05-06 (2.8.9dev.18)
* ignore content-encoding in HTContentToCompressType() if the content-type is
known, to improve the suggested filename (report by Russell Bell) -TD
* add support for using client certificate with OpenSSL configuration (patch
by Elliot Thomas).
* fix a few more memory leaks -TD
* put Lynx.leaks file in home directory like Lynx.trace (report by GV) -TD
* fix a memory leak in HTFTP.c -GV
* modify HTDoConnect(), adding a check for keyboard interrupt with 'z' in the
select-loop -TD
* modify legacy feature from Lynx 2.7.2 which checks the hostname of a URI
to guess whether to use HTTP, FTP, etc., depending upon the prefix of the
URIs hostname. This is now an optional feature, GUESS_SCHEME, which defaults
to FALSE (Debian #893907) -TD
2018-03-21 (2.8.9dev.17)
* modify samples/oldlynx.bat to check if Lynx recognizes the -lss option -TD
* modify samples/*lynx.bat to check for environment variables that Lynx would
test for temp-directory, and only if those are absent will the scripts
attempt to create a temp-directory -TD
* modify samples/*lynx.bat to set PATH for executing utility programs -TD
* remove unused critSec_DNS -TD
* use EnterCriticalSection in ws_netread rather than InitializeCriticalSection
since critSec_READ was initialized in LYMain.c (report by GV) -TD
* use freeaddrinfo() in one case where free() was used (report by GV) -TD
* implement "+" item type for gopher protocol (report by James Tomasino) -TD
* add checks in options-menu in case no color-styles have been defined -TD
* add Visual Studio project files for 2010, 2012 -TD
* improve checks for strings which should not be empty -TD
* check for empty personal-mail-address (report by TG) -TD
* modify samples/lynx-demo.cfg to use SOURCE_CACHE:memory -TD
* modify samples/*lynx.bat to use existing TEMP-directory if possible -TD
* modify windows installer to select directory containing SSL DLLs and copy
them into lynx's application directory -TD
* add oldlynx.bat sample script to windows installer -TD
* use default lynx.lss color scheme with samples/lynx.bat -TD
* modify windows installers to use static libraries for pdcurses and slang,
because the dll for the latter is much larger than the rest of lynx.
Even with this change, lynx.exe is 50% larger when using slang than with
pdcurses -TD
* rename test-package for ".rpm" to "lynx-dev" for consistency with ".deb" -TD
* improve samples/lynx.bat by using location of script rather than current
directory -loto1992 AT inbox DOT ru ("Smuggler")
* permanently enable MISC_EXP feature -TD
* remove several obsolete ifdefs: DGUX, DGUX_OLD, HP_TERMINAL,
REVERSE_CLEAR_SCREEN_PROBLEM, SHORTENED_RBIND, SLANG_MBCS_HACK, SNAKE -TD
* improve logic in HTCopy used to limit reads based on content-length to
take into account server headers which extend past the first block read
(report/test-case by Dick Wesseling) -TD
* permanently enable EXP_HTTP_HEADERS feature -TD
* modify color-style hashing to check for collisions (reported by TG, Russell
Bell) -TD
* add PREFERRED_CONTENT_TYPE defaulting to text/plain and options-menu to
replace an assumption in HTMIMEConvert that everything is text/html.
Since most servers provide a valid Content-Type for HTML, and are more likely
to omit it for files lacking a known suffix, defaulting to text/plain is a
better choice -TD
* remove dead-code for OMIT_SCN_KEEPING -TD
* remove dead/unreachable pretty-source code in HTML.c, noticed because
it complicates hashing -TD
* improve hashing for anchors and styles by using a more suitable hash-table
size -TD
* add a note in lynx.cfg telling how to remove a default key-mapping -TD
* modify "=" command to make it possible to disable margins for the URL string,
by first disabling wrapping using "|" -TD
* several fixes for Windows version -TH
+ fix an abnormal terminate when pressing 'd'(download) on no action button.
+ work around incompatibility in move() between POSIX and Windows.
ref: https://www.securecoding.cert.org/confluence/display/c/FIO10-C.+Take+care+when+using+the+rename%28%29+function
+ fix limit-check for SJIS which prevented showing a show long title in the
title bar on Windows environment.
+ fix problem with PDCurses when wrapping lines.
ref: lynx-dev discussions "Subject: Wrapping line behavior"
+ fix resizing terminal problem with Windows + PDCurses.
This problem occurs only with some combinations of source and destination
screen size.
For example: 80x25 -> 90x20
+ including some code clean up
* improve consistency in help-files discussing line-edit keymaps (prompted by
Debian #888391) -TD
* additional fixes to work with LibreSSL on OpenBSD 6.2 -TD
* build-fixes for OpenSSL 1.1.0 versus 1.0.0 (patch by Quentin Minster).
* modify configure script to make a quirk of NetBSD's make-program less
noticeable -TD
* modify configure script to work around pkgsrc's misconfiguration of shared
libraries -TD
* modify po/makefile.inn to ensure the temporary files have distinct names
to avoid problem with "make -j8" (Debian #890811) -TD
* update makefile/batch-scripts to allow building with newer Visual Studio
versions, e.g., 2010, 2012, so that a 64-bit executable can be built -TD
* repair link in lynx_help_main.html to HTML 3.2 documentation
(Savannah #47803) -TD
* update eo.po, fr.po from
http://translationproject.org/latest/lynx
* improved several configure macros:
CF_BUILD_CC, CF_CC_ENV_FLAGS, CF_CURSES_FUNCS, CF_CURSES_LIBS,
CF_NCURSES_CONFIG -D
* updated ftp-site url -TD
* update config.guess (2018-01-26), config.sub (2018-01-15)
-------------------------------------------------------------------------------
The port consists of the usual three packages that have been produced
using djdev205 and can be downloaded from ftp.delorie.com and mirrors
as (time stamp 2018-07-15):
Lynx 2.8.9rel.1 binaries, scripts and man format documentation:
ftp://ftp.delorie.com/pub/djgpp/current/v2tk/lx289b.zip
Lynx 2.8.9rel.1 html format documentation and sample files:
ftp://ftp.delorie.com/pub/djgpp/current/v2tk/lx289d.zip
Lynx 2.8.9rel.1 source:
ftp://ftp.delorie.com/pub/djgpp/current/v2tk/lx289s.zip
Send lynx utils specific bug reports to <lynx-dev AT nongnu DOT org>.
Send suggestions and bug reports concerning the DJGPP port to
comp.os.msdos.djgpp or <djgpp AT delorie DOT com>.
Enjoy.
Guerrero, Juan Manuel <juan DOT guerrero AT gmx DOT de>
- Raw text -