Bug 234627

Summary: devel/py-buildbot-worker: Fails to startup on boot: /etc/rc: Permission denied (due to use of $0)
Product: Ports & Packages Reporter: Kubilay Kocak <koobs>
Component: Individual Port(s)Assignee: Kubilay Kocak <koobs>
Status: Open ---    
Severity: Affects Only Me Flags: koobs: merge-quarterly?
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
See Also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=234614
Bug Depends on: 234614    
Bug Blocks:    

Description Kubilay Kocak freebsd_committer freebsd_triage 2019-01-05 02:13:17 UTC
In ports r484380 I switched from using %%PREFIX%%/etc/${name} to $0 in the rc script for the profile mechanism, in order to:

    Fix startup script to use the filename of itself (the executed script),
    not a filename that uses the ${name} variable, which doesnt exist as it
    contains an underscore (not a dash), causing the following error when
    executed:

    /usr/local/etc/rc.d/buildbot-worker: /usr/local/etc/rc.d/buildbot_worker:
not found

I forgot that using $0 causes issues on boot, as $0 is not the rc scripts filename when run via /etc/rc, it is 'etc/rc' instead.

After talking with Kyle about correct/permanent solutions to the issue, bug 234614 now tracks a new feature in rc to provide a variable for scripts to use to self-reference themselves for profile or other mechanisms. 

I'll wait until that feature is finalised, and plug in (copy) the same functionality for temporary use directly in this ports rc script, until all supported FreeBSD versions carry the new feature.