From 07ad8204c5efdffc24493f194bae6082f7cdc7bf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20O=C5=BCarowski?= <piotr@debian.org>
Date: Thu, 2 Sep 2010 22:39:07 +0200
Subject: [PATCH] dh_python2: add dist_fallback file (with a list of Python
 distribution name and Debian package name pairs (to be used as a fall back
 source for PyDist feature))

---
 Makefile                              |    4 +
 debian/changelog                      |   11 +
 debian/python-doc.docs                |    2 +-
 debian/rules                          |    8 +-
 debpython/pydist.py                   |    5 +-
 pydist/Makefile                       |   14 +
 README.PyDist => pydist/README.PyDist |    0
 pydist/dist_fallback                  | 1069 +++++++++++++++++++++++++
 pydist/generate_fallback_list.py      |   61 ++
 pydist/sources.list                   |    2 +
 10 files changed, 1172 insertions(+), 4 deletions(-)
 create mode 100644 pydist/Makefile
 rename README.PyDist => pydist/README.PyDist (100%)
 create mode 100644 pydist/dist_fallback
 create mode 100755 pydist/generate_fallback_list.py
 create mode 100644 pydist/sources.list

diff --git a/Makefile b/Makefile
index f5650b3..45392d7 100644
--- a/Makefile
+++ b/Makefile
@@ -4,6 +4,7 @@ PREFIX ?= /usr/local
 
 clean:
 	make -C tests clean
+	make -C pydist clean
 	find . -name '*.py[co]' -delete
 	rm -f .coverage
 
@@ -25,6 +26,9 @@ install-runtime:
 
 install: install-dev install-runtime
 
+dist_fallback:
+	make -C pydist $@
+
 nose:
 	nosetests --with-doctest --with-coverage
 
diff --git a/debian/changelog b/debian/changelog
index fb7f2c0..605ca29 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,14 @@
+python-defaults (2.6.6-2) UNRELEASED; urgency=low
+
+  * Add README.derivatives (source package)
+  * dh_python2:
+    - add dist_fallback file with a list of Python distribution name and
+      Debian package name pairs (to be used as a fall back source for
+      PyDist feature)
+    - TODO: disable PyDist feature if dh_pydeb is in debian/rules
+
+ -- Piotr Ożarowski <piotr@debian.org>  Thu, 02 Sep 2010 19:18:26 +0200
+
 python-defaults (2.6.6-1) unstable; urgency=low
 
   [ Piotr Ożarowski ]
diff --git a/debian/python-doc.docs b/debian/python-doc.docs
index 1fd7a83..7f88ca4 100644
--- a/debian/python-doc.docs
+++ b/debian/python-doc.docs
@@ -1 +1 @@
-README.PyDist*
+pydist/README.PyDist*
diff --git a/debian/rules b/debian/rules
index a3c1184..30d5f5a 100755
--- a/debian/rules
+++ b/debian/rules
@@ -46,7 +46,7 @@ stamp-doc-policy:
 	debiandoc2html debian/python-policy.sgml
 	rm -rf debian/python-policy.html
 	mv -f python-policy.html debian/
-	rst2html README.PyDist README.PyDist.html
+	make -C pydist README.PyDist.html
 	touch stamp-doc-policy
 
 stamp-doc: stamp-doc-policy
