1
0
mirror of https://github.com/gophernicus/gophernicus.git synced 2024-12-04 14:46:37 -05:00

version 3.0 release

* release version 3.0
* change appropriate documentation
* change debian packaging for 3.0
This commit is contained in:
fosslinux 2019-06-15 10:31:02 +10:00
parent 12cc52f58c
commit efdea56b8e
21 changed files with 168 additions and 80 deletions

4
.gitignore vendored
View File

@ -6,20 +6,18 @@ files.h
functions.h
README.options
bin2c
in.gophernicus
gophernicus
#
# Release files
#
*.gz
ChangeLog
#
# Debian packaging leftovers
#
build-stamp
debian/files
debian/changelog
debian/gophernicus.debhelper.log
debian/gophernicus.postrm.debhelper
debian/gophernicus.substvars

View File

@ -90,7 +90,7 @@ just run 'make withwrap'.
For configuring IP access lists with TCP wrappers, take a look
at the files `/etc/hosts.allow` and `/etc/hosts.deny` (because the
manual pages suck). Use the daemon name 'in.gophernicus' to
manual pages suck). Use the daemon name 'gophernicus' to
make your access lists.
@ -101,7 +101,7 @@ below line should be added to your `/etc/inetd.conf` and the inetd
process restarted.
```
gopher stream tcp nowait nobody /usr/sbin/in.gophernicus in.gophernicus -h <hostname>
gopher stream tcp nowait nobody /usr/sbin/gophernicus gophernicus -h <hostname>
```
The Makefile will automatically do this for you and remove it when
@ -142,7 +142,7 @@ Gophernicus uses SYSV shared memory for session tracking and
statistics. It creates the shared memory block using mode 600
and a predefined key which means that a shared memory block
created with one user cannot be used by another user. Simply
said, running in.gophernicus under various different user
said, running gophernicus under various different user
accounts may create a situation where the memory block is locked
to the wrong user.

View File

@ -7,10 +7,10 @@
#
NAME = gophernicus
PACKAGE = $(NAME)
BINARY = in.$(NAME)
VERSION = `./version`
BINARY = $(NAME)
VERSION = 3.0
CODENAME = Dungeon Edition
AUTHOR = Kim Holviala and others
AUTHOR = h9bnks and fosslinux
EMAIL = gophernicus@gophernicus.org
STARTED = 2009
@ -18,7 +18,7 @@ SOURCES = $(NAME).c file.c menu.c string.c platform.c session.c options.c
HEADERS = functions.h files.h
OBJECTS = $(SOURCES:.c=.o)
README = README.md
DOCS = LICENSE README.md INSTALL.md TODO ChangeLog README.Gophermap gophertag
DOCS = LICENSE README.md INSTALL.md TODO changelog README.Gophermap gophertag
INSTALL = PATH=$$PATH:/usr/sbin ./install-sh -o 0 -g 0
DESTDIR = /usr
@ -71,19 +71,8 @@ withwrap:
# Special targets
#
deb:
printf "$(PACKAGE) ($(VERSION)) unstable; urgency=low\n\n * Automatically generated changelog\n\n" > debian/changelog
printf " -- $(AUTHOR) <$(EMAIL)> %s\n" "`LC_ALL=POSIX date "+%a, %d %b %Y %H:%M:%S %z"`" >> debian/changelog
dpkg-buildpackage -rfakeroot -uc -us
ChangeLog:
if [ -d .git ]; then \
(./git2changelog > ChangeLog; \
cat changelog.old >> ChangeLog); \
else true; fi
.PHONY: ChangeLog
#
# Building
#
@ -142,7 +131,7 @@ clean-shm:
#
# Install targets
#
install: ChangeLog clean-shm
install: clean-shm
@case `uname` in \
Darwin) $(MAKE) ROOT="$(OSXROOT)" DESTDIR="$(OSXDEST)" install-files install-docs install-root install-osx install-done; ;; \
Haiku) $(MAKE) SBINDIR=/boot/common/bin DOCDIR=/boot/common/share/doc/$(PACKAGE) \

View File

@ -1,10 +1,23 @@
# Gophernicus
Version 3.0
*Copyright (c) 2009-2019 Kim Holviala and others*
Gophernicus is a modern full-featured (and hopefully) secure gopher
daemon. It is licensed under the BSD license.
## Support/Contact
Developers can be reached at <gophernicus AT gophernicus DOT org>.
Our IRC channel is on irc.freenode.net #gophernicus.
You most likely want to subscribe to the gophernicus mailing list at
https://lists.tildeverse.org/postorius/lists/gophernicus.lists.tildeverse.org/,
especially if you maintain a server. This is where all important announcements
are made.
## Command line options
-h hostname Change server hostname (FQDN) [$HOSTNAME]
@ -279,7 +292,7 @@ Example:
; Enable TCP wrappers
libwrap = yes
service = in.gophernicus-tls
service = gophernicus-tls
; Gopher over TLS service
[gophernicus]

55
VERSIONING.md Normal file
View File

