Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add modulemd-validator man page #445

Merged
merged 6 commits into from
Feb 10, 2020

Conversation

mmathesius
Copy link
Collaborator

Resolves #365.

I'm not sure if the packaging of the generated man page will work. I also suspect CI will blow up with missing dependencies for non-Fedora distributions.

Drop the `with_py{23}_overrides` options to meson and add `with_py2`
in its place. `with_py2` will now default to `false`, since python2
is now EOL.

Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
@mmathesius mmathesius added the WIP Work-in-progress, do not merge label Feb 6, 2020
meson_options.txt Outdated Show resolved Hide resolved
meson.build Outdated Show resolved Hide resolved
modulemd/meson.build Outdated Show resolved Hide resolved
@mmathesius
Copy link
Collaborator Author

@sgallagher Thanks for the feedback. I'll take care of that and sort through any missing dependencies shortly.

One other thing that came to mind regarding the spec file... Should the man page be moved into the main package alongside with the modulemd-validator executable (instead of the devel package)?

@sgallagher
Copy link
Collaborator

One other thing that came to mind regarding the spec file... Should the man page be moved into the main package alongside with the modulemd-validator executable (instead of the devel package)?

Oh, I completely missed that. Yes, the manpage belongs with the executable.

@mmathesius mmathesius force-pushed the validator-man-page branch 2 times, most recently from be8599e to 049ba37 Compare February 7, 2020 15:02
@packit-as-a-service
Copy link

There was an error while creating SRPM. You can re-trigger build by adding a comment (/packit copr-build) into this pull request.

Output:

Preparing of the upstream to the SRPM build failed: ['oc', 'cp', PosixPath('/tmp/tmpcnmy3d6m/t.tar.gz'), 'packit-prod-sandbox/docker-io-usercont-sandcastle-20200207-150823036723:/tmp/tmp.ctIvt47XMn'] failed with 'error: error sending request: Post https://172.30.0.1:443/api/v1/namespaces/packit-prod-sandbox/pods/docker-io-usercont-sandcastle-20200207-150823036723/exec?command=tar&command=xf&command=-&command=-C&command=%2Ftmp%2Ftmp.ctIvt47XMn&container=docker-io-usercont-sandcastle-20200207-150823036723&container=docker-io-usercont-sandcastle-20200207-150823036723&stderr=true&stdin=true&stdout=true: dial tcp 172.30.0.1:443: connect: no route to host\n'

@mmathesius mmathesius removed the WIP Work-in-progress, do not merge label Feb 7, 2020
sgallagher and others added 5 commits February 7, 2020 14:22
The original ones only supported Python 3 on Fedora 31. We were
experiencing additional issues with python3 on Rawhide as well as
python2 on all releases.

Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
Python on OpenSUSE Tumbleweed seems broken; valgrind detects a lot
of use-after-free issues.

Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
Reconcile differences between upstream and Fedora/EPEL packaging.

Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
Signed-off-by: Merlin Mathesius <mmathesi@redhat.com>
@packit-as-a-service
Copy link

Congratulations! One of the builds has completed. 🍾

You can install the built RPMs by following these steps:

  • sudo yum install -y dnf-plugins-core on RHEL 8
  • sudo dnf install -y dnf-plugins-core on Fedora
  • dnf copr enable packit/fedora-modularity-libmodulemd-445
  • And now you can install the packages.

Please note that the RPMs should be used only in a testing environment.

sgallagher added a commit that referenced this pull request Feb 10, 2020
@sgallagher sgallagher merged commit 8da8ae1 into fedora-modularity:master Feb 10, 2020
'--no-info',
'--section=1',
]
custom_target(

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this target needs to be under the with_manpages condition, as it can't be generated when help2man is not found.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jon-turney

from meson.build

with_manpages = get_option('with_manpages')
help2man = find_program('help2man', required: with_manpages)

This means that if with_manpages is set to enabled, the meson configure step will fail with an error (since the program is required) if help2man cannot be located. If with_manpages is auto (the default), it means that it will be built if help2man happens to be available, but if it's not, the help2man variable will be a disabler() object. A disabler() object means that any target that requires it will simply be skipped. If with_manpages is disabled, a disabler() object is always returned.

Copy link

@jon-turney jon-turney Feb 11, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks.

But I'm not sure if that's quite right. Don't you need to write find_program('help2man', required: with_manpages, disabler: true) to get a disabler object?

In any event, this doesn't appear to be currently working as you expect: see https://travis-ci.org/jon-turney/meson-corpus-test/jobs/648623888.

Is this a meson regression (i.e. you've seen this work as expected for some meson version?). A bug? Or a problem with the meson documentation?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

modulemd-validator: missing man page
3 participants