There is a wrinkle in terms of sending mail immediately when using
msmtpq-ng-mta instead of a typical mail server. We document that
in the package description.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
If the spool or lock dir exist before msmtp's initscript runs we
need to modify the permisions to be appropriate instead of just
bailing, otherwise non-root can't send mail.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
On OpenWrt nc (netcat) connectivity test makes more sense than
ping because a) for non-root users ping is not permitted, and
b) nc is a default binary included with OpenWrt.
We do, however, have to change the upstream default from using
`nc -vz` to `printf "<http head request>"|nc` (with openwrt
nc if text is sent then nc closes after a response and fails
if no connection is made; the response is already thrown away
(to /dev/null) by the existing code).
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
On a Debian system without python3-distutils install, uwsgi-cgi was
failing to build because it couldn't import sysconfig from distutils.
OpenWrt packages should be using the OpenWrt python not the system
python. In addition we need to use python3 not python2, even when
both are available.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
The project has been revived upstream and a user has convinced me
there is a valid use case for this package in openwrt, so remove
deprecation notice, adjust links to upstream (it's moved) and
update to latest version. Sync behavior with that expected upstream.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Use the PROVIDES mechanism so that msmtp and msmtp-nossl can be be
+depended-on and avoid generating a file level conflict. Also use
alternatives for msmtp-mta and msmtpq-ng-mta with msmtp-mta since
we can only have one sendmail at a time.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
We add the necessary Makefile, hotplug, config, and init bits
so that p910nd daemon runs as user:group p910nd:lp by default.
This eliminates an unnecessary root daemon.
The hotplug script sets the permissions of the USB lp
device(s) to read-write owner and group and no access to
anyone else, and sets owner root, group lp.
This is allows sufficient privileges to p910nd
to do it's job.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Current version in OpenWrt (3.16.2) fails against the Arch Linux
in System Rescue CD's NBD as rootfs (to allow sharing ISO across
network). Based on resolved issues and web searching it seems
nbd had endianness issues (which affected my ath79 device).
This updates to 3.19 which allows System Rescue CD PXE boot with
NBD rootfs to work.
Removed patches no longer required due to upstream changes, and
added new configure option (--without-libnl) required to avoid
linking against full libnl and libnl-genl (if present in build).
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
The code was all there but the call do the function containing it was missing,
so call the function so that forced (UPS) shutdown occurs on a battery critical
or manually requested FSD situation.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
NUT's upsmon is rather peculiar in that it has a child process that runs as
a regular user and a parent process that runs as root (in order to facilitate
shutting down the device if needed). procd doesn't deal well with this and
doing 'normal' procd stop / restart / etc results in the child process still
hanging around but with not parent, which causes undesired behaviour. Therefore,
add the use of 'upsmon -c stop' during process shutdown / restart in order to
ensure that upsmon is actually fully stopped.
Also fixes nut-monitor going into crashloop on network changes (due to
trigger that restarted upsmon but failed due to orphan child from before
restart).
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Update to latest version even though it's a no-op for us
(change is for compilation on Haiku) because otherwise uscan (and
folks who don't check changelogs for relevant changes) will complain.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
gitweb is missing a dependencies on perlbase-filetest and
perlbase-storable. It fails to start without these packages.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Otherwise one gets a failure if the libraries (e.g. Python
header file) exist in the build system. Worse in some cases
is host headers being found if one doesn't specifically
disable a library search in autotools. It is especially
important that Python is disabled by default.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Current dropbear is sufficient for gitolite purposes, so don't
require openssh (we don't do a dependency on either dropbear or
openssh as they are not yet drop-in replacements in terms of
packaging for the functions shared between them). To achieve
tihs we also eliminate the dependency on ssh-keygen. Previously
gitolite used ssh-keygen to generate fingerprints from OpenSSH
keys to ensure non-duplication of keys when processing them to
create / manage user ssh access to the git repositories.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Small but important tweaks to fix the operation of the nut initscripts
and hotplug scripts. All hail shellcheck and proofreading and
dogfooding.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Some programs that use the Python C API have difficulties finding
cross-compiled Python3 without the pkgconfig, so make sure we have
python3.pc and python-3.7.pc in pkgconfig staging dir.
CircleCI requires a package Makefile change to actually
do the CI check, so bump PKG_RELEASE.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
bcrypt is a secure password hashing mechanism and is
extremely useful for more secure Radicale authentication,
so add it.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Radicale 2.x adds support for many new clients,
bug-fixes, etc so add v2 of this application.
We do it as a separate package for those not
ready to switch (it's not an straight inplace
upgrade from 1.x).
We do however CONFLICT with 1.x as they can't
be run side-by-side on the same host (without
containers for somesuch).
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Under certain circumstances nutshutdown was causing a forced
shutdown of the UPS even though killpower was not indicated.
Prevent that. Also clarify the logic for powering off server
by avoiding && || chains.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Update the packaging to use the generic bits by @commodo.
Radicale 2.x requires Python3 and python-dateutils, so
build for Python3 as well.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Lbrary for vCard and vCalendar support for Python{3}.
vobject is used by Radicale2 so add it.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Fix a crashloop under procd when attempting to bind
to any address when no interfaces are yet available.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Use the new ALTERNATIVES mechanism to fix installation conflict
against busybox find and xargs. Also add myself back as maintainer
since folks seem to be asking me anyway.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
PKG_SOURCE_DIR and PKG_BUILD_DIR are just the default, so remove them
from the gitolite Makefile
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
There have been a couple of point releases, so pull in those changes.
Also codeload seems to be preferred to git tarballs when using github, so
switch to codeload.
Finally, fix a typo in project URL.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
One local removal was missed in last push of this fix, so
in certain circumstances upsd would run as root even when
it shouldn't.
Fixes f48b060fa7 ("nut: Fix upsd runs as root")
Closes: #6697 (properly)
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Update the commented out settings in /etc/config/nut_server that
shows the available sections with their default settings.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
There was a cut & paste error in the handling of 'other'
variables (i.e. driver variables not specifically known
to the package but which some users may require to be add).
There was also a logic error from not switching sufficient
after cut & paste.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Handling of driver variable defaults, overrides, and additional
(other) variables changed and left behind some extraneous
config reads (config_get and config_list_foreach). Remove those.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
When using serial-port based UPSes with NUT, it is handy to be able to
configure a USB serial port to have be set tot the NUT runas user, so
that NUT can access the serial port automagically.
Closes#6997
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Closes#6997 - Allows upsd to runas a non-privileged user.
If any driver is running as non-privileged user, the last driver's
user will be used as the server non-privileged user, otherwise the
user specified in config upsd, otherwise nut. Previously the
localisation of RUNAS variable was in the wrong locations.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Avoid specifying variables that are not specificy set in order to avoid breaking
drivers for which those variables do not exist. Closes: #7096.
As part of these fixes make sure we have all the variables we need. Closes: #7001.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Various path and permissions fixes to properly allow nut-server and nut-monitor to
start properly.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Serial drivers don't add much to main NUT and appear to be common,
so make it possible for users to use NUT with serial UPS drivers without
a custom build.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
The mechanism for making sure hotplug doesn't execute during forced shutdown
was interfering with initial start of hotplug script due to checking for path
that doesn't exist at initial start. This fixes that and closes#6966.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Leading zeroes left in ProductId results in some UPS hardware not being matched
by the hotplug script lead to bad permissions and driver not starting.
Closes: #6966
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Avoid potential issues with space or other strangeness by
quoting filenames through the initscripts.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
The source code has multiple licenses so update SPD-X header.
NB: The previously unlisted licenses are not applicable to parts
actually built in any configuration for OpenWrt, but rather to
unused (by us) source code.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
We're using --without-wrap unconditionally anyway, so this legacy
dependency needs to be removed.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Instead of making POWERDOWNFLAG an uci option the user can
only change it via initscript edits. This avoids chance for users
to miss the required change to nut-driver when setting an UCI option
for nut-monitor which results in failure to do FSD on the UPS.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
By default use a non-privileged user that is different than
the server or driver (when they are running non-privileged).
This is recommended by upstream.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Even though nut-cgi doesn't run a daemon, using procd triggers
is helpful for updating the generated config file when the
UCI config changes. So implement this and 'modernize' nut-cgi initscript
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Forced shutdown of the UPS was not actually happening before
due to lack of specific commands doing the shutdown. This
(and the nut-driver initscript) fix that.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
This fully procdifies nut-monitor, which fixes some issues with
very slow restarts (due to /lib/functions/procd.sh using a very
long delay for non-native scripts doing restart) as well as gives
respawning, etc.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
usbhid-ups has the necessary information in the source, so
let's support USB hotplugging out of the box. Takes advantage of
the procd support now in nut-server initscript.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Clarify the different between the common nut-driver portions of
nut-server and the nut-server (upsd) proper. nut-driver can't
be used without nut-server so there is no compelling reason
to split into a separate package, but the reorganization makes
such a move easier and makes it clear what each bit is for.
While we continue to use a single initscript, it's a properly
procdified one which handles the upsd daemon as a different
instance than the driver instances. This resolves a race
condition in which upsd and drivers fail to start do to
a degree of interdepedence.
Also properly 'procd'ifies the nut-server initscript.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
We want to include the symlinks to the generated configurations
in conffiles so that if the user replaces them symlinks with
traditional NUT configuration it is preserved across sysupgrade.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
We move dovecot libexec binaries and modules (including the package
pigeonhole) to their standard locations. This is okay for libexec
because it was added to core prior to 17.04 release. Moving the
binaries normally in libexec eliminates the reason the modules were in an
unusual directory, which is that there were conflicts with
libexec binaries that were in lib, which the modules normally use.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
When trying to use managesieve my MUA complained sieve wasn't supported.
On investigation dovecot logs the following could be seen:
Aug 16 00:28:44 managesieve-login: Fatal: master:
service(managesieve-login): child 1430 returned error 127
Aug 16 00:31:32 managesieve-login: Error: Error loading shared
library libdovecot-login.so.0: No such file or directory
(needed by /usr/lib/dovecot/managesieve-login)
Aug 16 00:31:32 managesieve-login: Error: Error loading
shared library libdovecot.so.0: No such file or directory
(needed by /usr/lib/dovecot/managesieve-login)
Aug 16 00:31:32 managesieve-login: Error: Error relocating
/usr/lib/dovecot/managesieve-login: net_ip2addr: symbol not found
The issue (verified with readelf on non-working build and build with my fix)
is that there is no RPATH information in the pigeonhole binaries (like
managesieve-login).
The dovecot-config that is 'installed' in the staging dir
assumes that plugins will be built on the same host as the installed files.
The 'installed' dovecot-config (partial) looks like:
LIBDOVECOT='-L/usr/lib/dovecot -ldovecot'
LIBDOVECOT_LOGIN='-ldovecot-login -L/home/user/Build/openwrt/openwrt-ath79/staging_dir/target-mips_24kc_musl/usr/lib -lssl -lcrypto'
LIBDOVECOT_SQL=-ldovecot-sql
LIBDOVECOT_COMPRESS=-ldovecot-compression
LIBDOVECOT_LDA=-ldovecot-lda
LIBDOVECOT_STORAGE='-ldovecot-storage '
LIBDOVECOT_DSYNC=-ldovecot-dsync
LIBDOVECOT_LIBFTS=-ldovecot-fts
The solution I used was to modify dovecot-config to add the rpath to
DOVECOT_BINARY_LDFLAGS, and to replace references to host directories
with staging_dir directories.
This results in RPATH being added as it needs to be, and results in a working
version of dovecot+pigeonhole.
NB: I've also touched package version of pigeonhole as this change in dovecot
results in (needed) binary changes for pigeonhole.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
In the description point to installation guide on OpenWrt Wiki to
make it easier for new users to find and to understand how to use
gitolite on OpenWrt.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
The user defined in order to own and admin gitolite directories needs
to not be expired else logins such SSH access will not be allowed for
that user. So we unexpire user git by default.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>