@@ -105,7 +105,7 @@ clean: control-file
 	done
 	rm -f debian/*.py[co]
 	make clean
-	dh_clean README.PyDist.html
+	dh_clean
 
 stamp-control:
 	: # We have to prepare the various control files
@@ -126,6 +126,7 @@ stamp-install: stamp-build control-file stamp-control
 	dh_testdir
 	dh_testroot
 	dh_installdirs usr/share/doc/python/faq
+	dh_install
 
 	set -e; \
 	cd faq && \
@@ -149,6 +150,9 @@ stamp-dh_python:
 	make check_versions
 	DESTDIR=debian/python PREFIX=/usr make install-dev
 	DESTDIR=debian/python-minimal PREFIX=/usr make install-runtime
+	# disabled by default, run manually if you want to update it
+	# (requires apt-file and network connection)
+	#make -C pydist dist_fallback
 	touch $@
 
 # Build architecture-independent files here.
diff --git a/debpython/pydist.py b/debpython/pydist.py
index 88e97b3..7a51bb5 100644
--- a/debpython/pydist.py
+++ b/debpython/pydist.py
@@ -72,7 +72,8 @@ def validate(fpath, exit_on_error=False):
 
 
 @memoize
-def load(dname='/usr/share/python/dist/', fname='debian/pydist-overrides'):
+def load(dname='/usr/share/python/dist/', fname='debian/pydist-overrides',
+         fbname='/usr/share/python/dist_fallback'):
     """Load iformation about installed Python distributions."""
     if exists(fname):
         to_check = [fname]  # first one!
@@ -80,6 +81,8 @@ def load(dname='/usr/share/python/dist/', fname='debian/pydist-overrides'):
         to_check = []
     if isdir(dname):
         to_check.extend(join(dname, i) for i in os.listdir(dname))
+    if exists(fbname):  # fall back generated at python-defaults build time
+        to_check.append(fbname)  # last one!
 
     result = {}
     for fpath in to_check:
diff --git a/pydist/Makefile b/pydist/Makefile
new file mode 100644
index 0000000..2daa7bc
--- /dev/null
+++ b/pydist/Makefile
@@ -0,0 +1,14 @@
+#!/usr/bin/make -f
+
+clean:
+	rm -rf cache
+	#rm -f dist_fallback
+	rm -f README.PyDist.html
+
+dist_fallback:
+	python ./generate_fallback_list.py
+
+README.PyDist.html:
+	rst2html README.PyDist README.PyDist.html
+
+.PHONY: clean
diff --git a/README.PyDist b/pydist/README.PyDist
similarity index 100%
rename from README.PyDist
rename to pydist/README.PyDist
diff --git a/pydist/dist_fallback b/pydist/dist_fallback
new file mode 100644
index 0000000..a3fab3d
--- /dev/null
+++ b/pydist/dist_fallback
@@ -0,0 +1,1069 @@
+setuptools python-pkg-resources
+4Suite_XML python-4suite-xml
+AddOns python-peak.util
+Amara python-amara
+AppTools python-apptools
+AuthKit python-authkit
+AutoDockTools autodocktools
+Axiom python-axiom
+Babel python-pybabel
+Beaker python-beaker
+BeautifulSoup python-beautifulsoup
+BitTornado bittornado
+BitTorrent bittorrent
+Bitten trac-bitten
+Box2D python-box2d
+Brlapi python-brlapi
+Bugs_Everywhere bugs-everywhere
+BytecodeAssembler python-peak.util
+BzrPipeline bzr-pipeline
+BzrTools bzrtools
+CDDB python-cddb
+CMOR python-cmor
+Camelot python-camelot
+Catwalk python-catwalk
+CedarBackup2 cedar-backup2
+Cerealizer python-cerealizer
+Chaco python-chaco
+Chameleon python-chameleon
+Cheetah python-cheetah
+CherryPy python-cherrypy
+ClientForm python-clientform
+Codeville codeville
+Coherence python-coherence
+CouchDB python-couchdb
+Creoleparser python-creoleparser
+Cython cython
+DITrack ditrack
+DSV python-dsv
+DebTorrent debtorrent
+DecoratorTools python-decoratortools
+DejaVu mgltools-dejavu
+DeliciousAPI python-deliciousapi
+Django python-django
+Djapian python-django-djapian
+Djblets python-django-djblets
+Dosage dosage
+DouF00 douf00
+EditObj python-editobj
+Editra editra
+Eikazo eikazo
+Elements python-elements
+Elixir python-elixir
+Enable python-enable
+EnthoughtBase python-enthoughtbase
+EnvisageCore python-envisagecore
+EnvisagePlugins python-envisageplugins
+Epsilon python-epsilon
+Extremes python-peak.util
+FFC python-ffc
+FIAT python-fiat
+Fabric fabric
+FibraNet python-fibranet
+Flask python-flask
+Fnorb fnorb
+GDAL python-gdal
+GGZChess python-ggz
+GGZCore python-ggz
+GGZDMod python-ggz
+GGZMod python-ggz
+GNS3 gns3
+Gallery_Uploader gallery-uploader
+GaussSum gausssum
+Genetic python-genetic
+Genshi python-genshi
+GeoIP_Python python-geoip
+GnuPGInterface python-gnupginterface
+HarvestMan harvestman
+HijriApplet python-hijra
+IMDbPY python-imdbpy
+IPy python-ipy
+ISO8583_Module python-iso8583
+Ibid ibid
+JCC jcc
+JPype python-jpype
+Jinja python-jinja
+Jinja2 python-jinja2
+KWWidgets python-kwwidgets
+Loom bzr-loom
+Louie python-louie
+M2Crypto python-m2crypto
+MDP python-mdp
+MLPY python-mlpy
+Magic_file_extensions python-magic
+Mako python-mako
+MapScript python-mapscript
+Markdown python-markdown
+MarkupSafe python-markupsafe
+Mayavi mayavi2
+MiniMock python-minimock
+Mirage mirage
+Mnemosyne mnemosyne
+Model_Builder model-builder
+MolKit mgltools-molkit
+MySQL_python python-mysqldb
+Myghty python-myghty
+MyghtyUtils python-myghtyutils
+Nautilus_scripts_manager nautilus-scripts-manager
+NetworkEditor mgltools-networkeditor
+Nevow python-nevow
+Nulog nulog
+OcempGUI python-ocempgui
+Othman python-othman
+PAM python-pam
+PEAK_Rules python-peak.rules
+PIDA pida
+PLWM python-plwm
+Paste python-paste
+PasteDeploy python-pastedeploy
+PasteScript python-pastescript
+PasteWebKit python-pastewebkit
+Paver python-paver
+Photon photon
+Pivy python-pivy
+Pmv mgltools-pmv
+Pootle pootle
+Postr postr
+PreludeEasy python-prelude
+PsychoPy psychopy
+PubTal pubtal
+Pwman3 pwman3
+PyAIML python-aiml
+PyAutoDock mgltools-pyautodock
+PyBabel mgltools-pybabel
+PyBluez python-bluez
+PyChart python-pychart
+PyChecker pychecker
+PyCoCuMa pycocuma
+PyGreSQL python-pygresql
+PyICU python-pyicu
+PyKCS11 python-pykcs11
+PyMTP python-pymtp
+PyMetrics pymetrics
+PyODE python-pyode
+PyOpenAL python-openal
+PyOpenGL python-opengl
+PyProtocols python-protocols
+PyRRD python-pyrrd
+PyRSS2Gen python-pyrss2gen
+PyRoom pyroom
+PySFML python-sfml
+PyWebDAV python-webdav
+PyX python-pyx
+PyYAML python-yaml
+Pyevolve python-pyevolve
+Pygments python-pygments
+Pyjamas pyjamas-pyjs
+Pylons python-pylons
+Pymacs pymacs
+Pympd pympd
+Pyrex python-pyrex
+Pyste libboost-python1.42-dev
+PythonDaap python-daap
+QuantLib_Python quantlib-python
+Quixote python-quixote
+RBTools python-rbtools
+RSVGSDL python-ggz
+Rabbyt python-rabbyt
+Radicale python-radicale
+Routes python-routes
+SPARQLWrapper python-sparqlwrapper
+SQLAlchemy python-sqlalchemy
+SQLObject python-sqlobject
+SSSDConfig python-sss
+SciTools python-scitools
+ScientificPython python-scientific
+Scrapy python-scrapy
+SetupDocs python-setupdocs
+Shapely python-shapely
+Skype4Py python-skype
+Sonata sonata
+South python-django-south
+Soya python-soya
+Sphinx python-sphinx
+Sponge python-sponge
+SpreadModule python-spread
+Strongwind python-strongwind
+Support mgltools-support
+SymbolType python-peak.util
+Symbolic python-swiginac
+TRML2PDF python-trml2pdf
+Tempita python-tempita
+The_FreeSmartphone_Framework_Daemon fso-frameworkd
+TileCache tilecache
+ToscaWidgets python-toscawidgets
+Trac trac
+TracAccountManager trac-accountmanager
+TracAuthOpenId trac-authopenid
+TracBzr trac-bzr
+TracCustomFieldAdmin trac-customfieldadmin
+TracDateField trac-datefieldplugin
+TracGit trac-git
+TracMasterTickets trac-mastertickets
+TracMercurial trac-mercurial
+TracSpamFilter trac-spamfilter
+TracWikiPrintPlugin trac-wikiprint
+TracWikiRename trac-wikirename
+TracWysiwyg trac-wysiwyg
+TracXMLRPC trac-xmlrpc
+Traits python-traits
+TraitsBackendQt python-traitsbackendqt
+TraitsBackendWX python-traitsbackendwx
+TraitsGUI python-traitsgui
+TurboGears python-turbogears
+TurboGears2 python-turbogears2
+TurboJson python-turbojson
+TurboKid python-turbokid
+TurboMail python-turbomail
+Turtle_Art turtleart
+Twisted python-twisted
+TwistedSNMP python-twisted-snmp
+Twisted_Conch python-twisted-conch
+Twisted_Core python-twisted-core
+Twisted_Lore python-twisted-lore
+Twisted_Mail python-twisted-mail
+Twisted_Names python-twisted-names
+Twisted_News python-twisted-news
+Twisted_Runner python-twisted-runner
+Twisted_Web python-twisted-web
+Twisted_Web2 python-twisted-web2
+Twisted_Words python-twisted-words
+UFL python-ufl
+UTpackages mgltools-utpackages
+UTpackages.UTblur mgltools-utpackages
+UTpackages.UTisocontour mgltools-utpackages
+UTpackages.UTmesh mgltools-utpackages
+UTpackages.UTmolderivatives mgltools-utpackages
+UTpackages.UTsdf mgltools-utpackages
+UTpackages.UTvolrend mgltools-utpackages
+VTK python-vtk
+ViewerFramework mgltools-viewerframework
+Vision mgltools-vision
+Volume mgltools-volume
+WebError python-weberror
+WebFlash python-webflash
+WebHelpers python-webhelpers
+WebOb python-webob
+WebTest python-webtest
+Werkzeug python-werkzeug
+Whoosh python-whoosh
+Wicd python-wicd
+WikiTableMacro trac-wikitablemacro
+ZConfig python-zconfig
+ZODB3 python-zodb
+ZSI python-zsi
+ZooKeeper python-zookeeper
+aafigure python-aafigure
+adesklets adesklets
+adns_python python-adns
+adodb python-adodb
+aeidon python-aeidon
+agtl agtl
+albatross python-albatross
+amqplib python-amqplib
+anyjson python-anyjson
+apache_libcloud python-libcloud
+apipkg python-apipkg
+apsw python-apsw
+apt_offline apt-offline
+apt_p2p apt-p2p
+apt_xapian_index apt-xapian-index
+aptoncd aptoncd
+arandr arandr
+archivemail archivemail
+archmage archmage
+arcjobtool arcjobtool
+argparse python-argparse
+arista arista
+astk astk
+atheist atheist
+autokey autokey-common
+avc python-avc
+bcrypt python-bcrypt
+bhtree mgltools-bhtree
+bicyclerepair bicyclerepair
+bitbake bitbake
+bley bley
+bobo python-bobo
+boto python-boto
+bottle python-bottle
+bpython bpython
+bsddb3 python-bsddb3
+buildbot buildbot
+burn burn
+buzhug python-buzhug
+bzr bzr
+bzr_builddeb bzr-builddeb
+bzr_cia cia-clients
+bzr_cvsps_import bzr-cvsps-import
+bzr_dbus bzr-dbus
+bzr_email bzr-email
+bzr_etckeeper etckeeper
+bzr_git bzr-git
+bzr_grep bzr-grep
+bzr_gtk bzr-gtk
+bzr_hg bzr-hg
+bzr_pqm bzr-pqm
+bzr_rewrite bzr-rebase
+bzr_search bzr-search
+bzr_stats bzr-stats
+bzr_svn bzr-svn
+bzr_upload bzr-upload
+bzr_xmloutput bzr-xmloutput
+cappuccino cappuccino
+carrot python-carrot
+cfget cfget
+chardet python-chardet
+circuits python-circuits
+cm config-manager
+cnetworkmanager cnetworkmanager
+cogent python-cogent
+configglue python-configglue
+configobj python-configobj
+couchdbkit python-couchdbkit
+coverage python-coverage
+cracklib python-cracklib
+csa python-csa
+cssutils python-cssutils
+cups python-cups
+cvs2svn cvs2svn
+cvxopt python-cvxopt
+cwiid python-cwiid
+cwm python-swap
+cx_bsdiff python-bsdiff
+d_feet d-feet
+dctrl2xml dctrl2xml
+debpartial_mirror debpartial-mirror
+decorator python-decorator
+deluge deluge-common
+demjson python-demjson
+dicoclient python-dicoclient
+dictclient python-dictclient
+dictdlib python-dictdlib
+dingus python-dingus
+dissy dissy
+djagios djagios
+django_ajax_selects django-ajax-selects
+django_app_plugins python-django-app-plugins
+django_auth_ldap python-django-auth-ldap
+django_contact_form python-django-contact-form
+django_countries python-django-countries
+django_dajax python-django-dajax
+django_dajaxice python-django-dajaxice
+django_debug_toolbar python-django-debug-toolbar
+django_genshi python-django-genshi
+django_lint python-django-lint
+django_markupfield python-django-markupfield
+django_nose python-django-nose
+django_openid_auth python-django-auth-openid
+django_picklefield python-django-picklefield
+django_piston python-django-piston
+django_registration python-django-registration
+django_reversion python-django-reversion
+django_rosetta python-django-rosetta
+django_shorturls python-django-shorturls
+django_swordfish python-django-swordfish
+django_tagging python-django-tagging
+django_threaded_multihost python-django-threaded-multihost
+django_tinymce python-django-tinymce
+django_treebeard python-django-treebeard
+dnspython python-dnspython
+docutils python-docutils
+dogtail python-dogtail
+dot2tex dot2tex
+dpkt python-dpkt
+drmaa python-drmaa
+dtrx dtrx
+dulwich python-dulwich
+dumbnet python-dumbnet
+duplicity duplicity
+dynagen dynagen
+eLyXer elyxer
+ears ears
+easyzone python-easyzone
+editmoin editmoin
+elementtidy python-elementtidy
+elisa python-moovida
+elisa_plugin_amazon moovida-plugins-bad
+elisa_plugin_amp moovida-plugins-bad
+elisa_plugin_avahi moovida-plugins-bad
+elisa_plugin_base moovida-plugins-good
+elisa_plugin_coherence moovida-plugins-bad
+elisa_plugin_daap moovida-plugins-bad
+elisa_plugin_database moovida-plugins-bad
+elisa_plugin_discogs moovida-plugins-bad
+elisa_plugin_dvd moovida-plugins-bad
+elisa_plugin_elisa_updater moovida-plugins-bad
+elisa_plugin_filtered_shares moovida-plugins-bad
+elisa_plugin_flickr moovida-plugins-ugly
+elisa_plugin_gnome moovida-plugins-good
+elisa_plugin_gstreamer moovida-plugins-bad
+elisa_plugin_hal moovida-plugins-good
+elisa_plugin_http_client moovida-plugins-bad
+elisa_plugin_ipod moovida-plugins-bad
+elisa_plugin_lastfm moovida-plugins-bad
+elisa_plugin_lirc moovida-plugins-ugly
+elisa_plugin_osso moovida-plugins-bad
+elisa_plugin_pigment moovida-plugins-bad
+elisa_plugin_poblesec moovida-plugins-bad
+elisa_plugin_rss moovida-plugins-bad
+elisa_plugin_search moovida-plugins-bad
+elisa_plugin_shoutcast moovida-plugins-ugly
+elisa_plugin_smbwin32 moovida-plugins-bad
+elisa_plugin_themoviedb moovida-plugins-bad
+elisa_plugin_thetvdb moovida-plugins-bad
+elisa_plugin_winremote moovida-plugins-bad
+elisa_plugin_winscreensaver moovida-plugins-good
+elisa_plugin_wmd moovida-plugins-bad
+elisa_plugin_youtube moovida-plugins-ugly
+enum python-enum
+epigrass epigrass
+epydoc python-epydoc
+euca2ools euca2ools
+event python-event
+execnet python-execnet
+explorer bzr-explorer
+fastimport bzr-fastimport
+feedparser python-feedparser
+ferari python-ferari
+fiu python-fiu
+flashbake flashbake
+flickrapi python-flickrapi
+flickrfs flickrfs
+flup python-flup
+fontforge python-fontforge
+fontypython fontypython
+foolscap python-foolscap
+forgetSQL python-forgetsql
+freevo python-freevo
+freshen python-freshen
+fs python-fs
+funkload funkload
+fuse_python python-fuse
+fusil fusil
+fusion_icon fusion-icon
+fuss_launcher fuss-launcher
+galternatives galternatives
+gaphas python-gaphas
+gaphor gaphor
+gasp python-gasp
+gastables python-gastables
+gastablesgui gastables
+gdata python-gdata
+gdevilspie gdevilspie
+gdmodule python-gd
+geomutils mgltools-geomutils
+gevent python-gevent
+geximon geximon
+git_build_package git-buildpackage
+github_cli github-cli
+gitosis gitosis
+giws giws
+gjots2 gjots2
+gle mgltools-gle
+glpk python-glpk
+gmobilemedia gmobilemedia
+gmpy python-gmpy
+gnome_activity_journal gnome-activity-journal
+gnome_app_install gnome-codec-install
+gnuplot_py python-gnuplot
+go2 go2
+googlecl googlecl
+goopy python-goopy
+gozerbot gozerbot
+gpib python-gpib
+gpodder gpodder
+gps python-gps
+gpxviewer gpxviewer
+gracie gracie
+graphviz trac-graphviz
+greenlet python-greenlet
+groundcontrol groundcontrol
+gunicorn gunicorn
+gvb gvb
+gwibber gwibber
+gwrite gwrite
+gyp gyp
+h5py python-h5py
+hachoir_core python-hachoir-core
+hachoir_metadata python-hachoir-metadata
+hachoir_parser python-hachoir-parser
+hachoir_regex python-hachoir-regex
+hellanzb hellanzb
+hgsvn hgsvn
+hgview hgview
+hk_classes python-hk-classes
+hotwire hotwire
+html2text python-html2text
+httplib2 python-httplib2
+ibus_tegaki ibus-tegaki
+icalview trac-icalviewplugin
+import_relative python-import-relative
+importlib python-importlib
+include_server distcc-pump
+indywiki indywiki
+iniparse python-iniparse
+inotifyx python-inotifyx
+instant python-instant
+iotop iotop
+ipaddr python-ipaddr
+ipcalc python-ipcalc
+ipython ipython
+jabberbot python-jabberbot
+jack jack
+jaxml python-jaxml
+joblib python-joblib
+jsonpickle python-jsonpickle
+junitxml python-junitxml
+kaa_base python-kaa-base
+kaa_imlib2 python-kaa-imlib2
+kaa_metadata python-kaa-metadata
+kerberos python-kerberos
+keymapper keymapper
+keyring python-keyring
+kid python-kid
+kinterbasdb python-kinterbasdb
+kiwi python-kiwi
+kjbuckets python-kjbuckets
+lamson python-lamson
+lastfmsubmitd lastfmsubmitd
+launchpadlib python-launchpadlib
+lazr.restfulclient python-lazr.restfulclient
+lazr.uri python-lazr.uri
+lazygal lazygal
+libLAS python-liblas
+libconcord python-libconcord
+libftdi python-ftdi
+libtpclient_py python-tp-client
+libtpproto_py python-tp-netlib
+lightblue python-lightblue
+live_magic live-magic
+llnl_babel python-sidl
+llnl_babel_sidl_sidlx python-sidl
+lockfile python-lockfile
+loggerhead loggerhead
+logilab_astng python-logilab-astng
+logilab_common python-logilab-common
+logilab_constraint python-logilab-constraint
+londonlaw londonlaw
+lottanzb lottanzb
+louis python-louis
+lptools lptools
+lshell lshell
+lucene pylucene
+ludev_t ludevit
+lxml python-lxml
+lybniz lybniz
+mailer python-mailer
+matplotlib python-matplotlib
+mecab_python python-mecab
+mechanize python-mechanize
+megahal megahal
+meld3 python-meld3
+meliae python-meliae
+mercurial mercurial-common
+mglutil mgltools-mglutil
+mic mic2
+mimms mimms
+mingc python-ming
+mini_dinstall mini-dinstall
+miro miro
+mock python-mock
+mod_python libapache2-mod-python
+moin python-moinmoin
+monajat python-monajat
+moosic moosic
+mox python-mox
+mpDris mpdris
+mpmath python-mpmath
+multiprocessing python-multiprocessing
+museek_python_bindings python-museek
+musiclibrarian musiclibrarian
+mutagen python-mutagen
+mygpoclient python-mygpoclient
+namebench namebench
+ncap python-ncap
+neso tryton-neso
+netaddr python-netaddr
+netifaces python-netifaces
+netsnmp_python libsnmp-python
+networkx python-networkx
+nfoview nfoview
+nglister nglister
+nipy python-nipy
+nipype python-nipype
+nose python-nose
+numpy python-numpy
+nwsclient python-nwsclient
+nwsserver python-nwsserver
+oauth python-oauth
+obMenu obmenu
+obexftp python-obexftp
+objgraph python-objgraph
+ocrfeeder ocrfeeder
+offlineimap offlineimap
+okasha python-okasha
+ooolib_python python-ooolib
+openbabel python-openbabel
+openbmap_logger openbmap-logger
+openerp_client openerp-client
+openerp_server openerp-server
+opengltk mgltools-opengltk
+openoffice_python python-openoffice
+openopt python-openopt
+openpyxl python-openpyxl
+openshot openshot
+opster python-opster
+osc osc
+ows ows
+pYsearch python-yahoo
+papyon python-papyon
+paramiko python-paramiko
+pcapy python-pcapy
+pcs python-pcs
+pdfposter pdfposter
+pdfshuffler pdfshuffler
+pefile python-pefile
+pep8 pep8
+pesto python-pesto
+petsc4py python-petsc4py
+pexpect python-pexpect
+photo_uploader photo-uploader
+picard picard
+pisa python-pisa
+pkpgcounter pkpgcounter
+plasTeX python-plastex
+ply python-ply
+polib python-polib
+pondus pondus
+pp python-pp
+pprocess python-pprocess
+prelude python-prelude
+prelude_correlator prelude-correlator
+prelude_notify prelude-notify
+preludedb python-preludedb
+prettytable python-prettytable
+prewikka prewikka
+prioritized_methods python-peak.rules
+protobuf python-protobuf
+prover9_mace4 prover9-mace4
+pssh pssh
+psutil python-psutil
+psycopg2 python-psycopg2
+pudb python-pudb
+py python-py
+pyExcelerator python-excelerator
+pyPdf python-pypdf
+pyPgSQL python-pgsql
+py_Asterisk python-asterisk
+py_pypcap python-pypcap
+py_rrdtool python-rrdtool
+py_sendfile python-sendfile
+pyalsaaudio python-alsaaudio
+pyao python-pyao
+pyasn1 python-pyasn1
+pybackpack pybackpack
+pybridge pybridge
+pybtex pybtex
+pybugz bugz
+pycallgraph python-pycallgraph
+pycha python-pycha
+pychess pychess
+pychm python-chm
+pyclamav python-clamav
+pycountry python-pycountry
+pycrypto python-crypto
+pycryptopp python-pycryptopp
+pycurl python-pycurl
+pydds python-pydds
+pydhcplib python-pydhcplib
+pydicom python-dicom
+pydkim python-dkim
+pydns python-dns
+pydoctor python-pydoctor
+pyelemental python-elemental
+pyenchant python-enchant
+pyepl python-pyepl
+pyfacebook python-facebook
+pyfann python-pyfann
+pyfiglet python-pyfiglet
+pyfits python-pyfits
+pyflakes pyflakes
+pyfribidi python-pyfribidi
+pyftpdlib python-pyftpdlib
+pygame python-pygame
+pygccxml python-pygccxml
+pygdchart python-gdchart2
+pyglf mgltools-pyglf
+pygooglechart python-pygooglechart
+pygopherd pygopherd
+pygpgme python-pyme
+pygpiv python-gpiv
+pygpu python-pygpu
+pygraphviz python-pygraphviz
+pyinotify python-pyinotify
+pykaraoke python-pykaraoke
+pyke python-pyke
+pykickstart python-pykickstart
+pylibacl python-pylibacl
+pyliblo python-liblo
+pyliblzma python-lzma
+pylibmc python-pylibmc
+pylibpcap python-libpcap
+pylibssh2 python-libssh2
+pylint pylint
+pylirc python-pylirc
+pymad python-pymad
+pymetar python-pymetar
+pymilter python-milter
+pymol pymol
+pymssql python-pymssql
+pymucipher python-museek
+pymvpa python-mvpa
+pyneighborhood pyneighborhood
+pynetsnmp python-pynetsnmp
+pynids python-nids
+pynifti python-nifti
+pyofa python-musicdns
+pyogg python-ogg
+pyopencl python-pyopencl
+pyosd python-pyosd
+pyparallel python-parallel
+pyparsing python-pyparsing
+pyproj python-pyproj
+pyqonsole pyqonsole
+pyquery python-pyquery
+pyrad python-pyrad
+pyremctl python-remctl
+pyrit pyrit
+pyrite_publisher pyrite-publisher
+pysane python-imaging-sane
+pyscard python-pyscard
+pyscrabble pyscrabble-common
+pyscript python-pyscript
+pyserial python-serial
+pysnmp python-pysnmp2
+pysnmp_se python-pysnmp-se
+pysparse python-sparse
+pyspi python-at-spi
+pysqlite python-pysqlite1.1
+pystatgrab python-statgrab
+pysubnettree python-subnettree
+pytagsfs pytagsfs
+pytcpwrap python-tcpwrap
+pytest_xdist python-pytest-xdist
+python2_biggles python-pybiggles
+python_Levenshtein python-levenshtein
+python_aalib python-aalib
+python_application python-application
+python_apt python-apt
+python_aspects python-aspects
+python_augeas python-augeas
+python_bibtex python-bibtex
+python_cdb python-cdb
+python_cdd python-cdd
+python_cjson python-cjson
+python_cloudservers python-cloudservers
+python_daemon python-daemon
+python_debian python-debian
+python_distutils_extra python-distutils-extra
+python_djvulibre python-djvu
+python_dmidecode python-dmidecode
+python_dmidecode_dbg python-dmidecode-dbg
+python_e_dbus python-edbus
+python_ecore python-ecore
+python_edje python-edje
+python_elementary python-elementary
+python_evas python-evas
+python_fam python-fam
+python_geoclue python-geoclue
+python_gflags python-gflags
+python_gnutls python-gnutls
+python_graph_core python-pygraph
+python_graph_dot python-pygraph
+python_gtkmvc python-gtkmvc
+python_irclib python-irclib
+python_keyczar python-keyczar
+python_kzorp python-kzorp
+python_ldap python-ldap
+python_libdrizzle python-drizzle
+python_libgearman python-gearman.libgearman
+python_libpisock python-pisock
+python_memcached python-memcache
+python_mhash python-mhash
+python_mpd python-mpd
+python_musicbrainz python-musicbrainz
+python_nmap python-nmap
+python_openid python-openid
+python_oss python-oss
+python_otr python-otr
+python_phoneutils python-phoneutils
+python_pipeline python-pipeline
+python_policyd_spf postfix-policyd-spf-python
+python_prctl python-prctl
+python_ptrace python-ptrace
+python_socksipy python-socksipy
+python_stdnum python-stdnum
+python_twitter python-twitter
+python_xlib python-xlib
+python_xmltv python-xmltv
+python_yapps yapps2
+pytils python-pytils
+pytools python-pytools
+pytrainer pytrainer
+pytyrant python-pytyrant
+pytz python-tz
+pyvorbis python-pyvorbis
+pywapi python-pywapi
+pywbem python-pywbem
+pyweblib python-weblib
+pyxattr python-pyxattr
+pyxdg python-xdg
+pyxine python-pyxine
+pyxmpp python-pyxmpp
+pyzor pyzor
+qbzr qbzr
+qmtest qmtest
+qrencode python-qrencode
+quodlibet exfalso
+rabbitvcs rabbitvcs-core
+radiotray radiotray
+radix python-radix
+rainbow python-rainbow
+rawdog rawdog
+rdflib python-rdflib
+rdiff_backup rdiff-backup
+rebuildd rebuildd
+recaptcha_client python-recaptcha
+redis python-redis
+relational python-relational
+relational_gui relational
+relational_readline relational-cli
+relatorio python-relatorio
+remuco remuco-base
+renpy_module python-renpy
+reportbug python-reportbug
+reportlab python-reportlab
+repoze.tm2 python-repoze.tm2
+repoze.what python-repoze.what
+repoze.what.plugins.sql python-repoze.what-plugins
+repoze.what.plugins.xml python-repoze.what-plugins
+repoze.what_pylons python-repoze.what-plugins
+repoze.what_quickstart python-repoze.what-plugins
+repoze.who python-repoze.who
+repoze.who.plugins.ldap python-repoze.who-plugins
+repoze.who.plugins.openid python-repoze.who-plugins
+repoze.who.plugins.sa python-repoze.who-plugins
+repoze.who_friendlyform python-repoze.who-plugins
+repoze.who_testutil python-repoze.who-plugins
+restkit python-restkit
+rope python-rope
+ropemacs python-ropemacs
+roundup roundup
+rpy python-rpy
+rpy2 python-rpy2
+rst2pdf rst2pdf
+sapgui_package sapgui-package
+scanerrlog scanerrlog
+scapy python-scapy
+scenario mgltools-scenario
+scgi python-scgi
+scikits.learn python-scikits-learn
+scipy python-scipy
+sciscipy python-sciscipy
+sclapp python-sclapp
+screenlets screenlets
+series60_remote series60-remote
+sessioninstaller sessioninstaller
+sff mgltools-sff
+simplegeneric python-simplegeneric
+simplejson python-simplejson
+sixpack sixpack
+slides python-slides
+slimmer python-slimmer
+smart python-smartpm
+smart_notifier smart-notifier
+smbc python-smbc
+smbpasswd python-smbpasswd
+smbus python-smbus
+snimpy snimpy
+soaplib python-soaplib
+sourcecodegen python-sourcecodegen
+spambayes spambayes
+spectacle spectacle
+specto specto
+speechd python-speechd
+speechd_config python-speechd
+sprox python-sprox
+spyder spyder
+sqlalchemy_migrate python-migrate
+startupmanager startupmanager
+stdeb python-stdeb
+stepic python-stepic
+stgit stgit
+stompy python-stompy
+subvertpy python-subvertpy
+suds python-suds
+supervisor supervisor
+supybot supybot
+svnmailer svnmailer
+swiginac python-swiginac
+sympy python-sympy
+symserv mgltools-symserv
+synce_kpm synce-kpm
+synce_sync_engine synce-sync-engine
+tables python-tables
+tagpy python-tagpy
+tailor tailor
+tegaki_pygtk python-tegaki-gtk
+tegaki_python python-tegaki
+tegaki_tools python-tegakitools
+tegaki_train tegaki-train
+tepache tepache
+testrepository python-testrepository
+testresources python-testresources
+testscenarios python-testscenarios
+testtools python-testtools
+textile python-textile
+tg.devtools python-tg.devtools
+tgMochiKit python-tgmochikit
+tgext.admin python-tgext.admin
+tgext.crud python-tgext.admin
+tkSnack python-tksnack
+tornado python-tornado
+tortoisehg tortoisehg
+tracer python-tracer
+transaction python-transaction
+translate_toolkit translate-toolkit
+transmissionrpc python-transmissionrpc
+tritium tritium
+tryton tryton-client
+trytond tryton-server
+trytond_account tryton-modules-account
+trytond_account_be tryton-modules-account-be
+trytond_account_de_skr03 tryton-modules-account-de-skr03
+trytond_account_invoice tryton-modules-account-invoice
+trytond_account_invoice_history tryton-modules-account-invoice-history
+trytond_account_invoice_line_standalone tryton-modules-account-invoice-line-standalone
+trytond_account_product tryton-modules-account-product
+trytond_account_statement tryton-modules-account-statement
+trytond_analytic_account tryton-modules-analytic-account
+trytond_analytic_invoice tryton-modules-analytic-invoice
+trytond_analytic_purchase tryton-modules-analytic-purchase
+trytond_analytic_sale tryton-modules-analytic-sale
+trytond_calendar tryton-modules-calendar
+trytond_calendar_classification tryton-modules-calendar-classification
+trytond_calendar_scheduling tryton-modules-calendar-scheduling
+trytond_calendar_todo tryton-modules-calendar-todo
+trytond_company tryton-modules-company
+trytond_company_work_time tryton-modules-company-work-time
+trytond_country tryton-modules-country
+trytond_currency tryton-modules-currency
+trytond_dashboard tryton-modules-dashboard
+trytond_google_maps tryton-modules-google-maps
+trytond_google_translate tryton-modules-google-translate
+trytond_ldap_authentication tryton-modules-ldap-authentication
+trytond_ldap_connection tryton-modules-ldap-connection
+trytond_party tryton-modules-party
+trytond_party_siret tryton-modules-party-siret
+trytond_party_vcarddav tryton-modules-party-vcarddav
+trytond_product tryton-modules-product
+trytond_product_cost_fifo tryton-modules-product-cost-fifo
+trytond_product_cost_history tryton-modules-product-cost-history
+trytond_product_price_list tryton-modules-product-price-list
+trytond_project tryton-modules-project
+trytond_project_plan tryton-modules-project-plan
+trytond_project_revenue tryton-modules-project-revenue
+trytond_purchase tryton-modules-purchase
+trytond_purchase_invoice_line_standalone tryton-modules-purchase-invoice-line-standalone
+trytond_sale tryton-modules-sale
+trytond_sale_price_list tryton-modules-sale-price-list
+trytond_stock tryton-modules-stock
+trytond_stock_forecast tryton-modules-stock-forecast
+trytond_stock_inventory_location tryton-modules-stock-inventory-location
+trytond_stock_location_sequence tryton-modules-stock-location-sequence
+trytond_stock_product_location tryton-modules-stock-product-location
+trytond_stock_supply tryton-modules-stock-supply
+trytond_stock_supply_day tryton-modules-stock-supply-day
+trytond_timesheet tryton-modules-timesheet
+ttb ttb
+tunepimp python-tunepimp
+tw.forms python-toscawidgets
+twill python-twill
+twyt python-twyt
+uTidylib python-utidylib
+ubuntu_dev_tools ubuntu-dev-tools
+ufw ufw
+unac python-unac
+unattended_upgrades unattended-upgrades
+uncertainties python-uncertainties
+unittest2 python-unittest2
+urlgrabber python-urlgrabber
+urlscan urlscan
+urwid python-urwid
+van.pydeb python-van.pydeb
+vatnumber python-vatnumber
+vboxapi virtualbox-ose
+vcs_load_dirs load-dirs-common
+viper python-viper
+virtaal virtaal
+virtinst virtinst
+virtualenv python-virtualenv
+virtualenvwrapper virtualenvwrapper
+vobject python-vobject
+wadllib python-wadllib
+wammu wammu
+web.py python-webpy
+webunit python-webunit
+whisper python-whisper
+wikipediafs wikipediafs
+winpdb winpdb
+wit python-wit
+wokkel python-wokkel
+wxPython_common python-wxgtk2.6
+wxglade python-wxglade
+xappy python-xappy
+xattr python-xattr
+xgflib xgridfit
+xlrd python-xlrd
+xlwt python-xlwt
+xmldiff xmldiff
+xmms2tray xmms2tray
+xxdiff_scripts xxdiff-scripts
+yagtd yagtd
+yenc python-yenc
+yokadi yokadi
+yum_metadata_parser python-sqlitecachec
+zc.buildout python-zc.buildout
+zc.lockfile python-zc.lockfile
+zdaemon python-zdaemon
+zenmap zenmap
+zeroinstall_injector zeroinstall-injector
+zhone zhone-illume-glue
+zhpy python-zhpy
+zim zim
+zinnia_python python-zinnia
+zope.authentication python-zope.authentication
+zope.browser python-zope.browser
+zope.cachedescriptors python-zope.cachedescriptors
+zope.component python-zope.component
+zope.configuration python-zope.configuration
+zope.contenttype python-zope.contenttype
+zope.copy python-zope.copy
+zope.dottedname python-zope.dottedname
+zope.event python-zope.event
+zope.exceptions python-zope.exceptions
+zope.hookable python-zope.hookable
+zope.i18n python-zope.i18n
+zope.i18nmessageid python-zope.i18nmessageid
+zope.interface python-zope.interface
+zope.location python-zope.location
+zope.proxy python-zope.proxy
+zope.publisher python-zope.publisher
+zope.schema python-zope.schema
+zope.security python-zope.security
+zope.sendmail python-zope.sendmail
+zope.sqlalchemy python-zope.sqlalchemy
+zope.testbrowser python-zope.testbrowser
+zope.testing python-zope.testing
+zope.traversing python-zope.traversing
diff --git a/pydist/generate_fallback_list.py b/pydist/generate_fallback_list.py
new file mode 100755
index 0000000..9775924
--- /dev/null
+++ b/pydist/generate_fallback_list.py
@@ -0,0 +1,61 @@
+#! /usr/bin/python
+# -*- coding: UTF-8 -*-
+# Copyright © 2010 Piotr Ożarowski <piotr@debian.org>
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+import os
+import sys
+from subprocess import Popen, PIPE
+
+if not os.path.isdir('cache'):
+    process = Popen('apt-file -s sources.list -c cache update', shell=True)
+    process.communicate()
+    if process.returncode != 0:
+        sys.stderr.write('Cannot download APT data files')
+        exit(1)
+
+# find .egg-info files/directories
+process = Popen('apt-file -s sources.list -c cache find -x '
+                '"/usr/((share/pyshared)|(lib/python2\.[0-9]/((site)|(dist))-packages))/[^/]*\.egg-info"',
+                shell=True, stdout=PIPE)
+stdout, stderr = process.communicate()
+if process.returncode != 0:
+    sys.stderr.write('Cannot find packages with Egg metadata')
+    exit(2)
+
+processed = set()
+result = []
+for line in stdout.splitlines():
+    pname, path = line.split(': ', 1)
+    if pname == 'python-setuptools':
+        continue
+    egg_name = [i.split('-', 1)[0] for i in path.split('/')\
+                if i.endswith('.egg-info')][0]
+    if egg_name.endswith('.egg'):
+        egg_name = egg_name[:-4]
+    if egg_name not in processed:
+        processed.add(egg_name)
+        result.append("%s %s\n" % (egg_name, pname))
+        #result.append("%s %s\t%s\n" % (egg_name, pname, path))
+
+result.sort()
+fp = open('dist_fallback', 'w')
+fp.write('setuptools python-pkg-resources\n')
+fp.writelines(result)
diff --git a/pydist/sources.list b/pydist/sources.list
new file mode 100644
index 0000000..370b544
--- /dev/null
+++ b/pydist/sources.list
@@ -0,0 +1,2 @@
+deb http://ftp.debian.org/debian/ unstable main
+deb-src http://ftp.debian.org/debian/ unstable main
-- 
GitLab