@ -0,0 +1,55 @@
# Versioning
## Latest version
3.0
## Changelog
<!--- this should be mirrored from Changelog -->
### 3.0 (from 101):
**N.B. this version has two important changes that may make it backwards-incompatible:**
* binary changed from in.gophernicus to gophernicus
* virtual hosting NEVER WORKED and does not work in the way previously
described
Other changes:
* prevent leak of executable gophermap contents
* make sure {x,}inetd works when systemd is on the system
* allow -j flag to work
* add h9bnks (yargo) and fosslinux into developer roles
* add -nx flag, blocks executable gophermaps
* add -nu flag, disable ~/public_gopher
* modify various documentation to markdown
* fix various formattings and typos
* allow inetd targets to work without update-inetd
* correct handling of inetd.conf
* remove list of supported platforms
* remove example gophermaps
* add dependencies for various distros to INSTALL.md
* fix query urls
* add travis ci
* add documentation about CI
Upgrade guide:
If you are running gophernicus on a **production** system, **do not** upgrade
to 3.0. Wait for 3.1.
As a general guide:
If you are running 101 and haven't upgraded to newer versions **because** of
instability worries, **wait for 3.1**.
If you were running other rolling-release versions, **upgrade now**.
## History
Gophernicus has had a rough versioning history.
Versions progressed through to 2.6. Then it changed to a rolling-release scheme.
This dosen't work very well, hence the decision was made to revert to a numbered
versioning scheme. In some places, it was referred to 101 (the git commit
number) or 2.99.101 (2.99.gitcommitnumber).
These days (June 2019), the vast majority of gophernicus servers are on 101.

38
changelog Normal file
View File

@ -0,0 +1,38 @@
3.0 (from 101)
==============
N.B. this version has two important changes that may make it
backwards-incompatible:
* binary changed from in.gophernicus to gophernicus
* virtual hosting NEVER WORKED and does not work in the way previously
described
Other changes:
* prevent leak of executable gophermap contents
* make sure {x,}inetd works when systemd is on the system
* allow -j flag to work
* add h9bnks (yargo) and fosslinux into developer roles
* add -nx flag, blocks executable gophermaps
* add -nu flag, disable ~/public_gopher
* modify various documentation to markdown
* fix various formattings and typos
* allow inetd targets to work without update-inetd
* correct handling of inetd.conf
* remove list of supported platforms
* remove example gophermaps
* add dependencies for various distros to INSTALL.md
* fix query urls
* add travis ci
* add documentation about CI
Upgrade guide:
If you are running gophernicus on a **production** system, **do not** upgrade
to 3.0. Wait for 3.1.
As a general guide,
If you are running 101 and haven't upgraded to newer versions **because** of
instability worries, **wait for 3.1**.
If you were running other rolling-release versions, **upgrade now**.

View File

@ -1,3 +1,6 @@
This contains changelog up to 1.4. There are no changelogs from 1.4
until 3.0.
2012-12-02 Kim Holviala <kim@holviala.com>
* Released version 1.4

33
debian/changelog vendored Normal file
View File

@ -0,0 +1,33 @@
gophernicus (3.0-1.1) unstable; urgency=medium
* N.B. this version has two important changes that may make it
backwards-incompatible:
* binary changed from in.gophernicus to gophernicus
* virtual hosting NEVER WORKED and does not work in the way previously
described
* Other changes:
* prevent leak of executable gophermap contents
* make sure {x,}inetd works when systemd is on the system
* allow -j flag to work
* add h9bnks (yargo) and fosslinux into developer roles
* add -nx flag, blocks executable gophermaps
* add -nu flag, disable ~/public_gopher
* modify various documentation to markdown
* fix various formattings and typos
* allow inetd targets to work without update-inetd
* correct handling of inetd.conf
* remove list of supported platforms
* remove example gophermaps
* add dependencies for various distros to INSTALL.md
* fix query urls
* add travis ci
* add documentation about CI
* Upgrade guide:
* If you are running gophernicus on a **production** system, **do not** upgrade
to 3.0. Wait for 3.1.
* As a general guide,
* If you are running 101 and haven't upgraded to newer versions **because** of
instability worries, **wait for 3.1**.
* If you were running other rolling-release versions, **upgrade now**.
-- gophernicus developers <gophernicus@gophernicus.org> Sun, 16 Jun 2019 17:49:46 +0000

4
debian/control vendored
View File

@ -1,10 +1,10 @@
Source: gophernicus
Section: net
Priority: extra
Maintainer: Kim Holviala <kimholviala@fastmail.com>
Maintainer: gophernicus developers <gophernicus@gophernicus.org>
Build-Depends: debhelper (>= 5), libwrap0-dev
Standards-Version: 3.7.3
Homepage: gopher://gophernicus.org/1/software/gophernicus/server/
Homepage: https://github.com/gophernicus/gophernicus
Package: gophernicus
Architecture: any

1
debian/copyright vendored
View File

@ -1,4 +1,5 @@
Gophernicus - Copyright (c) 2009-2018 Kim Holviala <kimholviala@fastmail.com>
2019 gophernicus developers <gophernicus@gophernicus.org>
All rights reserved.
Redistribution and use in source and binary forms, with or without

