[mythtv-commits] Ticket #13256: mythtv-setup Xubuntu 18.04
MythTV
noreply at mythtv.org
Mon Oct 29 04:39:52 UTC 2018
#13256: mythtv-setup Xubuntu 18.04
----------------------------------+------------------------------
Reporter: mike.bibbings@… | Owner: (none)
Type: Bug Report - General | Status: new
Priority: minor | Milestone: needs_triage
Component: Packaging | Version: v29-fixes
Severity: low | Resolution:
Keywords: | Ticket locked: 0
----------------------------------+------------------------------
Comment (by trinitronx):
Ok, I added a patch file for the changes mentioned by baizej earlier. It
also appears that perhaps XML schema has changed for the file:
{{{/etc/mythtv/config.xml}}}
This might be another Bug already, but there is a mysql connection error
returned when starting {{{mythtv-setup}}}:
{{{
mysql: [Warning] Using a password on the command line interface can be
insecure.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using
password: NO)
}}}
This comes from the very first part of {{{mythtv-setup.sh}}}:
{{{
#source our dialog functions
. /usr/share/mythtv/dialog_functions.sh
#get database info
getXmlParam() {
perl -e '
use XML::Simple;
use Data::Dumper;
$xml = new XML::Simple;
$data = $xml->XMLin("/etc/mythtv/config.xml");
print "$data->{Database}->{$ARGV[0]}\n";
' -- "$1"
}
DBHost="$(getXmlParam Host)"
DBUserName="$(getXmlParam UserName)"
DBPassword="$(getXmlParam Password)"
DBName="$(getXmlParam DatabaseName)"
#get mythfilldatabase arguments
mbargs=$(mysql -N \
--host="$DBHost" \
--user="$DBUserName" \
--password="$DBPassword" \
"$DBName" \
--execute="SELECT data FROM settings WHERE value =
'MythFillDatabaseArgs';" \
)
}}}
It tries to read XML database parameters using this inline perl command
from: /etc/mythtv/config.xml
However, the XML Schema of this file looks like this:
{{{
<Configuration>
<UPnP>
<MythFrontend>
<DefaultBackend>
<!--
Set the <LocalHostName> hostname override below only if you want to use
something other than the machine's real hostname for identifying settings
in the database. This is useful if your hostname changes often, as
otherwise you'll need to reconfigure mythtv every time.
NO TWO HOSTS MAY USE THE SAME VALUE
-->
<DBHostName>127.0.0.1</DBHostName>
<DBUserName>mythtv</DBUserName>
<DBPassword>DB_PASSWORD_WAS_HERE</DBPassword>
<DBName>mythconverg</DBName>
<DBPort>3306</DBPort>
</DefaultBackend>
</MythFrontend>
</UPnP>
</Configuration>
}}}
So, the perl code is looking on this XML object in the wrong place! It
looks under {{{$data->{Database}-> __DB_STUFF_HERE}}}
My guess is that in newer versions of MythTV, this file XML schema
changed, but it used to be something probably like:
{{{
<Database>
<DBHostName>127.0.0.1</DBHostName>
<DBUserName>mythtv</DBUserName>
<DBPassword>DB_PASSWORD_WAS_HERE</DBPassword>
<DBName>mythconverg</DBName>
<DBPort>3306</DBPort>
</Database>
}}}
The {{{getXmlParam}}} function would have to be modified to check the XML
object and look for it in both places conditionally (e.g.: under
{{{$data->{Configuration}->{UPnP}->{MythFrontend}->{DefaultBackend}->
__DB_STUFF_HERE}}})
--
Ticket URL: <https://code.mythtv.org/trac/ticket/13256#comment:7>
MythTV <http://www.mythtv.org>
MythTV Media Center
More information about the mythtv-commits
mailing list