]> git.proxmox.com Git - systemd.git/commitdiff
bug-script: attach instead of paste extra info with reportbug ≥ 6.5.0
authorMichael Stapelberg <stapelberg@debian.org>
Tue, 28 Jan 2014 18:43:55 +0000 (19:43 +0100)
committerMichael Stapelberg <stapelberg@debian.org>
Tue, 28 Jan 2014 18:43:55 +0000 (19:43 +0100)
debian/systemd.bug-script

index c56dcc5e6272d80af3d26325d1d93fc244866c8d..23e617a6943743b9e77d865f733a7e6b44cee658 100644 (file)
@@ -1,23 +1,56 @@
 #!/bin/sh
 
-_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 "systemctl dump"
-    systemctl --no-pager dump >&3
-fi
+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
+        systemctl --no-pager dump >$DIR/systemctl-dump.txt
+        echo "$DIR/systemctl-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 "systemctl dump"
+        systemctl --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
+    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