In the past, OpenRC was a hybrid of a centralized and file-scope license/copyright structure. I followed the instructions from the Software Freedom Law Center [1] to convert to a Centralized structure where possible, for easier future maintenance. [1] https://softwarefreedom.org/resources/2012/ManagingCopyrightInformation.html
		
			
				
	
	
		
			100 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
.\" Copyright (c) 2007-2015 The OpenRC Authors.
 | 
						|
.\" See the Authors file at the top-level directory of this distribution and
 | 
						|
.\" https://github.com/OpenRC/openrc/blob/master/AUTHORS
 | 
						|
.\"
 | 
						|
.\" This file is part of OpenRC. It is subject to the license terms in
 | 
						|
.\" the LICENSE file found in the top-level directory of this
 | 
						|
.\" distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
 | 
						|
.\" This file may not be copied, modified, propagated, or distributed
 | 
						|
.\"    except according to the terms contained in the LICENSE file.
 | 
						|
.\"
 | 
						|
.Dd Mar 16, 2008
 | 
						|
.Dt RC_DEPTREE 3 SMM
 | 
						|
.Os OpenRC
 | 
						|
.Sh NAME
 | 
						|
.Nm rc_deptree_update , rc_deptree_update_needed , rc_deptree_load ,
 | 
						|
.Nm rc_deptree_depend , rc_deptree_depends , rc_deptree_order ,
 | 
						|
.Nm rc_deptree_free
 | 
						|
.Nd RC dependency tree functions
 | 
						|
.Sh LIBRARY
 | 
						|
Run Command library (librc, -lrc)
 | 
						|
.Sh SYNOPSIS
 | 
						|
.In rc.h
 | 
						|
.Ft bool Fn rc_deptree_update void
 | 
						|
.Ft bool Fn rc_deptree_update_needed void
 | 
						|
.Ft RC_DEPTREE Fn rc_deptree_load void
 | 
						|
.Ft "RC_STRINGLIST *" Fo rc_deptree_depend
 | 
						|
.Fa "const RC_DEPTREE *deptree"
 | 
						|
.Fa "const char *type"
 | 
						|
.Fa "const char *service"
 | 
						|
.Fc
 | 
						|
.Ft bool Fo rc_deptree_depends
 | 
						|
.Fa "const RC_DEPTREE *deptree"
 | 
						|
.Fa "const char *const *types"
 | 
						|
.Fa "const char *const *services"
 | 
						|
.Fa "const char *runlevel"
 | 
						|
.Fa "int options"
 | 
						|
.Fc
 | 
						|
.Ft "RC_STRINGLIST *" Fo rc_deptree_order
 | 
						|
.Fa "const RC_DEPTREE *deptree"
 | 
						|
.Fa "const char *runlevel"
 | 
						|
.Fa "int options"
 | 
						|
.Fc
 | 
						|
.Ft void Fn rc_deptree_free "RC_DEPTREE *deptree"
 | 
						|
.Sh DESCRIPTION
 | 
						|
These functions provide a means of querying the dependencies of OpenRC
 | 
						|
services.
 | 
						|
.Pp
 | 
						|
.Fn rc_deptree_update
 | 
						|
updates the service dependency tree, normally
 | 
						|
.Pa /lib/rc/init.d/deptree .
 | 
						|
.Fn rc_deptree_update_needed
 | 
						|
checks to see if the dependency tree needs updated based on the mtime of it
 | 
						|
compared to
 | 
						|
.Pa /etc/init.d ,
 | 
						|
.Pa /etc/conf.d ,
 | 
						|
.Pa /usr/local/etc/init.d ,
 | 
						|
.Pa /usr/local/etc/conf.d ,
 | 
						|
.Pa /etc/rc.conf
 | 
						|
and any files specified by a service.
 | 
						|
.Pp
 | 
						|
.Fn rc_deptree_load
 | 
						|
loads the deptree and returns a pointer to it which needs to be freed by
 | 
						|
.Fn rc_deptree_free
 | 
						|
when done.
 | 
						|
.Pp
 | 
						|
.Fn rc_deptree_depend ,
 | 
						|
.Fn rc_deptree_depends
 | 
						|
and
 | 
						|
.Fn rc_deptree_order
 | 
						|
return a list of services from the
 | 
						|
.Fa deptree
 | 
						|
based on the
 | 
						|
.Fa type
 | 
						|
or
 | 
						|
.Fa types
 | 
						|
of dependency.
 | 
						|
.Fa options
 | 
						|
can be a bitmask of
 | 
						|
.Va RC_DEP_TRACE
 | 
						|
and
 | 
						|
.Va RC_DEP_STRICT .
 | 
						|
.Va RC_DEP_TRACE
 | 
						|
follows each services dependencies right down to the first service needed and
 | 
						|
.Va RC_DEP_STRICT
 | 
						|
only lists services actually needed or in the
 | 
						|
.Va runlevel .
 | 
						|
.Sh IMPLEMENTATION NOTES
 | 
						|
Each function that returns
 | 
						|
.Fr "RC_STRINGLIST *"
 | 
						|
should be freed by calling
 | 
						|
.Fn rc_stringlist_free
 | 
						|
when done.
 | 
						|
.Sh SEE ALSO
 | 
						|
.Xr malloc 3 ,
 | 
						|
.Xr free 3 ,
 | 
						|
.Xr rc_stringlist_free 3 ,
 | 
						|
.Xr openrc-run 8
 | 
						|
.Sh AUTHORS
 | 
						|
.An Roy Marples <roy@marples.name>
 |