summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtools/find_includes52
-rwxr-xr-xtools/fixup.sh9
-rwxr-xr-xtools/fixup_includes215
-rwxr-xr-xtools/move.sh465
-rwxr-xr-xtools/notsd-fixup15
-rwxr-xr-xtools/notsd-fixup--includes63
-rwxr-xr-xtools/notsd-move57
-rwxr-xr-xtools/reset.sh6
8 files changed, 85 insertions, 797 deletions
diff --git a/tools/find_includes b/tools/find_includes
deleted file mode 100755
index 6dfb406fa3..0000000000
--- a/tools/find_includes
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/usr/bin/env bash
-
-phase=phase0
-
-phase0() {
- phase=phase0
- local line="$1"
- case "$line" in
- '#include'*|'typedef '*';')
- phase1 "$line"
- ;;
- *)
- ;;
- esac
-}
-
-phase1() {
- phase=phase1
- local line="$1"
- case "$line" in
- '')
- ;;
- '#include'*)
- ;;
- 'typedef '*';')
- ;;
- *)
- phase2 "$line"
- ;;
- esac
-}
-
-phase2() {
- phase=phase2
- local line="$1"
- printf '%s\n' "$line"
- cat
-}
-
-main() {
- current_file="$1"
- set -o pipefail
- {
- IFS=''
- while read -r line; do
- "$phase" "$line"
- IFS=''
- done
- } < "$current_file" | grep '^#include' | ifne printf '%s\n' "$current_file"
-}
-
-main "$@"
diff --git a/tools/fixup.sh b/tools/fixup.sh
deleted file mode 100755
index 651feb6cf8..0000000000
--- a/tools/fixup.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/env bash
-
-for lib in basic shared systemd-network systemd; do
- pushd src/lib${lib}/include/${lib}
- find . -type f -exec sed -ri -e "s|$lib/||" -- {} +
- popd
-done
-
-find src \( -name '*.h' -o -name '*.c' \) -type f -exec ./fixup_includes {} \;
diff --git a/tools/fixup_includes b/tools/fixup_includes
deleted file mode 100755
index 957733cdc0..0000000000
--- a/tools/fixup_includes
+++ /dev/null
@@ -1,215 +0,0 @@
-#!/usr/bin/env bash
-
-panic() {
- >&2 echo panic
- exit 2
-}
-
-out() {
- printf '%q ' "$@"
-}
-
-# system
-# linux
-# public
-# protected
-# private
-classify() {
- local path=$1
- if [[ "$path" = linux/* ]]; then
- out linux "$path"
- elif [[ -f "${current_file%/*}/${path}" ]]; then
- out private "$path"
- elif [[ "$path" != systemd/* ]] &&
- [[ "$path" != libudev.h ]] &&
- cpp -include "$path" <<<'' &>/dev/null;
- then
- out system "$path"
- else
- case "$path" in
- asm/sgidefs.h|dbus/dbus.h|efi.h|efilib.h|gio/gio.h|glib.h|libmount.h)
- out system "$path"
- ;;
- util.h|*/util.h)
- if [[ "$current_file" = */systemd-boot/* ]]; then
- out private util.h
- else
- out protected basic/util.h
- fi
- ;;
- *)
- file=$(find src -type f -name "${path##*/}")
- if [[ -f "$file" ]]; then
- case "$file" in
- */src/*)
- if [[ "${current_file%/*}" = "${file%/*}" ]]; then
- out private "${file##*/}"
- else
- out protected "${file##*/src/}"
- fi
- ;;
- */libsystemd/include/*|*/libudev/include/*)
- out public "${file##*/include/}"
- ;;
- */include/*)
- out protected "${file##*/include/}"
- ;;
- *)
- if [[ "${current_file%/*}" = "${file%/*}" ]]; then
- out private "${file##*/}"
- else
- out protected "${file##*/}"
- fi
- ;;
- esac
- else
- >&2 printf 'Cannot figure out: %q\n' "$path"
- exit 2
- fi
- ;;
- esac
- fi
-}
-
-phase=phase0
-hook=:
-
-phase0() {
- phase=phase0
- hook=:
- local line="$1"
- case "$line" in
- '#include'*|'typedef '*';')
- phase1 "$line"
- ;;
- *)
- printf '%s\n' "$line"
- ;;
- esac
-}
-
-phase1_tail=
-system=()
-linux=()
-public=()
-protected=()
-typedef=(); typedef_last=true
-private=()
-phase1_flush() {
- local b=:
- if [[ ${#system[@]} -gt 0 ]]; then
- printf '%s\n' "${system[@]}" | sort -u
- b=echo
- fi
- if [[ ${#linux[@]} -gt 0 ]]; then
- $b
- printf '%s\n' "${linux[@]}"
- b=echo
- fi
- if [[ ${#public[@]} -gt 0 ]]; then
- $b
- printf '%s\n' "${public[@]}" | sort -u
- b=echo
- fi
- if [[ ${#protected[@]} -gt 0 ]]; then
- $b
- printf '%s\n' "${protected[@]}" | sort -u
- b=echo
- fi
- if [[ ${#typedef[@]} -gt 0 ]] && ! $typedef_last; then
- $b
- printf '%s\n' "${typedef[@]}" | sort -u
- b=echo
- fi
- if [[ ${#private[@]} -gt 0 ]]; then
- $b
- printf '%s\n' "${private[@]}" | sort -u
- b=echo
- fi
- if [[ ${#typedef[@]} -gt 0 ]] && $typedef_last; then
- $b
- printf '%s\n' "${typedef[@]}"
- fi
- printf '%s' "$phase1_tail"
-}
-phase1() {
- phase=phase1
- hook=phase1_flush
- local line="$1"
- case "$line" in
- '')
- phase1_tail+=$'\n'
- ;;
- '#include'*)
- phase1_tail=''
- local re='^#include [<"]([^">]*)[">](.*)'
- if [[ "$line" =~ $re ]]; then
- IFS=' '
- local buf
- buf="$(classify "${BASH_REMATCH[1]}")" || panic
- read -r class path <<<"$buf"
- case "$class" in
- system)
- printf -v line '#include <%s>%s' "$path" "${BASH_REMATCH[2]}"
- system+=("$line")
- ;;
- linux)
- printf -v line '#include <%s>%s' "$path" "${BASH_REMATCH[2]}"
- linux+=("$line")
- ;;
- public)
- printf -v line '#include <%s>%s' "$path" "${BASH_REMATCH[2]}"
- public+=("$line")
- ;;
- protected)
- printf -v line '#include "%s"%s' "$path" "${BASH_REMATCH[2]}"
- protected+=("$line")
- ;;
- private)
- if [[ ${#typedef[@]} -gt 0 ]]; then
- typedef_last=false
- fi
- printf -v line '#include "%s"%s' "$path" "${BASH_REMATCH[2]}"
- private+=("$line")
- ;;
- esac
- else
- panic
- fi
- ;;
- 'typedef '*';')
- phase1_tail=''
- typedef+=("$line")
- ;;
- *)
- phase1_flush
- phase2 "$line"
- ;;
- esac
-}
-
-phase2() {
- phase=phase2
- hook=:
- local line="$1"
- printf '%s\n' "$line"
- cat
-}
-
-main() {
- current_file="$1"
- printf ' => %s\n' "$current_file"
- set -o pipefail
- trap 'rm -f -- "$current_file.tmp"' EXIT
- {
- IFS=''
- while read -r line; do
- "$phase" "$line"
- IFS=''
- done
- "$hook"
- } < "$current_file" > "$current_file.tmp"
- mv -Tf "$current_file.tmp" "$current_file"
-}
-
-main "$@"
diff --git a/tools/move.sh b/tools/move.sh
deleted file mode 100755
index 9ad99851fe..0000000000
--- a/tools/move.sh
+++ /dev/null
@@ -1,465 +0,0 @@
-#!/usr/bin/env bash
-
-in_array() {
- local needle=$1; shift
- local item
- for item in "$@"; do
- [[ $item = $needle ]] && return 0 # Found
- done
- return 1 # Not Found
-}
-
-split_lib() {
- local d=$1
-
- mkdir "$d/test"
- mv "$d"/test-* -t "$d/test"
-
- mkdir "$d/src"
- mv "$d"/*.c -t "$d/src"
-
- local h=${d##*/lib}
- mkdir "$d/include"
- mkdir "$d/include/$h"
- mv "$d"/*.h -t "$d/include/$h"
-}
-
-grp() {
- local grp=$1
- shift
- mkdir "$grp"
- mv "$@" -t "$grp"
-}
-
-move_files() (
- # first focus on getting directories to the right names.
- mv -T src/{,systemd-}dbus1-generator
- mv -T src/{,systemd-}debug-generator
- mv -T src/{,systemd-}fstab-generator
- mv -T src/{,systemd-}getty-generator
- mv -T src/{,systemd-}gpt-auto-generator
- mv -T src/{,systemd-}rc-local-generator
- mv -T src/{,systemd-}system-update-generator
- mv -T src/{,systemd-}sysv-generator
-
- mv -T src/{,systemd-}ac-power
- mv -T src/{,systemd-}activate
- mv -T src/{,systemd-}analyze
- mv -T src/{,systemd-}ask-password
- mv -T src/{,systemd-}backlight
- mv -T src/{,systemd-}binfmt
- mv -T src/{,systemd-}cgls
- mv -T src/{,systemd-}cgroups-agent
- mv -T src/{,systemd-}cgtop
- mv -T src/{,systemd-}coredump
- mv -T src/{,systemd-}cryptsetup
- mv -T src/{,systemd-}delta
- mv -T src/{,systemd-}detect-virt
- mv -T src/{,systemd-}escape
- mv -T src/{,systemd-}firstboot
- mv -T src/{,systemd-}fsck
- mv -T src/{,systemd-}hibernate-resume
- mv -T src/{,systemd-}hwdb
- mv -T src/{,systemd-}initctl
- mv -T src/{,systemd-}machine-id-setup
- mv -T src/{,systemd-}modules-load
- mv -T src/{,systemd-}notify
- mv -T src/{,systemd-}nspawn
- mv -T src/{,systemd-}path
- mv -T src/{,systemd-}quotacheck
- mv -T src/{,systemd-}random-seed
- mv -T src/{,systemd-}remount-fs
- mv -T src/{,systemd-}reply-password
- mv -T src/{,systemd-}rfkill
- mv -T src/{,systemd-}run
- mv -T src/{,systemd-}sleep
- mv -T src/{,systemd-}stdio-bridge
- mv -T src/{,systemd-}sysctl
- mv -T src/{,systemd-}sysusers
- mv -T src/{,systemd-}tmpfiles
- mv -T src/{,systemd-}tty-ask-password-agent
- mv -T src/{,systemd-}update-done
- mv -T src/{,systemd-}update-utmp
- mv -T src/{,systemd-}user-sessions
- mv -T src/vconsole src/systemd-vconsole-setup
- mv -T src/socket-proxy src/systemd-socket-proxyd
- mv -T src/timesync src/systemd-timesyncd
-
- mv src/udev/*_id -t src
- mv src/udev/collect -t src
-
- mv -T src/boot/efi src/systemd-boot
- mv -T src/boot src/bootctl
-
- mkdir src/busctl
- mv src/libsystemd/src/sd-bus/busctl* -t src/busctl
-
- mkdir src/coredumpctl
- mv src/coredump{,ctl}/coredumpctl.c
-
- mv -T src/{,lib}basic
- mv -T src/{,lib}core
- mv -T src/{,lib}shared
-
- mv -T src/lib{shared,core}/linux
-
- mkdir src/libfirewall
- mv -T src/lib{shared,firewall}/firewall-util.c
- mv -T src/lib{shared,firewall}/firewall-util.h
-
- split_lib src/libbasic
- split_lib src/libshared
- split_lib src/libsystemd-network
-
- mkdir src/libsystemd/include
- mv -T src/{,libsystemd/include}/systemd
-
- # src/resolve => src/{libbasic-dns,resolve,resolved}
- mkdir src/libbasic-dns
- mv -t src/libbasic-dns \
- src/resolve/dns-type.{c,h} \
- src/resolve/resolved-dns-{anser,dnssec,packet,question,rr}.{c,h} \
- src/resolve/test-*
- mkdir src/systemd-resolve
- mv -t src/systemd-resolve \
- src/resolve/resolve-tool.c
- mkdir src/systemd-resolved
- mv -t src/systemd-resolved \
- src/resolve/.gitignore \
- src/resolve/*
- rmdir src/resolve
-
- # src/import => src/{libimport,systemd-{export,importd,import}}
- mkdir src/libimport
- mv -t src/libimport \
- src/import/import-common.{c,h} \
- src/import/import-compress.{c,h} \
- src/import/qcow2-util.{c,h} \
- src/import/test-qcow2.h
- mkdir src/systemd-export
- mv -t src/systemd-export \
- src/import/export*
- mkdir src/systemd-importd
- mv -t src/systemd-importd \
- src/import/.gitignore \
- src/import/importd.c \
- src/import/org.*
- mkdir src/systemd-import
- mv -t src/systemd-import \
- src/import*
-
- # src/journal => src/..
- mkdir src/libjournal-core
- mv -t src/libjournal-core \
- src/journal/journald-* \
- src/journal/test-*
- mkdir src/systemd-cat
- mv -t src/systemd-cat \
- src/journal/cat.c
- mkdir src/journalctl
- mv -t src/journalctl \
- src/journalctl/journal-qrcode.{c,h} \
- src/journalctl/journalctl.c
- mkdir src/journald
- mv -t src/journald \
- src/journal/journald.*
- mkdir src/libsystemd/src/sd-journal
- mv -t src/libsystemd/src/sd-journal \
- src/journal/audit-type.c \
- src/journal/audit-type.h \
- src/journal/catalog.c \
- src/journal/catalog.h \
- src/journal/compress.c \
- src/journal/compress.h \
- src/journal/fsprg.c \
- src/journal/fsprg.h \
- src/journal/journal-authenticate.c \
- src/journal/journal-authenticate.h \
- src/journal/journal-def.h \
- src/journal/journal-file.c \
- src/journal/journal-file.h \
- src/journal/journal-internal.h \
- src/journal/journal-send.c \
- src/journal/journal-vacuum.c \
- src/journal/journal-vacuum.h \
- src/journal/journal-verify.c \
- src/journal/journal-verify.h \
- src/journal/lookup3.c \
- src/journal/lookup3.h \
- src/journal/mmap-cache.c \
- src/journal/mmap-cache.h \
- src/journal/sd-journal.c
- rmdir src/journal
-
- # src/network => src/...
- mkdir src/systemd-networkd-wait-online
- mv -t src/systemd-networkd-wait-online \
- network/networkd-wait-online*
- mkdir src/libnetworkd-core
- mv -t src/libnetworkd-core \
- network/.gitignore \
- network/networkd-*
- mkdir src/networkctl
- mv -t src/networkctl \
- network/networkctl.c
- mkdir src/systemd-networkd
- mv -t src/systemd-networkd \
- network/networkd* \
- network/org.*
- rmdir network
-
- # src/machine => src/{machinectl,systemd-machined}
- mkdir src/machinectl
- mv -t src/machinectl \
- src/machine/machinectl*
- mkdir src/systemd-machined
- mv -t src/systemd-machined \
- machine/.gitignore \
- machine/*
-
- # auto-distribute the stuff
- (
- cd man
- for file in *.xml; do
- if [[ -d ../src/"${file%.xml}" ]]; then
- mv "$file" -t ../src/"${file%.xml}"
- fi
- done
- )
- (
- cd units
- for file in *; do
- if [[ -d ../src/"${file%%.*}" ]]; then
- mv "$file" -t ../src/"${file%%.*}"
- elif [[ -d ../src/"${file%%@*}" ]]; then
- mv "$file" -t ../src/"${file%%@*}"
- fi
- done
- )
- (
- cd shell-completion/bash
- for file in *; do
- if [[ -d ../src/"$file" ]]; then
- mv -T "$file" "../src/$file/$file.completion.bash"
- fi
- done
- )
- (
- cd shell-completion/zsh
- for file in _*; do
- if [[ -d ../src/"${file#_}" ]]; then
- mv -T "$file" "../src/${file#_}/${file#_}.completion.zsh"
- fi
- done
- )
-
- # categorize
- grp src/grp-boot \
- src/bootctl \
- src/kernel-install \
- src/systemd-boot
- grp src/grp-coredump \
- src/coredumpctl \
- src/systemd-coredump
- grp src/grp-hostname \
- src/hostnamectl \
- src/systemd-hostnamed
- grp src/grp-initprogs \
- src/systemd-backlight \
- src/systemd-binfmt \
- src/systemd-detect-virt \
- src/systemd-firstboot \
- src/systemd-fsck \
- src/systemd-modules-load \
- src/systemd-quotacheck \
- src/systemd-random-seed \
- src/systemd-rfkill \
- src/systemd-sysctl \
- src/systemd-sysusers \
- src/systemd-tmpfiles \
- src/systemd-update-done \
- src/systemd-update-utmp \
- src/systemd-user-sessions \
- src/systemd-vconsole-setup
- grp src/grp-initprogs/grp-sleep \
- src/systemd-hibernate-resume \
- src/systemd-hibernate-resume-generator \
- src/systemd-sleep
- grp src/grp-journal \
- catalog \
- src/journalctl \
- src/libjournal-core \
- src/systemd-cat \
- src/systemd-journald
- grp src/grp-journal/grp-remote \
- src/systemd-journal-gatewayd \
- src/systemd-journal-remote \
- src/systemd-journal-upload
- grp src/grp-locale \
- src/localectl \
- src/systemd-localed
- grp src/grp-login \
- src/loginctl \
- src/pam_systemd \
- src/systemd-inhibit \
- src/systemd-logind
- grp src/grp-machine \
- src/machinectl \
- src/nss-mymachines \
- src/systemd-machined
- grp src/grp-machine/grp-import \
- src/libimport \
- src/systemd-export \
- src/systemd-import \
- src/systemd-importd \
- src/systemd-pull
- grp src/grp-network \
- network \
- src/libnetworkd-core \
- src/networkctl \
- src/systemd-networkd \
- src/systemd-networkd-wait-online
- grp src/grp-resolve \
- src/libbasic-dns \
- src/nss-resolve \
- src/systemd-resolve \
- src/systemd-resolved
- grp src/systemd \
- src/libcore \
- src/systemctl \
- src/systemd
- grp src/systemd/grp-utils \
- src/systemd-analyze \
- src/systemd-delta \
- src/systemd-fstab-generator \
- src/systemd-run \
- src/systemd-sysv-generator
- grp src/grp-timedate \
- src/systemd-timedated \
- src/timedatectl
- grp src/grp-udev \
- rules \
- src/*_id \
- src/systemd-hwdb \
- src/systemd-udevd \
- src/systemd-udevadm
- grp src/grp-utils \
- src/systemd-ac-power \
- src/systemd-escape \
- src/systemd-notify \
- src/systemd-path \
- src/systemd-socket-activate
-)
-
-breakup_makefile() (
- find . \( -name Makefile -o -name '*.mk' \) -delete
-
- touch .tmp.move.all
- files=(.tmp.move.all)
- file=/dev/null
- IFS=''
- while read -r line; do
- if [[ $line = '#@'* ]]; then
- file="${line#'#@'}"
- file="${file%% *}"
- elif [[ $file = all ]]; then
- printf '%s\n' "$line" | tee -a "${files[@]}" >/dev/null
- else
- if ! in_array "$file" "${files[@]}"; then
- cat .tmp.move.all > "$file"
- files+=("$file")
- fi
- printf '%s\n' "$line" >> "$file"
- fi
- done < <(fixup_makefile <Makefile.am)
- rm .tmp.move.all
-)
-
-fixup_includes() (
- find src \( -name '*.h' -o -name '*.c' \) \
- -exec grep '#include ["<]sd-' -l -- {} + |
- xargs -d $'\n' sed -ri \
- -e 's|#include "(sd-[^"]*)"|#include <systemd/\1>|' \
- -e 's|#include <(sd-[^>]*)>|#include <systemd/\1>|'
-)
-
-fixup_makefile() {
- sed -r \
- -e '/^[^# ]*:/ { s|^(\s*)\S+/|\1$(outdir)/| }' \
- -e 's|^if (.*)|ifneq ($(\1),)|' \
- -e 's|--version-script=.*/([^/]+)\.sym|--version-script=$(srcdir)/\1.sym|g'
-}
-
-fixup_makefiles() (
- sed -ri \
- -e '/^ \$\(AM_V_at\)\$\(MKDIR_P\) \$\(dir \$@\)/d' \
- -e 's/ \$\(CFLAGS\) / /g' \
- -e 's/ \$\(CPPFLAGS\) / /g' \
- -e 's/ \$\(AM_CPPFLAGS\) / $(sd.ALL_CPPFLAGS) /g' \
- -e '/^[^# ]*:/ { s|\S+/|$(outdir)/|g }' \
- src/libbasic/include/basic/Makefile \
- src/libsystemd/src/Makefile \
- src/libsystemd/src/sd-journal/Makefile \
- src/grp-udev/libudev-core/Makefile
- find -type f -name Makefile|while read -r filename; do
- sed -r -i "s|(/\.\.)*/config.mk|/$(realpath -ms --relative-to="${filename%/*}" config.mk)|" "$filename"
- done
-)
-
-breakup_zshcompletion() (
- sed_expr='
- 1 {
- i #compdef %s
- d
- }
- /^case/,/^esac/ {
- /^ %s)/,/^ ;;/ {
- s/^ //p
- }
- d
- }
- '
-
- cd shell-completion/zsh
- read -r _ cmds < _systemd
- for cmd in $cmds; do
- printf -v cmd_sed_expr "$sed_expr" $cmd $cmd
- sed -e "$cmd_sed_expr" < _systemd > _$cmd
- done
- rm _systemd
-)
-
-move() (
- >&2 echo ' => breakup_zshcompletion'
- breakup_zshcompletion
- >&2 echo ' => move_files'
- move_files
- >&2 echo ' => breakup_makefile'
- #breakup_makefile
- >&2 echo ' => fixup_includes'
- fixup_includes
- >&2 echo ' => fixup_makefiles'
- #fixup_makefiles
-)
-
-main() {
- set -e
-
- if [[ -n "$(git status -s)" ]] || [[ -n "$(git clean -xdn)" ]]; then
- echo 'There are changes in the current directory.' >&2
- exit 1
- fi
-
- git checkout -b tmp/postmove
-
- move
-
- git add .
- git commit -m './move.sh'
- git merge -s ours notsystemd/postmove
- git checkout notsystemd/postmove
- git merge tmp/postmove
- git branch -d tmp/postmove
-}
-
-main "$@"
diff --git a/tools/notsd-fixup b/tools/notsd-fixup
index feec1b8921..0bd5c10bd9 100755
--- a/tools/notsd-fixup
+++ b/tools/notsd-fixup
@@ -1,7 +1,10 @@
#!/usr/bin/env bash
+# The reason we do `find`/`while read`-loops instead of `find -exec` commands
+# is that we want errors from the inner loop to bubble up.
+
fixup_makefiles() (
- find -type f -name Makefile|while read -r filename; do
+ find -type f -name Makefile | while read -r filename; do
sed -r -i "s|(/\.\.)*/config.mk|/$(realpath -ms --relative-to="${filename%/*}" config.mk)|" "$filename"
done
)
@@ -9,15 +12,19 @@ fixup_makefiles() (
fixup_includes() (
find $(find . -type d -name include) -type d | while read -r dir; do
lib="${dir##*/}"
- pushd "$dir"
+ pushd "$dir" >/dev/null
find . -type f -exec sed -ri -e "s|$lib/||" -- {} +
- popd
+ popd >/dev/null
done
- find src \( -name '*.h' -o -name '*.c' \) -type f -exec "$0"--includes {} \;
+ find src \( -name '*.h' -o -name '*.c' \) -type f | while read -r filename; do
+ "$0"--includes "$filename"
+ done
)
main() {
+ set -e
+ set -o pipefail
fixup_makefiles
fixup_includes
}
diff --git a/tools/notsd-fixup--includes b/tools/notsd-fixup--includes
index 957733cdc0..46deaa8e8e 100755
--- a/tools/notsd-fixup--includes
+++ b/tools/notsd-fixup--includes
@@ -22,11 +22,34 @@ classify() {
out private "$path"
elif [[ "$path" != systemd/* ]] &&
[[ "$path" != libudev.h ]] &&
- cpp -include "$path" <<<'' &>/dev/null;
- then
+ cpp -include "$path" <<<'' &>/dev/null; then
out system "$path"
else
case "$path" in
+ *-to-name.h|*-from-name.h)
+ base="${path##*/}"
+ base="${base%-to-name.h}"
+ base="${base%-from-name.h}"
+ case "$base" in
+ dns_type) d=src/grp-resolve/systemd-resolved;;
+ keyboard-keys) d=src/grp-udev/libudev-core;;
+ af|arphrd|cap|errno) d=src/libbasic/include/basic;;
+ audit_type) d=src/libsystemd/src/sd-journal;;
+ *)
+ >&2 printf 'Unknown gperf base: %q\n' "$base"
+ >&2 printf 'Cannot figure out: %q\n' "$path"
+ exit 2
+ ;;
+ esac
+ file="$d/${path##*/}"
+ if [[ "$current_file" = "$d"/* ]]; then
+ out private "${file##*/}"
+ elif [[ "$file" = */include/* ]]; then
+ out protected "${file##*/include/}"
+ else
+ out protected "${file##*/}"
+ fi
+ ;;
asm/sgidefs.h|dbus/dbus.h|efi.h|efilib.h|gio/gio.h|glib.h|libmount.h)
out system "$path"
;;
@@ -88,13 +111,16 @@ phase0() {
esac
}
-phase1_tail=
-system=()
-linux=()
-public=()
-protected=()
-typedef=(); typedef_last=true
-private=()
+phase1_init() {
+ phase1_tail=
+ system=()
+ linux=()
+ public=()
+ protected=()
+ typedef=(); typedef_last=true
+ private=()
+}
+phase1_init
phase1_flush() {
local b=:
if [[ ${#system[@]} -gt 0 ]]; then
@@ -131,6 +157,7 @@ phase1_flush() {
printf '%s\n' "${typedef[@]}"
fi
printf '%s' "$phase1_tail"
+ phase1_init
}
phase1() {
phase=phase1
@@ -183,22 +210,14 @@ phase1() {
;;
*)
phase1_flush
- phase2 "$line"
+ phase0 "$line"
;;
esac
}
-phase2() {
- phase=phase2
- hook=:
- local line="$1"
- printf '%s\n' "$line"
- cat
-}
-
main() {
current_file="$1"
- printf ' => %s\n' "$current_file"
+ printf ' => %q %q\n' "$0" "$current_file"
set -o pipefail
trap 'rm -f -- "$current_file.tmp"' EXIT
{
@@ -209,7 +228,11 @@ main() {
done
"$hook"
} < "$current_file" > "$current_file.tmp"
- mv -Tf "$current_file.tmp" "$current_file"
+ if cmp -s "$current_file.tmp" "$current_file"; then
+ rm -f "$current_file.tmp" || :
+ else
+ mv -Tf "$current_file.tmp" "$current_file"
+ fi
}
main "$@"
diff --git a/tools/notsd-move b/tools/notsd-move
index a65d29e946..5ae639fe26 100755
--- a/tools/notsd-move
+++ b/tools/notsd-move
@@ -475,7 +475,6 @@ move_files() (
mkdir src/grp-journal.d
mv -t src/grp-journal.d tmpfiles.d/journal-nocow.*
mv -t src/grp-remote.d tmpfiles.d/systemd-remote.*
- mv -T tmpfiles.d/systemd{,-journald}.tmpfiles.m4
mv -t src/systemd tmpfiles.d/systemd-tmpfs.tmpfiles*
mv -t src/systemd xorg/??-systemd-user.*; rmdir xorg
mv -t src/systemd-vconsole-setup man/vconsole.conf.xml
@@ -660,7 +659,6 @@ move_files() (
)
breakup_makefile() (
- set -x
mkdir -p build-aux/Makefile.{once,each}.{head,tail}
touch .tmp.move.all
@@ -740,43 +738,50 @@ breakup_zshcompletion() (
rm _systemd
)
+run() (
+ local tmp
+ tmp="$(mktemp --tmpdir)"
+ trap 'rm -f -- "$tmp"' EXIT
+ "$0" "$@" |& tail -n20 > "$tmp" || { r=$?; cat "$tmp"; return $r; }
+ return 0
+)
+
move() (
find . \( -name Makefile -o -name '*.mk' \) -delete
>&2 echo ' => breakup_zshcompletion'
- breakup_zshcompletion
+ run breakup_zshcompletion
>&2 echo ' => move_files'
- move_files
+ run move_files
>&2 echo ' => breakup_makefile'
- "$0" breakup_makefile |& tail -n20 > .tmp.log || { r=$?; cat .tmp.log; exit $r; }
- rm .tmp.log
+ run breakup_makefile
>&2 echo ' => ./tools/notsd-fixup'
./tools/notsd-fixup
)
main() {
- set -e
- set -o pipefail
-
- if [[ $# -gt 0 ]]; then
- "$@"
- else
- if [[ -n "$(git status -s)" ]] || [[ -n "$(git clean -xdn)" ]]; then
- echo 'There are changes in the current directory.' >&2
- exit 1
- fi
+ if [[ -n "$(git status -s)" ]] || [[ -n "$(git clean -xdn)" ]]; then
+ echo 'There are changes in the current directory.' >&2
+ exit 1
+ fi
- git checkout -b tmp/postmove
+ git checkout -b tmp/postmove
- move
+ move
- git add .
- git commit -m './tools/notsd-move'
- git merge -s ours notsystemd/postmove
- git checkout notsystemd/postmove
- git merge tmp/postmove
- git branch -d tmp/postmove
- fi
+ git add .
+ git commit -m './tools/notsd-move'
+ git merge -s ours notsystemd/postmove
+ git checkout notsystemd/postmove
+ git merge tmp/postmove
+ git branch -d tmp/postmove
}
-main "$@"
+set -e
+set -o pipefail
+if [[ $# -gt 0 ]]; then
+ set -x;
+else
+ set -- main
+fi
+"$@"
diff --git a/tools/reset.sh b/tools/reset.sh
deleted file mode 100755
index d7141587fa..0000000000
--- a/tools/reset.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-set -e
-git checkout notsystemd/premove
-git branch -D tmp/postmove || true
-git checkout .
-git clean -xdf