@@ -313,16 +313,21 @@ NOTE: For Jenkins agents, also need to `apt-get install openjdk-21-jdk-headless`
313313You may have to ensure that `/proc` is mounted in the target chroot
314314(or do this from the running container).
315315
316- CentOS 6 and 7
317- ~~~~~~~~~~~~~~
316+ CentOS 6 and 7, Fedora 43
317+ ~~~~~~~~~~~~~~~~~~~~~~~~~
318318
319319CentOS is another popular baseline among Linux distributions, being a free
320320derivative of the RedHat Linux, upon which many other distros are based as
321321well. These systems typically use the RPM package manager, using directly
322322`rpm` command, or `yum` or `dnf` front-ends depending on their generation.
323323
324+ In fact, most of the instructions directly apply to much newer distributions
325+ like Fedora 43.
326+
324327For CI farm container setup, prepared root filesystem archives from
325328http://download.proxmox.com/images/system/ worked sufficiently well.
329+ For Fedora, https://images.linuxcontainers.org/images/fedora/43/amd64/default
330+ nightly image was used.
326331
327332Prepare CentOS repository mirrors
328333^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -388,6 +393,7 @@ enable it:
388393:; yum install \
389394 openssh-server openssh-clients
390395
396+ # On CentOS 6/7:
391397:; chkconfig sshd on
392398:; service sshd start
393399
@@ -400,8 +406,8 @@ NOTE: Below we request to install generic `python` per system defaults.
400406You may request specifically `python2` or `python3` (or both): current
401407NUT should be compatible with both (2.7+ at least).
402408
403- NOTE: On CentOS, `libusb` means 0.1.x and `libusbx` means 1.x.x API version
404- (latter is not available for CentOS 6).
409+ NOTE: On CentOS, `libusb` means 0.1.x (not available on modern Fedora),
410+ and `libusbx` means 1.x.x API version (latter is not available for CentOS 6).
405411
406412NOTE: On CentOS, it seems that development against libi2c/smbus is not
407413supported. Neither the suitable devel packages were found, nor i2c-based
@@ -435,6 +441,8 @@ drivers in distro packaging of NUT. Resolution and doc PRs are welcome.
435441# You can find a list of what is (pre-)installed with:
436442# :; rpm -qa | grep -Ei 'perl|python'
437443# Note that CentOS 6 includes python-2.6.x and does not serve newer versions
444+ # For Fedora 43, further packages can be installed to test more:
445+ # :; yum install python3-qt5 python3-setuptools
438446
439447# For spell-checking, highly recommended if you would propose pull requests:
440448:; yum install \
@@ -445,6 +453,10 @@ drivers in distro packaging of NUT. Resolution and doc PRs are welcome.
445453:; yum install \
446454 asciidoc source-highlight python-pygments dblatex
447455
456+ # For PDF generation, you may need explicitly (at least on Fedora 43):
457+ :; yum install \
458+ texlive 'tex(upquote.sty)'
459+
448460# For CGI graph generation - massive packages (X11):
449461:; yum install \
450462 gd-devel
@@ -454,34 +466,57 @@ drivers in distro packaging of NUT. Resolution and doc PRs are welcome.
454466 systemd-devel
455467
456468# NOTE: "libusbx" is the CentOS way of naming "libusb-1.0" (not in CentOS 6)
457- # vs. the older "libusb" as the package with "libusb-0.1"
469+ # vs. the older "libusb" as the package with "libusb-0.1" (not in recent Fedora)
470+ :; yum install \
471+ libusb-devel
472+
473+ :; yum install \
474+ libusbx-devel
475+
458476:; yum install \
459477 cppunit-devel \
460478 openssl-devel nss-devel \
461479 augeas augeas-devel \
462- libusb-devel libusbx-devel \
463480 glib2-devel \
464481 i2c-tools \
465482 libmodbus-devel \
466483 net-snmp-devel \
467- powerman-devel \
468484 freeipmi-devel \
469485 avahi-devel \
470486 neon-devel
487+
488+ # Not in recent Fedora releases:
489+ :; yum install \
490+ powerman-devel
491+
492+ # Not in CentOS, some present in Fedora:
471493#?# is python-augeas needed? exists at least...
472494#?# no (lib)i2c-devel ...
473495#?# no (lib)ipmimonitoring-devel ... would "freeipmi-ipmidetectd"
474496#?# cut it at least for run-time?
475497#?# no (lib)gpio(d)-devel - starts with CentOS 8 (or extra repositories
476498#?# for later minor releases of CentOS 7)
477499
500+ # In Fedora:
501+ :; yum install \
502+ libi2c-devel \
503+ libgpiod-devel
504+
478505# Some NUT code related to lua may be currently limited to lua-5.1
479506# or possibly 5.2; the former is default in CentOS 7 releases...
480507:; yum install \
481508 lua-devel
482509
483510:; yum install \
484511 bash dash ksh
512+
513+ # If available:
514+ :; yum install \
515+ bash-completion
516+
517+ # In Fedora:
518+ :; yum install \
519+ busybox
485520------
486521
487522NOTE: `busybox` is not packaged for CentOS 7 release; a static binary can
@@ -499,8 +534,15 @@ other described environments by adding a symlink `/usr/lib/ccache`:
499534======
500535For Jenkins agents, also need to install JDK 17 or newer, which is not
501536available for CentOS 6 nor 7 directly (in distribution packaging).
502- Alternative packaging, such as Temurin from the Adoptium project, is possible
503- (checked for at least CentOS 7), see
537+
538+ In Fedora e.g.:
539+ ------
540+ :; yum install \
541+ java-21-openjdk-headless
542+ ------
543+
544+ Alternative packaging for older distros, such as Temurin from the Adoptium
545+ project, is possible (checked for at least CentOS 7), see
504546link:https://adoptium.net/installation/linux/#_centosrhelfedora_instructions[their
505547instructions] for specific details. This may require updated library package
506548versions as dependencies from the OS distribution, so you may also have to make
0 commit comments