badger icon indicating copy to clipboard operation
badger copied to clipboard

fix(aix): add aix directory synchronization support

Open pmur opened this issue 1 year ago • 11 comments

AIX doesn't support a proper flock like linux, but it seems to have enough support for process level file locking using fcntl.

For #2035

Problem

GOOS=aix does not build. AIX does not support a linux-like flock, and does not export unix.Flock.

Solution

Create an AIX specific directory-locking implementation using the AIX version of flock.

pmur avatar Sep 26 '24 20:09 pmur

CLA assistant check
All committers have signed the CLA.

CLAassistant avatar Sep 26 '24 20:09 CLAassistant

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

CLAassistant avatar Sep 26 '24 20:09 CLAassistant

Deploy Preview for badger-docs canceled.

Name Link
Latest commit ceab0220ae84081844f5786c8c27db61e026b26b
Latest deploy log https://app.netlify.com/sites/badger-docs/deploys/67121e7a9919ca000806bdce

netlify[bot] avatar Sep 26 '24 20:09 netlify[bot]

Hi, is there something I need to fix in the CL, or is this a CI issue?

pmur avatar Oct 31 '24 21:10 pmur

This PR has been stale for 60 days and will be closed automatically in 7 days. Comment to keep it open.

github-actions[bot] avatar Dec 31 '24 02:12 github-actions[bot]

This is still useful. Ping.

pmur avatar Jan 02 '25 14:01 pmur

@pmur tests are passing now, though I'm concerned about the maintenance cost of this when we don't have an environment to test on–is that something you're able/willing to help with?

ryanfoxtyler avatar Feb 15 '25 00:02 ryanfoxtyler

In case it's helpful, I'll point out that you can get some signal from compile-only testing via cross-compilation. For example, GOOS=aix GOARCH=ppc64 go test -c -o=/dev/null can be run on any platform you have access to, and at least check for build errors. (The -c flag tells the go command to compile the test binary but do not run it, while the -o flag is used to discard the result, since you only care about the exit code.)

dmitshur avatar Feb 15 '25 00:02 dmitshur

I can provide some help in a limited capacity. Note, I have been using publicly available resources to implement test this (the aix golang CI instance, and the aix gcc compiler farm instance).

I hope @ayappanec might be able to provide more official help. He is part of the IBM team maintaining OSS software on aix.

pmur avatar Feb 17 '25 14:02 pmur

@pmur Thanks for tagging me here. We are currently in the process of creating new AIX VMs in OSU lab which we give it to various Opensource communities to enable AIX support. I will try to get a VM for this.

ayappanec avatar Feb 18 '25 05:02 ayappanec

ping

pmur avatar Mar 19 '25 16:03 pmur