All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wu Fengguang <fengguang.wu@intel.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: alsa-devel@alsa-project.org, Wu Fengguang <fengguang.wu@intel.com>
Subject: [PATCH 1/4] alsa-info.sh: Do not automatically upload alsa info
Date: Wed, 08 Jul 2009 21:07:23 +0800	[thread overview]
Message-ID: <20090708131503.905317376@intel.com> (raw)
In-Reply-To: 20090708130722.723912338@intel.com

[-- Attachment #1: alsa-ask-upload.patch --]
[-- Type: text/plain, Size: 7884 bytes --]

- the greeting dialog informs that the script collects info, waits
  for OK button. It affords a concrete listing of information to collect:
  /proc/asound/, aplay, etc. This not only shows respect for user privacy,
  but also serves as basic debugging tips for ALSA newbies.
- when --upload option is given, the data will be automatically uploaded.
- when --no-upload option is given, the data is just stored locally and quit.
- when neither options are given, show a dialog to ask to upload or not.

The above ideas mostly come from Takashi.

CC: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
---
 utils/alsa-info.sh |  115 +++++++++++++++++++++++--------------------
 1 file changed, 63 insertions(+), 52 deletions(-)

--- alsa-driver.orig/utils/alsa-info.sh
+++ alsa-driver/utils/alsa-info.sh
@@ -36,10 +36,12 @@ PASTEBINKEY="C9cRIO8m/9y8Cs0nVs0FraRx7U0
 #Define some simple functions
 
 pbcheck(){
+	[[ $UPLOAD = "no" ]] && return
+
 	if [[ -z $PASTEBIN ]]; then
-		[[ $(ping -c1 www.alsa-project.org) ]] || KEEP_FILES="yes" NOUPLOAD="yes" PBERROR="yes"
+		[[ $(ping -c1 www.alsa-project.org) ]] || KEEP_FILES="yes" UPLOAD="no" PBERROR="yes"
 	else
-		[[ $(ping -c1 www.pastebin.ca) ]] || KEEP_FILES="yes" NOUPLOAD="yes" PBERROR="yes"
+		[[ $(ping -c1 www.pastebin.ca) ]] || KEEP_FILES="yes" UPLOAD="no" PBERROR="yes"
 	fi
 }
 
@@ -289,18 +291,24 @@ SNDOPTIONS=$(modprobe -c|sed -n 's/^opti
 
 PASTEBIN=""
 WWWSERVICE="www.alsa-project.org"
-QUESTION="yes"
+WELCOME="yes"
 PROCEED="yes"
+UPLOAD="ask"
 REPEAT=""
 while [ -z "$REPEAT" ]; do
 REPEAT="no"
 case "$1" in
 	--update|--help|--about)
-		QUESTION="no"
+		WELCOME="no"
 		PROCEED="no"
 		;;
+	--upload)
+		UPLOAD="yes"
+		WELCOME="no"
+		;;
 	--no-upload)
-		NOUPLOAD="yes"
+		UPLOAD="no"
+		WELCOME="no"
 		;;
 	--pastebin)
 		PASTEBIN="yes"
@@ -313,28 +321,18 @@ case "$1" in
 		;;
 	--stdout)
 		DIALOG=""
-		NOUPLOAD="yes"
-		QUESTION="no"
+		UPLOAD="no"
+		WELCOME="no"
 		TOSTDOUT="yes"
 		;;
 esac
 done
-		
+
 
 #Script header output.
