Releases: EdoardoLaGreca/werc-on-openbsd
v2.2
Do you know what time is it? It's time for a new release! 🎉
This is a minor version release. Here's a list of what has changed:
- The readme file has been shortened:
- The content of sections which didn't belong in readme have been moved to a new directory "doc", which contains all documentation.
- The checksums have been moved to their own files, whose name is [the summed file] + ".sum".
- The license change clarification has been removed.
- The setup.sh script has been fixed and changed:
- In the
mk9envfunction, the command that installs the git package has the-Uflag now, which avoids an error during the package installation if the packages it depends on aren't up to date. - The final messages, which appear when the installation finishes, have been clarified and changed to better fit the 80 character width limit of some terminals.
- In the
- The unsetup.sh script has improved:
- Now it removes more files and directories, which results in a file system which better resembles the original file system (before the initial installation).
- The final messages, which appear when the installation finishes, have been clarified.
- The test.sh script has been fixed: now it terminates when it detects that the user running itself is not a super user, instead of continuing its execution.
- A new script, gensum.sh, has been added: it helps automating the calculation and storage of updated checksums.
- All documentation files (including readme) have been folded to 80 characters for better visualization in terminals that have such width.
Commit list since previous release (v2.1).
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,lddshows 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/fstabhas 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
gitfrom the package manager, which is then used to download the plan9port source tree. Downloading plan9port through git allows necessary customization to take place. Thebzip2package 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.shdoes 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
webdirin the two scripts cannot be root/. - The
lncpfunction now attempts to link as many files as possible, instead of copying everything even when few links fail. - The
/etc/httpd.conffile now needs to be readable, not just to exist. - The un-setup script now asks to stop services and remove installed packages.
- Rename
fstab_parentfunction 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
lncpfunction has been added, it works in the following way:- If a file can be hard-linked into a directory,
lncpdoes so. - If a file cannot be hard-linked into a directory (e.g. the file and the directory are in two different partitions), then
lncpsimply 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.