|
#!/bin/sh |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
prefix="/usr" |
|
exec_prefix="${prefix}" |
|
datarootdir="${prefix}/share" |
|
datadir="${datarootdir}" |
|
|
|
libdir="${exec_prefix}/lib" |
|
localedir="${datarootdir}/locale" |
|
|
|
|
|
if test "no" = yes; then |
|
orig_installdir="$libdir"/gettext |
|
|
|
curr_installdir=`echo "$0" | sed -e 's,/[^/]*$,,'` |
|
curr_installdir=`cd "$curr_installdir" && pwd` |
|
|
|
|
|
while true; do |
|
orig_last=`echo "$orig_installdir" | sed -n -e 's,^.*/\([^/]*\)$,\1,p'` |
|
curr_last=`echo "$curr_installdir" | sed -n -e 's,^.*/\([^/]*\)$,\1,p'` |
|
if test -z "$orig_last" || test -z "$curr_last"; then |
|
break |
|
fi |
|
if test "$orig_last" != "$curr_last"; then |
|
break |
|
fi |
|
orig_installdir=`echo "$orig_installdir" | sed -e 's,/[^/]*$,,'` |
|
curr_installdir=`echo "$curr_installdir" | sed -e 's,/[^/]*$,,'` |
|
done |
|
|
|
libdir=`echo "$libdir/" | sed -e "s%^${orig_installdir}/%${curr_installdir}/%" | sed -e 's,/$,,'` |
|
localedir=`echo "$localedir/" | sed -e "s%^${orig_installdir}/%${curr_installdir}/%" | sed -e 's,/$,,'` |
|
fi |
|
|
|
|
|
. gettext.sh |
|
TEXTDOMAIN=gettext-tools |
|
export TEXTDOMAIN |
|
TEXTDOMAINDIR="$localedir" |
|
export TEXTDOMAINDIR |
|
|
|
|
|
exec 3>/dev/tty |
|
|
|
|
|
if test $# != 0; then |
|
echo "$1" 1>&3 |
|
fi |
|
|
|
|
|
user=`id -u -n 2>/dev/null` |
|
if test -z "$user"; then |
|
user="$USER" |
|
if test -z "$user"; then |
|
user="$LOGNAME" |
|
if test -z "$user"; then |
|
user=unknown |
|
fi |
|
fi |
|
fi |
|
|
|
|
|
|
|
|
|
|
|
host=`"$libdir"/gettext/hostname --short 2>/dev/null | sed 1q` |
|
|
|
|
|
hostfqdn=`"$libdir"/gettext/hostname --fqdn 2>/dev/null | sed 1q` |
|
|
|
|
|
|
|
|
|
cd $HOME |
|
files="" |
|
|
|
|
|
|
|
|
|
files="$files .thunderbird/*/prefs.js" |
|
|
|
|
|
files="$files .mozilla/*/prefs.js" |
|
|
|
|
|
files="$files .netscape/liprefs.js .netscape/preferences.js" |
|
|
|
|
|
files="$files .netscape/preferences" |
|
|
|
|
|
|
|
files="$files .emacs .emacs.el" |
|
|
|
|
|
files="$files .kde2/share/config/emaildefaults" |
|
|
|
|
|
files="$files .kde2/share/config/kmailrc" |
|
|
|
|
|
files="$files .gconf/apps/evolution/mail/%gconf.xml" |
|
|
|
|
|
files="$files evolution/config.xmldb" |
|
|
|
|
|
files="$files .gnome/balsa" |
|
|
|
|
|
sed_dos2unix='s/\r$//' |
|
sed_soffice51='s,StarOffice 5\.1=\(.*\)$,\1/sofficerc,p' |
|
sed_soffice52='s,StarOffice 5\.2=\(.*\)$,\1/user/sofficerc,p' |
|
sed_ooffice='s,^OpenOffice[^=]*=\(.*\)$,\1/user/config/registry/instance/org/openoffice/UserProfile.xml,p' |
|
files="$files Office51/sofficerc Office52/user/sofficerc "`sed -n -e "$sed_dos2unix" -e "$sed_soffice51" -e "$sed_soffice52" -e "$sed_ooffice" .sversionrc 2>/dev/null | sed -e 's,^file://*,/,'` |
|
|
|
|
|
files="$files .muttrc" |
|
|
|
|
|
files="$files .pinerc" |
|
|
|
|
|
files="$files .xfmail/.xfmailrc" |
|
|
|
|
|
files="$files .ratatosk/ratatoskrc" |
|
|
|
|
|
|
|
|
|
nfiles="" |
|
for file in $files; do |
|
if test -r "$file" && test ! -d "$file"; then |
|
nfiles="$nfiles $file" |
|
fi |
|
done |
|
files="$nfiles" |
|
|
|
addresses="" |
|
|
|
if test -n "$files"; then |
|
|
|
for file in `ls -t $files`; do |
|
|
|
case "$file" in |
|
|
|
|
|
|
|
|
|
.mozilla/*/prefs.js | .thunderbird/*/prefs.js) |
|
addresses="$addresses "`grep -h '^user_pref("mail\.identity\..*\.useremail", ".*");$' $file 2>/dev/null | sed -e 's/^user_pref("mail\.identity\..*\.useremail", "\(.*\)");$/\1/'` |
|
;; |
|
|
|
|
|
.netscape/liprefs.js | .netscape/preferences.js) |
|
addresses="$addresses "`grep -h '^user_pref("mail\.identity\.useremail", ".*");$' $file 2>/dev/null | sed -e 's/^user_pref("mail\.identity\.useremail", "\(.*\)");$/\1/'` |
|
;; |
|
|
|
|
|
.netscape/preferences) |
|
addresses="$addresses "`grep -h '^EMAIL_ADDRESS:' $file 2>/dev/null | sed -e 's/^EMAIL_ADDRESS:[ ]*//'` |
|
;; |
|
|
|
.emacs | .emacs.el) |
|
|
|
addresses="$addresses "`grep -h '[ (]user-mail-address "[^"]*"' $file 2>/dev/null | sed -e 's/^.*[ (]user-mail-address "\([^"]*\)".*$/\1/'` |
|
|
|
domains=`grep -h '[ (]mew-mail-domain "[^"]*"' $file 2>/dev/null | sed -e 's/^.*[ (]mew-mail-domain "\([^"]*\)".*$/\1/'` |
|
if test -n "$domains"; then |
|
for domain in $domains; do |
|
addresses="$addresses ${user}@$domain" |
|
done |
|
fi |
|
;; |
|
|
|
|
|
.kde2/share/config/emaildefaults) |
|
addresses="$addresses "`grep -h '^EmailAddress=' $file 2>/dev/null | sed -e 's/^EmailAddress=//'` |
|
;; |
|
|
|
|
|
.kde2/share/config/kmailrc) |
|
addresses="$addresses "`grep -h '^Email Address=' $file 2>/dev/null | sed -e 's/^Email Address=//'` |
|
;; |
|
|
|
|
|
.gconf/apps/evolution/mail/%gconf.xml) |
|
sedexpr0='s,^.*<addr-spec>\(.*\)</addr-spec>.*$,\1,p' |
|
addresses="$addresses "`sed -n -e "$sedexpr0" < $file` |
|
;; |
|
|
|
|
|
evolution/config.xmldb) |
|
sedexpr0='s/^.*<entry name="identity_address_[0-9]*" type="string" value="\([^"]*\)".*$/\1/p' |
|
sedexpr1='s/\(..\)/\\x\1/g' |
|
sedexpr2='s,$,\\n,' |
|
addresses="$addresses "`sed -n -e "$sedexpr0" < $file | while read hexstring; do printf \`echo "$hexstring" | sed -e "$sedexpr1" -e "$sedexpr2"\`; done` |
|
;; |
|
|
|
|
|
.gnome/balsa) |
|
addresses="$addresses "`grep -h '^Address=' $file 2>/dev/null | sed -e 's/^Address=//'` |
|
;; |
|
|
|
|
|
*/UserProfile.xml) |
|
addresses="$addresses "`sed -n -e 's,^.*<mail cfg:type="string">\(.*\)</mail>.*$,\1,p' $file 2>/dev/null` |
|
;; |
|
|
|
|
|
|
|
|
|
*/sofficerc) |
|
addresses="$addresses "`grep -h '^User-Adress=' $file 2>/dev/null | sed -e 's/#[^#]*$//' -e 's/^.*#//'` |
|
;; |
|
|
|
|
|
.muttrc) |
|
mutt_addresses=`grep -h '^set from="[^"]*"[ ]*$' $file 2>/dev/null | sed -e 's/^set from="\([^"]*\)"[ ]*$/\1/'` |
|
if test -n "$mutt_addresses"; then |
|
addresses="$addresses $mutt_addresses" |
|
else |
|
|
|
if test -n "$EMAIL"; then |
|
addresses="$addresses $EMAIL" |
|
fi |
|
fi |
|
;; |
|
|
|
|
|
.pinerc) |
|
domains=`grep -h '^user-domain=' $file 2>/dev/null | sed -e 's/^user-domain=//'` |
|
if test -n "$domains"; then |
|
for domain in $domains; do |
|
addresses="$addresses ${user}@$domain" |
|
done |
|
else |
|
|
|
domains=`grep -h '^use-only-domain-name=' $file 2>/dev/null | sed -e 's/^use-only-domain-name=//'` |
|
if test "Yes" = "$domains"; then |
|
addresses="$addresses ${user}@"`echo "$hostfqdn" | sed -e 's/^[^.]*\.//'` |
|
fi |
|
fi |
|
;; |
|
|
|
|
|
.xfmail/.xfmailrc) |
|
addresses="$addresses "`grep -h '^from=.*<.*>' $file 2>/dev/null | sed -e 's/^.*<\([^<>]*\)>.*$/\1/'` |
|
;; |
|
|
|
|
|
.ratatosk/ratatoskrc) |
|
domains=`grep -h '^set option(masquerade_as) ' $file 2>/dev/null | sed -e 's/^set option(masquerade_as) //'` |
|
if test -n "$domains"; then |
|
for domain in $domains; do |
|
addresses="$addresses ${user}@$domain" |
|
done |
|
else |
|
|
|
domains=`grep -h '^set option(domain) ' $file 2>/dev/null | sed -e 's/^set option(domain) //'` |
|
if test -n "$domains"; then |
|
for domain in $domains; do |
|
addresses="$addresses ${user}@${host}.$domain" |
|
done |
|
fi |
|
fi |
|
;; |
|
|
|
|
|
|
|
esac |
|
|
|
done |
|
|
|
fi |
|
|
|
|
|
if test -r /etc/mailname; then |
|
hostmailname=`cat /etc/mailname` |
|
if test -n "$hostmailname"; then |
|
addresses="$addresses ${user}@$hostmailname" |
|
fi |
|
fi |
|
|
|
|
|
if test -r /etc/sysconfig/mail; then |
|
hostmailname=`. /etc/sysconfig/mail && echo "$FROM_HEADER"` |
|
if test -n "$hostmailname"; then |
|
addresses="$addresses ${user}@$hostmailname" |
|
fi |
|
fi |
|
|
|
|
|
|
|
|
|
|
|
addresses="$addresses ${user}@$hostfqdn" |
|
|
|
|
|
|
|
lowercase_sed='{ |
|
h |
|
s/^[^@]*@\(.*\)$/\1/ |
|
y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ |
|
x |
|
s/^\([^@]*\)@.*/\1@/ |
|
G |
|
s/\n// |
|
p |
|
}' |
|
naddresses="" |
|
for addr in $addresses; do |
|
case "$addr" in |
|
"<"*">") addr=`echo "$addr" | sed -e 's/^<//' -e 's/>$//'` ;; |
|
esac |
|
case "$addr" in |
|
*@*) |
|
addr=`echo "$addr" | sed -n -e "$lowercase_sed"` |
|
case " $naddresses " in |
|
*" $addr "*) ;; |
|
*) naddresses="$naddresses $addr" ;; |
|
esac |
|
;; |
|
esac |
|
done |
|
addresses="$naddresses" |
|
|
|
|
|
case "$addresses" in |
|
" "*" "*) |
|
|
|
lines="" |
|
i=0 |
|
for addr in $addresses; do |
|
i=`expr $i + 1` |
|
lines="${lines}${i} ${addr} |
|
" |
|
done |
|
while true; do |
|
{ gettext "Which is your email address?"; echo; } 1>&3 |
|
echo "$lines" 1>&3 |
|
{ gettext "Please choose the number, or enter your email address."; echo; } 1>&3 |
|
read answer < /dev/tty |
|
case "$answer" in |
|
*@*) ;; |
|
[0-9]*) |
|
i=0 |
|
for addr in $addresses; do |
|
i=`expr $i + 1` |
|
if test "$i" = "$answer"; then |
|
break 2 |
|
fi |
|
done |
|
;; |
|
esac |
|
case "$answer" in |
|
"<"*">") answer=`echo "$answer" | sed -e 's/^<//' -e 's/>$//'` ;; |
|
esac |
|
case "$answer" in |
|
*" "*) { gettext "Invalid email address: invalid character."; echo; echo; } 1>&3 ; continue ;; |
|
*@*.*) ;; |
|
*@*) { gettext "Invalid email address: need a fully qualified host name or domain name."; echo; echo; } 1>&3 ; continue ;; |
|
*) { gettext "Invalid email address: missing @"; echo; echo; } 1>&3 ; continue ;; |
|
esac |
|
addr=`echo "$answer" | sed -n -e "$lowercase_sed"` |
|
break |
|
done |
|
;; |
|
" "*) |
|
|
|
while true; do |
|
{ gettext "Is the following your email address?"; echo; } 1>&3 |
|
echo " $addresses" 1>&3 |
|
{ gettext "Please confirm by pressing Return, or enter your email address."; echo; } 1>&3 |
|
read answer < /dev/tty |
|
if test -z "$answer"; then |
|
addr=`echo "$addresses" | sed -e 's/^ //'` |
|
break |
|
fi |
|
case "$answer" in |
|
"<"*">") answer=`echo "$answer" | sed -e 's/^<//' -e 's/>$//'` ;; |
|
esac |
|
case "$answer" in |
|
*" "*) { gettext "Invalid email address: invalid character."; echo; echo; } 1>&3 ; continue ;; |
|
*@*.*) ;; |
|
*@*) { gettext "Invalid email address: need a fully qualified host name or domain name."; echo; echo; } 1>&3 ; continue ;; |
|
*) { gettext "Invalid email address: missing @"; echo; echo; } 1>&3 ; continue ;; |
|
esac |
|
addr=`echo "$answer" | sed -n -e "$lowercase_sed"` |
|
break |
|
done |
|
;; |
|
"") |
|
|
|
{ gettext "Couldn't find out about your email address."; echo; } 1>&3 |
|
while true; do |
|
{ gettext "Please enter your email address."; echo; } 1>&3 |
|
read answer < /dev/tty |
|
case "$answer" in |
|
"<"*">") answer=`echo "$answer" | sed -e 's/^<//' -e 's/>$//'` ;; |
|
esac |
|
case "$answer" in |
|
*" "*) { gettext "Invalid email address: invalid character."; echo; echo; } 1>&3 ; continue ;; |
|
*@*.*) ;; |
|
*@*) { gettext "Invalid email address: need a fully qualified host name or domain name."; echo; echo; } 1>&3 ; continue ;; |
|
*) { gettext "Invalid email address: missing @"; echo; echo; } 1>&3 ; continue ;; |
|
esac |
|
addr=`echo "$answer" | sed -n -e "$lowercase_sed"` |
|
break |
|
done |
|
;; |
|
*) echo "internal error" 1>&3 ; exit 1 ;; |
|
esac |
|
|
|
|
|
echo "$addr" |
|
|