Control: notfound -1 experimental
Control: found -1 2.20.4-3

On 09/25/2017 04:57 PM, Ritesh Raj Sarraf wrote:
>>      python setup.py clean -a
>> Could not determine system package manager. Copy appropriate
>> backends/packaging* to apport/packaging_impl.py

> The failure seems to be coming from here:
> 
> if len(sys.argv) >= 2 and sys.argv[1] != 'sdist' and not
> os.path.exists('apport/packaging_impl.py'):
>     if os.path.exists('/etc/apt/sources.list'):
>         print('Installing apt/dpkg packaging backend.')
>         shutil.copy('backends/packaging-apt-dpkg.py',
> 'apport/packaging_impl.py')
>     elif os.path.exists('/usr/bin/rpm'):
>         print('Installing RPM packaging backend.')
>         shutil.copy('backends/packaging_rpm.py',
> 'apport/packaging_impl.py')
>     else:
>         print('Could not determine system package manager. Copy
> appropriate backends/packaging* to apport/packaging_impl.py')
>         sys.exit(1)
> 
> 
> Isn't '/etc/apt/sources.list' and expected file ? What environment are you 
> building it under ?
> Irrespective, I think a better check would be to look out for '/usr/bin/apt' 
> or maybe '/usr/bin/dpkg'

That happened in the buildd chroots (used by sbuild), but I can
reproduce it locally in pbuilder. I don't have /etc/apt/sources.list in
my chroots, but /etc/apt/sources.list.d/*.list instead, the buildds
probably use the same scheme.

This detection method looks very fragile.
The rpm package in Debian provides /usr/bin/rpm, probably something
similar could exist for dpkg/apt on a rpm-based distribution.

You should probably have an (optional) command line switch to set the
packaging backend (and skip autodetection in that case) and use that
switch from within debian/rules ...
and BTW, clean should work without having a proper configuration.


Andreas

Reply via email to