Brian,

Since /tmp is shared, I suggest you include the user name and maybe
even the date/time in the file name to avoid clashes.  You should also
check if tar returned an error.

In the message at the end, it would be nice to tell the users where
to go for filing bugs (d.o.o?) and a warning that these files may
include sensitive information.

Laca

On Thu, 2009-01-15 at 16:19 -0600, Brian Cameron wrote:
> Laca:
> 
> > The problem with gnome-cleanup is that the situations where
> > it is still used by some people are difficult to reproduce
> > and therefore difficult to fix.
> > 
> > Just a thought: how about changing gnome-cleanup to
> > make a tar file from the files it is about to delete so they
> > can be attached to bug reports?
> 
> That's a good point.  I made the attached patch to make gnome-cleanup
> create a tarfile called /tmp/gnome-cleanup.tar, as you suggest.  Would
> it be good to check this additional diff in?  If so, should I also
> request approval to put this in the 2.24 branch?
> 
> > Alternatively, just symlink it to /bin/true ;)
> 
> We could do that, though I'm probably not the right person to make
> the decision if we want to do that or not.
> 
> Brian
> 
> 
> > On Thu, 2009-01-15 at 11:01 -0600, Brian Cameron wrote:
> >> Laca:
> >>
> >>> Sigh... can we not just delete gnome-cleanup please...?
> >> gnome-cleanup always was a bit of a hack.  You would not hear any
> >> objections from me if we decided to remove it.
> >>
> >> In the past, users have had problems with their GNOME/GConf 
> >> configuration getting corrupted in situations like on upgrade to a
> >> new version of GNOME.  The main purpose of gnome-cleanup was to help
> >> users in such situations get back to a usable baseline, as you probably
> >> already know.
> >>
> >> If we feel that these sorts of GNOME/GConf configuration issues are
> >> no longer an issue in GNOME, and users will therefore no longer need
> >> this script, then it would certainly be time to remove it.  I hadn't
> >> heard anything to make me think these sorts of issues had been
> >> addressed.  In fact, about a year ago there was so much talk about
> >> moving from GConf to DConf that I was expecting more churn as the
> >> community ripped out one system and replaced it with another.  Though I
> >> haven't heard much about DConf in a long time.  Did it fizzle out or
> >> just get moved to a back burner?
> >>
> >> Brian
> >>
> >>
> >>> On Tue, 2009-01-06 at 20:32 -0600, Brian Cameron wrote:
> >>>> The following patch fixes bug #6635943.
> >>>>
> >>>> gnome-cleanup currently deletes the $HOME/.gstreamer-0.10 directory.
> >>>> However, codeina installs plugins to $HOME/.gstreamer-0.10/plugins.  We
> >>>> don't want to delete any plugins the user has downloaded, so we should
> >>>> instead delete only $HOME/.gstreamer-0.10/registry since we do want to
> >>>> remove the registry so it gets rebuilt when gnome-cleanup is run.
> >>>>
> >>>> The above issue is a fairly serious bug, but some other minor issues
> >>>> that should be fixed as well include the following:
> >>>>
> >>>> Note that GNOME programs use g_get_tmp_dir to figure out where to put
> >>>> the files.  gnome-cleanup currently supports deleting files in the
> >>>> var/tmp and the $TMP directory, but g_get_tmp_dir can also return the
> >>>> value of $TEMPDIR and $TEMP, so we should remove any files in those
> >>>> directories as well.  We should also delete gvfs-${LOGNAME} files that
> >>>> are in the tmp directory.
> >>>>
> >>>> Lastly we should cleanup $HOME/.dbus just to remove all the files that
> >>>> could possibly cause the user problems and return the user back to a
> >>>> fresh install environment.
> >>>>
> >>>> Brian
> >>>>
> >>>> ----
> >>>>
> >>>> Index: gnome-cleanup
> >>>> ===================================================================
> >>>> --- gnome-cleanup       (revision 12599)
> >>>> +++ gnome-cleanup       (revision 17092)
> >>>> @@ -63,23 +63,28 @@
> >>>>      exit 1
> >>>>   fi
> >>>>
> >>>> -# GNOME 2.x files
> >>>> +# tmp files
> >>>>   #
> >>>> -gnome_files="$USRHOME/.gconf $USRHOME/.gconfd $USRHOME/.gnome 
> >>>> $USRHOME/.gnome-desktop $USRHOME/.gnome2 $USRHOME/.gnome2_private 
> >>>> $USRHOME/.metacity $USRHOME/.nautilus $USRHOME/.esd_auth $USRHOME/.gtkrc 
> >>>> $USRHOME/.gtkrc-1.2-gnome2 $USRHOME/.nautilus-metafile.xml 
> >>>> $USRHOME/.gstreamer-0.10 $USRHOME/.local/share"
> >>>> +tmp_dirs="/var/tmp $TEMPDIR $TMP $TEMP"
> >>>> +tmp_files=""
> >>>>
> >>>> -# GNOME 1.4 files
> >>>> -#
> >>>> -gnome_14_files="$USRHOME/.gimp-1.2 $USRHOME/.gnome-help-browser 
> >>>> $USRHOME/.gnome_private $USRHOME/.thumbnails $USRHOME/Nautilus"
> >>>> +tmp_cleanup="gconfd-${LOGNAME} mapping-${LOGNAME} orbit-${LOGNAME} 
> >>>> gvfs-${LOGNAME}*"
> >>>>
> >>>> -# /var/tmp files
> >>>> +for dir in $tmp_dirs; do
> >>>> +   for cleanup in $tmp_cleanup; do
> >>>> +       tmp_files="$dir/$cleanup $tmp_files"
> >>>> +   done
> >>>> +done
> >>>> +
> >>>> +# GNOME 2.x files
> >>>>   #
> >>>> -var_tmp_dirs1="/var/tmp/gconfd-${LOGNAME} /var/tmp/mapping-${LOGNAME} 
> >>>> /var/tmp/orbit-${LOGNAME}"
> >>>> +gnome_files="$USRHOME/.dbus $USRHOME/.gconf $USRHOME/.gconfd 
> >>>> $USRHOME/.gnome $USRHOME/.gnome-desktop $USRHOME/.gnome2 
> >>>> $USRHOME/.gnome2_private $USRHOME/.metacity $USRHOME/.nautilus 
> >>>> $USRHOME/.esd_auth $USRHOME/.gtkrc $USRHOME/.gtkrc-1.2-gnome2 
> >>>> $USRHOME/.nautilus-metafile.xml $USRHOME/.gstreamer-0.10/registry.* 
> >>>> $USRHOME/.local/share"
> >>>>
> >>>> -# Also check the TMP environment variable for /var/tmp files.
> >>>> +# GNOME 1.4 files
> >>>>   #
> >>>> -var_tmp_dirs2="$TMP/gconfd-${LOGNAME} $TMP/mapping-${LOGNAME} 
> >>>> $TMP/orbit-${LOGNAME}"
> >>>> +gnome_14_files="$USRHOME/.gnome-help-browser $USRHOME/.gnome_private 
> >>>> $USRHOME/.thumbnails $USRHOME/Nautilus"
> >>>>
> >>>> -has_files=`/bin/ls -1d $gnome_files $gnome_14_files $var_tmp_dirs1 
> >>>> $var_tmp_dirs2 2> /dev/null`
> >>>> +has_files=`/bin/ls -1d $tmp_files $gnome_files $gnome_14_files 2> 
> >>>> /dev/null`
> >>>>
> >>>>   if [ ! -z "$has_files" ]
> >>>>   then
> > 
> 
> plain text document attachment (cleanup.diff)
> Index: gnome-cleanup
> ===================================================================
> --- gnome-cleanup     (revision 17187)
> +++ gnome-cleanup     (working copy)
> @@ -96,6 +96,7 @@
>  done
>     
>  has_files=`/bin/ls -d $tmp_files $gnome_files $gnome_14_files 2> /dev/null`
> +has_user_files=`/bin/ls -d $gnome_files $gnome_14_files 2> /dev/null`
>  
>  if [ ! -z "$has_files" ]
>  then
> @@ -106,10 +107,16 @@
>  
>     if [ "$input" = "Y" -o "$input" = "y" ]
>     then
> +      # Back up files for debugging.
> +      /usr/bin/tar -cf /tmp/gnome-cleanup.tar $has_user_files
>        /bin/rm -fR $has_files
>        rc=$?
>        if [ $rc = 0 ]; then
> -         echo "Removed..."
> +         echo "\nRemoved..."
> +         echo "\nThe files removed have been backed up to 
> /tmp/gnome-cleanup.tar."
> +         echo "You can attach this tar file to any bug report if you ran"
> +         echo "$0 to resolve an issue that was caused by the GNOME"
> +         echo "not functioning properly."
>        else
>           echo "Error removing files..."
>        fi


Reply via email to