Skip to content

Port to EL 6 and 8#2

Merged
ayanimea merged 54 commits into
masterfrom
feature-alma8
Mar 8, 2026
Merged

Port to EL 6 and 8#2
ayanimea merged 54 commits into
masterfrom
feature-alma8

Conversation

@ayanimea
Copy link
Copy Markdown
Owner

@ayanimea ayanimea commented Mar 7, 2026

This pull request introduces two new GitHub Actions workflows for building and packaging on Enterprise Linux 6 and 8, and updates the INSTALL documentation to clarify and modernize installation instructions. The workflows automate the build, test, and RPM packaging processes for both EL6 and EL8, ensuring compatibility and simplifying CI/CD for these environments. The documentation update brings the installation instructions in line with current GNU standards and practices.

CI/CD workflow additions:

  • Added .github/workflows/el6.yml to automate build, test, and RPM packaging for both x86_64 and i686 architectures on Enterprise Linux 6 using CentOS 6 containers, including handling EOL repository setup and artifact upload.
  • Added .github/workflows/el8.yml to automate build, test, and RPM packaging for Enterprise Linux 8 using AlmaLinux 8 containers, including PowerTools enablement and artifact upload.

Documentation improvements:

  • Updated INSTALL to clarify installation steps, modernize instructions, and align with GNU conventions, including details on optional targets like installcheck, uninstall, and distcheck, and revised copyright and distribution terms.

