Hello fsmithred, > > On Fri, 25 Oct 2019 18:06:06 -0400 > fsmithred via Dng <dng@lists.dyne.org> wrote: > > > > I don't know exactly where the 2.0 is coming from. It's not in > > /etc/os-release, /etc/devuan_version or /etc/issue, and there is no > > /etc/lsb-release file. > > > > man lsb_release says > > "Detection of systems using a mix of packages from various > > distributions or releases is something of a black art; the current > > heuristic tends to assume that the installation is of the earliest > > distribution which is still being used by apt but that heuristic is > > subject to error." > > > > It can't hurt to file a bug report. If you know how to fix it, let us know > > and we can correct that in the future. > > > > fsmithred > > That information come from python2.7 'lsb_release' module.. > > root@desktop0:~# python2.7 > Python 2.7.13 (default, Sep 26 2018, 18:42:22) > [GCC 6.3.0 20170516] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > >>> import lsb_release > >>> distinfo = lsb_release.get_distro_information() > >>> print(distinfo.get('RELEASE', 'n/a')) > 2.0 > > > I will try to trace it, to its origin.. >
I think that I now understand the "black-magic part", also the "/etc/lsb-release" :) in: /usr/lib/python2.7/dist-packages/lsb_release.py this doesn't help : 32 RELEASE_CODENAME_LOOKUP = { 33 '1' : 'jessie', 34 # '2' : 'ascii', 35 '2.1' : 'ascii', 36 # '1.3' : 'bo', 37 # '2.0' : 'hamm', 38 # '2.1' : 'slink', 39 # '2.2' : 'potato', 40 # '3.0' : 'woody', 41 # '3.1' : 'sarge', 42 # '4.0' : 'etch', 43 # '5.0' : 'lenny', 44 # '6.0' : 'squeeze', 45 # '7' : 'wheezy', 46 # '8' : 'jessie', 47 } Initial function: 371 def get_distro_information(): 372 lsbinfo = get_lsb_information() 373 # OS is only used inside guess_devuan_release anyway 374 for key in ('ID', 'RELEASE', 'CODENAME', 'DESCRIPTION',): 375 if key not in lsbinfo: 376 distinfo = guess_devuan_release() 377 distinfo.update(lsbinfo) 378 return distinfo 379 else: 380 return lsbinfo I think Its guessed: :) root@desktop0:~# python2.7 Python 2.7.13 (default, Sep 26 2018, 18:42:22) [GCC 6.3.0 20170516] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import lsb_release >>> distinfo = lsb_release.get_distro_information() >>> print(distinfo.get('RELEASE', 'n/a')) 2.0 >>> lsb_release.guess_release_from_apt() {'origin': u'Devuan', 'suite': u'stable', 'version': u'2.0', 'component': u'main', 'label': u'Devuan'} You see here the '2.0' String, and it comes from the funtion guess_release_from_apt().. like you can see above.. The guess_release_from_apt() function: 228 def guess_release_from_apt(origin='Devuan', component='main', 229 ignoresuites=('experimental'), 230 label='Devuan', 231 alternate_olabels={'Devuan Ports':'packages.devuan.org'}): 232 releases = parse_apt_policy() 233 234 if not releases: 235 return None 236 237 # We only care about the specified origin, component, and label 238 releases = [x for x in releases if ( 239 x[1].get('origin', '') == origin and 240 x[1].get('component', '') == component and 241 x[1].get('label', '') == label) or ( 242 x[1].get('origin', '') in alternate_olabels and 243 x[1].get('label', '') == alternate_olabels.get(x[1].get('origin', '')))] 244 245 # Check again to make sure we didn't wipe out all of the releases 246 if not releases: 247 return None 248 249 releases.sort(key=lambda tuple: tuple[0],reverse=True) 250 251 # We've sorted the list by descending priority, so the first entry should 252 # be the "main" release in use on the system 253 254 max_priority = releases[0][0] 255 releases = [x for x in releases if x[0] == max_priority] 256 releases.sort(key=release_index) 257 258 return releases[0][1] I am afraid that this info, you already know.. I am not a python guy( I love the Lua simplicity way :) ), I can't help.. :( Best Regards, tux -- tux <tux...@sapo.pt> _______________________________________________ Dng mailing list Dng@lists.dyne.org https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng