On 2021/10/11 19:24, Sergey A. Osokin wrote: > On Wed, Oct 06, 2021 at 03:30:08AM +0000, Sergey A. Osokin wrote: > > On Wed, Sep 22, 2021 at 08:49:06PM +0100, Stuart Henderson wrote: > > > On 2021/09/22 13:34, Sergey A. Osokin wrote: > > > > On Fri, Sep 17, 2021 at 03:20:16PM +0000, Sergey A. Osokin wrote: > > > > > > > > P.S. Yes, I know you're busy with a preparation to the upcoming 7.0 > > > > and it's good time for fixes and probably not a best time for new > > > > ports, but I want to let you know that www/unit builds very well > > > > with new and shiny 7.0 yesterday snapshot. > > > > > > yes, it's been no new imports for a week already. > > > I will have a look again when I have time. > > > > Seems like a liveness probe returns a positive signal after the > > ports change freeze for the upcoming 7.0. > > Is there any update? > > Could you please provide an update. > Thank you. > > -- > Sergey Osokin
Hi Sergey. Updated version attached, A few notes on my changes, there are probably some others too but this is what I remember: - reduce unnecessary variables, the UNIT_xxx were only used to pass to configure and create directories in fake-install. The directory creation is pointless, so I dropped the variables and passed directly to configure. - move libexec to lib. openbsd standard use for libexec is for executables invoked by some software. other similar ports use lib for plugin modules. - /var/run and tmp are cleared at boot so must be created by the rc script, I added rc_pre. there is no point including them in the package because it gives a false sense that things will work after boot. - tidy dependencies - use a valid uid for @newuser/@newgroup lines - enable tests A couple of issues remain: - ruby linkage looks a bit wrong, but I think that's on the ruby side not the unit side. the NEEDED ELF header in unit's ruby module is set to just "libruby30.so" and not "libruby30.so.0.0", I think this is probably due to the symlink in /usr/local/lib/libruby30.so -> libruby30.so.0.0 and/or lack of SONAME in libruby30. Maybe another porter has an idea what to do with this though I think it's probably not a show-stopper.. - rc script nearly duplicates the standard rc_stop section but adds -QUIT instead of using the default (-TERM). currently the two singals do the same in unit anyway but comments suggest it is intended for a graceful shutdown (not yet implemented). I don't think that will work very well with rc.d anyway (rcctl restart will wait for shutdown, so you either use 'fast shutdown' and kill active connections, or use 'graceful' and have a gap while you stop accepting new connections while draining old). So I think it might be better to drop the rc_stop function. Other than those, it builds and starts ok, I have run out of patience trying to figure out how to configure to test runtime myself though (I was looking for a simple static-file config but there is nothing obvious). However the tests that I've enabled look promising (a couple of F/E in test_perl_application.py and test_respawn.py, and a couple of TLS-related ones, looks fairly minor).
unit.tgz
Description: application/tar-gz