MacPorts
2018-11-28 23:25:40 UTC
#57698: Travis: Use the normal MacPorts installer
----------------------------+---------------------
Reporter: ryandesign | Owner: admin@âŠ
Type: defect | Status: new
Priority: Normal | Milestone:
Component: server/hosting | Version:
Keywords: | Port:
----------------------------+---------------------
For Travis, we currently use a custom MacPorts installer built
specifically for Travis. This is an additional asset that needs to be
produced every time we release a new version of MacPorts. (And it's not
currently documented in the [browser:macports-
base/portmgr/ReleaseProcess.md release process] how to do that.) It would
be great if we could eliminate that requirement and have Travis use the
normal MacPorts installer.
From [browser:macports-base/***@travis-ci .travis.yml], it looks
like the differences between the regular MacPorts installer and the build
for Travis are:
* The Travis build is packaged as a .tar.bz2 instead of a .pkg
From my point of view, there is no need for this difference. It's no
problem to install a .pkg from the command line using the `installer`
command.
* The Travis build modifies the postflight script so that it does not run
selfupdate
It's a little more work, but the postflight script could be extracted
from the pkg, modified, and put back into the pkg before installing the
pkg. Better yet, maybe we can find a way (argument? environment variable?
config file? subpackage?) to let the user running `installer` specify
whether selfupdate should be run; this would benefit not only our Travis
configuration but anybody else needing similar functionality.
* The Travis build copies the postflight script into /opt/local; after
extracting the tarball, [browser:macports-ports/_ci/bootstrap.sh
bootstrap.sh] runs it and deletes it
This would be unnecessary if it were a pkg since it would run
automatically.
* The Travis build copies the .tcl files into /opt/local
I don't know why it does that. If there is a reason, perhaps it can be
addressed another way.
If the problem is that Travis doesn't know what version of the MacPorts
installer to download, it could determine the current version by querying
[browser:macports-base/config/RELEASE_URL].
----------------------------+---------------------
Reporter: ryandesign | Owner: admin@âŠ
Type: defect | Status: new
Priority: Normal | Milestone:
Component: server/hosting | Version:
Keywords: | Port:
----------------------------+---------------------
For Travis, we currently use a custom MacPorts installer built
specifically for Travis. This is an additional asset that needs to be
produced every time we release a new version of MacPorts. (And it's not
currently documented in the [browser:macports-
base/portmgr/ReleaseProcess.md release process] how to do that.) It would
be great if we could eliminate that requirement and have Travis use the
normal MacPorts installer.
From [browser:macports-base/***@travis-ci .travis.yml], it looks
like the differences between the regular MacPorts installer and the build
for Travis are:
* The Travis build is packaged as a .tar.bz2 instead of a .pkg
From my point of view, there is no need for this difference. It's no
problem to install a .pkg from the command line using the `installer`
command.
* The Travis build modifies the postflight script so that it does not run
selfupdate
It's a little more work, but the postflight script could be extracted
from the pkg, modified, and put back into the pkg before installing the
pkg. Better yet, maybe we can find a way (argument? environment variable?
config file? subpackage?) to let the user running `installer` specify
whether selfupdate should be run; this would benefit not only our Travis
configuration but anybody else needing similar functionality.
* The Travis build copies the postflight script into /opt/local; after
extracting the tarball, [browser:macports-ports/_ci/bootstrap.sh
bootstrap.sh] runs it and deletes it
This would be unnecessary if it were a pkg since it would run
automatically.
* The Travis build copies the .tcl files into /opt/local
I don't know why it does that. If there is a reason, perhaps it can be
addressed another way.
If the problem is that Travis doesn't know what version of the MacPorts
installer to download, it could determine the current version by querying
[browser:macports-base/config/RELEASE_URL].
--
Ticket URL: <https://trac.macports.org/ticket/57698>
MacPorts <https://www.macports.org/>
Ports system for macOS
Ticket URL: <https://trac.macports.org/ticket/57698>
MacPorts <https://www.macports.org/>
Ports system for macOS