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 functions.h
README.options README.options
bin2c bin2c
in.gophernicus gophernicus
# #
# Release files # Release files
# #
*.gz *.gz
ChangeLog
# #
# Debian packaging leftovers # Debian packaging leftovers
# #
build-stamp build-stamp
debian/files debian/files
debian/changelog
debian/gophernicus.debhelper.log debian/gophernicus.debhelper.log
debian/gophernicus.postrm.debhelper debian/gophernicus.postrm.debhelper
debian/gophernicus.substvars debian/gophernicus.substvars

View File

@ -90,7 +90,7 @@ just run 'make withwrap'.
For configuring IP access lists with TCP wrappers, take a look For configuring IP access lists with TCP wrappers, take a look
at the files `/etc/hosts.allow` and `/etc/hosts.deny` (because the 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. make your access lists.
@ -101,7 +101,7 @@ below line should be added to your `/etc/inetd.conf` and the inetd
process restarted. 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 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 statistics. It creates the shared memory block using mode 600
and a predefined key which means that a shared memory block and a predefined key which means that a shared memory block
created with one user cannot be used by another user. Simply 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 accounts may create a situation where the memory block is locked
to the wrong user. to the wrong user.

View File

@ -7,10 +7,10 @@
# #
NAME = gophernicus NAME = gophernicus
PACKAGE = $(NAME) PACKAGE = $(NAME)
BINARY = in.$(NAME) BINARY = $(NAME)
VERSION = `./version` VERSION = 3.0
CODENAME = Dungeon Edition CODENAME = Dungeon Edition
AUTHOR = Kim Holviala and others AUTHOR = h9bnks and fosslinux
EMAIL = gophernicus@gophernicus.org EMAIL = gophernicus@gophernicus.org
STARTED = 2009 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 HEADERS = functions.h files.h
OBJECTS = $(SOURCES:.c=.o) OBJECTS = $(SOURCES:.c=.o)
README = README.md 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 INSTALL = PATH=$$PATH:/usr/sbin ./install-sh -o 0 -g 0
DESTDIR = /usr DESTDIR = /usr
@ -71,19 +71,8 @@ withwrap:
# Special targets # Special targets
# #
deb: 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 dpkg-buildpackage -rfakeroot -uc -us
ChangeLog:
if [ -d .git ]; then \
(./git2changelog > ChangeLog; \
cat changelog.old >> ChangeLog); \
else true; fi
.PHONY: ChangeLog
# #
# Building # Building
# #
@ -142,7 +131,7 @@ clean-shm:
# #
# Install targets # Install targets
# #
install: ChangeLog clean-shm install: clean-shm
@case `uname` in \ @case `uname` in \
Darwin) $(MAKE) ROOT="$(OSXROOT)" DESTDIR="$(OSXDEST)" install-files install-docs install-root install-osx install-done; ;; \ 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) \ Haiku) $(MAKE) SBINDIR=/boot/common/bin DOCDIR=/boot/common/share/doc/$(PACKAGE) \

View File

@ -1,10 +1,23 @@
# Gophernicus # Gophernicus
Version 3.0
*Copyright (c) 2009-2019 Kim Holviala and others* *Copyright (c) 2009-2019 Kim Holviala and others*
Gophernicus is a modern full-featured (and hopefully) secure gopher Gophernicus is a modern full-featured (and hopefully) secure gopher
daemon. It is licensed under the BSD license. 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 ## Command line options
-h hostname Change server hostname (FQDN) [$HOSTNAME] -h hostname Change server hostname (FQDN) [$HOSTNAME]
@ -279,7 +292,7 @@ Example:
; Enable TCP wrappers ; Enable TCP wrappers
libwrap = yes libwrap = yes
service = in.gophernicus-tls service = gophernicus-tls
; Gopher over TLS service ; Gopher over TLS service
[gophernicus] [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> 2012-12-02 Kim Holviala <kim@holviala.com>
* Released version 1.4 * 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 Source: gophernicus
Section: net Section: net
Priority: extra Priority: extra
Maintainer: Kim Holviala <kimholviala@fastmail.com> Maintainer: gophernicus developers <gophernicus@gophernicus.org>
Build-Depends: debhelper (>= 5), libwrap0-dev Build-Depends: debhelper (>= 5), libwrap0-dev
Standards-Version: 3.7.3 Standards-Version: 3.7.3
Homepage: gopher://gophernicus.org/1/software/gophernicus/server/ Homepage: https://github.com/gophernicus/gophernicus
Package: gophernicus Package: gophernicus
Architecture: any Architecture: any

1
debian/copyright vendored
View File

@ -1,4 +1,5 @@
Gophernicus - Copyright (c) 2009-2018 Kim Holviala <kimholviala@fastmail.com> Gophernicus - Copyright (c) 2009-2018 Kim Holviala <kimholviala@fastmail.com>
2019 gophernicus developers <gophernicus@gophernicus.org>
All rights reserved. All rights reserved.
Redistribution and use in source and binary forms, with or without 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 README.Gophermap
TODO TODO
INSTALL.md INSTALL.md
VERSONING.md
changelog
gophertag gophertag

View File

@ -3,7 +3,7 @@
# If you are using Gophernicus with inetd this configuration file # If you are using Gophernicus with inetd this configuration file
# is ignored and the real configuration is in /etc/inetd.conf # 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. # configuration options.
# #
# Example: # 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:]-]+ 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:]-]+ 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]+\]: error "User not found" for request "/~[^"]*" from [._[:alnum:]:-]+$
^\w{3} [ :0-9]{11} [._[:alnum:]-]+ systemd\[1\]: Start(ing|ed) Gophernicus gopher server \([^[:space:]]+\)\.+$ ^\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 PACKAGE=gophernicus
LOGDIR=/var/log/$PACKAGE LOGDIR=/var/log/$PACKAGE
LIBDIR=/usr/lib/$PACKAGE LIBDIR=/usr/lib/$PACKAGE
BINARY=in.gophernicus BINARY=gophernicus
DEFAULT=/etc/default/$PACKAGE DEFAULT=/etc/default/$PACKAGE
USER=nobody USER=nobody

3
debian/rules vendored
View File

@ -20,7 +20,6 @@ build-stamp:
dh_testdir dh_testdir
$(MAKE) $(MAKE)
$(MAKE) ChangeLog
touch $@ touch $@
@ -55,7 +54,7 @@ binary-indep: build install
binary-arch: build install binary-arch: build install
dh_testdir dh_testdir
dh_testroot dh_testroot
dh_installchangelogs ChangeLog dh_installchangelogs changelog
dh_installdocs dh_installdocs
# dh_install # dh_install
# dh_installmenu # 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 # 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. # configuration options.
# #
# Example: # Example:

View File

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

View File

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

View File

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