mirror of
https://git.proxmox.com/git/systemd
synced 2025-12-26 14:24:48 +00:00
Rework bug-script to be more upfront about what kind of data is gathered and ask the user for permission before attaching the information to the bug report. Closes: #756248
74 lines
2.5 KiB
Bash
74 lines
2.5 KiB
Bash
#!/bin/bash
|
||
|
||
cat <<EOF
|
||
|
||
Providing additional information can help diagnose problems with systemd.
|
||
Specifically, this would include:
|
||
- fstab configuration (copy of /etc/fstab).
|
||
- local modifications of unit files (output of systemd-delta).
|
||
- state of running services and units (output of systemd-analzye dump).
|
||
- enabled/disabled state of installed services.
|
||
If this information is not relevant for your bug report or you have privacy
|
||
concerns, please choose no.
|
||
|
||
EOF
|
||
|
||
yesno "Do you want to provide additional information [Y|n]? " yep
|
||
[ "$REPLY" = yep ] || exit 0
|
||
|
||
REPORTBUG_VERSION=$(dpkg-query -f '${source:Version}' -W reportbug)
|
||
|
||
# Depending on whether reportbug is new enough, we either write the output of
|
||
# our various commands to a file and attach them to the report (this needs
|
||
# reportbug ≥ 6.5.0) or just write them to the body of the bug report.
|
||
if dpkg --compare-versions "$REPORTBUG_VERSION" ge "6.5.0"; then
|
||
|
||
# We don’t clean up this directory because there is no way to know when
|
||
# reportbug finished running, and reportbug needs the files around.
|
||
# Given that those are just a couple of kilobytes in size and people
|
||
# generally don’t file a lot of bugs, I don’t think it’s a big deal.
|
||
DIR=$(mktemp -d)
|
||
|
||
echo "-- BEGIN ATTACHMENTS --" >&3
|
||
|
||
# remove highlighting escape codes from systemd-delta output
|
||
systemd-delta --no-pager|sed "s%\x1b[^m]*m%%g" >$DIR/systemd-delta.txt
|
||
echo "$DIR/systemd-delta.txt" >&3
|
||
|
||
if [ -d /run/systemd/system ]; then
|
||
systemd-analyze --no-pager dump >$DIR/systemd-analyze-dump.txt
|
||
echo "$DIR/systemd-analyze-dump.txt" >&3
|
||
fi
|
||
|
||
if [ -d /var/lib/systemd/deb-systemd-helper-enabled ]; then
|
||
head -n100 $(find /var/lib/systemd/deb-systemd-helper-enabled -type f | tr '\n' ' ') >$DIR/dsh-enabled.txt
|
||
echo "$DIR/dsh-enabled.txt" >&3
|
||
fi
|
||
|
||
echo "/etc/fstab" >&3
|
||
|
||
echo "-- END ATTACHMENTS --" >&3
|
||
else
|
||
_header() {
|
||
echo "--------------" >&3
|
||
echo "$1:" >&3
|
||
echo "--------------" >&3
|
||
}
|
||
|
||
_header "systemd-delta"
|
||
# remove highlighting escape codes from systemd-delta output
|
||
systemd-delta --no-pager|sed "s%\x1b[^m]*m%%g" >&3
|
||
|
||
if [ -d /run/systemd/system ]; then
|
||
echo >&3
|
||
_header "systemd-analyze dump"
|
||
systemd-analyze --no-pager dump >&3
|
||
fi
|
||
|
||
if [ -d /var/lib/systemd/deb-systemd-helper-enabled ]; then
|
||
echo >&3
|
||
_header "Contents of /var/lib/systemd/deb-systemd-helper-enabled"
|
||
head -n100 $(find /var/lib/systemd/deb-systemd-helper-enabled -type f | tr '\n' ' ') >&3
|
||
fi
|
||
fi
|