-if [ "$QUESTION" = "yes" ]; then
-if [[ -n "$DIALOG" ]]
-then
-if [ -z "$NOUPLOAD" ]; then
-	dialog --backtitle "$BGTITLE" --title "ALSA-Info script v $SCRIPT_VERSION" --yesno "\nThis script will collect information about your ALSA installation and sound related hardware, to help diagnose your problem\n\nBy default, this script will AUTOMATICALLY UPLOAD your information to a $WWWSERVICE site.\n\nSee $0 --help for options\n\nDo you want to run this script?" 0 0
-else
-	dialog --backtitle "$BGTITLE" --title "ALSA-Info script v $SCRIPT_VERSION" --yesno "\nThis script will collect information about your ALSA installation and sound related hardware, to help diagnose your problem\n\nSee $0 --help for options\n\nDo you want to run this script?" 0 0
-fi
-DIALOG_EXIT_CODE=$?
-if [ $DIALOG_EXIT_CODE != 0 ]; then
-echo "Thank you for using the ALSA-Info Script"
-exit 0;
-fi
+if [ "$WELCOME" = "yes" ]; then
+if [[ -n "$DIALOG" ]]; then
+	dialog --backtitle "$BGTITLE" --title "ALSA-Info script v $SCRIPT_VERSION" --msgbox "\nThis script visits the following commands/files to collect diagnostic information about your ALSA installation and sound related hardware.\n\n  lspci\n  lsmod\n  aplay\n  amixer\n  alsactl\n  /proc/asound/\n  /sys/class/sound/\n  ~/.asoundrc (etc.)\n\nSee '$0 --help' for command line options.\n" 20 80
 else
 
 echo "ALSA Information Script v $SCRIPT_VERSION"
@@ -342,27 +340,8 @@ echo "--------------------------------"
 echo ""
 echo "This script will collect information about your ALSA installation and sound related hardware, to help diagnose your problem."
 echo ""
-if [ -z "$NOUPLOAD" ]; then
-if [[ -n "$TPUT" ]]; then
-tput bold
-echo "By default, the collected information will be AUTOMATICALLY uploaded to a $WWWSERVICE site."
-echo "If you do not wish for this to occur, run the script with the --no-upload argument"
-tput sgr0
-else
-echo "By default, the collected information will be AUTOMATICALLY uploaded to a $WWWSERVICE site."
-echo "If you do not wish for this to occur, run the script with the --no-upload argument"
-fi
-echo ""
-fi # NOUPLOAD
-echo -n "Do you want to run this script? [y/n] : "
-read -e CONFIRM
-if [ "$CONFIRM" != "y" ]; then
-echo ""
-echo "Thank you for using the ALSA-Info Script"
-exit 0;
-fi
-fi
-fi # question
+fi # dialog
+fi # WELCOME
 
 #Set the output file
 TEMPDIR=`mktemp -p /tmp -d alsa-info.XXXXXXXXXX`
@@ -609,8 +588,18 @@ then
 			update
 			exit
 			;;
+		--upload)
+			UPLOAD="yes"
+			withdevices
+			withconfigs
+			withaplay
+			withamixer
+			withalsactl
+			withlsmod
+			withsysfs
+			;;
 		--no-upload)
-			NOUPLOAD="yes"
+			UPLOAD="no"
 			withdevices
 			withconfigs
 			withaplay
@@ -681,7 +670,7 @@ then
 			fi
 			;;
 		--stdout)
-			NOUPLOAD="yes"
+			UPLOAD="no"
 			withdevices
 			withconfigs
 			withaplay
@@ -714,6 +703,7 @@ then
 			echo "	--with-devices (shows the device nodes in /dev/snd/)"
 			echo ""
 			echo "	--update (check server for script updates)"
+			echo "	--upload (upload contents to remote server)"
 			echo "	--no-upload (do not upload contents to remote server)"
 			echo "	--pastebin (use http://pastebin.ca) as remote server"
 			echo "	    instead www.alsa-project.org"
@@ -733,7 +723,28 @@ if [ "$PROCEED" = "no" ]; then
 	exit 1
 fi
 
