diff --git a/images/linux/scripts/SoftwareReport/SoftwareReport.Databases.psm1 b/images/linux/scripts/SoftwareReport/SoftwareReport.Databases.psm1 index 973257b10..450bcfeb2 100644 --- a/images/linux/scripts/SoftwareReport/SoftwareReport.Databases.psm1 +++ b/images/linux/scripts/SoftwareReport/SoftwareReport.Databases.psm1 @@ -18,18 +18,33 @@ function Get-MySQLVersion { return "MySQL $mySQLVersion" } +function Get-SQLCmdVersion { + $sqlcmdVersion = sqlcmd -? | Select-String -Pattern "Version" | Take-OutputPart -Part 1 + return "sqlcmd $sqlcmdVersion" +} + function Build-MySQLSection { $output = "" $output += New-MDHeader "MySQL" -Level 4 $output += New-MDList -Style Unordered -Lines @( (Get-MySQLVersion ), - "MySQL Server (user:root password:root)", - "MS SQL Server Client Tools" + "MySQL Server (user:root password:root)" ) $output += New-MDCode -Lines @( "MySQL service is disabled by default. Use the following command as a part of your job to start the service: 'sudo systemctl start mysql.service'" ) + return $output +} + +function Build-MSSQLToolsSection { + $output = "" + + $output += New-MDHeader "MS SQL Server Client Tools" -Level 4 + $output += New-MDList -Style Unordered -Lines @( + (Get-SQLCmdVersion) + ) + return $output } \ No newline at end of file diff --git a/images/linux/scripts/SoftwareReport/SoftwareReport.Generator.ps1 b/images/linux/scripts/SoftwareReport/SoftwareReport.Generator.ps1 index 9cf57034a..4230ea835 100644 --- a/images/linux/scripts/SoftwareReport/SoftwareReport.Generator.ps1 +++ b/images/linux/scripts/SoftwareReport/SoftwareReport.Generator.ps1 @@ -215,6 +215,7 @@ $markdown += New-MDList -Style Unordered -Lines @( ) $markdown += Build-MySQLSection +$markdown += Build-MSSQLToolsSection $markdown += New-MDHeader "Cached Tools" -Level 3 $markdown += Build-CachedToolsSection diff --git a/images/linux/scripts/installers/mssql-cmd-tools.sh b/images/linux/scripts/installers/mssql-cmd-tools.sh new file mode 100644 index 000000000..3177dd38b --- /dev/null +++ b/images/linux/scripts/installers/mssql-cmd-tools.sh @@ -0,0 +1,18 @@ +#!/bin/bash -e +################################################################################ +## File: mssql-cmd-tools.sh +## Desc: Install MS SQL Server client tools (https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-tools?view=sql-server-2017) +################################################################################ + +export ACCEPT_EULA=Y + +apt-get update +apt-get install -y mssql-tools unixodbc-dev +apt-get -f install +ln -s /opt/mssql-tools/bin/* /usr/local/bin/ + +echo "Testing to make sure that script performed as expected, and basic scenarios work" +if ! command -v sqlcmd; then + echo "sqlcmd was not installed" + exit 1 +fi \ No newline at end of file diff --git a/images/linux/scripts/installers/mysql.sh b/images/linux/scripts/installers/mysql.sh index 9abb97931..778294777 100644 --- a/images/linux/scripts/installers/mysql.sh +++ b/images/linux/scripts/installers/mysql.sh @@ -31,11 +31,6 @@ apt-get install -y mysql-server #Install MySQL Dev tools apt install libmysqlclient-dev -y -# Install MS SQL Server client tools (https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-tools?view=sql-server-2017) -apt-get install -y mssql-tools unixodbc-dev -apt-get -f install -ln -s /opt/mssql-tools/bin/* /usr/local/bin/ - # Run tests to determine that the software installed as expected echo "Testing to make sure that script performed as expected, and basic scenarios work" if ! command -v mysql; then diff --git a/images/linux/ubuntu1604.json b/images/linux/ubuntu1604.json index 6168f4bf8..d96118dbd 100644 --- a/images/linux/ubuntu1604.json +++ b/images/linux/ubuntu1604.json @@ -190,6 +190,7 @@ "{{template_dir}}/scripts/installers/miniconda.sh", "{{template_dir}}/scripts/installers/mono.sh", "{{template_dir}}/scripts/installers/mysql.sh", + "{{template_dir}}/scripts/installers/mssql-cmd-tools.sh", "{{template_dir}}/scripts/installers/nodejs.sh", "{{template_dir}}/scripts/installers/bazel.sh", "{{template_dir}}/scripts/installers/oras-cli.sh", diff --git a/images/linux/ubuntu1804.json b/images/linux/ubuntu1804.json index 6fc3f813f..417856881 100644 --- a/images/linux/ubuntu1804.json +++ b/images/linux/ubuntu1804.json @@ -193,6 +193,7 @@ "{{template_dir}}/scripts/installers/miniconda.sh", "{{template_dir}}/scripts/installers/mono.sh", "{{template_dir}}/scripts/installers/mysql.sh", + "{{template_dir}}/scripts/installers/mssql-cmd-tools.sh", "{{template_dir}}/scripts/installers/nvm.sh", "{{template_dir}}/scripts/installers/nodejs.sh", "{{template_dir}}/scripts/installers/bazel.sh", diff --git a/images/linux/ubuntu2004.json b/images/linux/ubuntu2004.json index bde4024c0..fb44a04fb 100644 --- a/images/linux/ubuntu2004.json +++ b/images/linux/ubuntu2004.json @@ -203,6 +203,7 @@ "{{template_dir}}/scripts/installers/miniconda.sh", "{{template_dir}}/scripts/installers/mono.sh", "{{template_dir}}/scripts/installers/mysql.sh", + "{{template_dir}}/scripts/installers/mssql-cmd-tools.sh", "{{template_dir}}/scripts/installers/nvm.sh", "{{template_dir}}/scripts/installers/nodejs.sh", "{{template_dir}}/scripts/installers/bazel.sh",