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

Include unistd.h for STDOUT_FILENO #439

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

gahr
Copy link

@gahr gahr commented Oct 1, 2024

STDOUT_FILENO is defined in unistd.h, see POSIX.

This is required on FreeBSD.

STDOUT_FILENO is defined in unistd.h, see [POSIX](https://pubs.opengroup.org/onlinepubs/9799919799/).

This is required on FreeBSD.
@ppisar ppisar self-assigned this Oct 7, 2024
@@ -26,6 +26,7 @@
#include <stdio.h>
#include <ctype.h>
#include <stdbool.h>
#include <unistd.h>
Copy link
Contributor

Choose a reason for hiding this comment

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

STDOUT_FILENO is only used if WITH_ZCHUNK macro is defined. Could you please move the #include to an already existing WITH_ZCHUNK block?

Copy link
Author

Choose a reason for hiding this comment

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

done

ppisar added a commit to ppisar/ci-dnf-stack that referenced this pull request Oct 7, 2024
Executing a pull request test from a branch with upper case letters
ended up with this error:

        Command '/var/ARTIFACTS/work-behave-createrepo_crye9wxe5/plans/integration/behave-createrepo_c/tree/tmt-prepare-wrapper.sh-Build-testing-container-default-0' returned 1.

        stderr (2 lines)
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        Error: tag container-test-unistd-for-STDOUT_FILENO-master: invalid reference format: repository name must be lowercase
        Error: Failed to build the container.
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The cause was that -c argument of container-test script was built from
a "container-test-unistd-for-STDOUT_FILENO" branch name. The
container-test -c value is then directly passed as an image identifier
to podman build and podman run commands. Problem is that podman, as
well as docker, does not allow upper-case characters in the OCI
identifier.

I wanted to circumvent it in the container-test script, to have a fix
at one place. But one can pass a tag name there (foo/bar:tag) and the
tag is handled case sensitively by docker.

So this patch fixes it on the invocation side.

NOTE: I could not really test it. I only tried a prepare phase of
locally run TMT and it correctly transliterated the branch names. You
should be able to fix by rerunning tests for
<rpm-software-management/createrepo_c#439>.
kontura pushed a commit to rpm-software-management/ci-dnf-stack that referenced this pull request Oct 10, 2024
Executing a pull request test from a branch with upper case letters
ended up with this error:

        Command '/var/ARTIFACTS/work-behave-createrepo_crye9wxe5/plans/integration/behave-createrepo_c/tree/tmt-prepare-wrapper.sh-Build-testing-container-default-0' returned 1.

        stderr (2 lines)
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        Error: tag container-test-unistd-for-STDOUT_FILENO-master: invalid reference format: repository name must be lowercase
        Error: Failed to build the container.
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The cause was that -c argument of container-test script was built from
a "container-test-unistd-for-STDOUT_FILENO" branch name. The
container-test -c value is then directly passed as an image identifier
to podman build and podman run commands. Problem is that podman, as
well as docker, does not allow upper-case characters in the OCI
identifier.

I wanted to circumvent it in the container-test script, to have a fix
at one place. But one can pass a tag name there (foo/bar:tag) and the
tag is handled case sensitively by docker.

So this patch fixes it on the invocation side.

NOTE: I could not really test it. I only tried a prepare phase of
locally run TMT and it correctly transliterated the branch names. You
should be able to fix by rerunning tests for
<rpm-software-management/createrepo_c#439>.
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.

2 participants