-if [ -n "$NOUPLOAD" ]; then
+if [ "$UPLOAD" = "ask" ]; then
+	if [[ -n "$DIALOG" ]]; then
+		dialog --backtitle "$BGTITLE" --title "Information collected" --yes-label " UPLOAD / SHARE " --no-label " SAVE LOCALLY " --defaultno --yesno "\n\nAutomatically upload ALSA information to $WWWSERVICE?" 10 80
+		DIALOG_EXIT_CODE=$?
+		if [ $DIALOG_EXIT_CODE != 0 ]; then
+			UPLOAD="no"
+		else
+			UPLOAD="yes"
+		fi
+	else
+		echo -n "Automatically upload ALSA information to $WWWSERVICE? [y/N] : "
+		read -e CONFIRM
+		if [ "$CONFIRM" != "y" ]; then
+			UPLOAD="no"
+		else
+			UPLOAD="yes"
+		fi
+	fi
+
+fi
+
+if [ "$UPLOAD" = "no" ]; then
 
 	if [ -z "$TOSTDOUT" ]; then
 		mv $FILE $NFILE || exit 1
@@ -742,23 +753,23 @@ if [ -n "$NOUPLOAD" ]; then
 	if [[ -n $DIALOG ]]
 	then
 		if [[ -n $PBERROR ]]; then
-			dialog --backtitle "$BGTITLE" --title "Information collected" --msgbox "An error occurred while contacting the $WWWSERVICE. Your information was NOT automatically uploaded.\n\nYour ALSA information can be seen by looking in $NFILE" 10 100
+			dialog --backtitle "$BGTITLE" --title "Information collected" --msgbox "An error occurred while contacting the $WWWSERVICE.\n Your information was NOT automatically uploaded.\n\nYour ALSA information is in $NFILE" 10 100
 		else
-			dialog --backtitle "$BGTITLE" --title "Information collected" --msgbox "You requested that your information was NOT automatically uploaded to the $WWWSERVICE\n\nYour ALSA information can be seen by looking in $NFILE" 10 100
+			dialog --backtitle "$BGTITLE" --title "Information collected" --msgbox "\n\nYour ALSA information is in $NFILE" 10 60
 		fi
 	else
 		echo
 
 		if [[ -n $PBERROR ]]; then
-			echo "An error occurred while contacting the $WWWSERVICE. Your information was NOT automatically uploaded."
+			echo "An error occurred while contacting the $WWWSERVICE."
+			echo "Your information was NOT automatically uploaded."
 			echo ""
-			echo "Your ALSA information can be seen by looking in $NFILE"
+			echo "Your ALSA information is in $NFILE"
 			echo ""
 		else
 			if [ -z "$TOSTDOUT" ]; then
-				echo "You requested that your information was NOT automatically uploaded to the $WWWSERVICE"
 				echo ""
-				echo "Your ALSA information can be seen by looking in $NFILE"
+				echo "Your ALSA information is in $NFILE"
 				echo ""
 			fi
 		fi
@@ -766,7 +777,7 @@ if [ -n "$NOUPLOAD" ]; then
 
 	exit
 
-fi # noupload
+fi # UPLOAD
 
 #Test that wget is installed, and supports --post-file. Upload $FILE if it does, and prompt user to upload file if it doesnt. 
 if

-- 

  reply	other threads:[~2009-07-08 13:16 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-08 13:07 [PATCH 0/4] alsa-info.sh updates Wu Fengguang
2009-07-08 13:07 ` Wu Fengguang [this message]
2009-07-08 13:25   ` [PATCH 1/4] alsa-info.sh: Do not automatically upload alsa info Wu Fengguang
2009-07-08 13:07 ` [PATCH 2/4] alsa-info.sh: fix whitespace leaked to stdout Wu Fengguang
2009-07-08 13:07 ` [PATCH 3/4] alsa-info.sh: let mv fail loudly Wu Fengguang
2009-07-08 13:07 ` [PATCH 4/4] alsa-info.sh: introduce withall() Wu Fengguang
2009-07-09 16:51 ` [PATCH 0/4] alsa-info.sh updates Takashi Iwai
2009-07-09 17:03   ` Daniel Chen
2009-07-09 17:19     ` Mark Brown
2009-07-16  9:42 ` Takashi Iwai
2009-07-16 11:24   ` [PATCH] alsa-info.sh: add dmesg info on ALSA/HDA Wu Fengguang
2009-07-16 11:59     ` Takashi Iwai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090708131503.905317376@intel.com \
    --to=fengguang.wu@intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.