can't read "env(COLUMNS)" in rev-upgrade

Mojca Miklavec mojca at macports.org
Mon May 8 18:56:59 UTC 2017


(was: Re: Congratulations to all the selected GSOC students and projects)

On 8 May 2017 at 18:02, Zero King wrote:
>
> I'm trying to install MacPorts on Travis VMs. I want to avoid syncing
> the ports tree to save more time for actual testing.  Since the .pkg
> installer would automatically call `port -v selfupdate` I've modified
> .travis.yml in base to produce an archive of /opt/local after executing
> `sudo port install`. To create the "macports" user I also added the
> postflight script into the archive at
> https://github.com/macports-staging/macports-base/releases. After
> extracting the archive, patching conf files and running postflight, I
> tried to install getopt for mpbb but that failed with
>
> Error: Updating database of binaries failed
> Error: rev-upgrade failed: can't read "env(COLUMNS)": no such variable
> Error: Follow https://guide.macports.org/#project.tickets to report a bug.
>
> Please help. Even though I could just install the .pkg but using
> archives allows me to deploy it on Linux too so we could use a different
> CI for lint tests and only test PRs on Travis.

The failing script is the following, right?

https://github.com/macports-staging/macports-ports/blob/master/.travis.yml
https://travis-ci.org/macports-staging/macports-ports/jobs/229206177

There are a couple of places where env(COLUMNS) is called
unconditionally (not that many though) in src/port/port.

It would help to:
(a) isolate the shell script to reproduce the code locally rather than
having to rely on the server
(b) try something like "export COLUMNS=80"

This looks like some initialisation bug that's only triggered when you
execute the steps individually.

Mojca


More information about the macports-dev mailing list