Hi,
I have prepared some by hand upgrade recipe for fabric, where I have in
fabfile.py...

 def _ensure_perl_readline():
     rlname = run("""perl -MTerm::ReadLine -e 
'print(Term::ReadLine->ReadLine())'""", quiet=True)
     if not rlname == "Term::ReadLine::Gnu":
         run('aptitude install -q -q libterm-readline-gnu-perl')
 
 @parallel
 def aptitude_update():
     run('aptitude update', quiet=True)
 
 def aptitude_upgrade():
     run('DEBIAN_FRONTEND=readline aptitude -q -q safe-upgrade')
 
 @task
 @runs_once
 def upgrade():
     _ensure_perl_readline()
     execute(aptitude_update)
     execute(aptitude_upgrade)

The output of dpkg is problem. I want to have tty because of debconf
interactive questions. Now the output is e.g.:

 zito@ser1:~/admin$ fab -H nsi1.brn.i.cz upgrade
 [nsi1.brn.i.cz] Executing task 'upgrade'
 [nsi1.brn.i.cz] run: aptitude install -q -q libterm-readline-gnu-perl
 [nsi1.brn.i.cz] out: The following NEW packages will be installed:
 [nsi1.brn.i.cz] out:   libterm-readline-gnu-perl
 [nsi1.brn.i.cz] out: 0 packages upgraded, 1 newly installed, 0 to remove and 1 
not upgraded.
 [nsi1.brn.i.cz] out: Need to get 99.1 kB of archives. After unpacking 266 kB 
will be used.
 [nsi1.brn.i.cz] out: Selecting previously unselected package 
