Package: scratch
Version: 1.4.0.6~dfsg1-2
Severity: serious
User: debian...@lists.debian.org
Usertags: piuparts
Control: found -1 1.4.0.6~dfsg1-2

Hi,

during a test with piuparts I noticed your package failed to install. As
per definition of the release team this makes the package too buggy for
a release, thus the severity.

>From the attached log (scroll to the bottom...):

  Selecting previously unselected package scratch.
  (Reading database ... 8890 files and directories currently installed.)
  Unpacking scratch (from .../scratch_1.4.0.6~dfsg1-2_all.deb) ...
  Processing triggers for shared-mime-info ...
  Setting up scratch (1.4.0.6~dfsg1-2) ...
  gtk-update-icon-cache: No theme index file.
  dpkg: error processing scratch (--configure):
   subprocess installed post-installation script returned error exit status 1
  Errors were encountered while processing:
   scratch


Actually I only wanted to look whether I can write a patch for #682933
... I'm sorry, but these are the worst maintainer scripts I've seen so
far. There is exactly one statement I agree with:


debian/postinst
  1 #!/bin/sh -e                                                                
        ## should be #!/bin/sh\nset -e
  2 DEFAULTS=/etc/gnome/defaults.list
  3 if [ -f $DEFAULTS ]; then
  4         chmod 666 $DEFAULTS                                                 
        ## WTF ???
  5         echo "application/x-scratch-project=scratch.desktop" >> $DEFAULTS   
        ## modifies conffile, violates policy 10.7.3, adds the same line 
everytime
  6         chmod 644 $DEFAULTS                                                 
        ## WTF ???
  7         gtk-update-icon-cache -qf /usr/share/icons/hicolor                  
        ## managed by a trigger in hicolor-icon-theme
  8 fi
  9 update-mime-database /usr/share/mime                                        
        ## proper code should be generated by dh_installmime
 10
 11 # for freedeskoptop compatible env's
 12 if [ -x update-desktop-database ]; then                                     
        ## does not work, proper code should be generated by dh_desktop
 13         update-desktop-database                                             
        ## unreachable
 14 fi
 15 # for KDE
 16 if [ -x kbuildsycoca ]; then                                                
        ## does not work, command not in wheezy, that was for KDE3
 17         kbuildsycoca                                                        
        ## unreachable
 18 fi
 19
 20 # dh_installdeb will replace this with shell code automatically
 21 # generated by other debhelper scripts.
 22
 23 #DEBHELPER#                                                                 
        ## OK
 24


debian/postrm
  1 #!/bin/sh -e                                                                
        ## same as above
  2 DEFAULTS=/etc/gnome/defaults.list
  3 if [ -f $DEFAULTS ]; then
  4         cat $DEFAULTS | sed -e 
'/application\/x\-scratch\-project\=scratch\.desktop/d' > ./defaults.list   ## 
insecure tempfile, modifies conffile
  5         mv ./defaults.list $DEFAULTS                                        
        ## cd /tmp; ln -s /etc/passwd defaults.list; dpkg -r scratch
  6         gtk-update-icon-cache -qf /usr/share/icons/hicolor
  7 fi
  8 update-mime-database /usr/share/mime
  9
 10 # for freedeskoptop compatible env's
 11 if [ -x update-desktop-database ]; then
 12         update-desktop-database
 13 fi
 14 # for KDE
 15 if [ -x kbuildsycoca ]; then
 16         kbuildsycoca
 17 fi
 18
 19 # dh_installdeb will replace this with shell code automatically
 20 # generated by other debhelper scripts.
 21
 22 #DEBHELPER#                                                                 
        ## OK
 23

Missing restriction to certain ways the script is called:
   
   if [ "$1" = "configure" ]; then ...
   if [ "$1" = "remove" ]; then ...
   if [ "$1" = "purge" ]; then ...


cheers,

Andreas

Attachment: scratch-wheezy.log.gz
Description: GNU Zip compressed data

Reply via email to