log: minimize includes in log.h

log.h really should only include the bare minimum of other headers, as
it is really pulled into pretty much everything else and already in
itself one of the most basic pieces of code we have.

Let's hence drop inclusion of:

1. sd-id128.h because it's entirely unneeded in current log.h
2. errno.h, dito.
3. sys/signalfd.h which we can replace by a simple struct forward
   declaration
4. process-util.h which was needed for getpid_cached() which we now hide
   in a funciton log_emergency_level() instead, which nicely abstracts
   the details away.
5. sys/socket.h which was needed for struct iovec, but a simple struct
   forward declaration suffices for that too.

Ultimately this actually makes our source tree larger (since users of
the functionality above must now include it themselves, log.h won't do
that for them), but I think it helps to untangle our web of includes a
tiny bit.

(Background: I'd like to isolate the generic bits of src/basic/ enough
so that we can do a git submodule import into casync for it)
This commit is contained in:
Lennart Poettering 2018-01-11 00:39:12 +01:00
parent 1a86b08513
commit dccca82b1a
82 changed files with 127 additions and 25 deletions

View File

@ -20,6 +20,8 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
#include <sys/socket.h>
#include "string-util.h"
const char *af_to_name(int id);

View File

@ -35,6 +35,7 @@
#include "fileio.h"
#include "macro.h"
#include "parse-util.h"
#include "process-util.h"
#include "string-util.h"
#include "time-util.h"

View File

@ -18,6 +18,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
#include <errno.h>
#include <string.h>
#include "errno-list.h"

View File

@ -18,6 +18,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
#include <errno.h>
#include <net/ethernet.h>
#include <stdio.h>
#include <sys/types.h>

View File

@ -39,6 +39,7 @@
#include "mkdir.h"
#include "parse-util.h"
#include "path-util.h"
#include "process-util.h"
#include "stat-util.h"
#include "stdio-util.h"
#include "string-util.h"

View File

@ -4,8 +4,6 @@
* Copyright 2000, 2005 Red Hat, Inc.
*/
#include <stdlib.h>
#include "gunicode.h"
#define unichar uint32_t

View File

@ -19,6 +19,8 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
#include <string.h>
#include "hash-funcs.h"
void string_hash_func(const void *p, struct siphash *state) {

View File

@ -21,6 +21,7 @@
***/
#include <stdbool.h>
#include <stdio.h>
#include "macro.h"

View File

@ -18,6 +18,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
#include <errno.h>
#include <unistd.h>
#include "alloc-util.h"

View File

@ -1239,7 +1239,6 @@ void log_received_signal(int level, const struct signalfd_siginfo *si) {
log_full(level,
"Received SIG%s.",
signal_to_string(si->ssi_signo));
}
int log_syntax_internal(
@ -1300,3 +1299,10 @@ void log_set_always_reopen_console(bool b) {
void log_set_open_when_needed(bool b) {
open_when_needed = b;
}
int log_emergency_level(void) {
/* Returns the log level to use for log_emergency() logging. We use LOG_EMERG only when we are PID 1, as only
* then the system of the whole system is obviously affected. */
return getpid_cached() == 1 ? LOG_EMERG : LOG_ERR;
}

View File

@ -20,18 +20,16 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
#include <errno.h>
#include <stdarg.h>
#include <stdbool.h>
#include <stdlib.h>
#include <sys/signalfd.h>
#include <sys/socket.h>
#include <syslog.h>
#include "sd-id128.h"
#include "macro.h"
#include "process-util.h"
/* Some structures we reference but don't want to pull in headers for */
struct iovec;
struct signalfd_siginfo;
typedef enum LogRealm {
LOG_REALM_SYSTEMD,
@ -194,7 +192,7 @@ int log_struct_iovec_internal(
const char *file,
int line,
const char *func,
const struct iovec input_iovec[],
const struct iovec *input_iovec,
size_t n_input_iovec);
/* This modifies the buffer passed! */
@ -252,13 +250,15 @@ void log_assert_failed_return_realm(
#define log_full(level, ...) log_full_errno((level), 0, __VA_ARGS__)
int log_emergency_level(void);
/* Normal logging */
#define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__)
#define log_info(...) log_full(LOG_INFO, __VA_ARGS__)
#define log_notice(...) log_full(LOG_NOTICE, __VA_ARGS__)
#define log_warning(...) log_full(LOG_WARNING, __VA_ARGS__)
#define log_error(...) log_full(LOG_ERR, __VA_ARGS__)
#define log_emergency(...) log_full(getpid_cached() == 1 ? LOG_EMERG : LOG_ERR, __VA_ARGS__)
#define log_emergency(...) log_full(log_emergency_level(), __VA_ARGS__)
/* Logging triggered by an errno-like error */
#define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__)
@ -266,7 +266,7 @@ void log_assert_failed_return_realm(
#define log_notice_errno(error, ...) log_full_errno(LOG_NOTICE, error, __VA_ARGS__)
#define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__)
#define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__)
#define log_emergency_errno(error, ...) log_full_errno(getpid_cached() == 1 ? LOG_EMERG : LOG_ERR, error, __VA_ARGS__)
#define log_emergency_errno(error, ...) log_full_errno(log_emergency_level(), error, __VA_ARGS__)
#ifdef LOG_TRACE
# define log_trace(...) log_debug(__VA_ARGS__)

View File

@ -21,6 +21,7 @@
***/
#include <alloca.h>
#include <errno.h>
#include <sched.h>
#include <signal.h>
#include <stdbool.h>

View File

@ -21,11 +21,12 @@
#include <elf.h>
#include <errno.h>
#include <fcntl.h>
#include <stdbool.h>
#include <stdlib.h>
#include <sys/time.h>
#include <linux/random.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <sys/time.h>
#if HAVE_SYS_AUXV_H
# include <sys/auxv.h>

View File

@ -19,6 +19,7 @@
***/
#include <errno.h>
#include <stdio.h>
#include "alloc-util.h"
#include "extract-word.h"

View File

@ -41,6 +41,7 @@
#include "missing.h"
#include "parse-util.h"
#include "path-util.h"
#include "process-util.h"
#include "socket-util.h"
#include "string-table.h"
#include "string-util.h"

View File

@ -21,10 +21,11 @@
#include <dirent.h>
#include <errno.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <linux/magic.h>
#include <sched.h>
#include <sys/stat.h>
#include <sys/statvfs.h>
#include <sys/types.h>
#include <unistd.h>
#include "dirent-util.h"

View File

@ -38,6 +38,7 @@
#include "macro.h"
#include "parse-util.h"
#include "path-util.h"
#include "process-util.h"
#include "string-util.h"
#include "strv.h"
#include "time-util.h"

View File

@ -22,10 +22,12 @@
#include <getopt.h>
#include <stdbool.h>
#include <stddef.h>
#include <string.h>
#include "env-util.h"
#include "log.h"
#include "macro.h"
#include "process-util.h"
#include "string-util.h"
#include "verbs.h"
#include "virt.h"

View File

@ -36,6 +36,8 @@
#include <sys/statfs.h>
#include <unistd.h>
#include "sd-id128.h"
#include "alloc-util.h"
#include "blkid-util.h"
#include "bootspec.h"

View File

@ -41,6 +41,7 @@
#include "log.h"
#include "missing.h"
#include "mkdir.h"
#include "process-util.h"
#include "selinux-access.h"
#include "special.h"
#include "string-util.h"

View File

@ -20,6 +20,7 @@
#include <errno.h>
#include <stdlib.h>
#include <string.h>
#include "env-util.h"
#include "fileio.h"

View File

@ -38,6 +38,7 @@
#include "mount-setup.h"
#include "mount-util.h"
#include "path-util.h"
#include "process-util.h"
#include "signal-util.h"
#include "string-util.h"
#include "udev-util.h"

View File

@ -23,6 +23,8 @@
#include <shadow.h>
#include <unistd.h>
#include "sd-id128.h"
#include "alloc-util.h"
#include "ask-password-api.h"
#include "copy.h"

View File

@ -21,6 +21,7 @@
#include <getopt.h>
#include "sd-event.h"
#include "sd-id128.h"
#include "alloc-util.h"
#include "export-raw.h"

View File

@ -27,6 +27,7 @@
#include "capability-util.h"
#include "fd-util.h"
#include "import-common.h"
#include "process-util.h"
#include "signal-util.h"
#include "util.h"

View File

@ -21,6 +21,7 @@
#include <getopt.h>
#include "sd-event.h"
#include "sd-id128.h"
#include "alloc-util.h"
#include "fd-util.h"

View File

@ -21,6 +21,7 @@
#include <getopt.h>
#include "sd-event.h"
#include "sd-id128.h"
#include "alloc-util.h"
#include "hostname-util.h"

View File

@ -38,6 +38,7 @@
#include "log.h"
#include "special.h"
#include "util.h"
#include "process-util.h"
#define SERVER_FD_MAX 16
#define TIMEOUT_MSEC ((int) (DEFAULT_EXIT_USEC/USEC_PER_MSEC))

View File

@ -43,6 +43,7 @@
#include "journald-native.h"
#include "macro.h"
#include "parse-util.h"
#include "process-util.h"
#include "signal-util.h"
#include "socket-util.h"
#include "stat-util.h"

View File

@ -37,6 +37,7 @@
#include "log.h"
#include "mkdir.h"
#include "parse-util.h"
#include "process-util.h"
#include "sigbus.h"
#include "signal-util.h"
#include "string-util.h"

View File

@ -28,6 +28,7 @@
#include "journald-kmsg.h"
#include "journald-server.h"
#include "journald-syslog.h"
#include "process-util.h"
#include "sigbus.h"
int main(int argc, char *argv[]) {

View File

@ -48,6 +48,7 @@
#include "lookup3.h"
#include "missing.h"
#include "path-util.h"
#include "process-util.h"
#include "replace-var.h"
#include "stat-util.h"
#include "stdio-util.h"

View File

@ -23,6 +23,7 @@
#include "env-util.h"
#include "macro.h"
#include "parse-util.h"
#include "process-util.h"
#include "random-util.h"
#include "string-util.h"
#include "util.h"

View File

@ -22,6 +22,7 @@
#include <linux/if.h>
#include <netinet/ether.h>
#include "sd-id128.h"
#include "sd-ndisc.h"
#include "alloc-util.h"

View File

@ -28,6 +28,7 @@
#include "dhcp-server-internal.h"
#include "fd-util.h"
#include "in-addr-util.h"
#include "sd-id128.h"
#include "siphash24.h"
#include "string-util.h"
#include "unaligned.h"

View File

@ -25,6 +25,7 @@
#include <stdlib.h>
#include <string.h>
#include "sd-id128.h"
#include "sd-ipv4acd.h"
#include "sd-ipv4ll.h"

View File

@ -20,6 +20,7 @@
***/
#include <arpa/inet.h>
#include <errno.h>
#include <net/ethernet.h>
#include <stdio.h>
#include <string.h>

View File

@ -33,6 +33,7 @@
#include "bus-message.h"
#include "bus-util.h"
#include "capability-util.h"
#include "process-util.h"
#include "stdio-util.h"
#include "string-util.h"
#include "strv.h"

View File

@ -18,6 +18,11 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
#include <errno.h>
#include <string.h>
#include "sd-bus.h"
#include "bus-gvariant.h"
#include "bus-signature.h"
#include "bus-type.h"

View File

@ -20,6 +20,8 @@
#include <util.h>
#include "sd-bus.h"
#include "bus-signature.h"
#include "bus-type.h"

View File

@ -38,6 +38,7 @@
#include "macro.h"
#include "missing.h"
#include "path-util.h"
#include "process-util.h"
#include "selinux-util.h"
#include "signal-util.h"
#include "stdio-util.h"

View File

@ -18,6 +18,10 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
#include <errno.h>
#include "sd-bus.h"
#include "bus-type.h"
bool bus_type_is_valid(char c) {

View File

@ -22,8 +22,6 @@
#include <stdbool.h>
#include "sd-bus.h"
#include "macro.h"
bool bus_type_is_valid(char c) _const_;

View File

@ -50,6 +50,7 @@
#include "macro.h"
#include "missing.h"
#include "parse-util.h"
#include "process-util.h"
#include "string-util.h"
#include "strv.h"
#include "util.h"

View File

@ -18,6 +18,9 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
#include <errno.h>
#include <sys/socket.h>
#include "sd-bus.h"
#include "macro.h"

View File

@ -39,6 +39,7 @@
#include "fs-util.h"
#include "parse-util.h"
#include "path-util.h"
#include "process-util.h"
#include "socket-util.h"
#include "strv.h"
#include "util.h"

View File

@ -27,6 +27,7 @@
#include "macro.h"
#include "signal-util.h"
#include "util.h"
#include "process-util.h"
static int prepare_handler(sd_event_source *s, void *userdata) {
log_info("preparing %c", PTR_TO_INT(userdata));

View File

@ -18,6 +18,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
#include <errno.h>
#include <fcntl.h>
#include <unistd.h>

View File

@ -30,6 +30,7 @@
#include "missing.h"
#include "netlink-internal.h"
#include "netlink-util.h"
#include "process-util.h"
#include "socket-util.h"
#include "util.h"

View File

@ -40,6 +40,7 @@
#include "missing.h"
#include "socket-util.h"
#include "util.h"
#include "process-util.h"
#define WORKERS_MIN 1U
#define WORKERS_MAX 16U

View File

@ -31,6 +31,7 @@
#include "fd-util.h"
#include "logind.h"
#include "parse-util.h"
#include "process-util.h"
#include "strv.h"
#include "terminal-util.h"
#include "udev-util.h"

View File

@ -29,17 +29,18 @@
#include "alloc-util.h"
#include "bus-error.h"
#include "bus-util.h"
#include "cgroup-util.h"
#include "conf-parser.h"
#include "def.h"
#include "dirent-util.h"
#include "fd-util.h"
#include "format-util.h"
#include "logind.h"
#include "process-util.h"
#include "selinux-util.h"
#include "signal-util.h"
#include "strv.h"
#include "udev-util.h"
#include "cgroup-util.h"
static void manager_free(Manager *m);

View File

@ -18,6 +18,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
#include <errno.h>
#include <fcntl.h>
#include <linux/if_tun.h>
#include <net/if.h>

View File

@ -18,8 +18,9 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
#include <net/if.h>
#include <errno.h>
#include <linux/veth.h>
#include <net/if.h>
#include "sd-netlink.h"

View File

@ -18,6 +18,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
#include <errno.h>
#include <linux/if_vlan.h>
#include <net/if.h>

View File

@ -22,6 +22,8 @@
#include <stdio.h>
#include "sd-id128.h"
#include "macro.h"
#include "nspawn-expose-ports.h"
#include "nspawn-mount.h"

View File

@ -23,6 +23,7 @@
#include <unistd.h>
#include "alloc-util.h"
#include "errno.h"
#include "fd-util.h"
#include "mkdir.h"
#include "nspawn-setuid.h"

View File

@ -28,6 +28,7 @@
#include "alloc-util.h"
#include "dissect-image.h"
#include "process-util.h"
#include "signal-util.h"
#include "string-util.h"

View File

@ -19,6 +19,7 @@
***/
#include <sys/socket.h>
#include <errno.h>
#include "dns-type.h"
#include "parse-util.h"

View File

@ -21,6 +21,8 @@
#include <net/if.h>
#include <glob.h>
#include "sd-id128.h"
#include "alloc-util.h"
#include "fileio.h"
#include "glob-util.h"

View File

@ -20,6 +20,8 @@
#include <stdio.h>
#include <linux/magic.h>
#include "sd-id128.h"
#include "alloc-util.h"
#include "blkid-util.h"
#include "bootspec.h"

View File

@ -22,6 +22,8 @@
#include <sys/prctl.h>
#include <sys/wait.h>
#include "sd-id128.h"
#include "architecture.h"
#include "ask-password-api.h"
#include "blkid-util.h"

View File

@ -22,6 +22,8 @@
#include <stdbool.h>
#include "sd-id128.h"
#include "macro.h"
typedef struct DissectedImage DissectedImage;

View File

@ -18,6 +18,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
#include <errno.h>
#include <fcntl.h>
#include <linux/loop.h>
#include <sys/ioctl.h>

View File

@ -20,6 +20,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef const char* (*lookup_t)(int);
typedef int (*reverse_t)(const char*);

View File

@ -18,6 +18,8 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
#include <errno.h>
#include "alloc-util.h"
#include "macro.h"
#include "parse-util.h"

View File

@ -23,6 +23,7 @@
#include "cgroup-util.h"
#include "path-util.h"
#include "process-util.h"
#include "string-util.h"
#include "util.h"

View File

@ -19,6 +19,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
#include <errno.h>
#include <stdlib.h>
#include <string.h>

View File

@ -18,6 +18,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
#include <errno.h>
#include <stdio.h>
#include "alloc-util.h"

View File

@ -18,6 +18,8 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
#include <errno.h>
#include "alloc-util.h"
#include "hexdecoct.h"
#include "macro.h"

View File

@ -23,6 +23,7 @@
#include "format-util.h"
#include "log.h"
#include "process-util.h"
#include "util.h"
assert_cc(LOG_REALM_REMOVE_LEVEL(LOG_REALM_PLUS_LEVEL(LOG_REALM_SYSTEMD, LOG_FTP | LOG_DEBUG))

View File

@ -18,6 +18,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
#include <errno.h>
#include <stdlib.h>
#include <unistd.h>

View File

@ -19,6 +19,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
#include <errno.h>
#include <locale.h>
#include <math.h>

View File

@ -23,6 +23,7 @@
#include "macro.h"
#include "signal-util.h"
#include "process-util.h"
static void test_block_signals(void) {
sigset_t ss;

View File

@ -19,6 +19,7 @@
***/
#include <stdio.h>
#include <string.h>
#include "time-util.h"

View File

@ -28,6 +28,7 @@
#include "in-addr-util.h"
#include "log.h"
#include "macro.h"
#include "process-util.h"
#include "socket-util.h"
#include "string-util.h"
#include "util.h"

View File

@ -29,6 +29,7 @@
#include "format-util.h"
#include "fs-util.h"
#include "log.h"
#include "process-util.h"
#include "string-util.h"
#include "util.h"

View File

@ -28,6 +28,7 @@
#include "fileio.h"
#include "fs-util.h"
#include "parse-util.h"
#include "process-util.h"
#include "raw-clone.h"
#include "rm-rf.h"
#include "string-util.h"

View File

@ -18,6 +18,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
#include <string.h>
#include <unistd.h>
#include "env-util.h"

View File

@ -21,6 +21,7 @@
#include <string.h>
#include <unistd.h>
#include "process-util.h"
#include "time-util.h"
#include "udev-util.h"
#include "udev.h"

View File

@ -18,6 +18,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
#include <errno.h>
#include <stdbool.h>
#include <stdlib.h>
#include <sys/stat.h>

View File

@ -18,14 +18,15 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
#include <errno.h>
#include <stdio.h>
#include <sys/stat.h>
#include "crypt-util.h"
#include "log.h"
#include "hexdecoct.h"
#include "string-util.h"
#include "alloc-util.h"
#include "crypt-util.h"
#include "hexdecoct.h"
#include "log.h"
#include "string-util.h"
static char *arg_root_hash = NULL;
static char *arg_data_what = NULL;