libterm-readline-gnu-perl.
 [nsi1.brn.i.cz] out: (Reading database ...
 [nsi1.brn.i.cz] out: (Reading database ... 5%
 [nsi1.brn.i.cz] out: (Reading database ... 10%
 [nsi1.brn.i.cz] out: (Reading database ... 15%
 [nsi1.brn.i.cz] out: (Reading database ... 20%
 [nsi1.brn.i.cz] out: (Reading database ... 25%
 [nsi1.brn.i.cz] out: (Reading database ... 30%
 [nsi1.brn.i.cz] out: (Reading database ... 35%
 [nsi1.brn.i.cz] out: (Reading database ... 40%
 [nsi1.brn.i.cz] out: (Reading database ... 45%
 [nsi1.brn.i.cz] out: (Reading database ... 50%
 [nsi1.brn.i.cz] out: (Reading database ... 55%
 [nsi1.brn.i.cz] out: (Reading database ... 60%
 [nsi1.brn.i.cz] out: (Reading database ... 65%
 [nsi1.brn.i.cz] out: (Reading database ... 70%
 [nsi1.brn.i.cz] out: (Reading database ... 75%
 [nsi1.brn.i.cz] out: (Reading database ... 80%
 [nsi1.brn.i.cz] out: (Reading database ... 85%
 [nsi1.brn.i.cz] out: (Reading database ... 90%
 [nsi1.brn.i.cz] out: (Reading database ... 95%
 [nsi1.brn.i.cz] out: (Reading database ... 100%
 [nsi1.brn.i.cz] out: (Reading database ... 44444 files and directories 
currently installed.)
 [nsi1.brn.i.cz] out: Preparing to unpack 
.../libterm-readline-gnu-perl_1.24-2+b1_amd64.deb ...
 [nsi1.brn.i.cz] out: Unpacking libterm-readline-gnu-perl (1.24-2+b1) ...
 [nsi1.brn.i.cz] out: Processing triggers for man-db (2.7.0.2-5) ...
 [nsi1.brn.i.cz] out: Setting up libterm-readline-gnu-perl (1.24-2+b1) ...
 [nsi1.brn.i.cz] out:
 
 [nsi1.brn.i.cz] Executing task 'aptitude_update'
 [nsi1.brn.i.cz] Executing task 'aptitude_upgrade'
 [nsi1.brn.i.cz] run: DEBIAN_FRONTEND=readline aptitude -q -q safe-upgrade
 [nsi1.brn.i.cz] out: The following packages will be upgraded:
 [nsi1.brn.i.cz] out:   linux-image-3.16.0-4-amd64
 [nsi1.brn.i.cz] out: 1 packages upgraded, 0 newly installed, 0 to remove and 0 
not upgraded.
 [nsi1.brn.i.cz] out: Need to get 0 B/33.8 MB of archives. After unpacking 
1,024 B will be used.
 [nsi1.brn.i.cz] out: Do you want to continue? [Y/n/?]
 [nsi1.brn.i.cz] out: Preconfiguring packages ...
 [nsi1.brn.i.cz] out: (Reading database ...
 [nsi1.brn.i.cz] out: (Reading database ... 5%
 [nsi1.brn.i.cz] out: (Reading database ... 10%
 [nsi1.brn.i.cz] out: (Reading database ... 15%
 [nsi1.brn.i.cz] out: (Reading database ... 20%
 [nsi1.brn.i.cz] out: (Reading database ... 25%
 [nsi1.brn.i.cz] out: (Reading database ... 30%
 [nsi1.brn.i.cz] out: (Reading database ... 35%
 [nsi1.brn.i.cz] out: (Reading database ... 40%
 [nsi1.brn.i.cz] out: (Reading database ... 45%
 [nsi1.brn.i.cz] out: (Reading database ... 50%
 [nsi1.brn.i.cz] out: (Reading database ... 55%
 [nsi1.brn.i.cz] out: (Reading database ... 60%
 [nsi1.brn.i.cz] out: (Reading database ... 65%
 [nsi1.brn.i.cz] out: (Reading database ... 70%
 [nsi1.brn.i.cz] out: (Reading database ... 75%
 [nsi1.brn.i.cz] out: (Reading database ... 80%
 [nsi1.brn.i.cz] out: (Reading database ... 85%
 [nsi1.brn.i.cz] out: (Reading database ... 90%
 [nsi1.brn.i.cz] out: (Reading database ... 95%
 [nsi1.brn.i.cz] out: (Reading database ... 100%
 [nsi1.brn.i.cz] out: (Reading database ... 44468 files and directories 
currently installed.)
 [nsi1.brn.i.cz] out: Preparing to unpack 
.../linux-image-3.16.0-4-amd64_3.16.7-ckt20-1+deb8u3_amd64.deb ...
 [nsi1.brn.i.cz] out: Unpacking linux-image-3.16.0-4-amd64 
(3.16.7-ckt20-1+deb8u3) over (3.16.7-ckt20-1+deb8u2) ...
 [nsi1.brn.i.cz] out: Setting up linux-image-3.16.0-4-amd64 
(3.16.7-ckt20-1+deb8u3) ...
 [nsi1.brn.i.cz] out: /etc/kernel/postinst.d/initramfs-tools:
 [nsi1.brn.i.cz] out: update-initramfs: Generating 
/boot/initrd.img-3.16.0-4-amd64
 [nsi1.brn.i.cz] out: W: Possible missing firmware 
/lib/firmware/tigon/tg3_tso5.bin for module tg3
 [nsi1.brn.i.cz] out: W: Possible missing firmware 
/lib/firmware/tigon/tg3_tso.bin for module tg3
 [nsi1.brn.i.cz] out: W: Possible missing firmware /lib/firmware/tigon/tg3.bin 
for module tg3
 [nsi1.brn.i.cz] out: /etc/kernel/postinst.d/zz-update-grub:
 [nsi1.brn.i.cz] out: Generating grub configuration file ...
 [nsi1.brn.i.cz] out: Found linux image: /boot/vmlinuz-3.16.0-4-amd64
 [nsi1.brn.i.cz] out: Found initrd image: /boot/initrd.img-3.16.0-4-amd64
 [nsi1.brn.i.cz] out: done
 [nsi1.brn.i.cz] out:


 Done.
 Disconnecting from nsi1.brn.i.cz... done.


The option to suppress dpkg progress output could be very worth.
I want to have tty on output, because of debconf questions of course.
Thanks for your work
Regards
-- 
Zito

Reply via email to