diff options
| author | Laurent Bercot <ska-skaware@skarnet.org> | 2026-01-24 16:17:39 +0000 |
|---|---|---|
| committer | Laurent Bercot <ska-skaware@skarnet.org> | 2026-01-24 16:17:39 +0000 |
| commit | 7551c712d73f1d07f6dec2c9b8183a43204f4aa5 (patch) | |
| tree | c219efcd39d6a5ef72bf3cef2898f04b41cfb25f | |
| parent | b71b06951c8f9250f87a16cd1e60b2d779bfcfff (diff) | |
| download | s6-rc-7551c712d73f1d07f6dec2c9b8183a43204f4aa5.tar.gz | |
Rename "sub" to "prescription"
32 files changed, 231 insertions, 247 deletions
diff --git a/doc/repodefs.html b/doc/repodefs.html index 8a8a6a9..1f8fb6d 100644 --- a/doc/repodefs.html +++ b/doc/repodefs.html @@ -51,9 +51,7 @@ simply because they manage a <em>repository</em> of services. <h2> Definitions </h2> -<div id="store"> -<h3> Store </h3> -</div> +<h3 id="store"> Store </h3> <p> <em> Store: place where service definitions are stored </em> @@ -81,9 +79,7 @@ an administrator could be <tt>/etc/s6-rc/sources</tt>. </p> -<div id="repository"> -<h3> Repository </h3> -</div> +<h3 id="repository"> Repository </h3> <p> <em> Repository: place in the filesystem where the repo commands work, @@ -118,9 +114,7 @@ instance, what non-root users would do in order to manage their own sets of services. </p> -<div id="refdb"> -<h3> Reference database </h3> -</div> +<h3 id="refdb"> Reference database </h3> <p> <em>Reference database: the dependency graph between all the services @@ -140,9 +134,7 @@ the unions of all the stores is consistent: if not, the initialization fails, so the problem is reported as early as possible. </p> -<div id="set"> -<h3> Set </h3> -</div> +<h3 id="set"> Set </h3> <p> <em> Set: a set of services with all the states the user wants them @@ -156,9 +148,8 @@ and what users will interact the most with. A set contains all the services defined in the <a href="#refdb">reference database</a> (so, each service listed in all the <a href="#store">stores</a> used by the repository) and associates, to each service, a given state that the user -wants this service to be in when the system boots. This target state is also -called a <a href="#sub">sub</a>, because target states are implemented by -subdirectories of the directory holding a set. +wants this service to be in when the system boots. This target state is +called a <a href="#rx">prescription</a>, or rx for shirt. </p> <p> @@ -169,17 +160,15 @@ target states are reachable. When satisfied with the states, the user can <a href="#commit">commit</a> the set, then <a href="#install">install</a> it. </p> -<div id="sub"> -<h3> Subs </h3> -</div> +<h3 id="rx"> Prescriptions </h3> <p> - <em> Sub: the state the user wants a service to reach at boot time. </em> + <em> Prescription (or rx): the state the user wants a service to reach at boot time. </em> </p> <p> - A <em>sub</em> is the target state for every service in a set. At all times, -each service is in one and only one sub. The list of subs the service can be in + A <em>prescription</em> is the target state for every service in a set. At all times, +each service is in one and only one rx. The list of rxs the service can be in is the following: </p> @@ -187,7 +176,7 @@ is the following: <li> <em>masked</em>: when the set is committed, masked services <em>will not</em> be included in the compiled set database. They will be completely absent; if the set database is installed, <a href="s6-rc.html">s6-rc</a> will not know them. -A service in another sub cannot depend on a masked service. Users typically mask +A service in another rx cannot depend on a masked service. Users typically mask services that are included in a store but are superfluous to them, services they just do not want to interact with. </li> <li> <em>disabled</em>: these services will appear in the compiled set database, @@ -202,20 +191,18 @@ Other names for <em>enabled</em> are: <em>active</em>. </li> <li> <em>essential</em>, aka <em>always</em>: these services have been marked as essential in their source definition directories, so they will always be enabled. They cannot be disabled or masked. They cannot depend on non-essential -services. This sub is typically used by early boot services that should always +services. This rx is typically used by early boot services that should always run. </li> </ul> <p> - Working on a set basically means moving services from one of these subs to + Working on a set basically means moving services from one of these rxs to another, mostly choosing what services to enable or disable, and sometimes masking services the user does not want to see at all. Once the user is happy with a set, they should commit it. </p> -<div id="commit"> -<h3> Commit </h3> -</div> +<h3 id="commit"> Commit </h3> <p> <em>Committing</em> a set means assembling a subset of all the source @@ -224,9 +211,7 @@ definition directories in the set and compiling them into a set. This set database can then be <em>installed</em>. </p> -<div id="install"> -<h3> Install </h3> -</div> +<h3 id="install"> Install </h3> <p> <em>Installing</em> a committed set means copying the compiled set @@ -278,14 +263,14 @@ here. </li> <li> <strong>Whenever the admin wants to customize their startup process</strong>: <ul> - <li> They can create new sets (with default subs coming from policy that's + <li> They can create new sets (with default prescriptions coming from policy that's hardcoded in the stores) with <a href="s6-rc-set-new.html">s6-rc-set-new</a>, make a copy of an existing set with <a href="s6-rc-set-copy.html">s6-rc-set-copy</a>, or delete sets with <a href="s6-rc-set-delete.html">s6-rc-set-delete</a>. </li> <li> They can list the existing sets with <a href="s6-rc-repo-list.html">s6-rc-repo-list</a>. </li> <li> They can mask, unmask, enable or disable services in their favorite set with <a href="s6-rc-set-change.html">s6-rc-set-change</a>. </li> - <li> They can check the list of services and their subs with + <li> They can check the list of services and their prescriptions with <a href="s6-rc-set-status.html">s6-rc-set-status</a>. </li> <li> They can check for inconsistencies and fix them with <a href="s6-rc-set-fix.html">s6-rc-set-fix</a>. </li> @@ -302,9 +287,8 @@ commands are involved. </li> </ul> <p> - Note that all these steps will be made easier in the near future by the higher-level -user interface provided by -<a href="s6-frontend.html">s6-frontend</a>. + All these steps can be done manually, but they are made easier by the higher-level +user interface provided by <a href="s6-frontend.html">s6-frontend</a>. </p> </body> diff --git a/doc/s6-rc-db.html b/doc/s6-rc-db.html index 564ee59..97c4afe 100644 --- a/doc/s6-rc-db.html +++ b/doc/s6-rc-db.html @@ -233,13 +233,13 @@ bundle). It means the service cannot be downed by normal means: <code>s6-rc -d change <em>atomicname</em></code> will not work, the <tt>-D</tt> option to s6-rc is needed. Additionally, when importing <em>atomicname</em> in a <a href="repodefs.html#set">set</a>, -it will automatically be put in the <tt>always</tt> sub, which means +it will automatically be put in the <tt>always</tt> rx, which means it will always be enabled by default. </li> <li> Bit 1 is set if there's a <tt>flag-recommended</tt> file in the source directory (or if the "essential" flag was inherited from a bundle). When importing <em>atomicname</em> in a <a href="repodefs.html#set">set</a>, -it will automatically be put in the <tt>active</tt> sub rather than the +it will automatically be put in the <tt>active</tt> rx rather than the <tt>latent</tt> one: unless the user actively makes a change before committing the set, <em>atomicname</em> will be in the default bundle and be started at boot time. </li> diff --git a/doc/s6-rc-repo-sync.html b/doc/s6-rc-repo-sync.html index cc2501b..9fb74ca 100644 --- a/doc/s6-rc-repo-sync.html +++ b/doc/s6-rc-repo-sync.html @@ -43,9 +43,9 @@ and synchronizes them with the services in all the stores: <li> If a service doesn't appear in the stores, it is removed from all sets. </li> <li> If a new service is defined in the stores, it is added to all sets. Services with the <em>essential</em> flag are added to the <tt>always</tt> -<a href="repodefs.html#sub">sub</a>; services with -the <em>recommended</em> flag are added to the <tt>active</tt> sub; others are added -to the <tt>usable</tt> sub. </li> +<a href="repodefs.html#rx">rx</a>; services with +the <em>recommended</em> flag are added to the <tt>active</tt> rx; others are added +to the <tt>usable</tt> rx. </li> </ul> </li> <li> It exits 0. </li> </ul> diff --git a/doc/s6-rc-set-change.html b/doc/s6-rc-set-change.html index 3a718c4..8d0b13a 100644 --- a/doc/s6-rc-set-change.html +++ b/doc/s6-rc-set-change.html @@ -5,7 +5,7 @@ <meta http-equiv="Content-Language" content="en" /> <title>s6-rc: the s6-rc-set-change program</title> <meta name="Description" content="s6-rc: the s6-rc-set-change program" /> - <meta name="Keywords" content="s6-rc s6-rc-set-change repo set sub change services" /> + <meta name="Keywords" content="s6-rc s6-rc-set-change repo set rx change services" /> <!-- <link rel="stylesheet" type="text/css" href="//skarnet.org/default.css" /> --> </head> <body> @@ -20,18 +20,18 @@ <p> s6-rc-set-change modifies a <a href="repodefs.html#set">set</a> by changing -the <a href="repodefs.html#sub">sub</a> of some services. +the <a href="repodefs.html#rx">rx</a> of some services. </p> <h2> Interface </h2> <pre> - s6-rc-set-change [ -v <em>verbosity</em> ] [ -r <em>repo</em> ] [ -E | -e ] [ -f | -I fail|pull|warn ] [ -n ] <em>set</em> <em>newsub</em> <em>services...</em> + s6-rc-set-change [ -v <em>verbosity</em> ] [ -r <em>repo</em> ] [ -E | -e ] [ -f | -I fail|pull|warn ] [ -n ] <em>set</em> <em>newrx</em> <em>services...</em> </pre> <ul> <li> s6-rc-set-change operates on <a href="repodefs.html#set">set</a> <em>set</em> in <a href="repodefs.html#repository">repository</a> <em>repo</em>. </li> - <li> It attempts to move all the services listed in <em>services...</em> into <a href="repodefs.html#sub">sub</a> <em>newsub</em>. </li> + <li> It attempts to move all the services listed in <em>services...</em> into <a href="repodefs.html#rx">rx</a> <em>newrx</em>. </li> <li> It exits 0. </li> </ul> @@ -49,19 +49,19 @@ error messages will be written, and 2 or more adds informational messages. </dd> </dd> <dt> -E, --no-force-essential </dt> - <dd> If a service needs to be moved to/from the <tt>always</tt> sub, fail and report + <dd> If a service needs to be moved to/from the <tt>always</tt> rx, fail and report an error. This is the default. Services marked as <em>always</em> are normally defined in the stores with <tt>flag-essential</tt>, and inconsistencies between essential services should be resolved in the stores. </dd> <dt> -e, --force-essential </dt> - <dd> Move services to/from the <tt>always</tt> sub if they need to be. This option + <dd> Move services to/from the <tt>always</tt> rx if they need to be. This option should only be used temporarily until the store inconsistency is fixed. Be aware that moving a service from <em>always</em> to <em>usable</em> or <em>masked</em> may result in an unbootable set. </dd> <dt> -f, --ignore-dependencies </dt> - <dd> Change <em>services...</em> to <em>newsub</em>, but do not change any other + <dd> Change <em>services...</em> to <em>newrx</em>, but do not change any other services, even if the dependency graph would normally mandate it. This may result in an inconsistent set that you cannot commit. </dd> </dl> @@ -69,7 +69,7 @@ in an inconsistent set that you cannot commit. </dd> <dt> -I <em>action</em>, --if-dependencies-found=<em>action</em> </dt> <dd> Determine what to do if a dependency would make the set inconsistent. For instance, if service <tt>A</tt> depends on service <tt>B</tt>, they are both -in the <tt>latent</tt> sub, and you are trying to change <tt>A</tt> to <tt>active</tt> +in the <tt>latent</tt> rx, and you are trying to change <tt>A</tt> to <tt>active</tt> without mentioning <tt>B</tt>, this would not work: in order to be brought up at boot time, <tt>A</tt> would first need <tt>B</tt> to also be brought up at boot time, so <tt>A</tt> can only be <tt>active</tt> if <tt>B</tt> also is. In that situation, @@ -78,7 +78,7 @@ what s6-rc-set-change does depends on the value of <em>action</em>: <li> <tt>fail</tt>: print an error message and exit 1. </li> <li> <tt>warn</tt>: print a warning message and proceed. This is the default. </li> <li> <tt>pull</tt>: print a warning message and pull the dependencies of -<em>services...</em> into <em>newsub</em>. (Or the reverse dependencies, if +<em>services...</em> into <em>newrx</em>. (Or the reverse dependencies, if you're trying to disable or mask services. </li> </ul> The warning messages are not printed if <em>verbosity</em> is 0. </dd> @@ -92,7 +92,7 @@ appropriate, but do not perform the actual modifications. </dd> <dl> <dt> 0 </dt> <dd> Success. </dd> <dt> 1 </dt> <dd> <tt>-I fail</tt> was given and dependencies prevented <em>services...</em> -from being changed to <em>newsub</em>. </dd> +from being changed to <em>newrx</em>. </dd> <dt> 3 </dt> <dd> A service in <em>services...</em> was not found in the reference database. </dt> <dt> 4 </dt> <dd> Invalid or corrupted reference database. </dd> <dt> 100 </dt> <dd> Incorrect usage. </dd> diff --git a/doc/s6-rc-set-commit.html b/doc/s6-rc-set-commit.html index a331d00..e1200a2 100644 --- a/doc/s6-rc-set-commit.html +++ b/doc/s6-rc-set-commit.html @@ -37,7 +37,7 @@ directory with them. It includes all the bundles defined in the <a href="repodef as none of the atomic services composing a bundle is masked. If any service in a bundle is masked, the bundle does not appear in the database. </li> <li> It makes an additional bundle, <em>defaultbundle</em>, based on the -services' <a href="repodefs.html#sub">subs</a>: +services' <a href="repodefs.html#rx">rxs</a>: <ul> <li> If a service is <em>masked</em>, it will not appear in the database at all, and neither will any bundle it's a part of. </li> @@ -107,7 +107,7 @@ change to the source version, s6-rc-set-commit notices it and does nothing. </dd <ul> <li> s6-rc-set-commit is essentially a wrapper around <a href="s6-rc-compile.html">s6-rc-compile</a>, that translates a user-oriented view of services ("which services do I want available, and -which do I want started at boot time?"), implemented via subs, into the source format for +which do I want started at boot time?"), implemented via rxs, into the source format for <a href="s6-rc-compile.html">s6-rc-compile</a>, then builds the corresponding service database. </li> <li> s6-rc-set-commit is the ultimate verification step for consistency. When it passes, diff --git a/doc/s6-rc-set-copy.html b/doc/s6-rc-set-copy.html index 9d0681c..422a114 100644 --- a/doc/s6-rc-set-copy.html +++ b/doc/s6-rc-set-copy.html @@ -5,7 +5,7 @@ <meta http-equiv="Content-Language" content="en" /> <title>s6-rc: the s6-rc-set-copy program</title> <meta name="Description" content="s6-rc: the s6-rc-set-copy program" /> - <meta name="Keywords" content="s6-rc s6-rc-set-copy repo set sub copy services" /> + <meta name="Keywords" content="s6-rc s6-rc-set-copy repo set rx copy services" /> <!-- <link rel="stylesheet" type="text/css" href="//skarnet.org/default.css" /> --> </head> <body> diff --git a/doc/s6-rc-set-delete.html b/doc/s6-rc-set-delete.html index efb1820..1009d7c 100644 --- a/doc/s6-rc-set-delete.html +++ b/doc/s6-rc-set-delete.html @@ -5,7 +5,7 @@ <meta http-equiv="Content-Language" content="en" /> <title>s6-rc: the s6-rc-set-delete program</title> <meta name="Description" content="s6-rc: the s6-rc-set-delete program" /> - <meta name="Keywords" content="s6-rc s6-rc-set-delete repo set sub deletion services" /> + <meta name="Keywords" content="s6-rc s6-rc-set-delete repo set rx deletion services" /> <!-- <link rel="stylesheet" type="text/css" href="//skarnet.org/default.css" /> --> </head> <body> diff --git a/doc/s6-rc-set-fix.html b/doc/s6-rc-set-fix.html index eae3d69..564584f 100644 --- a/doc/s6-rc-set-fix.html +++ b/doc/s6-rc-set-fix.html @@ -33,7 +33,7 @@ dependency inconsistencies, and fixes them. <li> s6-rc-set-fix checks all the sets listed in <em>sets...</em> for dependency inconsistencies that may prevent <a href="s6-rc-set-commit.html">s6-rc-set-commit</a> from succeeding. If <em>sets...</em> is empty, all the sets in the repository are checked. </li> - <li> s6-rc-set-fix prints what it finds and changes the <a href="repodefs.html#sub">subs</a> + <li> s6-rc-set-fix prints what it finds and changes the <a href="repodefs.html#rx">rxs</a> of impacted services so the resulting set is consistent. </li> </ul> @@ -69,15 +69,15 @@ will be started at boot time than the set initially declared. This is the defaul <dt> -E, --no-force-essential </dt> <dd> If fixing a dependency inconsistency would imply moving a service down from the -<em>always</em> sub, or up to the <em>always</em> sub, when its service definition +<em>always</em> rx, or up to the <em>always</em> rx, when its service definition directory does not declare it as essential, do not attempt fixing it and fail the operation. This is the default. If such a situation occurs, it means that the set of services -provided in the <a href="repodefs.html#sub">stores</a> is not consistent, and that +provided in the <a href="repodefs.html#rx">stores</a> is not consistent, and that is what should be fixed. </dd> <dt> -e, --force-essential </dt> <dd> If fixing a dependency inconsistency would imply moving a service down from the -<em>always</em> sub, or up to the <em>always</em> sub, when its service definition +<em>always</em> rx, or up to the <em>always</em> rx, when its service definition directory does not declare it as essential, do it, even though it goes against a service definition in a store. This can help you keep a service set consistent until the store is fixed. </dd> diff --git a/doc/s6-rc-set-new.html b/doc/s6-rc-set-new.html index 4d4642b..688f9db 100644 --- a/doc/s6-rc-set-new.html +++ b/doc/s6-rc-set-new.html @@ -5,7 +5,7 @@ <meta http-equiv="Content-Language" content="en" /> <title>s6-rc: the s6-rc-set-new program</title> <meta name="Description" content="s6-rc: the s6-rc-set-new program" /> - <meta name="Keywords" content="s6-rc s6-rc-set-new repo set sub new services" /> + <meta name="Keywords" content="s6-rc s6-rc-set-new repo set rx new services" /> <!-- <link rel="stylesheet" type="text/css" href="//skarnet.org/default.css" /> --> </head> <body> @@ -33,12 +33,12 @@ in a <a href="repodefs.html#repository">repository</a>. <li> For every argument in <em>setname...</em>, s6-rc-set-new creates a <a href="repodefs.html#set">set</a> with that name, in the repository <em>repo</em>. Under that set name, it attributes a default -<a href="repodefs.html#sub">sub</a> to every service listed in the +<a href="repodefs.html#rx">rx</a> to every service listed in the <a href="repodefs.html#store">stores</a>: <ul> - <li> Services with the <em>essential</em> flag are added to the <tt>always</tt> sub </li> - <li> Services with the <em>recommended</em> flag are added to the <tt>active</tt> sub </li> - <li> Others are added to the <tt>usable</tt> sub. </li> + <li> Services with the <em>essential</em> flag are added to the <tt>always</tt> rx </li> + <li> Services with the <em>recommended</em> flag are added to the <tt>active</tt> rx </li> + <li> Others are added to the <tt>usable</tt> rx. </li> </ul> </li> <li> It exits 0. </li> </ul> diff --git a/doc/s6-rc-set-status.html b/doc/s6-rc-set-status.html index 7e55a11..53c1b28 100644 --- a/doc/s6-rc-set-status.html +++ b/doc/s6-rc-set-status.html @@ -5,7 +5,7 @@ <meta http-equiv="Content-Language" content="en" /> <title>s6-rc: the s6-rc-set-status program</title> <meta name="Description" content="s6-rc: the s6-rc-set-status program" /> - <meta name="Keywords" content="s6-rc s6-rc-set-status repo set sub list services status" /> + <meta name="Keywords" content="s6-rc s6-rc-set-status repo set rx list services status" /> <!-- <link rel="stylesheet" type="text/css" href="//skarnet.org/default.css" /> --> </head> <body> @@ -20,7 +20,7 @@ <p> s6-rc-set-status lists some of, or all, the services of a <a href="repodefs.html#set">set</a>, -along with the <a href="repodefs.html#sub">sub</a> each service is on. +along with the <a href="repodefs.html#rx">rx</a> each service is on. </p> <h2> Interface </h2> @@ -37,7 +37,7 @@ services in the set. Each line consists of: <ul> <li> The name of the service </li> <li> A slash (<tt>/</tt>) character </li> - <li> The canonical name for the sub the service is in. </li> + <li> The canonical name for the rx the service is in. </li> </ul> </li> <li> It exits 0. </li> </ul> @@ -56,14 +56,14 @@ error messages will be written, and 2 or more adds informational messages. </dd> </dd> <dt> -E, --with-essentials </dt> - <dd> Do not ignore services in the <tt>always</tt> sub, i.e. services marked as + <dd> Do not ignore services in the <tt>always</tt> rx, i.e. services marked as essential. This is the default. </dd> <dt> -e, --without-essentials </dt> - <dd> Ignore services in the <tt>always</tt> sub: do not print them. </dd> + <dd> Ignore services in the <tt>always</tt> rx: do not print them. </dd> <dt> -L. --list </dt> - <dd> Do not print <tt>/<em>sub</em></tt> at the end of each line: only print the service names. </dd> + <dd> Do not print <tt>/<em>rx</em></tt> at the end of each line: only print the service names. </dd> </dl> <h2> Exit codes </h2> @@ -81,7 +81,7 @@ essential. This is the default. </dd> <ul> <li> s6-rc-set-status is meant to be used with automation such as util-linux's <a href="https://man7.org/linux/man-pages/man1/column.1.html">column</a> -for formatting. A slash is used to separate the service name for the sub because +for formatting. A slash is used to separate the service name for the rx because slashes cannot appear in service names. </li> </ul> diff --git a/package/deps.mak b/package/deps.mak index dbfc92a..c4e15c4 100644 --- a/package/deps.mak +++ b/package/deps.mak @@ -39,7 +39,7 @@ src/repo/s6-rc-set-install.o src/repo/s6-rc-set-install.lo: src/repo/s6-rc-set-i src/repo/s6-rc-set-new.o src/repo/s6-rc-set-new.lo: src/repo/s6-rc-set-new.c src/include/s6-rc/config.h src/include/s6-rc/s6rc.h src/repo/s6-rc-set-status.o src/repo/s6-rc-set-status.lo: src/repo/s6-rc-set-status.c src/include/s6-rc/config.h src/include/s6-rc/repo.h src/repo/s6rc_repo_badpipeline.o src/repo/s6rc_repo_badpipeline.lo: src/repo/s6rc_repo_badpipeline.c src/include/s6-rc/config.h src/include/s6-rc/repo.h -src/repo/s6rc_repo_badsub.o src/repo/s6rc_repo_badsub.lo: src/repo/s6rc_repo_badsub.c src/include/s6-rc/repo.h +src/repo/s6rc_repo_badrx.o src/repo/s6rc_repo_badrx.lo: src/repo/s6rc_repo_badrx.c src/include/s6-rc/repo.h src/repo/s6rc_repo_checkset.o src/repo/s6rc_repo_checkset.lo: src/repo/s6rc_repo_checkset.c src/include/s6-rc/repo.h src/repo/s6rc_repo_cleanup.o src/repo/s6rc_repo_cleanup.lo: src/repo/s6rc_repo_cleanup.c src/include/s6-rc/repo.h src/repo/s6rc_repo_compile.o src/repo/s6rc_repo_compile.lo: src/repo/s6rc_repo_compile.c src/include/s6-rc/config.h src/include/s6-rc/repo.h @@ -62,11 +62,11 @@ src/repo/s6rc_repo_makesvlist.o src/repo/s6rc_repo_makesvlist.lo: src/repo/s6rc_ src/repo/s6rc_repo_makesvlist_byname.o src/repo/s6rc_repo_makesvlist_byname.lo: src/repo/s6rc_repo_makesvlist_byname.c src/include/s6-rc/repo.h src/repo/s6rc_repo_moveservices.o src/repo/s6rc_repo_moveservices.lo: src/repo/s6rc_repo_moveservices.c src/include/s6-rc/repo.h src/repo/s6rc_repo_removeinternals.o src/repo/s6rc_repo_removeinternals.lo: src/repo/s6rc_repo_removeinternals.c src/include/s6-rc/repo.h +src/repo/s6rc_repo_rxnames.o src/repo/s6rc_repo_rxnames.lo: src/repo/s6rc_repo_rxnames.c src/include/s6-rc/repo.h src/repo/s6rc_repo_sanitize_setname.o src/repo/s6rc_repo_sanitize_setname.lo: src/repo/s6rc_repo_sanitize_setname.c src/include/s6-rc/repo.h src/repo/s6rc_repo_sanitize_svname.o src/repo/s6rc_repo_sanitize_svname.lo: src/repo/s6rc_repo_sanitize_svname.c src/include/s6-rc/repo.h src/repo/s6rc_repo_setcompile.o src/repo/s6rc_repo_setcompile.lo: src/repo/s6rc_repo_setcompile.c src/include/s6-rc/repo.h src/repo/s6rc_repo_setuptodate.o src/repo/s6rc_repo_setuptodate.lo: src/repo/s6rc_repo_setuptodate.c src/include/s6-rc/repo.h -src/repo/s6rc_repo_subnames.o src/repo/s6rc_repo_subnames.lo: src/repo/s6rc_repo_subnames.c src/include/s6-rc/repo.h src/repo/s6rc_repo_sv_bcmpr.o src/repo/s6rc_repo_sv_bcmpr.lo: src/repo/s6rc_repo_sv_bcmpr.c src/include/s6-rc/repo.h src/repo/s6rc_repo_sv_cmpr.o src/repo/s6rc_repo_sv_cmpr.lo: src/repo/s6rc_repo_sv_cmpr.c src/include/s6-rc/repo.h src/repo/s6rc_repo_sync.o src/repo/s6rc_repo_sync.lo: src/repo/s6rc_repo_sync.c src/include/s6-rc/repo.h @@ -97,15 +97,15 @@ libs6rc.so.xyzzy:src/libs6rc/s6rc_db_check_depcycles.lo src/libs6rc/s6rc_db_chec libs6rc.dylib.xyzzy: EXTRA_LIBS := -ls6 -lskarnet ${SPAWN_LIB} libs6rc.dylib.xyzzy:src/libs6rc/s6rc_db_check_depcycles.lo src/libs6rc/s6rc_db_check_pipelines.lo src/libs6rc/s6rc_db_check_revdeps.lo src/libs6rc/s6rc_db_read.lo src/libs6rc/s6rc_db_read_sizes.lo src/libs6rc/s6rc_db_read_uint32.lo src/libs6rc/s6rc_graph_closure.lo src/libs6rc/s6rc_live_state_size.lo src/libs6rc/s6rc_live_state_read.lo src/libs6rc/s6rc_livedir_canon.lo src/libs6rc/s6rc_livedir_create.lo src/libs6rc/s6rc_livedir_prefix.lo src/libs6rc/s6rc_livedir_prefixsize.lo src/libs6rc/s6rc_lock.lo src/libs6rc/s6rc_read_uint.lo src/libs6rc/s6rc_sanitize_dir.lo src/libs6rc/s6rc_servicedir_internal.lo src/libs6rc/s6rc_servicedir_block.lo src/libs6rc/s6rc_servicedir_unblock.lo src/libs6rc/s6rc_servicedir_copy_offline.lo src/libs6rc/s6rc_servicedir_copy_online.lo src/libs6rc/s6rc_servicedir_manage.lo src/libs6rc/s6rc_servicedir_unsupervise.lo ifeq ($(strip $(STATIC_LIBS_ARE_PIC)),) -libs6rcrepo.a.xyzzy: src/repo/s6rc_repo_badpipeline.o src/repo/s6rc_repo_badsub.o src/repo/s6rc_repo_checkset.o src/repo/s6rc_repo_cleanup.o src/repo/s6rc_repo_compile.o src/repo/s6rc_repo_fillset.o src/repo/s6rc_repo_fixset.o src/repo/s6rc_repo_flattenservices.o src/repo/s6rc_repo_getserviceflags.o src/repo/s6rc_repo_list_sets.o src/repo/s6rc_repo_listalldeps.o src/repo/s6rc_repo_listcontents.o src/repo/s6rc_repo_listdeps.o src/repo/s6rc_repo_listdeps_internal.o src/repo/s6rc_repo_listsub.o src/repo/s6rc_repo_lock.o src/repo/s6rc_repo_ls.o src/repo/s6rc_repo_makedefbundle.o src/repo/s6rc_repo_makesetbundles.o src/repo/s6rc_repo_makestores.o src/repo/s6rc_repo_makesvlist.o src/repo/s6rc_repo_makesvlist_byname.o src/repo/s6rc_repo_moveservices.o src/repo/s6rc_repo_removeinternals.o src/repo/s6rc_repo_sanitize_setname.o src/repo/s6rc_repo_sanitize_svname.o src/repo/s6rc_repo_setcompile.o src/repo/s6rc_repo_setuptodate.o src/repo/s6rc_repo_subnames.o src/repo/s6rc_repo_sv_bcmpr.o src/repo/s6rc_repo_sv_cmpr.o src/repo/s6rc_repo_sync.o src/repo/s6rc_repo_syncset.o src/repo/s6rc_repo_syncset_tmp.o src/repo/s6rc_repo_touch.o src/repo/s6rc_repo_touchset.o src/repo/s6rc_repo_type_check.o +libs6rcrepo.a.xyzzy: src/repo/s6rc_repo_badpipeline.o src/repo/s6rc_repo_badrx.o src/repo/s6rc_repo_checkset.o src/repo/s6rc_repo_cleanup.o src/repo/s6rc_repo_compile.o src/repo/s6rc_repo_fillset.o src/repo/s6rc_repo_fixset.o src/repo/s6rc_repo_flattenservices.o src/repo/s6rc_repo_getserviceflags.o src/repo/s6rc_repo_list_sets.o src/repo/s6rc_repo_listalldeps.o src/repo/s6rc_repo_listcontents.o src/repo/s6rc_repo_listdeps.o src/repo/s6rc_repo_listdeps_internal.o src/repo/s6rc_repo_listrx.o src/repo/s6rc_repo_lock.o src/repo/s6rc_repo_ls.o src/repo/s6rc_repo_makedefbundle.o src/repo/s6rc_repo_makesetbundles.o src/repo/s6rc_repo_makestores.o src/repo/s6rc_repo_makesvlist.o src/repo/s6rc_repo_makesvlist_byname.o src/repo/s6rc_repo_moveservices.o src/repo/s6rc_repo_removeinternals.o src/repo/s6rc_repo_rxnames.o src/repo/s6rc_repo_sanitize_setname.o src/repo/s6rc_repo_sanitize_svname.o src/repo/s6rc_repo_setcompile.o src/repo/s6rc_repo_setuptodate.o src/repo/s6rc_repo_sv_bcmpr.o src/repo/s6rc_repo_sv_cmpr.o src/repo/s6rc_repo_sync.o src/repo/s6rc_repo_syncset.o src/repo/s6rc_repo_syncset_tmp.o src/repo/s6rc_repo_touch.o src/repo/s6rc_repo_touchset.o src/repo/s6rc_repo_type_check.o else -libs6rcrepo.a.xyzzy:src/repo/s6rc_repo_badpipeline.lo src/repo/s6rc_repo_badsub.lo src/repo/s6rc_repo_checkset.lo src/repo/s6rc_repo_cleanup.lo src/repo/s6rc_repo_compile.lo src/repo/s6rc_repo_fillset.lo src/repo/s6rc_repo_fixset.lo src/repo/s6rc_repo_flattenservices.lo src/repo/s6rc_repo_getserviceflags.lo src/repo/s6rc_repo_list_sets.lo src/repo/s6rc_repo_listalldeps.lo src/repo/s6rc_repo_listcontents.lo src/repo/s6rc_repo_listdeps.lo src/repo/s6rc_repo_listdeps_internal.lo src/repo/s6rc_repo_listsub.lo src/repo/s6rc_repo_lock.lo src/repo/s6rc_repo_ls.lo src/repo/s6rc_repo_makedefbundle.lo src/repo/s6rc_repo_makesetbundles.lo src/repo/s6rc_repo_makestores.lo src/repo/s6rc_repo_makesvlist.lo src/repo/s6rc_repo_makesvlist_byname.lo src/repo/s6rc_repo_moveservices.lo src/repo/s6rc_repo_removeinternals.lo src/repo/s6rc_repo_sanitize_setname.lo src/repo/s6rc_repo_sanitize_svname.lo src/repo/s6rc_repo_setcompile.lo src/repo/s6rc_repo_setuptodate.lo src/repo/s6rc_repo_subnames.lo src/repo/s6rc_repo_sv_bcmpr.lo src/repo/s6rc_repo_sv_cmpr.lo src/repo/s6rc_repo_sync.lo src/repo/s6rc_repo_syncset.lo src/repo/s6rc_repo_syncset_tmp.lo src/repo/s6rc_repo_touch.lo src/repo/s6rc_repo_touchset.lo src/repo/s6rc_repo_type_check.lo +libs6rcrepo.a.xyzzy:src/repo/s6rc_repo_badpipeline.lo src/repo/s6rc_repo_badrx.lo src/repo/s6rc_repo_checkset.lo src/repo/s6rc_repo_cleanup.lo src/repo/s6rc_repo_compile.lo src/repo/s6rc_repo_fillset.lo src/repo/s6rc_repo_fixset.lo src/repo/s6rc_repo_flattenservices.lo src/repo/s6rc_repo_getserviceflags.lo src/repo/s6rc_repo_list_sets.lo src/repo/s6rc_repo_listalldeps.lo src/repo/s6rc_repo_listcontents.lo src/repo/s6rc_repo_listdeps.lo src/repo/s6rc_repo_listdeps_internal.lo src/repo/s6rc_repo_listrx.lo src/repo/s6rc_repo_lock.lo src/repo/s6rc_repo_ls.lo src/repo/s6rc_repo_makedefbundle.lo src/repo/s6rc_repo_makesetbundles.lo src/repo/s6rc_repo_makestores.lo src/repo/s6rc_repo_makesvlist.lo src/repo/s6rc_repo_makesvlist_byname.lo src/repo/s6rc_repo_moveservices.lo src/repo/s6rc_repo_removeinternals.lo src/repo/s6rc_repo_rxnames.lo src/repo/s6rc_repo_sanitize_setname.lo src/repo/s6rc_repo_sanitize_svname.lo src/repo/s6rc_repo_setcompile.lo src/repo/s6rc_repo_setuptodate.lo src/repo/s6rc_repo_sv_bcmpr.lo src/repo/s6rc_repo_sv_cmpr.lo src/repo/s6rc_repo_sync.lo src/repo/s6rc_repo_syncset.lo src/repo/s6rc_repo_syncset_tmp.lo src/repo/s6rc_repo_touch.lo src/repo/s6rc_repo_touchset.lo src/repo/s6rc_repo_type_check.lo endif libs6rcrepo.pc: EXTRA_LIBS := -lskarnet ${SPAWN_LIB} libs6rcrepo.so.xyzzy: EXTRA_LIBS := -lskarnet ${SPAWN_LIB} -libs6rcrepo.so.xyzzy:src/repo/s6rc_repo_badpipeline.lo src/repo/s6rc_repo_badsub.lo src/repo/s6rc_repo_checkset.lo src/repo/s6rc_repo_cleanup.lo src/repo/s6rc_repo_compile.lo src/repo/s6rc_repo_fillset.lo src/repo/s6rc_repo_fixset.lo src/repo/s6rc_repo_flattenservices.lo src/repo/s6rc_repo_getserviceflags.lo src/repo/s6rc_repo_list_sets.lo src/repo/s6rc_repo_listalldeps.lo src/repo/s6rc_repo_listcontents.lo src/repo/s6rc_repo_listdeps.lo src/repo/s6rc_repo_listdeps_internal.lo src/repo/s6rc_repo_listsub.lo src/repo/s6rc_repo_lock.lo src/repo/s6rc_repo_ls.lo src/repo/s6rc_repo_makedefbundle.lo src/repo/s6rc_repo_makesetbundles.lo src/repo/s6rc_repo_makestores.lo src/repo/s6rc_repo_makesvlist.lo src/repo/s6rc_repo_makesvlist_byname.lo src/repo/s6rc_repo_moveservices.lo src/repo/s6rc_repo_removeinternals.lo src/repo/s6rc_repo_sanitize_setname.lo src/repo/s6rc_repo_sanitize_svname.lo src/repo/s6rc_repo_setcompile.lo src/repo/s6rc_repo_setuptodate.lo src/repo/s6rc_repo_subnames.lo src/repo/s6rc_repo_sv_bcmpr.lo src/repo/s6rc_repo_sv_cmpr.lo src/repo/s6rc_repo_sync.lo src/repo/s6rc_repo_syncset.lo src/repo/s6rc_repo_syncset_tmp.lo src/repo/s6rc_repo_touch.lo src/repo/s6rc_repo_touchset.lo src/repo/s6rc_repo_type_check.lo +libs6rcrepo.so.xyzzy:src/repo/s6rc_repo_badpipeline.lo src/repo/s6rc_repo_badrx.lo src/repo/s6rc_repo_checkset.lo src/repo/s6rc_repo_cleanup.lo src/repo/s6rc_repo_compile.lo src/repo/s6rc_repo_fillset.lo src/repo/s6rc_repo_fixset.lo src/repo/s6rc_repo_flattenservices.lo src/repo/s6rc_repo_getserviceflags.lo src/repo/s6rc_repo_list_sets.lo src/repo/s6rc_repo_listalldeps.lo src/repo/s6rc_repo_listcontents.lo src/repo/s6rc_repo_listdeps.lo src/repo/s6rc_repo_listdeps_internal.lo src/repo/s6rc_repo_listrx.lo src/repo/s6rc_repo_lock.lo src/repo/s6rc_repo_ls.lo src/repo/s6rc_repo_makedefbundle.lo src/repo/s6rc_repo_makesetbundles.lo src/repo/s6rc_repo_makestores.lo src/repo/s6rc_repo_makesvlist.lo src/repo/s6rc_repo_makesvlist_byname.lo src/repo/s6rc_repo_moveservices.lo src/repo/s6rc_repo_removeinternals.lo src/repo/s6rc_repo_rxnames.lo src/repo/s6rc_repo_sanitize_setname.lo src/repo/s6rc_repo_sanitize_svname.lo src/repo/s6rc_repo_setcompile.lo src/repo/s6rc_repo_setuptodate.lo src/repo/s6rc_repo_sv_bcmpr.lo src/repo/s6rc_repo_sv_cmpr.lo src/repo/s6rc_repo_sync.lo src/repo/s6rc_repo_syncset.lo src/repo/s6rc_repo_syncset_tmp.lo src/repo/s6rc_repo_touch.lo src/repo/s6rc_repo_touchset.lo src/repo/s6rc_repo_type_check.lo libs6rcrepo.dylib.xyzzy: EXTRA_LIBS := -lskarnet ${SPAWN_LIB} -libs6rcrepo.dylib.xyzzy:src/repo/s6rc_repo_badpipeline.lo src/repo/s6rc_repo_badsub.lo src/repo/s6rc_repo_checkset.lo src/repo/s6rc_repo_cleanup.lo src/repo/s6rc_repo_compile.lo src/repo/s6rc_repo_fillset.lo src/repo/s6rc_repo_fixset.lo src/repo/s6rc_repo_flattenservices.lo src/repo/s6rc_repo_getserviceflags.lo src/repo/s6rc_repo_list_sets.lo src/repo/s6rc_repo_listalldeps.lo src/repo/s6rc_repo_listcontents.lo src/repo/s6rc_repo_listdeps.lo src/repo/s6rc_repo_listdeps_internal.lo src/repo/s6rc_repo_listsub.lo src/repo/s6rc_repo_lock.lo src/repo/s6rc_repo_ls.lo src/repo/s6rc_repo_makedefbundle.lo src/repo/s6rc_repo_makesetbundles.lo src/repo/s6rc_repo_makestores.lo src/repo/s6rc_repo_makesvlist.lo src/repo/s6rc_repo_makesvlist_byname.lo src/repo/s6rc_repo_moveservices.lo src/repo/s6rc_repo_removeinternals.lo src/repo/s6rc_repo_sanitize_setname.lo src/repo/s6rc_repo_sanitize_svname.lo src/repo/s6rc_repo_setcompile.lo src/repo/s6rc_repo_setuptodate.lo src/repo/s6rc_repo_subnames.lo src/repo/s6rc_repo_sv_bcmpr.lo src/repo/s6rc_repo_sv_cmpr.lo src/repo/s6rc_repo_sync.lo src/repo/s6rc_repo_syncset.lo src/repo/s6rc_repo_syncset_tmp.lo src/repo/s6rc_repo_touch.lo src/repo/s6rc_repo_touchset.lo src/repo/s6rc_repo_type_check.lo +libs6rcrepo.dylib.xyzzy:src/repo/s6rc_repo_badpipeline.lo src/repo/s6rc_repo_badrx.lo src/repo/s6rc_repo_checkset.lo src/repo/s6rc_repo_cleanup.lo src/repo/s6rc_repo_compile.lo src/repo/s6rc_repo_fillset.lo src/repo/s6rc_repo_fixset.lo src/repo/s6rc_repo_flattenservices.lo src/repo/s6rc_repo_getserviceflags.lo src/repo/s6rc_repo_list_sets.lo src/repo/s6rc_repo_listalldeps.lo src/repo/s6rc_repo_listcontents.lo src/repo/s6rc_repo_listdeps.lo src/repo/s6rc_repo_listdeps_internal.lo src/repo/s6rc_repo_listrx.lo src/repo/s6rc_repo_lock.lo src/repo/s6rc_repo_ls.lo src/repo/s6rc_repo_makedefbundle.lo src/repo/s6rc_repo_makesetbundles.lo src/repo/s6rc_repo_makestores.lo src/repo/s6rc_repo_makesvlist.lo src/repo/s6rc_repo_makesvlist_byname.lo src/repo/s6rc_repo_moveservices.lo src/repo/s6rc_repo_removeinternals.lo src/repo/s6rc_repo_rxnames.lo src/repo/s6rc_repo_sanitize_setname.lo src/repo/s6rc_repo_sanitize_svname.lo src/repo/s6rc_repo_setcompile.lo src/repo/s6rc_repo_setuptodate.lo src/repo/s6rc_repo_sv_bcmpr.lo src/repo/s6rc_repo_sv_cmpr.lo src/repo/s6rc_repo_sync.lo src/repo/s6rc_repo_syncset.lo src/repo/s6rc_repo_syncset_tmp.lo src/repo/s6rc_repo_touch.lo src/repo/s6rc_repo_touchset.lo src/repo/s6rc_repo_type_check.lo s6-rc-repo-init: EXTRA_LIBS := ${SPAWN_LIB} s6-rc-repo-init: src/repo/s6-rc-repo-init.o ${LIBS6RCREPO} -lskarnet s6-rc-repo-list: EXTRA_LIBS := ${SPAWN_LIB} diff --git a/src/include/s6-rc/repo.h b/src/include/s6-rc/repo.h index 5957dd5..56ec5bf 100644 --- a/src/include/s6-rc/repo.h +++ b/src/include/s6-rc/repo.h @@ -13,7 +13,7 @@ typedef struct s6rc_repo_sv_s s6rc_repo_sv, *s6rc_repo_sv_ref ; struct s6rc_repo_sv_s { uint32_t pos ; - uint8_t sub ; + uint8_t rx ; } ; extern int s6rc_repo_sv_cmpr (void const *, void const *, void *) ; @@ -23,7 +23,7 @@ extern int s6rc_repo_nlto0 (char *, size_t, size_t, genalloc *) ; extern int s6rc_repo_type_check (char const *) ; extern int s6rc_repo_ls (char const *, stralloc *, genalloc *) ; -extern char const s6rc_repo_subnames[4][7] ; +extern char const s6rc_repo_rxnames[4][7] ; extern int s6rc_repo_makestores (char const *, char const *const *, uint16_t, char *) ; @@ -35,7 +35,7 @@ extern void s6rc_repo_sanitize_svname (char const *) ; extern int s6rc_repo_cleanup (char const *) ; extern int s6rc_repo_sync (char const *, unsigned int, char const *) ; extern int s6rc_repo_syncset (char const *, char const *, unsigned int) ; -extern int s6rc_repo_syncset_tmp (char const *, char const *, stralloc *, genalloc *ga, unsigned int) ; +extern int s6rc_repo_syncset_tmp (char const *, char const *, stralloc *, genalloc *, unsigned int) ; extern int s6rc_repo_lock (char const *, int) ; extern int s6rc_repo_touch (char const *) ; extern int s6rc_repo_touchset (char const *, char const *) ; @@ -51,7 +51,7 @@ extern int s6rc_repo_refcompile (char const *, char *, unsigned int, char const extern int s6rc_repo_setcompile (char const *, char const *, char const *, char *, unsigned int, char const *) ; extern int s6rc_repo_list_sets (char const *, stralloc *, genalloc *) ; -extern int s6rc_repo_listsub (char const *, char const *, char const *, stralloc *, genalloc *) ; +extern int s6rc_repo_listrx (char const *, char const *, char const *, stralloc *, genalloc *) ; extern int s6rc_repo_listcontents (char const *, char const *, stralloc *, genalloc *) ; extern int s6rc_repo_listdeps (char const *, char const *, stralloc *, genalloc *, int) ; extern int s6rc_repo_listalldeps (char const *, char const *const *, uint32_t, stralloc *, genalloc *, int) ; @@ -61,7 +61,7 @@ extern int s6rc_repo_getserviceflags (char const *, char const *, uint32_t *) ; extern int s6rc_repo_flattenservices (char const *, char const *const *, uint32_t n, stralloc *storage, genalloc *indices) ; extern int s6rc_repo_makesvlist (char const *, char const *, stralloc *, genalloc *, uint32_t *) ; extern int s6rc_repo_makesvlist_byname (char const *, char const *, stralloc *, genalloc *) ; -extern int s6rc_repo_badsub (char const *, char const *, char const **, uint32_t, uint8_t, uint8_t, s6rc_repo_sv const *, uint32_t, stralloc *, genalloc *, genalloc *) ; +extern int s6rc_repo_badrx (char const *, char const *, char const **, uint32_t, uint8_t, uint8_t, s6rc_repo_sv const *, uint32_t, stralloc *, genalloc *, genalloc *) ; extern int s6rc_repo_badpipeline (char const *, char const *, size_t, s6rc_repo_sv const *, uint32_t, uint8_t, stralloc *, genalloc *) ; extern int s6rc_repo_moveservices (char const *, char const *, s6rc_repo_sv const *, uint32_t, uint8_t, char const *, unsigned int) ; extern void s6rc_repo_removeinternals (genalloc *, unsigned int, char const *) ; diff --git a/src/repo/deps-lib/s6rcrepo b/src/repo/deps-lib/s6rcrepo index 10737ee..7d8b816 100644 --- a/src/repo/deps-lib/s6rcrepo +++ b/src/repo/deps-lib/s6rcrepo @@ -1,5 +1,5 @@ s6rc_repo_badpipeline.o -s6rc_repo_badsub.o +s6rc_repo_badrx.o s6rc_repo_checkset.o s6rc_repo_cleanup.o s6rc_repo_compile.o @@ -12,7 +12,7 @@ s6rc_repo_listalldeps.o s6rc_repo_listcontents.o s6rc_repo_listdeps.o s6rc_repo_listdeps_internal.o -s6rc_repo_listsub.o +s6rc_repo_listrx.o s6rc_repo_lock.o s6rc_repo_ls.o s6rc_repo_makedefbundle.o @@ -22,11 +22,11 @@ s6rc_repo_makesvlist.o s6rc_repo_makesvlist_byname.o s6rc_repo_moveservices.o s6rc_repo_removeinternals.o +s6rc_repo_rxnames.o s6rc_repo_sanitize_setname.o s6rc_repo_sanitize_svname.o s6rc_repo_setcompile.o s6rc_repo_setuptodate.o -s6rc_repo_subnames.o s6rc_repo_sv_bcmpr.o s6rc_repo_sv_cmpr.o s6rc_repo_sync.o diff --git a/src/repo/s6-rc-set-change.c b/src/repo/s6-rc-set-change.c index e763d25..3dbb62a 100644 --- a/src/repo/s6-rc-set-change.c +++ b/src/repo/s6-rc-set-change.c @@ -18,7 +18,7 @@ #include <s6-rc/config.h> #include <s6-rc/s6rc.h> -#define USAGE "s6-rc-set-change [ -v verbosity ] [ -r repo ] [ -E | -e ] [ -f | -I fail|pull|warn ] [ -n ] set newsub services..." +#define USAGE "s6-rc-set-change [ -v verbosity ] [ -r repo ] [ -E | -e ] [ -f | -I fail|pull|warn ] [ -n ] set newrx services..." #define dieusage() strerr_dieusage(100, USAGE) enum golb_e @@ -36,15 +36,15 @@ enum gola_e GOLA_N } ; -struct subname_s +struct rxname_s { char const *name ; - uint8_t sub ; + uint8_t rx ; } ; -static int subname_cmp (void const *a, void const *b) +static int rxname_cmp (void const *a, void const *b) { - return strcmp((char const *)a, ((struct subname_s const *)b)->name) ; + return strcmp((char const *)a, ((struct rxname_s const *)b)->name) ; } int main (int argc, char const *const *argv) @@ -62,33 +62,33 @@ int main (int argc, char const *const *argv) { .so = 'r', .lo = "repodir", .i = GOLA_REPODIR }, { .so = 'I', .lo = "if-dependencies-found", .i = GOLA_FORCELEVEL } } ; - static struct subname_s const accepted_forcelevels[] = + static struct rxname_s const accepted_forcelevels[] = { - { .name = "fail", .sub = 0 }, - { .name = "pull", .sub = 2 }, - { .name = "warn", .sub = 1 } + { .name = "fail", .rx = 0 }, + { .name = "pull", .rx = 2 }, + { .name = "warn", .rx = 1 } } ; - static struct subname_s const accepted_subs[] = + static struct rxname_s const accepted_rxs[] = { - { .name = "activate", .sub = 2 }, - { .name = "active", .sub = 2 }, - { .name = "always", .sub = 3 }, - { .name = "deactivate", .sub = 1 }, - { .name = "disable", .sub = 1 }, - { .name = "disabled", .sub = 1 }, - { .name = "enable", .sub = 2 }, - { .name = "enabled", .sub = 2 }, - { .name = "essential", .sub = 3 }, - { .name = "inactive", .sub = 1 }, - { .name = "latent", .sub = 1 }, - { .name = "make-essential", .sub = 3 }, - { .name = "mask", .sub = 0 }, - { .name = "masked", .sub = 0 }, - { .name = "onboot", .sub = 2 }, - { .name = "suppress", .sub = 0 }, - { .name = "unmask", .sub = 1 }, - { .name = "unmasked", .sub = 1 }, - { .name = "usable", .sub = 1 } + { .name = "activate", .rx = 2 }, + { .name = "active", .rx = 2 }, + { .name = "always", .rx = 3 }, + { .name = "deactivate", .rx = 1 }, + { .name = "disable", .rx = 1 }, + { .name = "disabled", .rx = 1 }, + { .name = "enable", .rx = 2 }, + { .name = "enabled", .rx = 2 }, + { .name = "essential", .rx = 3 }, + { .name = "inactive", .rx = 1 }, + { .name = "latent", .rx = 1 }, + { .name = "make-essential", .rx = 3 }, + { .name = "mask", .rx = 0 }, + { .name = "masked", .rx = 0 }, + { .name = "onboot", .rx = 2 }, + { .name = "suppress", .rx = 0 }, + { .name = "unmask", .rx = 1 }, + { .name = "unmasked", .rx = 1 }, + { .name = "usable", .rx = 1 } } ; stralloc storage = STRALLOC_ZERO ; genalloc svlist = GENALLOC_ZERO ; /* s6rc_repo_sv */ @@ -100,7 +100,7 @@ int main (int argc, char const *const *argv) char const *wgola[GOLA_N] = { 0 } ; uint64_t wgolb = 0 ; unsigned int golc ; - struct subname_s *newsub ; + struct rxname_s *newrx ; size_t max = 0, sabase ; s6rc_repo_sv *list ; uint32_t listn, n ; @@ -114,15 +114,15 @@ int main (int argc, char const *const *argv) strerr_dief1x(100, "verbosity needs to be an unsigned integer") ; if (wgola[GOLA_FORCELEVEL]) { - struct subname_s *p = bsearch(wgola[GOLA_FORCELEVEL], accepted_forcelevels, sizeof(accepted_forcelevels)/sizeof(struct subname_s), sizeof(struct subname_s), &subname_cmp) ; + struct rxname_s *p = bsearch(wgola[GOLA_FORCELEVEL], accepted_forcelevels, sizeof(accepted_forcelevels)/sizeof(struct rxname_s), sizeof(struct rxname_s), &rxname_cmp) ; if (!p) strerr_dief1x(100, "if-dependencies-found needs to be fail, warn or pull") ; - forcelevel = p->sub ; + forcelevel = p->rx ; } if (argc < 3) dieusage() ; s6rc_repo_sanitize_setname(argv[0]) ; - newsub = bsearch(argv[1], accepted_subs, sizeof(accepted_subs)/sizeof(struct subname_s), sizeof(struct subname_s), &subname_cmp) ; - if (!newsub) strerr_dief2x(100, "unrecognized state change directive: ", argv[1]) ; - if (newsub->sub == 3 && !(wgolb & GOLB_FORCE_ESSENTIAL)) + newrx = bsearch(argv[1], accepted_rxs, sizeof(accepted_rxs)/sizeof(struct rxname_s), sizeof(struct rxname_s), &rxname_cmp) ; + if (!newrx) strerr_dief2x(100, "unrecognized state change directive: ", argv[1]) ; + if (newrx->rx == 3 && !(wgolb & GOLB_FORCE_ESSENTIAL)) strerr_diefu1x(100, "artificially mark a service as essential without --force-essential") ; for (unsigned int i = 2 ; i < argc ; i++) s6rc_repo_sanitize_svname(argv[i]) ; @@ -165,13 +165,13 @@ int main (int argc, char const *const *argv) for (uint32_t i = 0 ; i < n ; i++) { size_t len ; - list[ind[i]].sub = newsub->sub ; + list[ind[i]].rx = newrx->rx ; tmpstart[i] = tmpstore + m ; len = strlen(storage.s + list[ind[i]].pos) + 1 ; memcpy(tmpstore + m, storage.s + list[ind[i]].pos, len) ; m += len ; } - if (!s6rc_repo_badsub(wgola[GOLA_REPODIR], argv[0], tmpstart, n, newsub->sub, 3, list, listn, &storage, &indices, &gatmp)) _exit(111) ; + if (!s6rc_repo_badrx(wgola[GOLA_REPODIR], argv[0], tmpstart, n, newrx->rx, 3, list, listn, &storage, &indices, &gatmp)) _exit(111) ; // genalloc_free(size_t, &gatmp) ; if (genalloc_len(uint32_t, &indices)) { @@ -184,11 +184,11 @@ int main (int argc, char const *const *argv) arg[1] = ": " ; arg[2] = !forcelevel ? "fatal" : "warning" ; arg[3] = ": the following services (" ; - arg[4] = newsub->sub >= 2 ? "dependencies of" : "depending on" ; + arg[4] = newrx->rx >= 2 ? "dependencies of" : "depending on" ; arg[5] = " the ones given as arguments, or part of the same pipeline) " ; arg[6] = forcelevel == 2 ? "are also being" : "also need to be" ; arg[7] = " changed to \"" ; - arg[8] = s6rc_repo_subnames[newsub->sub] ; + arg[8] = s6rc_repo_rxnames[newrx->rx] ; arg[9] = "\": " ; for (uint32_t i = 0 ; i < badn ; i++) { @@ -204,7 +204,7 @@ int main (int argc, char const *const *argv) s6rc_repo_sv full[n + badn] ; for (uint32_t i = 0 ; i < n ; i++) full[i] = starting[i] ; for (uint32_t i = 0 ; i < badn ; i++) full[n + i] = list[bads[i]] ; - if (!s6rc_repo_moveservices(wgola[GOLA_REPODIR], argv[0], full, n + badn, newsub->sub, storage.s, verbosity)) _exit(111) ; + if (!s6rc_repo_moveservices(wgola[GOLA_REPODIR], argv[0], full, n + badn, newrx->rx, storage.s, verbosity)) _exit(111) ; _exit(0) ; } } @@ -213,7 +213,7 @@ int main (int argc, char const *const *argv) if (!(wgolb & GOLB_DRYRUN)) { - if (!s6rc_repo_moveservices(wgola[GOLA_REPODIR], argv[0], starting, n, newsub->sub, storage.s, verbosity)) _exit(111) ; + if (!s6rc_repo_moveservices(wgola[GOLA_REPODIR], argv[0], starting, n, newrx->rx, storage.s, verbosity)) _exit(111) ; } _exit(0) ; } diff --git a/src/repo/s6-rc-set-new.c b/src/repo/s6-rc-set-new.c index a685aa6..6b20e9b 100644 --- a/src/repo/s6-rc-set-new.c +++ b/src/repo/s6-rc-set-new.c @@ -39,7 +39,7 @@ static inline void newset (char const *repo, char const *setname) char atomics[repolen + 18] ; char fn[repolen + 10 + setlen] ; char tmp[repolen + 18 + setlen] ; - char sub[repolen + 25 + setlen] ; + char rx[repolen + 25 + setlen] ; memcpy(atomics, repo, repolen) ; memcpy(atomics + repolen, "/sources/.atomics", 18) ; memcpy(fn, atomics, repolen + 9) ; @@ -55,16 +55,16 @@ static inline void newset (char const *repo, char const *setname) memcpy(tmp + repolen + 10 + setlen, ":XXXXXX", 8) ; m = umask(0) ; if (!mkdtemp(tmp)) strerr_diefu2sys(111, "mkdtemp ", tmp) ; - memcpy(sub, tmp, repolen + 17 + setlen) ; - sub[repolen + 17 + setlen] = '/' ; + memcpy(rx, tmp, repolen + 17 + setlen) ; + rx[repolen + 17 + setlen] = '/' ; for (size_t i = 0 ; i < 4 ; i++) { - memcpy(sub + repolen + 18 + setlen, s6rc_repo_subnames[i], 7) ; - if (mkdir(sub, 02755) == -1) + memcpy(rx + repolen + 18 + setlen, s6rc_repo_rxnames[i], 7) ; + if (mkdir(rx, 02755) == -1) { umask(m) ; cleanup(tmp) ; - strerr_diefu2sys(111, "mkdir ", sub) ; + strerr_diefu2sys(111, "mkdir ", rx) ; } } umask(m) ; diff --git a/src/repo/s6-rc-set-status.c b/src/repo/s6-rc-set-status.c index f6b6e5f..58db60d 100644 --- a/src/repo/s6-rc-set-status.c +++ b/src/repo/s6-rc-set-status.c @@ -56,7 +56,7 @@ int main (int argc, char const **argv) char const *setname ; char const *wgola[GOLA_N] = { 0 } ; unsigned int golc ; - uint8_t sub ; + uint8_t rx ; PROG = "s6-rc-set-status" ; wgola[GOLA_REPODIR] = S6RC_REPODIR ; @@ -102,10 +102,10 @@ int main (int argc, char const **argv) memcpy(fn + repolen + 9, setname, setlen) ; fn[repolen + 9 + setlen] = '/' ; - sub = wgolb & GOLB_IGNORE_ESSENTIALS ? 3 : 4 ; - while (sub--) + rx = wgolb & GOLB_IGNORE_ESSENTIALS ? 3 : 4 ; + while (rx--) { - memcpy(fn + repolen + 10 + setlen, s6rc_repo_subnames[sub], 7) ; + memcpy(fn + repolen + 10 + setlen, s6rc_repo_rxnames[rx], 7) ; DIR *dir = opendir(fn) ; if (!dir) strerr_diefu2sys(111, "opendir ", fn) ; for (;;) @@ -119,7 +119,7 @@ int main (int argc, char const **argv) if (buffer_puts(buffer_1, d->d_name) < 0) dieout() ; if (!(wgolb & GOLB_NOSUB)) if (buffer_put(buffer_1, "/", 1) < 0 - || buffer_put(buffer_1, s6rc_repo_subnames[sub], 6) < 0) dieout() ; + || buffer_put(buffer_1, s6rc_repo_rxnames[rx], 6) < 0) dieout() ; if (buffer_put(buffer_1, "\n", 1) < 0) dieout() ; } if (errno) strerr_diefu2sys(111, "readdir ", fn) ; diff --git a/src/repo/s6rc_repo_badpipeline.c b/src/repo/s6rc_repo_badpipeline.c index 654408d..87fb944 100644 --- a/src/repo/s6rc_repo_badpipeline.c +++ b/src/repo/s6rc_repo_badpipeline.c @@ -21,7 +21,7 @@ static int notfound (uint32_t k, uint32_t const *tab, uint32_t n) return 1 ; } -int s6rc_repo_badpipeline (char const *repo, char const *set, size_t svind, s6rc_repo_sv const *svlist, uint32_t ntot, uint8_t newsub, stralloc *sa, genalloc *badga) +int s6rc_repo_badpipeline (char const *repo, char const *set, size_t svind, s6rc_repo_sv const *svlist, uint32_t ntot, uint8_t newrx, stralloc *sa, genalloc *badga) { size_t sabase = sa->len ; size_t gabase = genalloc_len(uint32_t, badga) ; @@ -74,7 +74,7 @@ int s6rc_repo_badpipeline (char const *repo, char const *set, size_t svind, s6rc goto err ; } k = p - svlist ; - if (!newsub != !p->sub && notfound(k, genalloc_s(uint32_t, badga), genalloc_len(uint32_t, badga))) + if (!newrx != !p->rx && notfound(k, genalloc_s(uint32_t, badga), genalloc_len(uint32_t, badga))) { if (!genalloc_append(uint32_t, badga, &k)) { diff --git a/src/repo/s6rc_repo_badsub.c b/src/repo/s6rc_repo_badrx.c index d658e3a..20961ae 100644 --- a/src/repo/s6rc_repo_badsub.c +++ b/src/repo/s6rc_repo_badrx.c @@ -14,7 +14,7 @@ #include <s6-rc/repo.h> -int s6rc_repo_badsub (char const *repo, char const *set, char const **services, uint32_t n, uint8_t newsub, uint8_t what, s6rc_repo_sv const *svlist, uint32_t ntot, stralloc *sa, genalloc *badga, genalloc *fulldeps) +int s6rc_repo_badrx (char const *repo, char const *set, char const **services, uint32_t n, uint8_t newrx, uint8_t what, s6rc_repo_sv const *svlist, uint32_t ntot, stralloc *sa, genalloc *badga, genalloc *fulldeps) { size_t sabase = sa->len ; size_t gabase = genalloc_len(uint32_t, badga) ; @@ -22,9 +22,9 @@ int s6rc_repo_badsub (char const *repo, char const *set, char const **services, size_t const *ind ; uint32_t mid ; - if (newsub < 3 && (what & 1) && s6rc_repo_listalldeps(repo, services, n, sa, fulldeps, 0)) return 0 ; + if (newrx < 3 && (what & 1) && s6rc_repo_listalldeps(repo, services, n, sa, fulldeps, 0)) return 0 ; mid = genalloc_len(size_t, fulldeps) ; - if (newsub > 0 && (what & 2) && s6rc_repo_listalldeps(repo, services, n, sa, fulldeps, 1)) goto err ; + if (newrx > 0 && (what & 2) && s6rc_repo_listalldeps(repo, services, n, sa, fulldeps, 1)) goto err ; qsort(services, n, sizeof(char const *), &str_cmp) ; fulln = genalloc_len(size_t, fulldeps) ; @@ -41,22 +41,22 @@ int s6rc_repo_badsub (char const *repo, char const *set, char const **services, strerr_warnfu6x("find service ", cur, " in set ", set, " of repository ", repo) ; goto err ; } - if (i >= mid ? p->sub < newsub : p->sub > newsub) + if (i >= mid ? p->rx < newrx : p->rx > newrx) { uint32_t k = p - svlist ; if (!genalloc_append(uint32_t, badga, &k)) { - strerr_warnfu1sys("make bad sub list") ; + strerr_warnfu1sys("make bad rx list") ; goto err ; } } } - if ((!newsub && (what & 1)) || (newsub && (what & 2))) + if ((!newrx && (what & 1)) || (newrx && (what & 2))) { for (uint32_t i = 0 ; i < fulln ; i++) { - int e = s6rc_repo_badpipeline(repo, set, ind[i], svlist, ntot, newsub, sa, badga) ; + int e = s6rc_repo_badpipeline(repo, set, ind[i], svlist, ntot, newrx, sa, badga) ; if (e) goto err ; } } diff --git a/src/repo/s6rc_repo_cleanup.c b/src/repo/s6rc_repo_cleanup.c index 05881cd..47cb936 100644 --- a/src/repo/s6rc_repo_cleanup.c +++ b/src/repo/s6rc_repo_cleanup.c @@ -14,10 +14,10 @@ #include <s6-rc/repo.h> -static inline int sub_cleanup (char const *sub) +static inline int rx_cleanup (char const *rx) { - size_t sublen = strlen(sub) ; - DIR *dir = opendir(sub) ; + size_t rxlen = strlen(rx) ; + DIR *dir = opendir(rx) ; if (!dir) return 0 ; for (;;) { @@ -29,10 +29,10 @@ static inline int sub_cleanup (char const *sub) if (d->d_name[0] == '.') continue ; len = strlen(d->d_name) ; { - char fn[sublen + len + 2] ; - memcpy(fn, sub, sublen) ; - fn[sublen] = '/' ; - memcpy(fn + sublen + 1, d->d_name, len + 1) ; + char fn[rxlen + len + 2] ; + memcpy(fn, rx, rxlen) ; + fn[rxlen] = '/' ; + memcpy(fn + rxlen + 1, d->d_name, len + 1) ; if (access(fn, F_OK) == 0) { struct stat st ; @@ -77,7 +77,7 @@ static inline int set_cleanup (char const *set) memcpy(fn, set, setlen) ; fn[setlen] = '/' ; memcpy(fn + setlen + 1, d->d_name, len + 1) ; - if (!sub_cleanup(fn)) break ; + if (!rx_cleanup(fn)) break ; } } dir_close(dir) ; diff --git a/src/repo/s6rc_repo_compile.c b/src/repo/s6rc_repo_compile.c index 01134af..64f8879 100644 --- a/src/repo/s6rc_repo_compile.c +++ b/src/repo/s6rc_repo_compile.c @@ -16,11 +16,11 @@ #include <s6-rc/config.h> #include <s6-rc/repo.h> -int s6rc_repo_compile (char const *repo, char const *set, char const *const *subs, uint8_t nsubs, char *oldc, unsigned int verbosity, char const *fdhuser) +int s6rc_repo_compile (char const *repo, char const *set, char const *const *rxs, uint8_t nrxs, char *oldc, unsigned int verbosity, char const *fdhuser) { size_t repolen = strlen(repo) ; size_t setlen = strlen(set) ; - size_t totsublen = 0 ; + size_t totrxlen = 0 ; int needprefix = strcmp(set, ".ref") ; char newc[repolen + setlen + 45] ; memcpy(newc, repo, repolen) ; @@ -31,15 +31,15 @@ int s6rc_repo_compile (char const *repo, char const *set, char const *const *sub memcpy(newc + repolen + 37 + setlen, ":XXXXXX", 8) ; memcpy(oldc, newc, repolen + 10) ; if (mkntemp(newc) == -1) { strerr_warnfu2sys("mkntemp ", newc) ; return -1 ; } - for (uint8_t i = 0 ; i < nsubs ; i++) totsublen += strlen(subs[i]) + 1 ; + for (uint8_t i = 0 ; i < nrxs ; i++) totrxlen += strlen(rxs[i]) + 1 ; { pid_t pid ; size_t m = 0 ; int wstat ; - char const *argv[9 + nsubs] ; + char const *argv[9 + nrxs] ; char fmtv[UINT_FMT] ; - char src[nsubs * (repolen + 10 + (needprefix ? setlen + 1 : 0)) + totsublen] ; + char src[nrxs * (repolen + 10 + (needprefix ? setlen + 1 : 0)) + totrxlen] ; char *w = src ; fmtv[uint_fmt(fmtv, verbosity)] = 0 ; argv[m++] = S6RC_BINPREFIX "s6-rc-compile" ; @@ -53,9 +53,9 @@ int s6rc_repo_compile (char const *repo, char const *set, char const *const *sub } argv[m++] = "--" ; argv[m++] = newc ; - for (uint8_t i = 0 ; i < nsubs ; i++) + for (uint8_t i = 0 ; i < nrxs ; i++) { - size_t sublen = strlen(subs[i]) ; + size_t rxlen = strlen(rxs[i]) ; argv[m++] = w ; memcpy(w, repo, repolen) ; w += repolen ; memcpy(w, "/sources/", 9) ; w += 9 ; @@ -64,7 +64,7 @@ int s6rc_repo_compile (char const *repo, char const *set, char const *const *sub memcpy(w, set, setlen) ; w += setlen ; *w++ = '/' ; } - memcpy(w, subs[i], sublen+1) ; w += sublen + 1 ; + memcpy(w, rxs[i], rxlen+1) ; w += rxlen + 1 ; } argv[m++] = 0 ; pid = cspawn(argv[0], argv, (char const *const *)environ, 0, 0, 0) ; diff --git a/src/repo/s6rc_repo_fillset.c b/src/repo/s6rc_repo_fillset.c index d7813be..d8d8aaf 100644 --- a/src/repo/s6rc_repo_fillset.c +++ b/src/repo/s6rc_repo_fillset.c @@ -36,7 +36,7 @@ int s6rc_repo_fillset (char const *repo, char const *set, char const *const *exi size_t len ; uint32_t flags ; direntry *d ; - uint8_t subi ; + uint8_t rxi ; errno = 0 ; d = readdir(dir) ; if (!d) break ; @@ -49,12 +49,12 @@ int s6rc_repo_fillset (char const *repo, char const *set, char const *const *exi memcpy(src + 15, d->d_name, len+1) ; if (n && bsearch(d->d_name, existing, n, sizeof(char const *), &str_bcmp)) continue ; if (s6rc_repo_getserviceflags(repo, d->d_name, &flags) <= 0) return 0 ; - if (flags & 1) subi = 3 ; - else if (flags & 2) subi = 2 ; - else subi = 1 ; + if (flags & 1) rxi = 3 ; + else if (flags & 2) rxi = 2 ; + else rxi = 1 ; memcpy(dst, setfn, repolen + 9 + setlen) ; dst[repolen + 9 + setlen] = '/' ; - memcpy(dst + repolen + 10 + setlen, s6rc_repo_subnames[subi], 6) ; + memcpy(dst + repolen + 10 + setlen, s6rc_repo_rxnames[rxi], 6) ; dst[repolen + setlen + 16] = '/' ; memcpy(dst + repolen + setlen + 17, d->d_name, len+1) ; if (symlink(src, dst) == -1) diff --git a/src/repo/s6rc_repo_fixset.c b/src/repo/s6rc_repo_fixset.c index d0252a0..ed66679 100644 --- a/src/repo/s6rc_repo_fixset.c +++ b/src/repo/s6rc_repo_fixset.c @@ -11,13 +11,13 @@ #include <s6-rc/repo.h> -static inline int s6rc_repo_fixsub (char const *repo, char const *set, uint8_t sub, s6rc_repo_sv *byname, char const **bysub, uint32_t ntot, uint32_t options, uint32_t const *subind, uint32_t const *subn, unsigned int verbosity, stralloc *sa, genalloc *badga, genalloc *gatmp) +static inline int s6rc_repo_fixrx (char const *repo, char const *set, uint8_t rx, s6rc_repo_sv *byname, char const **byrx, uint32_t ntot, uint32_t options, uint32_t const *rxind, uint32_t const *rxn, unsigned int verbosity, stralloc *sa, genalloc *badga, genalloc *gatmp) { size_t sabase = sa->len ; uint32_t const *bads ; uint32_t badn ; int e = 0 ; - if (!s6rc_repo_badsub(repo, set, bysub + subind[sub], subn[sub], sub, options & 1 ? 2 : 1, byname, ntot, sa, badga, gatmp)) return 111 ; + if (!s6rc_repo_badrx(repo, set, byrx + rxind[rx], rxn[rx], rx, options & 1 ? 2 : 1, byname, ntot, sa, badga, gatmp)) return 111 ; bads = genalloc_s(uint32_t, badga) ; badn = genalloc_len(uint32_t, badga) ; if (!badn) return 0 ; @@ -28,12 +28,12 @@ static inline int s6rc_repo_fixsub (char const *repo, char const *set, uint8_t s { tomove[j] = byname[bads[j]] ; if (verbosity >= 2) - strerr_warni(options & 4 ? "(dry run) " : "", "in set ", set, " of repository ", repo, ": ", "moving service ", sa->s + tomove[j].pos, " from ", s6rc_repo_subnames[tomove[j].sub], " to ", s6rc_repo_subnames[sub]) ; - else if (tomove[j].sub == 0 && verbosity) - strerr_warnw(options & 4 ? "(dry run) " : "", "service ", sa->s + tomove[j].pos, " will be unmasked by an upfix to ", s6rc_repo_subnames[sub]) ; - else if (sub == 0 && verbosity) - strerr_warnw(options & 4 ? "(dry run) " : "", "service ", sa->s + tomove[j].pos, " will be masked by a downfix to ", s6rc_repo_subnames[sub]) ; - if (tomove[j].sub == 3) + strerr_warni(options & 4 ? "(dry run) " : "", "in set ", set, " of repository ", repo, ": ", "moving service ", sa->s + tomove[j].pos, " from ", s6rc_repo_rxnames[tomove[j].rx], " to ", s6rc_repo_rxnames[rx]) ; + else if (tomove[j].rx == 0 && verbosity) + strerr_warnw(options & 4 ? "(dry run) " : "", "service ", sa->s + tomove[j].pos, " will be unmasked by an upfix to ", s6rc_repo_rxnames[rx]) ; + else if (rx == 0 && verbosity) + strerr_warnw(options & 4 ? "(dry run) " : "", "service ", sa->s + tomove[j].pos, " will be masked by a downfix to ", s6rc_repo_rxnames[rx]) ; + if (tomove[j].rx == 3) { if (!(options & 2)) { @@ -47,14 +47,14 @@ static inline int s6rc_repo_fixsub (char const *repo, char const *set, uint8_t s } } else if (verbosity) - strerr_warnw(options & 4 ? "(dry run) " : "", "service ", sa->s + tomove[j].pos, " will automatically be marked non-essential by a downfix to ", s6rc_repo_subnames[sub]) ; + strerr_warnw(options & 4 ? "(dry run) " : "", "service ", sa->s + tomove[j].pos, " will automatically be marked non-essential by a downfix to ", s6rc_repo_rxnames[rx]) ; } } if (!(options & 4)) { - if (!s6rc_repo_moveservices(repo, set, tomove, badn, sub, sa->s, verbosity)) { e = 111 ; goto err ; } + if (!s6rc_repo_moveservices(repo, set, tomove, badn, rx, sa->s, verbosity)) { e = 111 ; goto err ; } } - for (uint32_t j = 0 ; j < badn ; j++) byname[bads[j]].sub = sub ; + for (uint32_t j = 0 ; j < badn ; j++) byname[bads[j]].rx = rx ; err: genalloc_setlen(uint32_t, badga, 0) ; @@ -67,25 +67,25 @@ int s6rc_repo_fixset (char const *repo, char const *set, uint32_t options, unsig int e = 0 ; size_t sabase = sa->len ; uint32_t ntot ; - uint32_t subind[4] ; - uint32_t sublen[4] ; + uint32_t rxind[4] ; + uint32_t rxlen[4] ; s6rc_repo_sv *byname ; genalloc_setlen(s6rc_repo_sv, svlist, 0) ; - if (!s6rc_repo_makesvlist(repo, set, sa, svlist, subind)) return 0 ; + if (!s6rc_repo_makesvlist(repo, set, sa, svlist, rxind)) return 0 ; byname = genalloc_s(s6rc_repo_sv, svlist) ; ntot = genalloc_len(s6rc_repo_sv, svlist) ; if (!ntot) return 0 ; - for (uint8_t sub = 0 ; sub < 4 ; sub++) sublen[sub] = (sub == 3 ? ntot : subind[sub+1]) - subind[sub] ; + for (uint8_t rx = 0 ; rx < 4 ; rx++) rxlen[rx] = (rx == 3 ? ntot : rxind[rx+1]) - rxind[rx] ; - char const *bysub[ntot] ; - char bysub_storage[sa->len - sabase] ; - memcpy(bysub_storage, sa->s + sabase, sa->len - sabase) ; - for (uint32_t i = 0 ; i < ntot ; i++) bysub[i] = bysub_storage + byname[i].pos - sabase ; + char const *byrx[ntot] ; + char byrx_storage[sa->len - sabase] ; + memcpy(byrx_storage, sa->s + sabase, sa->len - sabase) ; + for (uint32_t i = 0 ; i < ntot ; i++) byrx[i] = byrx_storage + byname[i].pos - sabase ; qsortr(byname, ntot, sizeof(s6rc_repo_sv), &s6rc_repo_sv_cmpr, sa->s) ; - for (uint8_t sub = 0 ; sub < 4 ; sub++) if (sublen[sub]) + for (uint8_t rx = 0 ; rx < 4 ; rx++) if (rxlen[rx]) { - e = s6rc_repo_fixsub(repo, set, sub, byname, bysub, ntot, options, subind, sublen, verbosity, sa, badga, gatmp) ; + e = s6rc_repo_fixrx(repo, set, rx, byname, byrx, ntot, options, rxind, rxlen, verbosity, sa, badga, gatmp) ; if (e) break ; } diff --git a/src/repo/s6rc_repo_listsub.c b/src/repo/s6rc_repo_listrx.c index f6fa7c5..5f10ab7 100644 --- a/src/repo/s6rc_repo_listsub.c +++ b/src/repo/s6rc_repo_listrx.c @@ -4,17 +4,17 @@ #include <s6-rc/repo.h> -int s6rc_repo_listsub (char const *repo, char const *set, char const *sub, stralloc *sa, genalloc *ga) +int s6rc_repo_listrx (char const *repo, char const *set, char const *rx, stralloc *sa, genalloc *ga) { size_t repolen = strlen(repo) ; size_t setlen = strlen(set) ; - size_t sublen = strlen(sub) ; - char fn[repolen + setlen + 11 + sublen] ; + size_t rxlen = strlen(rx) ; + char fn[repolen + setlen + 11 + rxlen] ; memcpy(fn, repo, repolen) ; memcpy(fn + repolen, "/sources/", 9) ; memcpy(fn + repolen + 9, set, setlen) ; fn[repolen + 9 + setlen] = '/' ; - memcpy(fn + repolen + 10 + setlen, sub, sublen + 1) ; + memcpy(fn + repolen + 10 + setlen, rx, rxlen + 1) ; return s6rc_repo_ls(fn, sa, ga) ; } diff --git a/src/repo/s6rc_repo_makedefbundle.c b/src/repo/s6rc_repo_makedefbundle.c index e56fa74..c31262f 100644 --- a/src/repo/s6rc_repo_makedefbundle.c +++ b/src/repo/s6rc_repo_makedefbundle.c @@ -24,7 +24,7 @@ int s6rc_repo_makedefbundle (char const *repo, char const *set, char const *bund mode_t m ; DIR *dir ; char bfn[bfnlen + 1] ; - char subfn[repolen + setlen + 17] ; + char rxfn[repolen + setlen + 17] ; memcpy(bfn, repo, repolen) ; memcpy(bfn + repolen, "/sources/.atomics/", 18) ; @@ -71,14 +71,14 @@ int s6rc_repo_makedefbundle (char const *repo, char const *set, char const *bund } memcpy(bfn + repolen + setlen + 18 + bundlelen, "contents.d/", 11) ; - memcpy(subfn, bfn, repolen + 10 + setlen) ; - for (uint8_t sub = 2 ; sub < 4 ; sub++) + memcpy(rxfn, bfn, repolen + 10 + setlen) ; + for (uint8_t rx = 2 ; rx < 4 ; rx++) { - memcpy(subfn + repolen + 10 + setlen, s6rc_repo_subnames[sub], 7) ; - dir = opendir(subfn) ; + memcpy(rxfn + repolen + 10 + setlen, s6rc_repo_rxnames[rx], 7) ; + dir = opendir(rxfn) ; if (!dir) { - strerr_warnfu2sys("opendir ", subfn) ; + strerr_warnfu2sys("opendir ", rxfn) ; return 0 ; } @@ -104,7 +104,7 @@ int s6rc_repo_makedefbundle (char const *repo, char const *set, char const *bund dir_close(dir) ; if (errno) { - strerr_warnfu2sys("readdir ", subfn) ; + strerr_warnfu2sys("readdir ", rxfn) ; return 0 ; } } diff --git a/src/repo/s6rc_repo_makesetbundles.c b/src/repo/s6rc_repo_makesetbundles.c index 5053ac5..91ab05d 100644 --- a/src/repo/s6rc_repo_makesetbundles.c +++ b/src/repo/s6rc_repo_makesetbundles.c @@ -57,10 +57,10 @@ int s6rc_repo_makesetbundles (char const *repo, char const *set, unsigned int ve return 0 ; } - n = s6rc_repo_listsub(repo, set, s6rc_repo_subnames[0], &sa, &ga) ; + n = s6rc_repo_listrx(repo, set, s6rc_repo_rxnames[0], &sa, &ga) ; if (n < 0) { - strerr_warnfu6sys("list sub ", s6rc_repo_subnames[0], " of set ", set, " in repository ", repo) ; + strerr_warnfu6sys("list rx ", s6rc_repo_rxnames[0], " of set ", set, " in repository ", repo) ; goto err ; } diff --git a/src/repo/s6rc_repo_makesvlist.c b/src/repo/s6rc_repo_makesvlist.c index f7f51c9..d00aada 100644 --- a/src/repo/s6rc_repo_makesvlist.c +++ b/src/repo/s6rc_repo_makesvlist.c @@ -12,13 +12,13 @@ #include <s6-rc/repo.h> -static inline int s6rc_repo_addsub (char const *sub, uint8_t i, stralloc *sa, genalloc *ga) +static inline int s6rc_repo_addrx (char const *rx, uint8_t i, stralloc *sa, genalloc *ga) { - DIR *dir = opendir(sub) ; - if (!dir) { strerr_warnfu2sys("opendir ", sub) ; return 0 ; } + DIR *dir = opendir(rx) ; + if (!dir) { strerr_warnfu2sys("opendir ", rx) ; return 0 ; } for (;;) { - s6rc_repo_sv sv = { .pos = sa->len, .sub = i } ; + s6rc_repo_sv sv = { .pos = sa->len, .rx = i } ; direntry *d ; errno = 0 ; d = readdir(dir) ; @@ -29,7 +29,7 @@ static inline int s6rc_repo_addsub (char const *sub, uint8_t i, stralloc *sa, ge || !genalloc_append(s6rc_repo_sv, ga, &sv)) goto nomem ; } dir_close(dir) ; - if (errno) { strerr_warnfu2sys("readdir ", sub) ; return 0 ; } + if (errno) { strerr_warnfu2sys("readdir ", rx) ; return 0 ; } return 1 ; nomem: @@ -43,17 +43,17 @@ int s6rc_repo_makesvlist (char const *repo, char const *set, stralloc *sa, genal size_t setlen = strlen(set) ; size_t sabase = sa->len ; size_t gabase = genalloc_len(s6rc_repo_sv, ga) ; - char subfn[repolen + setlen + 17] ; + char rxfn[repolen + setlen + 17] ; - memcpy(subfn, repo, repolen) ; - memcpy(subfn + repolen, "/sources/", 9) ; - memcpy(subfn + repolen + 9, set, setlen) ; - subfn[repolen + 9 + setlen] = '/' ; + memcpy(rxfn, repo, repolen) ; + memcpy(rxfn + repolen, "/sources/", 9) ; + memcpy(rxfn + repolen + 9, set, setlen) ; + rxfn[repolen + 9 + setlen] = '/' ; for (uint8_t i = 0 ; i < 4 ; i++) { if (tab) tab[i] = genalloc_len(s6rc_repo_sv, ga) ; - memcpy(subfn + repolen + setlen + 10, s6rc_repo_subnames[i], 7) ; - if (!s6rc_repo_addsub(subfn, i, sa, ga)) goto err ; + memcpy(rxfn + repolen + setlen + 10, s6rc_repo_rxnames[i], 7) ; + if (!s6rc_repo_addrx(rxfn, i, sa, ga)) goto err ; } return 1 ; diff --git a/src/repo/s6rc_repo_moveservices.c b/src/repo/s6rc_repo_moveservices.c index cac2052..5d0b5d1 100644 --- a/src/repo/s6rc_repo_moveservices.c +++ b/src/repo/s6rc_repo_moveservices.c @@ -10,7 +10,7 @@ #include <s6-rc/repo.h> -int s6rc_repo_moveservices (char const *repo, char const *set, s6rc_repo_sv const *services, uint32_t n, uint8_t newsub, char const *storage, unsigned int verbosity) +int s6rc_repo_moveservices (char const *repo, char const *set, s6rc_repo_sv const *services, uint32_t n, uint8_t newrx, char const *storage, unsigned int verbosity) { size_t repolen = strlen(repo) ; size_t setlen = strlen(set) ; @@ -28,19 +28,19 @@ int s6rc_repo_moveservices (char const *repo, char const *set, s6rc_repo_sv cons oldfn[repolen + 9 + setlen] = '/' ; oldfn[repolen + 16 + setlen] = '/' ; memcpy(newfn, oldfn, repolen + 10 + setlen) ; - memcpy(newfn + repolen + 10 + setlen, s6rc_repo_subnames[newsub], 6) ; + memcpy(newfn + repolen + 10 + setlen, s6rc_repo_rxnames[newrx], 6) ; newfn[repolen + 16 + setlen] = '/' ; for (uint32_t i = 0 ; i < n ; i++) { size_t len = strlen(storage + services[i].pos) ; - memcpy(oldfn + repolen + setlen + 10, s6rc_repo_subnames[services[i].sub], 6) ; + memcpy(oldfn + repolen + setlen + 10, s6rc_repo_rxnames[services[i].rx], 6) ; memcpy(oldfn + repolen + setlen + 17, storage + services[i].pos, len + 1) ; memcpy(newfn + repolen + setlen + 17, storage + services[i].pos, len + 1) ; if (access(newfn, F_OK) == 0) { if (verbosity >= 2) - strerr_warni8x("service ", storage + services[i].pos, " already existed in subset ", s6rc_repo_subnames[newsub], " of set ", set, " in repository ", repo) ; + strerr_warni8x("service ", storage + services[i].pos, " already existed in rxset ", s6rc_repo_rxnames[newrx], " of set ", set, " in repository ", repo) ; } else if (errno != ENOENT) { @@ -54,7 +54,7 @@ int s6rc_repo_moveservices (char const *repo, char const *set, s6rc_repo_sv cons } if (verbosity >= 4) { - strerr_warnt10x("repository ", repo, ", set ", set, ", from subset ", s6rc_repo_subnames[services[i].sub], " to subset ", s6rc_repo_subnames[newsub], ": successfully moved service ", storage + services[i].pos) ; + strerr_warnt10x("repository ", repo, ", set ", set, ", from rxset ", s6rc_repo_rxnames[services[i].rx], " to rxset ", s6rc_repo_rxnames[newrx], ": successfully moved service ", storage + services[i].pos) ; } } if (n) diff --git a/src/repo/s6rc_repo_rxnames.c b/src/repo/s6rc_repo_rxnames.c new file mode 100644 index 0000000..6b83f78 --- /dev/null +++ b/src/repo/s6rc_repo_rxnames.c @@ -0,0 +1,5 @@ +/* ISC license. */ + +#include <s6-rc/repo.h> + +char const s6rc_repo_rxnames[4][7] = { "masked", "usable", "active", "always" } ; diff --git a/src/repo/s6rc_repo_setcompile.c b/src/repo/s6rc_repo_setcompile.c index 5da136a..55f06ca 100644 --- a/src/repo/s6rc_repo_setcompile.c +++ b/src/repo/s6rc_repo_setcompile.c @@ -9,23 +9,23 @@ int s6rc_repo_setcompile (char const *repo, char const *set, char const *defbundle, char *oldc, unsigned int verbosity, char const *fdhuser) { - static char const *const subs[4] = { "bundle", s6rc_repo_subnames[1], s6rc_repo_subnames[2], s6rc_repo_subnames[3] } ; + static char const *const rxs[4] = { "bundle", s6rc_repo_rxnames[1], s6rc_repo_rxnames[2], s6rc_repo_rxnames[3] } ; int r ; if (!s6rc_repo_makesetbundles(repo, set, verbosity)) return -1 ; if (!s6rc_repo_makedefbundle(repo, set, defbundle)) return -1 ; - r = s6rc_repo_compile(repo, set, subs, 4, oldc, verbosity, fdhuser) ; + r = s6rc_repo_compile(repo, set, rxs, 4, oldc, verbosity, fdhuser) ; { int e = errno ; size_t repolen = strlen(repo) ; size_t setlen = strlen(set) ; - size_t sublen = strlen(subs[0]) ; - char fn[repolen + setlen + 11 + sublen] ; + size_t rxlen = strlen(rxs[0]) ; + char fn[repolen + setlen + 11 + rxlen] ; memcpy(fn, repo, repolen) ; memcpy(fn + repolen, "/sources/", 9) ; memcpy(fn + repolen + 9, set, setlen) ; fn[repolen + 9 + setlen] = '/' ; - memcpy(fn + repolen + setlen + 10, subs[0], sublen + 1) ; + memcpy(fn + repolen + setlen + 10, rxs[0], rxlen + 1) ; rm_rf(fn) ; errno = e ; } diff --git a/src/repo/s6rc_repo_subnames.c b/src/repo/s6rc_repo_subnames.c deleted file mode 100644 index 2653f01..0000000 --- a/src/repo/s6rc_repo_subnames.c +++ /dev/null @@ -1,5 +0,0 @@ -/* ISC license. */ - -#include <s6-rc/repo.h> - -char const s6rc_repo_subnames[4][7] = { "masked", "usable", "active", "always" } ; diff --git a/src/repo/s6rc_repo_sync.c b/src/repo/s6rc_repo_sync.c index aecbd7c..d14e86f 100644 --- a/src/repo/s6rc_repo_sync.c +++ b/src/repo/s6rc_repo_sync.c @@ -159,9 +159,9 @@ int s6rc_repo_sync (char const *repo, unsigned int verbosity, char const *fdhuse /* Compile the reference db - also checks consistency of new stores */ { - char const *subs[2] = { ato + repolen + 9, bun + repolen + 9 } ; + char const *rxs[2] = { ato + repolen + 9, bun + repolen + 9 } ; char oldc[repolen + 49] ; - int r = s6rc_repo_compile(repo, ".ref", subs, 2, oldc, verbosity, fdhuser) ; + int r = s6rc_repo_compile(repo, ".ref", rxs, 2, oldc, verbosity, fdhuser) ; if (r < 0) goto err ; if (!r) { cleanup(ato, bun) ; return 0 ; } if (r == 2) rm_rf(oldc) ; diff --git a/src/repo/s6rc_repo_syncset_tmp.c b/src/repo/s6rc_repo_syncset_tmp.c index 963a87a..1ce807d 100644 --- a/src/repo/s6rc_repo_syncset_tmp.c +++ b/src/repo/s6rc_repo_syncset_tmp.c @@ -15,20 +15,20 @@ #include <s6-rc/repo.h> -static int unlink_stales_in_sub (char const *repo, size_t repolen, char const *set, uint8_t sub, stralloc *sa, genalloc *ga, unsigned int verbosity) +static int unlink_stales_in_rx (char const *repo, size_t repolen, char const *set, uint8_t rx, stralloc *sa, genalloc *ga, unsigned int verbosity) { size_t setlen = strlen(set) ; - size_t subfnlen = repolen + setlen + 16 ; - char subfn[subfnlen + 1] ; - memcpy(subfn, repo, repolen) ; - memcpy(subfn + repolen, "/sources/", 9) ; - memcpy(subfn + repolen + 9, set, setlen) ; - subfn[repolen + 9 + setlen] = '/' ; - memcpy(subfn + repolen + 10 + setlen, s6rc_repo_subnames[sub], 7) ; - DIR *dir = opendir(subfn) ; + size_t rxfnlen = repolen + setlen + 16 ; + char rxfn[rxfnlen + 1] ; + memcpy(rxfn, repo, repolen) ; + memcpy(rxfn + repolen, "/sources/", 9) ; + memcpy(rxfn + repolen + 9, set, setlen) ; + rxfn[repolen + 9 + setlen] = '/' ; + memcpy(rxfn + repolen + 10 + setlen, s6rc_repo_rxnames[rx], 7) ; + DIR *dir = opendir(rxfn) ; if (!dir) { - strerr_warnfu2sys("opendir ", subfn) ; + strerr_warnfu2sys("opendir ", rxfn) ; return 0 ; } for (;;) @@ -40,10 +40,10 @@ static int unlink_stales_in_sub (char const *repo, size_t repolen, char const *s if (!d) break ; if (d->d_name[0] == '.') continue ; len = strlen(d->d_name) ; - char fn[subfnlen + len + 2] ; - memcpy(fn, subfn, subfnlen) ; - fn[subfnlen] = '/' ; - memcpy(fn + subfnlen + 1, d->d_name, len+1) ; + char fn[rxfnlen + len + 2] ; + memcpy(fn, rxfn, rxfnlen) ; + fn[rxfnlen] = '/' ; + memcpy(fn + rxfnlen + 1, d->d_name, len+1) ; if (access(fn, F_OK) == -1) { if (errno != ENOENT) @@ -53,7 +53,7 @@ static int unlink_stales_in_sub (char const *repo, size_t repolen, char const *s } unlink_void(fn) ; if (verbosity >= 3) - strerr_warni6x("service ", d->d_name, " does not exist anymore, removed from sub ", s6rc_repo_subnames[sub], " of set ", set) ; + strerr_warni6x("service ", d->d_name, " does not exist anymore, removed from rx ", s6rc_repo_rxnames[rx], " of set ", set) ; } else { @@ -63,7 +63,7 @@ static int unlink_stales_in_sub (char const *repo, size_t repolen, char const *s } if (errno) { - strerr_warnfu2sys("readdir ", subfn) ; + strerr_warnfu2sys("readdir ", rxfn) ; goto err ; } @@ -81,8 +81,8 @@ int s6rc_repo_syncset_tmp (char const *repo, char const *set, stralloc *sa, gena size_t sabase = sa->len ; size_t gabase = genalloc_len(size_t, ga) ; - for (uint8_t sub = 0 ; sub < 4 ; sub++) - if (!unlink_stales_in_sub(repo, repolen, set, sub, sa, ga, verbosity)) goto err ; + for (uint8_t rx = 0 ; rx < 4 ; rx++) + if (!unlink_stales_in_rx(repo, repolen, set, rx, sa, ga, verbosity)) goto err ; { uint32_t n = genalloc_len(size_t, ga) ; |
