Bug 254620

Summary: www/minio rc.d script
Product: Ports & Packages Reporter: me
Component: Individual Port(s)Assignee: Steve Wills <swills>
Status: Closed FIXED    
Severity: Affects Some People Flags: bugzilla: maintainer-feedback? (swills)
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   

Description me 2021-03-28 00:21:01 UTC
Service script /usr/local/etc/rc.d/minio needs a REQUIRE line at the top.  
I run minio in a jail and when the jail is restarted, minio does not start due to the network not being available until later in the process.  In my specific case, my jails use VNET with synchronous DHCP.  Once the jail is running, I shell into it and start it manually.
I haven't fully investigated yet, so not sure what exactly is required, but using "# REQUIRE: DAEMON NETWORKING" worked.
Comment 1 commit-hook freebsd_committer 2021-08-28 18:16:15 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=8665fd05ad01bf4315568c9182f150ace80adf5b

commit 8665fd05ad01bf4315568c9182f150ace80adf5b
Author:     Steve Wills <swills@FreeBSD.org>
AuthorDate: 2021-08-28 18:13:46 +0000
Commit:     Steve Wills <swills@FreeBSD.org>
CommitDate: 2021-08-28 18:15:55 +0000

    www/minio: update to 2021.

    While here, add missing keyword to rc script [1]

    PR:             254620 [1]
    Reported by:    me@peeyushsingh.com [1] and otis

 www/minio/Makefile                                 | 221 +++++++----
 www/minio/distinfo                                 | 422 ++++++++++++++-------
 www/minio/files/minio.in                           |  12 +-
 ...ub.com_minio_mc_pkg_disk_stat__freebsd.go (new) |  20 +
 www/minio/pkg-message (new)                        |   8 +
 5 files changed, 458 insertions(+), 225 deletions(-)
Comment 2 Steve Wills freebsd_committer 2021-08-28 18:19:31 UTC
Fix committed, thanks!
Comment 3 me 2021-08-29 04:47:29 UTC
Sweet, thanks! :)  
Though the port build is currently failing for me with the following:  
[00:00:30] => Attempting to fetch https://codeload.github.com/emicklei/go-restful/tar.gz/v2.9.5?dummy=/emicklei-go-restful-v2.9.5_GH0.tar.gz
[00:00:30] fetch: https://codeload.github.com/emicklei/go-restful/tar.gz/v2.9.5?dummy=/emicklei-go-restful-v2.9.5_GH0.tar.gz: size unknown
[00:00:30] fetch: https://codeload.github.com/emicklei/go-restful/tar.gz/v2.9.5?dummy=/emicklei-go-restful-v2.9.5_GH0.tar.gz: size of remote file is not known
[00:00:30] emicklei-go-restful-v2.9.5_GH0.tar.gz                   63 kB  535 kBps    00s
[00:00:30] => etcd-io-etcd-v3.5.0-beta.4_GH0.tar.gz doesn't seem to exist in /portdistfiles/minio.
[00:00:30] => Attempting to fetch https://codeload.github.com/etcd-io/etcd/tar.gz/v3.5.0-beta.4?dummy=/etcd-io-etcd-v3.5.0-beta.4_GH0.tar.gz
[00:00:30] fetch: 4020118: No such file or directory
[00:00:30] fetch: 4020118: No such file or directory
[00:00:31] fetch: https://codeload.github.com/etcd-io/etcd/tar.gz/v3.5.0-beta.4?dummy=/etcd-io-etcd-v3.5.0-beta.4_GH0.tar.gz: size unknown
[00:00:31] fetch: https://codeload.github.com/etcd-io/etcd/tar.gz/v3.5.0-beta.4?dummy=/etcd-io-etcd-v3.5.0-beta.4_GH0.tar.gz: size of remote file is not known
[00:00:31] etcd-io-etcd-v3.5.0-beta.4_GH0.tar.gz                 3925 kB 2669 kBps    01s
[00:00:32] => Attempting to fetch http://distcache.FreeBSD.org/ports-distfiles/minio/etcd-io-etcd-v3.5.0-beta.4_GH0.tar.gz
[00:00:32] fetch: 4020118: No such file or directory
[00:00:32] fetch: 4020118: No such file or directory
[00:00:32] fetch: http://distcache.FreeBSD.org/ports-distfiles/minio/etcd-io-etcd-v3.5.0-beta.4_GH0.tar.gz: Not Found
[00:00:32] => Couldn't fetch it - please try to retrieve this
[00:00:32] => port manually into /portdistfiles/minio and try again.
[00:00:32] *** Error code 1
[00:00:32] Stop.
[00:00:32] make: stopped in /usr/ports/www/minio
[00:00:33] =>> Cleaning up wrkdir
[00:00:36] ===>  Cleaning for minio-2021.
[00:00:37] build of www/minio | minio-2021. ended at Sat Aug 28 22:21:42 EDT 2021
[00:00:37] build time: 00:00:37
[00:00:37] !!! build failure encountered !!!

Not sure if that's an issue with my environment or if it's due to the most recent commit to the port. Will check it further tomorrow or day after. From the initial looks of it though, it seems to get the first few from codeland.github.com fine, but then tries to get something from distcache.freebsd.org and fails. Not sure if it's an upstream issue or an issue with how the dependencies are extracted into the Makefile.
Comment 4 commit-hook freebsd_committer 2021-08-29 15:01:11 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=71cc3204ef786e261b07e7c258bfbd04efefd1f7

commit 71cc3204ef786e261b07e7c258bfbd04efefd1f7
Author:     Steve Wills <swills@FreeBSD.org>
AuthorDate: 2021-08-29 14:59:20 +0000
Commit:     Steve Wills <swills@FreeBSD.org>
CommitDate: 2021-08-29 15:00:37 +0000

    www/minio: fix fetch

    PR:                     254620
    Reported by:            me@peeyushsingh.com

 www/minio/distinfo | 4 ----
 1 file changed, 4 deletions(-)
Comment 5 Steve Wills freebsd_committer 2021-08-29 15:02:11 UTC
Fix committed, sorry about that. In the future, please open new bugs for new issues, it makes things less confusing. And watch out for the new config in this new version.
Comment 6 me 2021-08-30 19:11:23 UTC
(In reply to Steve Wills from comment #5)

My bad, will keep it in mind for next time :)  
I'm putting this specific comment here since it's directly related to the REQUIRE rc.d keyword(s). Let me know if you want me to create a new one for it.  
I just did a quick refresher read on the man page for rc.d(8). It looks like just one of either NETWORKING, SERVERS, or DAEMON is required here.  Which one to go with for a service like Minio, I'm not sure.  NETWORKING is probably the right one, but I can see SERVERS or DAEMON if something like bucket notifications are needed (though I think Minio can be configured to retry those?).  
Anyway, not a huge deal.  Just optional cleanup to make it stick more to rc conventions.
Comment 7 Steve Wills freebsd_committer 2021-08-30 20:02:46 UTC
(In reply to me from comment #6)
Yeah, good point. Probably just DAEMON is right. I'll do that for next time.