Page MenuHomeFreeBSD

[new port] devel/linux-ltp: Linux Test Project (openSUSE Leap 42.3)
ClosedPublic

Authored by trasz on Apr 28 2019, 4:10 PM.

Details

Summary

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.

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

trasz created this revision.Apr 28 2019, 4:10 PM
ngie requested changes to this revision.EditedApr 28 2019, 5:11 PM

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).

This revision now requires changes to proceed.Apr 28 2019, 5:11 PM
lwhsu added a subscriber: lwhsu.Apr 28 2019, 6:34 PM
lwhsu added a comment.Apr 28 2019, 6:40 PM

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?

trasz added a comment.Apr 28 2019, 9:32 PM

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.

trasz added a comment.Apr 28 2019, 9:34 PM
In D20092#432135, @ngie wrote:

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).

I think you're right. I'll move it to devel/, thanks!

trasz updated this revision to Diff 56810.Apr 29 2019, 4:16 PM

Move to devel.

trasz updated this revision to Diff 56812.Apr 29 2019, 4:17 PM

Actually move to devel.

trasz retitled this revision from [new port] benchmarks/linux-ltp: Linux Test Project (openSUSE Leap 42.3) to [new port] devel/linux-ltp: Linux Test Project (openSUSE Leap 42.3).Apr 29 2019, 4:23 PM
ngie resigned from this revision.Apr 29 2019, 8:04 PM

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 :/).

lwhsu added a comment.EditedApr 29 2019, 8:14 PM

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.

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.

mat added inline comments.Apr 30 2019, 3:42 PM
devel/linux-ltp/Makefile
19 ↗(On Diff #56812)
tijl added a comment.Apr 30 2019, 8:56 PM

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.

lwhsu added a comment.Apr 30 2019, 9:11 PM
In D20092#432902, @tijl wrote:

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.

mat added a comment.Apr 30 2019, 11:04 PM

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.

tijl added a comment.May 1 2019, 8:04 AM

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).

trasz updated this revision to Diff 56927.May 1 2019, 7:00 PM

Add pkg-descr.

trasz added a comment.May 2 2019, 9:11 AM

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?

ngie accepted this revision.EditedMay 3 2019, 9:20 PM
ngie added a subscriber: ngie.

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.

This revision is now accepted and ready to land.May 3 2019, 9:20 PM
emaste added a subscriber: emaste.May 6 2019, 4:13 PM
emaste added a comment.May 6 2019, 8:24 PM
In D20092#433030, @tijl wrote:

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).

@mat, should @trasz make that change? I hope this change is not held up too long for an issue that has no clear resolution - i.e., what's the next thing to do here?

mat added a comment.May 7 2019, 8:26 AM
In D20092#433030, @tijl wrote:

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).

@mat, should @trasz make that change? I hope this change is not held up too long for an issue that has no clear resolution - i.e., what's the next thing to do here?

It would probably be better that the RPMVERSION -> DISTVERSIONSUFFIX change be made all at once.

trasz added a comment.EditedMay 7 2019, 2:53 PM
In D20092#433990, @ngie wrote:

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).

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.

trasz added a comment.May 7 2019, 2:54 PM

Okay. So... last chance for folks who want to be on the 'Reviewed by' list to mark it as Approved? Thanks :-)

lwhsu accepted this revision.May 7 2019, 3:32 PM

Please don't forget the license field :)

ngie added a comment.May 7 2019, 3:48 PM
In D20092#433990, @ngie wrote:

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).

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.

Which 2 binaries? Asking, because I can fix upstream potentially.

trasz updated this revision to Diff 57139.May 7 2019, 5:48 PM

Add LICENSE.

This revision now requires review to proceed.May 7 2019, 5:48 PM
trasz added a comment.May 7 2019, 5:50 PM
In D20092#434881, @ngie wrote:
In D20092#433990, @ngie wrote:

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).

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.

Which 2 binaries? Asking, because I can fix upstream potentially.

Those two:

/compat/linux/usr/bin/execltp
/compat/linux/usr/bin/ffsb
This revision was not accepted when it landed; it landed in state Needs Review.May 8 2019, 6:41 PM
Closed by commit rP501036: New port: devel/linux-ltp (authored by trasz). · Explain Why
This revision was automatically updated to reflect the committed changes.