New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SysInfo refactoring, startup log update #4811
Conversation
jenkins build this please |
…e Win8.1 limitation on getting real Windows version
…for all platforms
jenkins build this please |
@jmarshallnz Would you like to review? :) |
Looks like you need to fixup atv/ios |
@jmarshallnz Thanks, that was stupid c/p error. :) jenkins build this please |
darwin builds have ndebug in release mode only - see https://github.com/xbmc/xbmc/blob/master/tools/darwin/Configurations/Release.xcconfig |
@Memphiz xbmclogs full of logs with "Using Unknown XBMC x32 build" on darwin. |
Seems to work fine on Raspberry Pi (OpenELEC). Before PR4811 log The only noticeable change on the System Info page (Confluence) is the change of operating system name from: |
@MilhouseVH probably something we miss in os-release. thanks for pointing it. I'll take a look. |
@stefansaraev @MilhouseVH Right, you need it in /etc/os-release |
Just a guess, but it probably needs to be the OE git hash or something that uniquely identifies the OE build as neither the log or Sys Info screen identify the OE build beyond "OpenELEC_Helix" where as before the log at least included the full OE name (build date, time, revision, git hash). |
@MilhouseVH I'd like to move the non-related openelec discussion in irc, to avoid spaming others. I'll check whats required and do a PR for OE, or ping you in irc. |
ok @Karlson2k I believe there is something wrong in os-release parser, getValueFromOs_release. |
@stefansaraev Thanks, I'll check it |
@stefansaraev Did you disable lsb-release parser getValueFromLsb_release() for your tests? |
nope. I did not. our lsb_release returns nonsense anyway ;) it doesnt support -v/-c/etc. EDIT: hint for a simple os-release parser: https://lkml.org/lkml/2012/9/5/419 maybe this helps. EDIT2: to be clear, I did not test on ubuntu. I tested on openelec with /etc/os-release c/p'd from ubuntu (I thought there is something wrong with OE's os-release, which is fine, except not wrapping the values with "") |
…se() and getValueFromLsb_release()
@stefansaraev Thanks, I fixed this bug. jenkins build this please |
@stefansaraev According to http://www.freedesktop.org/software/systemd/man/os-release.html you must quote values if they contain spaces. #!/bin/bash
. /etc/os-release |
Building OpenELEC with the latest commits and I'm getting this build error:
|
…ll platforms (currently only Darwin, Win32 and Android return meaningful values)
…turer and model name
…o use new functions
…OS_VERSION_INFO Old name was incorrect as XBMC provide much more information than just kernel version
…ons and ancient declared-only functions
…d of GetSystemInfo()
…etOsName() values
…ldTargetPlatformVersion()
…ysInfo::GetUsedCompilerNameAndVer()
@t-nelson Lowered number of commits. |
@Karlson2k seems i am blind - darwin sets _DEBUG (with underscore) of course. Seems impossible to me that "buildType = "Unknown";" could be triggered in Application.cpp with the code i am seeing in that PR here. wonders |
@Memphiz See xbmclogs.com - a lot of Gotham logs wtih "Unknown" type. |
@Karlson2k thx for the headsup - found the problem - pr incoming... |
This is the reason why I always add third case when only two choices must be valid. :) |
@Karlson2k for reference #4851 |
good for merge (after jenkins build) or does it need some squashing? |
@MartijnKaijser It's squashed enough and ready for merge. |
jenkins build this please just in case |
Anyone want to review? @jmarshallnz ? :) |
Looks OK to me on the whole. Didn't check all the hundreds of little changes though for sanity/null check/running off array. I'm sure you'll fix them if there are any that snuck in. |
SysInfo refactoring, startup log update
Started as small startup log refactoring, this branch growed up to SysInfo refactoring and cleanup.
I fixed a lot of mess and inconsistency in SysInfo, removed some outdated and platform-specific functions.
New function are designed to be used in platform-agnostic way.