diff --git a/LICENSES/README.md b/LICENSES/README.md index 9b3325d57f..f68c451bfb 100644 --- a/LICENSES/README.md +++ b/LICENSES/README.md @@ -32,23 +32,23 @@ The following exceptions apply: * some sources under src/udev/ are licensed under **GPL-2.0-or-later**, so all udev programs (`systemd-udevd`, `udevadm`, and the udev builtins and test programs) are also distributed under **GPL-2.0-or-later**. - * the header files contained in src/basic/linux/ are copied + * the header files contained in src/basic/include/linux are copied verbatim from the Linux kernel source tree and are licensed under **GPL-2.0 WITH Linux-syscall-note** and are used within the scope of the Linux-syscall-note exception provisions * the following sources are licensed under the **LGPL-2.0-or-later** license: - src/basic/utf8.c - src/shared/initreq.h - * the src/basic/linux/bpf_insn.h header is copied from the Linux kernel + * the src/basic/include/linux/bpf_insn.h header is copied from the Linux kernel source tree and is licensed under either **BSD-2-Clause** or **GPL-2.0-only**, and thus is included in the systemd build under the BSD-2-Clause license. - * The src/basic/linux/wireguard.h header is copied from the Linux kernel + * The src/basic/include/linux/wireguard.h header is copied from the Linux kernel source tree and is licensed under either **MIT** or **GPL-2.0 WITH Linux-syscall-note**, and thus is included in the systemd build under the MIT license. * the following sources are licensed under the **MIT** license (in case of our scripts, to facilitate copying and reuse of those helpers to other projects): - hwdb.d/parse_hwdb.py - - src/basic/linux/batman_adv.h + - src/basic/include/linux/batman_adv.h - src/basic/sparse-endian.h - tools/catalog-report.py * the following sources are licensed under the **CC0-1.0** license: diff --git a/coccinelle/run-coccinelle.sh b/coccinelle/run-coccinelle.sh index c4bc29856d..19ae59e4e5 100755 --- a/coccinelle/run-coccinelle.sh +++ b/coccinelle/run-coccinelle.sh @@ -5,7 +5,7 @@ set -e # Exclude following paths from the Coccinelle transformations EXCLUDED_PATHS=( "src/boot/efi/*" - "src/basic/linux/*" + "src/basic/include/linux/*" # Symlinked to test-bus-vtable-cc.cc, which causes issues with the IN_SET macro "src/libsystemd/sd-bus/test-bus-vtable.c" "src/libsystemd/sd-journal/lookup3.c" diff --git a/meson.build b/meson.build index e90ae8f13f..ac68609643 100644 --- a/meson.build +++ b/meson.build @@ -2053,11 +2053,18 @@ boot_stubs = [] build_dir_include = include_directories('.') -basic_includes = include_directories( - 'src/basic', - 'src/fundamental', - 'src/systemd', - '.') +basic_includes = [ + include_directories( + 'src/basic', + 'src/fundamental', + 'src/systemd', + '.', + ), + include_directories( + 'src/basic/include', + is_system : true, + ), +] libsystemd_includes = [basic_includes, include_directories( 'src/libsystemd/sd-bus', diff --git a/src/basic/linux/auto_dev-ioctl.h b/src/basic/include/linux/auto_dev-ioctl.h similarity index 100% rename from src/basic/linux/auto_dev-ioctl.h rename to src/basic/include/linux/auto_dev-ioctl.h diff --git a/src/basic/linux/auto_fs.h b/src/basic/include/linux/auto_fs.h similarity index 100% rename from src/basic/linux/auto_fs.h rename to src/basic/include/linux/auto_fs.h diff --git a/src/basic/linux/batman_adv.h b/src/basic/include/linux/batman_adv.h similarity index 100% rename from src/basic/linux/batman_adv.h rename to src/basic/include/linux/batman_adv.h diff --git a/src/basic/linux/bpf.h b/src/basic/include/linux/bpf.h similarity index 100% rename from src/basic/linux/bpf.h rename to src/basic/include/linux/bpf.h diff --git a/src/basic/linux/bpf_common.h b/src/basic/include/linux/bpf_common.h similarity index 100% rename from src/basic/linux/bpf_common.h rename to src/basic/include/linux/bpf_common.h diff --git a/src/basic/linux/bpf_insn.h b/src/basic/include/linux/bpf_insn.h similarity index 100% rename from src/basic/linux/bpf_insn.h rename to src/basic/include/linux/bpf_insn.h diff --git a/src/basic/linux/btrfs.h b/src/basic/include/linux/btrfs.h similarity index 100% rename from src/basic/linux/btrfs.h rename to src/basic/include/linux/btrfs.h diff --git a/src/basic/linux/btrfs_tree.h b/src/basic/include/linux/btrfs_tree.h similarity index 100% rename from src/basic/linux/btrfs_tree.h rename to src/basic/include/linux/btrfs_tree.h diff --git a/src/basic/linux/can/netlink.h b/src/basic/include/linux/can/netlink.h similarity index 100% rename from src/basic/linux/can/netlink.h rename to src/basic/include/linux/can/netlink.h diff --git a/src/basic/linux/can/vxcan.h b/src/basic/include/linux/can/vxcan.h similarity index 100% rename from src/basic/linux/can/vxcan.h rename to src/basic/include/linux/can/vxcan.h diff --git a/src/basic/linux/capability.h b/src/basic/include/linux/capability.h similarity index 100% rename from src/basic/linux/capability.h rename to src/basic/include/linux/capability.h diff --git a/src/basic/linux/cfm_bridge.h b/src/basic/include/linux/cfm_bridge.h similarity index 100% rename from src/basic/linux/cfm_bridge.h rename to src/basic/include/linux/cfm_bridge.h diff --git a/src/basic/linux/const.h b/src/basic/include/linux/const.h similarity index 100% rename from src/basic/linux/const.h rename to src/basic/include/linux/const.h diff --git a/src/basic/linux/dm-ioctl.h b/src/basic/include/linux/dm-ioctl.h similarity index 100% rename from src/basic/linux/dm-ioctl.h rename to src/basic/include/linux/dm-ioctl.h diff --git a/src/basic/linux/ethtool.h b/src/basic/include/linux/ethtool.h similarity index 100% rename from src/basic/linux/ethtool.h rename to src/basic/include/linux/ethtool.h diff --git a/src/basic/linux/fib_rules.h b/src/basic/include/linux/fib_rules.h similarity index 100% rename from src/basic/linux/fib_rules.h rename to src/basic/include/linux/fib_rules.h diff --git a/src/basic/linux/filter.h b/src/basic/include/linux/filter.h similarity index 100% rename from src/basic/linux/filter.h rename to src/basic/include/linux/filter.h diff --git a/src/basic/linux/fou.h b/src/basic/include/linux/fou.h similarity index 100% rename from src/basic/linux/fou.h rename to src/basic/include/linux/fou.h diff --git a/src/basic/linux/fs.h b/src/basic/include/linux/fs.h similarity index 100% rename from src/basic/linux/fs.h rename to src/basic/include/linux/fs.h diff --git a/src/basic/linux/fscrypt.h b/src/basic/include/linux/fscrypt.h similarity index 100% rename from src/basic/linux/fscrypt.h rename to src/basic/include/linux/fscrypt.h diff --git a/src/basic/linux/genetlink.h b/src/basic/include/linux/genetlink.h similarity index 100% rename from src/basic/linux/genetlink.h rename to src/basic/include/linux/genetlink.h diff --git a/src/basic/linux/hdlc/ioctl.h b/src/basic/include/linux/hdlc/ioctl.h similarity index 100% rename from src/basic/linux/hdlc/ioctl.h rename to src/basic/include/linux/hdlc/ioctl.h diff --git a/src/basic/linux/hid.h b/src/basic/include/linux/hid.h similarity index 100% rename from src/basic/linux/hid.h rename to src/basic/include/linux/hid.h diff --git a/src/basic/linux/hidraw.h b/src/basic/include/linux/hidraw.h similarity index 100% rename from src/basic/linux/hidraw.h rename to src/basic/include/linux/hidraw.h diff --git a/src/basic/linux/if.h b/src/basic/include/linux/if.h similarity index 100% rename from src/basic/linux/if.h rename to src/basic/include/linux/if.h diff --git a/src/basic/linux/if_addr.h b/src/basic/include/linux/if_addr.h similarity index 100% rename from src/basic/linux/if_addr.h rename to src/basic/include/linux/if_addr.h diff --git a/src/basic/linux/if_addrlabel.h b/src/basic/include/linux/if_addrlabel.h similarity index 100% rename from src/basic/linux/if_addrlabel.h rename to src/basic/include/linux/if_addrlabel.h diff --git a/src/basic/linux/if_arp.h b/src/basic/include/linux/if_arp.h similarity index 100% rename from src/basic/linux/if_arp.h rename to src/basic/include/linux/if_arp.h diff --git a/src/basic/linux/if_bonding.h b/src/basic/include/linux/if_bonding.h similarity index 100% rename from src/basic/linux/if_bonding.h rename to src/basic/include/linux/if_bonding.h diff --git a/src/basic/linux/if_bridge.h b/src/basic/include/linux/if_bridge.h similarity index 100% rename from src/basic/linux/if_bridge.h rename to src/basic/include/linux/if_bridge.h diff --git a/src/basic/linux/if_ether.h b/src/basic/include/linux/if_ether.h similarity index 100% rename from src/basic/linux/if_ether.h rename to src/basic/include/linux/if_ether.h diff --git a/src/basic/linux/if_infiniband.h b/src/basic/include/linux/if_infiniband.h similarity index 100% rename from src/basic/linux/if_infiniband.h rename to src/basic/include/linux/if_infiniband.h diff --git a/src/basic/linux/if_link.h b/src/basic/include/linux/if_link.h similarity index 100% rename from src/basic/linux/if_link.h rename to src/basic/include/linux/if_link.h diff --git a/src/basic/linux/if_macsec.h b/src/basic/include/linux/if_macsec.h similarity index 100% rename from src/basic/linux/if_macsec.h rename to src/basic/include/linux/if_macsec.h diff --git a/src/basic/linux/if_packet.h b/src/basic/include/linux/if_packet.h similarity index 100% rename from src/basic/linux/if_packet.h rename to src/basic/include/linux/if_packet.h diff --git a/src/basic/linux/if_tun.h b/src/basic/include/linux/if_tun.h similarity index 100% rename from src/basic/linux/if_tun.h rename to src/basic/include/linux/if_tun.h diff --git a/src/basic/linux/if_tunnel.h b/src/basic/include/linux/if_tunnel.h similarity index 100% rename from src/basic/linux/if_tunnel.h rename to src/basic/include/linux/if_tunnel.h diff --git a/src/basic/linux/if_vlan.h b/src/basic/include/linux/if_vlan.h similarity index 100% rename from src/basic/linux/if_vlan.h rename to src/basic/include/linux/if_vlan.h diff --git a/src/basic/linux/in.h b/src/basic/include/linux/in.h similarity index 100% rename from src/basic/linux/in.h rename to src/basic/include/linux/in.h diff --git a/src/basic/linux/in6.h b/src/basic/include/linux/in6.h similarity index 100% rename from src/basic/linux/in6.h rename to src/basic/include/linux/in6.h diff --git a/src/basic/linux/input-event-codes.h b/src/basic/include/linux/input-event-codes.h similarity index 100% rename from src/basic/linux/input-event-codes.h rename to src/basic/include/linux/input-event-codes.h diff --git a/src/basic/linux/input.h b/src/basic/include/linux/input.h similarity index 100% rename from src/basic/linux/input.h rename to src/basic/include/linux/input.h diff --git a/src/basic/linux/ioprio.h b/src/basic/include/linux/ioprio.h similarity index 100% rename from src/basic/linux/ioprio.h rename to src/basic/include/linux/ioprio.h diff --git a/src/basic/linux/ip.h b/src/basic/include/linux/ip.h similarity index 100% rename from src/basic/linux/ip.h rename to src/basic/include/linux/ip.h diff --git a/src/basic/linux/ip6_tunnel.h b/src/basic/include/linux/ip6_tunnel.h similarity index 100% rename from src/basic/linux/ip6_tunnel.h rename to src/basic/include/linux/ip6_tunnel.h diff --git a/src/basic/linux/ipv6.h b/src/basic/include/linux/ipv6.h similarity index 100% rename from src/basic/linux/ipv6.h rename to src/basic/include/linux/ipv6.h diff --git a/src/basic/linux/ipv6_route.h b/src/basic/include/linux/ipv6_route.h similarity index 100% rename from src/basic/linux/ipv6_route.h rename to src/basic/include/linux/ipv6_route.h diff --git a/src/basic/linux/keyctl.h b/src/basic/include/linux/keyctl.h similarity index 100% rename from src/basic/linux/keyctl.h rename to src/basic/include/linux/keyctl.h diff --git a/src/basic/linux/l2tp.h b/src/basic/include/linux/l2tp.h similarity index 100% rename from src/basic/linux/l2tp.h rename to src/basic/include/linux/l2tp.h diff --git a/src/basic/linux/libc-compat.h b/src/basic/include/linux/libc-compat.h similarity index 100% rename from src/basic/linux/libc-compat.h rename to src/basic/include/linux/libc-compat.h diff --git a/src/basic/linux/limits.h b/src/basic/include/linux/limits.h similarity index 100% rename from src/basic/linux/limits.h rename to src/basic/include/linux/limits.h diff --git a/src/basic/linux/loop.h b/src/basic/include/linux/loop.h similarity index 100% rename from src/basic/linux/loop.h rename to src/basic/include/linux/loop.h diff --git a/src/basic/linux/magic.h b/src/basic/include/linux/magic.h similarity index 100% rename from src/basic/linux/magic.h rename to src/basic/include/linux/magic.h diff --git a/src/basic/linux/mount.h b/src/basic/include/linux/mount.h similarity index 100% rename from src/basic/linux/mount.h rename to src/basic/include/linux/mount.h diff --git a/src/basic/linux/mrp_bridge.h b/src/basic/include/linux/mrp_bridge.h similarity index 100% rename from src/basic/linux/mrp_bridge.h rename to src/basic/include/linux/mrp_bridge.h diff --git a/src/basic/linux/neighbour.h b/src/basic/include/linux/neighbour.h similarity index 100% rename from src/basic/linux/neighbour.h rename to src/basic/include/linux/neighbour.h diff --git a/src/basic/linux/net_namespace.h b/src/basic/include/linux/net_namespace.h similarity index 100% rename from src/basic/linux/net_namespace.h rename to src/basic/include/linux/net_namespace.h diff --git a/src/basic/linux/netdevice.h b/src/basic/include/linux/netdevice.h similarity index 100% rename from src/basic/linux/netdevice.h rename to src/basic/include/linux/netdevice.h diff --git a/src/basic/linux/netfilter.h b/src/basic/include/linux/netfilter.h similarity index 100% rename from src/basic/linux/netfilter.h rename to src/basic/include/linux/netfilter.h diff --git a/src/basic/linux/netfilter/nf_conntrack_common.h b/src/basic/include/linux/netfilter/nf_conntrack_common.h similarity index 100% rename from src/basic/linux/netfilter/nf_conntrack_common.h rename to src/basic/include/linux/netfilter/nf_conntrack_common.h diff --git a/src/basic/linux/netfilter/nf_conntrack_tuple_common.h b/src/basic/include/linux/netfilter/nf_conntrack_tuple_common.h similarity index 100% rename from src/basic/linux/netfilter/nf_conntrack_tuple_common.h rename to src/basic/include/linux/netfilter/nf_conntrack_tuple_common.h diff --git a/src/basic/linux/netfilter/nf_nat.h b/src/basic/include/linux/netfilter/nf_nat.h similarity index 100% rename from src/basic/linux/netfilter/nf_nat.h rename to src/basic/include/linux/netfilter/nf_nat.h diff --git a/src/basic/linux/netfilter/nf_tables.h b/src/basic/include/linux/netfilter/nf_tables.h similarity index 100% rename from src/basic/linux/netfilter/nf_tables.h rename to src/basic/include/linux/netfilter/nf_tables.h diff --git a/src/basic/linux/netfilter/nfnetlink.h b/src/basic/include/linux/netfilter/nfnetlink.h similarity index 100% rename from src/basic/linux/netfilter/nfnetlink.h rename to src/basic/include/linux/netfilter/nfnetlink.h diff --git a/src/basic/linux/netfilter/nfnetlink_compat.h b/src/basic/include/linux/netfilter/nfnetlink_compat.h similarity index 100% rename from src/basic/linux/netfilter/nfnetlink_compat.h rename to src/basic/include/linux/netfilter/nfnetlink_compat.h diff --git a/src/basic/linux/netfilter/x_tables.h b/src/basic/include/linux/netfilter/x_tables.h similarity index 100% rename from src/basic/linux/netfilter/x_tables.h rename to src/basic/include/linux/netfilter/x_tables.h diff --git a/src/basic/linux/netfilter/xt_addrtype.h b/src/basic/include/linux/netfilter/xt_addrtype.h similarity index 100% rename from src/basic/linux/netfilter/xt_addrtype.h rename to src/basic/include/linux/netfilter/xt_addrtype.h diff --git a/src/basic/linux/netfilter/xt_tcpudp.h b/src/basic/include/linux/netfilter/xt_tcpudp.h similarity index 100% rename from src/basic/linux/netfilter/xt_tcpudp.h rename to src/basic/include/linux/netfilter/xt_tcpudp.h diff --git a/src/basic/linux/netfilter_ipv4.h b/src/basic/include/linux/netfilter_ipv4.h similarity index 100% rename from src/basic/linux/netfilter_ipv4.h rename to src/basic/include/linux/netfilter_ipv4.h diff --git a/src/basic/linux/netfilter_ipv4/ip_tables.h b/src/basic/include/linux/netfilter_ipv4/ip_tables.h similarity index 100% rename from src/basic/linux/netfilter_ipv4/ip_tables.h rename to src/basic/include/linux/netfilter_ipv4/ip_tables.h diff --git a/src/basic/linux/netlink.h b/src/basic/include/linux/netlink.h similarity index 100% rename from src/basic/linux/netlink.h rename to src/basic/include/linux/netlink.h diff --git a/src/basic/linux/nexthop.h b/src/basic/include/linux/nexthop.h similarity index 100% rename from src/basic/linux/nexthop.h rename to src/basic/include/linux/nexthop.h diff --git a/src/basic/linux/nl80211.h b/src/basic/include/linux/nl80211.h similarity index 100% rename from src/basic/linux/nl80211.h rename to src/basic/include/linux/nl80211.h diff --git a/src/basic/linux/pkt_sched.h b/src/basic/include/linux/pkt_sched.h similarity index 100% rename from src/basic/linux/pkt_sched.h rename to src/basic/include/linux/pkt_sched.h diff --git a/src/basic/linux/prctl.h b/src/basic/include/linux/prctl.h similarity index 100% rename from src/basic/linux/prctl.h rename to src/basic/include/linux/prctl.h diff --git a/src/basic/linux/rtnetlink.h b/src/basic/include/linux/rtnetlink.h similarity index 100% rename from src/basic/linux/rtnetlink.h rename to src/basic/include/linux/rtnetlink.h diff --git a/src/basic/linux/socket.h b/src/basic/include/linux/socket.h similarity index 100% rename from src/basic/linux/socket.h rename to src/basic/include/linux/socket.h diff --git a/src/basic/linux/sockios.h b/src/basic/include/linux/sockios.h similarity index 100% rename from src/basic/linux/sockios.h rename to src/basic/include/linux/sockios.h diff --git a/src/basic/linux/stat.h b/src/basic/include/linux/stat.h similarity index 100% rename from src/basic/linux/stat.h rename to src/basic/include/linux/stat.h diff --git a/src/basic/linux/stddef.h b/src/basic/include/linux/stddef.h similarity index 100% rename from src/basic/linux/stddef.h rename to src/basic/include/linux/stddef.h diff --git a/src/basic/linux/update.sh b/src/basic/include/linux/update.sh similarity index 100% rename from src/basic/linux/update.sh rename to src/basic/include/linux/update.sh diff --git a/src/basic/linux/veth.h b/src/basic/include/linux/veth.h similarity index 100% rename from src/basic/linux/veth.h rename to src/basic/include/linux/veth.h diff --git a/src/basic/linux/vm_sockets.h b/src/basic/include/linux/vm_sockets.h similarity index 100% rename from src/basic/linux/vm_sockets.h rename to src/basic/include/linux/vm_sockets.h diff --git a/src/basic/linux/wireguard.h b/src/basic/include/linux/wireguard.h similarity index 100% rename from src/basic/linux/wireguard.h rename to src/basic/include/linux/wireguard.h diff --git a/src/basic/sys/mount.h b/src/basic/include/sys/mount.h similarity index 100% rename from src/basic/sys/mount.h rename to src/basic/include/sys/mount.h diff --git a/src/basic/meson.build b/src/basic/meson.build index 9db77a95a6..3396e395de 100644 --- a/src/basic/meson.build +++ b/src/basic/meson.build @@ -133,14 +133,14 @@ generate_arphrd_list = find_program('generate-arphrd-list.sh') arphrd_list_txt = custom_target( 'arphrd-list.txt', output : 'arphrd-list.txt', - command : [generate_arphrd_list, cpp, files('linux/if_arp.h'), config_h], + command : [generate_arphrd_list, cpp, files('include/linux/if_arp.h'), config_h], capture : true) generate_cap_list = find_program('generate-cap-list.sh') cap_list_txt = custom_target( 'cap-list.txt', output : 'cap-list.txt', - command : [generate_cap_list, cpp, files('linux/capability.h')], + command : [generate_cap_list, cpp, files('include/linux/capability.h')], capture : true) generate_errno_list = find_program('generate-errno-list.sh') @@ -238,7 +238,7 @@ run_target( ############################################################ filesystem_includes = files( - 'linux/magic.h', + 'include/linux/magic.h', 'missing_magic.h', ) diff --git a/src/shared/meson.build b/src/shared/meson.build index 9403d33cd6..88e3f86d26 100644 --- a/src/shared/meson.build +++ b/src/shared/meson.build @@ -307,7 +307,7 @@ shared_sources += shared_generated_gperf_headers fname = 'ethtool-link-mode.h' ethtool_link_mode_h = custom_target( fname, - input : ['ethtool-link-mode.py', '../basic/linux/ethtool.h'], + input : ['ethtool-link-mode.py', '../basic/include/linux/ethtool.h'], output : fname, command : [python, '@INPUT0@', '--header', cpp, '@INPUT1@'], capture : true) @@ -316,7 +316,7 @@ shared_sources += ethtool_link_mode_h fname = 'ethtool-link-mode.xml' ethtool_link_mode_xml = custom_target( fname, - input : ['ethtool-link-mode.py', '../basic/linux/ethtool.h'], + input : ['ethtool-link-mode.py', '../basic/include/linux/ethtool.h'], output : fname, command : [python, '@INPUT0@', '--xml', cpp, '@INPUT1@'], capture : true) diff --git a/src/udev/meson.build b/src/udev/meson.build index 9b2615173a..06fe562077 100644 --- a/src/udev/meson.build +++ b/src/udev/meson.build @@ -65,7 +65,7 @@ endif generate_keyboard_keys_list = find_program('generate-keyboard-keys-list.sh') keyboard_keys_list_txt = custom_target( 'keyboard-keys-list.txt', - input : files('../basic/linux/input.h'), + input : files('../basic/include/linux/input.h'), output : 'keyboard-keys-list.txt', command : [generate_keyboard_keys_list, cpp, '@INPUT@'], capture : true)