Access to workdir on the build server?

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Access to workdir on the build server?

MacPorts - Users mailing list
I am currently investigating a build failure of the new port keepasskit. The problem only occurs on the build server, not on my local machine:

Error: Failed to extract keepasskit: error renaming "/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_security_keepasskit/keepasskit/work/phc-winner-argon2-b31aa322566a8559403d419b2e9cd3f57957e394" to "/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_security_keepasskit/keepasskit/work/keepasskit-76e6ecda942f9e328efde7883ad75aed7290b632/Argon2": no such file or directory


Is there a way to inspect the workdir on the build server? I have a suspicion that this is a problem with case-sensitiveness but to be sure I would need to inspect the workdir.
Reply | Threaded
Open this post in threaded view
|

Re: Access to workdir on the build server?

Rainer Müller-4
Hello Janosch,

thank you for contributing these ports for MacPass!

I think this topic would have been better on the macports-dev@ mailing list, as
it reaches more developers that can help with writing Portfiles.

On 10/02/2021 13.44, Janosch Peters via macports-users wrote:
> I am currently investigating a build failure of the new port keepasskit
> <https://github.com/macports/macports-ports/blob/46050895452a3340a7785618b87a5e00f6b50b75/security/keepasskit/Portfile>.

First of all, this port must be updated with a proper versioning scheme. You
cannot use the git commit hash, because the version must have a defined sort
order. Hashes are "arbitrary" values and with just two hashes, there is no way
to tell which one is newer. This is important as with the current versioning
scheme the port might never show up as outdated. The port would only be upgraded
if the next hash happens to be sorted alphabetically after the current one.

Normally tagged releases should be preferred, but apparently there are no recent
tags that are suitable for MacPass and KeePassKit.

For repositories without tags, a common option would be to use the date of the
commit in YYYYMMDD format. Or if this will return to "normal" version numbers at
some point, start from the last tagged release 2.4.7 and add an increment as a
suffix, such as 2.4.7-snapshotYYYYMMDD or similar.

https://guide.macports.org/#reference.portgroup.github.distfile

To correct this you will also have to increment the 'epoch' of the port, as that
is the only way to ensure the new version number format will upgrade all
existing installation.

> The problem only occurs on the build server, not on my local machine:
>
> Error: Failed to extract keepasskit: error renaming
> "/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_security_keepasskit/keepasskit/work/phc-winner-argon2-b31aa322566a8559403d419b2e9cd3f57957e394"
> to
> "/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_security_keepasskit/keepasskit/work/keepasskit-76e6ecda942f9e328efde7883ad75aed7290b632/Argon2":
> no such file or directory
>
> The full logfile is here:
> https://build.macports.org/builders/ports-11_x86_64-builder/builds/19836/steps/install-port/logs/stdio
>
> Is there a way to inspect the workdir on the build server? I have a suspicion
> that this is a problem with case-sensitiveness but to be sure I would need to
> inspect the workdir.

Your suspicion is correct, all buildbots run on case-sensitive filesystems.
Direct access is not possible and it is wiped directly after the build as disk
space is a rare resource for this setup.

You can already see it when inspecting the tarball directly:

$ tar tf 76e6ecda942f9e328efde7883ad75aed7290b632.tar.gz
KeePassKit-76e6ecda942f9e328efde7883ad75aed7290b632/
...

I am not sure if there is a canonical way to solve this with the github port
group, but I think it could work to set the worksrcdir with the right
capitalization:

worksrcdir    KeePassKit-${version}

Rainer
Reply | Threaded
Open this post in threaded view
|

Re: Access to workdir on the build server?

ryandesign2
Administrator


On Feb 10, 2021, at 11:14, Rainer Müller wrote:

> Your suspicion is correct, all buildbots run on case-sensitive filesystems.
> Direct access is not possible and it is wiped directly after the build as disk
> space is a rare resource for this setup.
>
> You can already see it when inspecting the tarball directly:
>
> $ tar tf 76e6ecda942f9e328efde7883ad75aed7290b632.tar.gz
> KeePassKit-76e6ecda942f9e328efde7883ad75aed7290b632/
> ...
>
> I am not sure if there is a canonical way to solve this with the github port
> group, but I think it could work to set the worksrcdir with the right
> capitalization:
>
> worksrcdir    KeePassKit-${version}

Don't do that. Instead, correct the github.setup line. It currently reads:

github.setup MacPass keepasskit 76e6ecda942f9e328efde7883ad75aed7290b632

The third word should be KeePassKit not keepasskit to match the capitalization on the GitHub web site.

Reply | Threaded
Open this post in threaded view
|

Re: Access to workdir on the build server?

MacPorts - Users mailing list
Am 11.02.2021 um 03:12 schrieb Ryan Schmidt <[hidden email]>:

>
> On Feb 10, 2021, at 11:14, Rainer Müller wrote:
>
>> Your suspicion is correct, all buildbots run on case-sensitive filesystems.
>> Direct access is not possible and it is wiped directly after the build as disk
>> space is a rare resource for this setup.
>>
>> You can already see it when inspecting the tarball directly:
>>
>> $ tar tf 76e6ecda942f9e328efde7883ad75aed7290b632.tar.gz
>> KeePassKit-76e6ecda942f9e328efde7883ad75aed7290b632/
>> ...
>>
>> I am not sure if there is a canonical way to solve this with the github port
>> group, but I think it could work to set the worksrcdir with the right
>> capitalization:
>>
>> worksrcdir    KeePassKit-${version}
>
> Don't do that. Instead, correct the github.setup line. It currently reads:
>
> github.setup MacPass keepasskit 76e6ecda942f9e328efde7883ad75aed7290b632
>
> The third word should be KeePassKit not keepasskit to match the capitalization on the GitHub web site.
>


Thank you both for your input. I fixed the capitalization for MacPass and all its dependencies: https://github.com/macports/macports-ports/pull/9997

I also added the Version 2.4.8-RC for versionless KeePassKit.