19 #ifndef SBUILD_RUN_PARTS_H
20 #define SBUILD_RUN_PARTS_H
22 #include <sbuild/custom-error.h>
23 #include <sbuild/environment.h>
24 #include <sbuild/types.h>
29 #include <sys/types.h>
130 template <
class charT,
class traits>
132 std::basic_ostream<charT,traits>&
133 operator << (std::basic_ostream<charT,traits>& stream,
138 for (
const auto& program : rhs.programs)
139 stream << program <<
'\n';
143 for (program_set::const_reverse_iterator pos = rhs.programs.rbegin();
144 pos != rhs.programs.rend();
146 stream << *pos <<
'\n';
int run_child(const std::string &file, const string_list &command, const environment &env)
Run the command specified by file (an absolute pathname), using command and env as the argv and envir...
Definition: run-parts.cc:158
Debian source builder components.
Definition: ctty.cc:31
void set_reverse(bool reverse)
Set the script execution order.
Definition: run-parts.cc:110
void set_verbose(bool verbose)
Set the verbosity level.
Definition: run-parts.cc:98
program_set programs
The list of scripts to run.
Definition: run-parts.h:194
Wait for child failed.
Definition: run-parts.h:45
bool abort_on_error
Whether to abort on script execution error.
Definition: run-parts.h:184
Container of environment variables.
Definition: environment.h:38
int run(const string_list &command, const environment &env)
Run all scripts in the specified directory.
Definition: run-parts.cc:116
bool get_verbose() const
Get the verbosity level.
Definition: run-parts.cc:92
bool lsb_mode
The LSB mode for allowed filenames.
Definition: run-parts.h:182
run_parts(const std::string &directory, bool lsb_mode=true, bool abort_on_error=true, mode_t umask=022)
The constructor.
Definition: run-parts.cc:53
bool get_reverse() const
Get the script execution order.
Definition: run-parts.cc:104
error_code
Error codes.
Definition: run-parts.h:42
Failed to create pipe.
Definition: run-parts.h:47
Failed to poll file descriptor.
Definition: run-parts.h:49
bool verbose
Verbose logging.
Definition: run-parts.h:188
std::vector< std::string > string_list
A string vector.
Definition: types.h:38
Custom error.
Definition: custom-error.h:31
Failed to execute.
Definition: run-parts.h:46
Failed to read file descriptor.
Definition: run-parts.h:50
custom_error< error_code > error
Exception type.
Definition: run-parts.h:54
mode_t umask
The umask to run scripts with.
Definition: run-parts.h:186
Run all scripts or programs within a directory.
Definition: run-parts.h:38
bool reverse
Execute scripts in reverse order.
Definition: run-parts.h:190
Failed to duplicate file descriptor.
Definition: run-parts.h:48
~run_parts()
The destructor.
Definition: run-parts.cc:87
void wait_for_child(pid_t pid, int &child_status)
Wait for a child process to complete, and check its exit status.
Definition: run-parts.cc:347
std::string directory
The directory to run scripts from.
Definition: run-parts.h:192
std::set< std::string > program_set
A sorted set of filenames to use.
Definition: run-parts.h:179
Failed to fork child.
Definition: run-parts.h:44