The debexpo importer fails to handle properly uploads without dsc files.
Currently, it will fail with the following traceback:
2018-11-05 +0000 11:31:44,898 DEBUG [debexpo.importer.12818] Importer started with arguments: ['-i', '/var/www/debexpo/live.ini', '-c', 'xplanet_1.3.0-5.1_amd64.changes']
2018-11-05 +0000 11:31:44,908 DEBUG [debexpo.importer.12818] Determining user from 'Changed-By:' field: Hugh McMaster <hugh.mcmaster@outlook.com>
2018-11-05 +0000 11:31:44,908 DEBUG [debexpo.importer.12818] Changed-By's email address is: hugh.mcmaster@outlook.com
2018-11-05 +0000 11:31:45,102 DEBUG [debexpo.importer.12818] GPG signature matches user hugh.mcmaster@outlook.com
2018-11-05 +0000 11:31:45,103 DEBUG [debexpo.importer.12818] User found in database. Has id: 14638
2018-11-05 +0000 11:31:45,103 DEBUG [debexpo.importer.12818] Upload does not contain orig.tar.gz - trying to find it elsewhere
2018-11-05 +0000 11:31:45,103 DEBUG [debexpo.importer.12818] Checking whether files are already in the repository
2018-11-05 +0000 11:31:45,104 DEBUG [debexpo.importer.12818] Pool directory: /var/cache/debexpo/uploaded/pool/main/x/xplanet
2018-11-05 +0000 11:31:45,104 DEBUG [debexpo.importer.12818] File /var/cache/debexpo/uploaded/pool/main/x/xplanet/xplanet-dbgsym_1.3.0-5.1_amd64.deb is safe to install
2018-11-05 +0000 11:31:45,104 DEBUG [debexpo.importer.12818] File /var/cache/debexpo/uploaded/pool/main/x/xplanet/xplanet-images_1.3.0-5.1_all.deb is safe to install
2018-11-05 +0000 11:31:45,104 DEBUG [debexpo.importer.12818] File /var/cache/debexpo/uploaded/pool/main/x/xplanet/xplanet_1.3.0-5.1_amd64.buildinfo is safe to install
2018-11-05 +0000 11:31:45,104 DEBUG [debexpo.importer.12818] File /var/cache/debexpo/uploaded/pool/main/x/xplanet/xplanet_1.3.0-5.1_amd64.deb is safe to install
2018-11-05 +0000 11:31:45,105 DEBUG [debexpo.plugins.getorigtarball] Checking whether an orig tarball mentioned in the dsc is missing
Traceback (most recent call last):
File "/var/www/debexpo/bin/debexpo_importer.py", line 625, in <module>
main()
File "/var/www/debexpo/bin/debexpo_importer.py", line 621, in main
i.main()
File "/var/www/debexpo/bin/debexpo_importer.py", line 559, in main
qa = Plugins('qa', self.changes, self.changes_file, user_id=self.user_id)
File "/home/expo/debexpo/debexpo/lib/plugins.py", line 97, in __init__
self.result = self._run_plugins()
File "/home/expo/debexpo/debexpo/lib/plugins.py", line 187, in _run_plugins
self._extract()
File "/home/expo/debexpo/debexpo/lib/plugins.py", line 142, in _extract
dsc = deb822.Dsc(file(self.changes.get_dsc()))
TypeError: coercing to Unicode: need string or buffer, NoneType found
This patch checks for dsc file before passing it to post-upload plugins