Releases: EdoardoLaGreca/werc-on-openbsd
v2.1
This is a minor version release.
Notable changes:
- Added a new function in the setup script:
lsso
. It accepts paths of programs as arguments, of which it lists all the shared object dependencies sorted by path. If multiple programs are specified, the same shared objects are not repeated. If the specified files are not programs,ldd
shows an error and no action is performed. - The shared object dependencies are not hardcoded anymore in the setup script and, instead, are obtained using
lsso
. - A testing script,
test.sh
, has been introduced. More info in the Readme file.
Other minor changes:
- The message that warns about changes in
/etc/fstab
has been shortened. - The layout of the section with checksums has changed a little.
Commit list since the previous release (v2.0).
v2.0
werc-on-openbsd v2.0
It's been a while since both the previous release of werc-on-openbsd and the latest OpenBSD release. I'm sorry for the wait but there are valid reasons for this release to take a little longer than usual.
Release notes
A lot changed since the previous release. The following list provides a comprehensive overview of the changes, together with other useful information. For the record, the terms "the two scripts" and "both scripts" in the list below refer to the setup and un-setup scripts, namely setup.sh
and unsetup.sh
. Some may find this latter statement obvious and redundant but I'd rather be redundant than ambiguous.
- Both scripts have been extensively tested against the latest OpenBSD release: version 7.6. They are expected to be compatible with OpenBSD 7.0 and later versions unless OpenBSD introduces breaking changes.
- Both scripts have been rewritten to improve readability and facilitate future changes. They are now split into parts, each of which performs one step of the entire installation (or uninstallation). Parts are essentially functions.
- Both scripts now accept parts (see above) as command line arguments. Parts specified as command line arguments are run in the specified order. The absence of arguments makes the script run all parts. This allows the user to perform specific tasks, such as updating Werc and plan9port, without running the full script.
- The external dependencies have changed. Now the setup script only installs
git
from the package manager, which is then used to download the plan9port source tree. Downloading plan9port through git allows necessary customization to take place. Thebzip2
package is no longer required because now the setup script downloads the gzip variant of the Werc tarball and gzip is supported by default on OpenBSD. - The installation resulting from
setup.sh
does not break anymore when plan9port is updated. I did not test that but what caused the breaking cannot happen anymore. - The layout of the web directory has changed. Now plan9port is installed directly into the web directory instead of just copying (or hard-linking) its content there.
- The installation takes more time now because plan9port is compiled locally.
- The new site directory created by the setup script has more default content now.
- If the setup script detects that the website directory exists already, it is preserved and the script installs just the rest of werc.
- The readme file has been filled with more useful info, both in terms of quantity and quality. The "Rationale and details" part of the readme has been moved to a separate file.
- The license has changed to ISC. Now users and contributors have more permissions.
- Many bugs have been fixed.
Other minor changes include the following.
- The value of
webdir
in the two scripts cannot be root/
. - The
lncp
function now attempts to link as many files as possible, instead of copying everything even when few links fail. - The
/etc/httpd.conf
file now needs to be readable, not just to exist. - The un-setup script now asks to stop services and remove installed packages.
- Rename
fstab_parent
function tomountp
. - The HTTP daemon configuration is now written in a variable rather than a command argument.
- Both scripts are now written in a more idiomatic way.
- Some output messages have been changed, in terms of both their content and the file descriptor to which they are written.
- Some comments have been changed, removed, and added.
For those who saw a warning about OpenBSD 7.6 not working, it was a virtualization issue about the IDE drive controller. It actually works when using a SATA controller.
Upgrading
Since many changes took place, you may want to uninstall your current installation and re-install it using the new scripts. Remember to use unsetup.sh
from the same version as setup.sh
you used back then.
Commit list
Full commit list from v1.2 (previous) to v2.0.
v1.2
This release contains bug fixes, code refactoring, and documentation changes only. In particular:
- The Readme had a wrong command in the unsetup script's step-by-step guide.
- The final message of the unsetup script did not say whether the operation was completed successfully or not.
- The unsetup script did not warn the user (or exit the script) if it failed while removing packages.
- The setup and unsetup processes have been reorganized in the Readme.
- The order of the customizable variables have changed in the unsetup script to match the setup script.
- A warning in the Readme has been added about updating plan9port and upgrading the system.
Full list of commits from v1.1 to v1.2 here.
v1.1
Changes since v1.0:
- A sentence has changed in the Rationale & Details section in README.md and other parts of the file have been rephrased.
- The setup.sh script now adds a copy of /var/www/werc/lib into the site's _werc directory for customization.
- The default site look has changed.
- The
lncp
function has been added, it works in the following way:- If a file can be hard-linked into a directory,
lncp
does so. - If a file cannot be hard-linked into a directory (e.g. the file and the directory are in two different partitions), then
lncp
simply copies the file into the directory.
- If a file can be hard-linked into a directory,
- The setup.sh script is now written in a more idiomatic and clear way.
- Of course, the checksums have been updated.
The setup.sh and unsetup.sh scripts have been successfully tested on OpenBSD 7.4 every time an error-prone change was committed to the repository. Changes are considered not error-prone when:
- They only change one or few lines of setup.sh or unsetup.sh, in a way that does not modify what those lines do, but rather their syntax or variable names.
- They do not touch regular expressions in setup.sh or unsetup.sh.
- They change comments.
- They change other files (such as the readme).
Full list of commits from v1.0 to v1.1 here.
v1.0
Not much to say, it works.
You can use it now.