4
debian/docs vendored
View File

@ -1,5 +1,7 @@
README
README.md
README.Gophermap
TODO
INSTALL.md
VERSONING.md
changelog
gophertag

View File

@ -3,7 +3,7 @@
# If you are using Gophernicus with inetd this configuration file
# is ignored and the real configuration is in /etc/inetd.conf
#
# See README or run "in.gophernicus -?" to see a full list of
# See README or run "gophernicus -?" to see a full list of
# configuration options.
#
# Example:

View File

@ -1,4 +1,4 @@
^\w{3} [ :0-9]{11} [._[:alnum:]-]+ in.gophernicus\[[0-9]+\]: request for "[^"]*" from [._[:alnum:]:-]+$
^\w{3} [ :0-9]{11} [._[:alnum:]-]+ in.gophernicus\[[0-9]+\]: error "No such file or directory" for request "[^"]*" from [._[:alnum:]:-]+$
^\w{3} [ :0-9]{11} [._[:alnum:]-]+ in.gophernicus\[[0-9]+\]: error "User not found" for request "/~[^"]*" from [._[:alnum:]:-]+$
^\w{3} [ :0-9]{11} [._[:alnum:]-]+ gophernicus\[[0-9]+\]: request for "[^"]*" from [._[:alnum:]:-]+$
^\w{3} [ :0-9]{11} [._[:alnum:]-]+ gophernicus\[[0-9]+\]: error "No such file or directory" for request "[^"]*" from [._[:alnum:]:-]+$
^\w{3} [ :0-9]{11} [._[:alnum:]-]+ gophernicus\[[0-9]+\]: error "User not found" for request "/~[^"]*" from [._[:alnum:]:-]+$
^\w{3} [ :0-9]{11} [._[:alnum:]-]+ systemd\[1\]: Start(ing|ed) Gophernicus gopher server \([^[:space:]]+\)\.+$

2
debian/postinst vendored
View File

@ -11,7 +11,7 @@ ROOT=/var/gopher
PACKAGE=gophernicus
LOGDIR=/var/log/$PACKAGE
LIBDIR=/usr/lib/$PACKAGE
BINARY=in.gophernicus
BINARY=gophernicus
DEFAULT=/etc/default/$PACKAGE
USER=nobody

3
debian/rules vendored
View File

@ -20,7 +20,6 @@ build-stamp:
dh_testdir
$(MAKE)
$(MAKE) ChangeLog
touch $@
@ -55,7 +54,7 @@ binary-indep: build install
binary-arch: build install
dh_testdir
dh_testroot
dh_installchangelogs ChangeLog
dh_installchangelogs changelog
dh_installdocs
# dh_install
# dh_installmenu

View File

@ -1,29 +0,0 @@
#!/bin/sh
##
## Generate ChangeLog from git log
##
VERSION=`git log | grep -c "^commit"`
FIRSTVER=93
PREVIOUS=
IFS=\;
echo "[ Automatically generated from git log ]"
git log --pretty=tformat:"%ad %an <%ae>;%s" --date=short | \
while read -r AUTHOR COMMENT; do
[ "$AUTHOR" != "$PREVIOUS" ] && printf "\n$AUTHOR\n\n"
if [ $VERSION -ge $FIRSTVER ]; then
printf "\t* (v%d) %s\n" $VERSION "$COMMENT"
else
printf "\t* %s\n" "$COMMENT"
fi
PREVIOUS="$AUTHOR"
VERSION=$(( VERSION - 1 ))
done
echo
echo

View File

@ -1,6 +1,6 @@
# Options for Gophernicus
#
# See README or run "in.gophernicus -?" to see a full list of
# See README or run "gophernicus -?" to see a full list of
# configuration options.
#
# Example:

View File

@ -5,7 +5,7 @@ service gopher
socket_type = stream
wait = no
user = nobody
server = /usr/sbin/in.gophernicus
server = /usr/sbin/gophernicus
server_args = -r/var/gopher -h@HOSTNAME@
disable = no
}

View File

@ -4,7 +4,7 @@ Description=Gophernicus gopher server
[Service]
EnvironmentFile=-/etc/default/gophernicus
EnvironmentFile=-/etc/sysconfig/gophernicus
ExecStart=/usr/sbin/in.gophernicus -h %H $OPTIONS
ExecStart=/usr/sbin/gophernicus -h %H $OPTIONS
SuccessExitStatus=1
StandardInput=socket
User=nobody

View File

@ -6,7 +6,7 @@
<string>org.gophernicus.server</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/sbin/in.gophernicus</string>
<string>/usr/local/sbin/gophernicus</string>
<string>-h@HOSTNAME@</string>
<string>-r/Library/GopherServer</string>
</array>

14
version
View File

@ -1,14 +0,0 @@
#!/bin/sh
##
## Generate Gophernicus version/build number
##
DEFAULT="120+"
if which git >/dev/null && test -d .git; then
git log | grep -c "^commit"
else
echo $DEFAULT
fi