htop
htop copied to clipboard
AIX port
Is someone going to take up the branch in the old repo and finish getting htop working on AIX? Please advise. Thanks.
@mmetts which branch is that? I couldn't see one with anything AIX related in the name ... FWIW, I'd be happy to help some other developer working on AIX with keeping the platform up-to-date but I don't have access to an AIX machine myself.
Hi! this is the one I'm thinking about https://github.com/hishamhm/htop/pull/832
Let's see if any of those folks are still around ... ping @NattyNarwhal @kadler @bmarwell ... are you interested in collaborating on an AIX version of htop?
Hi Nathan, I would like to help but I don't think I have the skills. My abilities are probably limited to being a build test-dummy. I have a handful of AIX 7.1 and AIX 7.2 machines (all running on Power8) available to me, though. I'm the principal administrator of these machines so I have some discretion WRT build, install, and testing of packages. If there's a way for me to contribute that way I'd be happy to. Thanks, Mike
The largest chunk of work with this patchset will consist of mostly three tasks:
- Rebasing everything to current head of development
- Cleaning up its code style to follow our
STYLEGUIDE(cf.docs) - Adapt changes and code cleanups from work done in 3.0.x that changed how certain internals operate.
But before those tasks can be worked on I think it's important, as @natoscott said, to ger permission from the previous authors of that patchset, or even better: get them to help with that porting work.
Given that we have quite a list of tasks ahead even without this AIX port, we're dependent on any helping hand we can get to bring this port forward. We'll try to assist where possible, but the most part should be worked on with people knowing that platform and having a proper development environment for it.
yes, I'm around. i don't use AIX as much as I used to (since I got a box fast enough I didn't need to cross-compile anymore), but I'd be willing to put what I had upstreamed.
Pinging @LionNatsu:
Is it okay to use your commit https://github.com/hishamhm/htop/pull/832/commits/67e368914a1b03cbf18c4c7b678f424f5e18ad2e in the porting work going forward?
@NattyNarwhal Could you try to work on the first two points on the list I posted? We'll likely get to the third one soon enough, but having especially the first one out of the picture should simplify going forward quite a bit.
One note regarding OS checks: please create a define HTOP_AIX via configure.ac as is done for all other platforms.
I got a working version, but I don't remember which branches I used and I am sadly not a C coder. But I can compile things on AIX and give feedback.
Discussing this issue in our developer meeting we decided that AIX support is currently no priority as we are seriously lacking demand for it and also are much to short on resources to handle the work necessary to maintain that platform. Thus said, while we may reconsider the inclusion once a workable patch for integration of AIX support is presented, we'll as of now not go forward on its inclusion.
Once workable patches for such support are made we'll be glad to help with bringing them further. Considering our current list of open tasks we'll not be putting any effort into adding support for AIX.
I am a C programmer. I am interested in creating a usable patch. Was hoping someone could point me to what's already been done since there was some previous work on this and I can see what needs to be added from there to make it work with the current version. Thanks.
Hey, @lm8. Thank you very much for the offer! In principle any platform is welcome as long as there is enough user demand and a team of developers that are willing to support it longer term. So you'd need to get a (small) team together and demonstrate a bit of a user base for AIX to gain supported from the htop core team.
I'd use it at work. 🙋🏻♂️
@bmarwell Where shall we send the invoices? Or did you ask for pity? :grin:
If you ever used AIX you knew there is only "topas". I guess that says it all. 😉
Being an OSS maintainer myself, I might drop a donation or two.
If you'd need a team to support it instead of one person, then I'll just fork from the current version add what patches I need to make it work and keep it for personal use. It'll at least be helpful at my workplace. Sorry to have bothered you. I typically like to send my patches upstream if they'll accept them.
While we usually welcome contributions to allow htop to run on additional platforms we are also kinda hesitant to include those additional platforms in the main release unless we see a few conditions met. Those are meant for a platform to not be added in one release only to be abandoned soon after. That's why we prefer to have at least two developers helping with the platform, so a reasonable bus factor and timely responses in case of urgent issues for that platform is ensured. So while we try to maintain the code related to each individual platform there are several platforms we cannot readily access and thus require the support of people using and programming for those platforms.
The second condition we have for including a platform is a minimum feature coverage that covers at a minimum all general (cross-platform) columns as well as similar columns from related platforms. Similar rules apply for available meters.
Furthermore there should be some serious user base for the platform that's not just a few enthusiasts or loosely linked to the original creators. With AIX the main impression on can get that having people "include support" for this platform is mainly an ad campaign to boost its relevancy without adding much value to htop for supporting this platform. For example: The user base for NetBSD might not really be large compared to FreeBSD or even Linux, but htop could be run on NetBSD even before we included explicit support for it, but the selling point for having htop run native on that platform was that several features could now be implemented properly while saving on resources and also improving performance. And the proposal was not like "I'll write up the necessary patches so it runs", but rather a mid-to-long term commitment from multiple people in the NetBSD community to help with maintaining the platform and support us when questions arose. So if you and (at least) someone else commit to put in similar efforts, go ahead.
Also you should be aware that we take code quality serious and in particular the initial PR for that platform will likely involve quite a bit of review discussion and refactoring to meet our quality standards. The rules laid out in our style guide document just the bare minimum of what we expect and while they aren't absolute they still give a reasonable guide to work with. It also helps to be around in our developer channel on IRC to allow for questions and strategic planning if necessary.
So, going forward I see the following things to do, if adding AIX platform support to htop was really a step to happen:
- Get at least two people committing to maintain that platform mid to long term
- Get a working patchset to implement AIX support based on the main development branch
- Bring that patchset to feature parity with other (non-Linux) platforms
- Survive the review process for that patchset
If you don't want to put this effort into it I'm afraid AIX is not a sustainable platform for htop to support officially. But even than we are still open to the occasional patch you write on your fork; just AIX won't be in the set of things we'd go about integrating …
is a minimum feature coverage that covers at a minimum all general (cross-platform) columns
That works just fine, have used an old fork for a few years now.
some serious user base for the platform that's not just a few enthusiasts
AIX and enthussiasts? I am not sure AIX is used a lot on private computers.
we are also kinda hesitant to include those additional platforms in the main release
Bummer. Will continue using @lm8's fork.