Create port for Linux binaries of Linux Test Project, for the purpose
of testing linuxulator. Unfortunately CentOS (and most other distros)
doesn't carry packages for LTP; this one comes from openSUSE. Seems
to work just fine with Centos libraries, FWIW.
Details
- Reviewers
ngie tijl lwhsu - Commits
- rP501036: New port: devel/linux-ltp
Diff Detail
- Repository
- rP FreeBSD ports repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
I don't think benchmarks is an appropriate category. LTP consists primarily of functional and crash tests.
devel/ might be better (I wish there was a tests/ category, or something of that ilk).
portlint -abct gives:
FATAL: /usr/home/lwhsu/freebsd-ports/benchmarks/linux-ltp/pkg-plist.amd64: [6685]: Man pages must be installed into ``man'' not ``share/man''. FATAL: /usr/home/lwhsu/freebsd-ports/benchmarks/linux-ltp/pkg-plist.amd64: [6686]: Man pages must be installed into ``man'' not ``share/man''. FATAL: /usr/home/lwhsu/freebsd-ports/benchmarks/linux-ltp/pkg-plist.amd64: [6687]: Man pages must be installed into ``man'' not ``share/man''. FATAL: /usr/home/lwhsu/freebsd-ports/benchmarks/linux-ltp/pkg-plist.amd64: [6688]: Man pages must be installed into ``man'' not ``share/man''. FATAL: /usr/home/lwhsu/freebsd-ports/benchmarks/linux-ltp/pkg-plist.amd64: [6689]: Man pages must be installed into ``man'' not ``share/man''. FATAL: /usr/home/lwhsu/freebsd-ports/benchmarks/linux-ltp/pkg-plist.amd64: [6690]: Man pages must be installed into ``man'' not ``share/man''. FATAL: /usr/home/lwhsu/freebsd-ports/benchmarks/linux-ltp/pkg-plist.amd64: [6691]: Man pages must be installed into ``man'' not ``share/man''. FATAL: /usr/home/lwhsu/freebsd-ports/benchmarks/linux-ltp/pkg-plist.amd64: [6692]: Man pages must be installed into ``man'' not ``share/man''. FATAL: /usr/home/lwhsu/freebsd-ports/benchmarks/linux-ltp/pkg-plist.amd64: [6693]: Man pages must be installed into ``man'' not ``share/man''. FATAL: /usr/home/lwhsu/freebsd-ports/benchmarks/linux-ltp/pkg-plist.amd64: [6694]: Man pages must be installed into ``man'' not ``share/man''. FATAL: /usr/home/lwhsu/freebsd-ports/benchmarks/linux-ltp/pkg-plist.amd64: [6695]: Man pages must be installed into ``man'' not ``share/man''. FATAL: /usr/home/lwhsu/freebsd-ports/benchmarks/linux-ltp/pkg-plist.amd64: [6696]: Man pages must be installed into ``man'' not ``share/man''. WARN: Makefile: Consider defining LICENSE. WARN: Makefile: extra item placed in the USES/USE_x section, for example, "RPMVERSION". 12 fatal errors and 2 warnings found.
Do you think it makes sense to move these manpage files?
Not sure. Quick 'grep 'man/' */linux*/pkg-plist.amd64 | less' seems to suggest that 'share/man' is the norm for Linux packages.
I'm ok with the changes, but there are some kinks that should probably be worked out before committing this.
I'm also not a ports committer, so I can't approve this for commit (sorry :/).
Oh, that's right, it would be installed with the prefix /compat/linux, these are false positives.
This port generally looks good to me, I would suggest adding a LICENSE field and move RPMVERSION after USE/USE_x section.
devel/linux-ltp/Makefile | ||
---|---|---|
19 ↗ | (On Diff #56812) | This should happen later. See Chapter 15. Order of Variables in Port Makefiles. |
Please keep the same style as the other Linux ports. RPMVERSION should really be up there with PORTVERSION so it's easy to check the version. It was only moved down because portlint complains so loudly about that. To move it even further down simply because of style goes against common sense though.
I think this is a good point, perhaps we can also modify portlint to silence this meaningless complain.
I disagree about the meaningfullness of those complains.
We have a very specific documentation about how to order variables in a port's Makefile, it is available here https://www.freebsd.org/doc/en/books/porters-handbook/porting-order.html.
The idea is that every port has to follow these basic rules so that every port can be read by every one. Of course, we all had our own rules about that ordering before it existed, well, now it exists, and we should all adhere to it.
This isn't about having my own rules. It's about being practical. The further PORTVERSION and RPMVERSION are apart the more difficult it is to check the current version of the port. Now, RPMVERSION is really a leftover from before Uses/linux.mk. It is only used to set DISTVERSIONSUFFIX nowadays so perhaps it is time to eliminate it and set DISTVERSIONSUFFIX directly (right after PORTVERSION).
So, given the dispute above is more about guidelines for Linux packages and less about this port in particular, is there anything left to do before this can be committed?
This looks good to me (not a ports committer though, so just reviewing the change).
As a volunteer/co-maintainer on the LTP project, your suggestions make sense.
The only thing that I would do is install LTP to /compat/linux/opt, if at all possible. If not, we can come up with a better way to build/relocate LTP (I wrote the current build system about a decade ago for the project).
Also, while this may work with an OpenSUSE package, we should push for the Fedora project to build this package, then pull it from there.
It would probably be better that the RPMVERSION -> DISTVERSIONSUFFIX change be made all at once.
But it does install to /compat/linux/opt - except for the documentation (where it follows Linux conventions) and two binaries - not sure what's going on with those two.
Okay. So... last chance for folks who want to be on the 'Reviewed by' list to mark it as Approved? Thanks :-)