Skip to content
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

Change packaging to support Ubuntu 17.10 and 18.04 #6769

Merged
merged 5 commits into from May 7, 2018

Conversation

Projects
None yet
5 participants
@rjmholt
Copy link
Member

commented Apr 28, 2018

PR Summary

Ubuntu 17.04 is EOL, so we need to update our packaging for Ubuntu 17.10. This updates the package script and build.psm1 to use 17.10 rather than 17.04.

The other things we should change to fully migrate are:

Also, Fedora 25 is now EOL and we should move to 27. This should already be handled, but we need to test on in a Fedora 27 environment.

PR Checklist

@rjmholt rjmholt requested a review from adityapatwardhan as a code owner Apr 28, 2018

@iSazonov

This comment has been minimized.

Copy link
Collaborator

commented Apr 29, 2018

I found 58 results by "Ubuntu" string in *.ps* files - I see there's something we need to fix, too.

@TravisEz13

This comment has been minimized.

Copy link
Member

commented Apr 30, 2018

@rjmholt Can you add a commit with [Package] at the beginning of the title? This will trigger package building.

I found 58 results by "Ubuntu" string in .ps files - I see there's something we need to fix, too.

I only found one line that needs to be changed. The docs should be moved to PowerShell/PowerShell-Docs

$environment += @{'IsUbuntu17' = $Environment.IsUbuntu -and $LinuxInfo.VERSION_ID -match '17.04'}

@rjmholt rjmholt force-pushed the rjmholt:update-ubuntu17.10-build branch from b6e1e4a to 5c01416 Apr 30, 2018

@rjmholt rjmholt changed the title Change packaging to use ubuntu 17.10 WIP: Change packaging to use ubuntu 17.10 May 2, 2018

@rjmholt

This comment has been minimized.

Copy link
Member Author

commented May 2, 2018

Installing PowerShell on Fedora 28 I notice two things so far:

  • The installation manager GUI window you get when you double click on the RPM to install the PowerShell binary says the license is "proprietary" rather than "MIT".
  • I run into #6132.
@iSazonov

This comment has been minimized.

Copy link
Collaborator

commented May 3, 2018

I think we should rebase to move to .Net Core 2.1 and then check that #6132 was fixed.

@rjmholt

This comment has been minimized.

Copy link
Member Author

commented May 3, 2018

Okay I've run successfully installed PowerShell from master and run Start-PSPester -Tag "CI","Feature","RequireSudoOnLinux" under sudo on the following platforms:

Ubuntu 17.10 Ubuntu 18.04 Fedora 27 Fedora 28
Succeeded 6226 6227 6226 6232
Failed 12 11 9 8
Skipped 1225 1225 1227 1227
Pending 419 419 419 419
Inconclusive 0 0 0 0
Total 7882 7882 7881 7886
Pester XML pester-tests-ubuntu17.10.xml.zip pester-tests-ubuntu18.04.xml.zip pester-tests-fed27.xml.zip pester-tests-fed28.xml.zip

Some of the problems I found:

@rjmholt

This comment has been minimized.

Copy link
Member Author

commented May 3, 2018

I built a .deb the other day for Ubuntu 17.10, but it didn't work. Trying again today.

@rjmholt

This comment has been minimized.

Copy link
Member Author

commented May 4, 2018

Have verified a working Ubuntu 17.10 package built with this branch.

(Can't attach due to size)

@rjmholt

This comment has been minimized.

Copy link
Member Author

commented May 4, 2018

Also confirm that the produced Ubuntu 18.04 package works!

@rjmholt rjmholt changed the title WIP: Change packaging to use ubuntu 17.10 Change packaging to support Ubuntu 17.10 and 18.04 May 4, 2018

@rjmholt rjmholt force-pushed the rjmholt:update-ubuntu17.10-build branch to 62c93ed May 4, 2018

@@ -993,6 +995,7 @@ function Get-PackageDependencies
"ubuntu.14.04" { $Dependencies += @("libssl1.0.0", "libicu52") }
"ubuntu.16.04" { $Dependencies += @("libssl1.0.0", "libicu55") }
"ubuntu.17.10" { $Dependencies += @("libssl1.0.0", "libicu57") }
"ubuntu.18.04" { $Dependencies += @("libssl1.0.0", "libssl1.1", "libicu60") }

This comment has been minimized.

Copy link
@iSazonov

iSazonov May 4, 2018

Collaborator

Do we really need both libssl?

@iSazonov

This comment has been minimized.

Copy link
Collaborator

commented May 4, 2018

As for Test-Connection tests I think it is mostly from .Net Core. I have no way to check on other Linux-s.

@iSazonov

This comment has been minimized.

Copy link
Collaborator

commented May 4, 2018

Fedora 27 related PR #6819.

@@ -992,7 +994,8 @@ function Get-PackageDependencies
switch ($Distribution) {
"ubuntu.14.04" { $Dependencies += @("libssl1.0.0", "libicu52") }
"ubuntu.16.04" { $Dependencies += @("libssl1.0.0", "libicu55") }
"ubuntu.17.04" { $Dependencies += @("libssl1.0.0", "libicu57") }
"ubuntu.17.10" { $Dependencies += @("libssl1.0.0", "libicu57") }
"ubuntu.18.04" { $Dependencies += @("libssl1.0.0", "libssl1.1", "libicu60") }

This comment has been minimized.

Copy link
@TravisEz13

TravisEz13 May 4, 2018

Member

I think @iSazonov is correct. We only need libssl1.0.0

@TravisEz13 TravisEz13 merged commit d96a321 into PowerShell:master May 7, 2018

4 checks passed

WIP ready for review
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
license/cla All CLA requirements met.
Details
@TravisEz13

This comment has been minimized.

Copy link
Member

commented May 7, 2018

@anmenaga FYI this will change the package name for ubuntu 17.10

@anmenaga

This comment has been minimized.

Copy link
Contributor

commented May 7, 2018

@TravisEz13 good point, thx. I'll prepare PR to fix dockerfile; and looks like we need to add dockerfiles for new '18.04' config.

@iSazonov iSazonov referenced this pull request May 10, 2018

Closed

Support Ubuntu 18.04 #6692

@kenk667

This comment has been minimized.

Copy link

commented May 16, 2018

@rjmholt I may have an interim solution for installing on 18.04 without downgrading curl or libicu, I was able to successfully install on 18.04 by changing the dependencies for https://github.com/PowerShell/PowerShell/releases/download/v6.1.0-preview.2/powershell_6.1.0-preview.2-1.ubuntu.17.04_amd64.deb

dpkg-deb --raw-exatrct powershell_6.1.0-preview.2-1.ubuntu.17.04_amd64.deb 6.1.0_patched

Then alter two patterns, curl and libicu dependencies to current versions;

sudo awk '{gsub("curl3","curl4");gsub("libicu57","libicu60");print}' 6.1.0_pathched/DEBIAN/control

Repackage as a debian package;

dpkg-deb --build 6.1.0_pathched/ powershell_6.1.0-patched.2-1.ubuntu.18.04_amd64.deb

Now just install the newly patched .deb package, I like to use gdebi to install;

sudo gdebi powershell_6.1.0-patched.2-1.ubuntu.18.04_amd64.deb

I haven't extensively tested this but seems to be functional and stable so far

@TravisEz13

This comment has been minimized.

Copy link
Member

commented May 17, 2018

@kenk667 The required libraries are determined by DotNet Core. Changing the required libraries could leave you unsupported.

@rjmholt rjmholt deleted the rjmholt:update-ubuntu17.10-build branch Jun 22, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.