Hi all,
I am very happy to release Gophernicus version 3.1. A large number of
changes have been made since the last release, including:
* OpenBSD pledge and unveil support.
* A new filetypes system.
* -nH to disable HTTP responses.
* A new build system.
* A manual page.
* An official Debian package coming in the next stable release of Debian!
* A wide variety of bug fixes.
Please note that the way in which Gophernicus is built and installed has
changed significantly. It now uses a more traditional `./configure &&
make && make install` setup, with a hand-written configure script, that
attempts to emulate autotools to an extent. Please note that a
`--listener` argument is required. As you may be aware, Gophernicus does
not listen to a port. It requires a tool such as systemd, inetd or
xinetd to work and pass through requests to Gophernicus. In the past,
this was auto-detected in the Makefile, but often poorly and not
portably. The option to autodetect is still there, but you must be
explicit about it, by using `--listener=autodetect`. Otherwise, choose a
listener using the same argument, for example `--listener=systemd`.
For clarity, this is an example install:
```
./configure --listener=xinetd
make
sudo make install
```
The previous build system did not support parallelization, but the new
one does. You can pass `-jx` to make now.
Thanks to the work of @ryanakca, we will now have a Debian package
available just in time for the next stable release of Debian
(hopefully!). If you are a deb package user, note that we have removed
the debian packaging scripts from the repository, to allow downstream to
manage this. You have 3 options.
* wait for the official Debian package to come into your repositories
and apt will handle the rest. You will not need to do anything but will
not have the 3.1 release for a number of months.
* compile and install manually, preferably to /usr/local or /opt as not
to mess with the system package; when the new Debian package comes, you
can easily remove the manual install.
* take the Debian package scripts from the downstream repository and
manually create a package, once these scripts are complete. This
document will be edited when this occurs.
Along with this release we are now distributing binaries. They are:
* An x86_64 glibc binary, linked against glibc 2.30.
* An x86_64 static binary.
* An x86_64 musl-linked binary (1.1 series).
* An AARCH64 glibc binary, linked against glibc 2.30.
* An AARCH64 static binary.
These are available here.
https://github.com/gophernicus/gophernicus/releases/tag/3.1.
I would like to thank all these contributors, especially those who made
quite significant changes, particularly @augfab (proper manual page,
`-nH`) and @vext01 (OpenBSD pledge and unveil support), as well as
@hb9kns (Gophernicus maintainer).
```
72 fosslinux
9 Augustin Fabre
4 Emil Engler
2 Bradley D. Thornton
2 Yargo
2 bdeshi
1 Edd Barrett
1 Ryan Kavanagh
1 cdmnky73
```
Full list of (user-seen) changes (not all commits included):
- Allow document roots specified with relative paths
- Drop debian packaging
- New build system
- Rework logging logic
- Replace spurious tabs in menu with dashes
- Don't install documentation
- Fix parallel builds
- Declare function prototypes explicitly
- Sort the ~ selector by date modified
- Rework manual page
- Propagate FLAGS value to recursive MAKE calls
- Fix memory leak in gophermap parsing
- Add option -nH to disable HTTP response to HTTP GET/POST requests (#66)
- Make description in die() appears everywhere
- fix LDFLAGS
- Filetypes2 (#57) Re-do filetypes system.
- corrected some typos in author's names (#55)
- build: Force create symlink
- ci: New Travis system for linux and macOS builds and installs
- refactor: New hierarchy and refactored Makefile
- use user-defined CC by default
- add -b option to git clone instead of git checkout
- Add OpenBSD pledge(2) and unveil(2) support.
- change default charset to utf-8
- change max-width to 67 (#39)
Please feel free to ask any questions!
-fosslinux and the Gophernicus developers
Hi all!
I have just released the first (and probably final) Release Candidate
for Gophernicus version 3.1. This brings a host of improvements to
gophernicus, notably including:
- OpenBSD pledge and unveil support.
- A new filetypes system.
- `-nH` to disable HTTP responses.
- A new build system.
- A manual page.
- An official Debian package coming in the next stable release for 3.1!
- A wide variety of bug fixes.
I would really appreciate testing, especially of the new build system.
You can get sources and binaries here:
https://github.com/gophernicus/gophernicus/releases/tag/3.1rc1.
Please read INSTALL.md, the process has changed (you now need to run
`./configure` first).
If you are a deb package user, please either:
1. wait for the official Debian package to come into your repositories
and apt will handle the rest.
2. if you want the new releases sooner, please compile and install
manually, preferably to `/usr/local` or `/opt` as not to mess with the
system package. Then, when the new Debian package comes, you can easily
remove the manual install.
Along with this release we are now distributing binaries. There are
currently two binaries, and there will be more added for the final
release. The current two are:
1. An x86_64 glibc binary, linked against glibc 2.30, without libwrap.
2. An x86_64 static binary, which will work on any system, even running
alternative libcs or older versions of glibc, without libwrap.
Full list of changes:
* Allow document roots specified with relative paths
* Drop debian packaging
* New build system
* Rework logging logic
* Replace spurious tabs in menu with dashes
* Don't install documentation
* Fix parallel builds
* Declare function prototypes explicitly
* Sort the ~ selector by date modified
* Rework manual page
* Propagate FLAGS value to recursive MAKE calls
* Fix memory leak in gophermap parsing
* Add option `-nH` to disable HTTP response to HTTP GET/POST requests
(#66)
* Make description in die() appears everywhere
* fix LDFLAGS
* Filetypes2 (#57) Re-do filetypes system.
* corrected some typos in author's names (#55)
* build: Force create symlink
* ci: New Travis system for linux and macOS builds and installs
* refactor: New hierarchy and refactored Makefile
* use user-defined CC by default
* add -b option to git clone instead of git checkout
* Add OpenBSD pledge(2) and unveil(2) support.
* change default charset to utf-8
* change max-width to 67 (#39)