Copilot AI and others added 30 commits March 4, 2026 21:17
Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
…e_record_replay declaration

Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
…rrors; add extern to cnee_options; add .gitignore

Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
… Makefile.cvs invocation

Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
….h, config.h.in)

Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
…nore for test binaries

Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
…ST, add transitive X11 static deps

Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
… to .gitignore

Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
…mic linking

Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
….info)

Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
…te RPM on AlmaLinux 8

Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
…lect SRPM

Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
…ote shell vars

Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
…in on x86_64

Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
… Xvfb in CI

Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
…kflow

Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
The test -S check was incorrectly using the lock file path
(/tmp/.X${_d}-lock) for a socket test. X11 lock files are regular
files; the Unix socket lives at /tmp/.X11-unix/X${_d}. Update the
check to test the actual socket path so the condition is meaningful.

Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
- build/SPECS/cnee-el6.spec: EL6-compatible spec
  - License: GPLv2+ (EL6 RPM doesn't accept SPDX expressions)
  - make %{?_smp_mflags} instead of %make_build (not on EL6)
  - make install DESTDIR= instead of %make_install (not on EL6)
  - %doc COPYING instead of %license (no %license macro on EL6)
- .github/workflows/el6.yml: EL6 workflow
  - centos:6 container; vault repos configured (CentOS 6 EOL)
  - yum instead of dnf; no PowerTools enablement needed
  - No Xvfb (e2e test script skips Group 9 gracefully when absent)
  - git config safe.directory uses || true for git 1.7 compat

Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
- Drop `container: centos:6` at job level; checkout runs on Ubuntu host
  (Node 20 needs glibc >=2.17; CentOS 6 ships 2.12 — this was the
  root cause of the checkout failure)
- All CentOS 6 work moved to explicit `docker run centos:6` steps
- Fix vault repo URLs: switch from HTTP to HTTPS (HTTP returns 403)
- Use `printf '%s\\n'` for repo file to avoid YAML-breaking nested
  heredoc (YAML parser rejects `[base]` at column 0 inside a block
  scalar)
- Add `strategy.matrix: {arch: [x86_64, i686]}` to build both arches
- i686 leg: install libgcc.i686 + multilib headers, create
  i686-redhat-linux-gnu-gcc wrapper (exec gcc -m32), configure with
  --host=i686-redhat-linux-gnu, rpmbuild with _host/_target_cpu defines
- Artifact names: cnee-el6-x86_64-rpm and cnee-el6-i686-rpm
- gitignore: add *.rpm and doc/stamp-vti (generated files)
- Remove accidentally-committed build artifacts (RPMs, stamp-vti)

Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
…cation

The 18-line printf block that writes the HTTPS vault repo config was
duplicated nearly verbatim in the "Build and test" and "Build RPM"
container steps.

Add a "Write shared CentOS 6 vault repo helper" step that writes
$RUNNER_TEMP/setup-el6-repos.sh once on the Ubuntu host. This file
defines setup_centos6_vault_repos() with the full printf config block.
Both container steps now source the helper via ". /setup-el6-repos.sh"
(mounted read-only at /setup-el6-repos.sh) and call the function, so
the vault URL configuration only lives in a single place.

Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
@ayanimea
Copy link
Copy Markdown
Owner Author

ayanimea commented Mar 8, 2026

@copilot open a new pull request to apply changes based on the comments in this thread

Copy link
Copy Markdown

Copilot AI commented Mar 8, 2026

@ayanimea I've opened a new pull request, #6, to work on those changes. Once the pull request is ready, I'll request review from you.

Copilot AI and others added 2 commits March 8, 2026 14:19
…files

Makefile.cvs uses perl to patch the generated configure script.
Add perl to all relevant yum/dnf install lists and RPM BuildRequires
to ensure builds work in minimal buildroots without relying on perl
being present implicitly.

Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
Add perl as explicit build dependency in EL6/EL8 workflows and spec files
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 27 out of 28 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread doc/Makefile.gdoc
Comment on lines +1 to +2
gdoc_MANS =
gdoc_TEXINFOS =
Copy link

Copilot AI Mar 8, 2026

Choose a reason for hiding this comment

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

This new makefile fragment appears unused: a repo-wide search finds no references to Makefile.gdoc, gdoc_MANS, or gdoc_TEXINFOS. If it’s not intended to be included from another Makefile.am, consider removing it to avoid dead build files, or wire it into the doc build so it has an effect.

Suggested change
gdoc_MANS =
gdoc_TEXINFOS =
# doc/Makefile.gdoc
# This file is intentionally left as a no-op.
# Any previous gdoc-specific make variables (gdoc_MANS, gdoc_TEXINFOS, etc.)
# have been removed because they were unused and not referenced by the build.

Copilot uses AI. Check for mistakes.
Comment thread cnee/src/cnee_demo.c Outdated

#define CNEE_DEMO_DELAYED_START 3
xnee_option_t *cnee_options ;
extern xnee_option_t *cnee_options ;
Copy link

Copilot AI Mar 8, 2026

Choose a reason for hiding this comment

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

This file redeclares cnee_options locally. Since cnee/include/cnee.h already declares extern xnee_option_t *cnee_options;, prefer including that header here and dropping the local extern to avoid duplicate declarations drifting out of sync.

Copilot uses AI. Check for mistakes.
@ayanimea
Copy link
Copy Markdown
Owner Author

ayanimea commented Mar 8, 2026

@copilot open a new pull request to apply changes based on the comments in this thread

Copy link
Copy Markdown

Copilot AI commented Mar 8, 2026

@ayanimea I've opened a new pull request, #7, to work on those changes. Once the pull request is ready, I'll request review from you.

Copilot AI and others added 3 commits March 8, 2026 14:36
Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Fix duplicate extern declaration in cnee_demo.c and document Makefile.gdoc no-op intent
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 27 out of 28 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread tests/e2e_cnee.sh Outdated
Comment on lines +114 to +118
assert_output_contains "cnee --version prints 'xnee'" "xnee" "$CNEE" --version
assert_output_contains "cnee --version prints a version number" "[0-9]\.[0-9]" "$CNEE" --version

assert_exit_zero "cnee -V (short) exits 0" "$CNEE" -V
assert_output_contains "cnee -V prints same output as --version" "xnee" "$CNEE" -V
Copy link

Copilot AI Mar 8, 2026

Choose a reason for hiding this comment

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

The --version output comes from xnee_version() and prints PACKAGE (currently Xnee) with a capital X. These assertions look for lowercase xnee, so they will fail on case-sensitive grep. Consider matching Xnee\|xnee (your helper already converts \| to |), using grep -Ei, or updating the expected substring to Xnee.

Suggested change
assert_output_contains "cnee --version prints 'xnee'" "xnee" "$CNEE" --version
assert_output_contains "cnee --version prints a version number" "[0-9]\.[0-9]" "$CNEE" --version
assert_exit_zero "cnee -V (short) exits 0" "$CNEE" -V
assert_output_contains "cnee -V prints same output as --version" "xnee" "$CNEE" -V
assert_output_contains "cnee --version prints 'xnee'" "Xnee\\|xnee" "$CNEE" --version
assert_output_contains "cnee --version prints a version number" "[0-9]\.[0-9]" "$CNEE" --version
assert_exit_zero "cnee -V (short) exits 0" "$CNEE" -V
assert_output_contains "cnee -V prints same output as --version" "Xnee\\|xnee" "$CNEE" -V

Copilot uses AI. Check for mistakes.
Comment thread cnee/src/Makefile.am Outdated
Comment on lines +94 to +96
./$(CNEE)$(EXEEXT) --texipage > cnee.texinfo
@echo "Generating info file from cnee.texi"
$(MAKEINFO) cnee.info
@echo "Generating info file from cnee.texinfo"
$(MAKEINFO) cnee.texinfo
Copy link

Copilot AI Mar 8, 2026

Choose a reason for hiding this comment

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

make -C cnee/src man generates cnee.texinfo (and now runs makeinfo on it), but CLEAN_FILES only lists cnee.info cnee.texi. This leaves cnee.texinfo behind after make clean and makes the generated-texinfo filenames inconsistent (cnee.texi vs cnee.texinfo). Consider standardizing on one filename and adding the generated file(s) to CLEAN_FILES so they are cleaned reliably.

Copilot uses AI. Check for mistakes.
@ayanimea
Copy link
Copy Markdown
Owner Author

ayanimea commented Mar 8, 2026

@copilot open a new pull request to apply changes based on the comments in this thread

Copy link
Copy Markdown

Copilot AI commented Mar 8, 2026

@ayanimea I've opened a new pull request, #8, to work on those changes. Once the pull request is ready, I'll request review from you.

…nconsistency

Co-authored-by: ayanimea <13433370+ayanimea@users.noreply.github.com>
Fix version assertion case sensitivity and Makefile.am texinfo filename inconsistency
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 27 out of 28 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@ayanimea ayanimea merged commit f423b4a into master Mar 8, 2026
6 checks passed
@ayanimea ayanimea deleted the feature-alma8 branch March 8, 2026 15:56
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.

3 participants