Why Pybackpack Sucks And how to make it suck less Andy Price SUCS - - PowerPoint PPT Presentation

why pybackpack sucks
SMART_READER_LITE
LIVE PREVIEW

Why Pybackpack Sucks And how to make it suck less Andy Price SUCS - - PowerPoint PPT Presentation

Background Analysis Solutions The End Why Pybackpack Sucks And how to make it suck less Andy Price SUCS Talks 2007.03.20 Why Pybackpack Sucks 2007.03.20 1 / 17 Background Analysis How it all began Solutions The End Google Summer


slide-1
SLIDE 1

Background Analysis Solutions The End

Why Pybackpack Sucks

And how to make it suck less Andy Price SUCS Talks — 2007.03.20

Why Pybackpack Sucks 2007.03.20 1 / 17

slide-2
SLIDE 2

Background Analysis Solutions The End How it all began

Google Summer of Code 2005

Dave Arter’s Summer of Code project for Fedora He was a python newbie back then Rushed to meet the deadline Not good enough for Fedora! Lots of hoops to jump through. “Consider it dead.” – Dave, 30/05/2006 “Challenge says ye?” – Me, ??/08/2006

Why Pybackpack Sucks 2007.03.20 2 / 17

slide-3
SLIDE 3

Background Analysis Solutions The End How it all began

Yoink!

Took over pybackpack in August 2006 Set about learning the code Reorganised repository Told the Fedora folks it was alive again

Why Pybackpack Sucks 2007.03.20 3 / 17

slide-4
SLIDE 4

Background Analysis Solutions The End Pybackpack Problems Problems Upstream

But first...

Why Pybackpack Sucks 2007.03.20 4 / 17

slide-5
SLIDE 5

Background Analysis Solutions The End Pybackpack Problems Problems Upstream

But first...

Sorry, Dave.

Why Pybackpack Sucks 2007.03.20 5 / 17

slide-6
SLIDE 6

Background Analysis Solutions The End Pybackpack Problems Problems Upstream

Initial Suckiness

Badly modularised Disorganised files Maintenance nightmare Some fundamental bugs Too dependent on Gnome libs? Not attractive to devs!

Why Pybackpack Sucks 2007.03.20 6 / 17

slide-7
SLIDE 7

Background Analysis Solutions The End Pybackpack Problems Problems Upstream

Bug Examples

Infinite loop with symlinks SSH not used properly Progress bars didn’t show progress Unable to restore from CD (!)

Why Pybackpack Sucks 2007.03.20 7 / 17

slide-8
SLIDE 8

Background Analysis Solutions The End Pybackpack Problems Problems Upstream

GUI: Ghastly User Interface

Why Pybackpack Sucks 2007.03.20 8 / 17

slide-9
SLIDE 9

Background Analysis Solutions The End Pybackpack Problems Problems Upstream

Example: gui.py

1281 lines 2 classes 60 functions 12 global declarations (6 unique) Longest function: 109 lines Most informative error message evar: try: exists = gnomevfs.exists( "sftp://%s@%s%s" % (user, host, setfile)) except: print "wtf"

Why Pybackpack Sucks 2007.03.20 9 / 17

slide-10
SLIDE 10

Background Analysis Solutions The End Pybackpack Problems Problems Upstream

Rdiff-backup Suckiness

rdiff-backup 1.1.5 bugs: “Unable to restore from read-only locations” Patched “No escaping for globs in filelists” Patched Version 1.1.9 suck-free

Why Pybackpack Sucks 2007.03.20 10 / 17

slide-11
SLIDE 11

Background Analysis Solutions The End Pybackpack Problems Problems Upstream

libnautilus-burn Suckiness

API change around v2.14 Problems detecting CD drives Loss of backward compatibility

Why Pybackpack Sucks 2007.03.20 11 / 17

slide-12
SLIDE 12

Background Analysis Solutions The End Fixes The Future

Fixes

Lots of (small) fixes already More stable Better progress reporting Runs faster

Why Pybackpack Sucks 2007.03.20 12 / 17

slide-13
SLIDE 13

Background Analysis Solutions The End Fixes The Future

Code Rejig

Split gui.py into logical parts Parts already done e.g. mkisofs wrapper Improve modularity Stabilise, then add features Support older APIs to work on Debian/Dapper Rewrite

Why Pybackpack Sucks 2007.03.20 13 / 17

slide-14
SLIDE 14

Background Analysis Solutions The End Fixes The Future

Fixing the GUI

K.I.S.S. Split into task-orientated bits One-click backups (configurable) Run from the commandline?

Why Pybackpack Sucks 2007.03.20 14 / 17

slide-15
SLIDE 15

Background Analysis Solutions The End Fixes The Future

The Social Side

Get more people involved Documentation! Getting into distros - Fedora, Ubuntu, Debian Bug reporters are people too Improve communication with “upstreams”

Why Pybackpack Sucks 2007.03.20 15 / 17

slide-16
SLIDE 16

Background Analysis Solutions The End In Conclusion

More Info

Check out pybackpack! File bugs! Write docs! Submit Patches! (Or just use it to do your backups) http://andrewprice.me.uk/projects/pybackpack http://projects.sucs.org/projects/pybackpack

Why Pybackpack Sucks 2007.03.20 16 / 17

slide-17
SLIDE 17

Background Analysis Solutions The End In Conclusion

The End

Thank you!

Why Pybackpack Sucks 2007.03.20 17 / 17