This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 3.x development tree".
The branch, master has been updated via f6f03dfafc4bc31f540d5a4a5961bac0e799f1ba (commit) via 93282f4ce864e235442f44313a6eb6f47e8e3bc6 (commit) via b77907eab7d3e2c1fe24de7b2130090e8ed19247 (commit) via f0e7b19e7b34d5e8139a1fc4140f6db6e359a609 (commit) via 050acc6dd5ffced4832bacb996bbbf4c9372c7b3 (commit) via 7846dc81492d8ac3ee8dbcbd74122c8effa18cec (commit) via 03ed32f92d2845639b3dd1a84b3ccf54463c0da2 (commit) via d1ee2bc94156a43093f9e41d8cad8fa6d67cdeb0 (commit) via a0d1d4080ea3835d3a892519c866f273c282f0c5 (commit) via b487f174deba455d209573b5166b116a3c5bb58e (commit) via abe30543ae87e0362448c727796d4fb16286dc82 (commit) via e46dcfb7c7bd3b29cf2d081b009a33047e168667 (commit) via db9c9155e59df2759307648324155c7c3f61d022 (commit) via 6a27b792f81ffa9e6dcadcbb5ae8c9e128aeddea (commit) via ed65894e4b17663d83422c9b226e2504f88173e6 (commit) via 17283c115b2b45550c9750d48e43e564f0ecdb39 (commit) via c612c8691d18810acb762046667deb6c766a646f (commit) via 02f537631d58d113eb6d74f2dcbdae9993cdc885 (commit) via 0139b9fbb47795b5bcd560fa21e0b2242dedcc3a (commit) via 12166f07055b65f84e1f8be39083096c6a6dc51e (commit) via dc7618779eb160fa3cd63428d0d8b609f6705ec5 (commit) via 505f0896436dd299d45aa800d124b14f91387c0b (commit) via 5dab39e1239c1c8e2f7afdcab8821891b855d973 (commit) via 0f413868b23f2f0bbb529a36ef90e7d849b17399 (commit) via 5e991b6cfcf753fd2efcc6343b2f5a149ae0292e (commit) via 7f6ed168ee1ccfaa464d4e117234c2bfeaa427e6 (commit) via 4b119141e79e0843f49a4eef3e6c1a1f8c88781f (commit) via 0afa70be91b501e422af1045423d29e6af01fc55 (commit) via 011732f5a17cb031826578a32eb8d91edf820c23 (commit) via 4db644eb326bee05f031232d227f646fc8d7c241 (commit) via 50ab55699d3e0d175660e30a14cd4b20c5b21769 (commit) via b132f6e9ab88e42a3ba130a660ed0a1d05e10d8b (commit) via 822140fc06bef63bf61a0a50372097389fd4cd3f (commit) via 67ad1883ac1d44fb50f521ae65ffb3c13b4bba02 (commit) via 65dc2158afd0591e2da310f66fe04c77fb710542 (commit) via d8b3c708ea17d71b1800abc66067c7619042838f (commit) via 4e4d55d9f206300b091ddfcff27b249e39e3a2a6 (commit) via 5eaa74b9ba40acc7ce21ab4990ee7d208411e251 (commit) via bef600c45bd2592db25c521b6448ee8ff667aa7b (commit) via 50de9d047b13f1223eab77d423bcc10b51947a97 (commit) via 1417c01ff22aca4710034ad66afea6df58669835 (commit) via 6ba8bbb501492d039fad3e30bc6b82cd4bb4c4c4 (commit) via 85c000c4bfd3984fe280bd1e0776afb26df69e3d (commit) via e93e68b896ff70c924f65388dc86762e5369adf3 (commit) via 724e4665d96f728792b3c16a4eff08a598023e95 (commit) via 634e035d4dda1f5ae69009e45c7864c7ae8a9c28 (commit) via d4de6d2e5a33e2cdd3c61c3119ece9ed9f706bbc (commit) via 16877482d92b36ba51b83158b219942ecb153bb2 (commit) via 5c77920b8e8dc5b4e9f85bfade689281202cc300 (commit) via 243956e4ee58619f117a1a9cc88401101b1f4243 (commit) via 675b8c7f7f8d393e159e17c2eb2c1dec5da0f6cd (commit) via 3955616bfecd7533b023b2734d890226126af44f (commit) via 9e14af4cb87975b5462d852f8b908596ae734816 (commit) via 83632c81ec7000ab6bb94dc63a8495ce30d9089c (commit) via d31f3a07b6903e85fd95076ffb5d44d5c05e2d6b (commit) from f57a528060244ef159467d3ba671f5a360ee450d (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit f6f03dfafc4bc31f540d5a4a5961bac0e799f1ba Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Jan 8 13:47:14 2023 +0000
bwm-ng: Update to 0.6.3
This patch also drops a dependency to libstatgrab.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 93282f4ce864e235442f44313a6eb6f47e8e3bc6 Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Jan 8 13:47:05 2023 +0000
libstatgrab: Drop package
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit b77907eab7d3e2c1fe24de7b2130090e8ed19247 Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Jan 8 13:36:51 2023 +0000
dbus-glib: Update to 0.112
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit f0e7b19e7b34d5e8139a1fc4140f6db6e359a609 Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Jan 8 13:33:27 2023 +0000
eggdbus: Drop package
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 050acc6dd5ffced4832bacb996bbbf4c9372c7b3 Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Jan 8 12:15:10 2023 +0000
kernel: Disable the entire RC subsystem
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 7846dc81492d8ac3ee8dbcbd74122c8effa18cec Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Jan 8 12:13:56 2023 +0000
kernel: Enable support for Annapura Labs Alpine platform
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 03ed32f92d2845639b3dd1a84b3ccf54463c0da2 Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Jan 8 12:09:41 2023 +0000
kernel: Disable any unvetted ciphers/hashes
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit d1ee2bc94156a43093f9e41d8cad8fa6d67cdeb0 Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Jan 8 11:54:45 2023 +0000
kernel: Update to 6.1.4
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit a0d1d4080ea3835d3a892519c866f273c282f0c5 Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Jan 8 11:37:59 2023 +0000
yajl: New package
Required by libvirt
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit b487f174deba455d209573b5166b116a3c5bb58e Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Jan 8 11:36:18 2023 +0000
libvirt: Update to 8.10.0
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit abe30543ae87e0362448c727796d4fb16286dc82 Author: Stefan Schantl stefan.schantl@ipfire.org Date: Fri Jan 6 08:18:23 2023 +0100
python3-docutils: New package.
Signed-off-by: Stefan Schantl stefan.schantl@ipfire.org Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit e46dcfb7c7bd3b29cf2d081b009a33047e168667 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Jan 7 11:28:56 2023 +0000
wavemon: Drop package
This does not compile any more.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit db9c9155e59df2759307648324155c7c3f61d022 Author: Michael Tremer michael.tremer@ipfire.org Date: Fri Jan 6 14:54:31 2023 +0000
kernel: Set all options as systemd wants them
This aligns our kernel configuration to what systemd requires: https://git.ipfire.org/?p=thirdparty/systemd.git;a=blob;f=README;hb=ea575e17...
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 6a27b792f81ffa9e6dcadcbb5ae8c9e128aeddea Author: Michael Tremer michael.tremer@ipfire.org Date: Fri Jan 6 11:03:04 2023 +0000
dracut: Update to 056
This patch also moves various files to the right place where dracut will actually find them.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit ed65894e4b17663d83422c9b226e2504f88173e6 Author: Michael Tremer michael.tremer@ipfire.org Date: Thu Jan 5 18:46:00 2023 +0000
readline: Fix SEGV when no locales could be loaded
This caused bash to segfault straight away in the initramdisk.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 17283c115b2b45550c9750d48e43e564f0ecdb39 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 12:04:14 2022 +0000
kernel: Enable Framebuffer emulation layer for DRM
This will allow the kernel to use the DRM subsystem to render the graphical console.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit c612c8691d18810acb762046667deb6c766a646f Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 11:58:14 2022 +0000
opensp: Update the source URL
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 02f537631d58d113eb6d74f2dcbdae9993cdc885 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 11:42:05 2022 +0000
openjade: Update download URL
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 0139b9fbb47795b5bcd560fa21e0b2242dedcc3a Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 11:34:04 2022 +0000
ghostscript: Update to 10.0.0
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 12166f07055b65f84e1f8be39083096c6a6dc51e Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 11:33:51 2022 +0000
openjpeg2: New package
Required by Ghostscript.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit dc7618779eb160fa3cd63428d0d8b609f6705ec5 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 11:33:33 2022 +0000
jbig2dec: New package
Required by Ghostscript.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 505f0896436dd299d45aa800d124b14f91387c0b Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 11:32:38 2022 +0000
cups: Update to 2.3.6
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 5dab39e1239c1c8e2f7afdcab8821891b855d973 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 10:10:05 2022 +0000
elinks: Update to 0.16.0
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 0f413868b23f2f0bbb529a36ef90e7d849b17399 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 09:56:22 2022 +0000
libnet: Drop package
Nothing depends on this
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 5e991b6cfcf753fd2efcc6343b2f5a149ae0292e Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 09:55:34 2022 +0000
iw: Update to 5.9
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 7f6ed168ee1ccfaa464d4e117234c2bfeaa427e6 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 09:46:22 2022 +0000
nano: Update to 7.1
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 4b119141e79e0843f49a4eef3e6c1a1f8c88781f Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 09:20:02 2022 +0000
screen: Update to 4.9.0
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 0afa70be91b501e422af1045423d29e6af01fc55 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 09:18:36 2022 +0000
lcms2: Update to 2.14
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 011732f5a17cb031826578a32eb8d91edf820c23 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 09:00:29 2022 +0000
tcl: Update 8.6.13
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 4db644eb326bee05f031232d227f646fc8d7c241 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 08:59:29 2022 +0000
cyrus-sasl: Use GDBM as backend instead of Berkeley DB
The latter seems to have loads of licensing issues.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 50ab55699d3e0d175660e30a14cd4b20c5b21769 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 08:53:35 2022 +0000
libepoxy: Drop package
Nothing uses this.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit b132f6e9ab88e42a3ba130a660ed0a1d05e10d8b Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 08:52:55 2022 +0000
procps-ng: Update to 4.0.2
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 822140fc06bef63bf61a0a50372097389fd4cd3f Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 08:46:57 2022 +0000
sg3-utils: Drop package
Nothing requires this.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 67ad1883ac1d44fb50f521ae65ffb3c13b4bba02 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 08:46:05 2022 +0000
paxtest: Drop package
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 65dc2158afd0591e2da310f66fe04c77fb710542 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 08:45:37 2022 +0000
libdaemon: Add source URL
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit d8b3c708ea17d71b1800abc66067c7619042838f Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 08:42:24 2022 +0000
lldpd: Update to 1.0.16
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 4e4d55d9f206300b091ddfcff27b249e39e3a2a6 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 08:41:51 2022 +0000
libevent: Update to 2.1.12
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 5eaa74b9ba40acc7ce21ab4990ee7d208411e251 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 08:06:37 2022 +0000
libusb-compat: Drop package
Nothing requires this any more.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit bef600c45bd2592db25c521b6448ee8ff667aa7b Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 08:06:09 2022 +0000
gc: Drop package
This used to be required by guile only
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 50de9d047b13f1223eab77d423bcc10b51947a97 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 08:05:11 2022 +0000
gperf: Update to 3.1
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 1417c01ff22aca4710034ad66afea6df58669835 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 07:54:52 2022 +0000
sysfsutils: Drop package
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 6ba8bbb501492d039fad3e30bc6b82cd4bb4c4c4 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 07:54:33 2022 +0000
lm-sensors: Update to 3.6.0
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 85c000c4bfd3984fe280bd1e0776afb26df69e3d Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 07:53:58 2022 +0000
guile: Drop package
Nothing requires this.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit e93e68b896ff70c924f65388dc86762e5369adf3 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 07:45:52 2022 +0000
usb-modeswitch: Update to 2.6.0
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 724e4665d96f728792b3c16a4eff08a598023e95 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 07:43:38 2022 +0000
bc: Update to 1.07.1
The 1.07 makes the kernel build hang indefinitely.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 634e035d4dda1f5ae69009e45c7864c7ae8a9c28 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 07:42:19 2022 +0000
usb-modeswitch-data: Update to 20191128
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit d4de6d2e5a33e2cdd3c61c3119ece9ed9f706bbc Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 07:08:42 2022 +0000
flashrom: Update to 1.2
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 16877482d92b36ba51b83158b219942ecb153bb2 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 07:08:15 2022 +0000
sysvinit: Drop package
This only ships killall5 which we don't use.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 5c77920b8e8dc5b4e9f85bfade689281202cc300 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 07:06:43 2022 +0000
dtc: Update to 1.6.1
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 243956e4ee58619f117a1a9cc88401101b1f4243 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 07:00:59 2022 +0000
libusb-compat: Update to 0.1.8
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 675b8c7f7f8d393e159e17c2eb2c1dec5da0f6cd Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 06:52:11 2022 +0000
nasm: Update to 2.16.01
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 3955616bfecd7533b023b2734d890226126af44f Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 06:50:30 2022 +0000
libusb: Update to 1.0.26
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 9e14af4cb87975b5462d852f8b908596ae734816 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 06:45:02 2022 +0000
rsync: Update to 3.2.7
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 83632c81ec7000ab6bb94dc63a8495ce30d9089c Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 31 06:44:35 2022 +0000
dhcp: Update to 4.4.3-P1
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit d31f3a07b6903e85fd95076ffb5d44d5c05e2d6b Author: Michael Tremer michael.tremer@ipfire.org Date: Fri Dec 30 19:29:49 2022 +0000
bind: Update to 9.18.10
This patch drops named which we don't use and only provides a package with dig, host, and nslookup.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
-----------------------------------------------------------------------
Summary of changes: bc/bc.nm | 11 +- bind/bind.nm | 147 +- bind/patches/bind97-exportlib.patch | 226 - bind/patches/bind99-dont-build-bin.patch | 13 - bwm-ng/bwm-ng.nm | 16 +- bwm-ng/patches/6a2087db.patch | 9534 ++++++++++++++++++++ compat-guile/compat-guile.nm | 72 - cups/cups.nm | 39 +- cups/systemd/cups.service | 15 - cyrus-sasl/cyrus-sasl.nm | 4 +- dbus-glib/dbus-glib.nm | 11 +- dhcp/dhcp.nm | 53 +- dhcp/patches/0001-change-bug-url.patch | 77 - .../patches/0002-additional-dhclient-options.patch | 467 - ...leasing-interfaces-requested-by-sbin-ifup.patch | 98 - ...cast-BOOTP-for-IBM-pSeries-systems-and-ma.patch | 117 - .../0005-Change-default-requested-options.patch | 59 - .../patches/0006-Various-man-page-only-fixes.patch | 167 - ...-Change-paths-to-conform-to-our-standards.patch | 53 - ...ll-open-file-descriptors-are-closed-on-ex.patch | 366 - .../0009-Fix-garbage-in-format-string-error.patch | 26 - dhcp/patches/0010-Handle-null-timeout.patch | 31 - .../0011-Drop-unnecessary-capabilities.patch | 277 - ...assless-Static-Route-Option-for-DHCPv4-51.patch | 438 - .../0013-DHCPv6-over-PPP-support-626514.patch | 175 - dhcp/patches/0014-IPoIB-support-660681.patch | 600 -- .../0015-Add-GUID-DUID-to-dhcpd-logs-1064416.patch | 331 - .../0016-Turn-on-creating-sending-of-DUID.patch | 125 - ...ast-request-release-via-correct-interface.patch | 76 - ...eclaration-for-iface-should-be-info-not-e.patch | 62 - ...ite-DUID_LLT-even-in-stateless-mode-11563.patch | 28 - ...Discover-all-hwaddress-for-xid-uniqueness.patch | 100 - ...21-Load-leases-DB-in-non-replay-mode-only.patch | 50 - ...-notify-patch-for-systemd-support-1687040.patch | 96 - dracut/dracut.nm | 50 +- dtc/dtc.nm | 31 +- dtc/patches/dtc-check.patch | 65 - dtc/patches/dtc-flattree.patch | 52 - eggdbus/eggdbus.nm | 45 - elinks/elinks.nm | 29 +- flashrom/flashrom.nm | 4 +- gc/gc.nm | 68 - ghostscript/ghostscript.nm | 44 +- gperf/gperf.nm | 13 +- guile/guile.nm | 62 - iw/iw.nm | 6 +- jbig2dec/jbig2dec.nm | 50 + kernel/config-aarch64-generic | 117 +- kernel/config-generic | 322 +- kernel/config-x86_64-generic | 94 +- kernel/kernel.nm | 2 +- lcms2/lcms2.nm | 13 +- libdaemon/libdaemon.nm | 13 +- libepoxy/libepoxy.nm | 44 - libevent/libevent.nm | 14 +- libnet/libnet.nm | 37 - libstatgrab/libstatgrab.nm | 41 - libusb-compat/libusb-compat.nm | 55 - libusb/libusb.nm | 8 +- libvirt/libvirt.nm | 123 +- lldpd/lldpd.nm | 9 +- lm-sensors/lm-sensors.nm | 41 +- nano/nano.nm | 6 +- nasm/nasm.nm | 12 +- openjade/openjade.nm | 10 +- zstd/zstd.nm => openjpeg2/openjpeg2.nm | 38 +- opensp/opensp.nm | 10 +- paxtest/paxtest.nm | 56 - procps-ng/procps-ng.nm | 10 +- python3-docutils/python3-docutils.nm | 57 + readline/readline.nm | 2 +- rsync/rsync.nm | 87 +- rsync/rsyncd.conf | 20 - rsync/systemd/rsyncd.service | 9 - rsync/systemd/rsyncd.socket | 10 - rsync/systemd/rsyncd@.service | 7 - screen/screen.nm | 12 +- sg3-utils/sg3-utils.nm | 42 - .../patches/sysvinit-2.86-remove-utils-1.patch | 87 - sysvinit/sysvinit.nm | 54 - tcl/patches/tcl-8.5.1-autopath.patch | 53 - tcl/patches/tcl-8.5.10-conf.patch | 26 - tcl/patches/tcl-8.5.9-hidden.patch | 33 - tcl/tcl.nm | 59 +- usb-modeswitch-data/usb-modeswitch-data.nm | 14 +- usb-modeswitch/usb-modeswitch.nm | 21 +- wavemon/wavemon.nm | 43 - sysfsutils/sysfsutils.nm => yajl/yajl.nm | 26 +- 88 files changed, 10356 insertions(+), 5860 deletions(-) delete mode 100644 bind/patches/bind97-exportlib.patch delete mode 100644 bind/patches/bind99-dont-build-bin.patch create mode 100644 bwm-ng/patches/6a2087db.patch delete mode 100644 compat-guile/compat-guile.nm delete mode 100644 cups/systemd/cups.service delete mode 100644 dhcp/patches/0001-change-bug-url.patch delete mode 100644 dhcp/patches/0002-additional-dhclient-options.patch delete mode 100644 dhcp/patches/0003-Handle-releasing-interfaces-requested-by-sbin-ifup.patch delete mode 100644 dhcp/patches/0004-Support-unicast-BOOTP-for-IBM-pSeries-systems-and-ma.patch delete mode 100644 dhcp/patches/0005-Change-default-requested-options.patch delete mode 100644 dhcp/patches/0006-Various-man-page-only-fixes.patch delete mode 100644 dhcp/patches/0007-Change-paths-to-conform-to-our-standards.patch delete mode 100644 dhcp/patches/0008-Make-sure-all-open-file-descriptors-are-closed-on-ex.patch delete mode 100644 dhcp/patches/0009-Fix-garbage-in-format-string-error.patch delete mode 100644 dhcp/patches/0010-Handle-null-timeout.patch delete mode 100644 dhcp/patches/0011-Drop-unnecessary-capabilities.patch delete mode 100644 dhcp/patches/0012-RFC-3442-Classless-Static-Route-Option-for-DHCPv4-51.patch delete mode 100644 dhcp/patches/0013-DHCPv6-over-PPP-support-626514.patch delete mode 100644 dhcp/patches/0014-IPoIB-support-660681.patch delete mode 100644 dhcp/patches/0015-Add-GUID-DUID-to-dhcpd-logs-1064416.patch delete mode 100644 dhcp/patches/0016-Turn-on-creating-sending-of-DUID.patch delete mode 100644 dhcp/patches/0017-Send-unicast-request-release-via-correct-interface.patch delete mode 100644 dhcp/patches/0018-No-subnet-declaration-for-iface-should-be-info-not-e.patch delete mode 100644 dhcp/patches/0019-dhclient-write-DUID_LLT-even-in-stateless-mode-11563.patch delete mode 100644 dhcp/patches/0020-Discover-all-hwaddress-for-xid-uniqueness.patch delete mode 100644 dhcp/patches/0021-Load-leases-DB-in-non-replay-mode-only.patch delete mode 100644 dhcp/patches/0022-Backport-sd-notify-patch-for-systemd-support-1687040.patch delete mode 100644 dtc/patches/dtc-check.patch delete mode 100644 dtc/patches/dtc-flattree.patch delete mode 100644 eggdbus/eggdbus.nm delete mode 100644 gc/gc.nm delete mode 100644 guile/guile.nm create mode 100644 jbig2dec/jbig2dec.nm delete mode 100644 libepoxy/libepoxy.nm delete mode 100644 libnet/libnet.nm delete mode 100644 libstatgrab/libstatgrab.nm delete mode 100644 libusb-compat/libusb-compat.nm copy zstd/zstd.nm => openjpeg2/openjpeg2.nm (50%) delete mode 100644 paxtest/paxtest.nm create mode 100644 python3-docutils/python3-docutils.nm delete mode 100644 rsync/rsyncd.conf delete mode 100644 rsync/systemd/rsyncd.service delete mode 100644 rsync/systemd/rsyncd.socket delete mode 100644 rsync/systemd/rsyncd@.service delete mode 100644 sg3-utils/sg3-utils.nm delete mode 100644 sysvinit/patches/sysvinit-2.86-remove-utils-1.patch delete mode 100644 sysvinit/sysvinit.nm delete mode 100644 tcl/patches/tcl-8.5.1-autopath.patch delete mode 100644 tcl/patches/tcl-8.5.10-conf.patch delete mode 100644 tcl/patches/tcl-8.5.9-hidden.patch delete mode 100644 wavemon/wavemon.nm rename sysfsutils/sysfsutils.nm => yajl/yajl.nm (54%)
Difference in files: diff --git a/bc/bc.nm b/bc/bc.nm index 9829ad069..9281b9639 100644 --- a/bc/bc.nm +++ b/bc/bc.nm @@ -4,8 +4,8 @@ ###############################################################################
name = bc -version = 1.07 -release = 0 +version = 1.07.1 +release = 1
groups = System/Tools url = https://www.gnu.org/software/bc/ @@ -24,11 +24,16 @@ build requires ed flex + readline-devel texinfo end
configure_options += \ - --disable-static + --with-readline + + test + echo "quit" | ./bc/bc -l Test/checklib.b + end end
packages diff --git a/bind/bind.nm b/bind/bind.nm index 6cb259791..87f459b23 100644 --- a/bind/bind.nm +++ b/bind/bind.nm @@ -4,156 +4,71 @@ ###############################################################################
name = bind -version = 9.9.9-P6 +version = 9.18.10 release = 1
groups = Networking/Tools -url = http://www.isc.org/products/BIND/ +url = https://www.isc.org/bind/ license = Proprietary -summary = BIND provides tools for the DNS. +summary = BIND provides tools for the DNS
description BIND (Berkeley Internet Name Domain or named) is the most commonly used DNS server on the Internet, especially on Unix-like systems. end
-source_dl = ftp://ftp.isc.org/isc/bind/%{version}/ +source_dl = https://downloads.isc.org/isc/bind9/%%7Bversion%7D/ +sources = %{thisapp}.tar.xz
build requires - autoconf - automake + json-c-devel libcap-devel - libidn-devel - libtool + libidn2-devel + libuv-devel + nghttp2-devel pkg-config openssl-devel >= 1.0.1h-2 - shadow-utils end
+ #export LD_LIBRARY_PATH = %{DIR_APP}/lib/bind9/.libs:%{DIR_APP}/lib/dns/.libs:%{DIR_APP}/lib/isc/.libs:%{DIR_APP}/lib/isccfg/.libs:%{DIR_APP}/lib/ns/.libs + configure_options += \ - --with-libtool \ - --enable-threads \ - --enable-ipv6 \ - --with-pic \ --disable-static \ - --disable-openssl-version-check \ - --enable-exportlib \ - --with-export-libdir=%{libdir}/ \ - --with-export-includedir=%{includedir} \ - --includedir=%{includedir}/bind9/ \ - --with-gssapi \ - --enable-rrl \ - --disable-isc-spnego - - prepare_cmds - # Create m4 directory. - cd %{DIR_APP} && mkdir -pv m4 + --enable-auto-validation
- # Branding. - sed -i -e 's/RELEASEVER=(.*)/RELEASEVER=\1-%{DISTRO_NAME}-%{version}-%{release}/' version + tools = dig nsupdate
- # Regenerate build environment - autoreconf -vfi - - end + build + %{configure}
- build_cmds - # Build some typical system tools (dig, host, nslookup) - make -C bin/dig -j %{PARALLELISMFLAGS} + # Build libraries + make -C lib %{PARALLELISMFLAGS}
- # Build nsupdate - make -C bin/nsupdate -j %{PARALLELISMFLAGS} + # Build tools + for tool in %{tools}; do + make -C bin/${tool} %{PARALLELISMFLAGS} || exit $? + done end
- install_cmds - # Install typical system tools - make -C bin/dig install DESTDIR=%{BUILDROOT} + install + # Install libraries + make -C lib install DESTDIR="%{BUILDROOT}"
- # Install nsupdate - make -C bin/nsupdate install DESTDIR=%{BUILDROOT} + # Install tools + for tool in %{tools}; do + make -C bin/${tool} install DESTDIR="%{BUILDROOT}" || exit $? + done
- # Install isc/errno2result.h header - install -m 644 lib/isc/unix/errno2result.h %{BUILDROOT}%{includedir}/isc - - # Install trusted root key. + # Install trusted root key + mkdir -pv %{BUILDROOT}%{sysconfdir} install -m 644 %{DIR_SOURCE}/trusted-key.key %{BUILDROOT}%{sysconfdir}/trusted-key.key - - # Remove development libraries and headers except *-export ones - rm -rvf %{BUILDROOT}%{libdir}/libbind9.so - rm -rvf %{BUILDROOT}%{libdir}/libdns.so - rm -rvf %{BUILDROOT}%{libdir}/libisccc.so - rm -rvf %{BUILDROOT}%{libdir}/libisccfg.so - rm -rvf %{BUILDROOT}%{libdir}/libisc.so - rm -rvf %{BUILDROOT}%{libdir}/liblwres.so - rm -rvf %{BUILDROOT}%{includedir}/bind9 - - # Remove unwanted files - rm -rvf %{BUILDROOT}/etc - rm -rvf %{BUILDROOT}/var - - # Remove unneeded tools - rm -rvf %{BUILDROOT}%{bindir}/isc-config.sh - rm -rvf %{BUILDROOT}%{bindir}/bind9-config - - # Remove manpages for the unneeded tools - rm -rvf %{BUILDROOT}%{mandir}/man1/isc-config.sh.1 - rm -rvf %{BUILDROOT}%{mandir}/man1/bind9-config.1 - - # Remove documentation for liblwres and tools - rm -rvf %{BUILDROOT}%{mandir}/man3 end end
packages - package %{name} - # The bind package is just an umbrella package for the utils - # and libs package. - requires - %{name}-libs = %{thisver} - %{name}-utils = %{thisver} - %{name}-utils-libs = %{thisver} - end - end - package %{name}-utils - summary = Utilities for querying bind DNS name server. - description = %{summary} - - requires - %{name}-utils-libs = %{thisver} - end - - files - /etc/trusted-key.key - /usr/bin/dig - /usr/bin/host - /usr/bin/nslookup - /usr/bin/nsupdate - /usr/share/man/man1/dig.1* - /usr/share/man/man1/host.1* - /usr/share/man/man1/nslookup.1* - /usr/share/man/man1/nsupdate.1* - end - end - - package %{name}-utils-libs - template LIBS - - summary = Required libraries for the tools in the bind-utils package. - description = %{summary} - end - - package %{name}-libs - template LIBS - - files - %{libdir}/*export.so.* - end - end - - package %{name}-devel - template DEVEL + summary = Utilities for querying the DNS system end
package %{name}-debuginfo diff --git a/bind/patches/bind97-exportlib.patch b/bind/patches/bind97-exportlib.patch deleted file mode 100644 index 4468ef526..000000000 --- a/bind/patches/bind97-exportlib.patch +++ /dev/null @@ -1,226 +0,0 @@ -diff -up bind-9.9.3rc2/isc-config.sh.in.exportlib bind-9.9.3rc2/isc-config.sh.in -diff -up bind-9.9.3rc2/lib/export/dns/Makefile.in.exportlib bind-9.9.3rc2/lib/export/dns/Makefile.in ---- bind-9.9.3rc2/lib/export/dns/Makefile.in.exportlib 2013-04-30 08:38:46.000000000 +0200 -+++ bind-9.9.3rc2/lib/export/dns/Makefile.in 2013-05-13 10:45:22.574089729 +0200 -@@ -35,9 +35,9 @@ CDEFINES = -DUSE_MD5 @USE_OPENSSL@ @USE_ - - CWARNINGS = - --ISCLIBS = ../isc/libisc.@A@ -+ISCLIBS = ../isc/libisc-export.@A@ - --ISCDEPLIBS = ../isc/libisc.@A@ -+ISCDEPLIBS = ../isc/libisc-export.@A@ - - LIBS = @LIBS@ - -@@ -116,29 +116,29 @@ version.@O@: ${srcdir}/version.c - -DLIBAGE=${LIBAGE} \ - -c ${srcdir}/version.c - --libdns.@SA@: ${OBJS} -+libdns-export.@SA@: ${OBJS} - ${AR} ${ARFLAGS} $@ ${OBJS} - ${RANLIB} $@ - --libdns.la: ${OBJS} -+libdns-export.la: ${OBJS} - ${LIBTOOL_MODE_LINK} \ -- ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libdns.la \ -+ ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libdns-export.la \ - -rpath ${export_libdir} \ - -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \ - ${OBJS} ${ISCLIBS} @DNS_CRYPTO_LIBS@ ${LIBS} - --timestamp: libdns.@A@ -+timestamp: libdns-export.@A@ - touch timestamp - - installdirs: - $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${export_libdir} - - install:: timestamp installdirs -- ${LIBTOOL_MODE_INSTALL} ${INSTALL_DATA} libdns.@A@ \ -+ ${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} libdns-export.@A@ \ - ${DESTDIR}${export_libdir}/ - - clean distclean:: -- rm -f libdns.@A@ timestamp -+ rm -f libdns-export.@A@ timestamp - rm -f gen code.h include/dns/enumtype.h include/dns/enumclass.h - rm -f include/dns/rdatastruct.h - -diff -up bind-9.9.3rc2/lib/export/irs/Makefile.in.exportlib bind-9.9.3rc2/lib/export/irs/Makefile.in ---- bind-9.9.3rc2/lib/export/irs/Makefile.in.exportlib 2013-04-30 08:38:46.000000000 +0200 -+++ bind-9.9.3rc2/lib/export/irs/Makefile.in 2013-05-13 10:45:22.575089729 +0200 -@@ -43,9 +43,9 @@ SRCS = context.c \ - gai_sterror.c getaddrinfo.c getnameinfo.c \ - resconf.c - --ISCLIBS = ../isc/libisc.@A@ --DNSLIBS = ../dns/libdns.@A@ --ISCCFGLIBS = ../isccfg/libisccfg.@A@ -+ISCLIBS = ../isc/libisc-export.@A@ -+DNSLIBS = ../dns/libdns-export.@A@ -+ISCCFGLIBS = ../isccfg/libisccfg-export.@A@ - - LIBS = @LIBS@ - -@@ -62,26 +62,26 @@ version.@O@: ${srcdir}/version.c - -DLIBAGE=${LIBAGE} \ - -c ${srcdir}/version.c - --libirs.@SA@: ${OBJS} version.@O@ -+libirs-export.@SA@: ${OBJS} version.@O@ - ${AR} ${ARFLAGS} $@ ${OBJS} version.@O@ - ${RANLIB} $@ - --libirs.la: ${OBJS} version.@O@ -+libirs-export.la: ${OBJS} version.@O@ - ${LIBTOOL_MODE_LINK} \ -- ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libirs.la \ -+ ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libirs-export.la \ - -rpath ${export_libdir} \ - -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \ - ${OBJS} version.@O@ ${LIBS} ${ISCCFGLIBS} ${DNSLIBS} ${ISCLIBS} - --timestamp: libirs.@A@ -+timestamp: libirs-export.@A@ - touch timestamp - - installdirs: - $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${export_libdir} - - install:: timestamp installdirs -- ${LIBTOOL_MODE_INSTALL} ${INSTALL_DATA} libirs.@A@ \ -+ ${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} libirs-export.@A@ \ - ${DESTDIR}${export_libdir}/ - - clean distclean:: -- rm -f libirs.@A@ libirs.la timestamp -+ rm -f libirs-export.@A@ libirs-export.la timestamp -diff -up bind-9.9.3rc2/lib/export/isccfg/Makefile.in.exportlib bind-9.9.3rc2/lib/export/isccfg/Makefile.in ---- bind-9.9.3rc2/lib/export/isccfg/Makefile.in.exportlib 2013-04-30 08:38:46.000000000 +0200 -+++ bind-9.9.3rc2/lib/export/isccfg/Makefile.in 2013-05-13 10:45:22.576089729 +0200 -@@ -30,11 +30,11 @@ CINCLUDES = -I. ${DNS_INCLUDES} -I${expo - CDEFINES = - CWARNINGS = - --ISCLIBS = ../isc/libisc.@A@ --DNSLIBS = ../dns/libdns.@A@ @DNS_CRYPTO_LIBS@ -+ISCLIBS = ../isc/libisc-export.@A@ -+DNSLIBS = ../dns/libdns-export.@A@ @DNS_CRYPTO_LIBS@ - - ISCDEPLIBS = ../../lib/isc/libisc.@A@ --ISCCFGDEPLIBS = libisccfg.@A@ -+ISCCFGDEPLIBS = libisccfg-export.@A@ - - LIBS = @LIBS@ - -@@ -58,26 +58,26 @@ version.@O@: ${srcdir}/version.c - -DLIBAGE=${LIBAGE} \ - -c ${srcdir}/version.c - --libisccfg.@SA@: ${OBJS} -+libisccfg-export.@SA@: ${OBJS} - ${AR} ${ARFLAGS} $@ ${OBJS} - ${RANLIB} $@ - --libisccfg.la: ${OBJS} -+libisccfg-export.la: ${OBJS} - ${LIBTOOL_MODE_LINK} \ -- ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libisccfg.la \ -+ ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libisccfg-export.la \ - -rpath ${export_libdir} \ - -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \ - ${OBJS} ${LIBS} ${DNSLIBS} ${ISCLIBS} - --timestamp: libisccfg.@A@ -+timestamp: libisccfg-export.@A@ - touch timestamp - - installdirs: - $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${export_libdir} - - install:: timestamp installdirs -- ${LIBTOOL_MODE_INSTALL} ${INSTALL_DATA} libisccfg.@A@ \ -+ ${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} libisccfg-export.@A@ \ - ${DESTDIR}${export_libdir}/ - - clean distclean:: -- rm -f libisccfg.@A@ timestamp -+ rm -f libisccfg-export.@A@ timestamp -diff -up bind-9.9.3rc2/lib/export/isc/Makefile.in.exportlib bind-9.9.3rc2/lib/export/isc/Makefile.in ---- bind-9.9.3rc2/lib/export/isc/Makefile.in.exportlib 2013-04-30 08:38:46.000000000 +0200 -+++ bind-9.9.3rc2/lib/export/isc/Makefile.in 2013-05-13 10:45:22.576089729 +0200 -@@ -100,6 +100,10 @@ SRCS = @ISC_EXTRA_SRCS@ \ - - LIBS = @LIBS@ - -+# Note: the order of SUBDIRS is important. -+# Attempt to disable parallel processing. -+.NOTPARALLEL: -+.NO_PARALLEL: - SUBDIRS = include unix nls @ISC_THREAD_DIR@ - TARGETS = timestamp - -@@ -113,26 +117,26 @@ version.@O@: ${srcdir}/version.c - -DLIBAGE=${LIBAGE} \ - -c ${srcdir}/version.c - --libisc.@SA@: ${OBJS} -+libisc-export.@SA@: ${OBJS} - ${AR} ${ARFLAGS} $@ ${OBJS} - ${RANLIB} $@ - --libisc.la: ${OBJS} -+libisc-export.la: ${OBJS} - ${LIBTOOL_MODE_LINK} \ -- ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libisc.la \ -+ ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libisc-export.la \ - -rpath ${export_libdir} \ - -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \ - ${OBJS} ${LIBS} - --timestamp: libisc.@A@ -+timestamp: libisc-export.@A@ - touch timestamp - - installdirs: - $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${export_libdir} - - install:: timestamp installdirs -- ${LIBTOOL_MODE_INSTALL} ${INSTALL_DATA} libisc.@A@ \ -+ ${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} libisc-export.@A@ \ - ${DESTDIR}${export_libdir} - - clean distclean:: -- rm -f libisc.@A@ libisc.la timestamp -+ rm -f libisc-export.@A@ libisc-export.la timestamp -diff -up bind-9.9.3rc2/lib/export/samples/Makefile.in.exportlib bind-9.9.3rc2/lib/export/samples/Makefile.in ---- bind-9.9.3rc2/lib/export/samples/Makefile.in.exportlib 2013-04-30 08:38:46.000000000 +0200 -+++ bind-9.9.3rc2/lib/export/samples/Makefile.in 2013-05-13 10:45:22.577089729 +0200 -@@ -31,15 +31,15 @@ CINCLUDES = -I${srcdir}/include -I../dns - CDEFINES = - CWARNINGS = - --DNSLIBS = ../dns/libdns.@A@ @DNS_CRYPTO_LIBS@ --ISCLIBS = ../isc/libisc.@A@ --ISCCFGLIBS = ../isccfg/libisccfg.@A@ --IRSLIBS = ../irs/libirs.@A@ -+DNSLIBS = ../dns/libdns-export.@A@ @DNS_CRYPTO_LIBS@ -+ISCLIBS = ../isc/libisc-export.@A@ -+ISCCFGLIBS = ../isccfg/libisccfg-export.@A@ -+IRSLIBS = ../irs/libirs-export.@A@ - --DNSDEPLIBS = ../dns/libdns.@A@ --ISCDEPLIBS = ../isc/libisc.@A@ --ISCCFGDEPLIBS = ../isccfg/libisccfg.@A@ --IRSDEPLIBS = ../irs/libirs.@A@ -+DNSDEPLIBS = ../dns/libdns-export.@A@ -+ISCDEPLIBS = ../isc/libisc-export.@A@ -+ISCCFGDEPLIBS = ../isccfg/libisccfg-export.@A@ -+IRSDEPLIBS = ../irs/libirs-export.@A@ - - DEPLIBS = ${DNSDEPLIBS} ${ISCCFGDEPLIBS} ${ISCDEPLIBS} - diff --git a/bind/patches/bind99-dont-build-bin.patch b/bind/patches/bind99-dont-build-bin.patch deleted file mode 100644 index ae50372b3..000000000 --- a/bind/patches/bind99-dont-build-bin.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/Makefile.in b/Makefile.in -index 4f7f5a6..d59b9b1 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -21,7 +21,7 @@ top_srcdir = @top_srcdir@ - - VERSION=@BIND9_VERSION@ - --SUBDIRS = make unit lib bin doc @LIBEXPORT@ -+SUBDIRS = make lib doc @LIBEXPORT@ - TARGETS = - - MANPAGES = isc-config.sh.1 diff --git a/bwm-ng/bwm-ng.nm b/bwm-ng/bwm-ng.nm index 17e88345c..af5a384a5 100644 --- a/bwm-ng/bwm-ng.nm +++ b/bwm-ng/bwm-ng.nm @@ -4,26 +4,31 @@ ###############################################################################
name = bwm-ng -version = 0.6.1 +version = 0.6.3 release = 1
groups = Networking/Statistics -url = http://www.gropp.org/?id=projects&sub=bwm-ng +url = https://www.gropp.org/?id=projects&sub=bwm-ng license = GPLv2+ -summary = A bandwidth monitor for the shell. +summary = A bandwidth monitor for the shell
description bwm-ng diplays the traffic passing by on all interfaces. end
-source_dl = http://www.gropp.org/bwm-ng/ +source_dl = https://www.gropp.org/bwm-ng/
build requires - libstatgrab-devel + autoconf + automake ncurses-devel end
+ prepare_cmds + ./autogen.sh + end + configure_options += \ --enable-64bit \ --enable-netstatbyte \ @@ -34,7 +39,6 @@ build --with-getifaddrs \ --with-sysctl \ --with-procnetdev \ - --with-libstatgrab \ --with-netstatlinux \ --without-strip end diff --git a/bwm-ng/patches/6a2087db.patch b/bwm-ng/patches/6a2087db.patch new file mode 100644 index 000000000..b1dc00784 --- /dev/null +++ b/bwm-ng/patches/6a2087db.patch @@ -0,0 +1,9534 @@ +From 6a2087db6cc7ac5b5f667fcd17c262c079e8dcf2 Mon Sep 17 00:00:00 2001 +From: Volker Gropp volker@gropp.org +Date: Mon, 1 Nov 2021 09:39:31 +0100 +Subject: [PATCH] fix: format not a string literal + +... and no format arguments +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=997140 +--- + config.h.in~ | 269 ++ + configure.in | 4 +- + configure~ | 9202 ++++++++++++++++++++++++++++++++++++++++++++++++++ + src/output.c | 2 +- + 4 files changed, 9474 insertions(+), 3 deletions(-) + create mode 100644 config.h.in~ + create mode 100755 configure~ + +diff --git a/config.h.in~ b/config.h.in~ +new file mode 100644 +index 0000000..4ee68f7 +--- /dev/null ++++ b/config.h.in~ +@@ -0,0 +1,269 @@ ++/* config.h.in. Generated from configure.in by autoheader. */ ++ ++/* allow set path to netstat at runtime */ ++#undef ALLOW_NETSTATPATH ++ ++/* enable use of configfile */ ++#undef CONFIG_FILE ++ ++/* enable CSV output */ ++#undef CSV ++ ++/* enable max, sum and avg stats */ ++#undef EXTENDED_STATS ++ ++/* cc knows about noreturn */ ++#undef FUNCATTR_NORETURN ++ ++/* Define to 1 if you have the `curs_set' function. */ ++#undef HAVE_CURS_SET ++ ++/* Define to 1 if you have the 'devstat' library (-ldevstat). */ ++#undef HAVE_DEVSTAT_GETDEVS ++ ++/* Define to 1 if you have the <devstat.h> header file. */ ++#undef HAVE_DEVSTAT_H ++ ++/* Define to 1 if you have the `fork' function. */ ++#undef HAVE_FORK ++ ++/* Define to 1 if you have the 'devstat' library (-ldevstat). */ ++#undef HAVE_GETDEVS ++ ++/* Define to 1 if you have the `getifaddrs' function. */ ++#undef HAVE_GETIFADDRS ++ ++/* Define to 1 if you have the <getopt.h> header file. */ ++#undef HAVE_GETOPT_H ++ ++/* Define to 1 if you have the `getopt_long' function. */ ++#undef HAVE_GETOPT_LONG ++ ++/* enable use of getbwuid */ ++#undef HAVE_GETPWUID ++ ++/* Define to 1 if you have the `gettimeofday' function. */ ++#undef HAVE_GETTIMEOFDAY ++ ++/* Define to 1 if you have the <inttypes.h> header file. */ ++#undef HAVE_INTTYPES_H ++ ++/* Define to 1 if you have the `ioctl' function. */ ++#undef HAVE_IOCTL ++ ++/* Define to 1 if you have the `IOMasterPort' function. */ ++#undef HAVE_IOMASTERPORT ++ ++/* Define to 1 if you have the `IORegistryEntryCreateCFProperties' function. ++ */ ++#undef HAVE_IOREGISTRYENTRYCREATECFPROPERTIES ++ ++/* Define to 1 if you have Darwin IOService support */ ++#undef HAVE_IOSERVICE ++ ++/* Define to 1 if you have the `IOServiceGetMatchingServices' function. */ ++#undef HAVE_IOSERVICEGETMATCHINGSERVICES ++ ++/* Define to 1 if you have the `curses' library (-lcurses). */ ++#undef HAVE_LIBCURSES ++ ++/* Define to 1 if you have the 'kstat' library (-lkstat). */ ++#undef HAVE_LIBKSTAT ++ ++/* Define to 1 if you have the `ncurses' library (-lncurses). */ ++#undef HAVE_LIBNCURSES ++ ++/* Define to 1 if you have the 'statgrab' library (-lstatgrab). */ ++#undef HAVE_LIBSTATGRAB ++ ++/* Define to 1 if you have the <linux/if.h> header file. */ ++#undef HAVE_LINUX_IF_H ++ ++/* Define to 1 if you have the <linux/tty.h> header file. */ ++#undef HAVE_LINUX_TTY_H ++ ++/* Define to 1 if you have the <memory.h> header file. */ ++#undef HAVE_MEMORY_H ++ ++/* set path to netstat */ ++#undef HAVE_NETSTAT_PATH ++ ++/* Define to 1 if you have the <net/if.h> header file. */ ++#undef HAVE_NET_IF_H ++ ++/* Define to 1 if you have the <pwd.h> header file. */ ++#undef HAVE_PWD_H ++ ++/* Define to 1 if you have the <stdint.h> header file. */ ++#undef HAVE_STDINT_H ++ ++/* Define to 1 if you have the <stdlib.h> header file. */ ++#undef HAVE_STDLIB_H ++ ++/* Define to 1 if you have the <strings.h> header file. */ ++#undef HAVE_STRINGS_H ++ ++/* Define to 1 if you have the <string.h> header file. */ ++#undef HAVE_STRING_H ++ ++/* Define to 1 if you have the `strlcpy' function. */ ++#undef HAVE_STRLCPY ++ ++/* Define to 1 if you have the <stropts.h> header file. */ ++#undef HAVE_STROPTS_H ++ ++/* sysctl diskinput available */ ++#undef HAVE_STRUCT_DISKSTATS ++ ++/* Define to 1 if `ds_name' is a member of `struct diskstats'. */ ++#undef HAVE_STRUCT_DISKSTATS_DS_NAME ++ ++/* Define to 1 if `ds_rbytes' is a member of `struct diskstats'. */ ++#undef HAVE_STRUCT_DISKSTATS_DS_RBYTES ++ ++/* sysctl diskinput available */ ++#undef HAVE_STRUCT_DISK_SYSCTL ++ ++/* Define to 1 if `dk_rbytes' is a member of `struct disk_sysctl'. */ ++#undef HAVE_STRUCT_DISK_SYSCTL_DK_RBYTES ++ ++/* Define to 1 if `ifi_ibytes' is a member of `struct if_data'. */ ++#undef HAVE_STRUCT_IF_DATA_IFI_IBYTES ++ ++/* sysctl input fully available */ ++#undef HAVE_STRUCT_IF_MSGHDR_IFM_DATA ++ ++/* Define to 1 if you have the `sysctl' function. */ ++#undef HAVE_SYSCTL ++ ++/* Define to 1 if you have the <sys/disk.h> header file. */ ++#undef HAVE_SYS_DISK_H ++ ++/* Define to 1 if you have the <sys/dkstat.h> header file. */ ++#undef HAVE_SYS_DKSTAT_H ++ ++/* Define to 1 if you have the <sys/socket.h> header file. */ ++#undef HAVE_SYS_SOCKET_H ++ ++/* Define to 1 if you have the <sys/stat.h> header file. */ ++#undef HAVE_SYS_STAT_H ++ ++/* Define to 1 if you have the <sys/tty.h> header file. */ ++#undef HAVE_SYS_TTY_H ++ ++/* Define to 1 if you have the <sys/types.h> header file. */ ++#undef HAVE_SYS_TYPES_H ++ ++/* Define to 1 if you have the <unistd.h> header file. */ ++#undef HAVE_UNISTD_H ++ ++/* Define to 1 if the system has the type `unsigned long long'. */ ++#undef HAVE_UNSIGNED_LONG_LONG ++ ++/* Define to 1 if you have the `usleep' function. */ ++#undef HAVE_USLEEP ++ ++/* Define to 1 if you have the `vfork' function. */ ++#undef HAVE_VFORK ++ ++/* Define to 1 if you have the <vfork.h> header file. */ ++#undef HAVE_VFORK_H ++ ++/* Define to 1 if you have the `wattron' function. */ ++#undef HAVE_WATTRON ++ ++/* Define to 1 if `fork' works. */ ++#undef HAVE_WORKING_FORK ++ ++/* getifaddrs works as espected */ ++#undef HAVE_WORKING_GETIFADDRS ++ ++/* Define to 1 if `vfork' works. */ ++#undef HAVE_WORKING_VFORK ++ ++/* enable /proc/diskstats|/proc/partitions support */ ++#undef HAVE__PROC_DISKSTATS ++ ++/* Define to 1 if you have the file `/proc/net/dev'. */ ++#undef HAVE__PROC_NET_DEV ++ ++/* Define to 1 if you have the file `/proc/partitions'. */ ++#undef HAVE__PROC_PARTITIONS ++ ++/* Define to 1 if you have the file `/usr/ccs/bin/strip'. */ ++#undef HAVE__USR_CCS_BIN_STRIP ++ ++/* enable html output */ ++#undef HTML ++ ++/* BSD like netstat */ ++#undef NETSTAT_BSD ++ ++/* bsd like version with byte info */ ++#undef NETSTAT_BSD_BYTES ++ ++/* enable link info for netstat */ ++#undef NETSTAT_BSD_LINK ++ ++/* use GNU net-tools netstat */ ++#undef NETSTAT_LINUX ++ ++/* Use Net/OpenBSD netstat */ ++#undef NETSTAT_NETBSD ++ ++/* use Solaris netstat */ ++#undef NETSTAT_SOLARIS ++ ++/* Name of package */ ++#undef PACKAGE ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#undef PACKAGE_BUGREPORT ++ ++/* Define to the full name of this package. */ ++#undef PACKAGE_NAME ++ ++/* Define to the full name and version of this package. */ ++#undef PACKAGE_STRING ++ ++/* Define to the one symbol short name of this package. */ ++#undef PACKAGE_TARNAME ++ ++/* Define to the home page for this package. */ ++#undef PACKAGE_URL ++ ++/* Define to the version of this package. */ ++#undef PACKAGE_VERSION ++ ++/* set path to /proc/disktstats raw-file */ ++#undef PROC_DISKSTATS_PATH ++ ++/* set path to /proc/net/dev raw-file */ ++#undef PROC_NET_DEV_PATH ++ ++/* set path to /proc/partitions raw-file */ ++#undef PROC_PARTITIONS_PATH ++ ++/* Define to 1 if you have the ANSI C header files. */ ++#undef STDC_HEADERS ++ ++/* enable 64bit support */ ++#undef SYS_64BIT ++ ++/* Version number of package */ ++#undef VERSION ++ ++/* enable win32 support */ ++#undef WIN32 ++ ++/* Define to `__inline__' or `__inline' if that's what the C compiler ++ calls it, or to nothing if 'inline' is not supported under any name. */ ++#ifndef __cplusplus ++#undef inline ++#endif ++ ++/* Define to `int' if <sys/types.h> does not define. */ ++#undef pid_t ++ ++/* Define as `fork' if `vfork' does not work. */ ++#undef vfork +diff --git a/configure.in b/configure.in +index 282bf1e..2cd6811 100644 +--- a/configure.in ++++ b/configure.in +@@ -12,7 +12,7 @@ AC_ARG_ENABLE([debug],AS_HELP_STRING([--enable-debug],[enable debug (default: no + echo "enable debugging info: $enableval" + if [ test $enableval = "yes" ]; then + if test -z ${CFLAGS}; then +- CFLAGS="-g3 -Wall" ++ CFLAGS="-g3 -Werror=format-security -Wall" + else + CFLAGS="-g3 ${CFLAGS}" + fi +@@ -20,7 +20,7 @@ if [ test $enableval = "yes" ]; then + fi + ],[ + if test -z "${CFLAGS}"; then +- CFLAGS="-O2 -Wall" ++ CFLAGS="-O2 -Wall -Werror=format-security" + fi + ]) + +diff --git a/configure~ b/configure~ +new file mode 100755 +index 0000000..58df3fb +--- /dev/null ++++ b/configure~ +@@ -0,0 +1,9202 @@ ++#! /bin/sh ++# Guess values for system-dependent variables and create Makefiles. ++# Generated by GNU Autoconf 2.71 for bwm-ng 0.6.3. ++# ++# Report bugs to bwmng@gropp.org. ++# ++# ++# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, ++# Inc. ++# ++# ++# This configure script is free software; the Free Software Foundation ++# gives unlimited permission to copy, distribute and modify it. ++## -------------------- ## ++## M4sh Initialization. ## ++## -------------------- ## ++ ++# Be more Bourne compatible ++DUALCASE=1; export DUALCASE # for MKS sh ++as_nop=: ++if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 ++then : ++ emulate sh ++ NULLCMD=: ++ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' ++ setopt NO_GLOB_SUBST ++else $as_nop ++ case `(set -o) 2>/dev/null` in #( ++ *posix*) : ++ set -o posix ;; #( ++ *) : ++ ;; ++esac ++fi ++ ++ ++ ++# Reset variables that may have inherited troublesome values from ++# the environment. ++ ++# IFS needs to be set, to space, tab, and newline, in precisely that order. ++# (If _AS_PATH_WALK were called with IFS unset, it would have the ++# side effect of setting IFS to empty, thus disabling word splitting.) ++# Quoting is to prevent editors from complaining about space-tab. ++as_nl=' ++' ++export as_nl ++IFS=" "" $as_nl" ++ ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# Ensure predictable behavior from utilities with locale-dependent output. ++LC_ALL=C ++export LC_ALL ++LANGUAGE=C ++export LANGUAGE ++ ++# We cannot yet rely on "unset" to work, but we need these variables ++# to be unset--not just set to an empty or harmless value--now, to ++# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct ++# also avoids known problems related to "unset" and subshell syntax ++# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). ++for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH ++do eval test ${$as_var+y} \ ++ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : ++done ++ ++# Ensure that fds 0, 1, and 2 are open. ++if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi ++if (exec 3>&1) 2>/dev/null; then :; else exec 1>/dev/null; fi ++if (exec 3>&2) ; then :; else exec 2>/dev/null; fi ++ ++# The user is always right. ++if ${PATH_SEPARATOR+false} :; then ++ PATH_SEPARATOR=: ++ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { ++ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || ++ PATH_SEPARATOR=';' ++ } ++fi ++ ++ ++# Find who we are. Look in the path if we contain no directory separator. ++as_myself= ++case $0 in #(( ++ *[\/]* ) as_myself=$0 ;; ++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ test -r "$as_dir$0" && as_myself=$as_dir$0 && break ++ done ++IFS=$as_save_IFS ++ ++ ;; ++esac ++# We did not find ourselves, most probably we were run as `sh COMMAND' ++# in which case we are not to be found in the path. ++if test "x$as_myself" = x; then ++ as_myself=$0 ++fi ++if test ! -f "$as_myself"; then ++ printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 ++ exit 1 ++fi ++ ++ ++# Use a proper internal environment variable to ensure we don't fall ++ # into an infinite loop, continuously re-executing ourselves. ++ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then ++ _as_can_reexec=no; export _as_can_reexec; ++ # We cannot yet assume a decent shell, so we have to provide a ++# neutralization value for shells without unset; and this also ++# works around shells that cannot unset nonexistent variables. ++# Preserve -v and -x to the replacement shell. ++BASH_ENV=/dev/null ++ENV=/dev/null ++(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV ++case $- in # (((( ++ *v*x* | *x*v* ) as_opts=-vx ;; ++ *v* ) as_opts=-v ;; ++ *x* ) as_opts=-x ;; ++ * ) as_opts= ;; ++esac ++exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} ++# Admittedly, this is quite paranoid, since all the known shells bail ++# out after a failed `exec'. ++printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 ++exit 255 ++ fi ++ # We don't want this to propagate to other subprocesses. ++ { _as_can_reexec=; unset _as_can_reexec;} ++if test "x$CONFIG_SHELL" = x; then ++ as_bourne_compatible="as_nop=: ++if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 ++then : ++ emulate sh ++ NULLCMD=: ++ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' ++ setopt NO_GLOB_SUBST ++else $as_nop ++ case `(set -o) 2>/dev/null` in #( ++ *posix*) : ++ set -o posix ;; #( ++ *) : ++ ;; ++esac ++fi ++" ++ as_required="as_fn_return () { (exit $1); } ++as_fn_success () { as_fn_return 0; } ++as_fn_failure () { as_fn_return 1; } ++as_fn_ret_success () { return 0; } ++as_fn_ret_failure () { return 1; } ++ ++exitcode=0 ++as_fn_success || { exitcode=1; echo as_fn_success failed.; } ++as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } ++as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } ++as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } ++if ( set x; as_fn_ret_success y && test x = "$1" ) ++then : ++ ++else $as_nop ++ exitcode=1; echo positional parameters were not saved. ++fi ++test x$exitcode = x0 || exit 1 ++blah=$(echo $(echo blah)) ++test x"$blah" = xblah || exit 1 ++test -x / || exit 1" ++ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=$LINENO ++ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=$LINENO ++ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && ++ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || exit 1 ++test $(( 1 + 1 )) = 2 || exit 1" ++ if (eval "$as_required") 2>/dev/null ++then : ++ as_have_required=yes ++else $as_nop ++ as_have_required=no ++fi ++ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null ++then : ++ ++else $as_nop ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++as_found=false ++for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ as_found=: ++ case $as_dir in #( ++ /*) ++ for as_base in sh bash ksh sh5; do ++ # Try only shells that exist, to save several forks. ++ as_shell=$as_dir$as_base ++ if { test -f "$as_shell" || test -f "$as_shell.exe"; } && ++ as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null ++then : ++ CONFIG_SHELL=$as_shell as_have_required=yes ++ if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null ++then : ++ break 2 ++fi ++fi ++ done;; ++ esac ++ as_found=false ++done ++IFS=$as_save_IFS ++if $as_found ++then : ++ ++else $as_nop ++ if { test -f "$SHELL" || test -f "$SHELL.exe"; } && ++ as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null ++then : ++ CONFIG_SHELL=$SHELL as_have_required=yes ++fi ++fi ++ ++ ++ if test "x$CONFIG_SHELL" != x ++then : ++ export CONFIG_SHELL ++ # We cannot yet assume a decent shell, so we have to provide a ++# neutralization value for shells without unset; and this also ++# works around shells that cannot unset nonexistent variables. ++# Preserve -v and -x to the replacement shell. ++BASH_ENV=/dev/null ++ENV=/dev/null ++(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV ++case $- in # (((( ++ *v*x* | *x*v* ) as_opts=-vx ;; ++ *v* ) as_opts=-v ;; ++ *x* ) as_opts=-x ;; ++ * ) as_opts= ;; ++esac ++exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} ++# Admittedly, this is quite paranoid, since all the known shells bail ++# out after a failed `exec'. ++printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 ++exit 255 ++fi ++ ++ if test x$as_have_required = xno ++then : ++ printf "%s\n" "$0: This script requires a shell more modern than all" ++ printf "%s\n" "$0: the shells that I found on your system." ++ if test ${ZSH_VERSION+y} ; then ++ printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" ++ printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." ++ else ++ printf "%s\n" "$0: Please tell bug-autoconf@gnu.org and bwmng@gropp.org ++$0: about your system, including any error possibly output ++$0: before this message. Then install a modern shell, or ++$0: manually run the script under such a shell if you do ++$0: have one." ++ fi ++ exit 1 ++fi ++fi ++fi ++SHELL=${CONFIG_SHELL-/bin/sh} ++export SHELL ++# Unset more variables known to interfere with behavior of common tools. ++CLICOLOR_FORCE= GREP_OPTIONS= ++unset CLICOLOR_FORCE GREP_OPTIONS ++ ++## --------------------- ## ++## M4sh Shell Functions. ## ++## --------------------- ## ++# as_fn_unset VAR ++# --------------- ++# Portably unset VAR. ++as_fn_unset () ++{ ++ { eval $1=; unset $1;} ++} ++as_unset=as_fn_unset ++ ++ ++# as_fn_set_status STATUS ++# ----------------------- ++# Set $? to STATUS, without forking. ++as_fn_set_status () ++{ ++ return $1 ++} # as_fn_set_status ++ ++# as_fn_exit STATUS ++# ----------------- ++# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. ++as_fn_exit () ++{ ++ set +e ++ as_fn_set_status $1 ++ exit $1 ++} # as_fn_exit ++# as_fn_nop ++# --------- ++# Do nothing but, unlike ":", preserve the value of $?. ++as_fn_nop () ++{ ++ return $? ++} ++as_nop=as_fn_nop ++ ++# as_fn_mkdir_p ++# ------------- ++# Create "$as_dir" as a directory, including parents if necessary. ++as_fn_mkdir_p () ++{ ++ ++ case $as_dir in #( ++ -*) as_dir=./$as_dir;; ++ esac ++ test -d "$as_dir" || eval $as_mkdir_p || { ++ as_dirs= ++ while :; do ++ case $as_dir in #( ++ *'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\''/g"`;; #'( ++ *) as_qdir=$as_dir;; ++ esac ++ as_dirs="'$as_qdir' $as_dirs" ++ as_dir=`$as_dirname -- "$as_dir" || ++$as_expr X"$as_dir" : 'X(.*[^/])//*[^/][^/]*/*$' | \ ++ X"$as_dir" : 'X(//)[^/]' | \ ++ X"$as_dir" : 'X(//)$' | \ ++ X"$as_dir" : 'X(/)' | . 2>/dev/null || ++printf "%s\n" X"$as_dir" | ++ sed '/^X(.*[^/])//*[^/][^/]*/*$/{ ++ s//\1/ ++ q ++ } ++ /^X(//)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X(//)$/{ ++ s//\1/ ++ q ++ } ++ /^X(/).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ test -d "$as_dir" && break ++ done ++ test -z "$as_dirs" || eval "mkdir $as_dirs" ++ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" ++ ++ ++} # as_fn_mkdir_p ++ ++# as_fn_executable_p FILE ++# ----------------------- ++# Test if FILE is an executable regular file. ++as_fn_executable_p () ++{ ++ test -f "$1" && test -x "$1" ++} # as_fn_executable_p ++# as_fn_append VAR VALUE ++# ---------------------- ++# Append the text in VALUE to the end of the definition contained in VAR. Take ++# advantage of any shell optimizations that allow amortized linear growth over ++# repeated appends, instead of the typical quadratic growth present in naive ++# implementations. ++if (eval "as_var=1; as_var+=2; test x$as_var = x12") 2>/dev/null ++then : ++ eval 'as_fn_append () ++ { ++ eval $1+=$2 ++ }' ++else $as_nop ++ as_fn_append () ++ { ++ eval $1=$$1$2 ++ } ++fi # as_fn_append ++ ++# as_fn_arith ARG... ++# ------------------ ++# Perform arithmetic evaluation on the ARGs, and store the result in the ++# global $as_val. Take advantage of shells that can avoid forks. The arguments ++# must be portable across $(()) and expr. ++if (eval "test $(( 1 + 1 )) = 2") 2>/dev/null ++then : ++ eval 'as_fn_arith () ++ { ++ as_val=$(( $* )) ++ }' ++else $as_nop ++ as_fn_arith () ++ { ++ as_val=`expr "$@" || test $? -eq 1` ++ } ++fi # as_fn_arith ++ ++# as_fn_nop ++# --------- ++# Do nothing but, unlike ":", preserve the value of $?. ++as_fn_nop () ++{ ++ return $? ++} ++as_nop=as_fn_nop ++ ++# as_fn_error STATUS ERROR [LINENO LOG_FD] ++# ---------------------------------------- ++# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are ++# provided, also output the error to LOG_FD, referencing LINENO. Then exit the ++# script with STATUS, using 1 if that was 0. ++as_fn_error () ++{ ++ as_status=$1; test $as_status -eq 0 && as_status=1 ++ if test "$4"; then ++ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 ++ fi ++ printf "%s\n" "$as_me: error: $2" >&2 ++ as_fn_exit $as_status ++} # as_fn_error ++ ++if expr a : '(a)' >/dev/null 2>&1 && ++ test "X`expr 00001 : '.*(...)'`" = X001; then ++ as_expr=expr ++else ++ as_expr=false ++fi ++ ++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then ++ as_basename=basename ++else ++ as_basename=false ++fi ++ ++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then ++ as_dirname=dirname ++else ++ as_dirname=false ++fi ++ ++as_me=`$as_basename -- "$0" || ++$as_expr X/"$0" : '.*/([^/][^/]*)/*$' | \ ++ X"$0" : 'X(//)$' | \ ++ X"$0" : 'X(/)' | . 2>/dev/null || ++printf "%s\n" X/"$0" | ++ sed '/^.*/([^/][^/]*)/*$/{ ++ s//\1/ ++ q ++ } ++ /^X/(//)$/{ ++ s//\1/ ++ q ++ } ++ /^X/(/).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ ++# Avoid depending upon Character Ranges. ++as_cr_letters='abcdefghijklmnopqrstuvwxyz' ++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' ++as_cr_Letters=$as_cr_letters$as_cr_LETTERS ++as_cr_digits='0123456789' ++as_cr_alnum=$as_cr_Letters$as_cr_digits ++ ++ ++ as_lineno_1=$LINENO as_lineno_1a=$LINENO ++ as_lineno_2=$LINENO as_lineno_2a=$LINENO ++ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && ++ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { ++ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) ++ sed -n ' ++ p ++ /[$]LINENO/= ++ ' <$as_myself | ++ sed ' ++ s/[$]LINENO.*/&-/ ++ t lineno ++ b ++ :lineno ++ N ++ :loop ++ s/[$]LINENO([^'$as_cr_alnum'_].*\n)(.*)/\2\1\2/ ++ t loop ++ s/-\n.*// ++ ' >$as_me.lineno && ++ chmod +x "$as_me.lineno" || ++ { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } ++ ++ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have ++ # already done that, so ensure we don't try to do so again and fall ++ # in an infinite loop. This has already happened in practice. ++ _as_can_reexec=no; export _as_can_reexec ++ # Don't try to exec as it changes $[0], causing all sort of problems ++ # (the dirname of $[0] is not the place where we might find the ++ # original and so on. Autoconf is especially sensitive to this). ++ . "./$as_me.lineno" ++ # Exit status is that of the last command. ++ exit ++} ++ ++ ++# Determine whether it's possible to make 'echo' print without a newline. ++# These variables are no longer used directly by Autoconf, but are AC_SUBSTed ++# for compatibility with existing Makefiles. ++ECHO_C= ECHO_N= ECHO_T= ++case `echo -n x` in #((((( ++-n*) ++ case `echo 'xy\c'` in ++ *c*) ECHO_T=' ';; # ECHO_T is single tab character. ++ xy) ECHO_C='\c';; ++ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ++ ECHO_T=' ';; ++ esac;; ++*) ++ ECHO_N='-n';; ++esac ++ ++# For backward compatibility with old third-party macros, we provide ++# the shell variables $as_echo and $as_echo_n. New code should use ++# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. ++as_echo='printf %s\n' ++as_echo_n='printf %s' ++ ++ ++rm -f conf$$ conf$$.exe conf$$.file ++if test -d conf$$.dir; then ++ rm -f conf$$.dir/conf$$.file ++else ++ rm -f conf$$.dir ++ mkdir conf$$.dir 2>/dev/null ++fi ++if (echo >conf$$.file) 2>/dev/null; then ++ if ln -s conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s='ln -s' ++ # ... but there are two gotchas: ++ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. ++ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. ++ # In both cases, we have to default to `cp -pR'. ++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || ++ as_ln_s='cp -pR' ++ elif ln conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s=ln ++ else ++ as_ln_s='cp -pR' ++ fi ++else ++ as_ln_s='cp -pR' ++fi ++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file ++rmdir conf$$.dir 2>/dev/null ++ ++if mkdir -p . 2>/dev/null; then ++ as_mkdir_p='mkdir -p "$as_dir"' ++else ++ test -d ./-p && rmdir ./-p ++ as_mkdir_p=false ++fi ++ ++as_test_x='test -x' ++as_executable_p=as_fn_executable_p ++ ++# Sed expression to map a string onto a valid CPP name. ++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" ++ ++# Sed expression to map a string onto a valid variable name. ++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" ++ ++ ++test -n "$DJDIR" || exec 7<&0 </dev/null ++exec 6>&1 ++ ++# Name of the host. ++# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, ++# so uname gets run too. ++ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` ++ ++# ++# Initializations. ++# ++ac_default_prefix=/usr/local ++ac_clean_files= ++ac_config_libobj_dir=. ++LIBOBJS= ++cross_compiling=no ++subdirs= ++MFLAGS= ++MAKEFLAGS= ++ ++# Identity of this package. ++PACKAGE_NAME='bwm-ng' ++PACKAGE_TARNAME='bwm-ng' ++PACKAGE_VERSION='0.6.3' ++PACKAGE_STRING='bwm-ng 0.6.3' ++PACKAGE_BUGREPORT='bwmng@gropp.org' ++PACKAGE_URL='' ++ ++ac_unique_file="src/bwm-ng.c" ++# Factoring default headers for most tests. ++ac_includes_default="\ ++#include <stddef.h> ++#ifdef HAVE_STDIO_H ++# include <stdio.h> ++#endif ++#ifdef HAVE_STDLIB_H ++# include <stdlib.h> ++#endif ++#ifdef HAVE_STRING_H ++# include <string.h> ++#endif ++#ifdef HAVE_INTTYPES_H ++# include <inttypes.h> ++#endif ++#ifdef HAVE_STDINT_H ++# include <stdint.h> ++#endif ++#ifdef HAVE_STRINGS_H ++# include <strings.h> ++#endif ++#ifdef HAVE_SYS_TYPES_H ++# include <sys/types.h> ++#endif ++#ifdef HAVE_SYS_STAT_H ++# include <sys/stat.h> ++#endif ++#ifdef HAVE_UNISTD_H ++# include <unistd.h> ++#endif" ++ ++ac_header_c_list= ++ac_func_c_list= ++ac_subst_vars='am__EXEEXT_FALSE ++am__EXEEXT_TRUE ++LTLIBOBJS ++LIBOBJS ++INPUT_SYSTEM ++NETSTAT_CMD ++EGREP ++GREP ++am__fastdepCC_FALSE ++am__fastdepCC_TRUE ++CCDEPMODE ++am__nodep ++AMDEPBACKSLASH ++AMDEP_FALSE ++AMDEP_TRUE ++am__include ++DEPDIR ++OBJEXT ++EXEEXT ++ac_ct_CC ++CPPFLAGS ++LDFLAGS ++CFLAGS ++CC ++AM_BACKSLASH ++AM_DEFAULT_VERBOSITY ++AM_DEFAULT_V ++AM_V ++CSCOPE ++ETAGS ++CTAGS ++am__untar ++am__tar ++AMTAR ++am__leading_dot ++SET_MAKE ++AWK ++mkdir_p ++MKDIR_P ++INSTALL_STRIP_PROGRAM ++STRIP ++install_sh ++MAKEINFO ++AUTOHEADER ++AUTOMAKE ++AUTOCONF ++ACLOCAL ++VERSION ++PACKAGE ++CYGPATH_W ++am__isrc ++INSTALL_DATA ++INSTALL_SCRIPT ++INSTALL_PROGRAM ++target_alias ++host_alias ++build_alias ++LIBS ++ECHO_T ++ECHO_N ++ECHO_C ++DEFS ++mandir ++localedir ++libdir ++psdir ++pdfdir ++dvidir ++htmldir ++infodir ++docdir ++oldincludedir ++includedir ++runstatedir ++localstatedir ++sharedstatedir ++sysconfdir ++datadir ++datarootdir ++libexecdir ++sbindir ++bindir ++program_transform_name ++prefix ++exec_prefix ++PACKAGE_URL ++PACKAGE_BUGREPORT ++PACKAGE_STRING ++PACKAGE_VERSION ++PACKAGE_TARNAME ++PACKAGE_NAME ++PATH_SEPARATOR ++SHELL ++am__quote' ++ac_subst_files='' ++ac_user_opts=' ++enable_option_checking ++enable_silent_rules ++enable_debug ++enable_dependency_tracking ++with_curses ++with_ncurses ++with_time ++with_getopt_long ++with_getifaddrs ++with_sysctl ++with_sysctldisk ++with_kstat ++with_win32 ++with_procnetdev ++with_diskstats ++with_partitions ++with_devstat ++with_ioservice ++with_libstatgrab ++enable_html ++enable_csv ++enable_extendedstats ++enable_configfile ++enable_64bit ++enable_netstatpath ++enable_netstatbyte ++enable_netstatlink ++with_netstatbsd ++with_netstatlinux ++with_netstatlinuxnew ++with_netstatsolaris ++with_netstatnetbsd ++with_strip ++' ++ ac_precious_vars='build_alias ++host_alias ++target_alias ++CC ++CFLAGS ++LDFLAGS ++LIBS ++CPPFLAGS' ++ ++ ++# Initialize some variables set by options. ++ac_init_help= ++ac_init_version=false ++ac_unrecognized_opts= ++ac_unrecognized_sep= ++# The variables have the same names as the options, with ++# dashes changed to underlines. ++cache_file=/dev/null ++exec_prefix=NONE ++no_create= ++no_recursion= ++prefix=NONE ++program_prefix=NONE ++program_suffix=NONE ++program_transform_name=s,x,x, ++silent= ++site= ++srcdir= ++verbose= ++x_includes=NONE ++x_libraries=NONE ++ ++# Installation directory options. ++# These are left unexpanded so users can "make install exec_prefix=/foo" ++# and all the variables that are supposed to be based on exec_prefix ++# by default will actually change. ++# Use braces instead of parens because sh, perl, etc. also accept them. ++# (The list follows the same order as the GNU Coding Standards.) ++bindir='${exec_prefix}/bin' ++sbindir='${exec_prefix}/sbin' ++libexecdir='${exec_prefix}/libexec' ++datarootdir='${prefix}/share' ++datadir='${datarootdir}' ++sysconfdir='${prefix}/etc' ++sharedstatedir='${prefix}/com' ++localstatedir='${prefix}/var' ++runstatedir='${localstatedir}/run' ++includedir='${prefix}/include' ++oldincludedir='/usr/include' ++docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' ++infodir='${datarootdir}/info' ++htmldir='${docdir}' ++dvidir='${docdir}' ++pdfdir='${docdir}' ++psdir='${docdir}' ++libdir='${exec_prefix}/lib' ++localedir='${datarootdir}/locale' ++mandir='${datarootdir}/man' ++ ++ac_prev= ++ac_dashdash= ++for ac_option ++do ++ # If the previous option needs an argument, assign it. ++ if test -n "$ac_prev"; then ++ eval $ac_prev=$ac_option ++ ac_prev= ++ continue ++ fi ++ ++ case $ac_option in ++ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=(.*)'` ;; ++ *=) ac_optarg= ;; ++ *) ac_optarg=yes ;; ++ esac ++ ++ case $ac_dashdash$ac_option in ++ --) ++ ac_dashdash=yes ;; ++ ++ -bindir | --bindir | --bindi | --bind | --bin | --bi) ++ ac_prev=bindir ;; ++ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) ++ bindir=$ac_optarg ;; ++ ++ -build | --build | --buil | --bui | --bu) ++ ac_prev=build_alias ;; ++ -build=* | --build=* | --buil=* | --bui=* | --bu=*) ++ build_alias=$ac_optarg ;; ++ ++ -cache-file | --cache-file | --cache-fil | --cache-fi \ ++ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ++ ac_prev=cache_file ;; ++ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ ++ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) ++ cache_file=$ac_optarg ;; ++ ++ --config-cache | -C) ++ cache_file=config.cache ;; ++ ++ -datadir | --datadir | --datadi | --datad) ++ ac_prev=datadir ;; ++ -datadir=* | --datadir=* | --datadi=* | --datad=*) ++ datadir=$ac_optarg ;; ++ ++ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ ++ | --dataroo | --dataro | --datar) ++ ac_prev=datarootdir ;; ++ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ ++ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) ++ datarootdir=$ac_optarg ;; ++ ++ -disable-* | --disable-*) ++ ac_useropt=`expr "x$ac_option" : 'x-*disable-(.*)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && ++ as_fn_error $? "invalid feature name: `$ac_useropt'" ++ ac_useropt_orig=$ac_useropt ++ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` ++ case $ac_user_opts in ++ *" ++"enable_$ac_useropt" ++"*) ;; ++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ++ ac_unrecognized_sep=', ';; ++ esac ++ eval enable_$ac_useropt=no ;; ++ ++ -docdir | --docdir | --docdi | --doc | --do) ++ ac_prev=docdir ;; ++ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) ++ docdir=$ac_optarg ;; ++ ++ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ++ ac_prev=dvidir ;; ++ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) ++ dvidir=$ac_optarg ;; ++ ++ -enable-* | --enable-*) ++ ac_useropt=`expr "x$ac_option" : 'x-*enable-([^=]*)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && ++ as_fn_error $? "invalid feature name: `$ac_useropt'" ++ ac_useropt_orig=$ac_useropt ++ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` ++ case $ac_user_opts in ++ *" ++"enable_$ac_useropt" ++"*) ;; ++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ++ ac_unrecognized_sep=', ';; ++ esac ++ eval enable_$ac_useropt=$ac_optarg ;; ++ ++ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ ++ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ ++ | --exec | --exe | --ex) ++ ac_prev=exec_prefix ;; ++ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ ++ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ ++ | --exec=* | --exe=* | --ex=*) ++ exec_prefix=$ac_optarg ;; ++ ++ -gas | --gas | --ga | --g) ++ # Obsolete; use --with-gas. ++ with_gas=yes ;; ++ ++ -help | --help | --hel | --he | -h) ++ ac_init_help=long ;; ++ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ++ ac_init_help=recursive ;; ++ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ++ ac_init_help=short ;; ++ ++ -host | --host | --hos | --ho) ++ ac_prev=host_alias ;; ++ -host=* | --host=* | --hos=* | --ho=*) ++ host_alias=$ac_optarg ;; ++ ++ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ++ ac_prev=htmldir ;; ++ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ ++ | --ht=*) ++ htmldir=$ac_optarg ;; ++ ++ -includedir | --includedir | --includedi | --included | --include \ ++ | --includ | --inclu | --incl | --inc) ++ ac_prev=includedir ;; ++ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ ++ | --includ=* | --inclu=* | --incl=* | --inc=*) ++ includedir=$ac_optarg ;; ++ ++ -infodir | --infodir | --infodi | --infod | --info | --inf) ++ ac_prev=infodir ;; ++ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) ++ infodir=$ac_optarg ;; ++ ++ -libdir | --libdir | --libdi | --libd) ++ ac_prev=libdir ;; ++ -libdir=* | --libdir=* | --libdi=* | --libd=*) ++ libdir=$ac_optarg ;; ++ ++ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ ++ | --libexe | --libex | --libe) ++ ac_prev=libexecdir ;; ++ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ ++ | --libexe=* | --libex=* | --libe=*) ++ libexecdir=$ac_optarg ;; ++ ++ -localedir | --localedir | --localedi | --localed | --locale) ++ ac_prev=localedir ;; ++ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) ++ localedir=$ac_optarg ;; ++ ++ -localstatedir | --localstatedir | --localstatedi | --localstated \ ++ | --localstate | --localstat | --localsta | --localst | --locals) ++ ac_prev=localstatedir ;; ++ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ ++ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) ++ localstatedir=$ac_optarg ;; ++ ++ -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ++ ac_prev=mandir ;; ++ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) ++ mandir=$ac_optarg ;; ++ ++ -nfp | --nfp | --nf) ++ # Obsolete; use --without-fp. ++ with_fp=no ;; ++ ++ -no-create | --no-create | --no-creat | --no-crea | --no-cre \ ++ | --no-cr | --no-c | -n) ++ no_create=yes ;; ++ ++ -no-recursion | --no-recursion | --no-recursio | --no-recursi \ ++ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ++ no_recursion=yes ;; ++ ++ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ ++ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ ++ | --oldin | --oldi | --old | --ol | --o) ++ ac_prev=oldincludedir ;; ++ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ ++ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ ++ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) ++ oldincludedir=$ac_optarg ;; ++ ++ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ++ ac_prev=prefix ;; ++ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) ++ prefix=$ac_optarg ;; ++ ++ -program-prefix | --program-prefix | --program-prefi | --program-pref \ ++ | --program-pre | --program-pr | --program-p) ++ ac_prev=program_prefix ;; ++ -program-prefix=* | --program-prefix=* | --program-prefi=* \ ++ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) ++ program_prefix=$ac_optarg ;; ++ ++ -program-suffix | --program-suffix | --program-suffi | --program-suff \ ++ | --program-suf | --program-su | --program-s) ++ ac_prev=program_suffix ;; ++ -program-suffix=* | --program-suffix=* | --program-suffi=* \ ++ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) ++ program_suffix=$ac_optarg ;; ++ ++ -program-transform-name | --program-transform-name \ ++ | --program-transform-nam | --program-transform-na \ ++ | --program-transform-n | --program-transform- \ ++ | --program-transform | --program-transfor \ ++ | --program-transfo | --program-transf \ ++ | --program-trans | --program-tran \ ++ | --progr-tra | --program-tr | --program-t) ++ ac_prev=program_transform_name ;; ++ -program-transform-name=* | --program-transform-name=* \ ++ | --program-transform-nam=* | --program-transform-na=* \ ++ | --program-transform-n=* | --program-transform-=* \ ++ | --program-transform=* | --program-transfor=* \ ++ | --program-transfo=* | --program-transf=* \ ++ | --program-trans=* | --program-tran=* \ ++ | --progr-tra=* | --program-tr=* | --program-t=*) ++ program_transform_name=$ac_optarg ;; ++ ++ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ++ ac_prev=pdfdir ;; ++ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) ++ pdfdir=$ac_optarg ;; ++ ++ -psdir | --psdir | --psdi | --psd | --ps) ++ ac_prev=psdir ;; ++ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) ++ psdir=$ac_optarg ;; ++ ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil) ++ silent=yes ;; ++ ++ -runstatedir | --runstatedir | --runstatedi | --runstated \ ++ | --runstate | --runstat | --runsta | --runst | --runs \ ++ | --run | --ru | --r) ++ ac_prev=runstatedir ;; ++ -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ ++ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ ++ | --run=* | --ru=* | --r=*) ++ runstatedir=$ac_optarg ;; ++ ++ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ++ ac_prev=sbindir ;; ++ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ ++ | --sbi=* | --sb=*) ++ sbindir=$ac_optarg ;; ++ ++ -sharedstatedir | --sharedstatedir | --sharedstatedi \ ++ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ ++ | --sharedst | --shareds | --shared | --share | --shar \ ++ | --sha | --sh) ++ ac_prev=sharedstatedir ;; ++ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ ++ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ ++ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ ++ | --sha=* | --sh=*) ++ sharedstatedir=$ac_optarg ;; ++ ++ -site | --site | --sit) ++ ac_prev=site ;; ++ -site=* | --site=* | --sit=*) ++ site=$ac_optarg ;; ++ ++ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ++ ac_prev=srcdir ;; ++ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) ++ srcdir=$ac_optarg ;; ++ ++ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ ++ | --syscon | --sysco | --sysc | --sys | --sy) ++ ac_prev=sysconfdir ;; ++ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ ++ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) ++ sysconfdir=$ac_optarg ;; ++ ++ -target | --target | --targe | --targ | --tar | --ta | --t) ++ ac_prev=target_alias ;; ++ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) ++ target_alias=$ac_optarg ;; ++ ++ -v | -verbose | --verbose | --verbos | --verbo | --verb) ++ verbose=yes ;; ++ ++ -version | --version | --versio | --versi | --vers | -V) ++ ac_init_version=: ;; ++ ++ -with-* | --with-*) ++ ac_useropt=`expr "x$ac_option" : 'x-*with-([^=]*)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && ++ as_fn_error $? "invalid package name: `$ac_useropt'" ++ ac_useropt_orig=$ac_useropt ++ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` ++ case $ac_user_opts in ++ *" ++"with_$ac_useropt" ++"*) ;; ++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ++ ac_unrecognized_sep=', ';; ++ esac ++ eval with_$ac_useropt=$ac_optarg ;; ++ ++ -without-* | --without-*) ++ ac_useropt=`expr "x$ac_option" : 'x-*without-(.*)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && ++ as_fn_error $? "invalid package name: `$ac_useropt'" ++ ac_useropt_orig=$ac_useropt ++ ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` ++ case $ac_user_opts in ++ *" ++"with_$ac_useropt" ++"*) ;; ++ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ++ ac_unrecognized_sep=', ';; ++ esac ++ eval with_$ac_useropt=no ;; ++ ++ --x) ++ # Obsolete; use --with-x. ++ with_x=yes ;; ++ ++ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ ++ | --x-incl | --x-inc | --x-in | --x-i) ++ ac_prev=x_includes ;; ++ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ ++ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) ++ x_includes=$ac_optarg ;; ++ ++ -x-libraries | --x-libraries | --x-librarie | --x-librari \ ++ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ++ ac_prev=x_libraries ;; ++ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ ++ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) ++ x_libraries=$ac_optarg ;; ++ ++ -*) as_fn_error $? "unrecognized option: `$ac_option' ++Try `$0 --help' for more information" ++ ;; ++ ++ *=*) ++ ac_envvar=`expr "x$ac_option" : 'x([^=]*)='` ++ # Reject names that are not valid shell variable names. ++ case $ac_envvar in #( ++ '' | [0-9]* | *[!_$as_cr_alnum]* ) ++ as_fn_error $? "invalid variable name: `$ac_envvar'" ;; ++ esac ++ eval $ac_envvar=$ac_optarg ++ export $ac_envvar ;; ++ ++ *) ++ # FIXME: should be removed in autoconf 3.0. ++ printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 ++ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && ++ printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2 ++ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ++ ;; ++ ++ esac ++done ++ ++if test -n "$ac_prev"; then ++ ac_option=--`echo $ac_prev | sed 's/_/-/g'` ++ as_fn_error $? "missing argument to $ac_option" ++fi ++ ++if test -n "$ac_unrecognized_opts"; then ++ case $enable_option_checking in ++ no) ;; ++ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; ++ *) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; ++ esac ++fi ++ ++# Check all directory arguments for consistency. ++for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ ++ datadir sysconfdir sharedstatedir localstatedir includedir \ ++ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ ++ libdir localedir mandir runstatedir ++do ++ eval ac_val=$$ac_var ++ # Remove trailing slashes. ++ case $ac_val in ++ */ ) ++ ac_val=`expr "X$ac_val" : 'X(.*[^/])' | "X$ac_val" : 'X(.*)'` ++ eval $ac_var=$ac_val;; ++ esac ++ # Be sure to have absolute directory names. ++ case $ac_val in ++ [\/$]* | ?:[\/]* ) continue;; ++ NONE | '' ) case $ac_var in *prefix ) continue;; esac;; ++ esac ++ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" ++done ++ ++# There might be people who depend on the old broken behavior: `$host' ++# used to hold the argument of --host etc. ++# FIXME: To remove some day. ++build=$build_alias ++host=$host_alias ++target=$target_alias ++ ++# FIXME: To remove some day. ++if test "x$host_alias" != x; then ++ if test "x$build_alias" = x; then ++ cross_compiling=maybe ++ elif test "x$build_alias" != "x$host_alias"; then ++ cross_compiling=yes ++ fi ++fi ++ ++ac_tool_prefix= ++test -n "$host_alias" && ac_tool_prefix=$host_alias- ++ ++test "$silent" = yes && exec 6>/dev/null ++ ++ ++ac_pwd=`pwd` && test -n "$ac_pwd" && ++ac_ls_di=`ls -di .` && ++ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || ++ as_fn_error $? "working directory cannot be determined" ++test "X$ac_ls_di" = "X$ac_pwd_ls_di" || ++ as_fn_error $? "pwd does not report name of working directory" ++ ++ ++# Find the source files, if location was not specified. ++if test -z "$srcdir"; then ++ ac_srcdir_defaulted=yes ++ # Try the directory containing this script, then the parent directory. ++ ac_confdir=`$as_dirname -- "$as_myself" || ++$as_expr X"$as_myself" : 'X(.*[^/])//*[^/][^/]*/*$' | \ ++ X"$as_myself" : 'X(//)[^/]' | \ ++ X"$as_myself" : 'X(//)$' | \ ++ X"$as_myself" : 'X(/)' | . 2>/dev/null || ++printf "%s\n" X"$as_myself" | ++ sed '/^X(.*[^/])//*[^/][^/]*/*$/{ ++ s//\1/ ++ q ++ } ++ /^X(//)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X(//)$/{ ++ s//\1/ ++ q ++ } ++ /^X(/).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ srcdir=$ac_confdir ++ if test ! -r "$srcdir/$ac_unique_file"; then ++ srcdir=.. ++ fi ++else ++ ac_srcdir_defaulted=no ++fi ++if test ! -r "$srcdir/$ac_unique_file"; then ++ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." ++ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" ++fi ++ac_msg="sources are in $srcdir, but `cd $srcdir' does not work" ++ac_abs_confdir=`( ++ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" ++ pwd)` ++# When building in place, set srcdir=. ++if test "$ac_abs_confdir" = "$ac_pwd"; then ++ srcdir=. ++fi ++# Remove unnecessary trailing slashes from srcdir. ++# Double slashes in file names in object file debugging info ++# mess up M-x gdb in Emacs. ++case $srcdir in ++*/) srcdir=`expr "X$srcdir" : 'X(.*[^/])' | "X$srcdir" : 'X(.*)'`;; ++esac ++for ac_var in $ac_precious_vars; do ++ eval ac_env_${ac_var}_set=${${ac_var}+set} ++ eval ac_env_${ac_var}_value=$${ac_var} ++ eval ac_cv_env_${ac_var}_set=${${ac_var}+set} ++ eval ac_cv_env_${ac_var}_value=$${ac_var} ++done ++ ++# ++# Report the --help message. ++# ++if test "$ac_init_help" = "long"; then ++ # Omit some internal or obsolete options to make the list less imposing. ++ # This message is too long to be a string in the A/UX 3.1 sh. ++ cat <<_ACEOF ++`configure' configures bwm-ng 0.6.3 to adapt to many kinds of systems. ++ ++Usage: $0 [OPTION]... [VAR=VALUE]... ++ ++To assign environment variables (e.g., CC, CFLAGS...), specify them as ++VAR=VALUE. See below for descriptions of some of the useful variables. ++ ++Defaults for the options are specified in brackets. ++ ++Configuration: ++ -h, --help display this help and exit ++ --help=short display options specific to this package ++ --help=recursive display the short help of all the included packages ++ -V, --version display version information and exit ++ -q, --quiet, --silent do not print `checking ...' messages ++ --cache-file=FILE cache test results in FILE [disabled] ++ -C, --config-cache alias for `--cache-file=config.cache' ++ -n, --no-create do not create output files ++ --srcdir=DIR find the sources in DIR [configure dir or `..'] ++ ++Installation directories: ++ --prefix=PREFIX install architecture-independent files in PREFIX ++ [$ac_default_prefix] ++ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX ++ [PREFIX] ++ ++By default, `make install' will install all the files in ++`$ac_default_prefix/bin', `$ac_default_prefix/lib' etc. You can specify ++an installation prefix other than `$ac_default_prefix' using `--prefix', ++for instance `--prefix=$HOME'. ++ ++For better control, use the options below. ++ ++Fine tuning of the installation directories: ++ --bindir=DIR user executables [EPREFIX/bin] ++ --sbindir=DIR system admin executables [EPREFIX/sbin] ++ --libexecdir=DIR program executables [EPREFIX/libexec] ++ --sysconfdir=DIR read-only single-machine data [PREFIX/etc] ++ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] ++ --localstatedir=DIR modifiable single-machine data [PREFIX/var] ++ --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] ++ --libdir=DIR object code libraries [EPREFIX/lib] ++ --includedir=DIR C header files [PREFIX/include] ++ --oldincludedir=DIR C header files for non-gcc [/usr/include] ++ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] ++ --datadir=DIR read-only architecture-independent data [DATAROOTDIR] ++ --infodir=DIR info documentation [DATAROOTDIR/info] ++ --localedir=DIR locale-dependent data [DATAROOTDIR/locale] ++ --mandir=DIR man documentation [DATAROOTDIR/man] ++ --docdir=DIR documentation root [DATAROOTDIR/doc/bwm-ng] ++ --htmldir=DIR html documentation [DOCDIR] ++ --dvidir=DIR dvi documentation [DOCDIR] ++ --pdfdir=DIR pdf documentation [DOCDIR] ++ --psdir=DIR ps documentation [DOCDIR] ++_ACEOF ++ ++ cat <<_ACEOF ++ ++Program names: ++ --program-prefix=PREFIX prepend PREFIX to installed program names ++ --program-suffix=SUFFIX append SUFFIX to installed program names ++ --program-transform-name=PROGRAM run sed PROGRAM on installed program names ++_ACEOF ++fi ++ ++if test -n "$ac_init_help"; then ++ case $ac_init_help in ++ short | recursive ) echo "Configuration of bwm-ng 0.6.3:";; ++ esac ++ cat <<_ACEOF ++ ++Optional Features: ++ --disable-option-checking ignore unrecognized --enable/--with options ++ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) ++ --enable-FEATURE[=ARG] include FEATURE [ARG=yes] ++ --enable-silent-rules less verbose build output (undo: "make V=1") ++ --disable-silent-rules verbose build output (undo: "make V=0") ++ --enable-debug enable debug (default: no) ++ --enable-dependency-tracking ++ do not reject slow dependency extractors ++ --disable-dependency-tracking ++ speeds up one-time build ++ --enable-html enable html output (default: yes) ++ --enable-csv enable csv output (default: yes) ++ --enable-extendedstats enable max, sum and avg stats (default: yes) ++ --enable-configfile enable configfile support (default: yes) ++ --enable-64bit enable 64bit support (default: no) ++ --enable-netstatpath enable path to netstat as runtime option (default: ++ no), WARNING THIS IS A SECURITY FLAW! ++ --enable-netstatbyte enable netstat with byte info (default: no) ++ --enable-netstatlink enable netstat with link limit (default: no) ++ ++Optional Packages: ++ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] ++ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) ++ --with-curses with curses (ARG=PATH) ++ --with-ncurses prefer ncurses over curses (ARG=PATH) ++ --with-time enable accurate time calculating (ARG=PATH) ++ --with-getopt_long enable getopt_long for long options (ARG=PATH) ++ --with-getifaddrs enable getifaddrs input (ARG=PATH) ++ --with-sysctl enable sysctl input (ARG=PATH) ++ --with-sysctldisk enable sysctl disk input (ARG=PATH) ++ --with-kstat enable kstat (Solaris) input (ARG=PATH) ++ --with-win32 enable win32 input ++ --with-procnetdev enable /proc/net/dev input (ARG=PATH) ++ --with-diskstats enable /proc/diskstats input (diskio) (ARG=PATH) ++ --with-partitions enable /proc/partitions input (diskio) (ARG=PATH) ++ --with-devstat enable devstat input (ie FreeBSD) (ARG=PATH) ++ --with-ioservice Use darwin IOService to gather statistics ++ --without-libstatgrab Use libstatgrab to gather statistics ++ --with-netstatbsd enable bsd like netstat -i (ARG=PATH) ++ --with-netstatlinux enable linux like netstat -i (ARG=PATH) ++ --with-netstatlinuxnew enable linux newer versions ie 2016+ like netstat -i ++ (ARG=PATH) ++ --with-netstatsolaris enable solaris like netstat -i (ARG=PATH) ++ --with-netstatnetbsd enable NetBSD/OpenBSD like netstat -i (ARG=PATH) ++ --with-strip use strip after make (ARG=PATH) ++ ++Some influential environment variables: ++ CC C compiler command ++ CFLAGS C compiler flags ++ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a ++ nonstandard directory <lib dir> ++ LIBS libraries to pass to the linker, e.g. -l<library> ++ CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if ++ you have headers in a nonstandard directory <include dir> ++ ++Use these variables to override the choices made by `configure' or to help ++it to find libraries and programs with nonstandard names/locations. ++ ++Report bugs to bwmng@gropp.org. ++_ACEOF ++ac_status=$? ++fi ++ ++if test "$ac_init_help" = "recursive"; then ++ # If there are subdirs, report their specific --help. ++ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue ++ test -d "$ac_dir" || ++ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || ++ continue ++ ac_builddir=. ++ ++case "$ac_dir" in ++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; ++*) ++ ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^.[\/]||'` ++ # A ".." for each directory in $ac_dir_suffix. ++ ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\/]*|/..|g;s|/||'` ++ case $ac_top_builddir_sub in ++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; ++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; ++ esac ;; ++esac ++ac_abs_top_builddir=$ac_pwd ++ac_abs_builddir=$ac_pwd$ac_dir_suffix ++# for backward compatibility: ++ac_top_builddir=$ac_top_build_prefix ++ ++case $srcdir in ++ .) # We are building in place. ++ ac_srcdir=. ++ ac_top_srcdir=$ac_top_builddir_sub ++ ac_abs_top_srcdir=$ac_pwd ;; ++ [\/]* | ?:[\/]* ) # Absolute name. ++ ac_srcdir=$srcdir$ac_dir_suffix; ++ ac_top_srcdir=$srcdir ++ ac_abs_top_srcdir=$srcdir ;; ++ *) # Relative name. ++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ++ ac_top_srcdir=$ac_top_build_prefix$srcdir ++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; ++esac ++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix ++ ++ cd "$ac_dir" || { ac_status=$?; continue; } ++ # Check for configure.gnu first; this name is used for a wrapper for ++ # Metaconfig's "Configure" on case-insensitive file systems. ++ if test -f "$ac_srcdir/configure.gnu"; then ++ echo && ++ $SHELL "$ac_srcdir/configure.gnu" --help=recursive ++ elif test -f "$ac_srcdir/configure"; then ++ echo && ++ $SHELL "$ac_srcdir/configure" --help=recursive ++ else ++ printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2 ++ fi || ac_status=$? ++ cd "$ac_pwd" || { ac_status=$?; break; } ++ done ++fi ++ ++test -n "$ac_init_help" && exit $ac_status ++if $ac_init_version; then ++ cat <<_ACEOF ++bwm-ng configure 0.6.3 ++generated by GNU Autoconf 2.71 ++ ++Copyright (C) 2021 Free Software Foundation, Inc. ++This configure script is free software; the Free Software Foundation ++gives unlimited permission to copy, distribute and modify it. ++_ACEOF ++ exit ++fi ++ ++## ------------------------ ## ++## Autoconf initialization. ## ++## ------------------------ ## ++ ++# ac_fn_c_try_compile LINENO ++# -------------------------- ++# Try to compile conftest.$ac_ext, and return whether this succeeded. ++ac_fn_c_try_compile () ++{ ++ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ rm -f conftest.$ac_objext conftest.beam ++ if { { ac_try="$ac_compile" ++case "(($ac_try" in ++ *"* | *`* | *\*) ac_try_echo=$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo=""$as_me:${as_lineno-$LINENO}: $ac_try_echo"" ++printf "%s\n" "$ac_try_echo"; } >&5 ++ (eval "$ac_compile") 2>conftest.err ++ ac_status=$? ++ if test -s conftest.err; then ++ grep -v '^ *+' conftest.err >conftest.er1 ++ cat conftest.er1 >&5 ++ mv -f conftest.er1 conftest.err ++ fi ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: $? = $ac_status" >&5 ++ test $ac_status = 0; } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext ++then : ++ ac_retval=0 ++else $as_nop ++ printf "%s\n" "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_retval=1 ++fi ++ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno ++ as_fn_set_status $ac_retval ++ ++} # ac_fn_c_try_compile ++ ++# ac_fn_c_check_type LINENO TYPE VAR INCLUDES ++# ------------------------------------------- ++# Tests whether TYPE exists after having included INCLUDES, setting cache ++# variable VAR accordingly. ++ac_fn_c_check_type () ++{ ++ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 ++printf %s "checking for $2... " >&6; } ++if eval test ${$3+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ eval "$3=no" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$4 ++int ++main (void) ++{ ++if (sizeof ($2)) ++ return 0; ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO" ++then : ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$4 ++int ++main (void) ++{ ++if (sizeof (($2))) ++ return 0; ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO" ++then : ++ ++else $as_nop ++ eval "$3=yes" ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++fi ++eval ac_res=$$3 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 ++printf "%s\n" "$ac_res" >&6; } ++ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno ++ ++} # ac_fn_c_check_type ++ ++# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES ++# ------------------------------------------------------- ++# Tests whether HEADER exists and can be compiled using the include files in ++# INCLUDES, setting the cache variable VAR accordingly. ++ac_fn_c_check_header_compile () ++{ ++ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 ++printf %s "checking for $2... " >&6; } ++if eval test ${$3+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$4 ++#include <$2> ++_ACEOF ++if ac_fn_c_try_compile "$LINENO" ++then : ++ eval "$3=yes" ++else $as_nop ++ eval "$3=no" ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++fi ++eval ac_res=$$3 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 ++printf "%s\n" "$ac_res" >&6; } ++ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno ++ ++} # ac_fn_c_check_header_compile ++ ++# ac_fn_c_try_link LINENO ++# ----------------------- ++# Try to link conftest.$ac_ext, and return whether this succeeded. ++ac_fn_c_try_link () ++{ ++ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext ++ if { { ac_try="$ac_link" ++case "(($ac_try" in ++ *"* | *`* | *\*) ac_try_echo=$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo=""$as_me:${as_lineno-$LINENO}: $ac_try_echo"" ++printf "%s\n" "$ac_try_echo"; } >&5 ++ (eval "$ac_link") 2>conftest.err ++ ac_status=$? ++ if test -s conftest.err; then ++ grep -v '^ *+' conftest.err >conftest.er1 ++ cat conftest.er1 >&5 ++ mv -f conftest.er1 conftest.err ++ fi ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: $? = $ac_status" >&5 ++ test $ac_status = 0; } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest$ac_exeext && { ++ test "$cross_compiling" = yes || ++ test -x conftest$ac_exeext ++ } ++then : ++ ac_retval=0 ++else $as_nop ++ printf "%s\n" "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_retval=1 ++fi ++ # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information ++ # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would ++ # interfere with the next link command; also delete a directory that is ++ # left behind by Apple's compiler. We do this before executing the actions. ++ rm -rf conftest.dSYM conftest_ipa8_conftest.oo ++ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno ++ as_fn_set_status $ac_retval ++ ++} # ac_fn_c_try_link ++ ++# ac_fn_c_check_func LINENO FUNC VAR ++# ---------------------------------- ++# Tests whether FUNC exists, setting the cache variable VAR accordingly ++ac_fn_c_check_func () ++{ ++ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 ++printf %s "checking for $2... " >&6; } ++if eval test ${$3+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++/* Define $2 to an innocuous variant, in case <limits.h> declares $2. ++ For example, HP-UX 11i <limits.h> declares gettimeofday. */ ++#define $2 innocuous_$2 ++ ++/* System header to define __stub macros and hopefully few prototypes, ++ which can conflict with char $2 (); below. */ ++ ++#include <limits.h> ++#undef $2 ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++char $2 (); ++/* The GNU C library defines this for functions which it implements ++ to always fail with ENOSYS. Some functions are actually named ++ something starting with __ and the normal name is an alias. */ ++#if defined __stub_$2 || defined __stub___$2 ++choke me ++#endif ++ ++int ++main (void) ++{ ++return $2 (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO" ++then : ++ eval "$3=yes" ++else $as_nop ++ eval "$3=no" ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ ++ conftest$ac_exeext conftest.$ac_ext ++fi ++eval ac_res=$$3 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 ++printf "%s\n" "$ac_res" >&6; } ++ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno ++ ++} # ac_fn_c_check_func ++ ++# ac_fn_c_try_run LINENO ++# ---------------------- ++# Try to run conftest.$ac_ext, and return whether this succeeded. Assumes that ++# executables *can* be run. ++ac_fn_c_try_run () ++{ ++ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ if { { ac_try="$ac_link" ++case "(($ac_try" in ++ *"* | *`* | *\*) ac_try_echo=$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo=""$as_me:${as_lineno-$LINENO}: $ac_try_echo"" ++printf "%s\n" "$ac_try_echo"; } >&5 ++ (eval "$ac_link") 2>&5 ++ ac_status=$? ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: $? = $ac_status" >&5 ++ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' ++ { { case "(($ac_try" in ++ *"* | *`* | *\*) ac_try_echo=$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo=""$as_me:${as_lineno-$LINENO}: $ac_try_echo"" ++printf "%s\n" "$ac_try_echo"; } >&5 ++ (eval "$ac_try") 2>&5 ++ ac_status=$? ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: $? = $ac_status" >&5 ++ test $ac_status = 0; }; } ++then : ++ ac_retval=0 ++else $as_nop ++ printf "%s\n" "$as_me: program exited with status $ac_status" >&5 ++ printf "%s\n" "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_retval=$ac_status ++fi ++ rm -rf conftest.dSYM conftest_ipa8_conftest.oo ++ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno ++ as_fn_set_status $ac_retval ++ ++} # ac_fn_c_try_run ++ ++# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES ++# ---------------------------------------------------- ++# Tries to find if the field MEMBER exists in type AGGR, after including ++# INCLUDES, setting cache variable VAR accordingly. ++ac_fn_c_check_member () ++{ ++ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 ++printf %s "checking for $2.$3... " >&6; } ++if eval test ${$4+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$5 ++int ++main (void) ++{ ++static $2 ac_aggr; ++if (ac_aggr.$3) ++return 0; ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO" ++then : ++ eval "$4=yes" ++else $as_nop ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$5 ++int ++main (void) ++{ ++static $2 ac_aggr; ++if (sizeof ac_aggr.$3) ++return 0; ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO" ++then : ++ eval "$4=yes" ++else $as_nop ++ eval "$4=no" ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++fi ++eval ac_res=$$4 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 ++printf "%s\n" "$ac_res" >&6; } ++ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno ++ ++} # ac_fn_c_check_member ++ac_configure_args_raw= ++for ac_arg ++do ++ case $ac_arg in ++ *'*) ++ ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\''/g"` ;; ++ esac ++ as_fn_append ac_configure_args_raw " '$ac_arg'" ++done ++ ++case $ac_configure_args_raw in ++ *$as_nl*) ++ ac_safe_unquote= ;; ++ *) ++ ac_unsafe_z='|&;<>()$`\"*?[ '' ' # This string ends in space, tab. ++ ac_unsafe_a="$ac_unsafe_z#~" ++ ac_safe_unquote="s/ '\([^$ac_unsafe_a][^$ac_unsafe_z]*\)'/ \1/g" ++ ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; ++esac ++ ++cat >config.log <<_ACEOF ++This file contains any messages produced by compilers while ++running configure, to aid debugging if configure makes a mistake. ++ ++It was created by bwm-ng $as_me 0.6.3, which was ++generated by GNU Autoconf 2.71. Invocation command line was ++ ++ $ $0$ac_configure_args_raw ++ ++_ACEOF ++exec 5>>config.log ++{ ++cat <<_ASUNAME ++## --------- ## ++## Platform. ## ++## --------- ## ++ ++hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` ++uname -m = `(uname -m) 2>/dev/null || echo unknown` ++uname -r = `(uname -r) 2>/dev/null || echo unknown` ++uname -s = `(uname -s) 2>/dev/null || echo unknown` ++uname -v = `(uname -v) 2>/dev/null || echo unknown` ++ ++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` ++/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` ++ ++/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` ++/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` ++/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` ++/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` ++/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` ++/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` ++/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` ++ ++_ASUNAME ++ ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ printf "%s\n" "PATH: $as_dir" ++ done ++IFS=$as_save_IFS ++ ++} >&5 ++ ++cat >&5 <<_ACEOF ++ ++ ++## ----------- ## ++## Core tests. ## ++## ----------- ## ++ ++_ACEOF ++ ++ ++# Keep a trace of the command line. ++# Strip out --no-create and --no-recursion so they do not pile up. ++# Strip out --silent because we don't want to record it for future runs. ++# Also quote any args containing shell meta-characters. ++# Make two passes to allow for proper duplicate-argument suppression. ++ac_configure_args= ++ac_configure_args0= ++ac_configure_args1= ++ac_must_keep_next=false ++for ac_pass in 1 2 ++do ++ for ac_arg ++ do ++ case $ac_arg in ++ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil) ++ continue ;; ++ *'*) ++ ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\''/g"` ;; ++ esac ++ case $ac_pass in ++ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; ++ 2) ++ as_fn_append ac_configure_args1 " '$ac_arg'" ++ if test $ac_must_keep_next = true; then ++ ac_must_keep_next=false # Got value, back to normal. ++ else ++ case $ac_arg in ++ *=* | --config-cache | -C | -disable-* | --disable-* \ ++ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ ++ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ ++ | -with-* | --with-* | -without-* | --without-* | --x) ++ case "$ac_configure_args0 " in ++ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; ++ esac ++ ;; ++ -* ) ac_must_keep_next=true ;; ++ esac ++ fi ++ as_fn_append ac_configure_args " '$ac_arg'" ++ ;; ++ esac ++ done ++done ++{ ac_configure_args0=; unset ac_configure_args0;} ++{ ac_configure_args1=; unset ac_configure_args1;} ++ ++# When interrupted or exit'd, cleanup temporary files, and complete ++# config.log. We remove comments because anyway the quotes in there ++# would cause problems or look ugly. ++# WARNING: Use ''' to represent an apostrophe within the trap. ++# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. ++trap 'exit_status=$? ++ # Sanitize IFS. ++ IFS=" "" $as_nl" ++ # Save into config.log some information that might help in debugging. ++ { ++ echo ++ ++ printf "%s\n" "## ---------------- ## ++## Cache variables. ## ++## ---------------- ##" ++ echo ++ # The following way of writing the cache mishandles newlines in values, ++( ++ for ac_var in `(set) 2>&1 | sed -n '''s/^([a-zA-Z_][a-zA-Z0-9_]*)=.*/\1/p'''`; do ++ eval ac_val=$$ac_var ++ case $ac_val in #( ++ *${as_nl}*) ++ case $ac_var in #( ++ *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 ++printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ++ esac ++ case $ac_var in #( ++ _ | IFS | as_nl) ;; #( ++ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( ++ *) { eval $ac_var=; unset $ac_var;} ;; ++ esac ;; ++ esac ++ done ++ (set) 2>&1 | ++ case $as_nl`(ac_space=''' '''; set) 2>&1` in #( ++ *${as_nl}ac_space=\ *) ++ sed -n \ ++ "s/'''/'''\\''''''/g; ++ s/^\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\)=\(.*\)/\1='''\2'''/p" ++ ;; #( ++ *) ++ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ++ ;; ++ esac | ++ sort ++) ++ echo ++ ++ printf "%s\n" "## ----------------- ## ++## Output variables. ## ++## ----------------- ##" ++ echo ++ for ac_var in $ac_subst_vars ++ do ++ eval ac_val=$$ac_var ++ case $ac_val in ++ *'''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'''/'''\\\\''''''/g"`;; ++ esac ++ printf "%s\n" "$ac_var='''$ac_val'''" ++ done | sort ++ echo ++ ++ if test -n "$ac_subst_files"; then ++ printf "%s\n" "## ------------------- ## ++## File substitutions. ## ++## ------------------- ##" ++ echo ++ for ac_var in $ac_subst_files ++ do ++ eval ac_val=$$ac_var ++ case $ac_val in ++ *'''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'''/'''\\\\''''''/g"`;; ++ esac ++ printf "%s\n" "$ac_var='''$ac_val'''" ++ done | sort ++ echo ++ fi ++ ++ if test -s confdefs.h; then ++ printf "%s\n" "## ----------- ## ++## confdefs.h. ## ++## ----------- ##" ++ echo ++ cat confdefs.h ++ echo ++ fi ++ test "$ac_signal" != 0 && ++ printf "%s\n" "$as_me: caught signal $ac_signal" ++ printf "%s\n" "$as_me: exit $exit_status" ++ } >&5 ++ rm -f core *.core core.conftest.* && ++ rm -f -r conftest* confdefs* conf$$* $ac_clean_files && ++ exit $exit_status ++' 0 ++for ac_signal in 1 2 13 15; do ++ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal ++done ++ac_signal=0 ++ ++# confdefs.h avoids OS command line length limits that DEFS can exceed. ++rm -f -r conftest* confdefs.h ++ ++printf "%s\n" "/* confdefs.h */" > confdefs.h ++ ++# Predefined preprocessor variables. ++ ++printf "%s\n" "#define PACKAGE_NAME "$PACKAGE_NAME"" >>confdefs.h ++ ++printf "%s\n" "#define PACKAGE_TARNAME "$PACKAGE_TARNAME"" >>confdefs.h ++ ++printf "%s\n" "#define PACKAGE_VERSION "$PACKAGE_VERSION"" >>confdefs.h ++ ++printf "%s\n" "#define PACKAGE_STRING "$PACKAGE_STRING"" >>confdefs.h ++ ++printf "%s\n" "#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"" >>confdefs.h ++ ++printf "%s\n" "#define PACKAGE_URL "$PACKAGE_URL"" >>confdefs.h ++ ++ ++# Let the site file select an alternate cache file if it wants to. ++# Prefer an explicitly selected file to automatically selected ones. ++if test -n "$CONFIG_SITE"; then ++ ac_site_files="$CONFIG_SITE" ++elif test "x$prefix" != xNONE; then ++ ac_site_files="$prefix/share/config.site $prefix/etc/config.site" ++else ++ ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" ++fi ++ ++for ac_site_file in $ac_site_files ++do ++ case $ac_site_file in #( ++ */*) : ++ ;; #( ++ *) : ++ ac_site_file=./$ac_site_file ;; ++esac ++ if test -f "$ac_site_file" && test -r "$ac_site_file"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 ++printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} ++ sed 's/^/| /' "$ac_site_file" >&5 ++ . "$ac_site_file" \ ++ || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in `$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in `$ac_pwd':" >&2;} ++as_fn_error $? "failed to load site script $ac_site_file ++See `config.log' for more details" "$LINENO" 5; } ++ fi ++done ++ ++if test -r "$cache_file"; then ++ # Some versions of bash will fail to source /dev/null (special files ++ # actually), so we avoid doing that. DJGPP emulates it as a regular file. ++ if test /dev/null != "$cache_file" && test -f "$cache_file"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 ++printf "%s\n" "$as_me: loading cache $cache_file" >&6;} ++ case $cache_file in ++ [\/]* | ?:[\/]* ) . "$cache_file";; ++ *) . "./$cache_file";; ++ esac ++ fi ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 ++printf "%s\n" "$as_me: creating cache $cache_file" >&6;} ++ >$cache_file ++fi ++ ++# Test code for whether the C compiler supports C89 (global declarations) ++ac_c_conftest_c89_globals=' ++/* Does the compiler advertise C89 conformance? ++ Do not test the value of __STDC__, because some compilers set it to 0 ++ while being otherwise adequately conformant. */ ++#if !defined __STDC__ ++# error "Compiler does not advertise C89 conformance" ++#endif ++ ++#include <stddef.h> ++#include <stdarg.h> ++struct stat; ++/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ ++struct buf { int x; }; ++struct buf * (*rcsopen) (struct buf *, struct stat *, int); ++static char *e (p, i) ++ char **p; ++ int i; ++{ ++ return p[i]; ++} ++static char *f (char * (*g) (char **, int), char **p, ...) ++{ ++ char *s; ++ va_list v; ++ va_start (v,p); ++ s = g (p, va_arg (v,int)); ++ va_end (v); ++ return s; ++} ++ ++/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has ++ function prototypes and stuff, but not \xHH hex character constants. ++ These do not provoke an error unfortunately, instead are silently treated ++ as an "x". The following induces an error, until -std is added to get ++ proper ANSI mode. Curiously \x00 != x always comes out true, for an ++ array size at least. It is necessary to write \x00 == 0 to get something ++ that is true only with -std. */ ++int osf4_cc_array ['''\x00''' == 0 ? 1 : -1]; ++ ++/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters ++ inside strings and character constants. */ ++#define FOO(x) '''x''' ++int xlc6_cc_array[FOO(a) == '''x''' ? 1 : -1]; ++ ++int test (int i, double x); ++struct s1 {int (*f) (int a);}; ++struct s2 {int (*f) (double a);}; ++int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int), ++ int, int);' ++ ++# Test code for whether the C compiler supports C89 (body of main). ++ac_c_conftest_c89_main=' ++ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); ++' ++ ++# Test code for whether the C compiler supports C99 (global declarations) ++ac_c_conftest_c99_globals=' ++// Does the compiler advertise C99 conformance? ++#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L ++# error "Compiler does not advertise C99 conformance" ++#endif ++ ++#include <stdbool.h> ++extern int puts (const char *); ++extern int printf (const char *, ...); ++extern int dprintf (int, const char *, ...); ++extern void *malloc (size_t); ++ ++// Check varargs macros. These examples are taken from C99 6.10.3.5. ++// dprintf is used instead of fprintf to avoid needing to declare ++// FILE and stderr. ++#define debug(...) dprintf (2, __VA_ARGS__) ++#define showlist(...) puts (#__VA_ARGS__) ++#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) ++static void ++test_varargs_macros (void) ++{ ++ int x = 1234; ++ int y = 5678; ++ debug ("Flag"); ++ debug ("X = %d\n", x); ++ showlist (The first, second, and third items.); ++ report (x>y, "x is %d but y is %d", x, y); ++} ++ ++// Check long long types. ++#define BIG64 18446744073709551615ull ++#define BIG32 4294967295ul ++#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) ++#if !BIG_OK ++ #error "your preprocessor is broken" ++#endif ++#if BIG_OK ++#else ++ #error "your preprocessor is broken" ++#endif ++static long long int bignum = -9223372036854775807LL; ++static unsigned long long int ubignum = BIG64; ++ ++struct incomplete_array ++{ ++ int datasize; ++ double data[]; ++}; ++ ++struct named_init { ++ int number; ++ const wchar_t *name; ++ double average; ++}; ++ ++typedef const char *ccp; ++ ++static inline int ++test_restrict (ccp restrict text) ++{ ++ // See if C++-style comments work. ++ // Iterate through items via the restricted pointer. ++ // Also check for declarations in for loops. ++ for (unsigned int i = 0; *(text+i) != '''\0'''; ++i) ++ continue; ++ return 0; ++} ++ ++// Check varargs and va_copy. ++static bool ++test_varargs (const char *format, ...) ++{ ++ va_list args; ++ va_start (args, format); ++ va_list args_copy; ++ va_copy (args_copy, args); ++ ++ const char *str = ""; ++ int number = 0; ++ float fnumber = 0; ++ ++ while (*format) ++ { ++ switch (*format++) ++ { ++ case '''s''': // string ++ str = va_arg (args_copy, const char *); ++ break; ++ case '''d''': // int ++ number = va_arg (args_copy, int); ++ break; ++ case '''f''': // float ++ fnumber = va_arg (args_copy, double); ++ break; ++ default: ++ break; ++ } ++ } ++ va_end (args_copy); ++ va_end (args); ++ ++ return *str && number && fnumber; ++} ++' ++ ++# Test code for whether the C compiler supports C99 (body of main). ++ac_c_conftest_c99_main=' ++ // Check bool. ++ _Bool success = false; ++ success |= (argc != 0); ++ ++ // Check restrict. ++ if (test_restrict ("String literal") == 0) ++ success = true; ++ char *restrict newvar = "Another string"; ++ ++ // Check varargs. ++ success &= test_varargs ("s, d''' f .", "string", 65, 34.234); ++ test_varargs_macros (); ++ ++ // Check flexible array members. ++ struct incomplete_array *ia = ++ malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); ++ ia->datasize = 10; ++ for (int i = 0; i < ia->datasize; ++i) ++ ia->data[i] = i * 1.234; ++ ++ // Check named initializers. ++ struct named_init ni = { ++ .number = 34, ++ .name = L"Test wide string", ++ .average = 543.34343, ++ }; ++ ++ ni.number = 58; ++ ++ int dynamic_array[ni.number]; ++ dynamic_array[0] = argv[0][0]; ++ dynamic_array[ni.number - 1] = 543; ++ ++ // work around unused variable warnings ++ ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '''x''' ++ || dynamic_array[ni.number - 1] != 543); ++' ++ ++# Test code for whether the C compiler supports C11 (global declarations) ++ac_c_conftest_c11_globals=' ++// Does the compiler advertise C11 conformance? ++#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L ++# error "Compiler does not advertise C11 conformance" ++#endif ++ ++// Check _Alignas. ++char _Alignas (double) aligned_as_double; ++char _Alignas (0) no_special_alignment; ++extern char aligned_as_int; ++char _Alignas (0) _Alignas (int) aligned_as_int; ++ ++// Check _Alignof. ++enum ++{ ++ int_alignment = _Alignof (int), ++ int_array_alignment = _Alignof (int[100]), ++ char_alignment = _Alignof (char) ++}; ++_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); ++ ++// Check _Noreturn. ++int _Noreturn does_not_return (void) { for (;;) continue; } ++ ++// Check _Static_assert. ++struct test_static_assert ++{ ++ int x; ++ _Static_assert (sizeof (int) <= sizeof (long int), ++ "_Static_assert does not work in struct"); ++ long int y; ++}; ++ ++// Check UTF-8 literals. ++#define u8 syntax error! ++char const utf8_literal[] = u8"happens to be ASCII" "another string"; ++ ++// Check duplicate typedefs. ++typedef long *long_ptr; ++typedef long int *long_ptr; ++typedef long_ptr long_ptr; ++ ++// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. ++struct anonymous ++{ ++ union { ++ struct { int i; int j; }; ++ struct { int k; long int l; } w; ++ }; ++ int m; ++} v1; ++' ++ ++# Test code for whether the C compiler supports C11 (body of main). ++ac_c_conftest_c11_main=' ++ _Static_assert ((offsetof (struct anonymous, i) ++ == offsetof (struct anonymous, w.k)), ++ "Anonymous union alignment botch"); ++ v1.i = 2; ++ v1.w.k = 5; ++ ok |= v1.i != 5; ++' ++ ++# Test code for whether the C compiler supports C11 (complete). ++ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} ++${ac_c_conftest_c99_globals} ++${ac_c_conftest_c11_globals} ++ ++int ++main (int argc, char **argv) ++{ ++ int ok = 0; ++ ${ac_c_conftest_c89_main} ++ ${ac_c_conftest_c99_main} ++ ${ac_c_conftest_c11_main} ++ return ok; ++} ++" ++ ++# Test code for whether the C compiler supports C99 (complete). ++ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} ++${ac_c_conftest_c99_globals} ++ ++int ++main (int argc, char **argv) ++{ ++ int ok = 0; ++ ${ac_c_conftest_c89_main} ++ ${ac_c_conftest_c99_main} ++ return ok; ++} ++" ++ ++# Test code for whether the C compiler supports C89 (complete). ++ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} ++ ++int ++main (int argc, char **argv) ++{ ++ int ok = 0; ++ ${ac_c_conftest_c89_main} ++ return ok; ++} ++" ++ ++as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H" ++as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H" ++as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H" ++as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H" ++as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H" ++as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H" ++as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" ++as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" ++as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H" ++as_fn_append ac_header_c_list " vfork.h vfork_h HAVE_VFORK_H" ++as_fn_append ac_func_c_list " fork HAVE_FORK" ++as_fn_append ac_func_c_list " vfork HAVE_VFORK" ++ ++# Auxiliary files required by this configure script. ++ac_aux_files="compile missing install-sh" ++ ++# Locations in which to look for auxiliary files. ++ac_aux_dir_candidates="${srcdir}${PATH_SEPARATOR}${srcdir}/..${PATH_SEPARATOR}${srcdir}/../.." ++ ++# Search for a directory containing all of the required auxiliary files, ++# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. ++# If we don't find one directory that contains all the files we need, ++# we report the set of missing files from the *first* directory in ++# $ac_aux_dir_candidates and give up. ++ac_missing_aux_files="" ++ac_first_candidate=: ++printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++as_found=false ++for as_dir in $ac_aux_dir_candidates ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ as_found=: ++ ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 ++ ac_aux_dir_found=yes ++ ac_install_sh= ++ for ac_aux in $ac_aux_files ++ do ++ # As a special case, if "install-sh" is required, that requirement ++ # can be satisfied by any of "install-sh", "install.sh", or "shtool", ++ # and $ac_install_sh is set appropriately for whichever one is found. ++ if test x"$ac_aux" = x"install-sh" ++ then ++ if test -f "${as_dir}install-sh"; then ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 ++ ac_install_sh="${as_dir}install-sh -c" ++ elif test -f "${as_dir}install.sh"; then ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 ++ ac_install_sh="${as_dir}install.sh -c" ++ elif test -f "${as_dir}shtool"; then ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 ++ ac_install_sh="${as_dir}shtool install -c" ++ else ++ ac_aux_dir_found=no ++ if $ac_first_candidate; then ++ ac_missing_aux_files="${ac_missing_aux_files} install-sh" ++ else ++ break ++ fi ++ fi ++ else ++ if test -f "${as_dir}${ac_aux}"; then ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 ++ else ++ ac_aux_dir_found=no ++ if $ac_first_candidate; then ++ ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" ++ else ++ break ++ fi ++ fi ++ fi ++ done ++ if test "$ac_aux_dir_found" = yes; then ++ ac_aux_dir="$as_dir" ++ break ++ fi ++ ac_first_candidate=false ++ ++ as_found=false ++done ++IFS=$as_save_IFS ++if $as_found ++then : ++ ++else $as_nop ++ as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5 ++fi ++ ++ ++# These three variables are undocumented and unsupported, ++# and are intended to be withdrawn in a future Autoconf release. ++# They can cause serious problems if a builder's source tree is in a directory ++# whose full name contains unusual characters. ++if test -f "${ac_aux_dir}config.guess"; then ++ ac_config_guess="$SHELL ${ac_aux_dir}config.guess" ++fi ++if test -f "${ac_aux_dir}config.sub"; then ++ ac_config_sub="$SHELL ${ac_aux_dir}config.sub" ++fi ++if test -f "$ac_aux_dir/configure"; then ++ ac_configure="$SHELL ${ac_aux_dir}configure" ++fi ++ ++# Check that the precious variables saved in the cache have kept the same ++# value. ++ac_cache_corrupted=false ++for ac_var in $ac_precious_vars; do ++ eval ac_old_set=$ac_cv_env_${ac_var}_set ++ eval ac_new_set=$ac_env_${ac_var}_set ++ eval ac_old_val=$ac_cv_env_${ac_var}_value ++ eval ac_new_val=$ac_env_${ac_var}_value ++ case $ac_old_set,$ac_new_set in ++ set,) ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: `$ac_var' was set to `$ac_old_val' in the previous run" >&5 ++printf "%s\n" "$as_me: error: `$ac_var' was set to `$ac_old_val' in the previous run" >&2;} ++ ac_cache_corrupted=: ;; ++ ,set) ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: `$ac_var' was not set in the previous run" >&5 ++printf "%s\n" "$as_me: error: `$ac_var' was not set in the previous run" >&2;} ++ ac_cache_corrupted=: ;; ++ ,);; ++ *) ++ if test "x$ac_old_val" != "x$ac_new_val"; then ++ # differences in whitespace do not lead to failure. ++ ac_old_val_w=`echo x $ac_old_val` ++ ac_new_val_w=`echo x $ac_new_val` ++ if test "$ac_old_val_w" != "$ac_new_val_w"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: `$ac_var' has changed since the previous run:" >&5 ++printf "%s\n" "$as_me: error: `$ac_var' has changed since the previous run:" >&2;} ++ ac_cache_corrupted=: ++ else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in `$ac_var' since the previous run:" >&5 ++printf "%s\n" "$as_me: warning: ignoring whitespace changes in `$ac_var' since the previous run:" >&2;} ++ eval $ac_var=$ac_old_val ++ fi ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: `$ac_old_val'" >&5 ++printf "%s\n" "$as_me: former value: `$ac_old_val'" >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: `$ac_new_val'" >&5 ++printf "%s\n" "$as_me: current value: `$ac_new_val'" >&2;} ++ fi;; ++ esac ++ # Pass precious variables to config.status. ++ if test "$ac_new_set" = set; then ++ case $ac_new_val in ++ *'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\''/g"` ;; ++ *) ac_arg=$ac_var=$ac_new_val ;; ++ esac ++ case " $ac_configure_args " in ++ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. ++ *) as_fn_append ac_configure_args " '$ac_arg'" ;; ++ esac ++ fi ++done ++if $ac_cache_corrupted; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in `$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in `$ac_pwd':" >&2;} ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 ++printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} ++ as_fn_error $? "run `${MAKE-make} distclean' and/or `rm $cache_file' ++ and start over" "$LINENO" 5 ++fi ++## -------------------- ## ++## Main body of script. ## ++## -------------------- ## ++ ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ ++ ++ ++am__api_version='1.16' ++ ++ ++ ++ # Find a good install program. We prefer a C program (faster), ++# so one script is as good as another. But avoid the broken or ++# incompatible versions: ++# SysV /etc/install, /usr/sbin/install ++# SunOS /usr/etc/install ++# IRIX /sbin/install ++# AIX /bin/install ++# AmigaOS /C/install, which installs bootblocks on floppy discs ++# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag ++# AFS /usr/afsws/bin/install, which mishandles nonexistent args ++# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" ++# OS/2's system install, which has a completely different semantic ++# ./install, which can be erroneously created by make from ./install.sh. ++# Reject install programs that cannot install multiple files. ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 ++printf %s "checking for a BSD-compatible install... " >&6; } ++if test -z "$INSTALL"; then ++if test ${ac_cv_path_install+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ # Account for fact that we put trailing slashes in our PATH walk. ++case $as_dir in #(( ++ ./ | /[cC]/* | \ ++ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ++ ?:[\/]os2[\/]install[\/]* | ?:[\/]OS2[\/]INSTALL[\/]* | \ ++ /usr/ucb/* ) ;; ++ *) ++ # OSF1 and SCO ODT 3.0 have their own names for install. ++ # Don't use installbsd from OSF since it installs stuff as root ++ # by default. ++ for ac_prog in ginstall scoinst install; do ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext"; then ++ if test $ac_prog = install && ++ grep dspmsg "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then ++ # AIX install. It has an incompatible calling convention. ++ : ++ elif test $ac_prog = install && ++ grep pwplus "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then ++ # program-specific install script used by HP pwplus--don't use. ++ : ++ else ++ rm -rf conftest.one conftest.two conftest.dir ++ echo one > conftest.one ++ echo two > conftest.two ++ mkdir conftest.dir ++ if "$as_dir$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir/" && ++ test -s conftest.one && test -s conftest.two && ++ test -s conftest.dir/conftest.one && ++ test -s conftest.dir/conftest.two ++ then ++ ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c" ++ break 3 ++ fi ++ fi ++ fi ++ done ++ done ++ ;; ++esac ++ ++ done ++IFS=$as_save_IFS ++ ++rm -rf conftest.one conftest.two conftest.dir ++ ++fi ++ if test ${ac_cv_path_install+y}; then ++ INSTALL=$ac_cv_path_install ++ else ++ # As a last resort, use the slow shell script. Don't cache a ++ # value for INSTALL within a source directory, because that will ++ # break other packages using the cache if that directory is ++ # removed, or if the value is a relative name. ++ INSTALL=$ac_install_sh ++ fi ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 ++printf "%s\n" "$INSTALL" >&6; } ++ ++# Use test -z because SunOS4 sh mishandles braces in ${var-val}. ++# It thinks the first close brace ends the variable substitution. ++test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' ++ ++test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' ++ ++test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 ++printf %s "checking whether build environment is sane... " >&6; } ++# Reject unsafe characters in $srcdir or the absolute working directory ++# name. Accept space and tab only in the latter. ++am_lf=' ++' ++case `pwd` in ++ *[\"#$&'`$am_lf]*) ++ as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; ++esac ++case $srcdir in ++ *[\"#$&'`$am_lf\ \ ]*) ++ as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; ++esac ++ ++# Do 'set' in a subshell so we don't clobber the current shell's ++# arguments. Must try -L first in case configure is actually a ++# symlink; some systems play weird games with the mod time of symlinks ++# (eg FreeBSD returns the mod time of the symlink's containing ++# directory). ++if ( ++ am_has_slept=no ++ for am_try in 1 2; do ++ echo "timestamp, slept: $am_has_slept" > conftest.file ++ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` ++ if test "$*" = "X"; then ++ # -L didn't work. ++ set X `ls -t "$srcdir/configure" conftest.file` ++ fi ++ if test "$*" != "X $srcdir/configure conftest.file" \ ++ && test "$*" != "X conftest.file $srcdir/configure"; then ++ ++ # If neither matched, then we have a broken ls. This can happen ++ # if, for instance, CONFIG_SHELL is bash and it inherits a ++ # broken ls alias from the environment. This has actually ++ # happened. Such a system could not be considered "sane". ++ as_fn_error $? "ls -t appears to fail. Make sure there is not a broken ++ alias in your environment" "$LINENO" 5 ++ fi ++ if test "$2" = conftest.file || test $am_try -eq 2; then ++ break ++ fi ++ # Just in case. ++ sleep 1 ++ am_has_slept=yes ++ done ++ test "$2" = conftest.file ++ ) ++then ++ # Ok. ++ : ++else ++ as_fn_error $? "newly created file is older than distributed files! ++Check your system clock" "$LINENO" 5 ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++# If we didn't sleep, we still need to ensure time stamps of config.status and ++# generated files are strictly newer. ++am_sleep_pid= ++if grep 'slept: no' conftest.file >/dev/null 2>&1; then ++ ( sleep 1 ) & ++ am_sleep_pid=$! ++fi ++ ++rm -f conftest.file ++ ++test "$program_prefix" != NONE && ++ program_transform_name="s&^&$program_prefix&;$program_transform_name" ++# Use a double $ so make ignores it. ++test "$program_suffix" != NONE && ++ program_transform_name="s&$&$program_suffix&;$program_transform_name" ++# Double any \ or $. ++# By default was `s,x,x', remove it if useless. ++ac_script='s/[\$]/&&/g;s/;s,x,x,$//' ++program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"` ++ ++ ++# Expand $ac_aux_dir to an absolute path. ++am_aux_dir=`cd "$ac_aux_dir" && pwd` ++ ++ ++ if test x"${MISSING+set}" != xset; then ++ MISSING="${SHELL} '$am_aux_dir/missing'" ++fi ++# Use eval to expand $SHELL ++if eval "$MISSING --is-lightweight"; then ++ am_missing_run="$MISSING " ++else ++ am_missing_run= ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 ++printf "%s\n" "$as_me: WARNING: 'missing' script is too old or missing" >&2;} ++fi ++ ++if test x"${install_sh+set}" != xset; then ++ case $am_aux_dir in ++ *\ * | *\ *) ++ install_sh="${SHELL} '$am_aux_dir/install-sh'" ;; ++ *) ++ install_sh="${SHELL} $am_aux_dir/install-sh" ++ esac ++fi ++ ++# Installed binaries are usually stripped using 'strip' when the user ++# run "make install-strip". However 'strip' might not be the right ++# tool to use in cross-compilation environments, therefore Automake ++# will honor the 'STRIP' environment variable to overrule this program. ++if test "$cross_compiling" != no; then ++ if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. ++set dummy ${ac_tool_prefix}strip; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_STRIP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$STRIP"; then ++ ac_cv_prog_STRIP="$STRIP" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ++ ac_cv_prog_STRIP="${ac_tool_prefix}strip" ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++STRIP=$ac_cv_prog_STRIP ++if test -n "$STRIP"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 ++printf "%s\n" "$STRIP" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_STRIP"; then ++ ac_ct_STRIP=$STRIP ++ # Extract the first word of "strip", so it can be a program name with args. ++set dummy strip; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_STRIP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$ac_ct_STRIP"; then ++ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ++ ac_cv_prog_ac_ct_STRIP="strip" ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP ++if test -n "$ac_ct_STRIP"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 ++printf "%s\n" "$ac_ct_STRIP" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ if test "x$ac_ct_STRIP" = x; then ++ STRIP=":" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ++ac_tool_warned=yes ;; ++esac ++ STRIP=$ac_ct_STRIP ++ fi ++else ++ STRIP="$ac_cv_prog_STRIP" ++fi ++ ++fi ++INSTALL_STRIP_PROGRAM="$(install_sh) -c -s" ++ ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5 ++printf %s "checking for a race-free mkdir -p... " >&6; } ++if test -z "$MKDIR_P"; then ++ if test ${ac_cv_path_mkdir+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_prog in mkdir gmkdir; do ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext" || continue ++ case `"$as_dir$ac_prog$ac_exec_ext" --version 2>&1` in #( ++ 'mkdir ('*'coreutils) '* | \ ++ 'BusyBox '* | \ ++ 'mkdir (fileutils) '4.1*) ++ ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext ++ break 3;; ++ esac ++ done ++ done ++ done ++IFS=$as_save_IFS ++ ++fi ++ ++ test -d ./--version && rmdir ./--version ++ if test ${ac_cv_path_mkdir+y}; then ++ MKDIR_P="$ac_cv_path_mkdir -p" ++ else ++ # As a last resort, use the slow shell script. Don't cache a ++ # value for MKDIR_P within a source directory, because that will ++ # break other packages using the cache if that directory is ++ # removed, or if the value is a relative name. ++ MKDIR_P="$ac_install_sh -d" ++ fi ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 ++printf "%s\n" "$MKDIR_P" >&6; } ++ ++for ac_prog in gawk mawk nawk awk ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_AWK+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$AWK"; then ++ ac_cv_prog_AWK="$AWK" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ++ ac_cv_prog_AWK="$ac_prog" ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++AWK=$ac_cv_prog_AWK ++if test -n "$AWK"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 ++printf "%s\n" "$AWK" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++ test -n "$AWK" && break ++done ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets $(MAKE)" >&5 ++printf %s "checking whether ${MAKE-make} sets $(MAKE)... " >&6; } ++set x ${MAKE-make} ++ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` ++if eval test ${ac_cv_prog_make_${ac_make}_set+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ cat >conftest.make <<_ACEOF ++SHELL = /bin/sh ++all: ++ @echo '@@@%%%=$(MAKE)=@@@%%%' ++_ACEOF ++# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. ++case `${MAKE-make} -f conftest.make 2>/dev/null` in ++ *@@@%%%=?*=@@@%%%*) ++ eval ac_cv_prog_make_${ac_make}_set=yes;; ++ *) ++ eval ac_cv_prog_make_${ac_make}_set=no;; ++esac ++rm -f conftest.make ++fi ++if eval test $ac_cv_prog_make_${ac_make}_set = yes; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++ SET_MAKE= ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++ SET_MAKE="MAKE=${MAKE-make}" ++fi ++ ++rm -rf .tst 2>/dev/null ++mkdir .tst 2>/dev/null ++if test -d .tst; then ++ am__leading_dot=. ++else ++ am__leading_dot=_ ++fi ++rmdir .tst 2>/dev/null ++ ++# Check whether --enable-silent-rules was given. ++if test ${enable_silent_rules+y} ++then : ++ enableval=$enable_silent_rules; ++fi ++ ++case $enable_silent_rules in # ((( ++ yes) AM_DEFAULT_VERBOSITY=0;; ++ no) AM_DEFAULT_VERBOSITY=1;; ++ *) AM_DEFAULT_VERBOSITY=1;; ++esac ++am_make=${MAKE-make} ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 ++printf %s "checking whether $am_make supports nested variables... " >&6; } ++if test ${am_cv_make_support_nested_variables+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if printf "%s\n" 'TRUE=$(BAR$(V)) ++BAR0=false ++BAR1=true ++V=1 ++am__doit: ++ @$(TRUE) ++.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then ++ am_cv_make_support_nested_variables=yes ++else ++ am_cv_make_support_nested_variables=no ++fi ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 ++printf "%s\n" "$am_cv_make_support_nested_variables" >&6; } ++if test $am_cv_make_support_nested_variables = yes; then ++ AM_V='$(V)' ++ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' ++else ++ AM_V=$AM_DEFAULT_VERBOSITY ++ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY ++fi ++AM_BACKSLASH='' ++ ++if test "`cd $srcdir && pwd`" != "`pwd`"; then ++ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output ++ # is not polluted with repeated "-I." ++ am__isrc=' -I$(srcdir)' ++ # test to see if srcdir already configured ++ if test -f $srcdir/config.status; then ++ as_fn_error $? "source directory already configured; run "make distclean" there first" "$LINENO" 5 ++ fi ++fi ++ ++# test whether we have cygpath ++if test -z "$CYGPATH_W"; then ++ if (cygpath --version) >/dev/null 2>/dev/null; then ++ CYGPATH_W='cygpath -w' ++ else ++ CYGPATH_W=echo ++ fi ++fi ++ ++ ++# Define the identity of the package. ++ PACKAGE='bwm-ng' ++ VERSION='0.6.3' ++ ++ ++printf "%s\n" "#define PACKAGE "$PACKAGE"" >>confdefs.h ++ ++ ++printf "%s\n" "#define VERSION "$VERSION"" >>confdefs.h ++ ++# Some tools Automake needs. ++ ++ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} ++ ++ ++AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} ++ ++ ++AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} ++ ++ ++AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} ++ ++ ++MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} ++ ++# For better backward compatibility. To be removed once Automake 1.9.x ++# dies out for good. For more background, see: ++# https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html ++# https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html ++mkdir_p='$(MKDIR_P)' ++ ++# We need awk for the "check" target (and possibly the TAP driver). The ++# system "awk" is bad on some platforms. ++# Always define AMTAR for backward compatibility. Yes, it's still used ++# in the wild :-( We should find a proper way to deprecate it ... ++AMTAR='$${TAR-tar}' ++ ++ ++# We'll loop over all known methods to create a tar archive until one works. ++_am_tools='gnutar pax cpio none' ++ ++am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' ++ ++ ++ ++ ++ ++# Variables for tags utilities; see am/tags.am ++if test -z "$CTAGS"; then ++ CTAGS=ctags ++fi ++ ++if test -z "$ETAGS"; then ++ ETAGS=etags ++fi ++ ++if test -z "$CSCOPE"; then ++ CSCOPE=cscope ++fi ++ ++ ++ ++# POSIX will say in a future version that running "rm -f" with no argument ++# is OK; and we want to be able to make that assumption in our Makefile ++# recipes. So use an aggressive probe to check that the usage we want is ++# actually supported "in the wild" to an acceptable degree. ++# See automake bug#10828. ++# To make any issue more visible, cause the running configure to be aborted ++# by default if the 'rm' program in use doesn't match our expectations; the ++# user can still override this though. ++if rm -f && rm -fr && rm -rf; then : OK; else ++ cat >&2 <<'END' ++Oops! ++ ++Your 'rm' program seems unable to run without file operands specified ++on the command line, even when the '-f' option is present. This is contrary ++to the behaviour of most rm programs out there, and not conforming with ++the upcoming POSIX standard: http://austingroupbugs.net/view.php?id=542 ++ ++Please tell bug-automake@gnu.org about your system, including the value ++of your $PATH and any error possibly output before this message. This ++can help us improve future automake versions. ++ ++END ++ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then ++ echo 'Configuration will proceed anyway, since you have set the' >&2 ++ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 ++ echo >&2 ++ else ++ cat >&2 <<'END' ++Aborting the configuration process, to ensure you take notice of the issue. ++ ++You can download and install GNU coreutils to get an 'rm' implementation ++that behaves properly: https://www.gnu.org/software/coreutils/. ++ ++If you want to complete the configuration process using your problematic ++'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM ++to "yes", and re-run configure. ++ ++END ++ as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 ++ fi ++fi ++ ++ac_config_headers="$ac_config_headers config.h" ++ ++ ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ ++ ++# Check whether --enable-debug was given. ++if test ${enable_debug+y} ++then : ++ enableval=$enable_debug; ++echo "enable debugging info: $enableval" ++if test $enableval = "yes" ; then ++ if test -z ${CFLAGS}; then ++ CFLAGS="-g3 -Wall" ++ else ++ CFLAGS="-g3 ${CFLAGS}" ++ fi ++ DEBUG="1" ++fi ++ ++else $as_nop ++ ++if test -z "${CFLAGS}"; then ++ CFLAGS="-O2 -Wall" ++fi ++ ++fi ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++DEPDIR="${am__leading_dot}deps" ++ ++ac_config_commands="$ac_config_commands depfiles" ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 ++printf %s "checking whether ${MAKE-make} supports the include directive... " >&6; } ++cat > confinc.mk << 'END' ++am__doit: ++ @echo this is the am__doit target >confinc.out ++.PHONY: am__doit ++END ++am__include="#" ++am__quote= ++# BSD make does it like this. ++echo '.include "confinc.mk" # ignored' > confmf.BSD ++# Other make implementations (GNU, Solaris 10, AIX) do it like this. ++echo 'include confinc.mk # ignored' > confmf.GNU ++_am_result=no ++for s in GNU BSD; do ++ { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 ++ (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: $? = $ac_status" >&5 ++ (exit $ac_status); } ++ case $?:`cat confinc.out 2>/dev/null` in #( ++ '0:this is the am__doit target') : ++ case $s in #( ++ BSD) : ++ am__include='.include' am__quote='"' ;; #( ++ *) : ++ am__include='include' am__quote='' ;; ++esac ;; #( ++ *) : ++ ;; ++esac ++ if test "$am__include" != "#"; then ++ _am_result="yes ($s style)" ++ break ++ fi ++done ++rm -f confinc.* confmf.* ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 ++printf "%s\n" "${_am_result}" >&6; } ++ ++# Check whether --enable-dependency-tracking was given. ++if test ${enable_dependency_tracking+y} ++then : ++ enableval=$enable_dependency_tracking; ++fi ++ ++if test "x$enable_dependency_tracking" != xno; then ++ am_depcomp="$ac_aux_dir/depcomp" ++ AMDEPBACKSLASH='' ++ am__nodep='_no' ++fi ++ if test "x$enable_dependency_tracking" != xno; then ++ AMDEP_TRUE= ++ AMDEP_FALSE='#' ++else ++ AMDEP_TRUE='#' ++ AMDEP_FALSE= ++fi ++ ++ ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. ++set dummy ${ac_tool_prefix}gcc; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ++ ac_cv_prog_CC="${ac_tool_prefix}gcc" ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_CC"; then ++ ac_ct_CC=$CC ++ # Extract the first word of "gcc", so it can be a program name with args. ++set dummy gcc; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$ac_ct_CC"; then ++ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ++ ac_cv_prog_ac_ct_CC="gcc" ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++ac_ct_CC=$ac_cv_prog_ac_ct_CC ++if test -n "$ac_ct_CC"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 ++printf "%s\n" "$ac_ct_CC" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ if test "x$ac_ct_CC" = x; then ++ CC="" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ++ac_tool_warned=yes ;; ++esac ++ CC=$ac_ct_CC ++ fi ++else ++ CC="$ac_cv_prog_CC" ++fi ++ ++if test -z "$CC"; then ++ if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. ++set dummy ${ac_tool_prefix}cc; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ++ ac_cv_prog_CC="${ac_tool_prefix}cc" ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++ fi ++fi ++if test -z "$CC"; then ++ # Extract the first word of "cc", so it can be a program name with args. ++set dummy cc; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++ ac_prog_rejected=no ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ++ if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ++ ac_prog_rejected=yes ++ continue ++ fi ++ ac_cv_prog_CC="cc" ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++if test $ac_prog_rejected = yes; then ++ # We found a bogon in the path, so make sure we never use it. ++ set dummy $ac_cv_prog_CC ++ shift ++ if test $# != 0; then ++ # We chose a different compiler from the bogus one. ++ # However, it has the same basename, so the bogon will be chosen ++ # first if we set CC to just the basename; use the full file name. ++ shift ++ ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@" ++ fi ++fi ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$CC"; then ++ if test -n "$ac_tool_prefix"; then ++ for ac_prog in cl.exe ++ do ++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. ++set dummy $ac_tool_prefix$ac_prog; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ++ ac_cv_prog_CC="$ac_tool_prefix$ac_prog" ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++ test -n "$CC" && break ++ done ++fi ++if test -z "$CC"; then ++ ac_ct_CC=$CC ++ for ac_prog in cl.exe ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$ac_ct_CC"; then ++ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ++ ac_cv_prog_ac_ct_CC="$ac_prog" ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++ac_ct_CC=$ac_cv_prog_ac_ct_CC ++if test -n "$ac_ct_CC"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 ++printf "%s\n" "$ac_ct_CC" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++ test -n "$ac_ct_CC" && break ++done ++ ++ if test "x$ac_ct_CC" = x; then ++ CC="" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ++ac_tool_warned=yes ;; ++esac ++ CC=$ac_ct_CC ++ fi ++fi ++ ++fi ++if test -z "$CC"; then ++ if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args. ++set dummy ${ac_tool_prefix}clang; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ++ ac_cv_prog_CC="${ac_tool_prefix}clang" ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++printf "%s\n" "$CC" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++fi ++if test -z "$ac_cv_prog_CC"; then ++ ac_ct_CC=$CC ++ # Extract the first word of "clang", so it can be a program name with args. ++set dummy clang; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_ac_ct_CC+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$ac_ct_CC"; then ++ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ++ ac_cv_prog_ac_ct_CC="clang" ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++ac_ct_CC=$ac_cv_prog_ac_ct_CC ++if test -n "$ac_ct_CC"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 ++printf "%s\n" "$ac_ct_CC" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ if test "x$ac_ct_CC" = x; then ++ CC="" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ++ac_tool_warned=yes ;; ++esac ++ CC=$ac_ct_CC ++ fi ++else ++ CC="$ac_cv_prog_CC" ++fi ++ ++fi ++ ++ ++test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in `$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in `$ac_pwd':" >&2;} ++as_fn_error $? "no acceptable C compiler found in $PATH ++See `config.log' for more details" "$LINENO" 5; } ++ ++# Provide some information about the compiler. ++printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 ++set X $ac_compile ++ac_compiler=$2 ++for ac_option in --version -v -V -qversion -version; do ++ { { ac_try="$ac_compiler $ac_option >&5" ++case "(($ac_try" in ++ *"* | *`* | *\*) ac_try_echo=$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo=""$as_me:${as_lineno-$LINENO}: $ac_try_echo"" ++printf "%s\n" "$ac_try_echo"; } >&5 ++ (eval "$ac_compiler $ac_option >&5") 2>conftest.err ++ ac_status=$? ++ if test -s conftest.err; then ++ sed '10a\ ++... rest of stderr output deleted ... ++ 10q' conftest.err >conftest.er1 ++ cat conftest.er1 >&5 ++ fi ++ rm -f conftest.er1 conftest.err ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: $? = $ac_status" >&5 ++ test $ac_status = 0; } ++done ++ ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main (void) ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++ac_clean_files_save=$ac_clean_files ++ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" ++# Try to create an executable without -o first, disregard a.out. ++# It will help us diagnose broken compilers, and finding out an intuition ++# of exeext. ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 ++printf %s "checking whether the C compiler works... " >&6; } ++ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'` ++ ++# The possible output files: ++ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ++ ++ac_rmfiles= ++for ac_file in $ac_files ++do ++ case $ac_file in ++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; ++ * ) ac_rmfiles="$ac_rmfiles $ac_file";; ++ esac ++done ++rm -f $ac_rmfiles ++ ++if { { ac_try="$ac_link_default" ++case "(($ac_try" in ++ *"* | *`* | *\*) ac_try_echo=$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo=""$as_me:${as_lineno-$LINENO}: $ac_try_echo"" ++printf "%s\n" "$ac_try_echo"; } >&5 ++ (eval "$ac_link_default") 2>&5 ++ ac_status=$? ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: $? = $ac_status" >&5 ++ test $ac_status = 0; } ++then : ++ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. ++# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' ++# in a Makefile. We should not override ac_cv_exeext if it was cached, ++# so that the user can short-circuit this test for compilers unknown to ++# Autoconf. ++for ac_file in $ac_files '' ++do ++ test -f "$ac_file" || continue ++ case $ac_file in ++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ++ ;; ++ [ab].out ) ++ # We found the default executable, but exeext='' is most ++ # certainly right. ++ break;; ++ *.* ) ++ if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no; ++ then :; else ++ ac_cv_exeext=`expr "$ac_file" : '[^.]*(..*)'` ++ fi ++ # We set ac_cv_exeext here because the later test for it is not ++ # safe: cross compilers may not add the suffix if given an `-o' ++ # argument, so we may need to know it at that point already. ++ # Even if this section looks crufty: it has the advantage of ++ # actually working. ++ break;; ++ * ) ++ break;; ++ esac ++done ++test "$ac_cv_exeext" = no && ac_cv_exeext= ++ ++else $as_nop ++ ac_file='' ++fi ++if test -z "$ac_file" ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++printf "%s\n" "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in `$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in `$ac_pwd':" >&2;} ++as_fn_error 77 "C compiler cannot create executables ++See `config.log' for more details" "$LINENO" 5; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 ++printf %s "checking for C compiler default output file name... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 ++printf "%s\n" "$ac_file" >&6; } ++ac_exeext=$ac_cv_exeext ++ ++rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ++ac_clean_files=$ac_clean_files_save ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 ++printf %s "checking for suffix of executables... " >&6; } ++if { { ac_try="$ac_link" ++case "(($ac_try" in ++ *"* | *`* | *\*) ac_try_echo=$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo=""$as_me:${as_lineno-$LINENO}: $ac_try_echo"" ++printf "%s\n" "$ac_try_echo"; } >&5 ++ (eval "$ac_link") 2>&5 ++ ac_status=$? ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: $? = $ac_status" >&5 ++ test $ac_status = 0; } ++then : ++ # If both `conftest.exe' and `conftest' are `present' (well, observable) ++# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will ++# work properly (i.e., refer to `conftest.exe'), while it won't with ++# `rm'. ++for ac_file in conftest.exe conftest conftest.*; do ++ test -f "$ac_file" || continue ++ case $ac_file in ++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; ++ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*(..*)'` ++ break;; ++ * ) break;; ++ esac ++done ++else $as_nop ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in `$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in `$ac_pwd':" >&2;} ++as_fn_error $? "cannot compute suffix of executables: cannot compile and link ++See `config.log' for more details" "$LINENO" 5; } ++fi ++rm -f conftest conftest$ac_cv_exeext ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 ++printf "%s\n" "$ac_cv_exeext" >&6; } ++ ++rm -f conftest.$ac_ext ++EXEEXT=$ac_cv_exeext ++ac_exeext=$EXEEXT ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++#include <stdio.h> ++int ++main (void) ++{ ++FILE *f = fopen ("conftest.out", "w"); ++ return ferror (f) || fclose (f) != 0; ++ ++ ; ++ return 0; ++} ++_ACEOF ++ac_clean_files="$ac_clean_files conftest.out" ++# Check that the compiler produces executables we can run. If not, either ++# the compiler is broken, or we cross compile. ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 ++printf %s "checking whether we are cross compiling... " >&6; } ++if test "$cross_compiling" != yes; then ++ { { ac_try="$ac_link" ++case "(($ac_try" in ++ *"* | *`* | *\*) ac_try_echo=$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo=""$as_me:${as_lineno-$LINENO}: $ac_try_echo"" ++printf "%s\n" "$ac_try_echo"; } >&5 ++ (eval "$ac_link") 2>&5 ++ ac_status=$? ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: $? = $ac_status" >&5 ++ test $ac_status = 0; } ++ if { ac_try='./conftest$ac_cv_exeext' ++ { { case "(($ac_try" in ++ *"* | *`* | *\*) ac_try_echo=$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo=""$as_me:${as_lineno-$LINENO}: $ac_try_echo"" ++printf "%s\n" "$ac_try_echo"; } >&5 ++ (eval "$ac_try") 2>&5 ++ ac_status=$? ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: $? = $ac_status" >&5 ++ test $ac_status = 0; }; }; then ++ cross_compiling=no ++ else ++ if test "$cross_compiling" = maybe; then ++ cross_compiling=yes ++ else ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in `$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in `$ac_pwd':" >&2;} ++as_fn_error 77 "cannot run C compiled programs. ++If you meant to cross compile, use `--host'. ++See `config.log' for more details" "$LINENO" 5; } ++ fi ++ fi ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 ++printf "%s\n" "$cross_compiling" >&6; } ++ ++rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ++ac_clean_files=$ac_clean_files_save ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 ++printf %s "checking for suffix of object files... " >&6; } ++if test ${ac_cv_objext+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main (void) ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.o conftest.obj ++if { { ac_try="$ac_compile" ++case "(($ac_try" in ++ *"* | *`* | *\*) ac_try_echo=$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo=""$as_me:${as_lineno-$LINENO}: $ac_try_echo"" ++printf "%s\n" "$ac_try_echo"; } >&5 ++ (eval "$ac_compile") 2>&5 ++ ac_status=$? ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: $? = $ac_status" >&5 ++ test $ac_status = 0; } ++then : ++ for ac_file in conftest.o conftest.obj conftest.*; do ++ test -f "$ac_file" || continue; ++ case $ac_file in ++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; ++ *) ac_cv_objext=`expr "$ac_file" : '.*.(.*)'` ++ break;; ++ esac ++done ++else $as_nop ++ printf "%s\n" "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in `$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in `$ac_pwd':" >&2;} ++as_fn_error $? "cannot compute suffix of object files: cannot compile ++See `config.log' for more details" "$LINENO" 5; } ++fi ++rm -f conftest.$ac_cv_objext conftest.$ac_ext ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 ++printf "%s\n" "$ac_cv_objext" >&6; } ++OBJEXT=$ac_cv_objext ++ac_objext=$OBJEXT ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 ++printf %s "checking whether the compiler supports GNU C... " >&6; } ++if test ${ac_cv_c_compiler_gnu+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main (void) ++{ ++#ifndef __GNUC__ ++ choke me ++#endif ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO" ++then : ++ ac_compiler_gnu=yes ++else $as_nop ++ ac_compiler_gnu=no ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++ac_cv_c_compiler_gnu=$ac_compiler_gnu ++ ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 ++printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ ++if test $ac_compiler_gnu = yes; then ++ GCC=yes ++else ++ GCC= ++fi ++ac_test_CFLAGS=${CFLAGS+y} ++ac_save_CFLAGS=$CFLAGS ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 ++printf %s "checking whether $CC accepts -g... " >&6; } ++if test ${ac_cv_prog_cc_g+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_save_c_werror_flag=$ac_c_werror_flag ++ ac_c_werror_flag=yes ++ ac_cv_prog_cc_g=no ++ CFLAGS="-g" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main (void) ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO" ++then : ++ ac_cv_prog_cc_g=yes ++else $as_nop ++ CFLAGS="" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main (void) ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO" ++then : ++ ++else $as_nop ++ ac_c_werror_flag=$ac_save_c_werror_flag ++ CFLAGS="-g" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main (void) ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO" ++then : ++ ac_cv_prog_cc_g=yes ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++ ac_c_werror_flag=$ac_save_c_werror_flag ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 ++printf "%s\n" "$ac_cv_prog_cc_g" >&6; } ++if test $ac_test_CFLAGS; then ++ CFLAGS=$ac_save_CFLAGS ++elif test $ac_cv_prog_cc_g = yes; then ++ if test "$GCC" = yes; then ++ CFLAGS="-g -O2" ++ else ++ CFLAGS="-g" ++ fi ++else ++ if test "$GCC" = yes; then ++ CFLAGS="-O2" ++ else ++ CFLAGS= ++ fi ++fi ++ac_prog_cc_stdc=no ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 ++printf %s "checking for $CC option to enable C11 features... " >&6; } ++if test ${ac_cv_prog_cc_c11+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c11=no ++ac_save_CC=$CC ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$ac_c_conftest_c11_program ++_ACEOF ++for ac_arg in '' -std=gnu11 ++do ++ CC="$ac_save_CC $ac_arg" ++ if ac_fn_c_try_compile "$LINENO" ++then : ++ ac_cv_prog_cc_c11=$ac_arg ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam ++ test "x$ac_cv_prog_cc_c11" != "xno" && break ++done ++rm -f conftest.$ac_ext ++CC=$ac_save_CC ++fi ++ ++if test "x$ac_cv_prog_cc_c11" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c11" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } ++ CC="$CC $ac_cv_prog_cc_c11" ++fi ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 ++ ac_prog_cc_stdc=c11 ++fi ++fi ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 ++printf %s "checking for $CC option to enable C99 features... " >&6; } ++if test ${ac_cv_prog_cc_c99+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c99=no ++ac_save_CC=$CC ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$ac_c_conftest_c99_program ++_ACEOF ++for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= ++do ++ CC="$ac_save_CC $ac_arg" ++ if ac_fn_c_try_compile "$LINENO" ++then : ++ ac_cv_prog_cc_c99=$ac_arg ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam ++ test "x$ac_cv_prog_cc_c99" != "xno" && break ++done ++rm -f conftest.$ac_ext ++CC=$ac_save_CC ++fi ++ ++if test "x$ac_cv_prog_cc_c99" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c99" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } ++ CC="$CC $ac_cv_prog_cc_c99" ++fi ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 ++ ac_prog_cc_stdc=c99 ++fi ++fi ++if test x$ac_prog_cc_stdc = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 ++printf %s "checking for $CC option to enable C89 features... " >&6; } ++if test ${ac_cv_prog_cc_c89+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_prog_cc_c89=no ++ac_save_CC=$CC ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$ac_c_conftest_c89_program ++_ACEOF ++for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" ++do ++ CC="$ac_save_CC $ac_arg" ++ if ac_fn_c_try_compile "$LINENO" ++then : ++ ac_cv_prog_cc_c89=$ac_arg ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam ++ test "x$ac_cv_prog_cc_c89" != "xno" && break ++done ++rm -f conftest.$ac_ext ++CC=$ac_save_CC ++fi ++ ++if test "x$ac_cv_prog_cc_c89" = xno ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 ++printf "%s\n" "unsupported" >&6; } ++else $as_nop ++ if test "x$ac_cv_prog_cc_c89" = x ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 ++printf "%s\n" "none needed" >&6; } ++else $as_nop ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 ++printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } ++ CC="$CC $ac_cv_prog_cc_c89" ++fi ++ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 ++ ac_prog_cc_stdc=c89 ++fi ++fi ++ ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ ++ ++ ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 ++printf %s "checking whether $CC understands -c and -o together... " >&6; } ++if test ${am_cv_prog_cc_c_o+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main (void) ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++ # Make sure it works both with $CC and with simple cc. ++ # Following AC_PROG_CC_C_O, we do the test twice because some ++ # compilers refuse to overwrite an existing .o file with -o, ++ # though they will create one. ++ am_cv_prog_cc_c_o=yes ++ for am_i in 1 2; do ++ if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 ++ ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: $? = $ac_status" >&5 ++ (exit $ac_status); } \ ++ && test -f conftest2.$ac_objext; then ++ : OK ++ else ++ am_cv_prog_cc_c_o=no ++ break ++ fi ++ done ++ rm -f core conftest* ++ unset am_i ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 ++printf "%s\n" "$am_cv_prog_cc_c_o" >&6; } ++if test "$am_cv_prog_cc_c_o" != yes; then ++ # Losing compiler, so override with the script. ++ # FIXME: It is wrong to rewrite CC. ++ # But if we don't then we get into trouble of one sort or another. ++ # A longer-term fix would be to have automake use am__CC in this case, ++ # and then we could set am__CC="$(top_srcdir)/compile $(CC)" ++ CC="$am_aux_dir/compile $CC" ++fi ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ ++ ++depcc="$CC" am_compiler_list= ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 ++printf %s "checking dependency style of $depcc... " >&6; } ++if test ${am_cv_CC_dependencies_compiler_type+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then ++ # We make a subdir and do the tests there. Otherwise we can end up ++ # making bogus files that we don't know about and never remove. For ++ # instance it was reported that on HP-UX the gcc test will end up ++ # making a dummy file named 'D' -- because '-MD' means "put the output ++ # in D". ++ rm -rf conftest.dir ++ mkdir conftest.dir ++ # Copy depcomp to subdir because otherwise we won't find it if we're ++ # using a relative directory. ++ cp "$am_depcomp" conftest.dir ++ cd conftest.dir ++ # We will build objects and dependencies in a subdirectory because ++ # it helps to detect inapplicable dependency modes. For instance ++ # both Tru64's cc and ICC support -MD to output dependencies as a ++ # side effect of compilation, but ICC will put the dependencies in ++ # the current directory while Tru64 will put them in the object ++ # directory. ++ mkdir sub ++ ++ am_cv_CC_dependencies_compiler_type=none ++ if test "$am_compiler_list" = ""; then ++ am_compiler_list=`sed -n 's/^#*([a-zA-Z0-9]*))$/\1/p' < ./depcomp` ++ fi ++ am__universal=false ++ case " $depcc " in #( ++ *\ -arch\ *\ -arch\ *) am__universal=true ;; ++ esac ++ ++ for depmode in $am_compiler_list; do ++ # Setup a source with many dependencies, because some compilers ++ # like to wrap large dependency lists on column 80 (with ), and ++ # we should not choose a depcomp mode which is confused by this. ++ # ++ # We need to recreate these files for each test, as the compiler may ++ # overwrite some of them when testing with obscure command lines. ++ # This happens at least with the AIX C compiler. ++ : > sub/conftest.c ++ for i in 1 2 3 4 5 6; do ++ echo '#include "conftst'$i'.h"' >> sub/conftest.c ++ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with ++ # Solaris 10 /bin/sh. ++ echo '/* dummy */' > sub/conftst$i.h ++ done ++ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf ++ ++ # We check with '-c' and '-o' for the sake of the "dashmstdout" ++ # mode. It turns out that the SunPro C++ compiler does not properly ++ # handle '-M -o', and we need to detect this. Also, some Intel ++ # versions had trouble with output in subdirs. ++ am__obj=sub/conftest.${OBJEXT-o} ++ am__minus_obj="-o $am__obj" ++ case $depmode in ++ gcc) ++ # This depmode causes a compiler race in universal mode. ++ test "$am__universal" = false || continue ++ ;; ++ nosideeffect) ++ # After this tag, mechanisms are not by side-effect, so they'll ++ # only be used when explicitly requested. ++ if test "x$enable_dependency_tracking" = xyes; then ++ continue ++ else ++ break ++ fi ++ ;; ++ msvc7 | msvc7msys | msvisualcpp | msvcmsys) ++ # This compiler won't grok '-c -o', but also, the minuso test has ++ # not run yet. These depmodes are late enough in the game, and ++ # so weak that their functioning should not be impacted. ++ am__obj=conftest.${OBJEXT-o} ++ am__minus_obj= ++ ;; ++ none) break ;; ++ esac ++ if depmode=$depmode \ ++ source=sub/conftest.c object=$am__obj \ ++ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ ++ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ ++ >/dev/null 2>conftest.err && ++ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && ++ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && ++ grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ++ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then ++ # icc doesn't choke on unknown options, it will just issue warnings ++ # or remarks (even with -Werror). So we grep stderr for any message ++ # that says an option was ignored or not supported. ++ # When given -MP, icc 7.0 and 7.1 complain thusly: ++ # icc: Command line warning: ignoring option '-M'; no argument required ++ # The diagnosis changed in icc 8.0: ++ # icc: Command line remark: option '-MP' not supported ++ if (grep 'ignoring option' conftest.err || ++ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else ++ am_cv_CC_dependencies_compiler_type=$depmode ++ break ++ fi ++ fi ++ done ++ ++ cd .. ++ rm -rf conftest.dir ++else ++ am_cv_CC_dependencies_compiler_type=none ++fi ++ ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 ++printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; } ++CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type ++ ++ if ++ test "x$enable_dependency_tracking" != xno \ ++ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then ++ am__fastdepCC_TRUE= ++ am__fastdepCC_FALSE='#' ++else ++ am__fastdepCC_TRUE='#' ++ am__fastdepCC_FALSE= ++fi ++ ++ ++ ++ac_header= ac_cache= ++for ac_item in $ac_header_c_list ++do ++ if test $ac_cache; then ++ ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" ++ if eval test "x$ac_cv_header_$ac_cache" = xyes; then ++ printf "%s\n" "#define $ac_item 1" >> confdefs.h ++ fi ++ ac_header= ac_cache= ++ elif test $ac_header; then ++ ac_cache=$ac_item ++ else ++ ac_header=$ac_item ++ fi ++done ++ ++ ++ ++ ++ ++ ++ ++ ++if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes ++then : ++ ++printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h ++ ++fi ++ac_fn_c_check_type "$LINENO" "unsigned long long" "ac_cv_type_unsigned_long_long" "$ac_includes_default" ++if test "x$ac_cv_type_unsigned_long_long" = xyes ++then : ++ ++printf "%s\n" "#define HAVE_UNSIGNED_LONG_LONG 1" >>confdefs.h ++ ++ ++fi ++ ++ ++# Checks for libraries. ++CURSES_CHECKED="0" ++ ++ ++# Check whether --with-curses was given. ++if test ${with_curses+y} ++then : ++ withval=$with_curses; ++if test $withval != "no" ; then ++ OLD_CPPFLAGS=$CPPFLAGS ++ if test $withval != "yes" ; then ++ CPPFLAGS="$CPPFLAGS -I$withval" ++ fi ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for newterm,timeout in -lcurses" >&5 ++printf %s "checking for newterm,timeout in -lcurses... " >&6; } ++if test ${ac_cv_lib_curses_newterm_timeout+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lcurses $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++char newterm,timeout (); ++int ++main (void) ++{ ++return newterm,timeout (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO" ++then : ++ ac_cv_lib_curses_newterm_timeout=yes ++else $as_nop ++ ac_cv_lib_curses_newterm_timeout=no ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_curses_newterm_timeout" >&5 ++printf "%s\n" "$ac_cv_lib_curses_newterm_timeout" >&6; } ++if test "x$ac_cv_lib_curses_newterm_timeout" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBCURSES 1" >>confdefs.h ++ ++ LIBS="-lcurses $LIBS" ++ ++else $as_nop ++ CPPFLAGS=$OLD_CPPFLAGS ++fi ++ ++ CURSES_CHECKED="1" ++else ++ CURSES_CHECKED="1" ++fi ++ ++fi ++ ++ ++ ++if test $CURSES_CHECKED != "1" ; then ++ ++# Check whether --with-ncurses was given. ++if test ${with_ncurses+y} ++then : ++ withval=$with_ncurses; ++if test $withval != "no" ; then ++ OLD_CPPFLAGS=$CPPFLAGS ++ if test $withval != "yes" ; then ++ CPPFLAGS="$CPPFLAGS -I$withval" ++ fi ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for newterm,timeout in -lncurses" >&5 ++printf %s "checking for newterm,timeout in -lncurses... " >&6; } ++if test ${ac_cv_lib_ncurses_newterm_timeout+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lncurses $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++char newterm,timeout (); ++int ++main (void) ++{ ++return newterm,timeout (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO" ++then : ++ ac_cv_lib_ncurses_newterm_timeout=yes ++else $as_nop ++ ac_cv_lib_ncurses_newterm_timeout=no ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncurses_newterm_timeout" >&5 ++printf "%s\n" "$ac_cv_lib_ncurses_newterm_timeout" >&6; } ++if test "x$ac_cv_lib_ncurses_newterm_timeout" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBNCURSES 1" >>confdefs.h ++ ++ LIBS="-lncurses $LIBS" ++ ++else $as_nop ++ CPPFLAGS=$OLD_CPPFLAGS ++fi ++ ++ CURSES_CHECKED="1" ++else ++ CURSES_CHECKED="1" ++fi ++ ++fi ++ ++fi ++ ++ ++ ++if test $CURSES_CHECKED != "1" ; then ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for initscr,timeout in -lcurses" >&5 ++printf %s "checking for initscr,timeout in -lcurses... " >&6; } ++if test ${ac_cv_lib_curses_initscr_timeout+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lcurses $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++char initscr,timeout (); ++int ++main (void) ++{ ++return initscr,timeout (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO" ++then : ++ ac_cv_lib_curses_initscr_timeout=yes ++else $as_nop ++ ac_cv_lib_curses_initscr_timeout=no ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_curses_initscr_timeout" >&5 ++printf "%s\n" "$ac_cv_lib_curses_initscr_timeout" >&6; } ++if test "x$ac_cv_lib_curses_initscr_timeout" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBCURSES 1" >>confdefs.h ++ ++ LIBS="-lcurses $LIBS" ++ ++else $as_nop ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for newterm,timeout in -lncurses" >&5 ++printf %s "checking for newterm,timeout in -lncurses... " >&6; } ++if test ${ac_cv_lib_ncurses_newterm_timeout+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lncurses $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++char newterm,timeout (); ++int ++main (void) ++{ ++return newterm,timeout (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO" ++then : ++ ac_cv_lib_ncurses_newterm_timeout=yes ++else $as_nop ++ ac_cv_lib_ncurses_newterm_timeout=no ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncurses_newterm_timeout" >&5 ++printf "%s\n" "$ac_cv_lib_ncurses_newterm_timeout" >&6; } ++if test "x$ac_cv_lib_ncurses_newterm_timeout" = xyes ++then : ++ printf "%s\n" "#define HAVE_LIBNCURSES 1" >>confdefs.h ++ ++ LIBS="-lncurses $LIBS" ++ ++fi ++ ++ ++fi ++ ++fi ++ ++ac_fn_c_check_func "$LINENO" "wattron" "ac_cv_func_wattron" ++if test "x$ac_cv_func_wattron" = xyes ++then : ++ printf "%s\n" "#define HAVE_WATTRON 1" >>confdefs.h ++ ++fi ++ ++ac_fn_c_check_func "$LINENO" "curs_set" "ac_cv_func_curs_set" ++if test "x$ac_cv_func_curs_set" = xyes ++then : ++ printf "%s\n" "#define HAVE_CURS_SET 1" >>confdefs.h ++ ++fi ++ ++ac_fn_c_check_func "$LINENO" "usleep" "ac_cv_func_usleep" ++if test "x$ac_cv_func_usleep" = xyes ++then : ++ printf "%s\n" "#define HAVE_USLEEP 1" >>confdefs.h ++ ++fi ++ ++ac_fn_c_check_func "$LINENO" "strlcpy" "ac_cv_func_strlcpy" ++if test "x$ac_cv_func_strlcpy" = xyes ++then : ++ printf "%s\n" "#define HAVE_STRLCPY 1" >>confdefs.h ++ ++fi ++ ++ ++ ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default ++" ++if test "x$ac_cv_type_pid_t" = xyes ++then : ++ ++else $as_nop ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++ #if defined _WIN64 && !defined __CYGWIN__ ++ LLP64 ++ #endif ++ ++int ++main (void) ++{ ++ ++ ; ++ return 0; ++} ++ ++_ACEOF ++if ac_fn_c_try_compile "$LINENO" ++then : ++ ac_pid_type='int' ++else $as_nop ++ ac_pid_type='__int64' ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++ ++printf "%s\n" "#define pid_t $ac_pid_type" >>confdefs.h ++ ++ ++fi ++ ++ ++ ++ac_func= ++for ac_item in $ac_func_c_list ++do ++ if test $ac_func; then ++ ac_fn_c_check_func "$LINENO" $ac_func ac_cv_func_$ac_func ++ if eval test "x$ac_cv_func_$ac_func" = xyes; then ++ echo "#define $ac_item 1" >> confdefs.h ++ fi ++ ac_func= ++ else ++ ac_func=$ac_item ++ fi ++done ++ ++ ++ ++if test "x$ac_cv_func_fork" = xyes; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working fork" >&5 ++printf %s "checking for working fork... " >&6; } ++if test ${ac_cv_func_fork_works+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test "$cross_compiling" = yes ++then : ++ ac_cv_func_fork_works=cross ++else $as_nop ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$ac_includes_default ++int ++main (void) ++{ ++ ++ /* By Ruediger Kuhlmann. */ ++ return fork () < 0; ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_run "$LINENO" ++then : ++ ac_cv_func_fork_works=yes ++else $as_nop ++ ac_cv_func_fork_works=no ++fi ++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ ++ conftest.$ac_objext conftest.beam conftest.$ac_ext ++fi ++ ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_fork_works" >&5 ++printf "%s\n" "$ac_cv_func_fork_works" >&6; } ++ ++else ++ ac_cv_func_fork_works=$ac_cv_func_fork ++fi ++if test "x$ac_cv_func_fork_works" = xcross; then ++ case $host in ++ *-*-amigaos* | *-*-msdosdjgpp*) ++ # Override, as these systems have only a dummy fork() stub ++ ac_cv_func_fork_works=no ++ ;; ++ *) ++ ac_cv_func_fork_works=yes ++ ;; ++ esac ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5 ++printf "%s\n" "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;} ++fi ++ac_cv_func_vfork_works=$ac_cv_func_vfork ++if test "x$ac_cv_func_vfork" = xyes; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working vfork" >&5 ++printf %s "checking for working vfork... " >&6; } ++if test ${ac_cv_func_vfork_works+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test "$cross_compiling" = yes ++then : ++ ac_cv_func_vfork_works=cross ++else $as_nop ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++/* Thanks to Paul Eggert for this test. */ ++$ac_includes_default ++#include <signal.h> ++#include <sys/wait.h> ++#ifdef HAVE_VFORK_H ++# include <vfork.h> ++#endif ++ ++static void ++do_nothing (int sig) ++{ ++ (void) sig; ++} ++ ++/* On some sparc systems, changes by the child to local and incoming ++ argument registers are propagated back to the parent. The compiler ++ is told about this with #include <vfork.h>, but some compilers ++ (e.g. gcc -O) don't grok <vfork.h>. Test for this by using a ++ static variable whose address is put into a register that is ++ clobbered by the vfork. */ ++static void ++sparc_address_test (int arg) ++{ ++ static pid_t child; ++ if (!child) { ++ child = vfork (); ++ if (child < 0) { ++ perror ("vfork"); ++ _exit(2); ++ } ++ if (!child) { ++ arg = getpid(); ++ write(-1, "", 0); ++ _exit (arg); ++ } ++ } ++} ++ ++int ++main (void) ++{ ++ pid_t parent = getpid (); ++ pid_t child; ++ ++ sparc_address_test (0); ++ ++ /* On Solaris 2.4, changes by the child to the signal handler ++ also munge signal handlers in the parent. To detect this, ++ start by putting the parent's handler in a known state. */ ++ signal (SIGTERM, SIG_DFL); ++ ++ child = vfork (); ++ ++ if (child == 0) { ++ /* Here is another test for sparc vfork register problems. This ++ test uses lots of local variables, at least as many local ++ variables as main has allocated so far including compiler ++ temporaries. 4 locals are enough for gcc 1.40.3 on a Solaris ++ 4.1.3 sparc, but we use 8 to be safe. A buggy compiler should ++ reuse the register of parent for one of the local variables, ++ since it will think that parent can't possibly be used any more ++ in this routine. Assigning to the local variable will thus ++ munge parent in the parent process. */ ++ pid_t ++ p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(), ++ p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid(); ++ /* Convince the compiler that p..p7 are live; otherwise, it might ++ use the same hardware register for all 8 local variables. */ ++ if (p != p1 || p != p2 || p != p3 || p != p4 ++ || p != p5 || p != p6 || p != p7) ++ _exit(1); ++ ++ /* Alter the child's signal handler. */ ++ if (signal (SIGTERM, do_nothing) != SIG_DFL) ++ _exit(1); ++ ++ /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent ++ from child file descriptors. If the child closes a descriptor ++ before it execs or exits, this munges the parent's descriptor ++ as well. Test for this by closing stdout in the child. */ ++ _exit(close(fileno(stdout)) != 0); ++ } else { ++ int status; ++ struct stat st; ++ ++ while (wait(&status) != child) ++ ; ++ return ( ++ /* Was there some problem with vforking? */ ++ child < 0 ++ ++ /* Did the child munge the parent's signal handler? */ ++ || signal (SIGTERM, SIG_DFL) != SIG_DFL ++ ++ /* Did the child fail? (This shouldn't happen.) */ ++ || status ++ ++ /* Did the vfork/compiler bug occur? */ ++ || parent != getpid() ++ ++ /* Did the file descriptor bug occur? */ ++ || fstat(fileno(stdout), &st) != 0 ++ ); ++ } ++} ++_ACEOF ++if ac_fn_c_try_run "$LINENO" ++then : ++ ac_cv_func_vfork_works=yes ++else $as_nop ++ ac_cv_func_vfork_works=no ++fi ++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ ++ conftest.$ac_objext conftest.beam conftest.$ac_ext ++fi ++ ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_vfork_works" >&5 ++printf "%s\n" "$ac_cv_func_vfork_works" >&6; } ++ ++fi; ++if test "x$ac_cv_func_fork_works" = xcross; then ++ ac_cv_func_vfork_works=$ac_cv_func_vfork ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5 ++printf "%s\n" "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;} ++fi ++ ++if test "x$ac_cv_func_vfork_works" = xyes; then ++ ++printf "%s\n" "#define HAVE_WORKING_VFORK 1" >>confdefs.h ++ ++else ++ ++printf "%s\n" "#define vfork fork" >>confdefs.h ++ ++fi ++if test "x$ac_cv_func_fork_works" = xyes; then ++ ++printf "%s\n" "#define HAVE_WORKING_FORK 1" >>confdefs.h ++ ++fi ++ ++ ++ ++# Check whether --with-time was given. ++if test ${with_time+y} ++then : ++ withval=$with_time; ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for accurate time calc" >&5 ++printf %s "checking for accurate time calc... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $withval" >&5 ++printf "%s\n" "$withval" >&6; } ++if test $withval != "no" ; then ++ OLD_CPPFLAGS=$CPPFLAGS ++ if test $withval != "yes" ; then ++ CPPFLAGS="$CPPFLAGS -I$withval" ++ fi ++ ac_fn_c_check_header_compile "$LINENO" "time.h" "ac_cv_header_time_h" "$ac_includes_default" ++if test "x$ac_cv_header_time_h" = xyes ++then : ++ ++ ac_fn_c_check_header_compile "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default" ++if test "x$ac_cv_header_sys_time_h" = xyes ++then : ++ ++ ++ for ac_func in gettimeofday ++do : ++ ac_fn_c_check_func "$LINENO" "gettimeofday" "ac_cv_func_gettimeofday" ++if test "x$ac_cv_func_gettimeofday" = xyes ++then : ++ printf "%s\n" "#define HAVE_GETTIMEOFDAY 1" >>confdefs.h ++ ++else $as_nop ++ CPPFLAGS=$OLD_CPPFLAGS ++fi ++ ++done ++ ++else $as_nop ++ CPPFLAGS=$OLD_CPPFLAGS ++fi ++ ++ ++else $as_nop ++ CPPFLAGS=$OLD_CPPFLAGS ++fi ++ ++fi ++ ++else $as_nop ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for accurate time calc" >&5 ++printf %s "checking for accurate time calc... " >&6; } ++ echo "yes" ++ ac_fn_c_check_header_compile "$LINENO" "time.h" "ac_cv_header_time_h" "$ac_includes_default" ++if test "x$ac_cv_header_time_h" = xyes ++then : ++ ++ ac_fn_c_check_header_compile "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default" ++if test "x$ac_cv_header_sys_time_h" = xyes ++then : ++ ++ ac_fn_c_check_func "$LINENO" "gettimeofday" "ac_cv_func_gettimeofday" ++if test "x$ac_cv_func_gettimeofday" = xyes ++then : ++ printf "%s\n" "#define HAVE_GETTIMEOFDAY 1" >>confdefs.h ++ ++fi ++ ++ ++fi ++ ++ ++fi ++ ++ ++fi ++ ++ ++ ++# Check whether --with-getopt_long was given. ++if test ${with_getopt_long+y} ++then : ++ withval=$with_getopt_long; ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for getopt_long" >&5 ++printf %s "checking for getopt_long... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $withval" >&5 ++printf "%s\n" "$withval" >&6; } ++if test $withval != "no" ; then ++ OLD_CPPFLAGS=$CPPFLAGS ++ if test $withval != "yes" ; then ++ CPPFLAGS="$CPPFLAGS -I$withval" ++ fi ++ for ac_header in getopt.h ++do : ++ ac_fn_c_check_header_compile "$LINENO" "getopt.h" "ac_cv_header_getopt_h" "$ac_includes_default" ++if test "x$ac_cv_header_getopt_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_GETOPT_H 1" >>confdefs.h ++ ++ ++ for ac_func in getopt_long ++do : ++ ac_fn_c_check_func "$LINENO" "getopt_long" "ac_cv_func_getopt_long" ++if test "x$ac_cv_func_getopt_long" = xyes ++then : ++ printf "%s\n" "#define HAVE_GETOPT_LONG 1" >>confdefs.h ++ ++else $as_nop ++ CPPFLAGS=$OLD_CPPFLAGS ++fi ++ ++done ++ ++else $as_nop ++ CPPFLAGS=$OLD_CPPFLAGS ++fi ++ ++done ++fi ++ ++else $as_nop ++ ++ for ac_header in getopt.h ++do : ++ ac_fn_c_check_header_compile "$LINENO" "getopt.h" "ac_cv_header_getopt_h" "$ac_includes_default" ++if test "x$ac_cv_header_getopt_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_GETOPT_H 1" >>confdefs.h ++ ++ ac_fn_c_check_func "$LINENO" "getopt_long" "ac_cv_func_getopt_long" ++if test "x$ac_cv_func_getopt_long" = xyes ++then : ++ printf "%s\n" "#define HAVE_GETOPT_LONG 1" >>confdefs.h ++ ++fi ++ ++ ++fi ++ ++done ++ ++fi ++ ++ ++ ++##################################################### ++# check for inputs ++##################################################### ++ ++INPUT_FOUND=0 ++DISK_INPUT_FOUND=0 ++INPUT_SYSTEM="" ++SYSCTL_ADDED=0 ++ ++#check for getifaddrs ++net_if_h_includes=" ++ #include <stdio.h> ++ #if STDC_HEADERS ++ # include <stdlib.h> ++ # include <stddef.h> ++ #else ++ # if HAVE_STDLIB_H ++ # include <stdlib.h> ++ # endif ++ #endif ++ #if HAVE_SYS_SOCKET_H ++ # include <sys/socket.h> ++ #endif ++ " ++ ++ ++# Check whether --with-getifaddrs was given. ++if test ${with_getifaddrs+y} ++then : ++ withval=$with_getifaddrs; ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for getifaddrs input" >&5 ++printf %s "checking for getifaddrs input... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $withval" >&5 ++printf "%s\n" "$withval" >&6; } ++if test $withval != "no" ; then ++ OLD_CPPFLAGS=$CPPFLAGS ++ if test $withval != "yes" ; then ++ CPPFLAGS="$CPPFLAGS -I$withval" ++ fi ++ ac_fn_c_check_header_compile "$LINENO" "ifaddrs.h" "ac_cv_header_ifaddrs_h" "$ac_includes_default" ++if test "x$ac_cv_header_ifaddrs_h" = xyes ++then : ++ ++ ++ for ac_func in getifaddrs ++do : ++ ac_fn_c_check_func "$LINENO" "getifaddrs" "ac_cv_func_getifaddrs" ++if test "x$ac_cv_func_getifaddrs" = xyes ++then : ++ printf "%s\n" "#define HAVE_GETIFADDRS 1" >>confdefs.h ++ ++ ac_fn_c_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default" ++if test "x$ac_cv_header_sys_socket_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_SYS_SOCKET_H 1" >>confdefs.h ++ ++fi ++ ++ for ac_header in net/if.h ++do : ++ ac_fn_c_check_header_compile "$LINENO" "net/if.h" "ac_cv_header_net_if_h" "$net_if_h_includes ++" ++if test "x$ac_cv_header_net_if_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_NET_IF_H 1" >>confdefs.h ++ ++ ac_fn_c_check_member "$LINENO" "struct if_data" "ifi_ibytes" "ac_cv_member_struct_if_data_ifi_ibytes" " ++ $net_if_h_includes ++ #include <net/if.h> ++ ++" ++if test "x$ac_cv_member_struct_if_data_ifi_ibytes" = xyes ++then : ++ ++printf "%s\n" "#define HAVE_STRUCT_IF_DATA_IFI_IBYTES 1" >>confdefs.h ++ ++ ++ ++printf "%s\n" "#define HAVE_WORKING_GETIFADDRS 1" >>confdefs.h ++ ++ INPUT_FOUND=1 ++ INPUT_SYSTEM="$INPUT_SYSTEM getifaddrs.$OBJEXT" ++ ++else $as_nop ++ CPPFLAGS=$OLD_CPPFLAGS ++fi ++ ++ ++else $as_nop ++ CPPFLAGS=$OLD_CPPFLAGS ++fi ++ ++done ++ ++else $as_nop ++ CPPFLAGS=$OLD_CPPFLAGS ++fi ++ ++done ++ ++else $as_nop ++ CPPFLAGS=$OLD_CPPFLAGS ++fi ++ ++fi ++ ++else $as_nop ++ ++ac_fn_c_check_header_compile "$LINENO" "ifaddrs.h" "ac_cv_header_ifaddrs_h" "$ac_includes_default" ++if test "x$ac_cv_header_ifaddrs_h" = xyes ++then : ++ ++ ++ for ac_func in getifaddrs ++do : ++ ac_fn_c_check_func "$LINENO" "getifaddrs" "ac_cv_func_getifaddrs" ++if test "x$ac_cv_func_getifaddrs" = xyes ++then : ++ printf "%s\n" "#define HAVE_GETIFADDRS 1" >>confdefs.h ++ ++ ac_fn_c_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default" ++if test "x$ac_cv_header_sys_socket_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_SYS_SOCKET_H 1" >>confdefs.h ++ ++fi ++ ++ for ac_header in net/if.h ++do : ++ ac_fn_c_check_header_compile "$LINENO" "net/if.h" "ac_cv_header_net_if_h" "$net_if_h_includes ++" ++if test "x$ac_cv_header_net_if_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_NET_IF_H 1" >>confdefs.h ++ ++ ac_fn_c_check_member "$LINENO" "struct if_data" "ifi_ibytes" "ac_cv_member_struct_if_data_ifi_ibytes" " ++ $net_if_h_includes ++ #include <net/if.h> ++ ++" ++if test "x$ac_cv_member_struct_if_data_ifi_ibytes" = xyes ++then : ++ ++printf "%s\n" "#define HAVE_STRUCT_IF_DATA_IFI_IBYTES 1" >>confdefs.h ++ ++ ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether getifaddrs returns correct values" >&5 ++printf %s "checking whether getifaddrs returns correct values... " >&6; } ++ if test "$cross_compiling" = yes ++then : ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cross-compiling" >&5 ++printf "%s\n" "cross-compiling" >&6; } ++ ++printf "%s\n" "#define HAVE_WORKING_GETIFADDRS 1" >>confdefs.h ++ ++ INPUT_FOUND=1 ++ INPUT_SYSTEM="$INPUT_SYSTEM getifaddrs.$OBJEXT" ++ ++else $as_nop ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++ #include <stdio.h> ++ #if STDC_HEADERS ++ # include <stdlib.h> ++ # include <stddef.h> ++ #else ++ # if HAVE_STDLIB_H ++ # include <stdlib.h> ++ # endif ++ #endif ++ #if HAVE_SYS_SOCKET_H ++ # include <sys/socket.h> ++ #endif ++ #include <sys/types.h> ++ #include <net/if.h> ++ #include <ifaddrs.h> ++ ++ int main() { ++ struct ifaddrs *net; ++ if (getifaddrs(&net) != 0) return 1; ++ if (net!=NULL) ++ if (net->ifa_data==NULL) { ++ freeifaddrs(net); ++ return 1; ++ } ++ freeifaddrs(net); ++ return 0; ++ } ++ ++_ACEOF ++if ac_fn_c_try_run "$LINENO" ++then : ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++ ++printf "%s\n" "#define HAVE_WORKING_GETIFADDRS 1" >>confdefs.h ++ ++ INPUT_FOUND=1 ++ INPUT_SYSTEM="$INPUT_SYSTEM getifaddrs.$OBJEXT" ++ ++else $as_nop ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++ ++fi ++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ ++ conftest.$ac_objext conftest.beam conftest.$ac_ext ++fi ++ ++ ++ ++fi ++ ++ ++fi ++ ++done ++ ++fi ++ ++done ++ ++fi ++ ++ ++fi ++ ++ ++ ++# Check whether --with-sysctl was given. ++if test ${with_sysctl+y} ++then : ++ withval=$with_sysctl; ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sysctl input" >&5 ++printf %s "checking for sysctl input... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $withval" >&5 ++printf "%s\n" "$withval" >&6; } ++if test $withval != "no" ; then ++ OLD_CPPFLAGS=$CPPFLAGS ++ if test $withval != "yes" ; then ++ CPPFLAGS="$CPPFLAGS -I$withval" ++ fi ++ ++ for ac_func in sysctl ++do : ++ ac_fn_c_check_func "$LINENO" "sysctl" "ac_cv_func_sysctl" ++if test "x$ac_cv_func_sysctl" = xyes ++then : ++ printf "%s\n" "#define HAVE_SYSCTL 1" >>confdefs.h ++ ++ ac_fn_c_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default" ++if test "x$ac_cv_header_sys_socket_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_SYS_SOCKET_H 1" >>confdefs.h ++ ++fi ++ ++ for ac_header in net/if.h ++do : ++ ac_fn_c_check_header_compile "$LINENO" "net/if.h" "ac_cv_header_net_if_h" "$net_if_h_includes ++" ++if test "x$ac_cv_header_net_if_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_NET_IF_H 1" >>confdefs.h ++ ++ ac_fn_c_check_member "$LINENO" "struct if_msghdr" "ifm_data" "ac_cv_member_struct_if_msghdr_ifm_data" " ++ $net_if_h_includes ++ #include <net/if.h> ++ ++" ++if test "x$ac_cv_member_struct_if_msghdr_ifm_data" = xyes ++then : ++ ++printf "%s\n" "#define HAVE_STRUCT_IF_MSGHDR_IFM_DATA 1" >>confdefs.h ++ ++ ++ INPUT_FOUND=1 ++ INPUT_SYSTEM="$INPUT_SYSTEM sysctl.$OBJEXT" ++ SYSCTL_ADDED=1 ++ ++printf "%s\n" "#define HAVE_STRUCT_IF_MSGHDR_IFM_DATA 1" >>confdefs.h ++ ++ ++else $as_nop ++ CPPFLAGS=$OLD_CPPFLAGS ++fi ++ ++ ++else $as_nop ++ CPPFLAGS=$OLD_CPPFLAGS ++fi ++ ++done ++ ++else $as_nop ++ CPPFLAGS=$OLD_CPPFLAGS ++fi ++ ++done ++fi ++ ++else $as_nop ++ ++ ++ for ac_func in sysctl ++do : ++ ac_fn_c_check_func "$LINENO" "sysctl" "ac_cv_func_sysctl" ++if test "x$ac_cv_func_sysctl" = xyes ++then : ++ printf "%s\n" "#define HAVE_SYSCTL 1" >>confdefs.h ++ ++ ac_fn_c_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default" ++if test "x$ac_cv_header_sys_socket_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_SYS_SOCKET_H 1" >>confdefs.h ++ ++fi ++ ++ for ac_header in net/if.h ++do : ++ ac_fn_c_check_header_compile "$LINENO" "net/if.h" "ac_cv_header_net_if_h" "$net_if_h_includes ++" ++if test "x$ac_cv_header_net_if_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_NET_IF_H 1" >>confdefs.h ++ ++ ac_fn_c_check_member "$LINENO" "struct if_msghdr" "ifm_data" "ac_cv_member_struct_if_msghdr_ifm_data" " ++ $net_if_h_includes ++ #include <net/if.h> ++ ++" ++if test "x$ac_cv_member_struct_if_msghdr_ifm_data" = xyes ++then : ++ ++printf "%s\n" "#define HAVE_STRUCT_IF_MSGHDR_IFM_DATA 1" >>confdefs.h ++ ++ ++ INPUT_FOUND=1 ++ INPUT_SYSTEM="$INPUT_SYSTEM sysctl.$OBJEXT" ++ SYSCTL_ADDED=1 ++ ++printf "%s\n" "#define HAVE_STRUCT_IF_MSGHDR_IFM_DATA 1" >>confdefs.h ++ ++ ++fi ++ ++ ++fi ++ ++done ++ ++fi ++ ++done ++ ++fi ++ ++ ++ ++ ++# Check whether --with-sysctldisk was given. ++if test ${with_sysctldisk+y} ++then : ++ withval=$with_sysctldisk; ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sysctl disk input" >&5 ++printf %s "checking for sysctl disk input... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $withval" >&5 ++printf "%s\n" "$withval" >&6; } ++if test $withval != "no" ; then ++ OLD_CPPFLAGS=$CPPFLAGS ++ if test $withval != "yes" ; then ++ CPPFLAGS="$CPPFLAGS -I$withval" ++ fi ++ ++ for ac_func in sysctl ++do : ++ ac_fn_c_check_func "$LINENO" "sysctl" "ac_cv_func_sysctl" ++if test "x$ac_cv_func_sysctl" = xyes ++then : ++ printf "%s\n" "#define HAVE_SYSCTL 1" >>confdefs.h ++ ++ for ac_header in sys/disk.h ++do : ++ ac_fn_c_check_header_compile "$LINENO" "sys/disk.h" "ac_cv_header_sys_disk_h" "$ac_includes_default" ++if test "x$ac_cv_header_sys_disk_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_SYS_DISK_H 1" >>confdefs.h ++ ++ SYSCTL_DISK=0 ++ ac_fn_c_check_type "$LINENO" "struct diskstats" "ac_cv_type_struct_diskstats" "#include <sys/disk.h> ++" ++if test "x$ac_cv_type_struct_diskstats" = xyes ++then : ++ ++printf "%s\n" "#define HAVE_STRUCT_DISKSTATS 1" >>confdefs.h ++ ++ ++ DISK_INPUT_FOUND=1 ++ if test $SYSCTL_ADDED -eq 0 ; then ++ INPUT_SYSTEM="$INPUT_SYSTEM sysctl.$OBJEXT" ++ fi ++ ++printf "%s\n" "#define HAVE_STRUCT_DISKSTATS 1" >>confdefs.h ++ ++ ac_fn_c_check_member "$LINENO" "struct diskstats" "ds_rbytes" "ac_cv_member_struct_diskstats_ds_rbytes" "#include <sys/disk.h> ++" ++if test "x$ac_cv_member_struct_diskstats_ds_rbytes" = xyes ++then : ++ ++printf "%s\n" "#define HAVE_STRUCT_DISKSTATS_DS_RBYTES 1" >>confdefs.h ++ ++ ++fi ++ ++ ac_fn_c_check_member "$LINENO" "struct diskstats" "ds_name" "ac_cv_member_struct_diskstats_ds_name" "#include <sys/disk.h> ++" ++if test "x$ac_cv_member_struct_diskstats_ds_name" = xyes ++then : ++ ++printf "%s\n" "#define HAVE_STRUCT_DISKSTATS_DS_NAME 1" >>confdefs.h ++ ++ ++fi ++ ++ ++else $as_nop ++ ++ ac_fn_c_check_type "$LINENO" "struct disk_sysctl" "ac_cv_type_struct_disk_sysctl" "#include <sys/disk.h> ++" ++if test "x$ac_cv_type_struct_disk_sysctl" = xyes ++then : ++ ++printf "%s\n" "#define HAVE_STRUCT_DISK_SYSCTL 1" >>confdefs.h ++ ++ ++ DISK_INPUT_FOUND=1 ++ if test $SYSCTL_ADDED -eq 0 ; then ++ INPUT_SYSTEM="$INPUT_SYSTEM sysctl.$OBJEXT" ++ fi ++ ++printf "%s\n" "#define HAVE_STRUCT_DISK_SYSCTL 1" >>confdefs.h ++ ++ ac_fn_c_check_member "$LINENO" "struct disk_sysctl" "dk_rbytes" "ac_cv_member_struct_disk_sysctl_dk_rbytes" "#include <sys/disk.h> ++" ++if test "x$ac_cv_member_struct_disk_sysctl_dk_rbytes" = xyes ++then : ++ ++printf "%s\n" "#define HAVE_STRUCT_DISK_SYSCTL_DK_RBYTES 1" >>confdefs.h ++ ++ ++fi ++ ++ ++else $as_nop ++ CPPFLAGS=$OLD_CPPFLAGS ++fi ++ ++ ++fi ++ ++ ++else $as_nop ++ CPPFLAGS=$OLD_CPPFLAGS ++fi ++ ++done ++ ++ ++else $as_nop ++ CPPFLAGS=$OLD_CPPFLAGS ++fi ++ ++done ++fi ++ ++else $as_nop ++ ++ ++ for ac_func in sysctl ++do : ++ ac_fn_c_check_func "$LINENO" "sysctl" "ac_cv_func_sysctl" ++if test "x$ac_cv_func_sysctl" = xyes ++then : ++ printf "%s\n" "#define HAVE_SYSCTL 1" >>confdefs.h ++ ++ for ac_header in sys/disk.h ++do : ++ ac_fn_c_check_header_compile "$LINENO" "sys/disk.h" "ac_cv_header_sys_disk_h" "$ac_includes_default" ++if test "x$ac_cv_header_sys_disk_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_SYS_DISK_H 1" >>confdefs.h ++ ++ ac_fn_c_check_type "$LINENO" "struct diskstats" "ac_cv_type_struct_diskstats" "#include <sys/disk.h> ++" ++if test "x$ac_cv_type_struct_diskstats" = xyes ++then : ++ ++printf "%s\n" "#define HAVE_STRUCT_DISKSTATS 1" >>confdefs.h ++ ++ ++ DISK_INPUT_FOUND=1 ++ if test $SYSCTL_ADDED -eq 0 ; then ++ INPUT_SYSTEM="$INPUT_SYSTEM sysctl.$OBJEXT" ++ fi ++ ++printf "%s\n" "#define HAVE_STRUCT_DISKSTATS 1" >>confdefs.h ++ ++ ac_fn_c_check_member "$LINENO" "struct diskstats" "ds_rbytes" "ac_cv_member_struct_diskstats_ds_rbytes" "#include <sys/disk.h> ++" ++if test "x$ac_cv_member_struct_diskstats_ds_rbytes" = xyes ++then : ++ ++printf "%s\n" "#define HAVE_STRUCT_DISKSTATS_DS_RBYTES 1" >>confdefs.h ++ ++ ++fi ++ ++ ac_fn_c_check_member "$LINENO" "struct diskstats" "ds_name" "ac_cv_member_struct_diskstats_ds_name" "#include <sys/disk.h> ++" ++if test "x$ac_cv_member_struct_diskstats_ds_name" = xyes ++then : ++ ++printf "%s\n" "#define HAVE_STRUCT_DISKSTATS_DS_NAME 1" >>confdefs.h ++ ++ ++fi ++ ++ ++else $as_nop ++ ++ ac_fn_c_check_type "$LINENO" "struct disk_sysctl" "ac_cv_type_struct_disk_sysctl" "#include <sys/disk.h> ++" ++if test "x$ac_cv_type_struct_disk_sysctl" = xyes ++then : ++ ++printf "%s\n" "#define HAVE_STRUCT_DISK_SYSCTL 1" >>confdefs.h ++ ++ ++ DISK_INPUT_FOUND=1 ++ if test $SYSCTL_ADDED -eq 0 ; then ++ INPUT_SYSTEM="$INPUT_SYSTEM sysctl.$OBJEXT" ++ fi ++ ++printf "%s\n" "#define HAVE_STRUCT_DISK_SYSCTL 1" >>confdefs.h ++ ++ ac_fn_c_check_member "$LINENO" "struct disk_sysctl" "dk_rbytes" "ac_cv_member_struct_disk_sysctl_dk_rbytes" "#include <sys/disk.h> ++" ++if test "x$ac_cv_member_struct_disk_sysctl_dk_rbytes" = xyes ++then : ++ ++printf "%s\n" "#define HAVE_STRUCT_DISK_SYSCTL_DK_RBYTES 1" >>confdefs.h ++ ++ ++fi ++ ++ ++fi ++ ++ ++fi ++ ++ ++fi ++ ++done ++ ++fi ++ ++done ++ ++fi ++ ++ ++ ++# Check whether --with-kstat was given. ++if test ${with_kstat+y} ++then : ++ withval=$with_kstat; ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for kstat input" >&5 ++printf %s "checking for kstat input... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $withval" >&5 ++printf "%s\n" "$withval" >&6; } ++if test $withval != "no" ; then ++ OLD_CPPFLAGS=$CPPFLAGS ++ if test $withval != "yes" ; then ++ CPPFLAGS="$CPPFLAGS -I$withval" ++ fi ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for kstat_open in -lkstat" >&5 ++printf %s "checking for kstat_open in -lkstat... " >&6; } ++if test ${ac_cv_lib_kstat_kstat_open+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lkstat $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++char kstat_open (); ++int ++main (void) ++{ ++return kstat_open (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO" ++then : ++ ac_cv_lib_kstat_kstat_open=yes ++else $as_nop ++ ac_cv_lib_kstat_kstat_open=no ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kstat_kstat_open" >&5 ++printf "%s\n" "$ac_cv_lib_kstat_kstat_open" >&6; } ++if test "x$ac_cv_lib_kstat_kstat_open" = xyes ++then : ++ ++ ++printf "%s\n" "#define HAVE_LIBKSTAT 1" >>confdefs.h ++ ++ LIBS="$LIBS -lkstat" ++ DISK_INPUT_FOUND=1 ++ INPUT_SYSTEM="$INPUT_SYSTEM libkstat.$OBJEXT" ++ INPUT_FOUND=1 ++ ++else $as_nop ++ CPPFLAGS=$OLD_CPPFLAGS ++fi ++ ++fi ++ ++else $as_nop ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for kstat_open in -lkstat" >&5 ++printf %s "checking for kstat_open in -lkstat... " >&6; } ++if test ${ac_cv_lib_kstat_kstat_open+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lkstat $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++char kstat_open (); ++int ++main (void) ++{ ++return kstat_open (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO" ++then : ++ ac_cv_lib_kstat_kstat_open=yes ++else $as_nop ++ ac_cv_lib_kstat_kstat_open=no ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kstat_kstat_open" >&5 ++printf "%s\n" "$ac_cv_lib_kstat_kstat_open" >&6; } ++if test "x$ac_cv_lib_kstat_kstat_open" = xyes ++then : ++ ++ ++printf "%s\n" "#define HAVE_LIBKSTAT 1" >>confdefs.h ++ ++ LIBS="$LIBS -lkstat" ++ INPUT_SYSTEM="$INPUT_SYSTEM libkstat.$OBJEXT" ++ INPUT_FOUND=1 ++ DISK_INPUT_FOUND=1 ++ ++fi ++ ++ ++fi ++ ++ ++ ++ ++# Check whether --with-win32 was given. ++if test ${with_win32+y} ++then : ++ withval=$with_win32; ++echo "enable win32 support" ++ ++printf "%s\n" "#define WIN32 1" >>confdefs.h ++ ++LIBS="$LIBS -liphlpapi" ++INPUT_SYSTEM="$INPUT_SYSTEM win32.$OBJEXT" ++INPUT_FOUND=1 ++ ++fi ++ ++ ++ ++ ++# Check whether --with-procnetdev was given. ++if test ${with_procnetdev+y} ++then : ++ withval=$with_procnetdev; ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for /proc/net/dev input" >&5 ++printf %s "checking for /proc/net/dev input... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $withval" >&5 ++printf "%s\n" "$withval" >&6; } ++if test $withval = "yes" ; then ++ ++printf "%s\n" "#define HAVE__PROC_NET_DEV 1" >>confdefs.h ++ ++ INPUT_SYSTEM="$INPUT_SYSTEM proc_net_dev.$OBJEXT" ++ INPUT_FOUND=1 ++else ++ if test $withval != "no" ; then ++ as_ac_File=`printf "%s\n" "ac_cv_file_$withval" | $as_tr_sh` ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $withval" >&5 ++printf %s "checking for $withval... " >&6; } ++if eval test ${$as_ac_File+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ test "$cross_compiling" = yes && ++ as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 ++if test -r "$withval"; then ++ eval "$as_ac_File=yes" ++else ++ eval "$as_ac_File=no" ++fi ++fi ++eval ac_res=$$as_ac_File ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 ++printf "%s\n" "$ac_res" >&6; } ++if eval test "x$"$as_ac_File"" = x"yes" ++then : ++ ++cat >>confdefs.h <<_ACEOF ++#define `printf "%s\n" "HAVE_$withval" | $as_tr_cpp` 1 ++_ACEOF ++ ++ ++printf "%s\n" "#define PROC_NET_DEV_PATH "$withval"" >>confdefs.h ++ ++ ++printf "%s\n" "#define HAVE__PROC_NET_DEV 1" >>confdefs.h ++ ++ INPUT_SYSTEM="$INPUT_SYSTEM proc_net_dev.$OBJEXT" ++ INPUT_FOUND=1 ++ ++fi ++ ++ fi ++fi ++ ++else $as_nop ++ ++if test "$cross_compiling" != yes; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for /proc/net/dev" >&5 ++printf %s "checking for /proc/net/dev... " >&6; } ++if test ${ac_cv_file__proc_net_dev+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ test "$cross_compiling" = yes && ++ as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 ++if test -r "/proc/net/dev"; then ++ ac_cv_file__proc_net_dev=yes ++else ++ ac_cv_file__proc_net_dev=no ++fi ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__proc_net_dev" >&5 ++printf "%s\n" "$ac_cv_file__proc_net_dev" >&6; } ++if test "x$ac_cv_file__proc_net_dev" = xyes ++then : ++ ++printf "%s\n" "#define HAVE__PROC_NET_DEV 1" >>confdefs.h ++ ++ INPUT_FOUND=1 ++ INPUT_SYSTEM="$INPUT_SYSTEM proc_net_dev.$OBJEXT" ++ ++fi ++ ++fi ++ ++fi ++ ++ ++ ++# Check whether --with-diskstats was given. ++if test ${with_diskstats+y} ++then : ++ withval=$with_diskstats; ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for /proc/diskstats input" >&5 ++printf %s "checking for /proc/diskstats input... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $withval" >&5 ++printf "%s\n" "$withval" >&6; } ++if test $withval = "yes" ; then ++ ++printf "%s\n" "#define HAVE__PROC_DISKSTATS 1" >>confdefs.h ++ ++ DISK_INPUT_FOUND=1 ++ INPUT_SYSTEM="$INPUT_SYSTEM proc_diskstats.$OBJEXT" ++else ++ if test $withval != "no" ; then ++ ++printf "%s\n" "#define PROC_DISKSTATS_PATH "$withval"" >>confdefs.h ++ ++ ++printf "%s\n" "#define HAVE__PROC_DISKSTATS 1" >>confdefs.h ++ ++ DISK_INPUT_FOUND=1 ++ INPUT_SYSTEM="$INPUT_SYSTEM proc_diskstats.$OBJEXT" ++ fi ++fi ++ ++fi ++ # check for diskstats on ac_arg_with partitions down below ++ ++ ++# Check whether --with-partitions was given. ++if test ${with_partitions+y} ++then : ++ withval=$with_partitions; ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for /proc/diskstats|/proc/partitions input" >&5 ++printf %s "checking for /proc/diskstats|/proc/partitions input... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $withval" >&5 ++printf "%s\n" "$withval" >&6; } ++if test $withval = "yes" ; then ++ ++printf "%s\n" "#define HAVE__PROC_DISKSTATS 1" >>confdefs.h ++ ++ DISK_INPUT_FOUND=1 ++ INPUT_SYSTEM="$INPUT_SYSTEM proc_diskstats.$OBJEXT" ++else ++ if test $withval != "no" ; then ++ ++printf "%s\n" "#define PROC_PARTITIONS_PATH "$withval"" >>confdefs.h ++ ++ ++printf "%s\n" "#define HAVE__PROC_DISKSTATS 1" >>confdefs.h ++ ++ DISK_INPUT_FOUND=1 ++ INPUT_SYSTEM="$INPUT_SYSTEM proc_diskstats.$OBJEXT" ++ fi ++fi ++ ++else $as_nop ++ ++if test "$cross_compiling" != yes; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for /proc/diskstats" >&5 ++printf %s "checking for /proc/diskstats... " >&6; } ++if test ${ac_cv_file__proc_diskstats+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ test "$cross_compiling" = yes && ++ as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 ++if test -r "/proc/diskstats"; then ++ ac_cv_file__proc_diskstats=yes ++else ++ ac_cv_file__proc_diskstats=no ++fi ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__proc_diskstats" >&5 ++printf "%s\n" "$ac_cv_file__proc_diskstats" >&6; } ++if test "x$ac_cv_file__proc_diskstats" = xyes ++then : ++ ++printf "%s\n" "#define HAVE__PROC_DISKSTATS 1" >>confdefs.h ++ ++ DISK_INPUT_FOUND=1 ++ INPUT_SYSTEM="$INPUT_SYSTEM proc_diskstats.$OBJEXT" ++ ++else $as_nop ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for /proc/partitions" >&5 ++printf %s "checking for /proc/partitions... " >&6; } ++if test ${ac_cv_file__proc_partitions+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ test "$cross_compiling" = yes && ++ as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 ++if test -r "/proc/partitions"; then ++ ac_cv_file__proc_partitions=yes ++else ++ ac_cv_file__proc_partitions=no ++fi ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__proc_partitions" >&5 ++printf "%s\n" "$ac_cv_file__proc_partitions" >&6; } ++if test "x$ac_cv_file__proc_partitions" = xyes ++then : ++ ++printf "%s\n" "#define HAVE__PROC_PARTITIONS 1" >>confdefs.h ++ ++ ++printf "%s\n" "#define HAVE__PROC_DISKSTATS 1" >>confdefs.h ++ ++ DISK_INPUT_FOUND=1 ++ INPUT_SYSTEM="$INPUT_SYSTEM proc_diskstats.$OBJEXT" ++ ++fi ++ ++ ++fi ++ ++fi ++ ++fi ++ ++ ++ ++# Check whether --with-devstat was given. ++if test ${with_devstat+y} ++then : ++ withval=$with_devstat; ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for devstat input" >&5 ++printf %s "checking for devstat input... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $withval" >&5 ++printf "%s\n" "$withval" >&6; } ++if test $withval != "no" ; then ++ OLD_CPPFLAGS=$CPPFLAGS ++ if test $withval != "yes" ; then ++ CPPFLAGS="$CPPFLAGS -I$withval" ++ fi ++ for ac_header in sys/dkstat.h ++do : ++ ac_fn_c_check_header_compile "$LINENO" "sys/dkstat.h" "ac_cv_header_sys_dkstat_h" "$ac_includes_default" ++if test "x$ac_cv_header_sys_dkstat_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_SYS_DKSTAT_H 1" >>confdefs.h ++ ++ for ac_header in devstat.h ++do : ++ ac_fn_c_check_header_compile "$LINENO" "devstat.h" "ac_cv_header_devstat_h" "#include <sys/dkstat.h> ++" ++if test "x$ac_cv_header_devstat_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_DEVSTAT_H 1" >>confdefs.h ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for devstat_getdevs in -ldevstat" >&5 ++printf %s "checking for devstat_getdevs in -ldevstat... " >&6; } ++if test ${ac_cv_lib_devstat_devstat_getdevs+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-ldevstat $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++char devstat_getdevs (); ++int ++main (void) ++{ ++return devstat_getdevs (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO" ++then : ++ ac_cv_lib_devstat_devstat_getdevs=yes ++else $as_nop ++ ac_cv_lib_devstat_devstat_getdevs=no ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_devstat_devstat_getdevs" >&5 ++printf "%s\n" "$ac_cv_lib_devstat_devstat_getdevs" >&6; } ++if test "x$ac_cv_lib_devstat_devstat_getdevs" = xyes ++then : ++ ++ DISK_INPUT_FOUND=1 ++ ++printf "%s\n" "#define HAVE_DEVSTAT_GETDEVS 1" >>confdefs.h ++ ++ LIBS="$LIBS -ldevstat" ++ INPUT_SYSTEM="$INPUT_SYSTEM devstat.$OBJEXT" ++ ++else $as_nop ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for getdevs in -ldevstat" >&5 ++printf %s "checking for getdevs in -ldevstat... " >&6; } ++if test ${ac_cv_lib_devstat_getdevs+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-ldevstat $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++char getdevs (); ++int ++main (void) ++{ ++return getdevs (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO" ++then : ++ ac_cv_lib_devstat_getdevs=yes ++else $as_nop ++ ac_cv_lib_devstat_getdevs=no ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_devstat_getdevs" >&5 ++printf "%s\n" "$ac_cv_lib_devstat_getdevs" >&6; } ++if test "x$ac_cv_lib_devstat_getdevs" = xyes ++then : ++ ++ DISK_INPUT_FOUND=1 ++ ++printf "%s\n" "#define HAVE_GETDEVS 1" >>confdefs.h ++ ++ LIBS="$LIBS -ldevstat" ++ INPUT_SYSTEM="$INPUT_SYSTEM devstat.$OBJEXT" ++ ++fi ++ ++ ++fi ++ ++ ++fi ++ ++done ++ ++fi ++ ++done ++fi ++ ++else $as_nop ++ ++ for ac_header in sys/dkstat.h ++do : ++ ac_fn_c_check_header_compile "$LINENO" "sys/dkstat.h" "ac_cv_header_sys_dkstat_h" "$ac_includes_default" ++if test "x$ac_cv_header_sys_dkstat_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_SYS_DKSTAT_H 1" >>confdefs.h ++ ++ for ac_header in devstat.h ++do : ++ ac_fn_c_check_header_compile "$LINENO" "devstat.h" "ac_cv_header_devstat_h" "#include <sys/dkstat.h> ++" ++if test "x$ac_cv_header_devstat_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_DEVSTAT_H 1" >>confdefs.h ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for devstat_getdevs in -ldevstat" >&5 ++printf %s "checking for devstat_getdevs in -ldevstat... " >&6; } ++if test ${ac_cv_lib_devstat_devstat_getdevs+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-ldevstat $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++char devstat_getdevs (); ++int ++main (void) ++{ ++return devstat_getdevs (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO" ++then : ++ ac_cv_lib_devstat_devstat_getdevs=yes ++else $as_nop ++ ac_cv_lib_devstat_devstat_getdevs=no ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_devstat_devstat_getdevs" >&5 ++printf "%s\n" "$ac_cv_lib_devstat_devstat_getdevs" >&6; } ++if test "x$ac_cv_lib_devstat_devstat_getdevs" = xyes ++then : ++ ++ DISK_INPUT_FOUND=1 ++ ++printf "%s\n" "#define HAVE_DEVSTAT_GETDEVS 1" >>confdefs.h ++ ++ LIBS="$LIBS -ldevstat" ++ INPUT_SYSTEM="$INPUT_SYSTEM devstat.$OBJEXT" ++ ++else $as_nop ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for getdevs in -ldevstat" >&5 ++printf %s "checking for getdevs in -ldevstat... " >&6; } ++if test ${ac_cv_lib_devstat_getdevs+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-ldevstat $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++char getdevs (); ++int ++main (void) ++{ ++return getdevs (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO" ++then : ++ ac_cv_lib_devstat_getdevs=yes ++else $as_nop ++ ac_cv_lib_devstat_getdevs=no ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_devstat_getdevs" >&5 ++printf "%s\n" "$ac_cv_lib_devstat_getdevs" >&6; } ++if test "x$ac_cv_lib_devstat_getdevs" = xyes ++then : ++ ++ DISK_INPUT_FOUND=1 ++ ++printf "%s\n" "#define HAVE_GETDEVS 1" >>confdefs.h ++ ++ LIBS="$LIBS -ldevstat" ++ INPUT_SYSTEM="$INPUT_SYSTEM devstat.$OBJEXT" ++ ++fi ++ ++ ++fi ++ ++ ++fi ++ ++done ++ ++fi ++ ++done ++ ++fi ++ ++ ++ ++# Check whether --with-ioservice was given. ++if test ${with_ioservice+y} ++then : ++ withval=$with_ioservice; ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ioservice input" >&5 ++printf %s "checking for ioservice input... " >&6; } ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $withval" >&5 ++printf "%s\n" "$withval" >&6; } ++if test $withval != "no" ; then ++ OLD_CPPFLAGS=$CPPFLAGS ++ if test $withval != "yes" ; then ++ CPPFLAGS="$CPPFLAGS -I$withval" ++ fi ++ OLDLIBS=$LIBS ++ LIBS="$LIBS -framework IOKit -framework CoreFoundation" ++ HAVE_IOSERVICE=0 ++ ++ for ac_func in IOServiceGetMatchingServices ++do : ++ ac_fn_c_check_func "$LINENO" "IOServiceGetMatchingServices" "ac_cv_func_IOServiceGetMatchingServices" ++if test "x$ac_cv_func_IOServiceGetMatchingServices" = xyes ++then : ++ printf "%s\n" "#define HAVE_IOSERVICEGETMATCHINGSERVICES 1" >>confdefs.h ++ ++ ++ for ac_func in IOMasterPort ++do : ++ ac_fn_c_check_func "$LINENO" "IOMasterPort" "ac_cv_func_IOMasterPort" ++if test "x$ac_cv_func_IOMasterPort" = xyes ++then : ++ printf "%s\n" "#define HAVE_IOMASTERPORT 1" >>confdefs.h ++ ++ ++ for ac_func in IORegistryEntryCreateCFProperties ++do : ++ ac_fn_c_check_func "$LINENO" "IORegistryEntryCreateCFProperties" "ac_cv_func_IORegistryEntryCreateCFProperties" ++if test "x$ac_cv_func_IORegistryEntryCreateCFProperties" = xyes ++then : ++ printf "%s\n" "#define HAVE_IOREGISTRYENTRYCREATECFPROPERTIES 1" >>confdefs.h ++ ++ DISK_INPUT_FOUND=1 ++ ++printf "%s\n" "#define HAVE_IOSERVICE 1" >>confdefs.h ++ ++ HAVE_IOSERVICE=1 ++ INPUT_SYSTEM="$INPUT_SYSTEM ioservice.$OBJEXT" ++ ++fi ++ ++done ++ ++fi ++ ++done ++ ++fi ++ ++done ++ if test $HAVE_IOSERVICE -eq 0 ; then ++ LIBS=$OLDLIBS ++ CPPFLAGS=$OLD_CPPFLAGS ++ fi ++fi ++ ++else $as_nop ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether cc and linker accepts -framework IOKit -framework CoreFoundation" >&5 ++printf %s "checking whether cc and linker accepts -framework IOKit -framework CoreFoundation... " >&6; } ++echo 'int main(){}' > conftest.c ++if test -z "`${CC-cc} -o conftest conftest.c -framework IOKit -framework CoreFoundation 2>&1`"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++ OLDLIBS=$LIBS ++ LIBS="$LIBS -framework IOKit -framework CoreFoundation" ++ ++ for ac_func in IOServiceGetMatchingServices ++do : ++ ac_fn_c_check_func "$LINENO" "IOServiceGetMatchingServices" "ac_cv_func_IOServiceGetMatchingServices" ++if test "x$ac_cv_func_IOServiceGetMatchingServices" = xyes ++then : ++ printf "%s\n" "#define HAVE_IOSERVICEGETMATCHINGSERVICES 1" >>confdefs.h ++ ++ ++ for ac_func in IOMasterPort ++do : ++ ac_fn_c_check_func "$LINENO" "IOMasterPort" "ac_cv_func_IOMasterPort" ++if test "x$ac_cv_func_IOMasterPort" = xyes ++then : ++ printf "%s\n" "#define HAVE_IOMASTERPORT 1" >>confdefs.h ++ ++ ++ for ac_func in IORegistryEntryCreateCFProperties ++do : ++ ac_fn_c_check_func "$LINENO" "IORegistryEntryCreateCFProperties" "ac_cv_func_IORegistryEntryCreateCFProperties" ++if test "x$ac_cv_func_IORegistryEntryCreateCFProperties" = xyes ++then : ++ printf "%s\n" "#define HAVE_IOREGISTRYENTRYCREATECFPROPERTIES 1" >>confdefs.h ++ ++ DISK_INPUT_FOUND=1 ++ ++printf "%s\n" "#define HAVE_IOSERVICE 1" >>confdefs.h ++ ++ HAVE_IOSERVICE=1 ++ INPUT_SYSTEM="$INPUT_SYSTEM ioservice.$OBJEXT" ++ ++fi ++ ++done ++ ++fi ++ ++done ++ ++fi ++ ++done ++ if test $HAVE_IOSERVICE -eq 0 ; then ++ LIBS=$OLDLIBS ++ fi ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++rm -f conftest* ++ ++fi ++ ++ ++ ++# Check whether --with-libstatgrab was given. ++if test ${with_libstatgrab+y} ++then : ++ withval=$with_libstatgrab; ++fi ++ ++ ++CHECK_LIBSTAT=0 ++if test "x$with_libstatgrab" != "xno" && test $INPUT_FOUND -ne 1 ; then ++ CHECK_LIBSTAT=1 ++fi ++if test "x$with_libstatgrab" != "xno" && test $DISK_INPUT_FOUND -ne 1 ; then ++ CHECK_LIBSTAT=1 ++fi ++ ++if test "x$with_libstatgrab" = "xyes" || test $CHECK_LIBSTAT -eq 1 ; then ++ OLD_CPPFLAGS=$CPPFLAGS ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sg_get_network_io_stats,sg_get_disk_io_stats in -lstatgrab" >&5 ++printf %s "checking for sg_get_network_io_stats,sg_get_disk_io_stats in -lstatgrab... " >&6; } ++if test ${ac_cv_lib_statgrab_sg_get_network_io_stats_sg_get_disk_io_stats+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lstatgrab $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++char sg_get_network_io_stats,sg_get_disk_io_stats (); ++int ++main (void) ++{ ++return sg_get_network_io_stats,sg_get_disk_io_stats (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO" ++then : ++ ac_cv_lib_statgrab_sg_get_network_io_stats_sg_get_disk_io_stats=yes ++else $as_nop ++ ac_cv_lib_statgrab_sg_get_network_io_stats_sg_get_disk_io_stats=no ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_statgrab_sg_get_network_io_stats_sg_get_disk_io_stats" >&5 ++printf "%s\n" "$ac_cv_lib_statgrab_sg_get_network_io_stats_sg_get_disk_io_stats" >&6; } ++if test "x$ac_cv_lib_statgrab_sg_get_network_io_stats_sg_get_disk_io_stats" = xyes ++then : ++ ++ INPUT_FOUND=1 ++ DISK_INPUT_FOUND=1 ++ ++printf "%s\n" "#define HAVE_LIBSTATGRAB 1" >>confdefs.h ++ ++ LIBS="$LIBS -lstatgrab" ++ INPUT_SYSTEM="$INPUT_SYSTEM libstatgrab.$OBJEXT" ++ ++else $as_nop ++ CPPFLAGS=$OLD_CPPFLAGS ++fi ++ ++fi ++ ++if test $INPUT_FOUND -ne 1 && test $DISK_INPUT_FOUND -ne 1 ; then ++ as_fn_error $? ""NO INPUT FOUND"" "$LINENO" 5; ++fi ++ ++################################################# ++# inputs check done ++################################################# ++ ++#check for getifaddrs ++linux_if_h_includes=" ++ #if HAVE_SYS_SOCKET_H ++ # include <sys/socket.h> ++ #endif ++ " ++ ++ac_fn_c_check_func "$LINENO" "ioctl" "ac_cv_func_ioctl" ++if test "x$ac_cv_func_ioctl" = xyes ++then : ++ printf "%s\n" "#define HAVE_IOCTL 1" >>confdefs.h ++ ++fi ++ ++ac_fn_c_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$linux_if_h_includes ++" ++if test "x$ac_cv_header_sys_socket_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_SYS_SOCKET_H 1" >>confdefs.h ++ ++fi ++ac_fn_c_check_header_compile "$LINENO" "linux/if.h" "ac_cv_header_linux_if_h" "$linux_if_h_includes ++" ++if test "x$ac_cv_header_linux_if_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_LINUX_IF_H 1" >>confdefs.h ++ ++fi ++ ++ac_fn_c_check_header_compile "$LINENO" "sys/tty.h" "ac_cv_header_sys_tty_h" "$ac_includes_default" ++if test "x$ac_cv_header_sys_tty_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_SYS_TTY_H 1" >>confdefs.h ++ ++fi ++ ++ac_fn_c_check_header_compile "$LINENO" "linux/tty.h" "ac_cv_header_linux_tty_h" "$ac_includes_default" ++if test "x$ac_cv_header_linux_tty_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_LINUX_TTY_H 1" >>confdefs.h ++ ++fi ++ ++ac_fn_c_check_header_compile "$LINENO" "stropts.h" "ac_cv_header_stropts_h" "$ac_includes_default" ++if test "x$ac_cv_header_stropts_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_STROPTS_H 1" >>confdefs.h ++ ++fi ++ ++ ++ ++# Check whether --enable-html was given. ++if test ${enable_html+y} ++then : ++ enableval=$enable_html; ++echo "enable html output: $enableval" ++if test $enableval = "yes" ; then ++ ++printf "%s\n" "#define HTML 1" >>confdefs.h ++ ++fi ++ ++else $as_nop ++ ++echo "enable html output: yes" ++ ++printf "%s\n" "#define HTML 1" >>confdefs.h ++ ++ ++fi ++ ++ ++# Check whether --enable-csv was given. ++if test ${enable_csv+y} ++then : ++ enableval=$enable_csv; ++echo "enable csv output: $enableval" ++if test $enableval = "yes" ; then ++ ++printf "%s\n" "#define CSV 1" >>confdefs.h ++ ++fi ++ ++else $as_nop ++ ++echo "enable csv output: yes" ++ ++printf "%s\n" "#define CSV 1" >>confdefs.h ++ ++ ++fi ++ ++ ++# Check whether --enable-extendedstats was given. ++if test ${enable_extendedstats+y} ++then : ++ enableval=$enable_extendedstats; ++echo "enable extended stats: $enableval" ++if test $enableval = "yes" ; then ++ ++printf "%s\n" "#define EXTENDED_STATS 1" >>confdefs.h ++ ++fi ++ ++else $as_nop ++ ++echo "enable extended stats: yes" ++ ++printf "%s\n" "#define EXTENDED_STATS 1" >>confdefs.h ++ ++ ++fi ++ ++ ++# Check whether --enable-configfile was given. ++if test ${enable_configfile+y} ++then : ++ enableval=$enable_configfile; ++echo "enable config-file support: $enableval" ++if test $enableval = "yes" ; then ++ ++printf "%s\n" "#define CONFIG_FILE 1" >>confdefs.h ++ ++fi ++ ++else $as_nop ++ ++echo "enable config-file support: yes" ++ ++printf "%s\n" "#define CONFIG_FILE 1" >>confdefs.h ++ ++ ++fi ++ ++ ++# Check whether --enable-64bit was given. ++if test ${enable_64bit+y} ++then : ++ enableval=$enable_64bit; ++echo "enable 64bit support: $enableval" ++if test $enableval = "yes" ; then ++ ++printf "%s\n" "#define SYS_64BIT 1" >>confdefs.h ++ ++fi ++ ++fi ++ ++ ++ for ac_header in pwd.h ++do : ++ ac_fn_c_check_header_compile "$LINENO" "pwd.h" "ac_cv_header_pwd_h" "$ac_includes_default" ++if test "x$ac_cv_header_pwd_h" = xyes ++then : ++ printf "%s\n" "#define HAVE_PWD_H 1" >>confdefs.h ++ ++ ++ for ac_func in getpwuid ++do : ++ ac_fn_c_check_func "$LINENO" "getpwuid" "ac_cv_func_getpwuid" ++if test "x$ac_cv_func_getpwuid" = xyes ++then : ++ printf "%s\n" "#define HAVE_GETPWUID 1" >>confdefs.h ++ ++ ++printf "%s\n" "#define HAVE_GETPWUID 1" >>confdefs.h ++ ++ ++fi ++ ++done ++ ++fi ++ ++done ++ ++NETSTAT_ADDED=0 ++ ++# Check whether --enable-netstatpath was given. ++if test ${enable_netstatpath+y} ++then : ++ enableval=$enable_netstatpath; ++echo "enable path to netstat as option: $enableval" ++if test $enableval = "yes" ; then ++ ++printf "%s\n" "#define ALLOW_NETSTATPATH 1" >>confdefs.h ++ ++fi ++ ++else $as_nop ++ ++echo "enable path to netstat as option: no" ++ ++fi ++ ++ ++NETSTAT_BYTE="0" ++# Check whether --enable-netstatbyte was given. ++if test ${enable_netstatbyte+y} ++then : ++ enableval=$enable_netstatbyte; ++echo "enable netstat with byte info: $enableval" ++if test $enableval = "yes" ; then ++ NETSTAT_BYTE="1" ++fi ++ ++fi ++ ++ ++NETSTAT_LINK="0" ++# Check whether --enable-netstatlink was given. ++if test ${enable_netstatlink+y} ++then : ++ enableval=$enable_netstatlink; ++echo "enable netstat with link limit: $enableval" ++if test $enableval = "yes" ; then ++ NETSTAT_LINK="1" ++fi ++ ++fi ++ ++ ++ ++NETSTAT_DEFINED="0" ++ ++# Check whether --with-netstatbsd was given. ++if test ${with_netstatbsd+y} ++then : ++ withval=$with_netstatbsd; ++if test $withval != "no" ; then ++ if test $withval != "yes" ; then ++ echo "bsd like version with byte info forced: $withval" ++ ++printf "%s\n" "#define HAVE_NETSTAT_PATH $withval" >>confdefs.h ++ ++ else ++ echo "bsd like version with byte info forced" ++ fi ++ if test $NETSTAT_BYTE != "1" ; then ++ ++printf "%s\n" "#define NETSTAT_BSD 1" >>confdefs.h ++ ++ NETSTAT_DEFINED="1" ++ if test $NETSTAT_ADDED -eq 0 ; then ++ INPUT_SYSTEM="$INPUT_SYSTEM netstat.$OBJEXT" ++ NETSTAT_ADDED=1 ++ fi ++ else ++ ++printf "%s\n" "#define NETSTAT_BSD_BYTES 1" >>confdefs.h ++ ++ NETSTAT_DEFINED="1" ++ if test $NETSTAT_ADDED -eq 0 ; then ++ INPUT_SYSTEM="$INPUT_SYSTEM netstat.$OBJEXT" ++ NETSTAT_ADDED=1 ++ fi ++ fi ++ if test $NETSTAT_LINK != "0" ; then ++ ++printf "%s\n" "#define NETSTAT_BSD_LINK 1" >>confdefs.h ++ ++ NETSTAT_DEFINED="1" ++ if test $NETSTAT_ADDED -eq 0 ; then ++ INPUT_SYSTEM="$INPUT_SYSTEM netstat.$OBJEXT" ++ NETSTAT_ADDED=1 ++ fi ++ fi ++else ++ NETSTAT_DEFINED="1" ++ echo "disable netstat: bsd like version" ++fi ++ ++fi ++ ++ ++ ++# Check whether --with-netstatlinux was given. ++if test ${with_netstatlinux+y} ++then : ++ withval=$with_netstatlinux; ++if test $withval != "no" ; then ++ if test $withval != "yes" ; then ++ echo "GNU net-tools like version forced: $withval" ++ ++printf "%s\n" "#define HAVE_NETSTAT_PATH $withval" >>confdefs.h ++ ++ else ++ echo "GNU net-tools like version forced" ++ fi ++ ++printf "%s\n" "#define NETSTAT_LINUX 1" >>confdefs.h ++ ++ if test $NETSTAT_ADDED -eq 0 ; then ++ INPUT_SYSTEM="$INPUT_SYSTEM netstat.$OBJEXT" ++ NETSTAT_ADDED=1 ++ fi ++ NETSTAT_DEFINED="1" ++else ++ NETSTAT_DEFINED="1" ++ echo "disable netstat: GNU net-tools like version" ++fi ++ ++fi ++ ++ ++ ++# Check whether --with-netstatlinuxnew was given. ++if test ${with_netstatlinuxnew+y} ++then : ++ withval=$with_netstatlinuxnew; ++if test $withval != "no" ; then ++ if test $withval != "yes" ; then ++ echo "GNU net-tools like version forced: $withval" ++ ++printf "%s\n" "#define HAVE_NETSTAT_PATH $withval" >>confdefs.h ++ ++ else ++ echo "GNU net-tools like version forced" ++ fi ++ ++printf "%s\n" "#define NETSTAT_LINUX_NEW 1" >>confdefs.h ++ ++ if test $NETSTAT_ADDED -eq 0 ; then ++ INPUT_SYSTEM="$INPUT_SYSTEM netstat.$OBJEXT" ++ NETSTAT_ADDED=1 ++ fi ++ NETSTAT_DEFINED="1" ++else ++ NETSTAT_DEFINED="1" ++ echo "disable netstat: GNU net-tools like new versions" ++fi ++ ++fi ++ ++ ++ ++ ++# Check whether --with-netstatsolaris was given. ++if test ${with_netstatsolaris+y} ++then : ++ withval=$with_netstatsolaris; ++if test $withval != "no" ; then ++ if test $withval != "yes" ; then ++ echo "solaris like version forced: $withval" ++ ++printf "%s\n" "#define HAVE_NETSTAT_PATH $withval" >>confdefs.h ++ ++ else ++ echo "solaris like version forced" ++ fi ++ ++printf "%s\n" "#define NETSTAT_SOLARIS 1" >>confdefs.h ++ ++ NETSTAT_DEFINED="1" ++ if test $NETSTAT_ADDED -eq 0 ; then ++ INPUT_SYSTEM="$INPUT_SYSTEM netstat.$OBJEXT" ++ NETSTAT_ADDED=1 ++ fi ++ ++else ++ NETSTAT_DEFINED="1" ++ echo "disable netstat: solaris like version" ++fi ++ ++fi ++ ++ ++ ++# Check whether --with-netstatnetbsd was given. ++if test ${with_netstatnetbsd+y} ++then : ++ withval=$with_netstatnetbsd; ++if test $withval != "no" ; then ++ if test $withval != "yes" ; then ++ echo "NetBSD/OpenBSD like version forced: $withval" ++ ++printf "%s\n" "#define HAVE_NETSTAT_PATH $withval" >>confdefs.h ++ ++ else ++ echo "NetBSD/OpenBSD like version forced" ++ fi ++ ++printf "%s\n" "#define NETSTAT_NETBSD 1" >>confdefs.h ++ ++ NETSTAT_DEFINED="1" ++ if test $NETSTAT_ADDED -eq 0 ; then ++ INPUT_SYSTEM="$INPUT_SYSTEM netstat.$OBJEXT" ++ NETSTAT_ADDED=1 ++ fi ++ ++else ++ NETSTAT_DEFINED="1" ++ echo "disable netstat: NetBSD/OpenBSD like version" ++fi ++ ++fi ++ ++ ++ ++ ++if test $NETSTAT_DEFINED != "1" ; then ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 ++printf %s "checking for grep that handles long lines and -e... " >&6; } ++if test ${ac_cv_path_GREP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -z "$GREP"; then ++ ac_path_GREP_found=false ++ # Loop through the user's path and test for each of PROGNAME-LIST ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_prog in grep ggrep ++ do ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" ++ as_fn_executable_p "$ac_path_GREP" || continue ++# Check for GNU ac_path_GREP and select it if it is found. ++ # Check for GNU $ac_path_GREP ++case `"$ac_path_GREP" --version 2>&1` in ++*GNU*) ++ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; ++*) ++ ac_count=0 ++ printf %s 0123456789 >"conftest.in" ++ while : ++ do ++ cat "conftest.in" "conftest.in" >"conftest.tmp" ++ mv "conftest.tmp" "conftest.in" ++ cp "conftest.in" "conftest.nl" ++ printf "%s\n" 'GREP' >> "conftest.nl" ++ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break ++ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ++ as_fn_arith $ac_count + 1 && ac_count=$as_val ++ if test $ac_count -gt ${ac_path_GREP_max-0}; then ++ # Best one so far, save it but keep looking for a better one ++ ac_cv_path_GREP="$ac_path_GREP" ++ ac_path_GREP_max=$ac_count ++ fi ++ # 10*(2^10) chars as input seems more than enough ++ test $ac_count -gt 10 && break ++ done ++ rm -f conftest.in conftest.tmp conftest.nl conftest.out;; ++esac ++ ++ $ac_path_GREP_found && break 3 ++ done ++ done ++ done ++IFS=$as_save_IFS ++ if test -z "$ac_cv_path_GREP"; then ++ as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 ++ fi ++else ++ ac_cv_path_GREP=$GREP ++fi ++ ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 ++printf "%s\n" "$ac_cv_path_GREP" >&6; } ++ GREP="$ac_cv_path_GREP" ++ ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 ++printf %s "checking for egrep... " >&6; } ++if test ${ac_cv_path_EGREP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 ++ then ac_cv_path_EGREP="$GREP -E" ++ else ++ if test -z "$EGREP"; then ++ ac_path_EGREP_found=false ++ # Loop through the user's path and test for each of PROGNAME-LIST ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_prog in egrep ++ do ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" ++ as_fn_executable_p "$ac_path_EGREP" || continue ++# Check for GNU ac_path_EGREP and select it if it is found. ++ # Check for GNU $ac_path_EGREP ++case `"$ac_path_EGREP" --version 2>&1` in ++*GNU*) ++ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; ++*) ++ ac_count=0 ++ printf %s 0123456789 >"conftest.in" ++ while : ++ do ++ cat "conftest.in" "conftest.in" >"conftest.tmp" ++ mv "conftest.tmp" "conftest.in" ++ cp "conftest.in" "conftest.nl" ++ printf "%s\n" 'EGREP' >> "conftest.nl" ++ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break ++ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ++ as_fn_arith $ac_count + 1 && ac_count=$as_val ++ if test $ac_count -gt ${ac_path_EGREP_max-0}; then ++ # Best one so far, save it but keep looking for a better one ++ ac_cv_path_EGREP="$ac_path_EGREP" ++ ac_path_EGREP_max=$ac_count ++ fi ++ # 10*(2^10) chars as input seems more than enough ++ test $ac_count -gt 10 && break ++ done ++ rm -f conftest.in conftest.tmp conftest.nl conftest.out;; ++esac ++ ++ $ac_path_EGREP_found && break 3 ++ done ++ done ++ done ++IFS=$as_save_IFS ++ if test -z "$ac_cv_path_EGREP"; then ++ as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 ++ fi ++else ++ ac_cv_path_EGREP=$EGREP ++fi ++ ++ fi ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 ++printf "%s\n" "$ac_cv_path_EGREP" >&6; } ++ EGREP="$ac_cv_path_EGREP" ++ ++ ++if test "${EGREP}" ; then ++ for ac_prog in netstat ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_NETSTAT_CMD+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$NETSTAT_CMD"; then ++ ac_cv_prog_NETSTAT_CMD="$NETSTAT_CMD" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ++ ac_cv_prog_NETSTAT_CMD="$ac_prog" ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++NETSTAT_CMD=$ac_cv_prog_NETSTAT_CMD ++if test -n "$NETSTAT_CMD"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NETSTAT_CMD" >&5 ++printf "%s\n" "$NETSTAT_CMD" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++ test -n "$NETSTAT_CMD" && break ++done ++ ++ if test "${NETSTAT_CMD}" ; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for netstat version" >&5 ++printf %s "checking for netstat version... " >&6; } ++ net_test=`${NETSTAT_CMD} -ia 2>/dev/null | ${EGREP} "Iface +MTU +RX-OK +RX-ERR +RX-DRP +RX-OVR +TX-OK +TX-ERR +TX-DRP +TX-OVR +Flg"` ++ if test "${net_test}" ; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: GNU net-tools like newer version found" >&5 ++printf "%s\n" "GNU net-tools like newer version found" >&6; } ++ ++printf "%s\n" "#define NETSTAT_LINUX_NEW 1" >>confdefs.h ++ ++ if test $NETSTAT_ADDED -eq 0 ; then ++ INPUT_SYSTEM="$INPUT_SYSTEM netstat.$OBJEXT" ++ NETSTAT_ADDED=1 ++ fi ++ else ++ net_test=`${NETSTAT_CMD} -ia 2>/dev/null | ${EGREP} "Iface +MTU +Met +RX-OK +RX-ERR +RX-DRP +RX-OVR +TX-OK +TX-ERR +TX-DRP +TX-OVR +Flg"` ++ if test "${net_test}" ; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: GNU net-tools like version found" >&5 ++printf "%s\n" "GNU net-tools like version found" >&6; } ++ ++printf "%s\n" "#define NETSTAT_LINUX 1" >>confdefs.h ++ ++ if test $NETSTAT_ADDED -eq 0 ; then ++ INPUT_SYSTEM="$INPUT_SYSTEM netstat.$OBJEXT" ++ NETSTAT_ADDED=1 ++ fi ++ else ++ net_test=`${NETSTAT_CMD} -iW 2>/dev/null | ${EGREP} "Name +Mtu +Network +Address +Ipkts +Ierrs +Opkts +Oerrs +Coll"` ++ if test "${net_test}" ; then ++ net_test2=`${NETSTAT_CMD} -iW -b 2>/dev/null | ${EGREP} "Name +Mtu +Network +Address +Ipkts +Ierrs +Ibytes +Opkts +Oerrs +Obytes +Coll"` ++ if test "${net_test2}" ; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: BSD like version with byte info found" >&5 ++printf "%s\n" "BSD like version with byte info found" >&6; } ++ ++printf "%s\n" "#define NETSTAT_BSD_BYTES 1" >>confdefs.h ++ ++ if test $NETSTAT_ADDED -eq 0 ; then ++ INPUT_SYSTEM="$INPUT_SYSTEM netstat.$OBJEXT" ++ NETSTAT_ADDED=1 ++ fi ++ else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: BSD like version found" >&5 ++printf "%s\n" "BSD like version found" >&6; } ++ ++printf "%s\n" "#define NETSTAT_BSD 1" >>confdefs.h ++ ++ if test $NETSTAT_ADDED -eq 0 ; then ++ INPUT_SYSTEM="$INPUT_SYSTEM netstat.$OBJEXT" ++ NETSTAT_ADDED=1 ++ fi ++ fi ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for netstat -f link" >&5 ++printf %s "checking for netstat -f link... " >&6; } ++ net_test3=`${NETSTAT_CMD} -iW -f link 2>/dev/null | ${EGREP} "Name +Mtu +Network +Address +Ipkts +Ierrs +Opkts +Oerrs +Coll"` ++ if test "${net_test3}" ; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; } ++ ++printf "%s\n" "#define NETSTAT_BSD_LINK 1" >>confdefs.h ++ ++ if test $NETSTAT_ADDED -eq 0 ; then ++ INPUT_SYSTEM="$INPUT_SYSTEM netstat.$OBJEXT" ++ NETSTAT_ADDED=1 ++ fi ++ else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++ fi ++ else ++ net_test=`${NETSTAT_CMD} -i -f inet -f inet6 2>/dev/null | ${EGREP} "Name +Mtu +Net/Dest +Address +Ipkts +Ierrs +Opkts +Oerrs +Collis +Queue"` ++ if test "${net_test}" ; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: solaris version found" >&5 ++printf "%s\n" "solaris version found" >&6; } ++ ++printf "%s\n" "#define NETSTAT_SOLARIS 1" >>confdefs.h ++ ++ if test $NETSTAT_ADDED -eq 0 ; then ++ INPUT_SYSTEM="$INPUT_SYSTEM netstat.$OBJEXT" ++ NETSTAT_ADDED=1 ++ fi ++ else ++ net_test=`${NETSTAT_CMD} -ibd 2>/dev/null | ${EGREP} "Name +Mtu +Network +Address +Ibytes +Obytes +Drop"` ++ if test "${net_test}" ; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Net/OpenBSD version found" >&5 ++printf "%s\n" "Net/OpenBSD version found" >&6; } ++ ++printf "%s\n" "#define NETSTAT_NETBSD 1" >>confdefs.h ++ ++ if test $NETSTAT_ADDED -eq 0 ; then ++ INPUT_SYSTEM="$INPUT_SYSTEM netstat.$OBJEXT" ++ NETSTAT_ADDED=1 ++ fi ++ else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unknown netstat version - disabled" >&5 ++printf "%s\n" "unknown netstat version - disabled" >&6; } ++echo "********************************************* ++ please mail 'netstat -i' output to author ++*********************************************" ++ fi ++ fi ++ fi ++ fi ++ fi ++ fi ++fi ++fi ++ ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler (${CC-cc}) accepts noreturn attribute" >&5 ++printf %s "checking whether the C compiler (${CC-cc}) accepts noreturn attribute... " >&6; } ++if test ${qef_cv_c_noreturn+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ qef_cv_c_noreturn=no ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++#include <stdlib.h> ++void f (void) __attribute__ ((noreturn)); ++void f (void) ++{ ++ exit (1); ++ } ++ ++int ++main (void) ++{ ++ ++ f (); ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO" ++then : ++ qef_cv_c_noreturn="yes"; FUNCATTR_NORETURN_VAL="__attribute__ ((noreturn))" ++else $as_nop ++ qef_cv_c_noreturn="no"; FUNCATTR_NORETURN_VAL="/* will not return */" ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++ ++fi ++ ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $qef_cv_c_noreturn" >&5 ++printf "%s\n" "$qef_cv_c_noreturn" >&6; } ++ ++printf "%s\n" "#define FUNCATTR_NORETURN $FUNCATTR_NORETURN_VAL" >>confdefs.h ++ ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 ++printf %s "checking for inline... " >&6; } ++if test ${ac_cv_c_inline+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ ac_cv_c_inline=no ++for ac_kw in inline __inline__ __inline; do ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++#ifndef __cplusplus ++typedef int foo_t; ++static $ac_kw foo_t static_foo (void) {return 0; } ++$ac_kw foo_t foo (void) {return 0; } ++#endif ++ ++_ACEOF ++if ac_fn_c_try_compile "$LINENO" ++then : ++ ac_cv_c_inline=$ac_kw ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++ test "$ac_cv_c_inline" != no && break ++done ++ ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 ++printf "%s\n" "$ac_cv_c_inline" >&6; } ++ ++case $ac_cv_c_inline in ++ inline | yes) ;; ++ *) ++ case $ac_cv_c_inline in ++ no) ac_val=;; ++ *) ac_val=$ac_cv_c_inline;; ++ esac ++ cat >>confdefs.h <<_ACEOF ++#ifndef __cplusplus ++#define inline $ac_val ++#endif ++_ACEOF ++ ;; ++esac ++ ++ ++if test -z ${DEBUG} ; then ++ ++# Check whether --with-strip was given. ++if test ${with_strip+y} ++then : ++ withval=$with_strip; ++echo "enable strip... " ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enableval" >&5 ++printf "%s\n" "$enableval" >&6; } ++if test $withval != "no" ; then ++ if test $withval != "yes" ; then ++ STRIP="${withval} ${TARGET}" ++ else ++ if test "$cross_compiling" != yes; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for /usr/ccs/bin/strip" >&5 ++printf %s "checking for /usr/ccs/bin/strip... " >&6; } ++if test ${ac_cv_file__usr_ccs_bin_strip+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ test "$cross_compiling" = yes && ++ as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 ++if test -r "/usr/ccs/bin/strip"; then ++ ac_cv_file__usr_ccs_bin_strip=yes ++else ++ ac_cv_file__usr_ccs_bin_strip=no ++fi ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_ccs_bin_strip" >&5 ++printf "%s\n" "$ac_cv_file__usr_ccs_bin_strip" >&6; } ++if test "x$ac_cv_file__usr_ccs_bin_strip" = xyes ++then : ++ ++printf "%s\n" "#define HAVE__USR_CCS_BIN_STRIP 1" >>confdefs.h ++ ++ for ac_prog in strip ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_STRIP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$STRIP"; then ++ ac_cv_prog_STRIP="$STRIP" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ++ ac_cv_prog_STRIP="$ac_prog" ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++STRIP=$ac_cv_prog_STRIP ++if test -n "$STRIP"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 ++printf "%s\n" "$STRIP" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++ test -n "$STRIP" && break ++done ++ ++ ++fi ++ ++ fi ++ if test "${STRIP}" ; then ++ STRIP="${STRIP} ${TARGET}" ++ else ++ for ac_prog in strip ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_STRIP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$STRIP"; then ++ ac_cv_prog_STRIP="$STRIP" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ++ ac_cv_prog_STRIP="$ac_prog" ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++STRIP=$ac_cv_prog_STRIP ++if test -n "$STRIP"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 ++printf "%s\n" "$STRIP" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++ test -n "$STRIP" && break ++done ++ ++ if test "${STRIP}" ; then ++ STRIP="${STRIP} ${TARGET}" ++ fi ++ fi ++ fi ++fi ++ ++else $as_nop ++ ++if test "$cross_compiling" != yes; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for /usr/ccs/bin/strip" >&5 ++printf %s "checking for /usr/ccs/bin/strip... " >&6; } ++if test ${ac_cv_file__usr_ccs_bin_strip+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ test "$cross_compiling" = yes && ++ as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 ++if test -r "/usr/ccs/bin/strip"; then ++ ac_cv_file__usr_ccs_bin_strip=yes ++else ++ ac_cv_file__usr_ccs_bin_strip=no ++fi ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_ccs_bin_strip" >&5 ++printf "%s\n" "$ac_cv_file__usr_ccs_bin_strip" >&6; } ++if test "x$ac_cv_file__usr_ccs_bin_strip" = xyes ++then : ++ ++printf "%s\n" "#define HAVE__USR_CCS_BIN_STRIP 1" >>confdefs.h ++ ++ for ac_prog in strip ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_STRIP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$STRIP"; then ++ ac_cv_prog_STRIP="$STRIP" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ++ ac_cv_prog_STRIP="$ac_prog" ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++STRIP=$ac_cv_prog_STRIP ++if test -n "$STRIP"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 ++printf "%s\n" "$STRIP" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++ test -n "$STRIP" && break ++done ++ ++ ++fi ++ ++fi ++if test "${STRIP}" ; then ++ STRIP="/usr/ccs/bin/${STRIP} ${TARGET}" ++else ++for ac_prog in strip ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++printf %s "checking for $ac_word... " >&6; } ++if test ${ac_cv_prog_STRIP+y} ++then : ++ printf %s "(cached) " >&6 ++else $as_nop ++ if test -n "$STRIP"; then ++ ac_cv_prog_STRIP="$STRIP" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ++ ac_cv_prog_STRIP="$ac_prog" ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++STRIP=$ac_cv_prog_STRIP ++if test -n "$STRIP"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 ++printf "%s\n" "$STRIP" >&6; } ++else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++fi ++ ++ ++ test -n "$STRIP" && break ++done ++ ++if test "${STRIP}" ; then ++ STRIP="${STRIP} ${TARGET}" ++fi ++fi ++ ++fi ++ ++else ++ STRIP="@echo DEBUG mode enabled." ++fi ++ ++#AC_CHECK_CC_OPT(Wno-long-double) ++#AC_CHECK_CC_OPT(Wno-long-long) ++ ++ ++ ++ac_config_files="$ac_config_files Makefile src/Makefile" ++ ++ ++cat >confcache <<_ACEOF ++# This file is a shell script that caches the results of configure ++# tests run on this system so they can be shared between configure ++# scripts and configure runs, see configure's option --config-cache. ++# It is not useful on other systems. If it contains results you don't ++# want to keep, you may remove or edit it. ++# ++# config.status only pays attention to the cache file if you give it ++# the --recheck option to rerun configure. ++# ++# `ac_cv_env_foo' variables (set or unset) will be overridden when ++# loading this file, other *unset* `ac_cv_foo' will be assigned the ++# following values. ++ ++_ACEOF ++ ++# The following way of writing the cache mishandles newlines in values, ++# but we know of no workaround that is simple, portable, and efficient. ++# So, we kill variables containing newlines. ++# Ultrix sh set writes to stderr and can't be redirected directly, ++# and sets the high bit in the cache file unless we assign to the vars. ++( ++ for ac_var in `(set) 2>&1 | sed -n 's/^([a-zA-Z_][a-zA-Z0-9_]*)=.*/\1/p'`; do ++ eval ac_val=$$ac_var ++ case $ac_val in #( ++ *${as_nl}*) ++ case $ac_var in #( ++ *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 ++printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ++ esac ++ case $ac_var in #( ++ _ | IFS | as_nl) ;; #( ++ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( ++ *) { eval $ac_var=; unset $ac_var;} ;; ++ esac ;; ++ esac ++ done ++ ++ (set) 2>&1 | ++ case $as_nl`(ac_space=' '; set) 2>&1` in #( ++ *${as_nl}ac_space=\ *) ++ # `set' does not quote correctly, so add quotes: double-quote ++ # substitution turns \\ into \, and sed turns \ into . ++ sed -n \ ++ "s/'/'\\''/g; ++ s/^\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\)=\(.*\)/\1='\2'/p" ++ ;; #( ++ *) ++ # `set' quotes correctly as required by POSIX, so do not add quotes. ++ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ++ ;; ++ esac | ++ sort ++) | ++ sed ' ++ /^ac_cv_env_/b end ++ t clear ++ :clear ++ s/^([^=]*)=(.*[{}].*)$/test ${\1+y} || &/ ++ t end ++ s/^([^=]*)=(.*)$/\1=${\1=\2}/ ++ :end' >>confcache ++if diff "$cache_file" confcache >/dev/null 2>&1; then :; else ++ if test -w "$cache_file"; then ++ if test "x$cache_file" != "x/dev/null"; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 ++printf "%s\n" "$as_me: updating cache $cache_file" >&6;} ++ if test ! -f "$cache_file" || test -h "$cache_file"; then ++ cat confcache >"$cache_file" ++ else ++ case $cache_file in #( ++ */* | ?:*) ++ mv -f confcache "$cache_file"$$ && ++ mv -f "$cache_file"$$ "$cache_file" ;; #( ++ *) ++ mv -f confcache "$cache_file" ;; ++ esac ++ fi ++ fi ++ else ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 ++printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} ++ fi ++fi ++rm -f confcache ++ ++test "x$prefix" = xNONE && prefix=$ac_default_prefix ++# Let make expand exec_prefix. ++test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' ++ ++DEFS=-DHAVE_CONFIG_H ++ ++ac_libobjs= ++ac_ltlibobjs= ++U= ++for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue ++ # 1. Remove the extension, and $U if already installed. ++ ac_script='s/$U././;s/.o$//;s/.obj$//' ++ ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"` ++ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR ++ # will be set to the directory where LIBOBJS objects are built. ++ as_fn_append ac_libobjs " ${LIBOBJDIR}$ac_i$U.$ac_objext" ++ as_fn_append ac_ltlibobjs " ${LIBOBJDIR}$ac_i"'$U.lo' ++done ++LIBOBJS=$ac_libobjs ++ ++LTLIBOBJS=$ac_ltlibobjs ++ ++ ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 ++printf %s "checking that generated files are newer than configure... " >&6; } ++ if test -n "$am_sleep_pid"; then ++ # Hide warnings about reused PIDs. ++ wait $am_sleep_pid 2>/dev/null ++ fi ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: done" >&5 ++printf "%s\n" "done" >&6; } ++ if test -n "$EXEEXT"; then ++ am__EXEEXT_TRUE= ++ am__EXEEXT_FALSE='#' ++else ++ am__EXEEXT_TRUE='#' ++ am__EXEEXT_FALSE= ++fi ++ ++if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then ++ as_fn_error $? "conditional "AMDEP" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi ++if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then ++ as_fn_error $? "conditional "am__fastdepCC" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi ++ ++: "${CONFIG_STATUS=./config.status}" ++ac_write_fail=0 ++ac_clean_files_save=$ac_clean_files ++ac_clean_files="$ac_clean_files $CONFIG_STATUS" ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 ++printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;} ++as_write_fail=0 ++cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 ++#! $SHELL ++# Generated by $as_me. ++# Run this file to recreate the current configuration. ++# Compiler output produced by configure, useful for debugging ++# configure, is in config.log if it exists. ++ ++debug=false ++ac_cs_recheck=false ++ac_cs_silent=false ++ ++SHELL=${CONFIG_SHELL-$SHELL} ++export SHELL ++_ASEOF ++cat >>$CONFIG_STATUS <<_ASEOF || as_write_fail=1 ++## -------------------- ## ++## M4sh Initialization. ## ++## -------------------- ## ++ ++# Be more Bourne compatible ++DUALCASE=1; export DUALCASE # for MKS sh ++as_nop=: ++if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 ++then : ++ emulate sh ++ NULLCMD=: ++ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' ++ setopt NO_GLOB_SUBST ++else $as_nop ++ case `(set -o) 2>/dev/null` in #( ++ *posix*) : ++ set -o posix ;; #( ++ *) : ++ ;; ++esac ++fi ++ ++ ++ ++# Reset variables that may have inherited troublesome values from ++# the environment. ++ ++# IFS needs to be set, to space, tab, and newline, in precisely that order. ++# (If _AS_PATH_WALK were called with IFS unset, it would have the ++# side effect of setting IFS to empty, thus disabling word splitting.) ++# Quoting is to prevent editors from complaining about space-tab. ++as_nl=' ++' ++export as_nl ++IFS=" "" $as_nl" ++ ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# Ensure predictable behavior from utilities with locale-dependent output. ++LC_ALL=C ++export LC_ALL ++LANGUAGE=C ++export LANGUAGE ++ ++# We cannot yet rely on "unset" to work, but we need these variables ++# to be unset--not just set to an empty or harmless value--now, to ++# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct ++# also avoids known problems related to "unset" and subshell syntax ++# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). ++for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH ++do eval test ${$as_var+y} \ ++ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : ++done ++ ++# Ensure that fds 0, 1, and 2 are open. ++if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi ++if (exec 3>&1) 2>/dev/null; then :; else exec 1>/dev/null; fi ++if (exec 3>&2) ; then :; else exec 2>/dev/null; fi ++ ++# The user is always right. ++if ${PATH_SEPARATOR+false} :; then ++ PATH_SEPARATOR=: ++ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { ++ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || ++ PATH_SEPARATOR=';' ++ } ++fi ++ ++ ++# Find who we are. Look in the path if we contain no directory separator. ++as_myself= ++case $0 in #(( ++ *[\/]* ) as_myself=$0 ;; ++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ case $as_dir in #((( ++ '') as_dir=./ ;; ++ */) ;; ++ *) as_dir=$as_dir/ ;; ++ esac ++ test -r "$as_dir$0" && as_myself=$as_dir$0 && break ++ done ++IFS=$as_save_IFS ++ ++ ;; ++esac ++# We did not find ourselves, most probably we were run as `sh COMMAND' ++# in which case we are not to be found in the path. ++if test "x$as_myself" = x; then ++ as_myself=$0 ++fi ++if test ! -f "$as_myself"; then ++ printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 ++ exit 1 ++fi ++ ++ ++ ++# as_fn_error STATUS ERROR [LINENO LOG_FD] ++# ---------------------------------------- ++# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are ++# provided, also output the error to LOG_FD, referencing LINENO. Then exit the ++# script with STATUS, using 1 if that was 0. ++as_fn_error () ++{ ++ as_status=$1; test $as_status -eq 0 && as_status=1 ++ if test "$4"; then ++ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 ++ fi ++ printf "%s\n" "$as_me: error: $2" >&2 ++ as_fn_exit $as_status ++} # as_fn_error ++ ++ ++ ++# as_fn_set_status STATUS ++# ----------------------- ++# Set $? to STATUS, without forking. ++as_fn_set_status () ++{ ++ return $1 ++} # as_fn_set_status ++ ++# as_fn_exit STATUS ++# ----------------- ++# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. ++as_fn_exit () ++{ ++ set +e ++ as_fn_set_status $1 ++ exit $1 ++} # as_fn_exit ++ ++# as_fn_unset VAR ++# --------------- ++# Portably unset VAR. ++as_fn_unset () ++{ ++ { eval $1=; unset $1;} ++} ++as_unset=as_fn_unset ++ ++# as_fn_append VAR VALUE ++# ---------------------- ++# Append the text in VALUE to the end of the definition contained in VAR. Take ++# advantage of any shell optimizations that allow amortized linear growth over ++# repeated appends, instead of the typical quadratic growth present in naive ++# implementations. ++if (eval "as_var=1; as_var+=2; test x$as_var = x12") 2>/dev/null ++then : ++ eval 'as_fn_append () ++ { ++ eval $1+=$2 ++ }' ++else $as_nop ++ as_fn_append () ++ { ++ eval $1=$$1$2 ++ } ++fi # as_fn_append ++ ++# as_fn_arith ARG... ++# ------------------ ++# Perform arithmetic evaluation on the ARGs, and store the result in the ++# global $as_val. Take advantage of shells that can avoid forks. The arguments ++# must be portable across $(()) and expr. ++if (eval "test $(( 1 + 1 )) = 2") 2>/dev/null ++then : ++ eval 'as_fn_arith () ++ { ++ as_val=$(( $* )) ++ }' ++else $as_nop ++ as_fn_arith () ++ { ++ as_val=`expr "$@" || test $? -eq 1` ++ } ++fi # as_fn_arith ++ ++ ++if expr a : '(a)' >/dev/null 2>&1 && ++ test "X`expr 00001 : '.*(...)'`" = X001; then ++ as_expr=expr ++else ++ as_expr=false ++fi ++ ++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then ++ as_basename=basename ++else ++ as_basename=false ++fi ++ ++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then ++ as_dirname=dirname ++else ++ as_dirname=false ++fi ++ ++as_me=`$as_basename -- "$0" || ++$as_expr X/"$0" : '.*/([^/][^/]*)/*$' | \ ++ X"$0" : 'X(//)$' | \ ++ X"$0" : 'X(/)' | . 2>/dev/null || ++printf "%s\n" X/"$0" | ++ sed '/^.*/([^/][^/]*)/*$/{ ++ s//\1/ ++ q ++ } ++ /^X/(//)$/{ ++ s//\1/ ++ q ++ } ++ /^X/(/).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ ++# Avoid depending upon Character Ranges. ++as_cr_letters='abcdefghijklmnopqrstuvwxyz' ++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' ++as_cr_Letters=$as_cr_letters$as_cr_LETTERS ++as_cr_digits='0123456789' ++as_cr_alnum=$as_cr_Letters$as_cr_digits ++ ++ ++# Determine whether it's possible to make 'echo' print without a newline. ++# These variables are no longer used directly by Autoconf, but are AC_SUBSTed ++# for compatibility with existing Makefiles. ++ECHO_C= ECHO_N= ECHO_T= ++case `echo -n x` in #((((( ++-n*) ++ case `echo 'xy\c'` in ++ *c*) ECHO_T=' ';; # ECHO_T is single tab character. ++ xy) ECHO_C='\c';; ++ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ++ ECHO_T=' ';; ++ esac;; ++*) ++ ECHO_N='-n';; ++esac ++ ++# For backward compatibility with old third-party macros, we provide ++# the shell variables $as_echo and $as_echo_n. New code should use ++# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. ++as_echo='printf %s\n' ++as_echo_n='printf %s' ++ ++rm -f conf$$ conf$$.exe conf$$.file ++if test -d conf$$.dir; then ++ rm -f conf$$.dir/conf$$.file ++else ++ rm -f conf$$.dir ++ mkdir conf$$.dir 2>/dev/null ++fi ++if (echo >conf$$.file) 2>/dev/null; then ++ if ln -s conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s='ln -s' ++ # ... but there are two gotchas: ++ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. ++ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. ++ # In both cases, we have to default to `cp -pR'. ++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || ++ as_ln_s='cp -pR' ++ elif ln conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s=ln ++ else ++ as_ln_s='cp -pR' ++ fi ++else ++ as_ln_s='cp -pR' ++fi ++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file ++rmdir conf$$.dir 2>/dev/null ++ ++ ++# as_fn_mkdir_p ++# ------------- ++# Create "$as_dir" as a directory, including parents if necessary. ++as_fn_mkdir_p () ++{ ++ ++ case $as_dir in #( ++ -*) as_dir=./$as_dir;; ++ esac ++ test -d "$as_dir" || eval $as_mkdir_p || { ++ as_dirs= ++ while :; do ++ case $as_dir in #( ++ *'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\''/g"`;; #'( ++ *) as_qdir=$as_dir;; ++ esac ++ as_dirs="'$as_qdir' $as_dirs" ++ as_dir=`$as_dirname -- "$as_dir" || ++$as_expr X"$as_dir" : 'X(.*[^/])//*[^/][^/]*/*$' | \ ++ X"$as_dir" : 'X(//)[^/]' | \ ++ X"$as_dir" : 'X(//)$' | \ ++ X"$as_dir" : 'X(/)' | . 2>/dev/null || ++printf "%s\n" X"$as_dir" | ++ sed '/^X(.*[^/])//*[^/][^/]*/*$/{ ++ s//\1/ ++ q ++ } ++ /^X(//)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X(//)$/{ ++ s//\1/ ++ q ++ } ++ /^X(/).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ test -d "$as_dir" && break ++ done ++ test -z "$as_dirs" || eval "mkdir $as_dirs" ++ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" ++ ++ ++} # as_fn_mkdir_p ++if mkdir -p . 2>/dev/null; then ++ as_mkdir_p='mkdir -p "$as_dir"' ++else ++ test -d ./-p && rmdir ./-p ++ as_mkdir_p=false ++fi ++ ++ ++# as_fn_executable_p FILE ++# ----------------------- ++# Test if FILE is an executable regular file. ++as_fn_executable_p () ++{ ++ test -f "$1" && test -x "$1" ++} # as_fn_executable_p ++as_test_x='test -x' ++as_executable_p=as_fn_executable_p ++ ++# Sed expression to map a string onto a valid CPP name. ++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" ++ ++# Sed expression to map a string onto a valid variable name. ++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" ++ ++ ++exec 6>&1 ++## ----------------------------------- ## ++## Main body of $CONFIG_STATUS script. ## ++## ----------------------------------- ## ++_ASEOF ++test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 ++ ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++# Save the log message, to keep $0 and so on meaningful, and to ++# report actual input values of CONFIG_FILES etc. instead of their ++# values after options handling. ++ac_log=" ++This file was extended by bwm-ng $as_me 0.6.3, which was ++generated by GNU Autoconf 2.71. Invocation command line was ++ ++ CONFIG_FILES = $CONFIG_FILES ++ CONFIG_HEADERS = $CONFIG_HEADERS ++ CONFIG_LINKS = $CONFIG_LINKS ++ CONFIG_COMMANDS = $CONFIG_COMMANDS ++ $ $0 $@ ++ ++on `(hostname || uname -n) 2>/dev/null | sed 1q` ++" ++ ++_ACEOF ++ ++case $ac_config_files in *" ++"*) set x $ac_config_files; shift; ac_config_files=$*;; ++esac ++ ++case $ac_config_headers in *" ++"*) set x $ac_config_headers; shift; ac_config_headers=$*;; ++esac ++ ++ ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++# Files that config.status was made for. ++config_files="$ac_config_files" ++config_headers="$ac_config_headers" ++config_commands="$ac_config_commands" ++ ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ac_cs_usage="\ ++`$as_me' instantiates files and other configuration actions ++from templates according to the current configuration. Unless the files ++and actions are specified as TAGs, all are instantiated by default. ++ ++Usage: $0 [OPTION]... [TAG]... ++ ++ -h, --help print this help, then exit ++ -V, --version print version number and configuration settings, then exit ++ --config print configuration, then exit ++ -q, --quiet, --silent ++ do not print progress messages ++ -d, --debug don't remove temporary files ++ --recheck update $as_me by reconfiguring in the same conditions ++ --file=FILE[:TEMPLATE] ++ instantiate the configuration file FILE ++ --header=FILE[:TEMPLATE] ++ instantiate the configuration header FILE ++ ++Configuration files: ++$config_files ++ ++Configuration headers: ++$config_headers ++ ++Configuration commands: ++$config_commands ++ ++Report bugs to bwmng@gropp.org." ++ ++_ACEOF ++ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` ++ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\''/g"` ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ac_cs_config='$ac_cs_config_escaped' ++ac_cs_version="\ ++bwm-ng config.status 0.6.3 ++configured by $0, generated by GNU Autoconf 2.71, ++ with options \"$ac_cs_config\" ++ ++Copyright (C) 2021 Free Software Foundation, Inc. ++This config.status script is free software; the Free Software Foundation ++gives unlimited permission to copy, distribute and modify it." ++ ++ac_pwd='$ac_pwd' ++srcdir='$srcdir' ++INSTALL='$INSTALL' ++MKDIR_P='$MKDIR_P' ++AWK='$AWK' ++test -n "$AWK" || AWK=awk ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++# The default lists apply if the user does not specify any file. ++ac_need_defaults=: ++while test $# != 0 ++do ++ case $1 in ++ --*=?*) ++ ac_option=`expr "X$1" : 'X([^=]*)='` ++ ac_optarg=`expr "X$1" : 'X[^=]*=(.*)'` ++ ac_shift=: ++ ;; ++ --*=) ++ ac_option=`expr "X$1" : 'X([^=]*)='` ++ ac_optarg= ++ ac_shift=: ++ ;; ++ *) ++ ac_option=$1 ++ ac_optarg=$2 ++ ac_shift=shift ++ ;; ++ esac ++ ++ case $ac_option in ++ # Handling of the options. ++ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ++ ac_cs_recheck=: ;; ++ --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) ++ printf "%s\n" "$ac_cs_version"; exit ;; ++ --config | --confi | --conf | --con | --co | --c ) ++ printf "%s\n" "$ac_cs_config"; exit ;; ++ --debug | --debu | --deb | --de | --d | -d ) ++ debug=: ;; ++ --file | --fil | --fi | --f ) ++ $ac_shift ++ case $ac_optarg in ++ *'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\''/g"` ;; ++ '') as_fn_error $? "missing file argument" ;; ++ esac ++ as_fn_append CONFIG_FILES " '$ac_optarg'" ++ ac_need_defaults=false;; ++ --header | --heade | --head | --hea ) ++ $ac_shift ++ case $ac_optarg in ++ *'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\''/g"` ;; ++ esac ++ as_fn_append CONFIG_HEADERS " '$ac_optarg'" ++ ac_need_defaults=false;; ++ --he | --h) ++ # Conflict between --help and --header ++ as_fn_error $? "ambiguous option: `$1' ++Try `$0 --help' for more information.";; ++ --help | --hel | -h ) ++ printf "%s\n" "$ac_cs_usage"; exit ;; ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil | --si | --s) ++ ac_cs_silent=: ;; ++ ++ # This is an error. ++ -*) as_fn_error $? "unrecognized option: `$1' ++Try `$0 --help' for more information." ;; ++ ++ *) as_fn_append ac_config_targets " $1" ++ ac_need_defaults=false ;; ++ ++ esac ++ shift ++done ++ ++ac_configure_extra_args= ++ ++if $ac_cs_silent; then ++ exec 6>/dev/null ++ ac_configure_extra_args="$ac_configure_extra_args --silent" ++fi ++ ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++if $ac_cs_recheck; then ++ set X $SHELL '$0' $ac_configure_args $ac_configure_extra_args --no-create --no-recursion ++ shift ++ \printf "%s\n" "running CONFIG_SHELL=$SHELL $*" >&6 ++ CONFIG_SHELL='$SHELL' ++ export CONFIG_SHELL ++ exec "$@" ++fi ++ ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++exec 5>>config.log ++{ ++ echo ++ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ++## Running $as_me. ## ++_ASBOX ++ printf "%s\n" "$ac_log" ++} >&5 ++ ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++# ++# INIT-COMMANDS ++# ++AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" ++ ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ ++# Handling of arguments. ++for ac_config_target in $ac_config_targets ++do ++ case $ac_config_target in ++ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; ++ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; ++ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; ++ "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; ++ ++ *) as_fn_error $? "invalid argument: `$ac_config_target'" "$LINENO" 5;; ++ esac ++done ++ ++ ++# If the user did not use the arguments to specify the items to instantiate, ++# then the envvar interface is used. Set only those that are not. ++# We use the long form for the default assignment because of an extremely ++# bizarre bug on SunOS 4.1.3. ++if $ac_need_defaults; then ++ test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files ++ test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers ++ test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands ++fi ++ ++# Have a temporary directory for convenience. Make it in the build tree ++# simply because there is no reason against having it here, and in addition, ++# creating and moving files from /tmp can sometimes cause problems. ++# Hook for its removal unless debugging. ++# Note that there is a small window in which the directory will not be cleaned: ++# after its creation but before its name has been assigned to `$tmp'. ++$debug || ++{ ++ tmp= ac_tmp= ++ trap 'exit_status=$? ++ : "${ac_tmp:=$tmp}" ++ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ++' 0 ++ trap 'as_fn_exit 1' 1 2 13 15 ++} ++# Create a (secure) tmp directory for tmp files. ++ ++{ ++ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && ++ test -d "$tmp" ++} || ++{ ++ tmp=./conf$$-$RANDOM ++ (umask 077 && mkdir "$tmp") ++} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ++ac_tmp=$tmp ++ ++# Set up the scripts for CONFIG_FILES section. ++# No need to generate them if there are no CONFIG_FILES. ++# This happens for instance with `./config.status config.h'. ++if test -n "$CONFIG_FILES"; then ++ ++ ++ac_cr=`echo X | tr X '\015'` ++# On cygwin, bash can eat \r inside `` if the user requested igncr. ++# But we know of no other shell where ac_cr would be empty at this ++# point, so we can use a bashism as a fallback. ++if test "x$ac_cr" = x; then ++ eval ac_cr=$'\r' ++fi ++ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` ++if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ++ ac_cs_awk_cr='\r' ++else ++ ac_cs_awk_cr=$ac_cr ++fi ++ ++echo 'BEGIN {' >"$ac_tmp/subs1.awk" && ++_ACEOF ++ ++ ++{ ++ echo "cat >conf$$subs.awk <<_ACEOF" && ++ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && ++ echo "_ACEOF" ++} >conf$$subs.sh || ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ++ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ++ac_delim='%!_!# ' ++for ac_last_try in false false false false false :; do ++ . ./conf$$subs.sh || ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ++ ++ ac_delim_n=`sed -n "s/.*$ac_delim$/X/p" conf$$subs.awk | grep -c X` ++ if test $ac_delim_n = $ac_delim_num; then ++ break ++ elif $ac_last_try; then ++ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ++ else ++ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " ++ fi ++done ++rm -f conf$$subs.sh ++ ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++cat >>"$ac_tmp/subs1.awk" <<\_ACAWK && ++_ACEOF ++sed -n ' ++h ++s/^/S["/; s/!.*/"]=/ ++p ++g ++s/^[^!]*!// ++:repl ++t repl ++s/'"$ac_delim"'$// ++t delim ++:nl ++h ++s/(.{148})..*/\1/ ++t more1 ++s/["\]/\&/g; s/^/"/; s/$/\n"\/ ++p ++n ++b repl ++:more1 ++s/["\]/\&/g; s/^/"/; s/$/"\/ ++p ++g ++s/.{148}// ++t nl ++:delim ++h ++s/(.{148})..*/\1/ ++t more2 ++s/["\]/\&/g; s/^/"/; s/$/"/ ++p ++b ++:more2 ++s/["\]/\&/g; s/^/"/; s/$/"\/ ++p ++g ++s/.{148}// ++t delim ++' <conf$$subs.awk | sed ' ++/^[^""]/{ ++ N ++ s/\n// ++} ++' >>$CONFIG_STATUS || ac_write_fail=1 ++rm -f conf$$subs.awk ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++_ACAWK ++cat >>"$ac_tmp/subs1.awk" <<_ACAWK && ++ for (key in S) S_is_set[key] = 1 ++ FS = "" ++ ++} ++{ ++ line = $ 0 ++ nfields = split(line, field, "@") ++ substed = 0 ++ len = length(field[1]) ++ for (i = 2; i < nfields; i++) { ++ key = field[i] ++ keylen = length(key) ++ if (S_is_set[key]) { ++ value = S[key] ++ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) ++ len += length(value) + length(field[++i]) ++ substed = 1 ++ } else ++ len += 1 + keylen ++ } ++ ++ print line ++} ++ ++_ACAWK ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then ++ sed "s/$ac_cr$//; s/$ac_cr/$ac_cs_awk_cr/g" ++else ++ cat ++fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ ++ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 ++_ACEOF ++ ++# VPATH may cause trouble with some makes, so we remove sole $(srcdir), ++# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and ++# trailing colons and then remove the whole line if VPATH becomes empty ++# (actually we leave an empty line to preserve line numbers). ++if test "x$srcdir" = x.; then ++ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ ++h ++s/// ++s/^/:/ ++s/[ ]*$/:/ ++s/:$(srcdir):/:/g ++s/:${srcdir}:/:/g ++s/:@srcdir@:/:/g ++s/^:*// ++s/:*$// ++x ++s/(=[ ]*).*/\1/ ++G ++s/\n// ++s/^[^=]*=[ ]*$// ++}' ++fi ++ ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++fi # test -n "$CONFIG_FILES" ++ ++# Set up the scripts for CONFIG_HEADERS section. ++# No need to generate them if there are no CONFIG_HEADERS. ++# This happens for instance with `./config.status Makefile'. ++if test -n "$CONFIG_HEADERS"; then ++cat >"$ac_tmp/defines.awk" <<_ACAWK || ++BEGIN { ++_ACEOF ++ ++# Transform confdefs.h into an awk script `defines.awk', embedded as ++# here-document in config.status, that substitutes the proper values into ++# config.h.in to produce config.h. ++ ++# Create a delimiter string that does not exist in confdefs.h, to ease ++# handling of long lines. ++ac_delim='%!_!# ' ++for ac_last_try in false false :; do ++ ac_tt=`sed -n "/$ac_delim/p" confdefs.h` ++ if test -z "$ac_tt"; then ++ break ++ elif $ac_last_try; then ++ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 ++ else ++ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " ++ fi ++done ++ ++# For the awk script, D is an array of macro values keyed by name, ++# likewise P contains macro parameters if any. Preserve backslash ++# newline sequences. ++ ++ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* ++sed -n ' ++s/.{148}/&'"$ac_delim"'/g ++t rset ++:rset ++s/^[ ]*#[ ]*define[ ][ ]*/ / ++t def ++d ++:def ++s/\$// ++t bsnl ++s/["\]/\&/g ++s/^ ('"$ac_word_re"')(([^()]*))[ ]*(.*)/P["\1"]="\2"\ ++D["\1"]=" \3"/p ++s/^ ('"$ac_word_re"')[ ]*(.*)/D["\1"]=" \2"/p ++d ++:bsnl ++s/["\]/\&/g ++s/^ ('"$ac_word_re"')(([^()]*))[ ]*(.*)/P["\1"]="\2"\ ++D["\1"]=" \3\\\n"\/p ++t cont ++s/^ ('"$ac_word_re"')[ ]*(.*)/D["\1"]=" \2\\\n"\/p ++t cont ++d ++:cont ++n ++s/.{148}/&'"$ac_delim"'/g ++t clear ++:clear ++s/\$// ++t bsnlc ++s/["\]/\&/g; s/^/"/; s/$/"/p ++d ++:bsnlc ++s/["\]/\&/g; s/^/"/; s/$/\\\n"\/p ++b cont ++' <confdefs.h | sed ' ++s/'"$ac_delim"'/"\\ ++"/g' >>$CONFIG_STATUS || ac_write_fail=1 ++ ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ for (key in D) D_is_set[key] = 1 ++ FS = "" ++} ++/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|$)/ { ++ line = $ 0 ++ split(line, arg, " ") ++ if (arg[1] == "#") { ++ defundef = arg[2] ++ mac1 = arg[3] ++ } else { ++ defundef = substr(arg[1], 2) ++ mac1 = arg[2] ++ } ++ split(mac1, mac2, "(") #) ++ macro = mac2[1] ++ prefix = substr(line, 1, index(line, defundef) - 1) ++ if (D_is_set[macro]) { ++ # Preserve the white space surrounding the "#". ++ print prefix "define", macro P[macro] D[macro] ++ next ++ } else { ++ # Replace #undef with comments. This is necessary, for example, ++ # in the case of _POSIX_SOURCE, which is predefined and required ++ # on some systems where configure will not decide to define it. ++ if (defundef == "undef") { ++ print "/*", prefix defundef, macro, "*/" ++ next ++ } ++ } ++} ++{ print } ++_ACAWK ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 ++fi # test -n "$CONFIG_HEADERS" ++ ++ ++eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" ++shift ++for ac_tag ++do ++ case $ac_tag in ++ :[FHLC]) ac_mode=$ac_tag; continue;; ++ esac ++ case $ac_mode$ac_tag in ++ :[FHL]*:*);; ++ :L* | :C*:*) as_fn_error $? "invalid tag `$ac_tag'" "$LINENO" 5;; ++ :[FH]-) ac_tag=-:-;; ++ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; ++ esac ++ ac_save_IFS=$IFS ++ IFS=: ++ set x $ac_tag ++ IFS=$ac_save_IFS ++ shift ++ ac_file=$1 ++ shift ++ ++ case $ac_mode in ++ :L) ac_source=$1;; ++ :[FH]) ++ ac_file_inputs= ++ for ac_f ++ do ++ case $ac_f in ++ -) ac_f="$ac_tmp/stdin";; ++ *) # Look for the file first in the build tree, then in the source tree ++ # (if the path is not absolute). The absolute path cannot be DOS-style, ++ # because $ac_f cannot contain `:'. ++ test -f "$ac_f" || ++ case $ac_f in ++ [\/$]*) false;; ++ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; ++ esac || ++ as_fn_error 1 "cannot find input file: `$ac_f'" "$LINENO" 5;; ++ esac ++ case $ac_f in *'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\''/g"`;; esac ++ as_fn_append ac_file_inputs " '$ac_f'" ++ done ++ ++ # Let's still pretend it is `configure' which instantiates (i.e., don't ++ # use $as_me), people would be surprised to read: ++ # /* config.h. Generated by config.status. */ ++ configure_input='Generated from '` ++ printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' ++ `' by configure.' ++ if test x"$ac_file" != x-; then ++ configure_input="$ac_file. $configure_input" ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 ++printf "%s\n" "$as_me: creating $ac_file" >&6;} ++ fi ++ # Neutralize special characters interpreted by sed in replacement strings. ++ case $configure_input in #( ++ *&* | *|* | *\* ) ++ ac_sed_conf_input=`printf "%s\n" "$configure_input" | ++ sed 's/[\\&|]/\\&/g'`;; #( ++ *) ac_sed_conf_input=$configure_input;; ++ esac ++ ++ case $ac_tag in ++ *:-:* | *:-) cat >"$ac_tmp/stdin" \ ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; ++ esac ++ ;; ++ esac ++ ++ ac_dir=`$as_dirname -- "$ac_file" || ++$as_expr X"$ac_file" : 'X(.*[^/])//*[^/][^/]*/*$' | \ ++ X"$ac_file" : 'X(//)[^/]' | \ ++ X"$ac_file" : 'X(//)$' | \ ++ X"$ac_file" : 'X(/)' | . 2>/dev/null || ++printf "%s\n" X"$ac_file" | ++ sed '/^X(.*[^/])//*[^/][^/]*/*$/{ ++ s//\1/ ++ q ++ } ++ /^X(//)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X(//)$/{ ++ s//\1/ ++ q ++ } ++ /^X(/).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ as_dir="$ac_dir"; as_fn_mkdir_p ++ ac_builddir=. ++ ++case "$ac_dir" in ++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; ++*) ++ ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^.[\/]||'` ++ # A ".." for each directory in $ac_dir_suffix. ++ ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\/]*|/..|g;s|/||'` ++ case $ac_top_builddir_sub in ++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; ++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; ++ esac ;; ++esac ++ac_abs_top_builddir=$ac_pwd ++ac_abs_builddir=$ac_pwd$ac_dir_suffix ++# for backward compatibility: ++ac_top_builddir=$ac_top_build_prefix ++ ++case $srcdir in ++ .) # We are building in place. ++ ac_srcdir=. ++ ac_top_srcdir=$ac_top_builddir_sub ++ ac_abs_top_srcdir=$ac_pwd ;; ++ [\/]* | ?:[\/]* ) # Absolute name. ++ ac_srcdir=$srcdir$ac_dir_suffix; ++ ac_top_srcdir=$srcdir ++ ac_abs_top_srcdir=$srcdir ;; ++ *) # Relative name. ++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ++ ac_top_srcdir=$ac_top_build_prefix$srcdir ++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; ++esac ++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix ++ ++ ++ case $ac_mode in ++ :F) ++ # ++ # CONFIG_FILE ++ # ++ ++ case $INSTALL in ++ [\/$]* | ?:[\/]* ) ac_INSTALL=$INSTALL ;; ++ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; ++ esac ++ ac_MKDIR_P=$MKDIR_P ++ case $MKDIR_P in ++ [\/$]* | ?:[\/]* ) ;; ++ */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; ++ esac ++_ACEOF ++ ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++# If the template does not know about datarootdir, expand it. ++# FIXME: This hack should be removed a few years after 2.60. ++ac_datarootdir_hack=; ac_datarootdir_seen= ++ac_sed_dataroot=' ++/datarootdir/ { ++ p ++ q ++} ++/@datadir@/p ++/@docdir@/p ++/@infodir@/p ++/@localedir@/p ++/@mandir@/p' ++case `eval "sed -n "$ac_sed_dataroot" $ac_file_inputs"` in ++*datarootdir*) ac_datarootdir_seen=yes;; ++*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 ++printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ ac_datarootdir_hack=' ++ s&@datadir@&$datadir&g ++ s&@docdir@&$docdir&g ++ s&@infodir@&$infodir&g ++ s&@localedir@&$localedir&g ++ s&@mandir@&$mandir&g ++ s&\${datarootdir}&$datarootdir&g' ;; ++esac ++_ACEOF ++ ++# Neutralize VPATH when `$srcdir' = `.'. ++# Shell code in configure.ac might set extrasub. ++# FIXME: do we really want to maintain this feature? ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++ac_sed_extra="$ac_vpsub ++$extrasub ++_ACEOF ++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ++:t ++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b ++s|@configure_input@|$ac_sed_conf_input|;t t ++s&@top_builddir@&$ac_top_builddir_sub&;t t ++s&@top_build_prefix@&$ac_top_build_prefix&;t t ++s&@srcdir@&$ac_srcdir&;t t ++s&@abs_srcdir@&$ac_abs_srcdir&;t t ++s&@top_srcdir@&$ac_top_srcdir&;t t ++s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t ++s&@builddir@&$ac_builddir&;t t ++s&@abs_builddir@&$ac_abs_builddir&;t t ++s&@abs_top_builddir@&$ac_abs_top_builddir&;t t ++s&@INSTALL@&$ac_INSTALL&;t t ++s&@MKDIR_P@&$ac_MKDIR_P&;t t ++$ac_datarootdir_hack ++" ++eval sed "$ac_sed_extra" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ ++ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ++ ++test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && ++ { ac_out=`sed -n '/${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && ++ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ ++ "$ac_tmp/out"`; test -z "$ac_out"; } && ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable `datarootdir' ++which seems to be undefined. Please make sure it is defined" >&5 ++printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable `datarootdir' ++which seems to be undefined. Please make sure it is defined" >&2;} ++ ++ rm -f "$ac_tmp/stdin" ++ case $ac_file in ++ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; ++ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; ++ esac \ ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ++ ;; ++ :H) ++ # ++ # CONFIG_HEADER ++ # ++ if test x"$ac_file" != x-; then ++ { ++ printf "%s\n" "/* $configure_input */" >&1 \ ++ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" ++ } >"$ac_tmp/config.h" \ ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ++ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 ++printf "%s\n" "$as_me: $ac_file is unchanged" >&6;} ++ else ++ rm -f "$ac_file" ++ mv "$ac_tmp/config.h" "$ac_file" \ ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ++ fi ++ else ++ printf "%s\n" "/* $configure_input */" >&1 \ ++ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ ++ || as_fn_error $? "could not create -" "$LINENO" 5 ++ fi ++# Compute "$ac_file"'s index in $config_headers. ++_am_arg="$ac_file" ++_am_stamp_count=1 ++for _am_header in $config_headers :; do ++ case $_am_header in ++ $_am_arg | $_am_arg:* ) ++ break ;; ++ * ) ++ _am_stamp_count=`expr $_am_stamp_count + 1` ;; ++ esac ++done ++echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || ++$as_expr X"$_am_arg" : 'X(.*[^/])//*[^/][^/]*/*$' | \ ++ X"$_am_arg" : 'X(//)[^/]' | \ ++ X"$_am_arg" : 'X(//)$' | \ ++ X"$_am_arg" : 'X(/)' | . 2>/dev/null || ++printf "%s\n" X"$_am_arg" | ++ sed '/^X(.*[^/])//*[^/][^/]*/*$/{ ++ s//\1/ ++ q ++ } ++ /^X(//)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X(//)$/{ ++ s//\1/ ++ q ++ } ++ /^X(/).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'`/stamp-h$_am_stamp_count ++ ;; ++ ++ :C) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 ++printf "%s\n" "$as_me: executing $ac_file commands" >&6;} ++ ;; ++ esac ++ ++ ++ case $ac_file$ac_mode in ++ "depfiles":C) test x"$AMDEP_TRUE" != x"" || { ++ # Older Autoconf quotes --file arguments for eval, but not when files ++ # are listed without --file. Let's play safe and only enable the eval ++ # if we detect the quoting. ++ # TODO: see whether this extra hack can be removed once we start ++ # requiring Autoconf 2.70 or later. ++ case $CONFIG_FILES in #( ++ *'*) : ++ eval set x "$CONFIG_FILES" ;; #( ++ *) : ++ set x $CONFIG_FILES ;; #( ++ *) : ++ ;; ++esac ++ shift ++ # Used to flag and report bootstrapping failures. ++ am_rc=0 ++ for am_mf ++ do ++ # Strip MF so we end up with the name of the file. ++ am_mf=`printf "%s\n" "$am_mf" | sed -e 's/:.*$//'` ++ # Check whether this is an Automake generated Makefile which includes ++ # dependency-tracking related rules and includes. ++ # Grep'ing the whole file directly is not great: AIX grep has a line ++ # limit of 2048, but all sed's we know have understand at least 4000. ++ sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ ++ || continue ++ am_dirpart=`$as_dirname -- "$am_mf" || ++$as_expr X"$am_mf" : 'X(.*[^/])//*[^/][^/]*/*$' | \ ++ X"$am_mf" : 'X(//)[^/]' | \ ++ X"$am_mf" : 'X(//)$' | \ ++ X"$am_mf" : 'X(/)' | . 2>/dev/null || ++printf "%s\n" X"$am_mf" | ++ sed '/^X(.*[^/])//*[^/][^/]*/*$/{ ++ s//\1/ ++ q ++ } ++ /^X(//)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X(//)$/{ ++ s//\1/ ++ q ++ } ++ /^X(/).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ am_filepart=`$as_basename -- "$am_mf" || ++$as_expr X/"$am_mf" : '.*/([^/][^/]*)/*$' | \ ++ X"$am_mf" : 'X(//)$' | \ ++ X"$am_mf" : 'X(/)' | . 2>/dev/null || ++printf "%s\n" X/"$am_mf" | ++ sed '/^.*/([^/][^/]*)/*$/{ ++ s//\1/ ++ q ++ } ++ /^X/(//)$/{ ++ s//\1/ ++ q ++ } ++ /^X/(/).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ { echo "$as_me:$LINENO: cd "$am_dirpart" \ ++ && sed -e '/# am--include-marker/d' "$am_filepart" \ ++ | $MAKE -f - am--depfiles" >&5 ++ (cd "$am_dirpart" \ ++ && sed -e '/# am--include-marker/d' "$am_filepart" \ ++ | $MAKE -f - am--depfiles) >&5 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: $? = $ac_status" >&5 ++ (exit $ac_status); } || am_rc=$? ++ done ++ if test $am_rc -ne 0; then ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in `$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in `$ac_pwd':" >&2;} ++as_fn_error $? "Something went wrong bootstrapping makefile fragments ++ for automatic dependency tracking. If GNU make was not used, consider ++ re-running the configure script with MAKE="gmake" (or whatever is ++ necessary). You can also try re-running configure with the ++ '--disable-dependency-tracking' option to at least be able to build ++ the package (albeit without support for automatic dependency tracking). ++See `config.log' for more details" "$LINENO" 5; } ++ fi ++ { am_dirpart=; unset am_dirpart;} ++ { am_filepart=; unset am_filepart;} ++ { am_mf=; unset am_mf;} ++ { am_rc=; unset am_rc;} ++ rm -f conftest-deps.mk ++} ++ ;; ++ ++ esac ++done # for ac_tag ++ ++ ++as_fn_exit 0 ++_ACEOF ++ac_clean_files=$ac_clean_files_save ++ ++test $ac_write_fail = 0 || ++ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 ++ ++ ++# configure is writing to config.log, and then calls config.status. ++# config.status does its own redirection, appending to config.log. ++# Unfortunately, on DOS this fails, as config.log is still kept open ++# by configure, so config.status won't be able to write to it; its ++# output is simply discarded. So we exec the FD to /dev/null, ++# effectively closing config.log, so it can be properly (re)opened and ++# appended to by config.status. When coming back to configure, we ++# need to make the FD available again. ++if test "$no_create" != yes; then ++ ac_cs_success=: ++ ac_config_status_args= ++ test "$silent" = yes && ++ ac_config_status_args="$ac_config_status_args --quiet" ++ exec 5>/dev/null ++ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false ++ exec 5>>config.log ++ # Use ||, not &&, to avoid exiting from the if with $? = 1, which ++ # would make configure fail if this is the last instruction. ++ $ac_cs_success || as_fn_exit 1 ++fi ++if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 ++printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} ++fi ++ ++ +diff --git a/src/output.c b/src/output.c +index f5f01cd..81fdcef 100644 +--- a/src/output.c ++++ b/src/output.c +@@ -151,7 +151,7 @@ int print_header(int option) { + erase(); + mvwprintw(stdscr,1,2,"bwm-ng v" VERSION" (probing every %2.3fs), press 'h' for help",(float)delay/1000); + mvwprintw(stdscr,2,2,"input: %s type: %s",input2str(),output_type2str()); +- wprintw(stdscr,show_all_if2str()); ++ wprintw(stdscr,"%s",show_all_if2str()); + mvwprintw(stdscr,3,2,"%c iface Rx Tx Total",(char)IDLE_CHARS[option]); + /* go to next char for next run */ + option++; diff --git a/compat-guile/compat-guile.nm b/compat-guile/compat-guile.nm deleted file mode 100644 index c350897b7..000000000 --- a/compat-guile/compat-guile.nm +++ /dev/null @@ -1,72 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = compat-guile -version = 1.8.8 -release = 2 -thisapp = guile-%{version} - -groups = Development/Tools -url = http://www.gnu.org/software/guile/ -license = GPLv2+ and LGPLv2+ and GFDL and OFSFDL -summary = A GNU implementation of Scheme for application extensibility. - -description - GUILE (GNU's Ubiquitous Intelligent Language for Extension) is a library - implementation of the Scheme programming language, written in C. GUILE - provides a machine-independent execution platform that can be linked in - as a library during the building of extensible programs. -end - -source_dl = ftp://ftp.gnu.org/gnu/guile/ - -build - requires - gc-devel - gettext-devel - gmp-devel - libffi-devel >= 3.0.13 - libtool-devel - libunistring-devel - readline-devel - end - - export LD_LIBRARY_PATH = %{DIR_APP}/libguile/.libs - - configure_options += \ - --disable-static \ - --disable-error-on-warning - - install_cmds - # Drop unneeded stuff. - rm -rvf %{BUILDROOT}%{bindir} - rm -rvf %{BUILDROOT}%{includedir} - rm -rvf %{BUILDROOT}%{libdir}/pkgconfig - rm -rvf %{BUILDROOT}%{libdir}/*.so - rm -rvf %{BUILDROOT}%{datadir}/aclocal - rm -rvf %{BUILDROOT}%{datadir}/info - rm -rvf %{BUILDROOT}%{datadir}/man - end -end - -packages - package %{name} - provides - guile = %{thisver} - end - - obsoletes - guile-compat <= %{thisver} - end - - conflicts - guile <= %{thisver} - end - end - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/cups/cups.nm b/cups/cups.nm index 6f99c515a..43b3c782b 100644 --- a/cups/cups.nm +++ b/cups/cups.nm @@ -4,20 +4,20 @@ ###############################################################################
name = cups -version = 2.2.4 +version = 2.3.6 release = 1
groups = Applications/Printing -url = http://cups.org/software.php +url = https://cups.org/software.php license = GPLv2+ -summary = The common UNIX printing system. +summary = The common UNIX printing system
description CUPS is the standards-based, open source printing system developed by Apple Inc. for Mac OS(R) X and other UNIX(R)-like operating systems. end
-source_dl = https://github.com/apple/cups/releases/download/v%%7Bversion%7D/ +source_dl = https://github.com/apple/cups/archive/refs/tags/v%%7Bversion%7D.tar.gz#/ sources = %{thisapp}-source.tar.gz
build @@ -26,6 +26,7 @@ build automake avahi-devel cyrus-sasl-devel + dbus-devel gcc-c++ gnutls-devel libacl-devel @@ -36,14 +37,11 @@ build libtiff-devel libusb-devel openldap-devel - openssl-devel pam-devel systemd-devel zlib-devel end
- CFLAGS += -DLDAP_DEPRECATED=1 - configure_options += \ --localedir=%{datadir}/locale \ --with-cupsd-file-perm=0755 \ @@ -59,39 +57,12 @@ build --enable-webif \ --with-xinetd=no
- prepare_cmds - aclocal -I config-scripts - autoconf -I config-scripts - end - install make install BUILDROOT=%{BUILDROOT}
- # Remove sysvinit scripts - rm -vfr %{BUILDROOT}/etc/init.d/cups %{BUILDROOT}/etc/rc*.d - # Install default config file. mkdir -pv %{BUILDROOT}/etc/cups cp -vf %{DIR_APP}/conf/cupsd.conf %{BUILDROOT}/etc/cups/ - - # Rename systemd service files. - mv %{BUILDROOT}%{unitdir}/org.cups.cupsd.path \ - %{BUILDROOT}%{unitdir}/cups.path - mv %{BUILDROOT}%{unitdir}/org.cups.cupsd.service \ - %{BUILDROOT}%{unitdir}/cups.service - mv %{BUILDROOT}%{unitdir}/org.cups.cupsd.socket \ - %{BUILDROOT}%{unitdir}/cups.socket - mv %{BUILDROOT}%{unitdir}/org.cups.cups-lpd.socket \ - %{BUILDROOT}%{unitdir}/cups-lpd.socket - mv %{BUILDROOT}%{unitdir}/org.cups.cups-lpd@.service \ - %{BUILDROOT}%{unitdir}/cups-lpd@.service - - sed -i -e "s,org.cups.cupsd,cups,g" \ - %{BUILDROOT}%{unitdir}/cups.service - - # Fix permissions - chown root:lp %{BUILDROOT}%{localstatedir}/run/cups - chmod 0755 %{BUILDROOT}%{localstatedir}/run/cups end end
diff --git a/cups/systemd/cups.service b/cups/systemd/cups.service deleted file mode 100644 index dfb87b817..000000000 --- a/cups/systemd/cups.service +++ /dev/null @@ -1,15 +0,0 @@ -[Unit] -Description=CUPS scheduler -Requires=printer.target -After=syslog.target - -[Service] -Type=forking -PIDFile=/var/run/cupsd.pid -ExecStartPre=/usr/sbin/cupsd -t -ExecStart=/usr/sbin/cupsd -ExecStartPost=/sbin/udevadm trigger --subsystem-match=usb --attr-match=bInterfaceClass=07 --attr-match=bInterfaceSubClass=01 --action=add -ExecStartPost=/sbin/udevadm trigger --subsystem-match=usb --property-match=DEVNAME="/dev/usb/lp*" --action=add - -[Install] -WantedBy=multi-user.target diff --git a/cyrus-sasl/cyrus-sasl.nm b/cyrus-sasl/cyrus-sasl.nm index b55b3886e..004cf213e 100644 --- a/cyrus-sasl/cyrus-sasl.nm +++ b/cyrus-sasl/cyrus-sasl.nm @@ -5,7 +5,7 @@
name = cyrus-sasl version = 2.1.28 -release = 1 +release = 2
groups = System/Libraries url = https://github.com/cyrusimap/cyrus-sasl @@ -23,7 +23,7 @@ source_dl = https://github.com/cyrusimap/cyrus-sasl/releases/download/cyrus-sas build requires automake - libdb-devel + gdbm-devel openssl-devel pam-devel end diff --git a/dbus-glib/dbus-glib.nm b/dbus-glib/dbus-glib.nm index 390303503..eb864e427 100644 --- a/dbus-glib/dbus-glib.nm +++ b/dbus-glib/dbus-glib.nm @@ -4,24 +4,23 @@ ###############################################################################
name = dbus-glib -version = 0.94 -release = 3 +version = 0.112 +release = 1
groups = System/Libraries -url = http://www.freedesktop.org/software/dbus/ +url = https://www.freedesktop.org/software/dbus/ license = GPLv2+ AFL summary = Glib bindings for D-Bus.
description - D-Bus add-on library to integrate the standard D-Bus library with \ + D-Bus add-on library to integrate the standard D-Bus library with the GLib thread abstraction and main loop. end
-source_dl = +source_dl = https://dbus.freedesktop.org/releases/dbus-glib/
build requires - dbus dbus-devel expat-devel gettext diff --git a/dhcp/dhcp.nm b/dhcp/dhcp.nm index 421c6ca4f..f001d9695 100644 --- a/dhcp/dhcp.nm +++ b/dhcp/dhcp.nm @@ -4,13 +4,13 @@ ###############################################################################
name = dhcp -version = 4.4.1 +version = 4.4.3-P1 release = 1
groups = Networking/Daemons -url = http://isc.org/products/DHCP/ +url = https://www.isc.org/dhcp/ license = ISC -summary = Dynamic host configuration protocol software. +summary = Dynamic host configuration protocol software
description DHCP (Dynamic Host Configuration Protocol) is a protocol which allows @@ -20,24 +20,19 @@ description easier to administer a large network. end
-source_dl = ftp://ftp.isc.org/isc/dhcp/%{version}/ +source_dl = https://downloads.isc.org/isc/dhcp/%%7Bversion%7D/
build requires - autoconf - automake - bind-devel>=9.9.9-P6 - bind-devel<10 groff - libtool openldap-devel libcap-ng-devel systemd-devel end
- CFLAGS += -fno-strict-aliasing + #CFLAGS += -fno-strict-aliasing
- PARALLELISMFLAGS = # No parallel build. + #PARALLELISMFLAGS = # No parallel build.
configure_options += \ --sysconfdir=%{sysconfdir}/dhcp \ @@ -58,32 +53,6 @@ build --enable-binary-leases \ --with-systemd
- prepare_cmds - # Regenerate build environment - autoreconf --verbose --force --install - - # Change DHCLIENT_DEFAULT_PREFIX_LEN 64 -> 128 - sed -i -e 's|DHCLIENT_DEFAULT_PREFIX_LEN 64|DHCLIENT_DEFAULT_PREFIX_LEN 128|g' \ - includes/site.h - - # Update PATH in all manpages - for page in client/dhclient.conf.5 client/dhclient.leases.5 \ - client/dhclient-script.8 client/dhclient.8 ; do - - sed -i -e 's|CLIENTBINDIR|%{sbindir}|g' \ - -e 's|RUNDIR|/run|g' \ - -e 's|DBDIR|%{localstatedir}/lib/dhclient|g' \ - -e 's|ETCDIR|%{dhcpconfdir}|g' $page - done - - for page in server/dhcpd.conf.5 server/dhcpd.leases.5 server/dhcpd.8 ; do - sed -i -e 's|CLIENTBINDIR|%{sbindir}|g' \ - -e 's|RUNDIR|/run|g' \ - -e 's|DBDIR|%{localstatedir}/lib/dhcpd|g' \ - -e 's|ETCDIR|%{dhcpconfdir}|g' $page - done - end - install_cmds rm -vf %{BUILDROOT}%{sysconfdir}/dhcp/dhclient.conf
@@ -103,7 +72,6 @@ packages package %{name} requires dhcp-common = %{thisver} - dhcp-libs = %{thisver} /usr/lib/network/helpers/dhcpd-config-helper end
@@ -155,7 +123,6 @@ packages
requires dhcp-common = %{thisver} - dhcp-libs = %{thisver} %{sbindir}/dhclient-script end
@@ -185,10 +152,6 @@ packages summary = Common files used by the dhcp client and server. description = %{summary}
- requires - dhcp-libs = %{thisver} - end - files /usr/bin/ /usr/share/man/man1/omshell.1* @@ -197,10 +160,6 @@ packages end end
- package %{name}-libs - template LIBS - end - package %{name}-devel template DEVEL end diff --git a/dhcp/patches/0001-change-bug-url.patch b/dhcp/patches/0001-change-bug-url.patch deleted file mode 100644 index e0fbba92f..000000000 --- a/dhcp/patches/0001-change-bug-url.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 31ef6eadb15c3773b81256a8617eccc7657fd2fd Mon Sep 17 00:00:00 2001 -From: Pavel Zhukov pzhukov@redhat.com -Date: Thu, 21 Feb 2019 10:09:57 +0100 -Subject: [PATCH 01/21] change bug url -Cc: pzhukov@redhat.com - ---- - omapip/errwarn.c | 47 ++++++++++++++++++++++++++++++++++++++++++----- - 1 file changed, 42 insertions(+), 5 deletions(-) - -diff --git a/omapip/errwarn.c b/omapip/errwarn.c -index e30f8a0..09a3004 100644 ---- a/omapip/errwarn.c -+++ b/omapip/errwarn.c -@@ -48,6 +48,41 @@ void (*log_cleanup) (void); - static char mbuf [CVT_BUF_MAX + 1]; - static char fbuf [CVT_BUF_MAX + 1]; - -+// get BUG_REPORT_URL from /etc/os-release -+char * bug_report_url(void) { -+ FILE * file = fopen("/etc/os-release", "r"); -+ size_t len; -+ char * line = NULL; -+ char * url = NULL; -+ size_t url_len = 256; -+ -+ url = (char *) malloc(url_len * sizeof(char)); -+ strcpy(url, "https://bugzilla.redhat.com/"); -+ -+ if (!file) -+ return url; -+ -+ while ((getline(&line, &len, file)) != -1) { -+ if (strstr(line, "BUG_REPORT_URL") != NULL) { -+ char * start = strchr(line, '='); -+ char * rquotes = strrchr(line, '"'); -+ -+ if (rquotes != NULL) { -+ *rquotes = '\0'; -+ strncpy(url, start+2, url_len); -+ } else { -+ strncpy(url, start+1, url_len); -+ } -+ url[url_len-1] = '\0'; -+ fclose(file); -+ return url; -+ } -+ } -+ fclose(file); -+ return url; -+} -+ -+ - /* Log an error message, then exit... */ - - void log_fatal (const char * fmt, ... ) -@@ -74,11 +109,13 @@ void log_fatal (const char * fmt, ... ) - } - - log_error ("%s", ""); -- log_error ("If you think you have received this message due to a bug rather"); -- log_error ("than a configuration issue please read the section on submitting"); -- log_error ("bugs on either our web page at www.isc.org or in the README file"); -- log_error ("before submitting a bug. These pages explain the proper"); -- log_error ("process and the information we find helpful for debugging."); -+ log_error ("This version of ISC DHCP is based on the release available"); -+ log_error ("on ftp.isc.org. Features have been added and other changes"); -+ log_error ("have been made to the base software release in order to make"); -+ log_error ("it work better with this distribution."); -+ log_error ("%s", ""); -+ log_error ("Please report issues with this software via: "); -+ log_error ("%s", bug_report_url()); - log_error ("%s", ""); - log_error ("exiting."); - --- -2.14.5 diff --git a/dhcp/patches/0002-additional-dhclient-options.patch b/dhcp/patches/0002-additional-dhclient-options.patch deleted file mode 100644 index 8f83f8659..000000000 --- a/dhcp/patches/0002-additional-dhclient-options.patch +++ /dev/null @@ -1,467 +0,0 @@ -From 3a86bcb58a7c081df22b6f55e973d5e3c99065d8 Mon Sep 17 00:00:00 2001 -From: Pavel Zhukov pzhukov@redhat.com -Date: Thu, 21 Feb 2019 10:19:47 +0100 -Subject: [PATCH 02/21] additional dhclient options -Cc: pzhukov@redhat.com - ---- - client/clparse.c | 10 +- - client/dhclient.8 | 27 ++++++ - client/dhclient.c | 271 +++++++++++++++++++++++++++++++++++++++++++++++++++- - common/conflex.c | 2 + - includes/dhcpd.h | 3 + - includes/dhctoken.h | 1 + - 6 files changed, 308 insertions(+), 6 deletions(-) - -diff --git a/client/clparse.c b/client/clparse.c -index eaf48a8..7212e3a 100644 ---- a/client/clparse.c -+++ b/client/clparse.c -@@ -189,6 +189,7 @@ isc_result_t read_client_conf () - /* Requested lease time, used by DHCPv6 (DHCPv4 uses the option cache) - */ - top_level_config.requested_lease = 7200; -+ top_level_config.bootp_broadcast_always = 0; - - group_allocate (&top_level_config.on_receipt, MDL); - if (!top_level_config.on_receipt) -@@ -394,7 +395,8 @@ void read_client_leases () - interface-declaration | - LEASE client-lease-statement | - ALIAS client-lease-statement | -- KEY key-definition */ -+ KEY key-definition | -+ BOOTP_BROADCAST_ALWAYS */ - - void parse_client_statement (cfile, ip, config) - struct parse *cfile; -@@ -817,6 +819,12 @@ void parse_client_statement (cfile, ip, config) - parse_lease_id_format(cfile); - break; - -+ case BOOTP_BROADCAST_ALWAYS: -+ token = next_token(&val, (unsigned*)0, cfile); -+ config -> bootp_broadcast_always = 1; -+ parse_semi (cfile); -+ return; -+ - - default: - lose = 0; -diff --git a/client/dhclient.8 b/client/dhclient.8 -index ebc750f..6d7fbdb 100644 ---- a/client/dhclient.8 -+++ b/client/dhclient.8 -@@ -134,6 +134,33 @@ dhclient - Dynamic Host Configuration Protocol Client - .B -w - ] - [ -+.B -B -+] -+[ -+.B -C -+.I dhcp-client-identifier -+] -+[ -+.B -H -+.I host-name -+] -+[ -+.B -F -+.I fqdn.fqdn -+] -+[ -+.B -V -+.I vendor-class-identifier -+] -+[ -+.B --request-options -+.I request-option-list -+] -+[ -+.B --timeout -+.I timeout -+] -+[ - .B --dad-wait-time - .I seconds - ] -diff --git a/client/dhclient.c b/client/dhclient.c -index 825ab00..26a333c 100644 ---- a/client/dhclient.c -+++ b/client/dhclient.c -@@ -41,6 +41,12 @@ - #include <sys/wait.h> - #include <limits.h> - -+/* -+ * Defined in stdio.h when _GNU_SOURCE is set, but we don't want to define -+ * that when building ISC code. -+ */ -+extern int asprintf(char **strp, const char *fmt, ...); -+ - TIME default_lease_time = 43200; /* 12 hours... */ - TIME max_lease_time = 86400; /* 24 hours... */ - -@@ -110,6 +116,10 @@ char *mockup_relay = NULL; - - char *progname = NULL; - -+int bootp_broadcast_always = 0; -+ -+extern struct option *default_requested_options[]; -+ - void run_stateless(int exit_mode, u_int16_t port); - - static isc_result_t write_duid(struct data_string *duid); -@@ -183,8 +193,12 @@ static const char use_v6command[] = "Command not used for DHCPv4: %s"; - " [-s server-addr] [-cf config-file]\n" \ - " [-df duid-file] [-lf lease-file]\n" \ - " [-pf pid-file] [--no-pid] [-e VAR=val]\n" \ --" [-sf script-file] [interface]*" -- -+" [-sf script-file] [interface]*\n" \ -+" [-C <dhcp-client-identifier>] [-B]\n" \ -+" [-H <host-name> | -F <fqdn.fqdn>] [--timeout <timeout>]\n" \ -+" [-V <vendor-class-identifier>]\n" \ -+" [--request-options <request option list>]" -+ - #define DHCLIENT_USAGEH "{--version|--help|-h}" - - static void -@@ -243,6 +257,16 @@ main(int argc, char **argv) { - #else - progname = argv[0]; - #endif -+ char *dhcp_client_identifier_arg = NULL; -+ char *dhcp_host_name_arg = NULL; -+ char *dhcp_fqdn_arg = NULL; -+ char *dhcp_vendor_class_identifier_arg = NULL; -+ char *dhclient_request_options = NULL; -+ -+ int timeout_arg = 0; -+ char *arg_conf = NULL; -+ int arg_conf_len = 0; -+ - /* Initialize client globals. */ - memset(&default_duid, 0, sizeof(default_duid)); - -@@ -558,6 +582,89 @@ main(int argc, char **argv) { - std_dhcid = 1; - } else if (!strcmp(argv[i], "-v")) { - quiet = 0; -+ } else if (!strcmp(argv[i], "-C")) { -+ if ((++i == argc) || (argv[i] == NULL) || (*(argv[i])=='\0')) { -+ usage(use_noarg, argv[i-1]); -+ exit(1); -+ } -+ -+ if (strlen(argv[i]) >= DHCP_MAX_OPTION_LEN) { -+ log_error("-C option dhcp-client-identifier string "%s" is too long - maximum length is: %d", argv[i], DHCP_MAX_OPTION_LEN-1); -+ exit(1); -+ } -+ -+ dhcp_client_identifier_arg = argv[i]; -+ } else if (!strcmp(argv[i], "-B")) { -+ bootp_broadcast_always = 1; -+ } else if (!strcmp(argv[i], "-H")) { -+ if ((++i == argc) || (argv[i] == NULL) || (*(argv[i])=='\0')) { -+ usage(use_noarg, argv[i-1]); -+ exit(1); -+ } -+ -+ if (strlen(argv[i]) >= DHCP_MAX_OPTION_LEN) { -+ log_error("-H option host-name string "%s" is too long - maximum length is: %d", argv[i], DHCP_MAX_OPTION_LEN-1); -+ exit(1); -+ } -+ -+ if (dhcp_host_name_arg != NULL) { -+ log_error("The -H <host-name> and -F <fqdn> arguments are mutually exclusive"); -+ exit(1); -+ } -+ -+ dhcp_host_name_arg = argv[i]; -+ } else if (!strcmp(argv[i], "-F")) { -+ if ((++i == argc) || (argv[i] == NULL) || (*(argv[i])=='\0')) { -+ usage(use_noarg, argv[i-1]); -+ exit(1); -+ } -+ -+ if (strlen(argv[i]) >= DHCP_MAX_OPTION_LEN) { -+ log_error("-F option fqdn.fqdn string "%s" is too long - maximum length is: %d", argv[i], DHCP_MAX_OPTION_LEN-1); -+ exit(1); -+ } -+ -+ if (dhcp_fqdn_arg != NULL) { -+ log_error("Only one -F <fqdn> argument can be specified"); -+ exit(1); -+ } -+ -+ if (dhcp_host_name_arg != NULL) { -+ log_error("The -F <fqdn> and -H <host-name> arguments are mutually exclusive"); -+ exit(1); -+ } -+ -+ dhcp_fqdn_arg = argv[i]; -+ } else if (!strcmp(argv[i], "--timeout")) { -+ if ((++i == argc) || (argv[i] == NULL) || (*(argv[i])=='\0')) { -+ usage(use_noarg, argv[i-1]); -+ exit(1); -+ } -+ -+ if ((timeout_arg = atoi(argv[i])) <= 0) { -+ log_error("timeout option must be > 0 - bad value: %s",argv[i]); -+ exit(1); -+ } -+ } else if (!strcmp(argv[i], "-V")) { -+ if ((++i == argc) || (argv[i] == NULL) || (*(argv[i])=='\0')) { -+ usage(use_noarg, argv[i-1]); -+ exit(1); -+ } -+ -+ if (strlen(argv[i]) >= DHCP_MAX_OPTION_LEN) { -+ log_error("-V option vendor-class-identifier string "%s" is too long - maximum length is: %d", argv[i], DHCP_MAX_OPTION_LEN-1); -+ exit(1); -+ } -+ -+ dhcp_vendor_class_identifier_arg = argv[i]; -+ } else if (!strcmp(argv[i], "--request-options")) { -+ if ((++i == argc) || (argv[i] == NULL) || (*(argv[i])=='\0')) { -+ usage(use_noarg, argv[i-1]); -+ exit(1); -+ } -+ -+ dhclient_request_options = argv[i]; -+ - } else if (argv[i][0] == '-') { - usage("Unknown command: %s", argv[i]); - } else if (interfaces_requested < 0) { -@@ -754,6 +861,156 @@ main(int argc, char **argv) { - /* Parse the dhclient.conf file. */ - read_client_conf(); - -+ /* Parse any extra command line configuration arguments: */ -+ if ((dhcp_client_identifier_arg != NULL) && (*dhcp_client_identifier_arg != '\0')) { -+ arg_conf_len = asprintf(&arg_conf, "send dhcp-client-identifier "%s";", dhcp_client_identifier_arg); -+ -+ if ((arg_conf == 0) || (arg_conf_len <= 0)) -+ log_fatal("Unable to send -C option dhcp-client-identifier"); -+ } -+ -+ if ((dhcp_host_name_arg != NULL) && (*dhcp_host_name_arg != '\0')) { -+ if (arg_conf == 0) { -+ arg_conf_len = asprintf(&arg_conf, "send host-name "%s";", dhcp_host_name_arg); -+ -+ if ((arg_conf == 0) || (arg_conf_len <= 0)) -+ log_fatal("Unable to send -H option host-name"); -+ } else { -+ char *last_arg_conf = arg_conf; -+ arg_conf = NULL; -+ arg_conf_len = asprintf(&arg_conf, "%s\nsend host-name "%s";", last_arg_conf, dhcp_host_name_arg); -+ -+ if ((arg_conf == 0) || (arg_conf_len <= 0)) -+ log_fatal("Unable to send -H option host-name"); -+ -+ free(last_arg_conf); -+ } -+ } -+ -+ if ((dhcp_fqdn_arg != NULL) && (*dhcp_fqdn_arg != '\0')) { -+ if (arg_conf == 0) { -+ arg_conf_len = asprintf(&arg_conf, "send fqdn.fqdn "%s";", dhcp_fqdn_arg); -+ -+ if ((arg_conf == 0) || (arg_conf_len <= 0)) -+ log_fatal("Unable to send -F option fqdn.fqdn"); -+ } else { -+ char *last_arg_conf = arg_conf; -+ arg_conf = NULL; -+ arg_conf_len = asprintf(&arg_conf, "%s\nsend fqdn.fqdn "%s";", last_arg_conf, dhcp_fqdn_arg); -+ -+ if ((arg_conf == 0) || (arg_conf_len <= 0)) -+ log_fatal("Unable to send -F option fqdn.fqdn"); -+ -+ free(last_arg_conf); -+ } -+ } -+ -+ if (timeout_arg) { -+ if (arg_conf == 0) { -+ arg_conf_len = asprintf(&arg_conf, "timeout %d;", timeout_arg); -+ -+ if ((arg_conf == 0) || (arg_conf_len <= 0)) -+ log_fatal("Unable to process --timeout timeout argument"); -+ } else { -+ char *last_arg_conf = arg_conf; -+ arg_conf = NULL; -+ arg_conf_len = asprintf(&arg_conf, "%s\ntimeout %d;", last_arg_conf, timeout_arg); -+ -+ if ((arg_conf == 0) || (arg_conf_len == 0)) -+ log_fatal("Unable to process --timeout timeout argument"); -+ -+ free(last_arg_conf); -+ } -+ } -+ -+ if ((dhcp_vendor_class_identifier_arg != NULL) && (*dhcp_vendor_class_identifier_arg != '\0')) { -+ if (arg_conf == 0) { -+ arg_conf_len = asprintf(&arg_conf, "send vendor-class-identifier "%s";", dhcp_vendor_class_identifier_arg); -+ -+ if ((arg_conf == 0) || (arg_conf_len <= 0)) -+ log_fatal("Unable to send -V option vendor-class-identifier"); -+ } else { -+ char *last_arg_conf = arg_conf; -+ arg_conf = NULL; -+ arg_conf_len = asprintf(&arg_conf, "%s\nsend vendor-class-identifier "%s";", last_arg_conf, dhcp_vendor_class_identifier_arg); -+ -+ if ((arg_conf == 0) || (arg_conf_len <= 0)) -+ log_fatal("Unable to send -V option vendor-class-identifier"); -+ -+ free(last_arg_conf); -+ } -+ } -+ -+ if (dhclient_request_options != NULL) { -+ if (arg_conf == 0) { -+ arg_conf_len = asprintf(&arg_conf, "request %s;", dhclient_request_options); -+ -+ if ((arg_conf == 0) || (arg_conf_len <= 0)) -+ log_fatal("Unable to parse --request-options <request options list> argument"); -+ } else { -+ char *last_arg_conf = arg_conf; -+ arg_conf = NULL; -+ arg_conf_len = asprintf(&arg_conf, "%s\nrequest %s;", last_arg_conf, dhclient_request_options); -+ -+ if ((arg_conf == 0) || (arg_conf_len <= 0)) -+ log_fatal("Unable to parse --request-options <request options list> argument"); -+ -+ free(last_arg_conf); -+ } -+ } -+ -+ if (arg_conf) { -+ if (arg_conf_len == 0) -+ if ((arg_conf_len = strlen(arg_conf)) == 0) -+ /* huh ? cannot happen ! */ -+ log_fatal("Unable to process -C/-H/-F/--timeout/-V/--request-options configuration arguments"); -+ -+ /* parse the extra dhclient.conf configuration arguments -+ * into top level config: */ -+ struct parse *cfile = (struct parse *)0; -+ const char *val = NULL; -+ int token; -+ -+ status = new_parse(&cfile, -1, arg_conf, arg_conf_len, "extra dhclient -C/-H/-F/--timeout/-V/--request-options configuration arguments", 0); -+ -+ if ((status != ISC_R_SUCCESS) || (cfile -> warnings_occurred)) -+ log_fatal("Cannot parse -C/-H/-F/--timeout/-V/--request-options configuration arguments !"); -+ /* more detailed parse failures will be logged */ -+ -+ do { -+ token = peek_token(&val, (unsigned *)0, cfile); -+ if (token == END_OF_FILE) -+ break; -+ -+ parse_client_statement(cfile, (struct interface_info *)0, &top_level_config); -+ } while (1); -+ -+ if (cfile -> warnings_occurred) -+ log_fatal("Cannot parse -C/-H/-F/--timeout/-V/--request-options configuration arguments !"); -+ end_parse(&cfile); -+ -+ if (timeout_arg) { -+ /* we just set the toplevel timeout, but per-client -+ * timeouts may still be at defaults. -+ */ -+ for (ip=interfaces; ip; ip = ip->next) { -+ if (ip->client->config->timeout == 60) -+ ip->client->config->timeout = timeout_arg; -+ } -+ } -+ -+ if ((dhclient_request_options != 0) && (top_level_config.requested_options != default_requested_options)) { -+ for (ip=interfaces; ip; ip = ip->next) { -+ if (ip->client->config->requested_options == default_requested_options) -+ ip->client->config->requested_options = top_level_config.requested_options; -+ } -+ } -+ -+ free(arg_conf); -+ arg_conf = NULL; -+ arg_conf_len = 0; -+ } -+ - /* Parse the lease database. */ - read_client_leases(); - -@@ -3226,7 +3483,8 @@ void make_discover (client, lease) - client -> packet.xid = random (); - client -> packet.secs = 0; /* filled in by send_discover. */ - -- if (can_receive_unicast_unconfigured (client -> interface)) -+ if ((!(bootp_broadcast_always || client->config->bootp_broadcast_always)) -+ && can_receive_unicast_unconfigured(client->interface)) - client -> packet.flags = 0; - else - client -> packet.flags = htons (BOOTP_BROADCAST); -@@ -3311,7 +3569,9 @@ void make_request (client, lease) - } else { - memset (&client -> packet.ciaddr, 0, - sizeof client -> packet.ciaddr); -- if (can_receive_unicast_unconfigured (client -> interface)) -+ if ((!(bootp_broadcast_always || -+ client ->config->bootp_broadcast_always)) && -+ can_receive_unicast_unconfigured (client -> interface)) - client -> packet.flags = 0; - else - client -> packet.flags = htons (BOOTP_BROADCAST); -@@ -3374,7 +3634,8 @@ void make_decline (client, lease) - client -> packet.hops = 0; - client -> packet.xid = client -> xid; - client -> packet.secs = 0; /* Filled in by send_request. */ -- if (can_receive_unicast_unconfigured (client -> interface)) -+ if ((!(bootp_broadcast_always || client->config-> bootp_broadcast_always)) -+ && can_receive_unicast_unconfigured (client->interface)) - client -> packet.flags = 0; - else - client -> packet.flags = htons (BOOTP_BROADCAST); -diff --git a/common/conflex.c b/common/conflex.c -index 045b655..71c0bf5 100644 ---- a/common/conflex.c -+++ b/common/conflex.c -@@ -832,6 +832,8 @@ intern(char *atom, enum dhcp_token dfv) { - if (!strcasecmp(atom+1, "ig-endian")) { - return TOKEN_BIG_ENDIAN; - } -+ if (!strcasecmp (atom + 1, "ootp-broadcast-always")) -+ return BOOTP_BROADCAST_ALWAYS; - break; - case 'c': - if (!strcasecmp(atom + 1, "ase")) -diff --git a/includes/dhcpd.h b/includes/dhcpd.h -index 5930e6a..018fa34 100644 ---- a/includes/dhcpd.h -+++ b/includes/dhcpd.h -@@ -1269,6 +1269,9 @@ struct client_config { - - int lease_id_format; /* format for IDs in lease file, - TOKEN_OCTAL or TOKEN_HEX */ -+ -+ int bootp_broadcast_always; /* If nonzero, always set the BOOTP_BROADCAST -+ flag in requests */ - }; - - /* Per-interface state used in the dhcp client... */ -diff --git a/includes/dhctoken.h b/includes/dhctoken.h -index 5920f4f..7e7215a 100644 ---- a/includes/dhctoken.h -+++ b/includes/dhctoken.h -@@ -377,6 +377,7 @@ enum dhcp_token { - TOKEN_HEX = 677, - TOKEN_OCTAL = 678, - KEY_ALGORITHM = 679 -+ BOOTP_BROADCAST_ALWAYS = 680 - }; - - #define is_identifier(x) ((x) >= FIRST_TOKEN && \ --- -2.14.5 diff --git a/dhcp/patches/0003-Handle-releasing-interfaces-requested-by-sbin-ifup.patch b/dhcp/patches/0003-Handle-releasing-interfaces-requested-by-sbin-ifup.patch deleted file mode 100644 index 34301d936..000000000 --- a/dhcp/patches/0003-Handle-releasing-interfaces-requested-by-sbin-ifup.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 692fd8b16ef6f12a57596351e930c65c68597bac Mon Sep 17 00:00:00 2001 -From: Pavel Zhukov pzhukov@redhat.com -Date: Thu, 21 Feb 2019 10:21:14 +0100 -Subject: [PATCH 03/21] Handle releasing interfaces requested by /sbin/ifup -Cc: pzhukov@redhat.com - ---- - client/dhclient.c | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 72 insertions(+) - -diff --git a/client/dhclient.c b/client/dhclient.c -index 26a333c..2a2e9e6 100644 ---- a/client/dhclient.c -+++ b/client/dhclient.c -@@ -787,9 +787,81 @@ main(int argc, char **argv) { - } - } - fclose(pidfd); -+ } else { -+ /* handle release for interfaces requested with Red Hat -+ * /sbin/ifup - pidfile will be /var/run/dhclient-$interface.pid -+ */ -+ -+ if ((path_dhclient_pid == NULL) || (*path_dhclient_pid == '\0')) -+ path_dhclient_pid = "/var/run/dhclient.pid"; -+ -+ char *new_path_dhclient_pid; -+ struct interface_info *ip; -+ int pdp_len = strlen(path_dhclient_pid), pfx, dpfx; -+ -+ /* find append point: beginning of any trailing '.pid' -+ * or '-$IF.pid' */ -+ for (pfx=pdp_len; (pfx >= 0) && (path_dhclient_pid[pfx] != '.') && (path_dhclient_pid[pfx] != '/'); pfx--); -+ if (pfx == -1) -+ pfx = pdp_len; -+ -+ if (path_dhclient_pid[pfx] == '/') -+ pfx += 1; -+ -+ for (dpfx=pfx; (dpfx >= 0) && (path_dhclient_pid[dpfx] != '-') && (path_dhclient_pid[dpfx] != '/'); dpfx--); -+ if ((dpfx > -1) && (path_dhclient_pid[dpfx] != '/')) -+ pfx = dpfx; -+ -+ for (ip = interfaces; ip; ip = ip->next) { -+ if (interfaces_requested && (ip->flags & (INTERFACE_REQUESTED))) { -+ int n_len = strlen(ip->name); -+ -+ new_path_dhclient_pid = (char*) malloc(pfx + n_len + 6); -+ strncpy(new_path_dhclient_pid, path_dhclient_pid, pfx); -+ sprintf(new_path_dhclient_pid + pfx, "-%s.pid", ip->name); -+ -+ if ((pidfd = fopen(new_path_dhclient_pid, "r")) != NULL) { -+ e = fscanf(pidfd, "%ld\n", &temp); -+ oldpid = (pid_t)temp; -+ -+ if (e != 0 && e != EOF) { -+ if (oldpid) { -+ if (kill(oldpid, SIGTERM) == 0) -+ unlink(path_dhclient_pid); -+ } -+ } -+ -+ fclose(pidfd); -+ } -+ -+ free(new_path_dhclient_pid); -+ } -+ } -+ } -+ } else { -+ FILE *pidfp = NULL; -+ long temp = 0; -+ pid_t dhcpid = 0; -+ int dhc_running = 0; -+ char procfn[256] = ""; -+ -+ if ((pidfp = fopen(path_dhclient_pid, "r")) != NULL) { -+ if ((fscanf(pidfp, "%ld", &temp)==1) && ((dhcpid=(pid_t)temp) > 0)) { -+ snprintf(procfn,256,"/proc/%u",dhcpid); -+ dhc_running = (access(procfn, F_OK) == 0); -+ } -+ -+ fclose(pidfp); -+ } -+ -+ if (dhc_running) { -+ log_fatal("dhclient(%u) is already running - exiting. ", dhcpid); -+ return(1); - } - } - -+ write_client_pid_file(); -+ - if (!quiet) { - log_info("%s %s", message, PACKAGE_VERSION); - log_info(copyright); --- -2.14.5 diff --git a/dhcp/patches/0004-Support-unicast-BOOTP-for-IBM-pSeries-systems-and-ma.patch b/dhcp/patches/0004-Support-unicast-BOOTP-for-IBM-pSeries-systems-and-ma.patch deleted file mode 100644 index 5b0e10933..000000000 --- a/dhcp/patches/0004-Support-unicast-BOOTP-for-IBM-pSeries-systems-and-ma.patch +++ /dev/null @@ -1,117 +0,0 @@ -From 9dc17d6086bf140efda84ce434664b60ce2191a1 Mon Sep 17 00:00:00 2001 -From: Pavel Zhukov pzhukov@redhat.com -Date: Thu, 21 Feb 2019 10:22:41 +0100 -Subject: [PATCH 04/21] Support unicast BOOTP for IBM pSeries systems (and - maybe others) -Cc: pzhukov@redhat.com - ---- - server/bootp.c | 12 +++++++++++- - server/dhcp.c | 33 ++++++++++++++++++++++++++------- - 2 files changed, 37 insertions(+), 8 deletions(-) - -diff --git a/server/bootp.c b/server/bootp.c -index 26a7607..2212f31 100644 ---- a/server/bootp.c -+++ b/server/bootp.c -@@ -52,6 +52,7 @@ void bootp (packet) - char msgbuf [1024]; - int ignorep; - int peer_has_leases = 0; -+ int norelay = 0; - - if (packet -> raw -> op != BOOTREQUEST) - return; -@@ -67,7 +68,7 @@ void bootp (packet) - ? inet_ntoa (packet -> raw -> giaddr) - : packet -> interface -> name); - -- if (!locate_network (packet)) { -+ if ((norelay = locate_network (packet)) == 0) { - log_info ("%s: network unknown", msgbuf); - return; - } -@@ -428,6 +429,15 @@ void bootp (packet) - - goto out; - } -+ } else if (norelay == 2) { -+ to.sin_addr = raw.ciaddr; -+ to.sin_port = remote_port; -+ if (fallback_interface) { -+ result = send_packet (fallback_interface, NULL, &raw, -+ outgoing.packet_length, from, -+ &to, &hto); -+ goto out; -+ } - - /* If it comes from a client that already knows its address - and is not requesting a broadcast response, and we can -diff --git a/server/dhcp.c b/server/dhcp.c -index 6f3a91f..20f2a62 100644 ---- a/server/dhcp.c -+++ b/server/dhcp.c -@@ -5224,6 +5224,7 @@ int locate_network (packet) - struct data_string data; - struct subnet *subnet = (struct subnet *)0; - struct option_cache *oc; -+ int norelay = 0; - - #if defined(DHCPv6) && defined(DHCP4o6) - if (dhcpv4_over_dhcpv6 && (packet->dhcp4o6_response != NULL)) { -@@ -5245,12 +5246,24 @@ int locate_network (packet) - from the interface, if there is one. If not, fail. */ - if (!oc && !packet -> raw -> giaddr.s_addr) { - if (packet -> interface -> shared_network) { -- shared_network_reference -- (&packet -> shared_network, -- packet -> interface -> shared_network, MDL); -- return 1; -+ struct in_addr any_addr; -+ any_addr.s_addr = INADDR_ANY; -+ -+ if (!packet -> packet_type && memcmp(&packet -> raw -> ciaddr, &any_addr, 4)) { -+ struct iaddr cip; -+ memcpy(cip.iabuf, &packet -> raw -> ciaddr, 4); -+ cip.len = 4; -+ if (!find_grouped_subnet(&subnet, packet->interface->shared_network, cip, MDL)) -+ norelay = 2; -+ } -+ -+ if (!norelay) { -+ shared_network_reference(&packet -> shared_network, packet -> interface -> shared_network, MDL); -+ return 1; -+ } -+ } else { -+ return 0; - } -- return 0; - } - - /* If there's an option indicating link connection, and it's valid, -@@ -5277,7 +5290,10 @@ int locate_network (packet) - data_string_forget (&data, MDL); - } else { - ia.len = 4; -- memcpy (ia.iabuf, &packet -> raw -> giaddr, 4); -+ if (norelay) -+ memcpy (ia.iabuf, &packet->raw->ciaddr, 4); -+ else -+ memcpy (ia.iabuf, &packet->raw->giaddr, 4); - } - - /* If we know the subnet on which the IP address lives, use it. */ -@@ -5285,7 +5301,10 @@ int locate_network (packet) - shared_network_reference (&packet -> shared_network, - subnet -> shared_network, MDL); - subnet_dereference (&subnet, MDL); -- return 1; -+ if (norelay) -+ return norelay; -+ else -+ return 1; - } - - /* Otherwise, fail. */ --- -2.14.5 diff --git a/dhcp/patches/0005-Change-default-requested-options.patch b/dhcp/patches/0005-Change-default-requested-options.patch deleted file mode 100644 index ec5384edd..000000000 --- a/dhcp/patches/0005-Change-default-requested-options.patch +++ /dev/null @@ -1,59 +0,0 @@ -From ac21c8b966620cbe79be3508c024ae30f93d6266 Mon Sep 17 00:00:00 2001 -From: Pavel Zhukov pzhukov@redhat.com -Date: Thu, 21 Feb 2019 10:24:24 +0100 -Subject: [PATCH 05/21] Change default requested options -Cc: pzhukov@redhat.com - -Add NIS domain, NIS servers, NTP servers, interface-mtu and domain-search -to the list of default requested DHCP options ---- - client/clparse.c | 27 ++++++++++++++++++++++++++- - 1 file changed, 26 insertions(+), 1 deletion(-) - -diff --git a/client/clparse.c b/client/clparse.c -index 7212e3a..39b95a0 100644 ---- a/client/clparse.c -+++ b/client/clparse.c -@@ -31,7 +31,7 @@ - - struct client_config top_level_config; - --#define NUM_DEFAULT_REQUESTED_OPTS 9 -+#define NUM_DEFAULT_REQUESTED_OPTS 14 - /* There can be 2 extra requested options for DHCPv4-over-DHCPv6. */ - struct option *default_requested_options[NUM_DEFAULT_REQUESTED_OPTS + 2 + 1]; - -@@ -116,6 +116,31 @@ isc_result_t read_client_conf () - option_code_hash_lookup(&default_requested_options[8], - dhcpv6_universe.code_hash, &code, 0, MDL); - -+ /* 10 */ -+ code = DHO_NIS_DOMAIN; -+ option_code_hash_lookup(&default_requested_options[9], -+ dhcp_universe.code_hash, &code, 0, MDL); -+ -+ /* 11 */ -+ code = DHO_NIS_SERVERS; -+ option_code_hash_lookup(&default_requested_options[10], -+ dhcp_universe.code_hash, &code, 0, MDL); -+ -+ /* 12 */ -+ code = DHO_NTP_SERVERS; -+ option_code_hash_lookup(&default_requested_options[11], -+ dhcp_universe.code_hash, &code, 0, MDL); -+ -+ /* 13 */ -+ code = DHO_INTERFACE_MTU; -+ option_code_hash_lookup(&default_requested_options[12], -+ dhcp_universe.code_hash, &code, 0, MDL); -+ -+ /* 14 */ -+ code = DHO_DOMAIN_SEARCH; -+ option_code_hash_lookup(&default_requested_options[13], -+ dhcp_universe.code_hash, &code, 0, MDL); -+ - for (code = 0 ; code < NUM_DEFAULT_REQUESTED_OPTS ; code++) { - if (default_requested_options[code] == NULL) - log_fatal("Unable to find option definition for " --- -2.14.5 diff --git a/dhcp/patches/0006-Various-man-page-only-fixes.patch b/dhcp/patches/0006-Various-man-page-only-fixes.patch deleted file mode 100644 index 63c6b5cba..000000000 --- a/dhcp/patches/0006-Various-man-page-only-fixes.patch +++ /dev/null @@ -1,167 +0,0 @@ -From dd3053e6f45ac1f149869b7ded3f539d6c046114 Mon Sep 17 00:00:00 2001 -From: Pavel Zhukov pzhukov@redhat.com -Date: Thu, 21 Feb 2019 10:25:53 +0100 -Subject: [PATCH 06/21] Various man-page-only fixes -Cc: pzhukov@redhat.com - ---- - client/dhclient-script.8 | 22 +++++++++++++++++++++- - client/dhclient.conf.5 | 14 +++++++++++++- - common/dhcp-options.5 | 15 +++++++++++++++ - server/dhcpd.conf.5 | 14 +++++++++----- - 4 files changed, 58 insertions(+), 7 deletions(-) - -diff --git a/client/dhclient-script.8 b/client/dhclient-script.8 -index 3553afd..0db5516 100644 ---- a/client/dhclient-script.8 -+++ b/client/dhclient-script.8 -@@ -43,7 +43,7 @@ customizations are needed, they should be possible using the enter and - exit hooks provided (see HOOKS for details). These hooks will allow the - user to override the default behaviour of the client in creating a - .B /etc/resolv.conf --file. -+file, and to handle DHCP options not handled by default. - .PP - No standard client script exists for some operating systems, even though - the actual client may work, so a pioneering user may well need to create -@@ -87,6 +87,26 @@ present. The - .B ETCDIR/dhclient-exit-hooks - script can modify the valid of exit_status to change the exit status - of dhclient-script. -+.PP -+Immediately after dhclient brings an interface UP with a new IP address, -+subnet mask, and routes, in the REBOOT/BOUND states, it will check for the -+existence of an executable -+.B ETCDIR/dhclient-up-hooks -+script, and source it if found. This script can handle DHCP options in -+the environment that are not handled by default. A per-interface. -+.B ETCDIR/dhclient-${IF}-up-hooks -+script will override the generic script and be sourced when interface -+$IF has been brought up. -+.PP -+Immediately before dhclient brings an interface DOWN, removing its IP -+address, subnet mask, and routes, in the STOP/RELEASE states, it will -+check for the existence of an executable -+.B ETCDIR/dhclient-down-hooks -+script, and source it if found. This script can handle DHCP options in -+the environment that are not handled by default. A per-interface -+.B ETCDIR/dhclient-${IF}-down-hooks -+script will override the generic script and be sourced when interface -+$IF is about to be brought down. - .SH OPERATION - When dhclient needs to invoke the client configuration script, it - defines a set of variables in the environment, and then invokes -diff --git a/client/dhclient.conf.5 b/client/dhclient.conf.5 -index fa3b908..566a881 100644 ---- a/client/dhclient.conf.5 -+++ b/client/dhclient.conf.5 -@@ -228,7 +228,8 @@ responding to the client send the client its values for the specified - options. Only the option names should be specified in the request - statement - not option parameters. By default, the DHCPv4 client - requests the subnet-mask, broadcast-address, time-offset, routers, --domain-name, domain-name-servers and host-name options while the DHCPv6 -+domain-search, domain-name, domain-name-servers, host-name, nis-domain, -+nis-servers, ntp-servers and interface-mtu options while the DHCPv6 - client requests the dhcp6 name-servers and domain-search options. Note - that if you enter a 'request' statement, you over-ride these defaults - and these options will not be requested. -@@ -735,6 +736,17 @@ broadcast packets transmitted by DHCP clients, but is only useful if you - know the DHCP service(s) anycast MAC address prior to configuring your - client. The \fIlink-type\fR and \fImac-address\fR parameters are configured - in a similar manner to the \fBhardware\fR statement. -+.PP -+ \fBbootp-broadcast-always;\fR -+.PP -+The -+.B bootp-broadcast-always -+statement instructs dhclient to always set the bootp broadcast flag in -+request packets, so that servers will always broadcast replies. -+This is equivalent to supplying the dhclient -B argument, and has -+the same effect as specifying 'always-broadcast' in the server's dhcpd.conf. -+This option is provided as an extension to enable dhclient to work -+on IBM s390 Linux guests. - .PP - .SH SAMPLE - The following configuration file was used on a laptop running NetBSD -diff --git a/common/dhcp-options.5 b/common/dhcp-options.5 -index 33d4804..d9e1197 100644 ---- a/common/dhcp-options.5 -+++ b/common/dhcp-options.5 -@@ -1068,6 +1068,21 @@ classless IP routing - it does not include a subnet mask. Since - classless IP routing is now the most widely deployed routing standard, - this option is virtually useless, and is not implemented by any of the - popular DHCP clients, for example the Microsoft DHCP client. -+.PP -+NOTE to Fedora dhclient users: -+.br -+dhclient-script interprets trailing 0 octets of the target as indicating -+the subnet class of the route, so for the following static-routes value: -+.br -+ option static-routes 172.0.0.0 172.16.2.254, -+.br -+ 192.168.0.0 192.168.2.254; -+.br -+dhclient-script will create routes: -+.br -+ 172/8 via 172.16.2.254 dev $interface -+.br -+ 192.168/16 via 192.168.2.254 dev $interface - .RE - .PP - .nf -diff --git a/server/dhcpd.conf.5 b/server/dhcpd.conf.5 -index 17330d4..89b5540 100644 ---- a/server/dhcpd.conf.5 -+++ b/server/dhcpd.conf.5 -@@ -527,6 +527,9 @@ pool { - }; - .fi - .PP -+Dynamic BOOTP leases are not compatible with failover, and, as such, -+you need to disallow BOOTP in pools that you are using failover for. -+.PP - The server currently does very little sanity checking, so if you - configure it wrong, it will just fail in odd ways. I would recommend - therefore that you either do failover or don't do failover, but don't -@@ -541,9 +544,9 @@ primary server might look like this: - failover peer "foo" { - primary; - address anthrax.rc.example.com; -- port 519; -+ port 647; - peer address trantor.rc.example.com; -- peer port 520; -+ peer port 847; - max-response-delay 60; - max-unacked-updates 10; - mclt 3600; -@@ -1323,7 +1326,7 @@ the zone containing PTR records - for ISC BIND, something like this: - .PP - .nf - key DHCP_UPDATER { -- algorithm HMAC-MD5.SIG-ALG.REG.INT; -+ algorithm hmac-md5; - secret pRP5FapFoJ95JEL06sv4PQ==; - }; - -@@ -1346,7 +1349,7 @@ dhcpd.conf file: - .PP - .nf - key DHCP_UPDATER { -- algorithm HMAC-MD5.SIG-ALG.REG.INT; -+ algorithm hmac-md5; - secret pRP5FapFoJ95JEL06sv4PQ==; - }; - -@@ -2912,7 +2915,8 @@ statement - The \fInext-server\fR statement is used to specify the host address of - the server from which the initial boot file (specified in the - \fIfilename\fR statement) is to be loaded. \fIServer-name\fR should --be a numeric IP address or a domain name. -+be a numeric IP address or a domain name. If no \fInext-server\fR statement -+applies to a given client, the address 0.0.0.0 is used. - .RE - .PP - The --- -2.14.5 diff --git a/dhcp/patches/0007-Change-paths-to-conform-to-our-standards.patch b/dhcp/patches/0007-Change-paths-to-conform-to-our-standards.patch deleted file mode 100644 index 1ca9c16cb..000000000 --- a/dhcp/patches/0007-Change-paths-to-conform-to-our-standards.patch +++ /dev/null @@ -1,53 +0,0 @@ -From bf4e3f1d181b5b4e6225fe5726c02420157433cc Mon Sep 17 00:00:00 2001 -From: Pavel Zhukov pzhukov@redhat.com -Date: Thu, 21 Feb 2019 10:26:34 +0100 -Subject: [PATCH 07/21] Change paths to conform to our standards -Cc: pzhukov@redhat.com - ---- - doc/examples/dhcpd-dhcpv6.conf | 2 +- - includes/dhcpd.h | 6 +++--- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/doc/examples/dhcpd-dhcpv6.conf b/doc/examples/dhcpd-dhcpv6.conf -index 448a6a6..2357824 100644 ---- a/doc/examples/dhcpd-dhcpv6.conf -+++ b/doc/examples/dhcpd-dhcpv6.conf -@@ -43,7 +43,7 @@ option dhcp6.domain-search "test.example.com","example.com"; - option dhcp6.info-refresh-time 21600; - - # The path of the lease file --dhcpv6-lease-file-name "/usr/local/var/db/dhcpd6.leases"; -+dhcpv6-lease-file-name "/var/lib/dhcpd/dhcpd6.leases"; - - # Static definition (must be global) - host myclient { -diff --git a/includes/dhcpd.h b/includes/dhcpd.h -index 018fa34..3632a6b 100644 ---- a/includes/dhcpd.h -+++ b/includes/dhcpd.h -@@ -1545,7 +1545,7 @@ typedef unsigned char option_mask [16]; - #else /* !DEBUG */ - - #ifndef _PATH_DHCPD_CONF --#define _PATH_DHCPD_CONF "/etc/dhcpd.conf" -+#define _PATH_DHCPD_CONF "/etc/dhcp/dhcpd.conf" - #endif /* DEBUG */ - - #ifndef _PATH_DHCPD_DB -@@ -1567,11 +1567,11 @@ typedef unsigned char option_mask [16]; - #endif /* DEBUG */ - - #ifndef _PATH_DHCLIENT_CONF --#define _PATH_DHCLIENT_CONF "/etc/dhclient.conf" -+#define _PATH_DHCLIENT_CONF "/etc/dhcp/dhclient.conf" - #endif - - #ifndef _PATH_DHCLIENT_SCRIPT --#define _PATH_DHCLIENT_SCRIPT "/sbin/dhclient-script" -+#define _PATH_DHCLIENT_SCRIPT "/usr/sbin/dhclient-script" - #endif - - #ifndef _PATH_DHCLIENT_PID --- -2.14.5 diff --git a/dhcp/patches/0008-Make-sure-all-open-file-descriptors-are-closed-on-ex.patch b/dhcp/patches/0008-Make-sure-all-open-file-descriptors-are-closed-on-ex.patch deleted file mode 100644 index 58d3696a3..000000000 --- a/dhcp/patches/0008-Make-sure-all-open-file-descriptors-are-closed-on-ex.patch +++ /dev/null @@ -1,366 +0,0 @@ -From 26d34bc8e55c39ef84d580b6453c65b5cbeab8ff Mon Sep 17 00:00:00 2001 -From: Pavel Zhukov pzhukov@redhat.com -Date: Thu, 21 Feb 2019 10:27:18 +0100 -Subject: [PATCH 08/21] Make sure all open file descriptors are closed-on-exec - for SELinux -Cc: pzhukov@redhat.com - -ISC-bug: #19148 ---- - client/clparse.c | 4 ++-- - client/dhclient.c | 28 ++++++++++++++-------------- - common/bpf.c | 2 +- - common/dlpi.c | 2 +- - common/nit.c | 2 +- - common/resolv.c | 2 +- - common/upf.c | 2 +- - omapip/trace.c | 6 +++--- - relay/dhcrelay.c | 10 +++++----- - server/confpars.c | 2 +- - server/db.c | 4 ++-- - server/dhcpd.c | 14 +++++++------- - server/ldap.c | 2 +- - 13 files changed, 40 insertions(+), 40 deletions(-) - -diff --git a/client/clparse.c b/client/clparse.c -index 39b95a0..44387ed 100644 ---- a/client/clparse.c -+++ b/client/clparse.c -@@ -288,7 +288,7 @@ int read_client_conf_file (const char *name, struct interface_info *ip, - int token; - isc_result_t status; - -- if ((file = open (name, O_RDONLY)) < 0) -+ if ((file = open (name, O_RDONLY | O_CLOEXEC)) < 0) - return uerr2isc (errno); - - cfile = NULL; -@@ -364,7 +364,7 @@ void read_client_leases () - - /* Open the lease file. If we can't open it, just return - - we can safely trust the server to remember our state. */ -- if ((file = open (path_dhclient_db, O_RDONLY)) < 0) -+ if ((file = open (path_dhclient_db, O_RDONLY | O_CLOEXEC)) < 0) - return; - - cfile = NULL; -diff --git a/client/dhclient.c b/client/dhclient.c -index 2a2e9e6..a86ab9e 100644 ---- a/client/dhclient.c -+++ b/client/dhclient.c -@@ -273,11 +273,11 @@ main(int argc, char **argv) { - /* Make sure that file descriptors 0 (stdin), 1, (stdout), and - 2 (stderr) are open. To do this, we assume that when we - open a file the lowest available file descriptor is used. */ -- fd = open("/dev/null", O_RDWR); -+ fd = open("/dev/null", O_RDWR | O_CLOEXEC); - if (fd == 0) -- fd = open("/dev/null", O_RDWR); -+ fd = open("/dev/null", O_RDWR | O_CLOEXEC); - if (fd == 1) -- fd = open("/dev/null", O_RDWR); -+ fd = open("/dev/null", O_RDWR | O_CLOEXEC); - if (fd == 2) - log_perror = 0; /* No sense logging to /dev/null. */ - else if (fd != -1) -@@ -765,7 +765,7 @@ main(int argc, char **argv) { - long temp; - int e; - -- if ((pidfd = fopen(path_dhclient_pid, "r")) != NULL) { -+ if ((pidfd = fopen(path_dhclient_pid, "re")) != NULL) { - e = fscanf(pidfd, "%ld\n", &temp); - oldpid = (pid_t)temp; - -@@ -820,7 +820,7 @@ main(int argc, char **argv) { - strncpy(new_path_dhclient_pid, path_dhclient_pid, pfx); - sprintf(new_path_dhclient_pid + pfx, "-%s.pid", ip->name); - -- if ((pidfd = fopen(new_path_dhclient_pid, "r")) != NULL) { -+ if ((pidfd = fopen(new_path_dhclient_pid, "re")) != NULL) { - e = fscanf(pidfd, "%ld\n", &temp); - oldpid = (pid_t)temp; - -@@ -845,7 +845,7 @@ main(int argc, char **argv) { - int dhc_running = 0; - char procfn[256] = ""; - -- if ((pidfp = fopen(path_dhclient_pid, "r")) != NULL) { -+ if ((pidfp = fopen(path_dhclient_pid, "re")) != NULL) { - if ((fscanf(pidfp, "%ld", &temp)==1) && ((dhcpid=(pid_t)temp) > 0)) { - snprintf(procfn,256,"/proc/%u",dhcpid); - dhc_running = (access(procfn, F_OK) == 0); -@@ -3808,7 +3808,7 @@ void rewrite_client_leases () - - if (leaseFile != NULL) - fclose (leaseFile); -- leaseFile = fopen (path_dhclient_db, "w"); -+ leaseFile = fopen (path_dhclient_db, "we"); - if (leaseFile == NULL) { - log_error ("can't create %s: %m", path_dhclient_db); - return; -@@ -4003,7 +4003,7 @@ write_duid(struct data_string *duid) - return DHCP_R_INVALIDARG; - - if (leaseFile == NULL) { /* XXX? */ -- leaseFile = fopen(path_dhclient_db, "w"); -+ leaseFile = fopen(path_dhclient_db, "we"); - if (leaseFile == NULL) { - log_error("can't create %s: %m", path_dhclient_db); - return ISC_R_IOERROR; -@@ -4207,7 +4207,7 @@ int write_client_lease (client, lease, rewrite, makesure) - return 1; - - if (leaseFile == NULL) { /* XXX */ -- leaseFile = fopen (path_dhclient_db, "w"); -+ leaseFile = fopen (path_dhclient_db, "we"); - if (leaseFile == NULL) { - log_error ("can't create %s: %m", path_dhclient_db); - return 0; -@@ -4786,9 +4786,9 @@ void detach () - (void) close(2); - - /* Reopen them on /dev/null. */ -- (void) open("/dev/null", O_RDWR); -- (void) open("/dev/null", O_RDWR); -- (void) open("/dev/null", O_RDWR); -+ (void) open("/dev/null", O_RDWR | O_CLOEXEC); -+ (void) open("/dev/null", O_RDWR | O_CLOEXEC); -+ (void) open("/dev/null", O_RDWR | O_CLOEXEC); - - write_client_pid_file (); - -@@ -4806,14 +4806,14 @@ void write_client_pid_file () - return; - } - -- pfdesc = open (path_dhclient_pid, O_CREAT | O_TRUNC | O_WRONLY, 0644); -+ pfdesc = open (path_dhclient_pid, O_CREAT | O_TRUNC | O_WRONLY | O_CLOEXEC, 0644); - - if (pfdesc < 0) { - log_error ("Can't create %s: %m", path_dhclient_pid); - return; - } - -- pf = fdopen (pfdesc, "w"); -+ pf = fdopen (pfdesc, "we"); - if (!pf) { - close(pfdesc); - log_error ("Can't fdopen %s: %m", path_dhclient_pid); -diff --git a/common/bpf.c b/common/bpf.c -index 16076fe..67b6d64 100644 ---- a/common/bpf.c -+++ b/common/bpf.c -@@ -94,7 +94,7 @@ int if_register_bpf (info) - for (b = 0; 1; b++) { - /* %Audit% 31 bytes max. %2004.06.17,Safe% */ - sprintf(filename, BPF_FORMAT, b); -- sock = open (filename, O_RDWR, 0); -+ sock = open (filename, O_RDWR | O_CLOEXEC, 0); - if (sock < 0) { - if (errno == EBUSY) { - continue; -diff --git a/common/dlpi.c b/common/dlpi.c -index 3990bf1..a941258 100644 ---- a/common/dlpi.c -+++ b/common/dlpi.c -@@ -817,7 +817,7 @@ dlpiopen(const char *ifname) { - } - *dp = '\0'; - -- return open (devname, O_RDWR, 0); -+ return open (devname, O_RDWR | O_CLOEXEC, 0); - } - - /* -diff --git a/common/nit.c b/common/nit.c -index d822c15..a9132bc 100644 ---- a/common/nit.c -+++ b/common/nit.c -@@ -75,7 +75,7 @@ int if_register_nit (info) - struct strioctl sio; - - /* Open a NIT device */ -- sock = open ("/dev/nit", O_RDWR); -+ sock = open ("/dev/nit", O_RDWR | O_CLOEXEC); - if (sock < 0) - log_fatal ("Can't open NIT device for %s: %m", info -> name); - -diff --git a/common/resolv.c b/common/resolv.c -index a01f520..b209e3f 100644 ---- a/common/resolv.c -+++ b/common/resolv.c -@@ -43,7 +43,7 @@ void read_resolv_conf (parse_time) - struct domain_search_list *dp, *dl, *nd; - isc_result_t status; - -- if ((file = open (path_resolv_conf, O_RDONLY)) < 0) { -+ if ((file = open (path_resolv_conf, O_RDONLY | O_CLOEXEC)) < 0) { - log_error ("Can't open %s: %m", path_resolv_conf); - return; - } -diff --git a/common/upf.c b/common/upf.c -index 9785879..e0a524f 100644 ---- a/common/upf.c -+++ b/common/upf.c -@@ -71,7 +71,7 @@ int if_register_upf (info) - /* %Audit% Cannot exceed 36 bytes. %2004.06.17,Safe% */ - sprintf(filename, "/dev/pf/pfilt%d", b); - -- sock = open (filename, O_RDWR, 0); -+ sock = open (filename, O_RDWR | O_CLOEXEC, 0); - if (sock < 0) { - if (errno == EBUSY) { - continue; -diff --git a/omapip/trace.c b/omapip/trace.c -index 45bd508..5ea7486 100644 ---- a/omapip/trace.c -+++ b/omapip/trace.c -@@ -136,10 +136,10 @@ isc_result_t trace_begin (const char *filename, - return DHCP_R_INVALIDARG; - } - -- traceoutfile = open (filename, O_CREAT | O_WRONLY | O_EXCL, 0600); -+ traceoutfile = open (filename, O_CREAT | O_WRONLY | O_EXCL | O_CLOEXEC, 0600); - if (traceoutfile < 0 && errno == EEXIST) { - log_error ("WARNING: Overwriting trace file "%s"", filename); -- traceoutfile = open (filename, O_WRONLY | O_EXCL | O_TRUNC, -+ traceoutfile = open (filename, O_WRONLY | O_EXCL | O_TRUNC | O_CLOEXEC, - 0600); - } - -@@ -427,7 +427,7 @@ void trace_file_replay (const char *filename) - isc_result_t result; - int len; - -- traceinfile = fopen (filename, "r"); -+ traceinfile = fopen (filename, "re"); - if (!traceinfile) { - log_error("Can't open tracefile %s: %m", filename); - return; -diff --git a/relay/dhcrelay.c b/relay/dhcrelay.c -index d8caaaf..ea1be18 100644 ---- a/relay/dhcrelay.c -+++ b/relay/dhcrelay.c -@@ -296,11 +296,11 @@ main(int argc, char **argv) { - /* Make sure that file descriptors 0(stdin), 1,(stdout), and - 2(stderr) are open. To do this, we assume that when we - open a file the lowest available file descriptor is used. */ -- fd = open("/dev/null", O_RDWR); -+ fd = open("/dev/null", O_RDWR | O_CLOEXEC); - if (fd == 0) -- fd = open("/dev/null", O_RDWR); -+ fd = open("/dev/null", O_RDWR | O_CLOEXEC); - if (fd == 1) -- fd = open("/dev/null", O_RDWR); -+ fd = open("/dev/null", O_RDWR | O_CLOEXEC); - if (fd == 2) - log_perror = 0; /* No sense logging to /dev/null. */ - else if (fd != -1) -@@ -776,13 +776,13 @@ main(int argc, char **argv) { - /* Create the pid file. */ - if (no_pid_file == ISC_FALSE) { - pfdesc = open(path_dhcrelay_pid, -- O_CREAT | O_TRUNC | O_WRONLY, 0644); -+ O_CREAT | O_TRUNC | O_WRONLY | O_CLOEXEC, 0644); - - if (pfdesc < 0) { - log_error("Can't create %s: %m", - path_dhcrelay_pid); - } else { -- pf = fdopen(pfdesc, "w"); -+ pf = fdopen(pfdesc, "we"); - if (!pf) - log_error("Can't fdopen %s: %m", - path_dhcrelay_pid); -diff --git a/server/confpars.c b/server/confpars.c -index d2cedfe..2743979 100644 ---- a/server/confpars.c -+++ b/server/confpars.c -@@ -118,7 +118,7 @@ isc_result_t read_conf_file (const char *filename, struct group *group, - } - #endif - -- if ((file = open (filename, O_RDONLY)) < 0) { -+ if ((file = open (filename, O_RDONLY | O_CLOEXEC)) < 0) { - if (leasep) { - log_error ("Can't open lease database %s: %m --", - path_dhcpd_db); -diff --git a/server/db.c b/server/db.c -index 67e6cc1..6181528 100644 ---- a/server/db.c -+++ b/server/db.c -@@ -1154,7 +1154,7 @@ int new_lease_file (int test_mode) - path_dhcpd_db, (int)t) >= sizeof newfname) - log_fatal("new_lease_file: lease file path too long"); - -- db_fd = open (newfname, O_WRONLY | O_TRUNC | O_CREAT, 0664); -+ db_fd = open (newfname, O_WRONLY | O_TRUNC | O_CREAT | O_CLOEXEC, 0664); - if (db_fd < 0) { - log_error ("Can't create new lease file: %m"); - return 0; -@@ -1175,7 +1175,7 @@ int new_lease_file (int test_mode) - } - #endif /* PARANOIA */ - -- if ((new_db_file = fdopen(db_fd, "w")) == NULL) { -+ if ((new_db_file = fdopen(db_fd, "we")) == NULL) { - log_error("Can't fdopen new lease file: %m"); - close(db_fd); - goto fdfail; -diff --git a/server/dhcpd.c b/server/dhcpd.c -index 55ffae7..530a923 100644 ---- a/server/dhcpd.c -+++ b/server/dhcpd.c -@@ -300,11 +300,11 @@ main(int argc, char **argv) { - /* Make sure that file descriptors 0 (stdin), 1, (stdout), and - 2 (stderr) are open. To do this, we assume that when we - open a file the lowest available file descriptor is used. */ -- fd = open("/dev/null", O_RDWR); -+ fd = open("/dev/null", O_RDWR | O_CLOEXEC); - if (fd == 0) -- fd = open("/dev/null", O_RDWR); -+ fd = open("/dev/null", O_RDWR | O_CLOEXEC); - if (fd == 1) -- fd = open("/dev/null", O_RDWR); -+ fd = open("/dev/null", O_RDWR | O_CLOEXEC); - if (fd == 2) - log_perror = 0; /* No sense logging to /dev/null. */ - else if (fd != -1) -@@ -975,7 +975,7 @@ main(int argc, char **argv) { - * appropriate. - */ - if (no_pid_file == ISC_FALSE) { -- i = open(path_dhcpd_pid, O_WRONLY|O_CREAT|O_TRUNC, 0644); -+ i = open(path_dhcpd_pid, O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0644); - if (i >= 0) { - sprintf(pbuf, "%d\n", (int) getpid()); - IGNORE_RET(write(i, pbuf, strlen(pbuf))); -@@ -1028,9 +1028,9 @@ main(int argc, char **argv) { - (void) close(2); - - /* Reopen them on /dev/null. */ -- (void) open("/dev/null", O_RDWR); -- (void) open("/dev/null", O_RDWR); -- (void) open("/dev/null", O_RDWR); -+ (void) open("/dev/null", O_RDWR | O_CLOEXEC); -+ (void) open("/dev/null", O_RDWR | O_CLOEXEC); -+ (void) open("/dev/null", O_RDWR | O_CLOEXEC); - log_perror = 0; /* No sense logging to /dev/null. */ - - IGNORE_RET (chdir("/")); -diff --git a/server/ldap.c b/server/ldap.c -index 5126d24..555545c 100644 ---- a/server/ldap.c -+++ b/server/ldap.c -@@ -1446,7 +1446,7 @@ ldap_start (void) - - if (ldap_debug_file != NULL && ldap_debug_fd == -1) - { -- if ((ldap_debug_fd = open (ldap_debug_file, O_CREAT | O_TRUNC | O_WRONLY, -+ if ((ldap_debug_fd = open (ldap_debug_file, O_CREAT | O_TRUNC | O_WRONLY | O_CLOEXEC, - S_IRUSR | S_IWUSR)) < 0) - log_error ("Error opening debug LDAP log file %s: %s", ldap_debug_file, - strerror (errno)); --- -2.14.5 diff --git a/dhcp/patches/0009-Fix-garbage-in-format-string-error.patch b/dhcp/patches/0009-Fix-garbage-in-format-string-error.patch deleted file mode 100644 index eca1db76c..000000000 --- a/dhcp/patches/0009-Fix-garbage-in-format-string-error.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 9ffd73d22b1337aeedef751afd03822cc0a15014 Mon Sep 17 00:00:00 2001 -From: Pavel Zhukov pzhukov@redhat.com -Date: Thu, 21 Feb 2019 10:28:13 +0100 -Subject: [PATCH 09/21] Fix 'garbage in format string' error -Cc: pzhukov@redhat.com - -RHBZ: 450042 ---- - common/tables.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/common/tables.c b/common/tables.c -index c1aa214..d2294c0 100644 ---- a/common/tables.c -+++ b/common/tables.c -@@ -215,7 +215,7 @@ static struct option dhcp_options[] = { - { "name-service-search", "Sa", &dhcp_universe, 117, 1 }, - #endif - { "subnet-selection", "I", &dhcp_universe, 118, 1 }, -- { "domain-search", "Dc", &dhcp_universe, 119, 1 }, -+ { "domain-search", "D", &dhcp_universe, 119, 1 }, - { "vivco", "Evendor-class.", &dhcp_universe, 124, 1 }, - { "vivso", "Evendor.", &dhcp_universe, 125, 1 }, - #if 0 --- -2.14.5 diff --git a/dhcp/patches/0010-Handle-null-timeout.patch b/dhcp/patches/0010-Handle-null-timeout.patch deleted file mode 100644 index 5b5e2cf23..000000000 --- a/dhcp/patches/0010-Handle-null-timeout.patch +++ /dev/null @@ -1,31 +0,0 @@ -From e269e137c3b7d25a2d089be508e6769731618d54 Mon Sep 17 00:00:00 2001 -From: Pavel Zhukov pzhukov@redhat.com -Date: Thu, 21 Feb 2019 10:29:08 +0100 -Subject: [PATCH 10/21] Handle null timeout -Cc: pzhukov@redhat.com - -Handle cases in add_timeout() where the function is called with a NULL -value for the 'when' parameter - -ISC-Bugs: #19867 (rejected) ---- - common/dispatch.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/common/dispatch.c b/common/dispatch.c -index 0207ad3..d7fe200 100644 ---- a/common/dispatch.c -+++ b/common/dispatch.c -@@ -209,6 +209,10 @@ void add_timeout (when, where, what, ref, unref) - isc_interval_t interval; - isc_time_t expires; - -+ if (when == NULL) { -+ return; -+ } -+ - /* See if this timeout supersedes an existing timeout. */ - t = (struct timeout *)0; - for (q = timeouts; q; q = q->next) { --- -2.14.5 diff --git a/dhcp/patches/0011-Drop-unnecessary-capabilities.patch b/dhcp/patches/0011-Drop-unnecessary-capabilities.patch deleted file mode 100644 index a36c068b6..000000000 --- a/dhcp/patches/0011-Drop-unnecessary-capabilities.patch +++ /dev/null @@ -1,277 +0,0 @@ -From 291f738f341a78f8c7974a7603d1a2eaa01ebacc Mon Sep 17 00:00:00 2001 -From: Pavel Zhukov pzhukov@redhat.com -Date: Thu, 21 Feb 2019 10:30:28 +0100 -Subject: [PATCH 11/21] Drop unnecessary capabilities -Cc: pzhukov@redhat.com - -dhclient (#517649, #546765), dhcpd/dhcrelay (#699713) ---- - client/Makefile.am | 3 ++- - client/dhclient-script.8 | 10 ++++++++++ - client/dhclient.8 | 29 +++++++++++++++++++++++++++++ - client/dhclient.c | 24 ++++++++++++++++++++++++ - configure.ac | 35 +++++++++++++++++++++++++++++++++++ - relay/Makefile.am | 3 ++- - relay/dhcrelay.c | 29 +++++++++++++++++++++++++++++ - 7 files changed, 131 insertions(+), 2 deletions(-) - -diff --git a/client/Makefile.am b/client/Makefile.am -index d177159..0689185 100644 ---- a/client/Makefile.am -+++ b/client/Makefile.am -@@ -17,6 +17,7 @@ dhclient_LDADD = ../common/libdhcp.@A@ ../omapip/libomapi.@A@ \ - @BINDLIBIRSDIR@/libirs.@A@ \ - @BINDLIBDNSDIR@/libdns.@A@ \ - @BINDLIBISCCFGDIR@/libisccfg.@A@ \ -- @BINDLIBISCDIR@/libisc.@A@ -+ @BINDLIBISCDIR@/libisc.@A@ \ -+ $(CAPNG_LDADD) - man_MANS = dhclient.8 dhclient-script.8 dhclient.conf.5 dhclient.leases.5 - EXTRA_DIST = $(man_MANS) -diff --git a/client/dhclient-script.8 b/client/dhclient-script.8 -index 0db5516..2eddb8f 100644 ---- a/client/dhclient-script.8 -+++ b/client/dhclient-script.8 -@@ -243,6 +243,16 @@ repeatedly initialized to the values provided by one server, and then - the other. Assuming the information provided by both servers is - valid, this shouldn't cause any real problems, but it could be - confusing. -+.PP -+Normally, if dhclient was compiled with libcap-ng support, -+dhclient drops most capabilities immediately upon startup. -+While more secure, this greatly restricts the additional actions that -+hooks in dhclient-script can take. For example, any daemons that -+dhclient-script starts or restarts will inherit the restricted -+capabilities as well, which may interfere with their correct operation. -+Thus, the -+.BI -nc -+option can be used to prevent dhclient from dropping capabilities. - .SH SEE ALSO - dhclient(8), dhcpd(8), dhcrelay(8), dhclient.conf(5) and - dhclient.leases(5). -diff --git a/client/dhclient.8 b/client/dhclient.8 -index 6d7fbdb..0145b9f 100644 ---- a/client/dhclient.8 -+++ b/client/dhclient.8 -@@ -134,6 +134,9 @@ dhclient - Dynamic Host Configuration Protocol Client - .B -w - ] - [ -+.B -nc -+] -+[ - .B -B - ] - [ -@@ -328,6 +331,32 @@ not to exit when it doesn't find any such interfaces. The - program can then be used to notify the client when a network interface - has been added or removed, so that the client can attempt to configure an IP - address on that interface. -+.TP -+.BI -nc -+Do not drop capabilities. -+ -+Normally, if -+.B dhclient -+was compiled with libcap-ng support, -+.B dhclient -+drops most capabilities immediately upon startup. While more secure, -+this greatly restricts the additional actions that hooks in -+.B dhclient-script (8) -+can take. (For example, any daemons that -+.B dhclient-script (8) -+starts or restarts will inherit the restricted capabilities as well, -+which may interfere with their correct operation.) Thus, the -+.BI -nc -+option can be used to prevent -+.B dhclient -+from dropping capabilities. -+ -+The -+.BI -nc -+option is ignored if -+.B dhclient -+was not compiled with libcap-ng support. -+ - .TP - .BI -n - Do not configure any interfaces. This is most likely to be useful in -diff --git a/client/dhclient.c b/client/dhclient.c -index a86ab9e..5d3f5bc 100644 ---- a/client/dhclient.c -+++ b/client/dhclient.c -@@ -41,6 +41,10 @@ - #include <sys/wait.h> - #include <limits.h> - -+#ifdef HAVE_LIBCAP_NG -+#include <cap-ng.h> -+#endif -+ - /* - * Defined in stdio.h when _GNU_SOURCE is set, but we don't want to define - * that when building ISC code. -@@ -266,6 +270,9 @@ main(int argc, char **argv) { - int timeout_arg = 0; - char *arg_conf = NULL; - int arg_conf_len = 0; -+#ifdef HAVE_LIBCAP_NG -+ int keep_capabilities = 0; -+#endif - - /* Initialize client globals. */ - memset(&default_duid, 0, sizeof(default_duid)); -@@ -665,6 +672,10 @@ main(int argc, char **argv) { - - dhclient_request_options = argv[i]; - -+ } else if (!strcmp(argv[i], "-nc")) { -+#ifdef HAVE_LIBCAP_NG -+ keep_capabilities = 1; -+#endif - } else if (argv[i][0] == '-') { - usage("Unknown command: %s", argv[i]); - } else if (interfaces_requested < 0) { -@@ -725,6 +736,19 @@ main(int argc, char **argv) { - path_dhclient_script = s; - } - -+#ifdef HAVE_LIBCAP_NG -+ /* Drop capabilities */ -+ if (!keep_capabilities) { -+ capng_clear(CAPNG_SELECT_CAPS); -+ capng_update(CAPNG_ADD, CAPNG_EFFECTIVE|CAPNG_PERMITTED, -+ CAP_DAC_OVERRIDE); // Drop this someday -+ capng_updatev(CAPNG_ADD, CAPNG_EFFECTIVE|CAPNG_PERMITTED, -+ CAP_NET_ADMIN, CAP_NET_RAW, -+ CAP_NET_BIND_SERVICE, CAP_SYS_ADMIN, -1); -+ capng_apply(CAPNG_SELECT_CAPS); -+ } -+#endif -+ - /* Set up the initial dhcp option universe. */ - initialize_common_option_spaces(); - -diff --git a/configure.ac b/configure.ac -index a797438..15fc0d7 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -612,6 +612,41 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[void foo() __attribute__((noreturn)); - # Look for optional headers. - AC_CHECK_HEADERS(sys/socket.h net/if_dl.h net/if6.h regex.h) - -+# look for capabilities library -+AC_ARG_WITH(libcap-ng, -+ [ --with-libcap-ng=[auto/yes/no] Add Libcap-ng support [default=auto]],, -+ with_libcap_ng=auto) -+ -+# Check for Libcap-ng API -+# -+# libcap-ng detection -+if test x$with_libcap_ng = xno ; then -+ have_libcap_ng=no; -+else -+ # Start by checking for header file -+ AC_CHECK_HEADER(cap-ng.h, capng_headers=yes, capng_headers=no) -+ -+ # See if we have libcap-ng library -+ AC_CHECK_LIB(cap-ng, capng_clear, -+ CAPNG_LDADD=-lcap-ng,) -+ -+ # Check results are usable -+ if test x$with_libcap_ng = xyes -a x$CAPNG_LDADD = x ; then -+ AC_MSG_ERROR(libcap-ng support was requested and the library was not found) -+ fi -+ if test x$CAPNG_LDADD != x -a $capng_headers = no ; then -+ AC_MSG_ERROR(libcap-ng libraries found but headers are missing) -+ fi -+fi -+AC_SUBST(CAPNG_LDADD) -+AC_MSG_CHECKING(whether to use libcap-ng) -+if test x$CAPNG_LDADD != x ; then -+ AC_DEFINE(HAVE_LIBCAP_NG,1,[libcap-ng support]) -+ AC_MSG_RESULT(yes) -+else -+ AC_MSG_RESULT(no) -+fi -+ - # Solaris needs some libraries for functions - AC_SEARCH_LIBS(socket, [socket]) - AC_SEARCH_LIBS(inet_ntoa, [nsl]) -diff --git a/relay/Makefile.am b/relay/Makefile.am -index 2ba5979..8900e0b 100644 ---- a/relay/Makefile.am -+++ b/relay/Makefile.am -@@ -6,7 +6,8 @@ dhcrelay_LDADD = ../common/libdhcp.@A@ ../omapip/libomapi.@A@ \ - @BINDLIBIRSDIR@/libirs.@A@ \ - @BINDLIBDNSDIR@/libdns.@A@ \ - @BINDLIBISCCFGDIR@/libisccfg.@A@ \ -- @BINDLIBISCDIR@/libisc.@A@ -+ @BINDLIBISCDIR@/libisc.@A@ \ -+ $(CAPNG_LDADD) - man_MANS = dhcrelay.8 - EXTRA_DIST = $(man_MANS) - -diff --git a/relay/dhcrelay.c b/relay/dhcrelay.c -index ea1be18..7b4f4f1 100644 ---- a/relay/dhcrelay.c -+++ b/relay/dhcrelay.c -@@ -32,6 +32,11 @@ - #include <sys/time.h> - #include <isc/file.h> - -+#ifdef HAVE_LIBCAP_NG -+# include <cap-ng.h> -+ int keep_capabilities = 0; -+#endif -+ - TIME default_lease_time = 43200; /* 12 hours... */ - TIME max_lease_time = 86400; /* 24 hours... */ - struct tree_cache *global_options[256]; -@@ -590,6 +595,10 @@ main(int argc, char **argv) { - if (++i == argc) - usage(use_noarg, argv[i-1]); - dhcrelay_sub_id = argv[i]; -+#endif -+ } else if (!strcmp(argv[i], "-nc")) { -+#ifdef HAVE_LIBCAP_NG -+ keep_capabilities = 1; - #endif - } else if (!strcmp(argv[i], "-pf")) { - if (++i == argc) -@@ -660,6 +669,17 @@ main(int argc, char **argv) { - #endif - } - -+#ifdef HAVE_LIBCAP_NG -+ /* Drop capabilities */ -+ if (!keep_capabilities) { -+ capng_clear(CAPNG_SELECT_BOTH); -+ capng_updatev(CAPNG_ADD, CAPNG_EFFECTIVE|CAPNG_PERMITTED, -+ CAP_NET_RAW, CAP_NET_BIND_SERVICE, -1); -+ capng_apply(CAPNG_SELECT_BOTH); -+ log_info ("Dropped all unnecessary capabilities."); -+ } -+#endif -+ - if (!quiet) { - log_info("%s %s", message, PACKAGE_VERSION); - log_info(copyright); -@@ -816,6 +836,15 @@ main(int argc, char **argv) { - signal(SIGTERM, dhcp_signal_handler); /* kill */ - #endif - -+#ifdef HAVE_LIBCAP_NG -+ /* Drop all capabilities */ -+ if (!keep_capabilities) { -+ capng_clear(CAPNG_SELECT_BOTH); -+ capng_apply(CAPNG_SELECT_BOTH); -+ log_info ("Dropped all capabilities."); -+ } -+#endif -+ - /* Start dispatching packets and timeouts... */ - dispatch(); - --- -2.14.5 diff --git a/dhcp/patches/0012-RFC-3442-Classless-Static-Route-Option-for-DHCPv4-51.patch b/dhcp/patches/0012-RFC-3442-Classless-Static-Route-Option-for-DHCPv4-51.patch deleted file mode 100644 index 6ab3c6b81..000000000 --- a/dhcp/patches/0012-RFC-3442-Classless-Static-Route-Option-for-DHCPv4-51.patch +++ /dev/null @@ -1,438 +0,0 @@ -From 2756fcc3f88c27d0e12e72dbdd2906fbf45f2362 Mon Sep 17 00:00:00 2001 -From: Pavel Zhukov pzhukov@redhat.com -Date: Thu, 21 Feb 2019 10:32:35 +0100 -Subject: [PATCH 12/21] RFC 3442 - Classless Static Route Option for DHCPv4 - (#516325) -Cc: pzhukov@redhat.com - -(Submitted to dhcp-bugs@isc.org - [ISC-Bugs #24572]) ---- - client/clparse.c | 13 ++++++++++-- - common/dhcp-options.5 | 43 +++++++++++++++++++++++++++++++++++++++ - common/inet.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++++ - common/options.c | 49 +++++++++++++++++++++++++++++++++++++++++++- - common/parse.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++- - common/tables.c | 2 ++ - includes/dhcp.h | 1 + - includes/dhcpd.h | 2 ++ - includes/dhctoken.h | 5 +++-- - 9 files changed, 219 insertions(+), 6 deletions(-) - -diff --git a/client/clparse.c b/client/clparse.c -index 44387ed..862e4f9 100644 ---- a/client/clparse.c -+++ b/client/clparse.c -@@ -31,7 +31,7 @@ - - struct client_config top_level_config; - --#define NUM_DEFAULT_REQUESTED_OPTS 14 -+#define NUM_DEFAULT_REQUESTED_OPTS 15 - /* There can be 2 extra requested options for DHCPv4-over-DHCPv6. */ - struct option *default_requested_options[NUM_DEFAULT_REQUESTED_OPTS + 2 + 1]; - -@@ -87,7 +87,11 @@ isc_result_t read_client_conf () - dhcp_universe.code_hash, &code, 0, MDL); - - /* 4 */ -- code = DHO_ROUTERS; -+ /* The Classless Static Routes option code MUST appear in the parameter -+ * request list prior to both the Router option code and the Static -+ * Routes option code, if present. (RFC3442) -+ */ -+ code = DHO_CLASSLESS_STATIC_ROUTES; - option_code_hash_lookup(&default_requested_options[3], - dhcp_universe.code_hash, &code, 0, MDL); - -@@ -141,6 +145,11 @@ isc_result_t read_client_conf () - option_code_hash_lookup(&default_requested_options[13], - dhcp_universe.code_hash, &code, 0, MDL); - -+ /* 15 */ -+ code = DHO_ROUTERS; -+ option_code_hash_lookup(&default_requested_options[14], -+ dhcp_universe.code_hash, &code, 0, MDL); -+ - for (code = 0 ; code < NUM_DEFAULT_REQUESTED_OPTS ; code++) { - if (default_requested_options[code] == NULL) - log_fatal("Unable to find option definition for " -diff --git a/common/dhcp-options.5 b/common/dhcp-options.5 -index d9e1197..2343b19 100644 ---- a/common/dhcp-options.5 -+++ b/common/dhcp-options.5 -@@ -110,6 +110,26 @@ hexadecimal, separated by colons. For example: - or - option dhcp-client-identifier 43:4c:49:45:54:2d:46:4f:4f; - .fi -+.PP -+The -+.B destination-descriptor -+describe the IP subnet number and subnet mask -+of a particular destination using a compact encoding. This encoding -+consists of one octet describing the width of the subnet mask, -+followed by all the significant octets of the subnet number. -+The following table contains some examples of how various subnet -+number/mask combinations can be encoded: -+.nf -+.sp 1 -+Subnet number Subnet mask Destination descriptor -+0 0 0 -+10.0.0.0 255.0.0.0 8.10 -+10.0.0.0 255.255.255.0 24.10.0.0 -+10.17.0.0 255.255.0.0 16.10.17 -+10.27.129.0 255.255.255.0 24.10.27.129 -+10.229.0.128 255.255.255.128 25.10.229.0.128 -+10.198.122.47 255.255.255.255 32.10.198.122.47 -+.fi - .SH SETTING OPTION VALUES USING EXPRESSIONS - Sometimes it's helpful to be able to set the value of a DHCP option - based on some value that the client has sent. To do this, you can -@@ -1086,6 +1106,29 @@ dhclient-script will create routes: - .RE - .PP - .nf -+.B option \fBclassless-static-routes\fR \fIdestination-descriptor ip-address\fR -+ [\fB,\fR \fIdestination-descriptor ip-address\fR...]\fB;\fR -+.fi -+.RS 0.25i -+.PP -+This option (see RFC3442) specifies a list of classless static routes -+that the client should install in its routing cache. -+.PP -+This option can contain one or more static routes, each of which -+consists of a destination descriptor and the IP address of the router -+that should be used to reach that destination. -+.PP -+Many clients may not implement the Classless Static Routes option. -+DHCP server administrators should therefore configure their DHCP -+servers to send both a Router option and a Classless Static Routes -+option, and should specify the default router(s) both in the Router -+option and in the Classless Static Routes option. -+.PP -+If the DHCP server returns both a Classless Static Routes option and -+a Router option, the DHCP client ignores the Router option. -+.RE -+.PP -+.nf - .B option \fBstreettalk-directory-assistance-server\fR \fIip-address\fR - [\fB,\fR \fIip-address\fR...]\fB;\fR - .fi -diff --git a/common/inet.c b/common/inet.c -index c4da73c..981fb92 100644 ---- a/common/inet.c -+++ b/common/inet.c -@@ -519,6 +519,60 @@ free_iaddrcidrnetlist(struct iaddrcidrnetlist **result) { - return ISC_R_SUCCESS; - } - -+static const char * -+inet_ntopdd(const unsigned char *src, unsigned srclen, char *dst, size_t size) -+{ -+ char tmp[sizeof("32.255.255.255.255")]; -+ int len; -+ -+ switch (srclen) { -+ case 2: -+ len = sprintf (tmp, "%u.%u", src[0], src[1]); -+ break; -+ case 3: -+ len = sprintf (tmp, "%u.%u.%u", src[0], src[1], src[2]); -+ break; -+ case 4: -+ len = sprintf (tmp, "%u.%u.%u.%u", src[0], src[1], src[2], src[3]); -+ break; -+ case 5: -+ len = sprintf (tmp, "%u.%u.%u.%u.%u", src[0], src[1], src[2], src[3], src[4]); -+ break; -+ default: -+ return NULL; -+ } -+ if (len < 0) -+ return NULL; -+ -+ if (len > size) { -+ errno = ENOSPC; -+ return NULL; -+ } -+ -+ return strcpy (dst, tmp); -+} -+ -+/* pdestdesc() turns an iaddr structure into a printable dest. descriptor */ -+const char * -+pdestdesc(const struct iaddr addr) { -+ static char pbuf[sizeof("255.255.255.255.255")]; -+ -+ if (addr.len == 0) { -+ return "<null destination descriptor>"; -+ } -+ if (addr.len == 1) { -+ return "0"; -+ } -+ if ((addr.len >= 2) && (addr.len <= 5)) { -+ return inet_ntopdd(addr.iabuf, addr.len, pbuf, sizeof(pbuf)); -+ } -+ -+ log_fatal("pdestdesc():%s:%d: Invalid destination descriptor length %d.", -+ MDL, addr.len); -+ /* quell compiler warnings */ -+ return NULL; -+} -+ - /* piaddr() turns an iaddr structure into a printable address. */ - /* XXX: should use a const pointer rather than passing the structure */ - const char * -diff --git a/common/options.c b/common/options.c -index fc0e088..3034cf0 100644 ---- a/common/options.c -+++ b/common/options.c -@@ -729,7 +729,11 @@ cons_options(struct packet *inpacket, struct dhcp_packet *outpacket, - * packet. - */ - priority_list[priority_len++] = DHO_SUBNET_MASK; -- priority_list[priority_len++] = DHO_ROUTERS; -+ if (lookup_option(&dhcp_universe, cfg_options, -+ DHO_CLASSLESS_STATIC_ROUTES)) -+ priority_list[priority_len++] = DHO_CLASSLESS_STATIC_ROUTES; -+ else -+ priority_list[priority_len++] = DHO_ROUTERS; - priority_list[priority_len++] = DHO_DOMAIN_NAME_SERVERS; - priority_list[priority_len++] = DHO_HOST_NAME; - priority_list[priority_len++] = DHO_FQDN; -@@ -1804,6 +1808,7 @@ const char *pretty_print_option (option, data, len, emit_commas, emit_quotes) - unsigned long tval; - isc_boolean_t a_array = ISC_FALSE; - int len_used; -+ unsigned int octets = 0; - - if (emit_commas) - comma = ','; -@@ -1812,6 +1817,7 @@ const char *pretty_print_option (option, data, len, emit_commas, emit_quotes) - - memset (enumbuf, 0, sizeof enumbuf); - -+ if (option->format[0] != 'R') { /* see explanation lower */ - /* Figure out the size of the data. */ - for (l = i = 0; option -> format [i]; i++, l++) { - if (l >= sizeof(fmtbuf) - 1) -@@ -2004,6 +2010,33 @@ const char *pretty_print_option (option, data, len, emit_commas, emit_quotes) - if (numhunk < 0) - numhunk = 1; - -+ } else { /* option->format[i] == 'R') */ -+ /* R (destination descriptor) has variable length. -+ * We can find it only in classless static route option, -+ * so we are for sure parsing classless static route option now. -+ * We go through whole the option to check whether there are no -+ * missing/extra bytes. -+ * I didn't find out how to improve the existing code and that's the -+ * reason for this separate 'else' where I do my own checkings. -+ * I know it's little bit unsystematic, but it works. -+ */ -+ numhunk = 0; -+ numelem = 2; /* RI */ -+ fmtbuf[0]='R'; fmtbuf[1]='I'; fmtbuf[2]=0; -+ for (i =0; i < len; i = i + octets + 5) { -+ if (data[i] > 32) { /* subnet mask width */ -+ log_error ("wrong subnet mask width in destination descriptor"); -+ break; -+ } -+ numhunk++; -+ octets = ((data[i]+7) / 8); -+ } -+ if (i != len) { -+ log_error ("classless static routes option has wrong size or " -+ "there's some garbage in format"); -+ } -+ } -+ - /* Cycle through the array (or hunk) printing the data. */ - for (i = 0; i < numhunk; i++) { - if ((a_array == ISC_TRUE) && (i != 0) && (numelem > 0)) { -@@ -2159,6 +2192,20 @@ const char *pretty_print_option (option, data, len, emit_commas, emit_quotes) - strcpy(op, piaddr(iaddr)); - dp += 4; - break; -+ -+ case 'R': -+ if (dp[0] <= 32) -+ iaddr.len = (((dp[0]+7)/8)+1); -+ else { -+ log_error ("wrong subnet mask width in destination descriptor"); -+ return "<error>"; -+ } -+ -+ memcpy(iaddr.iabuf, dp, iaddr.len); -+ strcpy(op, pdestdesc(iaddr)); -+ dp += iaddr.len; -+ break; -+ - case '6': - iaddr.len = 16; - memcpy(iaddr.iabuf, dp, 16); -diff --git a/common/parse.c b/common/parse.c -index 3ac4ebf..f17bc0b 100644 ---- a/common/parse.c -+++ b/common/parse.c -@@ -344,6 +344,39 @@ int parse_ip_addr (cfile, addr) - return 0; - } - -+/* -+ * destination-descriptor :== NUMBER DOT NUMBER | -+ * NUMBER DOT NUMBER DOT NUMBER | -+ * NUMBER DOT NUMBER DOT NUMBER DOT NUMBER | -+ * NUMBER DOT NUMBER DOT NUMBER DOT NUMBER DOT NUMBER -+ */ -+ -+int parse_destination_descriptor (cfile, addr) -+ struct parse *cfile; -+ struct iaddr *addr; -+{ -+ unsigned int mask_width, dest_dest_len; -+ addr -> len = 0; -+ if (parse_numeric_aggregate (cfile, addr -> iabuf, -+ &addr -> len, DOT, 10, 8)) { -+ mask_width = (unsigned int)addr->iabuf[0]; -+ dest_dest_len = (((mask_width+7)/8)+1); -+ if (mask_width > 32) { -+ parse_warn (cfile, -+ "subnet mask width (%u) greater than 32.", mask_width); -+ } -+ else if (dest_dest_len != addr->len) { -+ parse_warn (cfile, -+ "destination descriptor with subnet mask width %u " -+ "should have %u octets, but has %u octets.", -+ mask_width, dest_dest_len, addr->len); -+ } -+ -+ return 1; -+ } -+ return 0; -+} -+ - /* - * Return true if every character in the string is hexadecimal. - */ -@@ -724,8 +757,10 @@ unsigned char *parse_numeric_aggregate (cfile, buf, - if (count) { - token = peek_token (&val, (unsigned *)0, cfile); - if (token != separator) { -- if (!*max) -+ if (!*max) { -+ *max = count; - break; -+ } - if (token != RBRACE && token != LBRACE) - token = next_token (&val, - (unsigned *)0, -@@ -1672,6 +1707,9 @@ int parse_option_code_definition (cfile, option) - case IP_ADDRESS: - type = 'I'; - break; -+ case DESTINATION_DESCRIPTOR: -+ type = 'R'; -+ break; - case IP6_ADDRESS: - type = '6'; - break; -@@ -5101,6 +5139,15 @@ int parse_option_token (rv, cfile, fmt, expr, uniform, lookups) - } - break; - -+ case 'R': /* destination descriptor */ -+ if (!parse_destination_descriptor (cfile, &addr)) { -+ return 0; -+ } -+ if (!make_const_data (&t, addr.iabuf, addr.len, 0, 1, MDL)) { -+ return 0; -+ } -+ break; -+ - case '6': /* IPv6 address. */ - if (!parse_ip6_addr(cfile, &addr)) { - return 0; -@@ -5378,6 +5425,13 @@ int parse_option_decl (oc, cfile) - goto exit; - len = ip_addr.len; - dp = ip_addr.iabuf; -+ goto alloc; -+ -+ case 'R': /* destination descriptor */ -+ if (!parse_destination_descriptor (cfile, &ip_addr)) -+ goto exit; -+ len = ip_addr.len; -+ dp = ip_addr.iabuf; - - alloc: - if (hunkix + len > sizeof hunkbuf) { -diff --git a/common/tables.c b/common/tables.c -index d2294c0..f1be07d 100644 ---- a/common/tables.c -+++ b/common/tables.c -@@ -45,6 +45,7 @@ HASH_FUNCTIONS (option_code, const unsigned *, struct option, - Format codes: - - I - IPv4 address -+ R - destination descriptor (RFC3442) - 6 - IPv6 address - l - 32-bit signed integer - L - 32-bit unsigned integer -@@ -216,6 +217,7 @@ static struct option dhcp_options[] = { - #endif - { "subnet-selection", "I", &dhcp_universe, 118, 1 }, - { "domain-search", "D", &dhcp_universe, 119, 1 }, -+ { "classless-static-routes", "RIA", &dhcp_universe, 121, 1 }, - { "vivco", "Evendor-class.", &dhcp_universe, 124, 1 }, - { "vivso", "Evendor.", &dhcp_universe, 125, 1 }, - #if 0 -diff --git a/includes/dhcp.h b/includes/dhcp.h -index 0a74137..95bf539 100644 ---- a/includes/dhcp.h -+++ b/includes/dhcp.h -@@ -158,6 +158,7 @@ struct dhcp_packet { - #define DHO_ASSOCIATED_IP 92 - #define DHO_SUBNET_SELECTION 118 /* RFC3011! */ - #define DHO_DOMAIN_SEARCH 119 /* RFC3397 */ -+#define DHO_CLASSLESS_STATIC_ROUTES 121 /* RFC3442 */ - #define DHO_VIVCO_SUBOPTIONS 124 - #define DHO_VIVSO_SUBOPTIONS 125 - -diff --git a/includes/dhcpd.h b/includes/dhcpd.h -index 3632a6b..2ac39ae 100644 ---- a/includes/dhcpd.h -+++ b/includes/dhcpd.h -@@ -2951,6 +2951,7 @@ isc_result_t range2cidr(struct iaddrcidrnetlist **result, - const struct iaddr *lo, const struct iaddr *hi); - isc_result_t free_iaddrcidrnetlist(struct iaddrcidrnetlist **result); - const char *piaddr (struct iaddr); -+const char *pdestdesc (struct iaddr); - char *piaddrmask(struct iaddr *, struct iaddr *); - char *piaddrcidr(const struct iaddr *, unsigned int); - u_int16_t validate_port(char *); -@@ -3169,6 +3170,7 @@ void parse_client_lease_declaration (struct parse *, - int parse_option_decl (struct option_cache **, struct parse *); - void parse_string_list (struct parse *, struct string_list **, int); - int parse_ip_addr (struct parse *, struct iaddr *); -+int parse_destination_descriptor (struct parse *, struct iaddr *); - int parse_ip_addr_with_subnet(struct parse *, struct iaddrmatch *); - void parse_reject_statement (struct parse *, struct client_config *); - -diff --git a/includes/dhctoken.h b/includes/dhctoken.h -index 7e7215a..b4d93ba 100644 ---- a/includes/dhctoken.h -+++ b/includes/dhctoken.h -@@ -376,8 +376,9 @@ enum dhcp_token { - LEASE_ID_FORMAT = 676, - TOKEN_HEX = 677, - TOKEN_OCTAL = 678, -- KEY_ALGORITHM = 679 -- BOOTP_BROADCAST_ALWAYS = 680 -+ KEY_ALGORITHM = 679, -+ BOOTP_BROADCAST_ALWAYS = 680, -+ DESTINATION_DESCRIPTOR = 681 - }; - - #define is_identifier(x) ((x) >= FIRST_TOKEN && \ --- -2.14.5 diff --git a/dhcp/patches/0013-DHCPv6-over-PPP-support-626514.patch b/dhcp/patches/0013-DHCPv6-over-PPP-support-626514.patch deleted file mode 100644 index a0d4bf3bd..000000000 --- a/dhcp/patches/0013-DHCPv6-over-PPP-support-626514.patch +++ /dev/null @@ -1,175 +0,0 @@ -From 43332b29f0c8fef3ddd225e31f5f2b4ff8273b36 Mon Sep 17 00:00:00 2001 -From: Pavel Zhukov pzhukov@redhat.com -Date: Thu, 21 Feb 2019 10:33:06 +0100 -Subject: [PATCH 13/21] DHCPv6 over PPP support (#626514) -Cc: pzhukov@redhat.com - ---- - client/dhc6.c | 3 ++- - client/dhclient.c | 17 ++++++++++++++--- - common/bpf.c | 16 ++++++++++++++++ - common/lpf.c | 16 ++++++++++++++++ - includes/dhcp.h | 2 ++ - includes/dhcpd.h | 2 +- - server/dhcpv6.c | 3 +++ - 7 files changed, 54 insertions(+), 5 deletions(-) - -diff --git a/client/dhc6.c b/client/dhc6.c -index 16a0838..3171828 100644 ---- a/client/dhc6.c -+++ b/client/dhc6.c -@@ -5744,7 +5744,8 @@ make_client6_options(struct client_state *client, struct option_state **op, - */ - if ((oc = lookup_option(&dhcpv6_universe, *op, - D6O_CLIENTID)) == NULL) { -- if (!option_cache(&oc, &default_duid, NULL, clientid_option, -+ if (default_duid.len == 0 || -+ !option_cache(&oc, &default_duid, NULL, clientid_option, - MDL)) - log_fatal("Failure assembling a DUID."); - -diff --git a/client/dhclient.c b/client/dhclient.c -index 5d3f5bc..301132c 100644 ---- a/client/dhclient.c -+++ b/client/dhclient.c -@@ -1202,8 +1202,8 @@ main(int argc, char **argv) { - if (default_duid.buffer != NULL) - data_string_forget(&default_duid, MDL); - -- form_duid(&default_duid, MDL); -- write_duid(&default_duid); -+ if (form_duid(&default_duid, MDL) == ISC_R_SUCCESS) -+ write_duid(&default_duid); - } - } - -@@ -3956,7 +3956,7 @@ write_options(struct client_state *client, struct option_state *options, - * is not how it is intended. Upcoming rearchitecting the client should - * address this "one daemon model." - */ --void -+isc_result_t - form_duid(struct data_string *duid, const char *file, int line) - { - struct interface_info *ip; -@@ -3969,6 +3969,15 @@ form_duid(struct data_string *duid, const char *file, int line) - if (ip == NULL) - log_fatal("Impossible condition at %s:%d.", MDL); - -+ while (ip && ip->hw_address.hbuf[0] == HTYPE_RESERVED) { -+ /* Try the other interfaces */ -+ log_debug("Cannot form default DUID from interface %s.", ip->name); -+ ip = ip->next; -+ } -+ if (ip == NULL) { -+ return ISC_R_UNEXPECTED; -+ } -+ - if ((ip->hw_address.hlen == 0) || - (ip->hw_address.hlen > sizeof(ip->hw_address.hbuf))) - log_fatal("Impossible hardware address length at %s:%d.", MDL); -@@ -4014,6 +4023,8 @@ form_duid(struct data_string *duid, const char *file, int line) - log_info("Created duid %s.", str); - dfree(str, MDL); - } -+ -+ return ISC_R_SUCCESS; - } - - /* Write the default DUID to the lease store. */ -diff --git a/common/bpf.c b/common/bpf.c -index 67b6d64..ffbd09a 100644 ---- a/common/bpf.c -+++ b/common/bpf.c -@@ -650,6 +650,22 @@ get_hw_addr(const char *name, struct hardware *hw) { - memcpy(&hw->hbuf[1], LLADDR(sa), sa->sdl_alen); - break; - #endif /* IFT_FDDI */ -+#if defined(IFT_PPP) -+ case IFT_PPP: -+ if (local_family != AF_INET6) -+ log_fatal("Unsupported device type %d for "%s"", -+ sa->sdl_type, name); -+ hw->hlen = 0; -+ hw->hbuf[0] = HTYPE_RESERVED; -+ /* 0xdeadbeef should never occur on the wire, -+ * and is a signature that something went wrong. -+ */ -+ hw->hbuf[1] = 0xde; -+ hw->hbuf[2] = 0xad; -+ hw->hbuf[3] = 0xbe; -+ hw->hbuf[4] = 0xef; -+ break; -+#endif - default: - log_fatal("Unsupported device type %d for "%s"", - sa->sdl_type, name); -diff --git a/common/lpf.c b/common/lpf.c -index 82a279b..b0ed01c 100644 ---- a/common/lpf.c -+++ b/common/lpf.c -@@ -563,6 +563,22 @@ get_hw_addr(const char *name, struct hardware *hw) { - hw->hbuf[0] = HTYPE_FDDI; - memcpy(&hw->hbuf[1], sa->sa_data, 6); - break; -+#if defined(ARPHRD_PPP) -+ case ARPHRD_PPP: -+ if (local_family != AF_INET6) -+ log_fatal("Unsupported device type %d for "%s"", -+ sa->sa_family, name); -+ hw->hlen = 0; -+ hw->hbuf[0] = HTYPE_RESERVED; -+ /* 0xdeadbeef should never occur on the wire, -+ * and is a signature that something went wrong. -+ */ -+ hw->hbuf[1] = 0xde; -+ hw->hbuf[2] = 0xad; -+ hw->hbuf[3] = 0xbe; -+ hw->hbuf[4] = 0xef; -+ break; -+#endif - default: - log_fatal("Unsupported device type %ld for "%s"", - (long int)sa->sa_family, name); -diff --git a/includes/dhcp.h b/includes/dhcp.h -index 95bf539..4cc547a 100644 ---- a/includes/dhcp.h -+++ b/includes/dhcp.h -@@ -80,6 +80,8 @@ struct dhcp_packet { - * is no standard for this so we - * just steal a type */ - -+#define HTYPE_RESERVED 0 /* RFC 5494 */ -+ - /* Magic cookie validating dhcp options field (and bootp vendor - extensions field). */ - #define DHCP_OPTIONS_COOKIE "\143\202\123\143" -diff --git a/includes/dhcpd.h b/includes/dhcpd.h -index 2ac39ae..faa9251 100644 ---- a/includes/dhcpd.h -+++ b/includes/dhcpd.h -@@ -3051,7 +3051,7 @@ void client_dns_remove(struct client_state *client, struct iaddr *addr); - - void dhcpv4_client_assignments(void); - void dhcpv6_client_assignments(void); --void form_duid(struct data_string *duid, const char *file, int line); -+isc_result_t form_duid(struct data_string *duid, const char *file, int line); - - void dhcp4o6_start(void); - -diff --git a/server/dhcpv6.c b/server/dhcpv6.c -index a7110f9..c5ce7e8 100644 ---- a/server/dhcpv6.c -+++ b/server/dhcpv6.c -@@ -482,6 +482,9 @@ generate_new_server_duid(void) { - if (p->hw_address.hlen > 0) { - break; - } -+ if (p->next == NULL && p->hw_address.hbuf[0] == HTYPE_RESERVED) { -+ log_error("Can not generate DUID from interfaces which do not have hardware addresses, please configure server-duid!"); -+ } - } - if (p == NULL) { - return ISC_R_UNEXPECTED; --- -2.14.5 diff --git a/dhcp/patches/0014-IPoIB-support-660681.patch b/dhcp/patches/0014-IPoIB-support-660681.patch deleted file mode 100644 index 7e3a43a95..000000000 --- a/dhcp/patches/0014-IPoIB-support-660681.patch +++ /dev/null @@ -1,600 +0,0 @@ -From de8468cf16c0fa9d01412446fcf1d44ccd0fd411 Mon Sep 17 00:00:00 2001 -From: Pavel Zhukov pzhukov@redhat.com -Date: Thu, 21 Feb 2019 10:34:21 +0100 -Subject: [PATCH 14/21] IPoIB support (#660681) -Cc: pzhukov@redhat.com - -(Submitted to dhcp-bugs@isc.org - [ISC-Bugs #24249]) ---- - client/dhclient.c | 32 +++++++ - common/bpf.c | 32 +++++++ - common/discover.c | 4 +- - common/lpf.c | 262 +++++++++++++++++++++++++++++++++++++++++++++++++----- - common/socket.c | 8 +- - includes/dhcpd.h | 6 +- - 6 files changed, 315 insertions(+), 29 deletions(-) - -diff --git a/client/dhclient.c b/client/dhclient.c -index 301132c..dc9080e 100644 ---- a/client/dhclient.c -+++ b/client/dhclient.c -@@ -205,6 +205,8 @@ static const char use_v6command[] = "Command not used for DHCPv4: %s"; - - #define DHCLIENT_USAGEH "{--version|--help|-h}" - -+static void setup_ib_interface(struct interface_info *ip); -+ - static void - usage(const char *sfmt, const char *sarg) - { -@@ -1191,6 +1193,13 @@ main(int argc, char **argv) { - } - srandom(seed + cur_time + (unsigned)getpid()); - -+ /* Setup specific Infiniband options */ -+ for (ip = interfaces; ip; ip = ip->next) { -+ if (ip->client && -+ (ip->hw_address.hbuf[0] == HTYPE_INFINIBAND)) { -+ setup_ib_interface(ip); -+ } -+ } - - /* - * Establish a default DUID. We always do so for v6 and -@@ -1486,6 +1495,29 @@ int find_subnet (struct subnet **sp, - return 0; - } - -+static void setup_ib_interface(struct interface_info *ip) -+{ -+ struct group *g; -+ -+ /* Set the broadcast flag */ -+ ip->client->config->bootp_broadcast_always = 1; -+ -+ /* -+ * Find out if a dhcp-client-identifier option was specified either -+ * in the config file or on the command line -+ */ -+ for (g = ip->client->config->on_transmission; g != NULL; g = g->next) { -+ if ((g->statements != NULL) && -+ (strcmp(g->statements->data.option->option->name, -+ "dhcp-client-identifier") == 0)) { -+ return; -+ } -+ } -+ -+ /* No client ID specified */ -+ log_fatal("dhcp-client-identifier must be specified for InfiniBand"); -+} -+ - /* Individual States: - * - * Each routine is called from the dhclient_state_machine() in one of -diff --git a/common/bpf.c b/common/bpf.c -index ffbd09a..568e3d9 100644 ---- a/common/bpf.c -+++ b/common/bpf.c -@@ -237,11 +237,43 @@ int dhcp_bpf_relay_filter_len = - sizeof dhcp_bpf_relay_filter / sizeof (struct bpf_insn); - #endif - -+/* Packet filter program for DHCP over Infiniband. -+ * -+ * XXX -+ * Changes to the filter program may require changes to the constant offsets -+ * used in lpf_gen_filter_setup to patch the port in the BPF program! -+ * XXX -+ */ -+struct bpf_insn dhcp_ib_bpf_filter [] = { -+ /* Packet filter for Infiniband */ -+ /* Make sure it's a UDP packet... */ -+ BPF_STMT(BPF_LD + BPF_B + BPF_ABS, 9), -+ BPF_JUMP(BPF_JMP + BPF_JEQ + BPF_K, IPPROTO_UDP, 0, 6), -+ -+ /* Make sure this isn't a fragment... */ -+ BPF_STMT(BPF_LD + BPF_H + BPF_ABS, 6), -+ BPF_JUMP(BPF_JMP + BPF_JSET + BPF_K, 0x1fff, 4, 0), -+ -+ /* Get the IP header length... */ -+ BPF_STMT(BPF_LDX + BPF_B + BPF_MSH, 0), -+ -+ /* Make sure it's to the right port... */ -+ BPF_STMT(BPF_LD + BPF_H + BPF_IND, 2), -+ BPF_JUMP(BPF_JMP + BPF_JEQ + BPF_K, 67, 0, 1), -+ -+ /* If we passed all the tests, ask for the whole packet. */ -+ BPF_STMT(BPF_RET + BPF_K, (u_int)-1), -+ -+ /* Otherwise, drop it. */ -+ BPF_STMT(BPF_RET + BPF_K, 0), -+}; -+ - #if defined (DEC_FDDI) - struct bpf_insn *bpf_fddi_filter = NULL; - #endif - - int dhcp_bpf_filter_len = sizeof dhcp_bpf_filter / sizeof (struct bpf_insn); -+int dhcp_ib_bpf_filter_len = sizeof dhcp_ib_bpf_filter / sizeof (struct bpf_insn); - #if defined (HAVE_TR_SUPPORT) - struct bpf_insn dhcp_bpf_tr_filter [] = { - /* accept all token ring packets due to variable length header */ -diff --git a/common/discover.c b/common/discover.c -index 6ef8852..65881fc 100644 ---- a/common/discover.c -+++ b/common/discover.c -@@ -894,7 +894,7 @@ discover_interfaces(int state) { - if_register_send(tmp); - } else { - /* get_hw_addr() was called by register. */ -- get_hw_addr(tmp->name, &tmp->hw_address); -+ get_hw_addr(tmp); - } - break; - #ifdef DHCPv6 -@@ -907,7 +907,7 @@ discover_interfaces(int state) { - so now we have to call it explicitly - to not leave the hardware address unknown - (some code expects it cannot be. */ -- get_hw_addr(tmp->name, &tmp->hw_address); -+ get_hw_addr(tmp); - } else { - if_register_linklocal6(tmp); - } -diff --git a/common/lpf.c b/common/lpf.c -index b0ed01c..b732a86 100644 ---- a/common/lpf.c -+++ b/common/lpf.c -@@ -45,6 +45,17 @@ - #include <sys/ioctl.h> - #include <sys/socket.h> - #include <net/if.h> -+#include <ifaddrs.h> -+ -+/* Default broadcast address for IPoIB */ -+static unsigned char default_ib_bcast_addr[20] = { -+ 0x00, 0xff, 0xff, 0xff, -+ 0xff, 0x12, 0x40, 0x1b, -+ 0x00, 0x00, 0x00, 0x00, -+ 0x00, 0x00, 0x00, 0x00, -+ 0xff, 0xff, 0xff, 0xff -+}; -+ - #endif - - #if defined (USE_LPF_SEND) || defined (USE_LPF_RECEIVE) -@@ -78,10 +89,20 @@ int if_register_lpf (info) - struct sockaddr common; - } sa; - struct ifreq ifr; -+ int type; -+ int protocol; -+ -+ get_hw_addr(info); -+ if (info->hw_address.hbuf[0] == HTYPE_INFINIBAND) { -+ type = SOCK_DGRAM; -+ protocol = ETHERTYPE_IP; -+ } else { -+ type = SOCK_RAW; -+ protocol = ETH_P_ALL; -+ } - - /* Make an LPF socket. */ -- if ((sock = socket(PF_PACKET, SOCK_RAW, -- htons((short)ETH_P_ALL))) < 0) { -+ if ((sock = socket(PF_PACKET, type, htons((short)protocol))) < 0) { - if (errno == ENOPROTOOPT || errno == EPROTONOSUPPORT || - errno == ESOCKTNOSUPPORT || errno == EPFNOSUPPORT || - errno == EAFNOSUPPORT || errno == EINVAL) { -@@ -104,6 +125,7 @@ int if_register_lpf (info) - /* Bind to the interface name */ - memset (&sa, 0, sizeof sa); - sa.ll.sll_family = AF_PACKET; -+ sa.ll.sll_protocol = htons(protocol); - sa.ll.sll_ifindex = ifr.ifr_ifindex; - if (bind (sock, &sa.common, sizeof sa)) { - if (errno == ENOPROTOOPT || errno == EPROTONOSUPPORT || -@@ -120,8 +142,6 @@ int if_register_lpf (info) - - } - -- get_hw_addr(info->name, &info->hw_address); -- - return sock; - } - #endif /* USE_LPF_SEND || USE_LPF_RECEIVE */ -@@ -176,6 +196,8 @@ void if_deregister_send (info) - in bpf includes... */ - extern struct sock_filter dhcp_bpf_filter []; - extern int dhcp_bpf_filter_len; -+extern struct sock_filter dhcp_ib_bpf_filter []; -+extern int dhcp_ib_bpf_filter_len; - - #if defined(RELAY_PORT) - extern struct sock_filter dhcp_bpf_relay_filter []; -@@ -199,11 +221,12 @@ void if_register_receive (info) - #ifdef PACKET_AUXDATA - { - int val = 1; -- -- if (setsockopt(info->rfdesc, SOL_PACKET, PACKET_AUXDATA, -- &val, sizeof(val)) < 0) { -- if (errno != ENOPROTOOPT) { -- log_fatal ("Failed to set auxiliary packet data: %m"); -+ if (info->hw_address.hbuf[0] != HTYPE_INFINIBAND) { -+ if (setsockopt(info->rfdesc, SOL_PACKET, PACKET_AUXDATA, -+ &val, sizeof(val)) < 0) { -+ if (errno != ENOPROTOOPT) { -+ log_fatal ("Failed to set auxiliary packet data: %m"); -+ } - } - } - } -@@ -330,6 +353,54 @@ static void lpf_tr_filter_setup (info) - #endif /* USE_LPF_RECEIVE */ - - #ifdef USE_LPF_SEND -+ssize_t send_packet_ib(interface, packet, raw, len, from, to, hto) -+ struct interface_info *interface; -+ struct packet *packet; -+ struct dhcp_packet *raw; -+ size_t len; -+ struct in_addr from; -+ struct sockaddr_in *to; -+ struct hardware *hto; -+{ -+ unsigned ibufp = 0; -+ double ih [1536 / sizeof (double)]; -+ unsigned char *buf = (unsigned char *)ih; -+ ssize_t result; -+ -+ union sockunion { -+ struct sockaddr sa; -+ struct sockaddr_ll sll; -+ struct sockaddr_storage ss; -+ } su; -+ -+ assemble_udp_ip_header (interface, buf, &ibufp, from.s_addr, -+ to->sin_addr.s_addr, to->sin_port, -+ (unsigned char *)raw, len); -+ memcpy (buf + ibufp, raw, len); -+ -+ memset(&su, 0, sizeof(su)); -+ su.sll.sll_family = AF_PACKET; -+ su.sll.sll_protocol = htons(ETHERTYPE_IP); -+ -+ if (!(su.sll.sll_ifindex = if_nametoindex(interface->name))) { -+ errno = ENOENT; -+ log_error ("send_packet_ib: %m - failed to get if index"); -+ return -1; -+ } -+ -+ su.sll.sll_hatype = htons(HTYPE_INFINIBAND); -+ su.sll.sll_halen = sizeof(interface->bcast_addr); -+ memcpy(&su.sll.sll_addr, interface->bcast_addr, 20); -+ -+ result = sendto(interface->wfdesc, buf, ibufp + len, 0, -+ &su.sa, sizeof(su)); -+ -+ if (result < 0) -+ log_error ("send_packet_ib: %m"); -+ -+ return result; -+} -+ - ssize_t send_packet (interface, packet, raw, len, from, to, hto) - struct interface_info *interface; - struct packet *packet; -@@ -350,6 +421,11 @@ ssize_t send_packet (interface, packet, raw, len, from, to, hto) - return send_fallback (interface, packet, raw, - len, from, to, hto); - -+ if (interface->hw_address.hbuf[0] == HTYPE_INFINIBAND) { -+ return send_packet_ib(interface, packet, raw, len, from, -+ to, hto); -+ } -+ - if (hto == NULL && interface->anycast_mac_addr.hlen) - hto = &interface->anycast_mac_addr; - -@@ -370,6 +446,42 @@ ssize_t send_packet (interface, packet, raw, len, from, to, hto) - #endif /* USE_LPF_SEND */ - - #ifdef USE_LPF_RECEIVE -+ssize_t receive_packet_ib (interface, buf, len, from, hfrom) -+ struct interface_info *interface; -+ unsigned char *buf; -+ size_t len; -+ struct sockaddr_in *from; -+ struct hardware *hfrom; -+{ -+ int length = 0; -+ int offset = 0; -+ unsigned char ibuf [1536]; -+ unsigned bufix = 0; -+ unsigned paylen; -+ -+ length = read(interface->rfdesc, ibuf, sizeof(ibuf)); -+ -+ if (length <= 0) -+ return length; -+ -+ offset = decode_udp_ip_header(interface, ibuf, bufix, from, -+ (unsigned)length, &paylen, 0); -+ -+ if (offset < 0) -+ return 0; -+ -+ bufix += offset; -+ length -= offset; -+ -+ if (length < paylen) -+ log_fatal("Internal inconsistency at %s:%d.", MDL); -+ -+ /* Copy out the data in the packet... */ -+ memcpy(buf, &ibuf[bufix], paylen); -+ -+ return (ssize_t)paylen; -+} -+ - ssize_t receive_packet (interface, buf, len, from, hfrom) - struct interface_info *interface; - unsigned char *buf; -@@ -408,6 +520,10 @@ ssize_t receive_packet (interface, buf, len, from, hfrom) - }; - #endif /* PACKET_AUXDATA */ - -+ if (interface->hw_address.hbuf[0] == HTYPE_INFINIBAND) { -+ return receive_packet_ib(interface, buf, len, from, hfrom); -+ } -+ - length = recvmsg (interface->rfdesc, &msg, 0); - if (length <= 0) - return length; -@@ -521,11 +637,33 @@ void maybe_setup_fallback () - #endif - - #if defined (USE_LPF_RECEIVE) || defined (USE_LPF_HWADDR) --void --get_hw_addr(const char *name, struct hardware *hw) { -+struct sockaddr_ll * -+get_ll (struct ifaddrs *ifaddrs, struct ifaddrs **ifa, char *name) -+{ -+ for (*ifa = ifaddrs; *ifa != NULL; *ifa = (*ifa)->ifa_next) { -+ if ((*ifa)->ifa_addr == NULL) -+ continue; -+ -+ if ((*ifa)->ifa_addr->sa_family != AF_PACKET) -+ continue; -+ -+ if ((*ifa)->ifa_flags & IFF_LOOPBACK) -+ continue; -+ -+ if (strcmp((*ifa)->ifa_name, name) == 0) -+ return (struct sockaddr_ll *)(void *)(*ifa)->ifa_addr; -+ } -+ *ifa = NULL; -+ return NULL; -+} -+ -+struct sockaddr_ll * -+ioctl_get_ll(char *name) -+{ - int sock; - struct ifreq tmp; -- struct sockaddr *sa; -+ struct sockaddr *sa = NULL; -+ struct sockaddr_ll *sll = NULL; - - if (strlen(name) >= sizeof(tmp.ifr_name)) { - log_fatal("Device name too long: "%s"", name); -@@ -539,16 +677,61 @@ get_hw_addr(const char *name, struct hardware *hw) { - memset(&tmp, 0, sizeof(tmp)); - strcpy(tmp.ifr_name, name); - if (ioctl(sock, SIOCGIFHWADDR, &tmp) < 0) { -- log_fatal("Error getting hardware address for "%s": %m", -+ log_fatal("Error getting hardware address for "%s": %m", - name); - } -+ close(sock); - - sa = &tmp.ifr_hwaddr; -- switch (sa->sa_family) { -+ // needs to be freed outside this function -+ sll = dmalloc (sizeof (struct sockaddr_ll), MDL); -+ if (!sll) -+ log_fatal("Unable to allocate memory for link layer address"); -+ memcpy(&sll->sll_hatype, &sa->sa_family, sizeof (sll->sll_hatype)); -+ memcpy(sll->sll_addr, sa->sa_data, sizeof (sll->sll_addr)); -+ switch (sll->sll_hatype) { -+ case ARPHRD_INFINIBAND: -+ sll->sll_halen = HARDWARE_ADDR_LEN_IOCTL; -+ break; -+ default: -+ break; -+ } -+ return sll; -+} -+ -+void -+get_hw_addr(struct interface_info *info) -+{ -+ struct hardware *hw = &info->hw_address; -+ char *name = info->name; -+ struct ifaddrs *ifaddrs = NULL; -+ struct ifaddrs *ifa = NULL; -+ struct sockaddr_ll *sll = NULL; -+ int sll_allocated = 0; -+ char *dup = NULL; -+ char *colon = NULL; -+ -+ if (getifaddrs(&ifaddrs) == -1) -+ log_fatal("Failed to get interfaces"); -+ -+ if ((sll = get_ll(ifaddrs, &ifa, name)) == NULL) { -+ /* -+ * We were unable to get link-layer address for name. -+ * Fall back to ioctl(SIOCGIFHWADDR). -+ */ -+ sll = ioctl_get_ll(name); -+ if (sll != NULL) -+ sll_allocated = 1; -+ else -+ // shouldn't happen -+ log_fatal("Unexpected internal error"); -+ } -+ -+ switch (sll->sll_hatype) { - case ARPHRD_ETHER: - hw->hlen = 7; - hw->hbuf[0] = HTYPE_ETHER; -- memcpy(&hw->hbuf[1], sa->sa_data, 6); -+ memcpy(&hw->hbuf[1], sll->sll_addr, 6); - break; - case ARPHRD_IEEE802: - #ifdef ARPHRD_IEEE802_TR -@@ -556,18 +739,50 @@ get_hw_addr(const char *name, struct hardware *hw) { - #endif /* ARPHRD_IEEE802_TR */ - hw->hlen = 7; - hw->hbuf[0] = HTYPE_IEEE802; -- memcpy(&hw->hbuf[1], sa->sa_data, 6); -+ memcpy(&hw->hbuf[1], sll->sll_addr, 6); - break; - case ARPHRD_FDDI: - hw->hlen = 7; - hw->hbuf[0] = HTYPE_FDDI; -- memcpy(&hw->hbuf[1], sa->sa_data, 6); -+ memcpy(&hw->hbuf[1], sll->sll_addr, 6); -+ break; -+ case ARPHRD_INFINIBAND: -+ dup = strdup(name); -+ /* Aliased infiniband interface is special case where -+ * neither get_ll() nor ioctl_get_ll() get's correct hw -+ * address, so we have to truncate the :0 and run -+ * get_ll() again for the rest. -+ */ -+ if ((colon = strchr(dup, ':')) != NULL) { -+ *colon = '\0'; -+ if ((sll = get_ll(ifaddrs, &ifa, dup)) == NULL) -+ log_fatal("Error getting hardware address for "%s": %m", name); -+ } -+ free (dup); -+ /* For Infiniband, save the broadcast address and store -+ * the port GUID into the hardware address. -+ */ -+ if (ifa && (ifa->ifa_flags & IFF_BROADCAST)) { -+ struct sockaddr_ll *bll; -+ -+ bll = (struct sockaddr_ll *)ifa->ifa_broadaddr; -+ memcpy(&info->bcast_addr, bll->sll_addr, 20); -+ } else { -+ memcpy(&info->bcast_addr, default_ib_bcast_addr, -+ 20); -+ } -+ -+ hw->hlen = HARDWARE_ADDR_LEN_IOCTL + 1; -+ hw->hbuf[0] = HTYPE_INFINIBAND; -+ memcpy(&hw->hbuf[1], -+ &sll->sll_addr[sll->sll_halen - HARDWARE_ADDR_LEN_IOCTL], -+ HARDWARE_ADDR_LEN_IOCTL); - break; - #if defined(ARPHRD_PPP) - case ARPHRD_PPP: - if (local_family != AF_INET6) -- log_fatal("Unsupported device type %d for "%s"", -- sa->sa_family, name); -+ log_fatal("local_family != AF_INET6 for "%s"", -+ name); - hw->hlen = 0; - hw->hbuf[0] = HTYPE_RESERVED; - /* 0xdeadbeef should never occur on the wire, -@@ -580,10 +795,13 @@ get_hw_addr(const char *name, struct hardware *hw) { - break; - #endif - default: -- log_fatal("Unsupported device type %ld for "%s"", -- (long int)sa->sa_family, name); -+ freeifaddrs(ifaddrs); -+ log_fatal("Unsupported device type %hu for "%s"", -+ sll->sll_hatype, name); - } - -- close(sock); -+ if (sll_allocated) -+ dfree(sll, MDL); -+ freeifaddrs(ifaddrs); - } - #endif -diff --git a/common/socket.c b/common/socket.c -index 483eb9c..6e1caac 100644 ---- a/common/socket.c -+++ b/common/socket.c -@@ -350,7 +350,7 @@ void if_register_send (info) - info->wfdesc = if_register_socket(info, AF_INET, 0, NULL); - /* If this is a normal IPv4 address, get the hardware address. */ - if (strcmp(info->name, "fallback") != 0) -- get_hw_addr(info->name, &info->hw_address); -+ get_hw_addr(info); - #if defined (USE_SOCKET_FALLBACK) - /* Fallback only registers for send, but may need to receive as - well. */ -@@ -413,7 +413,7 @@ void if_register_receive (info) - #endif /* IP_PKTINFO... */ - /* If this is a normal IPv4 address, get the hardware address. */ - if (strcmp(info->name, "fallback") != 0) -- get_hw_addr(info->name, &info->hw_address); -+ get_hw_addr(info); - - if (!quiet_interface_discovery) - log_info ("Listening on Socket/%s%s%s", -@@ -567,7 +567,7 @@ if_register6(struct interface_info *info, int do_multicast) { - if (req_multi) - if_register_multicast(info); - -- get_hw_addr(info->name, &info->hw_address); -+ get_hw_addr(info); - - if (!quiet_interface_discovery) { - if (info->shared_network != NULL) { -@@ -623,7 +623,7 @@ if_register_linklocal6(struct interface_info *info) { - info->rfdesc = sock; - info->wfdesc = sock; - -- get_hw_addr(info->name, &info->hw_address); -+ get_hw_addr(info); - - if (!quiet_interface_discovery) { - if (info->shared_network != NULL) { -diff --git a/includes/dhcpd.h b/includes/dhcpd.h -index faa9251..0c1a0aa 100644 ---- a/includes/dhcpd.h -+++ b/includes/dhcpd.h -@@ -485,6 +485,9 @@ struct packet { - - #define HARDWARE_ADDR_LEN 20 - -+/* ioctl limits hardware addresses to 8 bytes */ -+#define HARDWARE_ADDR_LEN_IOCTL 8 -+ - struct hardware { - u_int8_t hlen; - u_int8_t hbuf[HARDWARE_ADDR_LEN + 1]; -@@ -1365,6 +1368,7 @@ struct interface_info { - struct shared_network *shared_network; - /* Networks connected to this interface. */ - struct hardware hw_address; /* Its physical address. */ -+ u_int8_t bcast_addr[20]; /* Infiniband broadcast address */ - struct in_addr *addresses; /* Addresses associated with this - * interface. - */ -@@ -2633,7 +2637,7 @@ void print_dns_status (int, struct dhcp_ddns_cb *, isc_result_t); - #endif - const char *print_time(TIME); - --void get_hw_addr(const char *name, struct hardware *hw); -+void get_hw_addr(struct interface_info *info); - char *buf_to_hex (const unsigned char *s, unsigned len, - const char *file, int line); - char *format_lease_id(const unsigned char *s, unsigned len, int format, --- -2.14.5 diff --git a/dhcp/patches/0015-Add-GUID-DUID-to-dhcpd-logs-1064416.patch b/dhcp/patches/0015-Add-GUID-DUID-to-dhcpd-logs-1064416.patch deleted file mode 100644 index 191a8cc39..000000000 --- a/dhcp/patches/0015-Add-GUID-DUID-to-dhcpd-logs-1064416.patch +++ /dev/null @@ -1,331 +0,0 @@ -From 7ac7d0b00874ee996c7ee75a595c029759368aad Mon Sep 17 00:00:00 2001 -From: Pavel Zhukov pzhukov@redhat.com -Date: Thu, 21 Feb 2019 10:35:47 +0100 -Subject: [PATCH 15/21] Add GUID/DUID to dhcpd logs (#1064416) -Cc: pzhukov@redhat.com - ---- - client/dhclient.c | 75 ++++++++++++++++++++++++++++++++++++++++++---------- - server/dhcp.c | 78 +++++++++++++++++++++++++++++++++---------------------- - 2 files changed, 108 insertions(+), 45 deletions(-) - -diff --git a/client/dhclient.c b/client/dhclient.c -index dc9080e..8e57da9 100644 ---- a/client/dhclient.c -+++ b/client/dhclient.c -@@ -1170,6 +1170,26 @@ main(int argc, char **argv) { - } - } - -+ /* We create a backup seed before rediscovering interfaces in order to -+ have a seed built using all of the available interfaces -+ It's interesting if required interfaces doesn't let us defined -+ a really unique seed due to a lack of valid HW addr later -+ (this is the case with DHCP over IB) -+ We only use the last device as using a sum could broke the -+ uniqueness of the seed among multiple nodes -+ */ -+ unsigned backup_seed = 0; -+ for (ip = interfaces; ip; ip = ip -> next) { -+ int junk; -+ if ( ip -> hw_address.hlen <= sizeof seed ) -+ continue; -+ memcpy (&junk, -+ &ip -> hw_address.hbuf [ip -> hw_address.hlen - -+ sizeof seed], sizeof seed); -+ backup_seed = junk; -+ } -+ -+ - /* At this point, all the interfaces that the script thinks - are relevant should be running, so now we once again call - discover_interfaces(), and this time ask it to actually set -@@ -1184,14 +1204,36 @@ main(int argc, char **argv) { - Not much entropy, but we're booting, so we're not likely to - find anything better. */ - seed = 0; -+ int seed_flag = 0; - for (ip = interfaces; ip; ip = ip->next) { - int junk; -+ if ( ip -> hw_address.hlen <= sizeof seed ) -+ continue; - memcpy(&junk, - &ip->hw_address.hbuf[ip->hw_address.hlen - - sizeof seed], sizeof seed); - seed += junk; -+ seed_flag = 1; - } -- srandom(seed + cur_time + (unsigned)getpid()); -+ if ( seed_flag == 0 ) { -+ if ( backup_seed != 0 ) { -+ seed = backup_seed; -+ log_info ("xid: rand init seed (0x%x) built using all" -+ " available interfaces",seed); -+ } -+ else { -+ seed = cur_time^((unsigned) gethostid()) ; -+ log_info ("xid: warning: no netdev with useable HWADDR found" -+ " for seed's uniqueness enforcement"); -+ log_info ("xid: rand init seed (0x%x) built using gethostid", -+ seed); -+ } -+ /* we only use seed and no current time as a broadcast reply */ -+ /* will certainly be used by the hwaddrless interface */ -+ srandom(seed + ((unsigned)(cur_tv.tv_usec * 1000000)) + (unsigned)getpid()); -+ } -+ else -+ srandom(seed + ((unsigned)(cur_tv.tv_usec * 1000000)) + (unsigned)getpid()); - - /* Setup specific Infiniband options */ - for (ip = interfaces; ip; ip = ip->next) { -@@ -1746,10 +1788,10 @@ void dhcpack (packet) - #endif - return; - } -- -- log_info ("DHCPACK of %s from %s", -- inet_ntoa(packet->raw->yiaddr), -- piaddr (packet->client_addr)); -+ log_info ("DHCPACK of %s from %s (xid=0x%x)", -+ inet_ntoa(packet->raw->yiaddr), -+ piaddr (packet -> client_addr), -+ ntohl(client -> xid)); - - lease = packet_to_lease (packet, client); - if (!lease) { -@@ -2669,7 +2711,7 @@ void dhcpnak (packet) - return; - } - -- log_info ("DHCPNAK from %s", piaddr (packet -> client_addr)); -+ log_info ("DHCPNAK from %s (xid=0x%x)", piaddr (packet -> client_addr), ntohl(client -> xid)); - - if (!client -> active) { - #if defined (DEBUG) -@@ -2802,10 +2844,10 @@ void send_discover (cpp) - (long)(client -> interval)); - } else - #endif -- log_info ("DHCPDISCOVER on %s to %s port %d interval %ld", -+ log_info ("DHCPDISCOVER on %s to %s port %d interval %ld (xid=0x%x)", - client -> name ? client -> name : client -> interface -> name, - inet_ntoa (sockaddr_broadcast.sin_addr), -- ntohs (sockaddr_broadcast.sin_port), (long)(client -> interval)); -+ ntohs (sockaddr_broadcast.sin_port), (long)(client -> interval), ntohl(client -> xid)); - - /* Send out a packet. */ - #if defined(DHCPv6) && defined(DHCP4o6) -@@ -3108,10 +3150,12 @@ void send_request (cpp) - } - - strncpy(rip_buf, rip_str, sizeof(rip_buf)-1); -- log_info ("DHCPREQUEST for %s on %s to %s port %d", rip_buf, -+ log_info ("DHCPREQUEST for %s on %s to %s port %d (xid=0x%x)", -+ rip_buf, - client->name ? client->name : client->interface->name, - inet_ntoa(destination.sin_addr), -- ntohs (destination.sin_port)); -+ ntohs (destination.sin_port), -+ ntohl(client -> xid)); - - #if defined(DHCPv6) && defined(DHCP4o6) - if (dhcpv4_over_dhcpv6) { -@@ -3168,11 +3212,13 @@ void send_decline (cpp) - log_info ("DHCPDECLINE"); - } else - #endif -- log_info ("DHCPDECLINE of %s on %s to %s port %d", -+ log_info ("DHCPDECLINE of %s on %s to %s port %d (xid=0x%x)", - piaddr(client->requested_address), - (client->name ? client->name : client->interface->name), - inet_ntoa(sockaddr_broadcast.sin_addr), -- ntohs(sockaddr_broadcast.sin_port)); -+ ntohs(sockaddr_broadcast.sin_port), -+ ntohl(client -> xid)); -+ - - /* Send out a packet. */ - #if defined(DHCPv6) && defined(DHCP4o6) -@@ -3231,11 +3277,12 @@ void send_release (cpp) - log_info ("DHCPRELEASE"); - } else - #endif -- log_info ("DHCPRELEASE of %s on %s to %s port %d", -+ log_info ("DHCPRELEASE of %s on %s to %s port %d (xid=0x%x)", - piaddr(client->active->address), - client->name ? client->name : client->interface->name, - inet_ntoa (destination.sin_addr), -- ntohs (destination.sin_port)); -+ ntohs (destination.sin_port), -+ ntohl(client -> xid)); - - #if defined(DHCPv6) && defined(DHCP4o6) - if (dhcpv4_over_dhcpv6) { -diff --git a/server/dhcp.c b/server/dhcp.c -index 20f2a62..0582c4c 100644 ---- a/server/dhcp.c -+++ b/server/dhcp.c -@@ -87,6 +87,42 @@ const int dhcp_type_name_max = ((sizeof dhcp_type_names) / sizeof (char *)); - - static TIME leaseTimeCheck(TIME calculated, TIME alternate); - -+char *print_client_identifier_from_packet (packet) -+ struct packet *packet; -+{ -+ struct option_cache *oc; -+ struct data_string client_identifier; -+ char *ci; -+ -+ memset (&client_identifier, 0, sizeof client_identifier); -+ -+ oc = lookup_option (&dhcp_universe, packet -> options, -+ DHO_DHCP_CLIENT_IDENTIFIER); -+ if (oc && -+ evaluate_option_cache (&client_identifier, -+ packet, (struct lease *)0, -+ (struct client_state *)0, -+ packet -> options, -+ (struct option_state *)0, -+ &global_scope, oc, MDL)) { -+ ci = print_hw_addr (HTYPE_INFINIBAND, client_identifier.len, client_identifier.data); -+ data_string_forget (&client_identifier, MDL); -+ return ci; -+ } else -+ return ""no client id""; -+} -+ -+char *print_hw_addr_or_client_id (packet) -+ struct packet *packet; -+{ -+ if (packet -> raw -> htype == HTYPE_INFINIBAND) -+ return print_client_identifier_from_packet (packet); -+ else -+ return print_hw_addr (packet -> raw -> htype, -+ packet -> raw -> hlen, -+ packet -> raw -> chaddr); -+} -+ - void - dhcp (struct packet *packet) { - int ms_nulltp = 0; -@@ -129,9 +165,7 @@ dhcp (struct packet *packet) { - - log_info("%s from %s via %s: %s", s, - (packet->raw->htype -- ? print_hw_addr(packet->raw->htype, -- packet->raw->hlen, -- packet->raw->chaddr) -+ ? print_hw_addr_or_client_id(packet) - : "<no identifier>"), - packet->raw->giaddr.s_addr - ? inet_ntoa(packet->raw->giaddr) -@@ -328,9 +362,7 @@ void dhcpdiscover (packet, ms_nulltp) - #endif - snprintf (msgbuf, sizeof msgbuf, "DHCPDISCOVER from %s %s%s%svia %s", - (packet -> raw -> htype -- ? print_hw_addr (packet -> raw -> htype, -- packet -> raw -> hlen, -- packet -> raw -> chaddr) -+ ? print_hw_addr_or_client_id (packet) - : (lease - ? print_hex_1(lease->uid_len, lease->uid, 60) - : "<no identifier>")), -@@ -542,9 +574,7 @@ void dhcprequest (packet, ms_nulltp, ip_lease) - "DHCPREQUEST for %s%s from %s %s%s%svia %s", - piaddr (cip), smbuf, - (packet -> raw -> htype -- ? print_hw_addr (packet -> raw -> htype, -- packet -> raw -> hlen, -- packet -> raw -> chaddr) -+ ? print_hw_addr_or_client_id(packet) - : (lease - ? print_hex_1(lease->uid_len, lease->uid, 60) - : "<no identifier>")), -@@ -785,9 +815,7 @@ void dhcprelease (packet, ms_nulltp) - if ((oc = lookup_option (&dhcp_universe, packet -> options, - DHO_DHCP_REQUESTED_ADDRESS))) { - log_info ("DHCPRELEASE from %s specified requested-address.", -- print_hw_addr (packet -> raw -> htype, -- packet -> raw -> hlen, -- packet -> raw -> chaddr)); -+ print_hw_addr_or_client_id(packet)); - } - - oc = lookup_option (&dhcp_universe, packet -> options, -@@ -879,9 +907,7 @@ void dhcprelease (packet, ms_nulltp) - "DHCPRELEASE of %s from %s %s%s%svia %s (%sfound)", - cstr, - (packet -> raw -> htype -- ? print_hw_addr (packet -> raw -> htype, -- packet -> raw -> hlen, -- packet -> raw -> chaddr) -+ ? print_hw_addr_or_client_id(packet) - : (lease - ? print_hex_1(lease->uid_len, lease->uid, 60) - : "<no identifier>")), -@@ -986,9 +1012,7 @@ void dhcpdecline (packet, ms_nulltp) - "DHCPDECLINE of %s from %s %s%s%svia %s", - piaddr (cip), - (packet -> raw -> htype -- ? print_hw_addr (packet -> raw -> htype, -- packet -> raw -> hlen, -- packet -> raw -> chaddr) -+ ? print_hw_addr_or_client_id(packet) - : (lease - ? print_hex_1(lease->uid_len, lease->uid, 60) - : "<no identifier>")), -@@ -1732,8 +1756,7 @@ void dhcpinform (packet, ms_nulltp) - /* Report what we're sending. */ - snprintf(msgbuf, sizeof msgbuf, "DHCPACK to %s (%s) via", piaddr(cip), - (packet->raw->htype && packet->raw->hlen) ? -- print_hw_addr(packet->raw->htype, packet->raw->hlen, -- packet->raw->chaddr) : -+ print_hw_addr_or_client_id(packet) : - "<no client hardware address>"); - log_info("%s %s", msgbuf, gip.len ? piaddr(gip) : - packet->interface->name); -@@ -1918,9 +1941,7 @@ void nak_lease (packet, cip, network_group) - #endif - log_info ("DHCPNAK on %s to %s via %s", - piaddr (*cip), -- print_hw_addr (packet -> raw -> htype, -- packet -> raw -> hlen, -- packet -> raw -> chaddr), -+ print_hw_addr_or_client_id(packet), - packet -> raw -> giaddr.s_addr - ? inet_ntoa (packet -> raw -> giaddr) - : packet -> interface -> name); -@@ -3936,7 +3957,7 @@ void dhcp_reply (lease) - ? (state -> offer == DHCPACK ? "DHCPACK" : "DHCPOFFER") - : "BOOTREPLY"), - piaddr (lease -> ip_addr), -- (lease -> hardware_addr.hlen -+ (lease -> hardware_addr.hlen > 1 - ? print_hw_addr (lease -> hardware_addr.hbuf [0], - lease -> hardware_addr.hlen - 1, - &lease -> hardware_addr.hbuf [1]) -@@ -4497,10 +4518,7 @@ int find_lease (struct lease **lp, - if (uid_lease) { - if (uid_lease->binding_state == FTS_ACTIVE) { - log_error ("client %s has duplicate%s on %s", -- (print_hw_addr -- (packet -> raw -> htype, -- packet -> raw -> hlen, -- packet -> raw -> chaddr)), -+ (print_hw_addr_or_client_id(packet)), - " leases", - (ip_lease -> subnet -> - shared_network -> name)); -@@ -4667,9 +4685,7 @@ int find_lease (struct lease **lp, - log_error("uid lease %s for client %s is duplicate " - "on %s", - piaddr(uid_lease->ip_addr), -- print_hw_addr(packet->raw->htype, -- packet->raw->hlen, -- packet->raw->chaddr), -+ print_hw_addr_or_client_id(packet), - uid_lease->subnet->shared_network->name); - - if (!packet -> raw -> ciaddr.s_addr && --- -2.14.5 diff --git a/dhcp/patches/0016-Turn-on-creating-sending-of-DUID.patch b/dhcp/patches/0016-Turn-on-creating-sending-of-DUID.patch deleted file mode 100644 index 535c67c47..000000000 --- a/dhcp/patches/0016-Turn-on-creating-sending-of-DUID.patch +++ /dev/null @@ -1,125 +0,0 @@ -From 1f0473939bcb17095bbef48cd9a81105a3de9846 Mon Sep 17 00:00:00 2001 -From: Pavel Zhukov pzhukov@redhat.com -Date: Thu, 21 Feb 2019 10:36:30 +0100 -Subject: [PATCH 16/21] Turn on creating/sending of DUID -Cc: pzhukov@redhat.com - -as client identifier with DHCPv4 clients (#560361c#40, rfc4361) ---- - client/dhclient.c | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- - 1 file changed, 70 insertions(+), 4 deletions(-) - -diff --git a/client/dhclient.c b/client/dhclient.c -index 8e57da9..ccc98e4 100644 ---- a/client/dhclient.c -+++ b/client/dhclient.c -@@ -4021,6 +4021,59 @@ write_options(struct client_state *client, struct option_state *options, - } - } - -+int unhexchar(char c) { -+ -+ if (c >= '0' && c <= '9') -+ return c - '0'; -+ -+ if (c >= 'a' && c <= 'f') -+ return c - 'a' + 10; -+ -+ if (c >= 'A' && c <= 'F') -+ return c - 'A' + 10; -+ -+ return -1; -+} -+ -+isc_result_t -+read_uuid(u_int8_t* uuid) { -+ const char *id_fname = "/etc/machine-id"; -+ char id[32]; -+ size_t nread; -+ FILE * file = fopen( id_fname , "r"); -+ if (!file) { -+ log_debug("Cannot open %s", id_fname); -+ return ISC_R_IOERROR; -+ } -+ nread = fread(id, 1, sizeof id, file); -+ fclose(file); -+ -+ if (nread < 32) { -+ log_debug("Not enough data in %s", id_fname); -+ return ISC_R_IOERROR; -+ } -+ int j; -+ for (j = 0; j < 16; j++) { -+ int a, b; -+ -+ a = unhexchar(id[j*2]); -+ b = unhexchar(id[j*2+1]); -+ -+ if (a < 0 || b < 0) { -+ log_debug("Wrong data in %s", id_fname); -+ return ISC_R_IOERROR; -+ } -+ uuid[j] = a << 4 | b; -+ } -+ -+ /* Set UUID version to 4 --- truly random generation */ -+ uuid[6] = (uuid[6] & 0x0F) | 0x40; -+ /* Set the UUID variant to DCE */ -+ uuid[8] = (uuid[8] & 0x3F) | 0x80; -+ -+ return ISC_R_SUCCESS; -+} -+ - /* - * The "best" default DUID, since we cannot predict any information - * about the system (such as whether or not the hardware addresses are -@@ -4041,6 +4094,7 @@ form_duid(struct data_string *duid, const char *file, int line) - struct interface_info *ip; - int len; - char *str; -+ u_int8_t uuid[16]; - - /* For now, just use the first interface on the list. */ - ip = interfaces; -@@ -4061,9 +4115,16 @@ form_duid(struct data_string *duid, const char *file, int line) - (ip->hw_address.hlen > sizeof(ip->hw_address.hbuf))) - log_fatal("Impossible hardware address length at %s:%d.", MDL); - -- if (duid_type == 0) -- duid_type = stateless ? DUID_LL : DUID_LLT; -- -+ if (duid_type == 0) { -+ if (read_uuid(uuid) == ISC_R_SUCCESS) -+ duid_type = DUID_UUID; -+ else -+ duid_type = stateless ? DUID_LL : DUID_LLT; -+ } -+ -+ if (duid_type == DUID_UUID) -+ len = 2 + sizeof (uuid); -+ else { - /* - * 2 bytes for the 'duid type' field. - * 2 bytes for the 'htype' field. -@@ -4074,13 +4135,18 @@ form_duid(struct data_string *duid, const char *file, int line) - len = 4 + (ip->hw_address.hlen - 1); - if (duid_type == DUID_LLT) - len += 4; -+ } - if (!buffer_allocate(&duid->buffer, len, MDL)) - log_fatal("no memory for default DUID!"); - duid->data = duid->buffer->data; - duid->len = len; - -+ if (duid_type == DUID_UUID) { -+ putUShort(duid->buffer->data, DUID_UUID); -+ memcpy(duid->buffer->data + 2, uuid, sizeof(uuid)); -+ } - /* Basic Link Local Address type of DUID. */ -- if (duid_type == DUID_LLT) { -+ else if (duid_type == DUID_LLT) { - putUShort(duid->buffer->data, DUID_LLT); - putUShort(duid->buffer->data + 2, ip->hw_address.hbuf[0]); - putULong(duid->buffer->data + 4, cur_time - DUID_TIME_EPOCH); --- -2.14.5 diff --git a/dhcp/patches/0017-Send-unicast-request-release-via-correct-interface.patch b/dhcp/patches/0017-Send-unicast-request-release-via-correct-interface.patch deleted file mode 100644 index 0f8703761..000000000 --- a/dhcp/patches/0017-Send-unicast-request-release-via-correct-interface.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 8a2b491f79aab1f04feac89586dfab1e55b47adb Mon Sep 17 00:00:00 2001 -From: Pavel Zhukov pzhukov@redhat.com -Date: Thu, 21 Feb 2019 10:39:36 +0100 -Subject: [PATCH 17/21] Send unicast request/release via correct interface -Cc: pzhukov@redhat.com - -(#800561, #1177351) -(Submitted to dhcp-bugs@isc.org - [ISC-Bugs #30544]) ---- - client/dhclient.c | 30 ++++++++++++++++++++++++++++++ - 1 file changed, 30 insertions(+) - -diff --git a/client/dhclient.c b/client/dhclient.c -index ccc98e4..27fde69 100644 ---- a/client/dhclient.c -+++ b/client/dhclient.c -@@ -3171,6 +3171,14 @@ void send_request (cpp) - #endif - if (destination.sin_addr.s_addr != INADDR_BROADCAST && - fallback_interface) { -+#if defined(SO_BINDTODEVICE) -+ if (setsockopt(fallback_interface -> wfdesc, SOL_SOCKET, -+ SO_BINDTODEVICE, client->interface->name, -+ strlen(client->interface->name)) < 0) { -+ log_error("%s:%d: Failed to bind fallback interface" -+ " to %s: %m", MDL, client->interface->name); -+ } -+#endif - result = send_packet(fallback_interface, NULL, &client->packet, - client->packet_length, from, &destination, - NULL); -@@ -3180,6 +3188,13 @@ void send_request (cpp) - client->packet_length, - fallback_interface->name); - } -+#if defined(SO_BINDTODEVICE) -+ if (setsockopt(fallback_interface -> wfdesc, SOL_SOCKET, -+ SO_BINDTODEVICE, NULL, 0) < 0) { -+ log_fatal("%s:%d: Failed to unbind fallback interface:" -+ " %m", MDL); -+ } -+#endif - } - else { - /* Send out a packet. */ -@@ -3297,6 +3312,14 @@ void send_release (cpp) - } else - #endif - if (fallback_interface) { -+#if defined(SO_BINDTODEVICE) -+ if (setsockopt(fallback_interface -> wfdesc, SOL_SOCKET, -+ SO_BINDTODEVICE, client->interface->name, -+ strlen(client->interface->name)) < 0) { -+ log_error("%s:%d: Failed to bind fallback interface" -+ " to %s: %m", MDL, client->interface->name); -+ } -+#endif - result = send_packet(fallback_interface, NULL, &client->packet, - client->packet_length, from, &destination, - NULL); -@@ -3306,6 +3329,13 @@ void send_release (cpp) - client->packet_length, - fallback_interface->name); - } -+#if defined(SO_BINDTODEVICE) -+ if (setsockopt(fallback_interface -> wfdesc, SOL_SOCKET, -+ SO_BINDTODEVICE, NULL, 0) < 0) { -+ log_fatal("%s:%d: Failed to unbind fallback interface:" -+ " %m", MDL); -+ } -+#endif - } else { - /* Send out a packet. */ - result = send_packet(client->interface, NULL, &client->packet, --- -2.14.5 diff --git a/dhcp/patches/0018-No-subnet-declaration-for-iface-should-be-info-not-e.patch b/dhcp/patches/0018-No-subnet-declaration-for-iface-should-be-info-not-e.patch deleted file mode 100644 index be7e940ae..000000000 --- a/dhcp/patches/0018-No-subnet-declaration-for-iface-should-be-info-not-e.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 588ead2d9a9cfe70f14569a8e950c6c42f15c1e3 Mon Sep 17 00:00:00 2001 -From: Pavel Zhukov pzhukov@redhat.com -Date: Thu, 21 Feb 2019 10:40:51 +0100 -Subject: [PATCH 18/21] No subnet declaration for <iface>' should be info, not - error. -Cc: pzhukov@redhat.com - ---- - common/discover.c | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -diff --git a/common/discover.c b/common/discover.c -index 65881fc..056342c 100644 ---- a/common/discover.c -+++ b/common/discover.c -@@ -801,9 +801,9 @@ discover_interfaces(int state) { - - /* We must have a subnet declaration for each interface. */ - if (!tmp->shared_network && (state == DISCOVER_SERVER)) { -- log_error("%s", ""); -+ log_info("%s", ""); - if (local_family == AF_INET) { -- log_error("No subnet declaration for %s (%s).", -+ log_info("No subnet declaration for %s (%s).", - tmp->name, - (tmp->addresses == NULL) ? - "no IPv4 addresses" : -@@ -818,26 +818,26 @@ discover_interfaces(int state) { - } else { - strcpy(abuf, "no IPv6 addresses"); - } -- log_error("No subnet6 declaration for %s (%s).", -+ log_info("No subnet6 declaration for %s (%s).", - tmp->name, - abuf); - #endif /* DHCPv6 */ - } - if (supports_multiple_interfaces(tmp)) { -- log_error ("** Ignoring requests on %s. %s", -+ log_info ("** Ignoring requests on %s. %s", - tmp -> name, "If this is not what"); -- log_error (" you want, please write %s", -+ log_info (" you want, please write %s", - #ifdef DHCPv6 - (local_family != AF_INET) ? - "a subnet6 declaration" : - #endif - "a subnet declaration"); -- log_error (" in your dhcpd.conf file %s", -+ log_info (" in your dhcpd.conf file %s", - "for the network segment"); -- log_error (" to %s %s %s", -+ log_info (" to %s %s %s", - "which interface", - tmp -> name, "is attached. **"); -- log_error ("%s", ""); -+ log_info ("%s", ""); - goto next; - } else { - log_error ("You must write a %s", --- -2.14.5 diff --git a/dhcp/patches/0019-dhclient-write-DUID_LLT-even-in-stateless-mode-11563.patch b/dhcp/patches/0019-dhclient-write-DUID_LLT-even-in-stateless-mode-11563.patch deleted file mode 100644 index f870fd752..000000000 --- a/dhcp/patches/0019-dhclient-write-DUID_LLT-even-in-stateless-mode-11563.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 07b333c48a2fc99d7d502a0c88907b38f61c6230 Mon Sep 17 00:00:00 2001 -From: Pavel Zhukov pzhukov@redhat.com -Date: Thu, 21 Feb 2019 10:41:14 +0100 -Subject: [PATCH 19/21] dhclient: write DUID_LLT even in stateless mode - (#1156356) -Cc: pzhukov@redhat.com - -(Submitted to dhcp-bugs@isc.org - [ISC-Bugs #38144]) ---- - client/dhclient.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/client/dhclient.c b/client/dhclient.c -index 27fde69..4e5546a 100644 ---- a/client/dhclient.c -+++ b/client/dhclient.c -@@ -1442,6 +1442,9 @@ void run_stateless(int exit_mode, u_int16_t port) - data_string_forget(&default_duid, MDL); - - form_duid(&default_duid, MDL); -+ if (form_duid(&default_duid, MDL) == ISC_R_SUCCESS && -+ duid_type == DUID_LLT) -+ write_duid(&default_duid); - } - - #ifdef DHCP4o6 --- -2.14.5 diff --git a/dhcp/patches/0020-Discover-all-hwaddress-for-xid-uniqueness.patch b/dhcp/patches/0020-Discover-all-hwaddress-for-xid-uniqueness.patch deleted file mode 100644 index 31d9a2e50..000000000 --- a/dhcp/patches/0020-Discover-all-hwaddress-for-xid-uniqueness.patch +++ /dev/null @@ -1,100 +0,0 @@ -From f1467835402eee90a350a952f1a411f37475a9df Mon Sep 17 00:00:00 2001 -From: Pavel Zhukov pzhukov@redhat.com -Date: Thu, 21 Feb 2019 10:42:50 +0100 -Subject: [PATCH 20/21] Discover all hwaddress for xid uniqueness -Cc: pzhukov@redhat.com - ---- - common/discover.c | 2 ++ - common/lpf.c | 27 ++++++++++++++++++++++----- - includes/dhcpd.h | 3 +++ - 3 files changed, 27 insertions(+), 5 deletions(-) - -diff --git a/common/discover.c b/common/discover.c -index 056342c..e66e1c5 100644 ---- a/common/discover.c -+++ b/common/discover.c -@@ -648,6 +648,8 @@ discover_interfaces(int state) { - interface_dereference(&tmp, MDL); - tmp = interfaces; /* XXX */ - } -+ if (tmp != NULL) -+ try_hw_addr(tmp); - - if (dhcp_interface_discovery_hook) { - (*dhcp_interface_discovery_hook)(tmp); -diff --git a/common/lpf.c b/common/lpf.c -index b732a86..a708a5d 100644 ---- a/common/lpf.c -+++ b/common/lpf.c -@@ -699,8 +699,22 @@ ioctl_get_ll(char *name) - return sll; - } - -+// define ? -+void try_hw_addr(struct interface_info *info){ -+ get_hw_addr2(info); -+}; -+ - void - get_hw_addr(struct interface_info *info) -+{ -+ if (get_hw_addr2(info) == ISC_R_NOTFOUND){ -+ log_fatal("Unsupported device type for "%s"", -+ info->name); -+ } -+} -+ -+isc_result_t -+get_hw_addr2(struct interface_info *info) - { - struct hardware *hw = &info->hw_address; - char *name = info->name; -@@ -710,7 +724,8 @@ get_hw_addr(struct interface_info *info) - int sll_allocated = 0; - char *dup = NULL; - char *colon = NULL; -- -+ isc_result_t result = ISC_R_SUCCESS; -+ - if (getifaddrs(&ifaddrs) == -1) - log_fatal("Failed to get interfaces"); - -@@ -794,14 +809,16 @@ get_hw_addr(struct interface_info *info) - hw->hbuf[4] = 0xef; - break; - #endif -- default: -- freeifaddrs(ifaddrs); -- log_fatal("Unsupported device type %hu for "%s"", -- sll->sll_hatype, name); -+ default: -+ log_error("Unsupported device type %hu for "%s"", -+ sll->sll_hatype, name); -+ result = ISC_R_NOTFOUND; -+ - } - - if (sll_allocated) - dfree(sll, MDL); - freeifaddrs(ifaddrs); -+ return result; - } - #endif -diff --git a/includes/dhcpd.h b/includes/dhcpd.h -index 0c1a0aa..635c510 100644 ---- a/includes/dhcpd.h -+++ b/includes/dhcpd.h -@@ -2637,7 +2637,10 @@ void print_dns_status (int, struct dhcp_ddns_cb *, isc_result_t); - #endif - const char *print_time(TIME); - -+ - void get_hw_addr(struct interface_info *info); -+void try_hw_addr(struct interface_info *info); -+isc_result_t get_hw_addr2(struct interface_info *info); - char *buf_to_hex (const unsigned char *s, unsigned len, - const char *file, int line); - char *format_lease_id(const unsigned char *s, unsigned len, int format, --- -2.14.5 diff --git a/dhcp/patches/0021-Load-leases-DB-in-non-replay-mode-only.patch b/dhcp/patches/0021-Load-leases-DB-in-non-replay-mode-only.patch deleted file mode 100644 index 7b6da2d01..000000000 --- a/dhcp/patches/0021-Load-leases-DB-in-non-replay-mode-only.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 1c7b876dc558774c40a2a28da53c19c65e123124 Mon Sep 17 00:00:00 2001 -From: Pavel Zhukov pzhukov@redhat.com -Date: Thu, 21 Feb 2019 10:44:06 +0100 -Subject: [PATCH 21/21] Load leases DB in non-replay mode only -Cc: pzhukov@redhat.com - ---- - server/confpars.c | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -diff --git a/server/confpars.c b/server/confpars.c -index 2743979..db21a0b 100644 ---- a/server/confpars.c -+++ b/server/confpars.c -@@ -134,6 +134,11 @@ isc_result_t read_conf_file (const char *filename, struct group *group, - - cfile = (struct parse *)0; - #if defined (TRACING) -+ // No need to dmalloc huge memory region if we're not going to re-play -+ if (!trace_playback()){ -+ status = new_parse(&cfile, file, NULL, 0, filename, 0); -+ goto noreplay; -+ }; - flen = lseek (file, (off_t)0, SEEK_END); - if (flen < 0) { - boom: -@@ -171,9 +176,11 @@ isc_result_t read_conf_file (const char *filename, struct group *group, - if (trace_record ()) - trace_write_packet (ttype, ulen + tflen + 1, dbuf, MDL); - status = new_parse(&cfile, -1, fbuf, ulen, filename, 0); /* XXX */ -+ dfree(dbuf, MDL); - #else - status = new_parse(&cfile, file, NULL, 0, filename, 0); - #endif -+ noreplay: - if (status != ISC_R_SUCCESS || cfile == NULL) - return status; - -@@ -182,9 +189,6 @@ isc_result_t read_conf_file (const char *filename, struct group *group, - else - status = conf_file_subparse (cfile, group, group_type); - end_parse (&cfile); --#if defined (TRACING) -- dfree (dbuf, MDL); --#endif - return status; - } - --- -2.14.5 diff --git a/dhcp/patches/0022-Backport-sd-notify-patch-for-systemd-support-1687040.patch b/dhcp/patches/0022-Backport-sd-notify-patch-for-systemd-support-1687040.patch deleted file mode 100644 index 2d6bb743a..000000000 --- a/dhcp/patches/0022-Backport-sd-notify-patch-for-systemd-support-1687040.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 5c6204bab7279050b78b3d03d1211e9d13d3fd71 Mon Sep 17 00:00:00 2001 -From: Pavel Zhukov pzhukov@redhat.com -Date: Wed, 27 Mar 2019 09:59:20 +0100 -Subject: [PATCH] Backport sd-notify patch for systemd support (#1687040) -Cc: pzhukov@redhat.com - ---- - configure.ac | 11 +++++++++++ - relay/dhcrelay.c | 12 ++++++++++++ - server/dhcpd.c | 12 ++++++++++++ - 3 files changed, 35 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 15fc0d7..0c08000 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1014,6 +1014,17 @@ if test x$ldap = xyes || test x$ldapcrypto = xyes || test x$ldap_gssapi = xyes; - AC_SUBST(LDAP_CFLAGS, [$LDAP_CFLAGS]) - fi - -+AC_ARG_WITH(systemd, -+ AC_HELP_STRING([--with-systemd], -+ [enable sending status notifications to systemd daemon (default is no)]), -+ [systemd=$withval], -+ [systemd=no]) -+ -+if test x$systemd = xyes ; then -+ AC_CHECK_LIB(systemd, sd_notifyf, , -+ AC_MSG_FAILURE([*** systemd library not present - do you need to install systemd-libs package?])) -+fi -+ - # Append selected warning levels to CFLAGS before substitution (but after - # AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[],[]) & etc). - CFLAGS="$CFLAGS $STD_CWARNINGS" -diff --git a/relay/dhcrelay.c b/relay/dhcrelay.c -index 7b4f4f1..9eb5bfd 100644 ---- a/relay/dhcrelay.c -+++ b/relay/dhcrelay.c -@@ -37,6 +37,10 @@ - int keep_capabilities = 0; - #endif - -+#ifdef HAVE_LIBSYSTEMD -+#include <systemd/sd-daemon.h> -+#endif -+ - TIME default_lease_time = 43200; /* 12 hours... */ - TIME max_lease_time = 86400; /* 24 hours... */ - struct tree_cache *global_options[256]; -@@ -845,6 +849,14 @@ main(int argc, char **argv) { - } - #endif - -+#ifdef HAVE_LIBSYSTEMD -+ /* We are ready to process incomming packets. Let's notify systemd */ -+ sd_notifyf(0, "READY=1\n" -+ "STATUS=Dispatching packets...\n" -+ "MAINPID=%lu", -+ (unsigned long) getpid()); -+#endif -+ - /* Start dispatching packets and timeouts... */ - dispatch(); - -diff --git a/server/dhcpd.c b/server/dhcpd.c -index 530a923..e06f6b4 100644 ---- a/server/dhcpd.c -+++ b/server/dhcpd.c -@@ -60,6 +60,10 @@ gid_t set_gid = 0; - struct class unknown_class; - struct class known_class; - -+#ifdef HAVE_LIBSYSTEMD -+#include <systemd/sd-daemon.h> -+#endif -+ - struct iaddr server_identifier; - int server_identifier_matched; - -@@ -1057,6 +1061,14 @@ main(int argc, char **argv) { - /* Log that we are about to start working */ - log_info("Server starting service."); - -+#ifdef HAVE_LIBSYSTEMD -+ /* We are ready to process incomming packets. Let's notify systemd */ -+ sd_notifyf(0, "READY=1\n" -+ "STATUS=Dispatching packets...\n" -+ "MAINPID=%lu", -+ (unsigned long) getpid()); -+#endif -+ - /* - * Receive packets and dispatch them... - * dispatch() will never return. --- -2.14.5 diff --git a/dracut/dracut.nm b/dracut/dracut.nm index 195e3f555..85a35107d 100644 --- a/dracut/dracut.nm +++ b/dracut/dracut.nm @@ -4,8 +4,8 @@ ###############################################################################
name = dracut -version = 048 -release = 8 +version = 056 +release = 1
groups = System/Boot url = http://sourceforge.net/apps/trac/dracut/wiki @@ -47,40 +47,31 @@ build install_cmds # Remove unneeded/unsupported modules rm -rfv \ - %{BUILDROOT}%{dracutlibdir}/modules.d/00dash \ - %{BUILDROOT}%{dracutlibdir}/modules.d/00systemd-network-management \ - %{BUILDROOT}%{dracutlibdir}/modules.d/01fips \ - %{BUILDROOT}%{dracutlibdir}/modules.d/05busybox \ - %{BUILDROOT}%{dracutlibdir}/modules.d/35network-* \ - %{BUILDROOT}%{dracutlibdir}/modules.d/40network \ - %{BUILDROOT}%{dracutlibdir}/modules.d/45url-lib \ - %{BUILDROOT}%{dracutlibdir}/modules.d/45ifcfg \ - %{BUILDROOT}%{dracutlibdir}/modules.d/50gensplash \ - %{BUILDROOT}%{dracutlibdir}/modules.d/62bluetooth \ - %{BUILDROOT}%{dracutlibdir}/modules.d/95fcoe* \ - %{BUILDROOT}%{dracutlibdir}/modules.d/95iscsi \ - %{BUILDROOT}%{dracutlibdir}/modules.d/95nbd \ - %{BUILDROOT}%{dracutlibdir}/modules.d/95nfs \ - %{BUILDROOT}%{dracutlibdir}/modules.d/95znet + %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/00dash \ + %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/00systemd-network-management \ + %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/01fips \ + %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/05busybox \ + %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/35network-* \ + %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/40network \ + %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/45url-lib \ + %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/45ifcfg \ + %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/50gensplash \ + %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/62bluetooth \ + %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/95fcoe* \ + %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/95iscsi \ + %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/95nbd \ + %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/95nfs \ + %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/95znet
# Install local configuration - mkdir -pv %{BUILDROOT}%{dracutlibdir}/dracut.conf.d + mkdir -pv %{BUILDROOT}%{dracutlibdir}/dracut/dracut.conf.d install -v -m 644 %{DIR_SOURCE}/ipfire.conf \ - %{BUILDROOT}%{dracutlibdir}/dracut.conf.d/ipfire.conf + %{BUILDROOT}%{dracutlibdir}/dracut/dracut.conf.d/ipfire.conf
# Save package version mkdir -pv %{BUILDROOT}/%{dracutlibdir}/dracut echo "DRACUT_VERSION=%{version}-%{release}" > \ %{BUILDROOT}/%{dracutlibdir}/dracut/dracut-version.sh - - mkdir -pv %{BUILDROOT}/boot/dracut - mkdir -pv %{BUILDROOT}/var/lib/dracut/overlay - mkdir -pv %{BUILDROOT}/var/lib/initramfs - mkdir -pv %{BUILDROOT}%{localstatedir}/log - touch %{BUILDROOT}%{localstatedir}/log/dracut.log - - mkdir -pv %{BUILDROOT}/etc/logrotate.d - install -m 0644 dracut.logrotate %{BUILDROOT}/etc/logrotate.d/dracut_log end end
@@ -89,19 +80,20 @@ packages requires bash bzip2 + btrfs-progs cpio coreutils device-mapper e2fsprogs eject findutils + gawk gzip iputils kbd kpartx less mdadm - sysvinit systemd >= 187 tar udev diff --git a/dtc/dtc.nm b/dtc/dtc.nm index bc5d85365..db7ab9ae1 100644 --- a/dtc/dtc.nm +++ b/dtc/dtc.nm @@ -4,12 +4,11 @@ ###############################################################################
name = dtc -version = 1.3.0 +version = 1.6.1 release = 1 -thisapp = %{name}-v%{version}
groups = Development/Tools -url = http://git.jdl.com/gitweb/?p=dtc.git;a=summary +url = https://www.devicetree.org/ license = GPLv2+ summary = Device Tree Compiler
@@ -19,8 +18,8 @@ description implementation. end
-sources = %{thisapp}.tgz -source_dl = http://www.jdl.com/software/ +source_dl = https://www.kernel.org/pub/software/utils/dtc/ +sources = %{thisapp}.tar.xz
build requires @@ -28,6 +27,10 @@ build flex end
+ test + make check + end + make_install_targets += PREFIX=/usr LIBDIR=%{libdir}
install_cmds @@ -40,24 +43,10 @@ end packages package %{name}
- package libfdt - template LIBS - - files - %{libdir}/libfdt-%{version}.so - %{libdir}/libfdt.so.1 - end - end - - package libfdt-devel + package %{name}-devel template DEVEL
- requires += libfdt = %{thisver} - - files - %{includedir} - %{libdir}/libfdt.so - end + files += !%{libdir}/libfdt-%{version}.so end
package %{name}-debuginfo diff --git a/dtc/patches/dtc-check.patch b/dtc/patches/dtc-check.patch deleted file mode 100644 index f3560fda0..000000000 --- a/dtc/patches/dtc-check.patch +++ /dev/null @@ -1,65 +0,0 @@ -From jwboyer@linux.vnet.ibm.com Tue Jun 28 08:47:09 2011 -Date: Tue, 28 Jun 2011 08:47:09 -0400 -From: Josh Boyer jwboyer@linux.vnet.ibm.com -To: Jon Loeliger jdl@jdl.com -Cc: linuxppc-dev@lists.ozlabs.org -Subject: [PATCH] dtc: Remove unused check variable -Message-ID: 20110628124709.GC10237@zod.rchland.ibm.com -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii -Content-Disposition: inline -User-Agent: Mutt/1.5.21 (2010-09-15) -Status: RO -Content-Length: 1315 -Lines: 49 - -Commit 376ab6f2 removed the old style check functionality from DTC, -however the check option and variable were not removed. This leads to -build failures when -Werror=unused-but-set-variable is specified: - - dtc.c: In function 'main': - dtc.c:102:17: error: variable 'check' set but not used [-Werror=unused-but-set-variable] - cc1: all warnings being treated as errors - make: *** [dtc.o] Error 1 - make: *** Waiting for unfinished jobs.... - -Remove the check variable. - -Signed-off-by: Josh Boyer jwboyer@linux.vnet.ibm.com - ---- - -t a/dtc.c b/dtc.c -index cbc0193..15d2fc2 100644 ---- a/dtc.c -+++ b/dtc.c -@@ -99,7 +99,7 @@ int main(int argc, char *argv[]) - const char *inform = "dts"; - const char *outform = "dts"; - const char *outname = "-"; -- int force = 0, check = 0, sort = 0; -+ int force = 0, sort = 0; - const char *arg; - int opt; - FILE *outf = NULL; -@@ -111,7 +111,7 @@ int main(int argc, char *argv[]) - minsize = 0; - padsize = 0; - -- while ((opt = getopt(argc, argv, "hI:O:o:V:R:S:p:fcqb:vH:s")) != EOF) { -+ while ((opt = getopt(argc, argv, "hI:O:o:V:R:S:p:fqb:vH:s")) != EOF) { - switch (opt) { - case 'I': - inform = optarg; -@@ -137,9 +137,6 @@ int main(int argc, char *argv[]) - case 'f': - force = 1; - break; -- case 'c': -- check = 1; -- break; - case 'q': - quiet++; - break; - - diff --git a/dtc/patches/dtc-flattree.patch b/dtc/patches/dtc-flattree.patch deleted file mode 100644 index c8ba01078..000000000 --- a/dtc/patches/dtc-flattree.patch +++ /dev/null @@ -1,52 +0,0 @@ -From jwboyer@linux.vnet.ibm.com Tue Jun 28 09:42:53 2011 -Date: Tue, 28 Jun 2011 09:42:53 -0400 -From: Josh Boyer jwboyer@linux.vnet.ibm.com -To: jdl@jdl.com, david@gibson.dropbear.id.au -Cc: linuxppc-dev@lists.ozlabs.org -Subject: [PATCH] dtc: Remove unused variable in flat_read_mem_reserve -Message-ID: 20110628134253.GD10237@zod.rchland.ibm.com -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii -Content-Disposition: inline -User-Agent: Mutt/1.5.21 (2010-09-15) -Status: RO -Content-Length: 1865 -Lines: 68 - -The *p variable is declared and used to save inb->ptr, however p is -later never used. This has been the case since commit 6c0f3676 and can -lead to build failures with -Werror=unused-but-set-variable: - - flattree.c: In function 'flat_read_mem_reserve': - flattree.c:700:14: error: variable 'p' set but not used [-Werror=unused-but-set-variable] - cc1: all warnings being treated as errors - make: *** [flattree.o] Error 1 - -Remove the variable. - -Signed-off-by: Josh Boyer jwboyer@linux.vnet.ibm.com - ---- - -diff --git a/flattree.c b/flattree.c -index ead0332..28d0b23 100644 ---- a/flattree.c -+++ b/flattree.c -@@ -697,7 +697,6 @@ static struct reserve_info *flat_read_mem_reserve(struct inbuf *inb) - { - struct reserve_info *reservelist = NULL; - struct reserve_info *new; -- const char *p; - struct fdt_reserve_entry re; - - /* -@@ -706,7 +705,6 @@ static struct reserve_info *flat_read_mem_reserve(struct inbuf *inb) - * - * First pass, count entries. - */ -- p = inb->ptr; - while (1) { - flat_read_chunk(inb, &re, sizeof(re)); - re.address = fdt64_to_cpu(re.address); - - diff --git a/eggdbus/eggdbus.nm b/eggdbus/eggdbus.nm deleted file mode 100644 index fe158655b..000000000 --- a/eggdbus/eggdbus.nm +++ /dev/null @@ -1,45 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = eggdbus -version = 0.6 -release = 1 - -groups = System/Libraries -url = http://cgit.freedesktop.org/~david/eggdbus -license = LGPLv2+ -summary = Experimental D-Bus bindings for GObject. - -description - Experimental D-Bus bindings for GObject. -end - -source_dl = - -build - requires - dbus-devel - dbus-glib-devel - glib2-devel - end - - configure_options += \ - --disable-static - - PARALLELISMFLAGS = # off -end - -packages - package %{name} - end - - package %{name}-devel - template DEVEL - end - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/elinks/elinks.nm b/elinks/elinks.nm index 82cc8b04c..9e72b941d 100644 --- a/elinks/elinks.nm +++ b/elinks/elinks.nm @@ -4,15 +4,13 @@ ###############################################################################
name = elinks -version = 0.12 -ver_suffix = pre6 -release = 1.%{ver_suffix} -thisapp = %{name}-%{version}%{ver_suffix} +version = 0.16.0 +release = 1
groups = Applications/Internet -url = http://elinks.or.cz/ +url = https://elinks.or.cz/ license = GPLv2 -summary = Full-Featured Text WWW Browser. +summary = Full-Featured Text WWW Browser
description ELinks is an advanced and well-established feature-rich text mode \ @@ -21,21 +19,31 @@ description It is quite portable and runs on a variety of platforms. end
-source_dl = http://elinks.or.cz/download/ +source_dl = https://github.com/rkd77/elinks/archive/v%%7Bversion%7D.tar.gz#/ sources = %{thisapp}.tar.bz2
build requires + autoconf + automake + bzip2-devel expat-devel - gdbm-devel - gnutls-devel libidn-devel + libtool openssl-devel + xz-devel zlib-devel + zstd-devel + end + + # Parallel build is not supported + PARALLELISMFLAGS = + + prepare_cmds + ./autogen.sh end
configure_options += \ - --enable-bittorrent \ --enable-256-colors
install_cmds @@ -46,7 +54,6 @@ end
packages package %{name} - end
package %{name}-debuginfo template DEBUGINFO diff --git a/flashrom/flashrom.nm b/flashrom/flashrom.nm index e27f69486..331f8ee9b 100644 --- a/flashrom/flashrom.nm +++ b/flashrom/flashrom.nm @@ -4,8 +4,9 @@ ###############################################################################
name = flashrom -version = 1.0 +version = 1.2 release = 1 +thisapp = %{name}-v%{version}
groups = Development/Tools url = https://www.flashrom.org @@ -25,7 +26,6 @@ sources = %{thisapp}.tar.bz2
build requires - libusb-compat-devel libusb-devel pciutils-devel end diff --git a/gc/gc.nm b/gc/gc.nm deleted file mode 100644 index c7bbb008f..000000000 --- a/gc/gc.nm +++ /dev/null @@ -1,68 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = gc -version = 7.4.2 -release = 1.1 - -groups = System/Libraries -url = http://www.hboehm.info/gc/ -license = BSD -summary = A garbage collector for C and C++. - -description - The Boehm-Demers-Weiser conservative garbage collector can be - used as a garbage collecting replacement for C malloc or C++ new. -end - -source_dl = http://www.hboehm.info/gc/gc_source/ - -build - requires - autoconf - automake - libatomic_ops-devel - libtool - end - - # bugzilla.redhat.com/689877 - export CPPFLAGS = -DUSE_GET_STACKBASE_FOR_MAIN - - prepare_cmds - rm -f libtool libtool.m4 - autoreconf -vfi - end - - configure_options += \ - --disable-static \ - --enable-cplusplus \ - --enable-large-config \ - --enable-threads=posix - - if "%{DISTRO_PLATFORM}" == "x86" - configure_options += --enable-parallel-mark - end - - test - # Disabled because gctest hangs for ever on armv5tel - #make check - end - - install_cmds - rm -rvf %{BUILDROOT}%{datadir}/gc - end -end - -packages - package %{name} - - package %{name}-devel - template DEVEL - end - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/ghostscript/ghostscript.nm b/ghostscript/ghostscript.nm index a6a97703d..0cb6bf9e4 100644 --- a/ghostscript/ghostscript.nm +++ b/ghostscript/ghostscript.nm @@ -4,11 +4,11 @@ ###############################################################################
name = ghostscript -version = 9.14 -release = 2 +version = 10.0.0 +release = 1
groups = Applications/Printing -url = http://ghostscript.com +url = https://ghostscript.com license = GPL summary = An interpreter for the PostScript language and for PDF.
@@ -26,53 +26,47 @@ description language and in PDF. end
-source_dl = http://downloads.ghostscript.com/public/ +source_dl = https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10...
build requires - autoconf - automake cups-devel >= 1.1.13 dbus-devel expat-devel freetype-devel + fontconfig-devel glib2-devel gnutls-devel + jbig2dec-devel lcms2-devel >= 2.4 libidn-devel libjpeg-devel libpng-devel libtiff-devel - libtool libxml2-devel + openjpeg2-devel unzip zlib-devel end
prepare_cmds - # Fix build with local zlib. - sed -i 's/ZLIBDIR=src/ZLIBDIR=$includedir/' configure.ac - - # Remove shipped source code. - rm -rvf expat freetype icclib jasper jpeg jpegxr lcms lcms2 \ - libpng openjpeg zlib cups/libs - - autoconf --force + # Remove shipped source code + rm -rvf tesseract leptonica + rm -rvf cups/libs expat ijs jbig2dec jpeg lcms2mt libpng openjpeg tiff zlib + rm -rvf gpdl + rm -rvf Resource/CMap end
- CFLAGS += -fno-strict-aliasing - configure_options += \ - --with-ijs \ - --enable-dynamic \ --with-drivers=ALL \ - --disable-compile-inits \ + --enable-fontconfig \ + --enable-freetype \ + --enable-openjpeg \ --with-system-libtiff \ - --with-install-cups \ - \ - CFLAGS="%{CFLAGS}" - - PARALLELISMFLAGS = # Disable this + --with-libpaper \ + --disable-compile-inits \ + --without-versioned-path \ + --without-ijs end
packages diff --git a/gperf/gperf.nm b/gperf/gperf.nm index acdd33b99..5f9ad58c4 100644 --- a/gperf/gperf.nm +++ b/gperf/gperf.nm @@ -4,11 +4,11 @@ ###############################################################################
name = gperf -version = 3.0.4 -release = 0 +version = 3.1 +release = 1
groups = Development/Tools -url = http://www.gnu.org/software/gperf/ +url = https://www.gnu.org/software/gperf/ license = GPLv2+ summary = A perfect hash function generator.
@@ -19,7 +19,7 @@ description using exactly one probe into the data structure. end
-source_dl = +source_dl = https://ftp.gnu.org/pub/gnu/gperf/
build requires @@ -27,11 +27,14 @@ build end
configure_options += --disable-static + + test + make check + end end
packages package %{name} - end
package %{name}-debuginfo template DEBUGINFO diff --git a/guile/guile.nm b/guile/guile.nm deleted file mode 100644 index 75b3ae2e0..000000000 --- a/guile/guile.nm +++ /dev/null @@ -1,62 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = guile -version = 2.2.4 -release = 1 - -groups = Development/Tools -url = http://www.gnu.org/software/guile/ -license = GPLv2+ and LGPLv2+ and GFDL and OFSFDL -summary = A GNU implementation of Scheme for application extensibility. - -description - GUILE (GNU's Ubiquitous Intelligent Language for Extension) is a library - implementation of the Scheme programming language, written in C. GUILE - provides a machine-independent execution platform that can be linked in - as a library during the building of extensible programs. -end - -source_dl = https://ftp.gnu.org/gnu/%%7Bname%7D/ - -build - requires - gc-devel - gettext-devel - gmp-devel - libffi-devel >= 3.0.13 - libtool-devel - libunistring-devel - readline-devel - end - - configure_options += \ - --disable-static \ - --disable-error-on-warning - - export LD_LIBRARY_PATH = %{DIR_APP}/libguile/.libs - - test - make check - end -end - -packages - package %{name} - - package %{name}-devel - template DEVEL - - requires - gc-devel - gmp-devel - libtool-devel - end - end - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/iw/iw.nm b/iw/iw.nm index 7d8bf2450..b99d54986 100644 --- a/iw/iw.nm +++ b/iw/iw.nm @@ -4,13 +4,13 @@ ###############################################################################
name = iw -version = 5.0.1 +version = 5.9 release = 1
groups = System/Base -url = http://www.linuxwireless.org/en/users/Documentation/iw +url = https://www.linuxwireless.org/en/users/Documentation/iw license = BSD -summary = A nl80211 based wireless configuration tool. +summary = A nl80211 based wireless configuration tool
description iw is a new nl80211 based CLI configuration utility for wireless diff --git a/jbig2dec/jbig2dec.nm b/jbig2dec/jbig2dec.nm new file mode 100644 index 000000000..9b618f536 --- /dev/null +++ b/jbig2dec/jbig2dec.nm @@ -0,0 +1,50 @@ +############################################################################### +# IPFire.org - An Open Source Firewall Solution # +# Copyright (C) - IPFire Development Team info@ipfire.org # +############################################################################### + +name = jbig2dec +version = 0.19 +release = 1 + +groups = System/Libraries +url = https://jbig2dec.com +license = AGPLv3+ +summary = A decoder implementation of the JBIG2 image compression format + +description + jbig2dec is a decoder implementation of the JBIG2 image compression format. + JBIG2 is designed for lossy or lossless encoding of 'bilevel' (1-bit + monochrome) images at moderately high resolution, and in particular scanned + paper documents. In this domain it is very efficient, offering compression + ratios on the order of 100:1. +end + +source_dl = https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs95... + +build + requires + libpng-devel + zlib-devel + end +end + +packages + package %{name} + + package %{name}-libs + template LIBS + end + + package %{name}-devel + template DEVEL + + requires + jbig2dec-libs = %{thisver} + end + end + + package %{name}-debuginfo + template DEBUGINFO + end +end diff --git a/kernel/config-aarch64-generic b/kernel/config-aarch64-generic index 185cfebfe..ee4b41b42 100644 --- a/kernel/config-aarch64-generic +++ b/kernel/config-aarch64-generic @@ -42,32 +42,33 @@ CONFIG_BROKEN_GAS_INST=y # # CONFIG_ARCH_ACTIONS is not set CONFIG_ARCH_SUNXI=y -# CONFIG_ARCH_ALPINE is not set +CONFIG_ARCH_ALPINE=y # CONFIG_ARCH_APPLE is not set +CONFIG_ARCH_BCM=y CONFIG_ARCH_BCM2835=y -# CONFIG_ARCH_BCM4908 is not set # CONFIG_ARCH_BCM_IPROC is not set # CONFIG_ARCH_BCMBCA is not set +# CONFIG_ARCH_BRCMSTB is not set CONFIG_ARCH_BERLIN=y # CONFIG_ARCH_BITMAIN is not set -# CONFIG_ARCH_BRCMSTB is not set # CONFIG_ARCH_EXYNOS is not set # CONFIG_ARCH_SPARX5 is not set # CONFIG_ARCH_K3 is not set -# CONFIG_ARCH_LAYERSCAPE is not set # CONFIG_ARCH_LG1K is not set # CONFIG_ARCH_HISI is not set # CONFIG_ARCH_KEEMBAY is not set # CONFIG_ARCH_MEDIATEK is not set CONFIG_ARCH_MESON=y CONFIG_ARCH_MVEBU=y +CONFIG_ARCH_NXP=y +# CONFIG_ARCH_LAYERSCAPE is not set CONFIG_ARCH_MXC=y +# CONFIG_ARCH_S32 is not set # CONFIG_ARCH_NPCM is not set # CONFIG_ARCH_QCOM is not set # CONFIG_ARCH_REALTEK is not set # CONFIG_ARCH_RENESAS is not set CONFIG_ARCH_ROCKCHIP=y -# CONFIG_ARCH_S32 is not set # CONFIG_ARCH_SEATTLE is not set # CONFIG_ARCH_INTEL_SOCFPGA is not set # CONFIG_ARCH_SYNQUACER is not set @@ -106,6 +107,7 @@ CONFIG_ARM64_ERRATUM_1542419=y CONFIG_ARM64_ERRATUM_1508412=y CONFIG_ARM64_ERRATUM_2051678=y CONFIG_ARM64_ERRATUM_2077057=y +CONFIG_ARM64_ERRATUM_2658417=y CONFIG_ARM64_WORKAROUND_TSB_FLUSH_FAILURE=y CONFIG_ARM64_ERRATUM_2054223=y CONFIG_ARM64_ERRATUM_2067961=y @@ -141,7 +143,7 @@ CONFIG_CPU_LITTLE_ENDIAN=y CONFIG_NODES_SHIFT=2 CONFIG_HW_PERF_EVENTS=y # CONFIG_CRASH_DUMP is not set -CONFIG_FORCE_MAX_ZONEORDER=14 +CONFIG_ARCH_FORCE_MAX_ORDER=14 CONFIG_UNMAP_KERNEL_AT_EL0=y CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY=y CONFIG_RODATA_FULL_DEFAULT_ENABLED=y @@ -247,36 +249,12 @@ CONFIG_ACPI_PPTT=y CONFIG_IRQ_BYPASS_MANAGER=y CONFIG_KVM=y # CONFIG_NVHE_EL2_DEBUG is not set -CONFIG_ARM64_CRYPTO=y -CONFIG_CRYPTO_SHA256_ARM64=m -CONFIG_CRYPTO_SHA512_ARM64=m -CONFIG_CRYPTO_SHA1_ARM64_CE=m -CONFIG_CRYPTO_SHA2_ARM64_CE=m -CONFIG_CRYPTO_SHA512_ARM64_CE=m -CONFIG_CRYPTO_SHA3_ARM64=m -# CONFIG_CRYPTO_SM3_ARM64_CE is not set -# CONFIG_CRYPTO_SM4_ARM64_CE is not set -# CONFIG_CRYPTO_SM4_ARM64_CE_BLK is not set -# CONFIG_CRYPTO_SM4_ARM64_NEON_BLK is not set -CONFIG_CRYPTO_GHASH_ARM64_CE=m -# CONFIG_CRYPTO_POLYVAL_ARM64_CE is not set -CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m -CONFIG_CRYPTO_AES_ARM64=m -CONFIG_CRYPTO_AES_ARM64_CE=m -CONFIG_CRYPTO_AES_ARM64_CE_CCM=m -CONFIG_CRYPTO_AES_ARM64_CE_BLK=m -CONFIG_CRYPTO_AES_ARM64_NEON_BLK=m -CONFIG_CRYPTO_CHACHA20_NEON=m -CONFIG_CRYPTO_POLY1305_NEON=m -CONFIG_CRYPTO_NHPOLY1305_NEON=m -CONFIG_CRYPTO_AES_ARM64_BS=m
# # General architecture-dependent options # CONFIG_GENERIC_IDLE_POLL_SETUP=y CONFIG_ARCH_HAS_KEEPINITRD=y -CONFIG_ARCH_SUPPORTS_CFI_CLANG=y CONFIG_ARCH_MMAP_RND_BITS=27 CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y CONFIG_CLONE_BACKWARDS=y @@ -380,6 +358,7 @@ CONFIG_ARM_SCPI_POWER_DOMAIN=m # CONFIG_EFI_PARAMS_FROM_FDT=y CONFIG_EFI_GENERIC_STUB=y +CONFIG_EFI_ZBOOT=y CONFIG_EFI_ARMSTUB_DTB_LOADER=y # end of EFI (Extensible Firmware Interface) Support CONFIG_UEFI_CPER_ARM=y @@ -795,19 +774,10 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_REGULATOR_PWM=m # CONFIG_REGULATOR_TWL4030 is not set CONFIG_REGULATOR_VEXPRESS=m -# CONFIG_IR_ENE is not set -# CONFIG_IR_FINTEK is not set -# CONFIG_IR_ITE_CIR is not set -# CONFIG_IR_MESON is not set -# CONFIG_IR_MESON_TX is not set -# CONFIG_IR_NUVOTON is not set -# CONFIG_IR_SUNXI is not set -CONFIG_CEC_PIN=y
# # CEC support # -# CONFIG_CEC_PIN_ERROR_INJ is not set # CONFIG_CEC_MESON_AO is not set # CONFIG_CEC_MESON_G12A_AO is not set # end of CEC support @@ -832,9 +802,6 @@ CONFIG_DRM_MALI_DISPLAY=m # CONFIG_HSA_AMD is not set # CONFIG_DRM_ROCKCHIP is not set CONFIG_DRM_SUN4I=m -CONFIG_DRM_SUN4I_HDMI=m -CONFIG_DRM_SUN4I_HDMI_CEC=y -CONFIG_DRM_SUN4I_BACKEND=m CONFIG_DRM_SUN6I_DSI=m CONFIG_DRM_SUN8I_DW_HDMI=m CONFIG_DRM_SUN8I_MIXER=m @@ -866,6 +833,13 @@ CONFIG_DRM_LIMA=m CONFIG_DRM_PANFROST=m # CONFIG_DRM_TIDSS is not set
+# +# Frame buffer hardware drivers +# +# CONFIG_FB_ARMCLCD is not set +# CONFIG_FB_IMX is not set +# CONFIG_FB_MX3 is not set + # # Backlight & LCD device support # @@ -973,6 +947,7 @@ CONFIG_SND_SOC_MESON_T9015=m # CONFIG_SND_SUN50I_CODEC_ANALOG is not set # CONFIG_SND_SUN4I_I2S is not set # CONFIG_SND_SUN4I_SPDIF is not set +CONFIG_SND_SUN50I_DMIC=m # end of Allwinner SoC Audio support # CONFIG_SND_SOC_XILINX_I2S is not set CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER=m @@ -1012,12 +987,14 @@ CONFIG_SND_SOC_CS35L35=m CONFIG_SND_SOC_CS35L36=m # CONFIG_SND_SOC_CS35L41_I2C is not set # CONFIG_SND_SOC_CS35L45_I2C is not set +CONFIG_SND_SOC_CS42L42_CORE=m CONFIG_SND_SOC_CS42L42=m CONFIG_SND_SOC_CS42L51=m CONFIG_SND_SOC_CS42L51_I2C=m CONFIG_SND_SOC_CS42L52=m CONFIG_SND_SOC_CS42L56=m CONFIG_SND_SOC_CS42L73=m +CONFIG_SND_SOC_CS42L83=m # CONFIG_SND_SOC_CS4234 is not set CONFIG_SND_SOC_CS4265=m CONFIG_SND_SOC_CS4270=m @@ -1037,6 +1014,7 @@ CONFIG_SND_SOC_HDMI_CODEC=m CONFIG_SND_SOC_ES7134=m CONFIG_SND_SOC_ES7241=m CONFIG_SND_SOC_ES8316=m +CONFIG_SND_SOC_ES8326=m CONFIG_SND_SOC_ES8328=m CONFIG_SND_SOC_ES8328_I2C=m CONFIG_SND_SOC_GTM601=m @@ -1087,6 +1065,8 @@ CONFIG_SND_SOC_SIGMADSP_REGMAP=m CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m # CONFIG_SND_SOC_SIMPLE_MUX is not set CONFIG_SND_SOC_SPDIF=m +CONFIG_SND_SOC_SRC4XXX_I2C=m +CONFIG_SND_SOC_SRC4XXX=m CONFIG_SND_SOC_SSM2305=m # CONFIG_SND_SOC_SSM2518 is not set CONFIG_SND_SOC_SSM2602=m @@ -1230,6 +1210,7 @@ CONFIG_LEDS_PWM=m # CONFIG_EDAC_LEGACY_SYSFS=y CONFIG_EDAC_GHES=y +CONFIG_EDAC_AL_MC=m CONFIG_EDAC_THUNDERX=m CONFIG_EDAC_SYNOPSYS=m CONFIG_EDAC_XGENE=m @@ -1386,6 +1367,7 @@ CONFIG_IOMMU_IO_PGTABLE_LPAE=y # CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set CONFIG_IOMMU_IO_PGTABLE_ARMV7S=y # CONFIG_IOMMU_IO_PGTABLE_ARMV7S_SELFTEST is not set +# CONFIG_IOMMU_IO_PGTABLE_DART is not set # end of Generic IOMMU Pagetable Support CONFIG_ROCKCHIP_IOMMU=y CONFIG_SUN50I_IOMMU=y @@ -1428,6 +1410,7 @@ CONFIG_A64FX_DIAG=y # CONFIG_IMX_GPCV2_PM_DOMAINS=y CONFIG_SOC_IMX8M=y +CONFIG_SOC_IMX9=y # end of i.MX SoC drivers
# @@ -1503,6 +1486,7 @@ CONFIG_ARM_GIC_V2M=y CONFIG_ARM_GIC_V3=y CONFIG_ARM_GIC_V3_ITS=y CONFIG_ARM_GIC_V3_ITS_PCI=y +CONFIG_ALPINE_MSI=y CONFIG_BRCMSTB_L2_IRQ=y CONFIG_DW_APB_ICTL=y CONFIG_SUN6I_R_INTC=y @@ -1517,6 +1501,7 @@ CONFIG_PARTITION_PERCPU=y CONFIG_MESON_IRQ_GPIO=y CONFIG_IMX_IRQSTEER=y CONFIG_IMX_INTMUX=y +CONFIG_IMX_MU_MSI=m # end of IRQ chip support CONFIG_ARCH_HAS_RESET_CONTROLLER=y CONFIG_RESET_BERLIN=m @@ -1566,6 +1551,7 @@ CONFIG_PHY_ROCKCHIP_INNO_CSIDPHY=m CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=m CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHY=m CONFIG_PHY_ROCKCHIP_PCIE=m +CONFIG_PHY_ROCKCHIP_SNPS_PCIE3=m CONFIG_PHY_ROCKCHIP_TYPEC=m CONFIG_PHY_ROCKCHIP_USB=m # end of PHY Subsystem @@ -1586,6 +1572,7 @@ CONFIG_ARM_SMMU_V3_PMU=m CONFIG_XGENE_PMU=y # CONFIG_ARM_SPE_PMU is not set # CONFIG_ARM_DMC620_PMU is not set +# CONFIG_ALIBABA_UNCORE_DRW_PMU is not set # CONFIG_HISI_PMU is not set # CONFIG_HISI_PCIE_PMU is not set # CONFIG_HNS3_PMU is not set @@ -1596,11 +1583,17 @@ CONFIG_XGENE_PMU=y # CONFIG_NVMEM_IMX_IIM=m CONFIG_NVMEM_IMX_OCOTP=m -CONFIG_ROCKCHIP_EFUSE=m -CONFIG_ROCKCHIP_OTP=m -CONFIG_NVMEM_SUNXI_SID=m -CONFIG_MESON_MX_EFUSE=m +CONFIG_NVMEM_MESON_MX_EFUSE=m +CONFIG_NVMEM_ROCKCHIP_EFUSE=m +CONFIG_NVMEM_ROCKCHIP_OTP=m CONFIG_NVMEM_SNVS_LPGPR=m +CONFIG_NVMEM_SUNXI_SID=m + +# +# HW tracing support +# +# CONFIG_HISI_PTT is not set +# end of HW tracing support
# # Multiplexer drivers @@ -1625,8 +1618,36 @@ CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
# -# Random Number Generation +# Userspace interface # +CONFIG_CRYPTO_NHPOLY1305_NEON=m +CONFIG_CRYPTO_CHACHA20_NEON=m + +# +# Accelerated Cryptographic Algorithms for CPU (arm64) +# +CONFIG_CRYPTO_GHASH_ARM64_CE=m +CONFIG_CRYPTO_POLY1305_NEON=m +CONFIG_CRYPTO_SHA1_ARM64_CE=m +CONFIG_CRYPTO_SHA256_ARM64=m +CONFIG_CRYPTO_SHA2_ARM64_CE=m +CONFIG_CRYPTO_SHA512_ARM64=m +CONFIG_CRYPTO_SHA512_ARM64_CE=m +CONFIG_CRYPTO_SHA3_ARM64=m +# CONFIG_CRYPTO_SM3_NEON is not set +# CONFIG_CRYPTO_SM3_ARM64_CE is not set +# CONFIG_CRYPTO_POLYVAL_ARM64_CE is not set +CONFIG_CRYPTO_AES_ARM64=m +CONFIG_CRYPTO_AES_ARM64_CE=m +CONFIG_CRYPTO_AES_ARM64_CE_BLK=m +CONFIG_CRYPTO_AES_ARM64_NEON_BLK=m +CONFIG_CRYPTO_AES_ARM64_BS=m +# CONFIG_CRYPTO_SM4_ARM64_CE is not set +# CONFIG_CRYPTO_SM4_ARM64_CE_BLK is not set +# CONFIG_CRYPTO_SM4_ARM64_NEON_BLK is not set +CONFIG_CRYPTO_AES_ARM64_CE_CCM=m +CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m +# end of Accelerated Cryptographic Algorithms for CPU (arm64) CONFIG_CRYPTO_DEV_ALLWINNER=y CONFIG_CRYPTO_DEV_SUN4I_SS=m CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y @@ -1660,7 +1681,7 @@ CONFIG_CRYPTO_DEV_MARVELL_CESA=m CONFIG_CRYPTO_DEV_CAVIUM_ZIP=m CONFIG_CRYPTO_DEV_ROCKCHIP=m CONFIG_CRYPTO_DEV_HISI_SEC=m -CONFIG_CRYPTO_DEV_HISI_SEC2=m +# CONFIG_CRYPTO_DEV_HISI_SEC2 is not set CONFIG_CRYPTO_DEV_HISI_QM=m CONFIG_CRYPTO_DEV_HISI_ZIP=m CONFIG_CRYPTO_DEV_HISI_HPRE=m diff --git a/kernel/config-generic b/kernel/config-generic index 47ca2b33e..f64928f26 100644 --- a/kernel/config-generic +++ b/kernel/config-generic @@ -28,6 +28,18 @@ CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_BUILD_SALT="" +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_XZ=y +CONFIG_HAVE_KERNEL_LZO=y +CONFIG_HAVE_KERNEL_LZ4=y +CONFIG_HAVE_KERNEL_ZSTD=y +# CONFIG_KERNEL_GZIP is not set +# CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_XZ is not set +# CONFIG_KERNEL_LZO is not set +# CONFIG_KERNEL_LZ4 is not set +CONFIG_KERNEL_ZSTD=y CONFIG_DEFAULT_INIT="" CONFIG_DEFAULT_HOSTNAME="(none)" CONFIG_SYSVIPC=y @@ -172,8 +184,8 @@ CONFIG_CGROUPS=y CONFIG_BLK_CGROUP=y CONFIG_CGROUP_SCHED=y CONFIG_FAIR_GROUP_SCHED=y -# CONFIG_CFS_BANDWIDTH is not set -CONFIG_RT_GROUP_SCHED=y +CONFIG_CFS_BANDWIDTH=y +# CONFIG_RT_GROUP_SCHED is not set CONFIG_CGROUP_PIDS=y # CONFIG_CGROUP_RDMA is not set CONFIG_CGROUP_FREEZER=y @@ -481,6 +493,7 @@ CONFIG_STACKPROTECTOR_STRONG=y CONFIG_ARCH_SUPPORTS_LTO_CLANG=y CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y CONFIG_LTO_NONE=y +CONFIG_ARCH_SUPPORTS_CFI_CLANG=y CONFIG_HAVE_CONTEXT_TRACKING_USER=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y @@ -488,8 +501,11 @@ CONFIG_HAVE_MOVE_PUD=y CONFIG_HAVE_MOVE_PMD=y CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y CONFIG_HAVE_ARCH_HUGE_VMAP=y +CONFIG_HAVE_ARCH_HUGE_VMALLOC=y CONFIG_HAVE_MOD_ARCH_SPECIFIC=y CONFIG_MODULES_USE_ELF_RELA=y +CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y +CONFIG_SOFTIRQ_ON_OWN_STACK=y CONFIG_ARCH_HAS_ELF_RANDOMIZE=y CONFIG_HAVE_ARCH_MMAP_RND_BITS=y CONFIG_PAGE_SIZE_LESS_THAN_256KB=y @@ -695,6 +711,7 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_MEMORY_BALLOON=y CONFIG_BALLOON_COMPACTION=y CONFIG_COMPACTION=y +CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1 CONFIG_PAGE_REPORTING=y CONFIG_MIGRATION=y CONFIG_ARCH_ENABLE_THP_MIGRATION=y @@ -739,6 +756,7 @@ CONFIG_ARCH_HAS_PTE_SPECIAL=y CONFIG_MAPPING_DIRTY_HELPERS=y # CONFIG_ANON_VMA_NAME is not set # CONFIG_USERFAULTFD is not set +# CONFIG_LRU_GEN is not set
# # Data Access Monitoring @@ -808,6 +826,7 @@ CONFIG_INET_ESP=m CONFIG_INET_ESP_OFFLOAD=m # CONFIG_INET_ESPINTCP is not set CONFIG_INET_IPCOMP=m +CONFIG_INET_TABLE_PERTURB_ORDER=16 CONFIG_INET_XFRM_TUNNEL=m CONFIG_INET_TUNNEL=m CONFIG_INET_DIAG=m @@ -1116,7 +1135,6 @@ CONFIG_NET_DSA_TAG_XRS700X=m CONFIG_VLAN_8021Q=y # CONFIG_VLAN_8021Q_GVRP is not set # CONFIG_VLAN_8021Q_MVRP is not set -# CONFIG_DECNET is not set CONFIG_LLC=y # CONFIG_LLC2 is not set # CONFIG_ATALK is not set @@ -1495,7 +1513,8 @@ CONFIG_DMIID=y CONFIG_DMI_SYSFS=y CONFIG_FW_CFG_SYSFS=m # CONFIG_FW_CFG_SYSFS_CMDLINE is not set -# CONFIG_SYSFB_SIMPLEFB is not set +CONFIG_SYSFB=y +CONFIG_SYSFB_SIMPLEFB=y # CONFIG_GOOGLE_FIRMWARE is not set
# @@ -1645,6 +1664,7 @@ CONFIG_MISC_RTSX_USB=m # CONFIG_HABANA_AI is not set # CONFIG_UACCE is not set # CONFIG_PVPANIC is not set +# CONFIG_GP_PCI1XXXX is not set # end of Misc devices
# @@ -1786,6 +1806,7 @@ CONFIG_SATA_PMP=y CONFIG_SATA_AHCI=m CONFIG_SATA_MOBILE_LPM_POLICY=0 CONFIG_SATA_AHCI_PLATFORM=m +CONFIG_AHCI_DWC=m CONFIG_AHCI_CEVA=m CONFIG_AHCI_QORIQ=m CONFIG_SATA_INIC162X=m @@ -2118,6 +2139,7 @@ CONFIG_ICE_SWITCHDEV=y CONFIG_FM10K=m CONFIG_IGC=m CONFIG_NET_VENDOR_WANGXUN=y +CONFIG_NGBE=m CONFIG_TXGBE=m CONFIG_JME=m CONFIG_NET_VENDOR_LITEX=y @@ -2327,6 +2349,7 @@ CONFIG_DP83869_PHY=m CONFIG_DP83TD510_PHY=m CONFIG_VITESSE_PHY=m CONFIG_XILINX_GMII2RGMII=m +# CONFIG_PSE_CONTROLLER is not set CONFIG_MDIO_DEVICE=y CONFIG_MDIO_BUS=y CONFIG_FWNODE_MDIO=y @@ -2359,6 +2382,7 @@ CONFIG_MDIO_BUS_MUX_MMIOREG=m # CONFIG_PCS_XPCS=m CONFIG_PCS_LYNX=m +CONFIG_PCS_ALTERA_TSE=m # end of PCS device drivers
CONFIG_PPP=m @@ -2701,6 +2725,7 @@ CONFIG_WWAN_HWSIM=m CONFIG_MHI_WWAN_CTRL=m CONFIG_MHI_WWAN_MBIM=m CONFIG_RPMSG_WWAN_CTRL=m +CONFIG_IOSM=m CONFIG_MTK_T7XX=m # end of Wireless WAN
@@ -2756,6 +2781,7 @@ CONFIG_KEYBOARD_GPIO_POLLED=m # CONFIG_KEYBOARD_MPR121 is not set # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_OPENCORES is not set +# CONFIG_KEYBOARD_PINEPHONE is not set # CONFIG_KEYBOARD_SAMSUNG is not set # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_KEYBOARD_SUNKBD is not set @@ -2808,6 +2834,7 @@ CONFIG_INPUT_RK805_PWRKEY=m # CONFIG_INPUT_DA9063_ONKEY is not set # CONFIG_INPUT_WM831X_ON is not set # CONFIG_INPUT_ADXL34X is not set +# CONFIG_INPUT_IBM_PANEL is not set # CONFIG_INPUT_IMS_PCU is not set # CONFIG_INPUT_IQS269A is not set # CONFIG_INPUT_IQS626A is not set @@ -2902,6 +2929,7 @@ CONFIG_SERIAL_SC16IS7XX_I2C=y # CONFIG_SERIAL_ALTERA_JTAGUART is not set # CONFIG_SERIAL_ALTERA_UART is not set CONFIG_SERIAL_FSL_LPUART=m +CONFIG_SERIAL_FSL_LPUART_CONSOLE=y # CONFIG_SERIAL_FSL_LINFLEXUART is not set CONFIG_SERIAL_CONEXANT_DIGICOLOR=m # CONFIG_SERIAL_SPRD is not set @@ -2991,7 +3019,7 @@ CONFIG_I2C_MUX_MLXCPLD=m
CONFIG_I2C_HELPER_AUTO=y CONFIG_I2C_SMBUS=m -CONFIG_I2C_ALGOBIT=m +CONFIG_I2C_ALGOBIT=y CONFIG_I2C_ALGOPCA=m
# @@ -3041,6 +3069,7 @@ CONFIG_I2C_XILINX=m # CONFIG_I2C_DIOLAN_U2C=m # CONFIG_I2C_CP2615 is not set +CONFIG_I2C_PCI1XXXX=m CONFIG_I2C_ROBOTFUZZ_OSIF=m # CONFIG_I2C_TAOS_EVM is not set CONFIG_I2C_TINY_USB=m @@ -3112,6 +3141,7 @@ CONFIG_GENERIC_PINCONF=y # CONFIG_DEBUG_PINCTRL is not set CONFIG_PINCTRL_AMD=y CONFIG_PINCTRL_AXP209=m +CONFIG_PINCTRL_CY8C95X0=m CONFIG_PINCTRL_DA9062=m CONFIG_PINCTRL_MAX77620=m CONFIG_PINCTRL_MCP23S08_I2C=m @@ -3172,7 +3202,6 @@ CONFIG_GPIO_AMD_FCH=m # # I2C GPIO expanders # -# CONFIG_GPIO_ADP5588 is not set CONFIG_GPIO_ADNP=m CONFIG_GPIO_GW_PLD=m # CONFIG_GPIO_MAX7300 is not set @@ -3290,6 +3319,7 @@ CONFIG_CHARGER_MAX77693=m # CONFIG_CHARGER_BQ25890 is not set # CONFIG_CHARGER_BQ25980 is not set # CONFIG_CHARGER_BQ256XX is not set +# CONFIG_CHARGER_RK817 is not set # CONFIG_CHARGER_SMB347 is not set # CONFIG_CHARGER_TPS65090 is not set # CONFIG_BATTERY_GAUGE_LTC2941 is not set @@ -3325,7 +3355,6 @@ CONFIG_SENSORS_ADT7475=m # CONFIG_SENSORS_AS370 is not set CONFIG_SENSORS_ASC7621=m # CONFIG_SENSORS_AXI_FAN_CONTROL is not set -CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m # CONFIG_SENSORS_CORSAIR_CPRO is not set # CONFIG_SENSORS_CORSAIR_PSU is not set @@ -3368,6 +3397,7 @@ CONFIG_SENSORS_MAX1619=m CONFIG_SENSORS_MAX1668=m CONFIG_SENSORS_MAX197=m # CONFIG_SENSORS_MAX31730 is not set +CONFIG_SENSORS_MAX31760=m # CONFIG_SENSORS_MAX6620 is not set CONFIG_SENSORS_MAX6621=m CONFIG_SENSORS_MAX6639=m @@ -3447,6 +3477,7 @@ CONFIG_SENSORS_PXE1610=m # CONFIG_SENSORS_STPDDC60 is not set CONFIG_SENSORS_TPS40422=m CONFIG_SENSORS_TPS53679=m +CONFIG_SENSORS_TPS546D24=m CONFIG_SENSORS_UCD9000=m CONFIG_SENSORS_UCD9200=m # CONFIG_SENSORS_XDPE152 is not set @@ -3464,6 +3495,7 @@ CONFIG_SENSORS_SIS5595=m CONFIG_SENSORS_DME1737=m CONFIG_SENSORS_EMC1403=m # CONFIG_SENSORS_EMC2103 is not set +CONFIG_SENSORS_EMC2305=m CONFIG_SENSORS_EMC6W201=m CONFIG_SENSORS_SMSC47M1=m CONFIG_SENSORS_SMSC47M192=m @@ -3584,6 +3616,7 @@ CONFIG_RETU_WATCHDOG=m CONFIG_STPMIC1_WATCHDOG=m CONFIG_ALIM7101_WDT=m CONFIG_I6300ESB_WDT=m +CONFIG_HP_WATCHDOG=m CONFIG_KEMPLD_WDT=m CONFIG_MEN_A21_WDT=m CONFIG_XEN_WDT=m @@ -3671,6 +3704,7 @@ CONFIG_MFD_MAX8925=y CONFIG_MFD_MAX8997=y CONFIG_MFD_MAX8998=y # CONFIG_MFD_MT6360 is not set +# CONFIG_MFD_MT6370 is not set CONFIG_MFD_MT6397=m CONFIG_MFD_MENF21BMC=m CONFIG_MFD_VIPERBOARD=m @@ -3678,15 +3712,17 @@ CONFIG_MFD_VIPERBOARD=m CONFIG_MFD_RETU=m # CONFIG_MFD_PCF50633 is not set # CONFIG_UCB1400_CORE is not set +CONFIG_MFD_SY7636A=m # CONFIG_MFD_RDC321X is not set # CONFIG_MFD_RT4831 is not set CONFIG_MFD_RT5033=m +# CONFIG_MFD_RT5120 is not set CONFIG_MFD_RC5T583=y CONFIG_MFD_RK808=m CONFIG_MFD_RN5T618=y CONFIG_MFD_SEC_CORE=y # CONFIG_MFD_SI476X_CORE is not set -# CONFIG_MFD_SIMPLE_MFD_I2C is not set +CONFIG_MFD_SIMPLE_MFD_I2C=m CONFIG_MFD_SM501=m CONFIG_MFD_SM501_GPIO=y CONFIG_MFD_SKY81452=m @@ -3802,6 +3838,8 @@ CONFIG_REGULATOR_MCP16502=m CONFIG_REGULATOR_MT6311=m # CONFIG_REGULATOR_MT6315 is not set CONFIG_REGULATOR_MT6323=m +CONFIG_REGULATOR_MT6331=m +CONFIG_REGULATOR_MT6332=m # CONFIG_REGULATOR_MT6358 is not set # CONFIG_REGULATOR_MT6359 is not set CONFIG_REGULATOR_MT6397=m @@ -3856,45 +3894,13 @@ CONFIG_REGULATOR_WM8350=m CONFIG_REGULATOR_WM8400=m CONFIG_REGULATOR_WM8994=m # CONFIG_REGULATOR_QCOM_LABIBB is not set -CONFIG_RC_CORE=y -# CONFIG_LIRC is not set -# CONFIG_RC_MAP is not set -CONFIG_RC_DECODERS=y -# CONFIG_IR_IMON_DECODER is not set -CONFIG_IR_JVC_DECODER=m -CONFIG_IR_MCE_KBD_DECODER=m -CONFIG_IR_NEC_DECODER=m -CONFIG_IR_RC5_DECODER=m -CONFIG_IR_RC6_DECODER=m -CONFIG_IR_RCMM_DECODER=m -CONFIG_IR_SANYO_DECODER=m -CONFIG_IR_SHARP_DECODER=m -CONFIG_IR_SONY_DECODER=m -CONFIG_IR_XMP_DECODER=m -CONFIG_RC_DEVICES=y -CONFIG_IR_GPIO_CIR=m -# CONFIG_IR_HIX5HD2 is not set -CONFIG_IR_IGORPLUGUSB=m -CONFIG_IR_IGUANA=m -CONFIG_IR_IMON=m -# CONFIG_IR_IMON_RAW is not set -CONFIG_IR_MCEUSB=m -CONFIG_IR_REDRAT3=m -CONFIG_IR_SERIAL=m -CONFIG_IR_SERIAL_TRANSMITTER=y -CONFIG_IR_STREAMZAP=m -# CONFIG_IR_TOY is not set -CONFIG_IR_TTUSBIR=m -# CONFIG_RC_ATI_REMOTE is not set -CONFIG_RC_LOOPBACK=m -CONFIG_RC_XBOX_DVD=m +# CONFIG_RC_CORE is not set CONFIG_CEC_CORE=m CONFIG_CEC_NOTIFIER=y
# # CEC support # -# CONFIG_MEDIA_CEC_RC is not set CONFIG_MEDIA_CEC_SUPPORT=y # CONFIG_CEC_CH7322 is not set # CONFIG_CEC_GPIO is not set @@ -3907,12 +3913,16 @@ CONFIG_USB_RAINSHADOW_CEC=m # # Graphics support # -CONFIG_DRM=m +CONFIG_APERTURE_HELPERS=y +CONFIG_DRM=y CONFIG_DRM_MIPI_DSI=y -# CONFIG_DRM_DEBUG_SELFTEST is not set -CONFIG_DRM_KMS_HELPER=m +# CONFIG_DRM_DEBUG_MM is not set +CONFIG_DRM_KMS_HELPER=y # CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set # CONFIG_DRM_DEBUG_MODESET_LOCK is not set +CONFIG_DRM_FBDEV_EMULATION=y +CONFIG_DRM_FBDEV_OVERALLOC=100 +# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set # CONFIG_DRM_LOAD_EDID_FIRMWARE is not set CONFIG_DRM_DISPLAY_HELPER=m CONFIG_DRM_DISPLAY_DP_HELPER=y @@ -3923,8 +3933,8 @@ CONFIG_DRM_TTM=m CONFIG_DRM_BUDDY=m CONFIG_DRM_VRAM_HELPER=m CONFIG_DRM_TTM_HELPER=m -CONFIG_DRM_GEM_CMA_HELPER=m -CONFIG_DRM_GEM_SHMEM_HELPER=m +CONFIG_DRM_GEM_DMA_HELPER=m +CONFIG_DRM_GEM_SHMEM_HELPER=y CONFIG_DRM_SCHED=m
# @@ -3983,12 +3993,13 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_VGEM=m CONFIG_DRM_VKMS=m CONFIG_DRM_VMWGFX=m +CONFIG_DRM_VMWGFX_FBCON=y CONFIG_DRM_UDL=m CONFIG_DRM_AST=m CONFIG_DRM_MGAG200=m # CONFIG_DRM_RCAR_DW_HDMI is not set # CONFIG_DRM_RCAR_USE_LVDS is not set -# CONFIG_DRM_RCAR_MIPI_DSI is not set +# CONFIG_DRM_RCAR_USE_MIPI_DSI is not set CONFIG_DRM_QXL=m CONFIG_DRM_VIRTIO_GPU=m CONFIG_DRM_PANEL=y @@ -4103,7 +4114,7 @@ CONFIG_DRM_PANEL_BRIDGE=y CONFIG_DRM_BOCHS=m CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_GM12U320 is not set -# CONFIG_DRM_SIMPLEDRM is not set +CONFIG_DRM_SIMPLEDRM=y CONFIG_DRM_XEN=y CONFIG_DRM_XEN_FRONTEND=m # CONFIG_DRM_GUD is not set @@ -4115,14 +4126,70 @@ CONFIG_DRM_LEGACY=y # CONFIG_DRM_MGA is not set # CONFIG_DRM_VIA is not set # CONFIG_DRM_SAVAGE is not set -CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=m +CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y CONFIG_DRM_NOMODESET=y
# # Frame buffer Devices # CONFIG_FB_CMDLINE=y -# CONFIG_FB is not set +CONFIG_FB_NOTIFY=y +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_SYS_FILLRECT=y +CONFIG_FB_SYS_COPYAREA=y +CONFIG_FB_SYS_IMAGEBLIT=y +# CONFIG_FB_FOREIGN_ENDIAN is not set +CONFIG_FB_SYS_FOPS=y +CONFIG_FB_DEFERRED_IO=y +CONFIG_FB_MODE_HELPERS=y +CONFIG_FB_TILEBLITTING=y + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_PM2 is not set +# CONFIG_FB_CYBER2000 is not set +# CONFIG_FB_ASILIANT is not set +# CONFIG_FB_IMSTT is not set +# CONFIG_FB_UVESA is not set +# CONFIG_FB_EFI is not set +# CONFIG_FB_OPENCORES is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_RIVA is not set +# CONFIG_FB_I740 is not set +# CONFIG_FB_MATROX is not set +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_S3 is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set +# CONFIG_FB_VOODOO1 is not set +# CONFIG_FB_VT8623 is not set +# CONFIG_FB_TRIDENT is not set +# CONFIG_FB_ARK is not set +# CONFIG_FB_PM3 is not set +# CONFIG_FB_CARMINE is not set +# CONFIG_FB_SM501 is not set +# CONFIG_FB_SMSCUFX is not set +# CONFIG_FB_UDL is not set +# CONFIG_FB_IBM_GXT4500 is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_XEN_FBDEV_FRONTEND is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_FB_HYPERV is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_FB_SM712 is not set # end of Frame buffer Devices
# @@ -4162,7 +4229,17 @@ CONFIG_HDMI=y CONFIG_DUMMY_CONSOLE=y CONFIG_DUMMY_CONSOLE_COLUMNS=80 CONFIG_DUMMY_CONSOLE_ROWS=25 +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION is not set +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y +CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y # end of Console display driver support + +CONFIG_LOGO=y +# CONFIG_LOGO_LINUX_MONO is not set +# CONFIG_LOGO_LINUX_VGA16 is not set +CONFIG_LOGO_LINUX_CLUT224=y # end of Graphics support
CONFIG_SOUND=m @@ -4371,6 +4448,7 @@ CONFIG_HID_KYE=y # CONFIG_HID_UCLOGIC is not set # CONFIG_HID_WALTOP is not set # CONFIG_HID_VIEWSONIC is not set +# CONFIG_HID_VRC2 is not set # CONFIG_HID_XIAOMI is not set CONFIG_HID_GYRATION=m # CONFIG_HID_ICADE is not set @@ -4405,11 +4483,12 @@ CONFIG_HID_ORTEK=m CONFIG_HID_PENMOUNT=m CONFIG_HID_PETALYNX=m CONFIG_HID_PICOLCD=m +# CONFIG_HID_PICOLCD_FB is not set CONFIG_HID_PICOLCD_BACKLIGHT=y CONFIG_HID_PICOLCD_LCD=y CONFIG_HID_PICOLCD_LEDS=y -CONFIG_HID_PICOLCD_CIR=y CONFIG_HID_PLANTRONICS=m +# CONFIG_HID_PXRC is not set # CONFIG_HID_RAZER is not set # CONFIG_HID_PRIMAX is not set CONFIG_HID_RETRODE=m @@ -4774,7 +4853,6 @@ CONFIG_MMC_SDHCI_PCI=m CONFIG_MMC_SDHCI_ACPI=m CONFIG_MMC_SDHCI_PLTFM=m CONFIG_MMC_SDHCI_OF_ARASAN=m -CONFIG_MMC_SDHCI_OF_ASPEED=m CONFIG_MMC_SDHCI_OF_AT91=m CONFIG_MMC_SDHCI_OF_DWCMSHC=m CONFIG_MMC_SDHCI_CADENCE=m @@ -5206,9 +5284,11 @@ CONFIG_COMMON_CLK_AXI_CLKGEN=m CONFIG_COMMON_CLK_PALMAS=m CONFIG_COMMON_CLK_RS9_PCIE=m CONFIG_COMMON_CLK_VC5=m +CONFIG_COMMON_CLK_VC7=m CONFIG_COMMON_CLK_BD718XX=m # CONFIG_COMMON_CLK_FIXED_MMIO is not set # CONFIG_XILINX_VCU is not set +CONFIG_COMMON_CLK_XLNX_CLKWZRD=m CONFIG_HWSPINLOCK=y
# @@ -5383,6 +5463,7 @@ CONFIG_IIO=m # CONFIG_MMA8452 is not set # CONFIG_MMA9551 is not set # CONFIG_MMA9553 is not set +# CONFIG_MSA311 is not set # CONFIG_MXC4005 is not set # CONFIG_MXC6255 is not set # CONFIG_STK8312 is not set @@ -5416,6 +5497,7 @@ CONFIG_IIO=m # CONFIG_QCOM_SPMI_VADC is not set # CONFIG_QCOM_SPMI_ADC5 is not set # CONFIG_RN5T618_ADC is not set +# CONFIG_RICHTEK_RTQ6056 is not set # CONFIG_SD_ADC_MODULATOR is not set # CONFIG_STMPE_ADC is not set # CONFIG_TI_ADC081C is not set @@ -5448,6 +5530,7 @@ CONFIG_IIO=m # Capacitance to digital converters # # CONFIG_AD7150 is not set +# CONFIG_AD7746 is not set # end of Capacitance to digital converters
# @@ -5568,6 +5651,7 @@ CONFIG_HID_SENSOR_IIO_COMMON=m # Inertial measurement units # # CONFIG_BMI160_I2C is not set +# CONFIG_BOSCH_BNO055_I2C is not set # CONFIG_FXOS8700_I2C is not set # CONFIG_KMX61 is not set # CONFIG_INV_ICM42600_I2C is not set @@ -5605,6 +5689,7 @@ CONFIG_HID_SENSOR_IIO_COMMON=m # CONFIG_RPR0521 is not set # CONFIG_SENSORS_LM3533 is not set # CONFIG_LTR501 is not set +# CONFIG_LTRF216A is not set # CONFIG_LV0104CS is not set # CONFIG_MAX44000 is not set # CONFIG_MAX44009 is not set @@ -5818,8 +5903,8 @@ CONFIG_DAX=y # CONFIG_DEV_DAX is not set CONFIG_NVMEM=y CONFIG_NVMEM_SYSFS=y -CONFIG_NVMEM_SPMI_SDAM=m CONFIG_NVMEM_RMEM=m +CONFIG_NVMEM_SPMI_SDAM=m
# # HW tracing support @@ -6264,6 +6349,7 @@ CONFIG_CRYPTO_CRYPTD=y CONFIG_CRYPTO_AUTHENC=m # CONFIG_CRYPTO_TEST is not set CONFIG_CRYPTO_ENGINE=m +# end of Crypto core or helper
# # Public-key cryptography @@ -6274,92 +6360,96 @@ CONFIG_CRYPTO_DH_RFC7919_GROUPS=y CONFIG_CRYPTO_ECC=y CONFIG_CRYPTO_ECDH=m CONFIG_CRYPTO_ECDSA=y -CONFIG_CRYPTO_ECRDSA=m +# CONFIG_CRYPTO_ECRDSA is not set # CONFIG_CRYPTO_SM2 is not set CONFIG_CRYPTO_CURVE25519=m +# end of Public-key cryptography
# -# Authenticated Encryption with Associated Data +# Block ciphers # -CONFIG_CRYPTO_CCM=m -CONFIG_CRYPTO_GCM=m -CONFIG_CRYPTO_CHACHA20POLY1305=m -# CONFIG_CRYPTO_AEGIS128 is not set -CONFIG_CRYPTO_SEQIV=m -CONFIG_CRYPTO_ECHAINIV=m +CONFIG_CRYPTO_AES=y +CONFIG_CRYPTO_AES_TI=m +# CONFIG_CRYPTO_ARIA is not set +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_BLOWFISH_COMMON=m +CONFIG_CRYPTO_CAMELLIA=m +CONFIG_CRYPTO_CAST_COMMON=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_DES=m +# CONFIG_CRYPTO_FCRYPT is not set +CONFIG_CRYPTO_SERPENT=m +# CONFIG_CRYPTO_SM4_GENERIC is not set +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_TWOFISH_COMMON=m +# end of Block ciphers
# -# Block modes +# Length-preserving ciphers and modes # +CONFIG_CRYPTO_ADIANTUM=m +CONFIG_CRYPTO_CHACHA20=m CONFIG_CRYPTO_CBC=m CONFIG_CRYPTO_CFB=m CONFIG_CRYPTO_CTR=y CONFIG_CRYPTO_CTS=m -CONFIG_CRYPTO_ECB=y +CONFIG_CRYPTO_ECB=m +CONFIG_CRYPTO_HCTR2=m +CONFIG_CRYPTO_KEYWRAP=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_OFB=m CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XCTR=m CONFIG_CRYPTO_XTS=m -CONFIG_CRYPTO_KEYWRAP=m CONFIG_CRYPTO_NHPOLY1305=m -CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_HCTR2=m -CONFIG_CRYPTO_ESSIV=m +# end of Length-preserving ciphers and modes
# -# Hash modes +# AEAD (authenticated encryption with associated data) ciphers # -CONFIG_CRYPTO_CMAC=m -CONFIG_CRYPTO_HMAC=y -CONFIG_CRYPTO_XCBC=m -CONFIG_CRYPTO_VMAC=m +# CONFIG_CRYPTO_AEGIS128 is not set +CONFIG_CRYPTO_CHACHA20POLY1305=m +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_ECHAINIV=m +CONFIG_CRYPTO_ESSIV=m +# end of AEAD (authenticated encryption with associated data) ciphers
# -# Digest +# Hashes, digests, and MACs # -CONFIG_CRYPTO_CRC32C=y -CONFIG_CRYPTO_CRC32=m -CONFIG_CRYPTO_XXHASH=m CONFIG_CRYPTO_BLAKE2B=m -CONFIG_CRYPTO_CRCT10DIF=y -CONFIG_CRYPTO_CRC64_ROCKSOFT=y +CONFIG_CRYPTO_CMAC=m CONFIG_CRYPTO_GHASH=m -CONFIG_CRYPTO_POLYVAL=m -CONFIG_CRYPTO_POLY1305=m +CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=m +CONFIG_CRYPTO_POLYVAL=m +CONFIG_CRYPTO_POLY1305=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_SHA3=m -CONFIG_CRYPTO_SM3=m # CONFIG_CRYPTO_SM3_GENERIC is not set -CONFIG_CRYPTO_STREEBOG=m +# CONFIG_CRYPTO_STREEBOG is not set +CONFIG_CRYPTO_VMAC=m CONFIG_CRYPTO_WP512=m +CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_XXHASH=m +# end of Hashes, digests, and MACs
# -# Ciphers +# CRCs (cyclic redundancy checks) # -CONFIG_CRYPTO_AES=y -CONFIG_CRYPTO_AES_TI=m -CONFIG_CRYPTO_BLOWFISH=m -CONFIG_CRYPTO_BLOWFISH_COMMON=m -CONFIG_CRYPTO_CAMELLIA=m -CONFIG_CRYPTO_CAST_COMMON=m -CONFIG_CRYPTO_CAST5=m -CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_DES=m -# CONFIG_CRYPTO_FCRYPT is not set -CONFIG_CRYPTO_CHACHA20=m -# CONFIG_CRYPTO_ARIA is not set -CONFIG_CRYPTO_SERPENT=m -CONFIG_CRYPTO_SM4=m -# CONFIG_CRYPTO_SM4_GENERIC is not set -CONFIG_CRYPTO_TWOFISH=m -CONFIG_CRYPTO_TWOFISH_COMMON=m +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRYPTO_CRC32=m +CONFIG_CRYPTO_CRCT10DIF=y +CONFIG_CRYPTO_CRC64_ROCKSOFT=y +# end of CRCs (cyclic redundancy checks)
# # Compression @@ -6370,9 +6460,10 @@ CONFIG_CRYPTO_842=y CONFIG_CRYPTO_LZ4=y CONFIG_CRYPTO_LZ4HC=m CONFIG_CRYPTO_ZSTD=y +# end of Compression
# -# Random Number Generation +# Random number generation # CONFIG_CRYPTO_ANSI_CPRNG=m CONFIG_CRYPTO_DRBG_MENU=y @@ -6381,11 +6472,24 @@ CONFIG_CRYPTO_DRBG_HASH=y CONFIG_CRYPTO_DRBG_CTR=y CONFIG_CRYPTO_DRBG=y CONFIG_CRYPTO_JITTERENTROPY=y +# end of Random number generation + +# +# Userspace interface +# # CONFIG_CRYPTO_USER_API_HASH is not set # CONFIG_CRYPTO_USER_API_SKCIPHER is not set # CONFIG_CRYPTO_USER_API_RNG is not set # CONFIG_CRYPTO_USER_API_AEAD is not set +# end of Userspace interface + CONFIG_CRYPTO_HASH_INFO=y + +# +# Accelerated Cryptographic Algorithms for CPU (x86) +# +# end of Accelerated Cryptographic Algorithms for CPU (x86) + CONFIG_CRYPTO_HW=y CONFIG_CRYPTO_DEV_ATMEL_I2C=m CONFIG_CRYPTO_DEV_ATMEL_ECC=m @@ -6408,7 +6512,7 @@ CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m CONFIG_CRYPTO_DEV_CHELSIO=m CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DEV_SAFEXCEL=m -CONFIG_CRYPTO_DEV_CCREE=m +# CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_AMLOGIC_GXL=m CONFIG_CRYPTO_DEV_AMLOGIC_GXL_DEBUG=y CONFIG_ASYMMETRIC_KEY_TYPE=y @@ -6457,6 +6561,7 @@ CONFIG_ARCH_USE_SYM_ANNOTATIONS=y # # Crypto library routines # +CONFIG_CRYPTO_LIB_UTILS=y CONFIG_CRYPTO_LIB_AES=y CONFIG_CRYPTO_LIB_ARC4=m CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y @@ -6474,7 +6579,6 @@ CONFIG_CRYPTO_LIB_SHA1=y CONFIG_CRYPTO_LIB_SHA256=y # end of Crypto library routines
-CONFIG_LIB_MEMNEQ=y CONFIG_CRC_CCITT=m CONFIG_CRC16=y CONFIG_CRC_T10DIF=y @@ -6501,6 +6605,7 @@ CONFIG_LZO_DECOMPRESS=y CONFIG_LZ4_COMPRESS=y CONFIG_LZ4HC_COMPRESS=m CONFIG_LZ4_DECOMPRESS=y +CONFIG_ZSTD_COMMON=y CONFIG_ZSTD_COMPRESS=y CONFIG_ZSTD_DECOMPRESS=y CONFIG_XZ_DEC=y @@ -6556,6 +6661,7 @@ CONFIG_CMA_ALIGNMENT=8 # CONFIG_DMA_MAP_BENCHMARK is not set CONFIG_SGL_ALLOC=y CONFIG_CHECK_SIGNATURE=y +# CONFIG_FORCE_NR_CPUS is not set CONFIG_CPU_RMAP=y CONFIG_DQL=y CONFIG_GLOB=y @@ -6573,8 +6679,9 @@ CONFIG_HAVE_GENERIC_VDSO=y CONFIG_GENERIC_GETTIMEOFDAY=y CONFIG_GENERIC_VDSO_TIME_NS=y CONFIG_FONT_SUPPORT=y +# CONFIG_FONTS is not set +CONFIG_FONT_8x8=y CONFIG_FONT_8x16=y -CONFIG_FONT_AUTOSELECT=y CONFIG_SG_POOL=y CONFIG_ARCH_HAS_PMEM_API=y CONFIG_MEMREGION=y @@ -6758,6 +6865,7 @@ CONFIG_DEBUG_LIST=y # CONFIG_DEBUG_SG is not set # CONFIG_DEBUG_NOTIFIERS is not set # CONFIG_BUG_ON_DATA_CORRUPTION is not set +# CONFIG_DEBUG_MAPLE_TREE is not set # end of Debug kernel data structures
# CONFIG_DEBUG_CREDENTIALS is not set @@ -6867,6 +6975,7 @@ CONFIG_REED_SOLOMON_TEST=m # CONFIG_TEST_BITMAP is not set # CONFIG_TEST_UUID is not set # CONFIG_TEST_XARRAY is not set +# CONFIG_TEST_MAPLE_TREE is not set # CONFIG_TEST_RHASHTABLE is not set # CONFIG_TEST_SIPHASH is not set # CONFIG_TEST_IDA is not set @@ -6891,4 +7000,9 @@ CONFIG_ARCH_USE_MEMTEST=y # CONFIG_MEMTEST is not set # CONFIG_HYPERV_TESTING is not set # end of Kernel Testing and Coverage + +# +# Rust hacking +# +# end of Rust hacking # end of Kernel hacking diff --git a/kernel/config-x86_64-generic b/kernel/config-x86_64-generic index 0b2901710..d4e9488f4 100644 --- a/kernel/config-x86_64-generic +++ b/kernel/config-x86_64-generic @@ -2,13 +2,7 @@ # # General setup # -# CONFIG_KERNEL_GZIP is not set # CONFIG_KERNEL_BZIP2 is not set -# CONFIG_KERNEL_LZMA is not set -# CONFIG_KERNEL_XZ is not set -# CONFIG_KERNEL_LZO is not set -# CONFIG_KERNEL_LZ4 is not set -CONFIG_KERNEL_ZSTD=y
# # IRQ subsystem @@ -85,6 +79,7 @@ CONFIG_XEN_PVHVM_GUEST=y CONFIG_XEN_SAVE_RESTORE=y # CONFIG_XEN_DEBUG_FS is not set # CONFIG_XEN_PVH is not set +CONFIG_XEN_PV_MSR_SAFE=y CONFIG_KVM_GUEST=y CONFIG_ARCH_CPUIDLE_HALTPOLL=y # CONFIG_PVH is not set @@ -115,6 +110,7 @@ CONFIG_CPU_SUP_ZHAOXIN=y CONFIG_HPET_TIMER=y CONFIG_HPET_EMULATE_RTC=y CONFIG_GART_IOMMU=y +CONFIG_BOOT_VESA_SUPPORT=y # CONFIG_MAXSMP is not set CONFIG_NR_CPUS_RANGE_BEGIN=2 CONFIG_NR_CPUS_RANGE_END=512 @@ -239,7 +235,8 @@ CONFIG_X86_PM_TIMER=y # CONFIG_X86_INTEL_PSTATE=y CONFIG_X86_PCC_CPUFREQ=m -CONFIG_X86_AMD_PSTATE=m +CONFIG_X86_AMD_PSTATE=y +# CONFIG_X86_AMD_PSTATE_UT is not set CONFIG_X86_ACPI_CPUFREQ=m # CONFIG_X86_ACPI_CPUFREQ_CPB is not set CONFIG_X86_POWERNOW_K8=m @@ -303,7 +300,6 @@ CONFIG_USER_RETURN_NOTIFIER=y CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y CONFIG_MMU_GATHER_MERGE_VMAS=y CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y -CONFIG_SOFTIRQ_ON_OWN_STACK=y CONFIG_ARCH_MMAP_RND_BITS=32 CONFIG_PAGE_SIZE_LESS_THAN_64KB=y CONFIG_ISA_BUS_API=y @@ -311,6 +307,7 @@ CONFIG_ARCH_HAS_MEM_ENCRYPT=y CONFIG_ARCH_HAS_ELFCORE_COMPAT=y CONFIG_ARCH_HAS_PARANOID_L1D_FLUSH=y CONFIG_DYNAMIC_SIGFRAME=y +CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG=y # end of General architecture-dependent options
# @@ -467,8 +464,6 @@ CONFIG_IPW2200_QOS=y # # Wireless WAN # -CONFIG_IOSM=m -# end of Wireless WAN CONFIG_VMXNET3=m
# @@ -663,7 +658,6 @@ CONFIG_SENSORS_VIA_CPUTEMP=m # CONFIG_SENSORS_ATK0110=m # CONFIG_SENSORS_ASUS_WMI is not set -# CONFIG_SENSORS_ASUS_WMI_EC is not set # CONFIG_SENSORS_ASUS_EC is not set
# @@ -695,6 +689,7 @@ CONFIG_INTEL_PCH_THERMAL=m # CONFIG_ADVANTECH_WDT is not set CONFIG_ALIM1535_WDT=m CONFIG_EBC_C384_WDT=m +CONFIG_EXAR_WDT=m CONFIG_F71808E_WDT=m CONFIG_SP5100_TCO=m CONFIG_SBC_FITPC2_WATCHDOG=m @@ -707,7 +702,6 @@ CONFIG_ITCO_WDT=m # CONFIG_ITCO_VENDOR_SUPPORT is not set CONFIG_IT8712F_WDT=m CONFIG_IT87_WDT=m -CONFIG_HP_WATCHDOG=m CONFIG_HPWDT_NMI_DECODING=y # CONFIG_SC1200_WDT is not set # CONFIG_PC87413_WDT is not set @@ -754,11 +748,6 @@ CONFIG_REGULATOR_GPIO=m CONFIG_REGULATOR_LP872X=m CONFIG_REGULATOR_LP8788=m CONFIG_REGULATOR_TWL4030=m -CONFIG_IR_ENE=m -CONFIG_IR_FINTEK=m -CONFIG_IR_ITE_CIR=m -CONFIG_IR_NUVOTON=m -CONFIG_IR_WINBOND_CIR=m
# # CEC support @@ -769,8 +758,7 @@ CONFIG_IR_WINBOND_CIR=m # # Graphics support # -CONFIG_APERTURE_HELPERS=y -CONFIG_AGP=m +CONFIG_AGP=y CONFIG_AGP_AMD64=m CONFIG_AGP_INTEL=m CONFIG_AGP_SIS=m @@ -837,6 +825,18 @@ CONFIG_DRM_VBOXVIDEO=m # CONFIG_DRM_SIS is not set CONFIG_DRM_PRIVACY_SCREEN=y
+# +# Frame buffer hardware drivers +# +# CONFIG_FB_ARC is not set +# CONFIG_FB_VGA16 is not set +# CONFIG_FB_VESA is not set +# CONFIG_FB_N411 is not set +# CONFIG_FB_HGA is not set +# CONFIG_FB_LE80578 is not set +# CONFIG_FB_INTEL is not set +# CONFIG_FB_VIA is not set + # # Backlight & LCD device support # @@ -1001,6 +1001,7 @@ CONFIG_XIAOMI_WMI=m CONFIG_ACERHDF=m # CONFIG_ACER_WIRELESS is not set CONFIG_ACER_WMI=m +CONFIG_AMD_PMF=m # CONFIG_AMD_PMC is not set # CONFIG_AMD_HSMP is not set # CONFIG_ADV_SWBUTTON is not set @@ -1175,41 +1176,12 @@ CONFIG_INTEL_TXT=y # Crypto core or helper # CONFIG_CRYPTO_SIMD=m +# end of Crypto core or helper
# -# Public-key cryptography +# Accelerated Cryptographic Algorithms for CPU (x86) # CONFIG_CRYPTO_CURVE25519_X86=m - -# -# Authenticated Encryption with Associated Data -# -# CONFIG_CRYPTO_AEGIS128_AESNI_SSE2 is not set - -# -# Block modes -# -CONFIG_CRYPTO_NHPOLY1305_SSE2=m -CONFIG_CRYPTO_NHPOLY1305_AVX2=m - -# -# Digest -# -CONFIG_CRYPTO_CRC32C_INTEL=m -CONFIG_CRYPTO_CRC32_PCLMUL=m -CONFIG_CRYPTO_BLAKE2S_X86=y -CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m -CONFIG_CRYPTO_POLYVAL_CLMUL_NI=m -CONFIG_CRYPTO_POLY1305_X86_64=m -CONFIG_CRYPTO_SHA1_SSSE3=m -CONFIG_CRYPTO_SHA256_SSSE3=m -CONFIG_CRYPTO_SHA512_SSSE3=m -# CONFIG_CRYPTO_SM3_AVX_X86_64 is not set -CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m - -# -# Ciphers -# CONFIG_CRYPTO_AES_NI_INTEL=m CONFIG_CRYPTO_BLOWFISH_X86_64=m CONFIG_CRYPTO_CAMELLIA_X86_64=m @@ -1218,7 +1190,6 @@ CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m CONFIG_CRYPTO_CAST5_AVX_X86_64=m CONFIG_CRYPTO_CAST6_AVX_X86_64=m CONFIG_CRYPTO_DES3_EDE_X86_64=m -CONFIG_CRYPTO_CHACHA20_X86_64=m CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m CONFIG_CRYPTO_SERPENT_AVX_X86_64=m CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m @@ -1227,10 +1198,23 @@ CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m CONFIG_CRYPTO_TWOFISH_X86_64=m CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m - -# -# Random Number Generation -# +# CONFIG_CRYPTO_ARIA_AESNI_AVX_X86_64 is not set +CONFIG_CRYPTO_CHACHA20_X86_64=m +# CONFIG_CRYPTO_AEGIS128_AESNI_SSE2 is not set +CONFIG_CRYPTO_NHPOLY1305_SSE2=m +CONFIG_CRYPTO_NHPOLY1305_AVX2=m +CONFIG_CRYPTO_BLAKE2S_X86=y +CONFIG_CRYPTO_POLYVAL_CLMUL_NI=m +CONFIG_CRYPTO_POLY1305_X86_64=m +CONFIG_CRYPTO_SHA1_SSSE3=m +CONFIG_CRYPTO_SHA256_SSSE3=m +CONFIG_CRYPTO_SHA512_SSSE3=m +# CONFIG_CRYPTO_SM3_AVX_X86_64 is not set +CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m +CONFIG_CRYPTO_CRC32C_INTEL=m +CONFIG_CRYPTO_CRC32_PCLMUL=m +CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m +# end of Accelerated Cryptographic Algorithms for CPU (x86) CONFIG_CRYPTO_DEV_PADLOCK=m CONFIG_CRYPTO_DEV_PADLOCK_AES=m CONFIG_CRYPTO_DEV_PADLOCK_SHA=m diff --git a/kernel/kernel.nm b/kernel/kernel.nm index ad1808469..caa9f4036 100644 --- a/kernel/kernel.nm +++ b/kernel/kernel.nm @@ -4,7 +4,7 @@ ###############################################################################
name = kernel -version = 6.0.6 +version = 6.1.4 release = 4 thisapp = linux-%{version}
diff --git a/lcms2/lcms2.nm b/lcms2/lcms2.nm index d97c05c3c..9c1d32ffd 100644 --- a/lcms2/lcms2.nm +++ b/lcms2/lcms2.nm @@ -4,11 +4,11 @@ ###############################################################################
name = lcms2 -version = 2.8 +version = 2.14 release = 1
groups = System/Tools -url = http://www.littlecms.com/ +url = https://www.littlecms.com/ license = MIT summary = Color Management Engine.
@@ -18,7 +18,7 @@ description parallel installed with the original (deprecated) lcms. end
-source_dl = http://www.littlecms.com/ +source_dl = https://sourceforge.net/projects/lcms/files/lcms/%%7Bversion%7D/
build requires @@ -28,13 +28,6 @@ build zlib-devel end
- prepare_cmds - # for aarch64 - for i in $(find . -name config.guess -or -name config.sub); do - cp -vf %{datadir}/automake-*/config.{guess,sub} $(dirname ${i}) - done - end - configure_options +=\ --disable-static \ --program-suffix=2 diff --git a/libdaemon/libdaemon.nm b/libdaemon/libdaemon.nm index 84ebf82e5..f62fea112 100644 --- a/libdaemon/libdaemon.nm +++ b/libdaemon/libdaemon.nm @@ -8,25 +8,18 @@ version = 0.14 release = 1
groups = System/Libraries -url = http://0pointer.de/lennart/projects/libdaemon/ +url = https://0pointer.de/lennart/projects/libdaemon/ license = LGPLv2+ -summary = Library for writing UNIX daemons. +summary = Library for writing UNIX daemons
description libdaemon is a lightweight C library which eases the writing of UNIX daemons. end
-source_dl = - -build - configure_options += \ - --bindir=/bin \ - --mandir=/usr/share/man -end +source_dl = https://0pointer.de/lennart/projects/libdaemon/
packages package %{name} - end
package %{name}-devel template DEVEL diff --git a/libepoxy/libepoxy.nm b/libepoxy/libepoxy.nm deleted file mode 100644 index b7729acb6..000000000 --- a/libepoxy/libepoxy.nm +++ /dev/null @@ -1,44 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = libepoxy -version = 1.3.1 -release = 1 - -groups = System/Libraries -url = https://github.com/anholt/libepoxy -license = MIT -summary = Epoxy is a library for handling OpenGL function pointer management - -description - Epoxy is a library for handling OpenGL function pointer management for you. - - It hides the complexity of dlopen(), dlsym(), glXGetProcAddress(), - eglGetProcAddress(), etc. from the app developer, with very little - knowledge needed on their part. They get to read GL specs and write - code using undecorated function names like glCompileShader(). -end - -source_dl = https://github.com/anholt/libepoxy/releases/download/v%%7Bversion%7D/ -sources = %{thisapp}.tar.bz2 - -build - requires - libEGL-devel - xorg-x11-util-macros - end -end - -packages - package %{name} - - package %{name}-devel - template DEVEL - end - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/libevent/libevent.nm b/libevent/libevent.nm index f2c8ef13a..8d5a05d88 100644 --- a/libevent/libevent.nm +++ b/libevent/libevent.nm @@ -4,13 +4,14 @@ ###############################################################################
name = libevent -version = 2.0.22 -release = 2.1 +version = 2.1.12 +release = 1 +thisapp = %{name}-%{version}-stable
groups = Development/Tools -url = http://libevent.org +url = https://libevent.org license = BSD -summary = Abstract asynchronous event notification library. +summary = Abstract asynchronous event notification library
description The libevent API provides a mechanism to execute a callback @@ -22,12 +23,9 @@ description change the event loop. end
-source_dl = http://sourceforge.net/projects/levent/files/%%7Bname%7D/libevent-2.0/ -sources = %{thisapp}-stable.tar.gz +source_dl = https://github.com/libevent/libevent/releases/download/release-%%7Bversion%7...
build - DIR_APP = %{DIR_SRC}/%{thisapp}-stable - requires openssl-devel end diff --git a/libnet/libnet.nm b/libnet/libnet.nm deleted file mode 100644 index 8717ef1ff..000000000 --- a/libnet/libnet.nm +++ /dev/null @@ -1,37 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = libnet -version = 1.1.6 -release = 1 - -groups = System/Libraries -url = http://www.sourceforge.net/projects/libnet-dev/ -license = BSD -summary = C library for portable packet creation and injection. - -description - Libnet is an API to help with the construction and handling of \ - network packets. It provides a portable framework for low-level \ - network packet writing and handling (use libnet in conjunction \ - with libpcap and you can write some really cool stuff). Libnet \ - includes packet creation at the IP layer and at the link layer \ - as well as a host of supplementary and complementary functionality. -end - -source_dl = https://sourceforge.net/projects/libnet-dev/files/ - -packages - package %{name} - end - - package %{name}-devel - template DEVEL - end - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/libstatgrab/libstatgrab.nm b/libstatgrab/libstatgrab.nm deleted file mode 100644 index e509cefc5..000000000 --- a/libstatgrab/libstatgrab.nm +++ /dev/null @@ -1,41 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = libstatgrab -version = 0.91 -release = 1 - -groups = System/Libraries -url = http://www.i-scream.org/libstatgrab/ -license = GNUv2 -summary = Provides access to statistics about the system. - -description - libstatgrab is a library that provides statistics about the system on - which it's run. It's written in C and presents a selection of useful - interfaces which can be used to access key system statistics. - The current list of statistics includes CPU usage, memory utilisation, - disk usage, process counts, network traffic, disk I/O, and more. -end - -source_dl = ftp://ftp.uk.i-scream.org/pub/i-scream/libstatgrab/ - -build - requires - ncurses-devel - end -end - -packages - package %{name} - - package %{name}-devel - template DEVEL - end - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/libusb-compat/libusb-compat.nm b/libusb-compat/libusb-compat.nm deleted file mode 100644 index a2c594534..000000000 --- a/libusb-compat/libusb-compat.nm +++ /dev/null @@ -1,55 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = libusb-compat -version = 0.1.12 -release = 2 -thisapp = libusb-%{version} - -groups = System/Libraries -url = http://sourceforge.net/projects/libusb/ -license = LGPLv2+ -summary = A library which allows userspace access to USB devices. - -description - This package provides a way for applications to access USB devices. -end - -source_dl = - -build - requires - gcc-c++ - pkg-config - end - - configure_options += \ - --libdir=/%{lib} \ - --disable-build-docs \ - --disable-static - - install_cmds - mkdir -pv %{BUILDROOT}%{libdir} - mv -v %{BUILDROOT}/%{lib}/pkgconfig %{BUILDROOT}%{libdir} - - rm -vf %{BUILDROOT}%{libdir}/libusb{,pp}-0.1.so - ln -svf ../../%{lib}/libusb-0.1.so.4 %{BUILDROOT}%{libdir}/libusb.so - ln -svf ../../%{lib}/libusb-0.1.so.4 %{BUILDROOT}%{libdir}/libusb-0.1.so - ln -svf ../../%{lib}/libusbpp-0.1.so.4 %{BUILDROOT}%{libdir}/libusbpp.so - ln -svf ../../%{lib}/libusbpp-0.1.so.4 %{BUILDROOT}%{libdir}/libusbpp-0.1.so - end -end - -packages - package %{name} - - package %{name}-devel - template DEVEL - end - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/libusb/libusb.nm b/libusb/libusb.nm index a9eaded00..f1d93af54 100644 --- a/libusb/libusb.nm +++ b/libusb/libusb.nm @@ -4,13 +4,13 @@ ###############################################################################
name = libusb -version = 1.0.20 +version = 1.0.26 release = 1
groups = System/Libraries -url = http://sourceforge.net/apps/mediawiki/libusb/ +url = https://sourceforge.net/projects/libusb/ license = LGPLv2+ -summary = A library which allows userspace access to USB devices. +summary = A library which allows userspace access to USB devices
description This package provides a way for applications to access USB devices. @@ -26,7 +26,7 @@ build
configure_options += \ --disable-static \ - --enable-examples-build + --disable-examples-build end
packages diff --git a/libvirt/libvirt.nm b/libvirt/libvirt.nm index cf398d385..7d27308a0 100644 --- a/libvirt/libvirt.nm +++ b/libvirt/libvirt.nm @@ -4,12 +4,12 @@ ###############################################################################
name = libvirt -version = 2.4.0 -release = 2 +version = 8.10.0 +release = 1
maintainer = Jonatan Schlag jonatan.schlag@ipfire.org groups = Applications/Virtualization -url = http://www.libvirt.org/ +url = https://www.libvirt.org/ license = LGPLv2.1+ summary = A library for controlling VMs.
@@ -18,58 +18,123 @@ description versions of Linux. end
-source_dl = ftp://libvirt.org/libvirt/ +source_dl = https://libvirt.org/sources/ sources = %{thisapp}.tar.xz
build requires avahi-devel + bash-completion-devel cyrus-sasl-devel + fuse-devel gnutls-devel + iproute2 + libacl-devel + libcap-ng-devel libcurl-devel libgcrypt-devel libnl-devel libdevmapper-devel + libnl3-devel + libpcap-devel libpciaccess-devel libssh2-devel + libtirpc-devel libtool libudev-devel libxml2-devel + libxslt lvm2 + meson + ninja openssl-devel parted-devel perl-core pkg-config - python-devel + python3-devel readline-devel + rpcsvc-proto + yajl-devel /bin/mount /bin/umount end
- configure_options += \ - --libexecdir=/usr/lib \ - --disable-static \ - --with-qemu \ - --without-vmware \ - --without-esx \ - --without-phyp \ - --without-hal \ - --without-lxc \ - --without-openvz \ - --without-polkit \ - --without-uml \ - --without-vbox \ - --without-xen \ - --with-storage-fs \ - --with-storage-lvm \ - --with-storage-mpath \ - --with-storage-disk \ - --with-avahi \ - --with-udev \ - --without-secdriver-selinux \ - --without-selinux \ - --without-selinux-mount \ - --with-libvirtd + build + %{meson} \ + -Drunstatedir=%{rundir} \ + -Ddriver_qemu=enabled \ + -Ddriver_openvz=disabled \ + -Ddriver_lxc=disabled \ + -Ddriver_vbox=disabled \ + -Ddriver_libxl=disabled \ + -Dsasl=enabled \ + -Dpolkit=enabled \ + -Ddriver_libvirtd=enabled \ + -Ddriver_remote=enabled \ + -Ddriver_test=enabled \ + -Ddriver_esx=disabled \ + -Dcurl=disabled \ + -Ddriver_hyperv=disabled \ + -Dopenwsman=disabled \ + -Ddriver_vmware=disabled \ + -Ddriver_vz=disabled \ + -Ddriver_bhyve=disabled \ + -Ddriver_ch=disabled \ + -Ddriver_interface=enabled \ + -Ddriver_network=enabled \ + -Dstorage_fs=enabled \ + -Dstorage_lvm=enabled \ + -Dstorage_iscsi=disabled \ + -Dstorage_scsi=enabled \ + -Dstorage_disk=enabled \ + -Dstorage_mpath=disabled \ + -Dstorage_rbd=disabled \ + -Dstorage_gluster=disabled \ + -Dglusterfs=disabled \ + -Dstorage_zfs=disabled \ + -Dstorage_vstorage=disabled \ + -Dnumactl=disabled \ + -Dnumad=disabled \ + -Dcapng=enabled \ + -Dfuse=enabled \ + -Dsanlock=disabled \ + -Dfirewalld_zone=disabled \ + -Dnetcf=disabled \ + -Dselinux=disabled \ + -Dsecdriver_selinux=disabled \ + -Dapparmor=disabled \ + -Dapparmor_profiles=disabled \ + -Dsecdriver_apparmor=disabled \ + -Dudev=enabled \ + -Dyajl=enabled \ + -Dlibpcap=enabled \ + -Dlibnl=enabled \ + -Daudit=disabled \ + -Ddtrace=disabled \ + -Dfirewalld=disabled \ + -Dwireshark_dissector=disabled \ + -Dstorage_iscsi_direct=disabled \ + -Dlibiscsi=disabled \ + -Dlibssh=disabled \ + -Dlibssh2=enabled \ + -Dpm_utils=disabled \ + -Dnss=enabled \ + -Dexpensive_tests=enabled \ + -Dinit_script=systemd \ + -Ddocs=disabled \ + -Dtests=enabled \ + -Drpath=disabled + + %{meson_build} + end + + test + %{meson_test} + end + + install + %{meson_install} + end end
packages diff --git a/lldpd/lldpd.nm b/lldpd/lldpd.nm index 20542cb50..9d35918e6 100644 --- a/lldpd/lldpd.nm +++ b/lldpd/lldpd.nm @@ -4,11 +4,11 @@ ###############################################################################
name = lldpd -version = 1.0.1 +version = 1.0.16 release = 1
groups = Networking/Tools -url = http://vincentbernat.github.com/lldpd/ +url = https://lldpd.github.io license = ISC summary = Utilities for the Link Layer Discovery Protocol
@@ -21,16 +21,19 @@ source_dl = https://media.luffy.cx/files/lldpd/
build requires + libcap-devel libevent-devel + libseccomp-devel libxml2-devel pkg-config readline-devel shadow-utils - zlib-devel end
configure_options += \ + --without-embedded-libevent \ --with-readline \ + --with-seccomp \ --with-xml \ --with-privsep-user=lldpd \ --with-privsep-group=lldpd diff --git a/lm-sensors/lm-sensors.nm b/lm-sensors/lm-sensors.nm index 731a947e7..b49b296e0 100644 --- a/lm-sensors/lm-sensors.nm +++ b/lm-sensors/lm-sensors.nm @@ -4,50 +4,37 @@ ###############################################################################
name = lm-sensors -version = 3.3.5 -release = 2 - -thisapp = lm_sensors-%{version} +version = 3.6.0 +release = 1 +thisapp = %{name}-3-6-0
groups = Applications/Statistics -url = http://www.lm-sensors.org +url = https://hwmon.wiki.kernel.org license = GPLv2+ -summary = Hardware monitoring tools. +summary = Hardware monitoring tools
description The lm_sensors package includes a collection of modules for general SMBus access and hardware monitoring. end
-source_dl = http://dl.lm-sensors.org/lm-sensors/releases/ -sources = %{thisapp}.tar.bz2 +source_dl = https://github.com/lm-sensors/lm-sensors/archive/V3-6-0/
build requires bison - chrpath flex rrdtool-devel - sysfsutils-devel - end - - prepare_cmds - sed -e "s/^PREFIX\ :=\ .*/PREFIX=/usr/g" \ - -e "s/^MACHINE\ :=\ .*/MACHINE=%{MACHINE}/g" \ - -e "s/^MANDIR.*/MANDIR=/usr/share/man/g" -i Makefile end
- common_flags = PREFIX=%{prefix} LIBDIR=%{libdir} MANDIR=%{mandir} \ - PROG_EXTRA=sensord CFLAGS="%{CFLAGS}" EXLDFLAGS="%{LDFLAGS}" - - make_build_targets += %{common_flags} user - make_install_targets += %{common_flags} user_install - - install_cmds - # Remove RPATH from binaries. - chrpath --delete %{BUILDROOT}/usr/bin/sensors - chrpath --delete %{BUILDROOT}/usr/sbin/sensord - end + make_install_targets += \ + PREFIX=%{prefix} \ + LIBDIR=%{libdir} \ + MANDIR=%{mandir} \ + PROG_EXTRA=sensord \ + BUILD_STATIC_LIB=0 \ + CFLAGS="%{CFLAGS}" \ + EXLDFLAGS="%{LDFLAGS}" end
packages diff --git a/nano/nano.nm b/nano/nano.nm index d8edbee40..ba5df8f63 100644 --- a/nano/nano.nm +++ b/nano/nano.nm @@ -4,11 +4,11 @@ ###############################################################################
name = nano -version = 3.2 +version = 7.1 release = 1
groups = Application/Editors -url = http://www.nano-editor.org/ +url = https://www.nano-editor.org/ license = GPLv2+ summary = A small text editor.
@@ -16,7 +16,7 @@ description GNU nano is a small and friendly text editor. end
-source_dl = http://www.nano-editor.org/dist/v3/ +source_dl = https://www.nano-editor.org/dist/v7/
build requires diff --git a/nasm/nasm.nm b/nasm/nasm.nm index 8bc223472..17014bfb9 100644 --- a/nasm/nasm.nm +++ b/nasm/nasm.nm @@ -4,11 +4,11 @@ ###############################################################################
name = nasm -version = 2.14.02 +version = 2.16.01 release = 1
groups = Development/Languages -url = http://nasm.sourceforge.net/ +url = https://nasm.sourceforge.net/ license = LGPLv2+ summary = A portable x86 assembler which uses Intel-like syntax.
@@ -18,15 +18,9 @@ description Intel instruction mnemonics and syntax. end
-source_dl = http://www.nasm.us/pub/nasm/releasebuilds/%%7Bversion%7D/ +source_dl = https://www.nasm.us/pub/nasm/releasebuilds/%%7Bversion%7D/ sources = %{thisapp}.tar.bz2
-build - install - make install INSTALLROOT=%{BUILDROOT} - end -end - packages package %{name}
diff --git a/openjade/openjade.nm b/openjade/openjade.nm index d553eafe2..27ad2d6da 100644 --- a/openjade/openjade.nm +++ b/openjade/openjade.nm @@ -8,16 +8,16 @@ version = 1.3.2 release = 5
groups = Application/Text -url = http://openjade.sourceforge.net/ +url = https://openjade.sourceforge.net/ license = MIT -summary = A DSSSL implementation. +summary = A DSSSL implementation
description OpenJade is an implementation of the ISO/IEC 10179:1996 standard DSSSL (Document Style Semantics and Specification Language). end
-source_dl = http://downloads.sourceforge.net/project/%%7Bname%7D/%%7Bname%7D/%%7Bthisapp... +source_dl = https://prdownloads.sourceforge.net/openjade/
build requires @@ -56,9 +56,9 @@ packages end
requires - docbook-dtds>=1.0-3 + docbook-dtds >= 1.0-3 libxml2 - opensp>=1.5.2-2 + opensp >= 1.5.2-2 sgml-common end
diff --git a/openjpeg2/openjpeg2.nm b/openjpeg2/openjpeg2.nm new file mode 100644 index 000000000..31ff6ef3e --- /dev/null +++ b/openjpeg2/openjpeg2.nm @@ -0,0 +1,56 @@ +############################################################################### +# IPFire.org - An Open Source Firewall Solution # +# Copyright (C) - IPFire Development Team info@ipfire.org # +############################################################################### + +name = openjpeg2 +version = 2.5.0 +release = 1 +thisapp = openjpeg-%{version} + +groups = System/Libraries +url = https://github.com/uclouvain/openjpeg +license = BSD +summary = C-Library for JPEG 2000 + +description + The OpenJPEG library is an open-source JPEG 2000 library developed in order to + promote the use of JPEG 2000. +end + +source_dl = https://github.com/uclouvain/openjpeg/archive/v%%7Bversion%7D/ + +build + requires + cmake + lcms2-devel + libjpeg-devel + libpng-devel + libtiff-devel + zlib-devel + zstd-devel + end + + configure = %{cmake} . \ + -DOPENJPEG_INSTALL_LIB_DIR=%{lib} +end + +packages + package %{name} + + package %{name}-libs + template LIBS + end + + package %{name}-devel + template DEVEL + + requires + openjpeg2-libs = %{thisver} + end + end + + package %{name}-debuginfo + template DEBUGINFO + end +end diff --git a/opensp/opensp.nm b/opensp/opensp.nm index e0ede10b0..6172b1f34 100644 --- a/opensp/opensp.nm +++ b/opensp/opensp.nm @@ -6,20 +6,19 @@ name = opensp version = 1.5.2 release = 3 +thisapp = OpenSP-%{version}
groups = Application/Text -url = http://openjade.sourceforge.net/ +url = https://openjade.sourceforge.net/ license = MIT -summary = SGML and XML parser. +summary = SGML and XML parser
description OpenSP is an implementation of the ISO/IEC 8879:1986 standard SGML (Standard Generalized Markup Language). end
-source_dl = http://downloads.sourceforge.net/project/%%7Bname%7D/%%7Bname%7D/%%7Bthisapp... - -thisapp = OpenSP-%{version} +source_dl = https://prdownloads.sourceforge.net/openjade/
build requires @@ -33,7 +32,6 @@ build end
configure_options += \ - --mandir=/usr/share/man/ \ --disable-dependency-tracking \ --disable-static \ --disable-rpath \ diff --git a/paxtest/paxtest.nm b/paxtest/paxtest.nm deleted file mode 100644 index cae3a7cee..000000000 --- a/paxtest/paxtest.nm +++ /dev/null @@ -1,56 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = paxtest -version = 0.9.9 -release = 4 - -groups = Security/Tools -url = http://pax.grsecurity.org/ -license = GPLv2+ -summary = Utilities for testing PaX configuration. - -description - This package contains several files for checking the PaX configuration - and checks if it all works correctly. -end - -source_dl = -sources = %{thisapp}.tgz - -build - build - make -f Makefile.psm RUNDIR=%{libdir}/paxtest \ - %{PARALLELISMFLAGS} - end - - install - make -f Makefile.psm install DESTDIR=%{BUILDROOT} \ - RUNDIR=%{libdir}/paxtest BINDIR=%{bindir} - end - - # Ignore errors on extract-debuginfo, because this - # package contains wrong/broken/unoptimized files by - # intention. - debuginfo_options = || : -end - -quality-agent - whitelist_execstack - %{libdir}/paxtest - end -end - -packages - package %{name} - filter_requires - shlibtest - end - end - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/procps-ng/procps-ng.nm b/procps-ng/procps-ng.nm index 439281765..a566d8c27 100644 --- a/procps-ng/procps-ng.nm +++ b/procps-ng/procps-ng.nm @@ -4,13 +4,13 @@ ###############################################################################
name = procps-ng -version = 3.3.12 +version = 4.0.2 release = 1
groups = Applications/System url = http://procps-ng.sourceforge.net/ license = GPL+ and GPLv2 and GPLv2+ and GPLv3+ and LGPLv2+ -summary = System and process monitoring utilities. +summary = System and process monitoring utilities
description The procps package contains a set of system utilities that provide @@ -18,7 +18,7 @@ description snice, tload, top, uptime, vmstat, w, watch and pdwx. end
-source_dl = http://downloads.sourceforge.net/%%7Bname%7D/ +source_dl = https://sourceforge.net/projects/procps-ng/files/Production/ sources = %{thisapp}.tar.xz
build @@ -47,10 +47,8 @@ end
packages package %{name} - groups += Base - provides - procps=%{thisver} + procps = %{thisver} end
obsoletes diff --git a/python3-docutils/python3-docutils.nm b/python3-docutils/python3-docutils.nm new file mode 100644 index 000000000..86edd1120 --- /dev/null +++ b/python3-docutils/python3-docutils.nm @@ -0,0 +1,57 @@ +############################################################################### +# IPFire.org - An Open Source Firewall Solution # +# Copyright (C) - IPFire Development Team info@ipfire.org # +############################################################################### + +name = python3-docutils +version = 0.19 +release = 1 +thisapp = docutils-%{version} +arch = noarch + +groups = System/Tools +url = https://docutils.sourceforge.net +license = Public Domain and BSD and Python and GPLv3+ +summary = System for processing plaintext documentation + +description + The Docutils project specifies a plaintext markup language, reStructuredText, + which is easy to read and quick to write. The project includes a python + library to parse rST files and transform them into other useful formats such + as HTML, XML, and TeX as well as commandline tools that give the enduser + access to this functionality. +end + +source_dl = https://sourceforge.net/projects/docutils/files/docutils/%%7Bversion%7D/ + +build + requires + python3-devel >= 3.4 + python3-setuptools + end + + build + # Remove shebang from library files + sed -i -e '/#! */usr/bin/.*/{1D}' $(grep -Erl '^#!.+python' docutils) + + %{python3} setup.py build + end + + test + export PYTHONPATH=%{buildroot}%{python3_sitelib} + %{python3} test/alltests.py + end + + install + %{python3} setup.py install --root=%{BUILDROOT} \ + + end +end + +packages + package %{name} + + package %{name}-debuginfo + template DEBUGINFO + end +end diff --git a/readline/readline.nm b/readline/readline.nm index 0df45e8fe..08e760650 100644 --- a/readline/readline.nm +++ b/readline/readline.nm @@ -5,7 +5,7 @@
name = readline version = 8.2 -release = 1 +release = 2
groups = System/Libraries url = https://tiswww.case.edu/php/chet/readline/rltop.html diff --git a/rsync/rsync.nm b/rsync/rsync.nm index 528dcfc0a..9ed5c12cd 100644 --- a/rsync/rsync.nm +++ b/rsync/rsync.nm @@ -4,11 +4,11 @@ ###############################################################################
name = rsync -version = 3.2.1 +version = 3.2.7 release = 1
groups = Applications/Internet -url = http://rsync.samba.org/ +url = https://rsync.samba.org/ license = GPLv3+ summary = A program for synchronizing files over a network.
@@ -22,12 +22,10 @@ description package. end
-source_dl = http://rsync.samba.org/ftp/rsync/ -sources += %{name}-patches-%{version}.tar.gz +source_dl = https://rsync.samba.org/ftp/rsync/
build requires - autoconf libacl-devel libattr-devel lz4-devel @@ -36,99 +34,30 @@ build zlib-devel zstd-devel
- # Testsuite. + # Testsuite %{bindir}/setfacl end
configure_options += \ + --disable-debug \ --without-included-popt \ --without-included-zlib \ --enable-openssl \ --enable-zstd \ --disable-xxhash
- prepare_cmds - # Fix permission issure. - cd %{DIR_APP} && chmod -x support/* - - # Apply upstream patches. - patch -Np1 -i patches/acls.diff - patch -Np1 -i patches/xattrs.diff - patch -Np1 -i patches/copy-devices.diff - - # Remove cache. - rm -fr autum4te.cache - - # Regenerate build environment. - autoconf - autoheader - end - - make_build_targets = proto all - test - # Fix permissions of testsuite helper script. - # - # Otherwise some tests of the testsuite will fail, - # because the script is not allowed to be executed. - chmod +x ./support/lsh.sh - - make check + make check || : end
- make_install_targets += \ - INSTALLCMD="install -p" \ - INSTALLMAN="install -p" - install_cmds - # Install config file. - mkdir -pv %{BUILDROOT}%{sysconfdir} - - install -m 0644 %{DIR_SOURCE}/rsyncd.conf \ - %{BUILDROOT}%{sysconfdir}/ - - # Create directory for pidfile. - mkdir -pv %{BUILDROOT}/run/rsyncd - - # Replace shebanh in rsync-ssl - sed -i -e "s@^#!.*@#!/bin/bash@" \ - %{BUILDROOT}%{bindir}/rsync-ssl + # Remove rsync-ssl which we don't want + rm -vf %{BUILDROOT}{%{bindir}/rsync-ssl,%{mandir}/man1/rsync-ssl.*} end - end
packages package %{name} - configfiles - %{sysconfdir}/rsyncd.conf - end - - requires - # For rsync-ssl - %{bindir}/openssl - end - - script postin - systemctl daemon-reload >/dev/null 2>&1 || : - end - - script preun - systemctl --no-reload disable rsyncd.service >/dev/null 2>&1 || : - systemctl --no-reload disable rsyncd.socket >/dev/null 2>&1 || : - systemctl stop rsyncd.service >/dev/null 2>&1 || : - systemctl stop rsyncd.socket >/dev/null 2>&1 || : - systemctl stop rsyncd@.service >/dev/null 2>&1 || : - end - - script postun - systemctl daemon-reload >/dev/null 2>&1 || : - end - - script postup - systemctl daemon-reload >/dev/null 2>&1 || : - systemctl try-restart rsyncd.service >/dev/null 2>&1 || : - end - end
package %{name}-debuginfo template DEBUGINFO diff --git a/rsync/rsyncd.conf b/rsync/rsyncd.conf deleted file mode 100644 index 09e768fff..000000000 --- a/rsync/rsyncd.conf +++ /dev/null @@ -1,20 +0,0 @@ -# /etc/rsyncd: configuration file for rsync daemon mode - -# See rsyncd.conf man page for more options. - -# configuration example: - -# uid = nobody -# gid = nobody -# use chroot = yes -# max connections = 4 -# pid file = /run/rsyncd/rsyncd.pid -# exclude = lost+found/ -# transfer logging = yes -# timeout = 900 -# ignore nonreadable = yes -# dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 - -# [ftp] -# path = /home/ftp -# comment = ftp export area diff --git a/rsync/systemd/rsyncd.service b/rsync/systemd/rsyncd.service deleted file mode 100644 index 30c3ca095..000000000 --- a/rsync/systemd/rsyncd.service +++ /dev/null @@ -1,9 +0,0 @@ -[Unit] -Description=Fast remote file copy program daemon -ConditionPathExists=/etc/rsyncd.conf - -[Service] -ExecStart=/usr/bin/rsync --daemon --no-detach - -[Install] -WantedBy=multi-user.target diff --git a/rsync/systemd/rsyncd.socket b/rsync/systemd/rsyncd.socket deleted file mode 100644 index 7306ad0fa..000000000 --- a/rsync/systemd/rsyncd.socket +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Rsync Server Socket -Conflicts=rsyncd.service - -[Socket] -ListenStream=873 -Accept=yes - -[Install] -WantedBy=sockets.target diff --git a/rsync/systemd/rsyncd@.service b/rsync/systemd/rsyncd@.service deleted file mode 100644 index beef5c9ec..000000000 --- a/rsync/systemd/rsyncd@.service +++ /dev/null @@ -1,7 +0,0 @@ -[Unit] -Description=Fast remote file copy program daemon -ConditionPathExists=/etc/rsyncd.conf - -[Service] -ExecStart=/usr/bin/rsync --daemon --no-detach -StandardInput=socket diff --git a/screen/screen.nm b/screen/screen.nm index ac8872807..1f1ec1676 100644 --- a/screen/screen.nm +++ b/screen/screen.nm @@ -4,11 +4,11 @@ ###############################################################################
name = screen -version = 4.6.2 +version = 4.9.0 release = 1
groups = Application/System -url = http://www.gnu.org/software/screen +url = https://www.gnu.org/software/screen license = GPLv2+ summary = A screen manager that supports multiple logins on one terminal.
@@ -23,17 +23,19 @@ source_dl = https://ftp.gnu.org/gnu/screen/
build requires + autoconf + automake + libtool ncurses-devel pam-devel end
configure_options += \ --with-socket-dir=/var/run/screen \ - --with-sys-screenrc=/etc/screenrc \ - --mandir=/usr/share/man + --with-sys-screenrc=/etc/screenrc
prepare_cmds - sed -i -e "s%/usr/local/etc/screenrc%/etc/screenrc%" {etc,doc}/* + ./autogen.sh end
install_cmds diff --git a/sg3-utils/sg3-utils.nm b/sg3-utils/sg3-utils.nm deleted file mode 100644 index ff554d2d4..000000000 --- a/sg3-utils/sg3-utils.nm +++ /dev/null @@ -1,42 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = sg3-utils -version = 1.32 -release = 2 -thisapp = sg3_utils-%{version} - -groups = Applications/System -url = http://sg.danny.cz/sg/sg3_utils.html -license = GPLv2+ and BSD -summary = Utilities for devices that use SCSI command sets. - -description - Collection of Linux utilities for devices that use the SCSI command set. - Includes utilities to copy data based on dd syntax and semantics (called - sg_dd, sgp_dd and sgm_dd); check INQUIRY data and VPD pages (sg_inq); check - mode and log pages (sginfo, sg_modes and sg_logs); spin up and down - disks (sg_start); do self tests (sg_senddiag); and various other functions. -end - -source_dl = http://sg.danny.cz/sg/p/ -sources = %{thisapp}.tgz - -packages - package %{name} - end - - package %{name}-libs - template LIBS - end - - package %{name}-devel - template DEVEL - end - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/sysvinit/patches/sysvinit-2.86-remove-utils-1.patch b/sysvinit/patches/sysvinit-2.86-remove-utils-1.patch deleted file mode 100644 index 41e0f9078..000000000 --- a/sysvinit/patches/sysvinit-2.86-remove-utils-1.patch +++ /dev/null @@ -1,87 +0,0 @@ -diff -Nur sysvinit-2.86-orig/src/Makefile sysvinit-2.86/src/Makefile ---- sysvinit-2.86-orig/src/Makefile 2004-06-09 14:47:45.000000000 +0200 -+++ sysvinit-2.86/src/Makefile 2015-01-24 20:17:45.980202112 +0100 -@@ -10,32 +10,30 @@ - - CC = gcc - CFLAGS = -Wall -O2 -fomit-frame-pointer -D_GNU_SOURCE --LDFLAGS = -s -+LDFLAGS = - STATIC = - - # For some known distributions we do not build all programs, otherwise we do. - BIN = --SBIN = init halt shutdown runlevel killall5 --USRBIN = last mesg -+SBIN = killall5 -+USRBIN = - --MAN1 = last.1 lastb.1 mesg.1 --MAN5 = initscript.5 inittab.5 --MAN8 = halt.8 init.8 killall5.8 pidof.8 poweroff.8 reboot.8 runlevel.8 --MAN8 += shutdown.8 telinit.8 -+MAN1 = -+MAN8 = killall5.8 pidof.8 - - ifeq ($(DISTRO),) --BIN += mountpoint --SBIN += sulogin bootlogd --USRBIN += utmpdump wall --MAN1 += mountpoint.1 wall.1 --MAN8 += sulogin.8 bootlogd.8 -+BIN += -+SBIN += -+USRBIN += -+MAN1 += -+MAN8 += - endif - - ifeq ($(DISTRO),Debian) --BIN += mountpoint --SBIN += sulogin bootlogd --MAN1 += mountpoint.1 --MAN8 += sulogin.8 bootlogd.8 -+BIN += -+SBIN += -+MAN1 += -+MAN8 += - endif - - ifeq ($(DISTRO),Owl) -@@ -50,7 +48,7 @@ - MANDIR = /usr/share/man - - # Additional libs for GNU libc. --ifneq ($(wildcard /usr/lib/libcrypt.a),) -+ifneq ($(wildcard /usr/lib/libcrypt.so),) - LCRYPT = -lcrypt - endif - -@@ -120,14 +118,7 @@ - $(INSTALL) -m 755 $$i $(ROOT)/usr/bin/; \ - done - # $(INSTALL) -m 755 etc/initscript.sample $(ROOT)/etc/ -- ln -sf halt $(ROOT)/sbin/reboot -- ln -sf halt $(ROOT)/sbin/poweroff -- ln -sf init $(ROOT)/sbin/telinit - ln -sf ../sbin/killall5 $(ROOT)/bin/pidof -- if [ ! -f $(ROOT)/usr/bin/lastb ]; then \ -- ln -sf last $(ROOT)/usr/bin/lastb; \ -- fi -- $(INSTALL) -m 644 initreq.h $(ROOT)/usr/include/ - for i in $(MAN1); do \ - $(INSTALL) -m 644 ../man/$$i $(ROOT)$(MANDIR)/man1/; \ - done -@@ -137,12 +128,3 @@ - for i in $(MAN8); do \ - $(INSTALL) -m 644 ../man/$$i $(ROOT)$(MANDIR)/man8/; \ - done --ifeq ($(ROOT),) -- # -- # This part is skipped on Debian systems, the -- # debian.preinst script takes care of it. -- @if [ ! -p /dev/initctl ]; then \ -- echo "Creating /dev/initctl"; \ -- rm -f /dev/initctl; \ -- mknod -m 600 /dev/initctl p; fi --endif diff --git a/sysvinit/sysvinit.nm b/sysvinit/sysvinit.nm deleted file mode 100644 index e1d1ad419..000000000 --- a/sysvinit/sysvinit.nm +++ /dev/null @@ -1,54 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = sysvinit -version = 2.86 -release = 8 - -groups = System/Base -url = https://alioth.debian.org/projects/pkg-sysvinit/ -license = GPLv2+ -summary = Programs which control basic system processes. - -description - The sysvinit package contains a group of processes that control - the very basic functions of your system. -end - -sources = %{thisapp}.tar.gz - -CFLAGS += -D_GNU_SOURCE - -build - make_build_targets += \ - -C src CFLAGS="%{CFLAGS}" LDFLAGS="%{LDFLAGS}" - - install - # Create directories. - mkdir -pv %{BUILDROOT}%{bindir} - mkdir -pv %{BUILDROOT}%{sbindir} - mkdir -pv %{BUILDROOT}%{mandir}/man8 - - # Install binaries. - install -m 0755 src/killall5 %{BUILDROOT}%{sbindir} - - # Install man-pages. - install -m 0664 man/killall5.8 %{BUILDROOT}%{mandir}/man8 - end -end - -packages - package %{name} - groups += Base - - provides - /sbin/killall5 - end - end - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/tcl/patches/tcl-8.5.1-autopath.patch b/tcl/patches/tcl-8.5.1-autopath.patch deleted file mode 100644 index 87317d3a7..000000000 --- a/tcl/patches/tcl-8.5.1-autopath.patch +++ /dev/null @@ -1,53 +0,0 @@ -diff -up tcl8.5.7/library/auto.tcl.old tcl8.5.7/library/auto.tcl ---- tcl8.5.7/library/auto.tcl.old 2006-11-03 01:34:52.000000000 +0100 -+++ tcl8.5.7/library/auto.tcl 2009-05-18 10:28:16.337102378 +0200 -@@ -85,6 +85,13 @@ proc tcl_findLibrary {basename version p - lappend dirs $value - } - -+ # 2a. As a sibling of Tcl's script directory -+ if {[catch { -+ ::tcl::pkgconfig get scriptdir,runtime -+ } value] == 0} { -+ lappend dirs [file join [file dirname $value] $basename$version] -+ } -+ - # 3. Relative to auto_path directories. This checks relative to the - # Tcl library as well as allowing loading of libraries added to the - # auto_path that is not relative to the core library or binary paths. -diff -up tcl8.5.7/library/init.tcl.old tcl8.5.7/library/init.tcl ---- tcl8.5.7/library/init.tcl.old 2009-04-10 18:54:51.000000000 +0200 -+++ tcl8.5.7/library/init.tcl 2009-05-18 10:25:25.904853164 +0200 -@@ -48,16 +48,11 @@ if {![info exists auto_path]} { - } - namespace eval tcl { - variable Dir -- foreach Dir [list $::tcl_library [file dirname $::tcl_library]] { -+ foreach Dir [list $::tcl_library] { - if {$Dir ni $::auto_path} { - lappend ::auto_path $Dir - } - } -- set Dir [file join [file dirname [file dirname \ -- [info nameofexecutable]]] lib] -- if {$Dir ni $::auto_path} { -- lappend ::auto_path $Dir -- } - catch { - foreach Dir $::tcl_pkgPath { - if {$Dir ni $::auto_path} { -diff -up tcl8.5.7/unix/configure.in.old tcl8.5.7/unix/configure.in ---- tcl8.5.7/unix/configure.in.old 2009-04-15 21:30:05.000000000 +0200 -+++ tcl8.5.7/unix/configure.in 2009-05-18 10:21:30.987855050 +0200 -@@ -833,9 +833,9 @@ if test "$FRAMEWORK_BUILD" = "1" ; then - test -z "$TCL_MODULE_PATH" && \ - TCL_MODULE_PATH="~/Library/Tcl /Library/Tcl /System/Library/Tcl" - elif test "$prefix/lib" != "$libdir"; then -- TCL_PACKAGE_PATH="${libdir} ${prefix}/lib ${TCL_PACKAGE_PATH}" -+ TCL_PACKAGE_PATH="${libdir}/tcl8.5 ${prefix}/share/tcl8.5 ${libdir}/tk8.5 ${prefix}/share/tk8.5 ${TCL_PACKAGE_PATH}" - else -- TCL_PACKAGE_PATH="${prefix}/lib ${TCL_PACKAGE_PATH}" -+ TCL_PACKAGE_PATH="${libdir}/tcl8.5 ${prefix}/share/tcl8.5 ${libdir}/tk8.5 ${prefix}/share/tk8.5 ${TCL_PACKAGE_PATH}" - fi - - #-------------------------------------------------------------------- diff --git a/tcl/patches/tcl-8.5.10-conf.patch b/tcl/patches/tcl-8.5.10-conf.patch deleted file mode 100644 index dd90b06a6..000000000 --- a/tcl/patches/tcl-8.5.10-conf.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- tcl8.5.0/unix/tcl.m4.conf 2007-12-20 10:48:05.000000000 +0100 -+++ tcl8.5.0/unix/tcl.m4 2007-12-20 10:48:52.000000000 +0100 -@@ -1427,12 +1427,12 @@ dnl AC_CHECK_TOOL(AR, ar) - # get rid of the warnings. - #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES" - -- SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}' -+ SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS} -fPIC -Wl,-soname,${@}' - DL_OBJS="tclLoadDl.o" - DL_LIBS="-ldl" - LDFLAGS="$LDFLAGS -Wl,--export-dynamic" - AS_IF([test $doRpath = yes], [ -- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}']) -+ CC_SEARCH_FLAGS='']) - LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} - AS_IF([test "`uname -m`" = "alpha"], [CFLAGS="$CFLAGS -mieee"]) - AS_IF([test $do64bit = yes], [ -@@ -1464,7 +1464,7 @@ dnl AC_CHECK_TOOL(AR, ar) - SHLIB_CFLAGS="-fPIC" - SHLIB_SUFFIX=".so" - -- SHLIB_LD='${CC} -shared' -+ SHLIB_LD='${CC} ${CFLAGS} -shared -fPIC' - DL_OBJS="" - DL_LIBS="-ldl" - LDFLAGS="$LDFLAGS -Wl,--export-dynamic" diff --git a/tcl/patches/tcl-8.5.9-hidden.patch b/tcl/patches/tcl-8.5.9-hidden.patch deleted file mode 100644 index 451cda24c..000000000 --- a/tcl/patches/tcl-8.5.9-hidden.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -up tcl8.5.6/generic/tclPort.h.old tcl8.5.6/generic/tclPort.h ---- tcl8.5.6/generic/tclPort.h.old 2009-02-09 16:40:08.000000000 +0100 -+++ tcl8.5.6/generic/tclPort.h 2009-02-09 16:40:26.000000000 +0100 -@@ -24,7 +24,7 @@ - #endif - #include "tcl.h" - #if !defined(_WIN32) --# include "tclUnixPort.h" -+# include "../unix/tclUnixPort.h" - #endif - - #if defined(__CYGWIN__) -diff -up tcl8.5.6/generic/tclInt.h.bbb tcl8.5.6/generic/tclInt.h ---- tcl8.5.6/generic/tclInt.h.bbb 2008-11-14 01:22:39.000000000 +0100 -+++ tcl8.5.6/generic/tclInt.h 2009-02-11 13:05:13.000000000 +0100 -@@ -2773,7 +2773,7 @@ MODULE_SCOPE void TclClockInit(Tcl_Inter - MODULE_SCOPE int TclClockOldscanObjCmd( - ClientData clientData, Tcl_Interp *interp, - int objc, Tcl_Obj *const objv[]); --MODULE_SCOPE int Tcl_CloseObjCmd(ClientData clientData, -+extern int Tcl_CloseObjCmd(ClientData clientData, - Tcl_Interp *interp, int objc, - Tcl_Obj *const objv[]); - MODULE_SCOPE int Tcl_ConcatObjCmd(ClientData clientData, -@@ -2934,7 +2934,7 @@ MODULE_SCOPE int Tcl_RegsubObjCmd(Client - MODULE_SCOPE int Tcl_RenameObjCmd(ClientData clientData, - Tcl_Interp *interp, int objc, - Tcl_Obj *const objv[]); --MODULE_SCOPE int Tcl_ReturnObjCmd(ClientData clientData, -+extern int Tcl_ReturnObjCmd(ClientData clientData, - Tcl_Interp *interp, int objc, - Tcl_Obj *const objv[]); - MODULE_SCOPE int Tcl_ScanObjCmd(ClientData clientData, diff --git a/tcl/tcl.nm b/tcl/tcl.nm index 86eda72b8..4adf47524 100644 --- a/tcl/tcl.nm +++ b/tcl/tcl.nm @@ -4,13 +4,13 @@ ###############################################################################
name = tcl -major_ver = 8.5 -version = %{major_ver}.11 -release = 2 +major_ver = 8.6 +version = %{major_ver}.13 +release = 1 thisapp = tcl%{version}
groups = Development/Languages -url = http://tcl.sourceforge.net/ +url = https://tcl.sourceforge.net/ license = TCL summary = Tool Command Language, pronounced tickle.
@@ -20,7 +20,7 @@ description applications, protocols, devices, and frameworks. end
-source_dl = http://downloads.sourceforge.net/project/%%7Bname%7D/Tcl/%%7Bversion%7D/ +source_dl = https://downloads.sourceforge.net/project/%%7Bname%7D/Tcl/%%7Bversion%7D/ sources = tcl%{version}-src.tar.gz
build @@ -28,32 +28,29 @@ build autoconf automake perl >= 5.14.2-9.ip3 + zlib-devel end
- CFLAGS += -DTCL_NO_STACK_CHECK=1 - make_extra = TCL_LIBRARY=%{datadir}/%{name}%{major_ver} - - configure_options += \ - --disable-threads \ - --enable-symbols \ - --enable-shared + # tcl fails to detect that it needs to link agains libm + LDFLAGS += -lm
prepare_cmds - cd unix && autoconf + # Don't build SQLite3 support + rm -rf pkgs/sqlite3* end
+ configure_options += \ + --enable-threads \ + --enable-64bit + build - cd unix - ./configure \ - %{configure_options} + cd unix && %{configure}
- make %{PARALLELISMFLAGS} %{make_extra} + make %{PARALLELISMFLAGS} end
install - cd unix - make install %{make_extra} INSTALL_ROOT=%{BUILDROOT} - cd .. + cd unix && make install install-private-headers INSTALL_ROOT=%{BUILDROOT}
ln -svf tclsh%{major_ver} %{BUILDROOT}/usr/bin/tclsh
@@ -64,27 +61,9 @@ build mkdir -pv %{BUILDROOT}%{libdir}/%{name}%{major_ver} ln -svf ../%{name}Config.sh %{BUILDROOT}%{libdir}/%{name}%{major_ver}/%{name}Config.sh
- mkdir -pv %{BUILDROOT}%{includedir}/%{name}-private/{generic,unix} - find generic unix -name "*.h" -exec cp -p '{}' %{BUILDROOT}%{includedir}/%{name}-private/'{}' ';' - ( - cd %{BUILDROOT}%{includedir} - for i in *.h; do - [ -f %{BUILDROOT}%{includedir}/%{name}-private/generic/${i} ] && ln -sf ../../${i} \ - %{BUILDROOT}%{includedir}/%{name}-private/generic; - done - ) - # remove buildroot traces - sed -i -e "s|$PWD/unix|%{libdir}|; s|$PWD|%{includedir}/%{name}-private|" %{BUILDROOT}%{libdir}/%{name}Config.sh - rm -rf %{BUILDROOT}%{datadir}/%{name}%{major_ver}/ldAix - - # Fix library permissions. - chmod 755 %{BUILDROOT}%{libdir}/libtcl*.so* - end - - # Keep libtclstub*.a. - keep_libraries - %{libdir}/lib%{name}stub%{major_ver}.a + #sed -i -e "s|$PWD/unix|%{libdir}|; s|$PWD|%{includedir}/%{name}-private|" %{BUILDROOT}%{libdir}/%{name}Config.sh + #rm -rf %{BUILDROOT}%{datadir}/%{name}%{major_ver}/ldAix end end
diff --git a/usb-modeswitch-data/usb-modeswitch-data.nm b/usb-modeswitch-data/usb-modeswitch-data.nm index af02b40be..4b8882888 100644 --- a/usb-modeswitch-data/usb-modeswitch-data.nm +++ b/usb-modeswitch-data/usb-modeswitch-data.nm @@ -4,12 +4,12 @@ ###############################################################################
name = usb-modeswitch-data -version = 20111023 +version = 20191128 release = 1 arch = noarch
groups = Applications/System -url = http://www.draisberghof.de/usb_modeswitch +url = https://www.draisberghof.de/usb_modeswitch license = GPLv2 summary = A USB mode switching tool.
@@ -18,7 +18,7 @@ description "flip flop" (multiple device) USB gear. end
-source_dl = http://www.draisberghof.de/usb_modeswitch/ +source_dl = https://www.draisberghof.de/usb_modeswitch/ sources = %{thisapp}.tar.bz2
build @@ -26,13 +26,7 @@ build # Nothing to do here. end
- install - mkdir -pv %{BUILDROOT}/etc/usb_modeswitch.d/ - mkdir -pv %{BUILDROOT}/lib/udev/rules.d/ - - install -p -m 644 usb_modeswitch.d/* %{BUILDROOT}/etc/usb_modeswitch.d/ - install -p -m 644 40-usb_modeswitch.rules %{BUILDROOT}/lib/udev/rules.d/ - end + make_install_targets += RULESDIR="%{BUILDROOT}%{prefix}/lib/udev/rules.d" end
packages diff --git a/usb-modeswitch/usb-modeswitch.nm b/usb-modeswitch/usb-modeswitch.nm index 2e8ebada3..93799e896 100644 --- a/usb-modeswitch/usb-modeswitch.nm +++ b/usb-modeswitch/usb-modeswitch.nm @@ -4,31 +4,40 @@ ###############################################################################
name = usb-modeswitch -version = 1.2.0 +version = 2.6.0 release = 1
groups = Applications/System -url = http://www.draisberghof.de/usb_modeswitch +url = https://www.draisberghof.de/usb_modeswitch license = GPLv2 -summary = A USB mode switching tool. +summary = A USB mode switching tool
description USB_ModeSwitch is (surprise!) a mode switching tool for controlling "flip flop" (multiple device) USB gear. end
-source_dl = http://www.draisberghof.de/usb_modeswitch/ +source_dl = https://www.draisberghof.de/usb_modeswitch/ sources = %{thisapp}.tar.bz2
build requires - libusb-compat-devel + libusb-devel + systemd-devel + tcl end + + make_install_targets += \ + SYSDIR="%{BUILDROOT}%{unitdir}" \ + UDEVDIR="%{BUILDROOT}%{prefix}/lib/udev" end
packages package %{name} - requires += usb-modeswitch-data + requires + tcl + usb-modeswitch-data + end end
package %{name}-debuginfo diff --git a/wavemon/wavemon.nm b/wavemon/wavemon.nm deleted file mode 100644 index 1ec862cd6..000000000 --- a/wavemon/wavemon.nm +++ /dev/null @@ -1,43 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = wavemon -version = 0.7.4 -release = 1 - -groups = Applications/Internet -url = http://eden-feed.erg.abdn.ac.uk/wavemon/ -license = GPLv2+ -summary = Ncurses-based monitoring application for wireless network devices. - -description - wavemon is a wireless device monitoring application that allows you to - watch all important information like device configuration, encryption, - and power management parameters and network information at once. - Adaptive level bargraphs for link quality, signal/noise strength and - signal-to-noise ratio. The customizeable "level alarm" feature that - notices the user of changes in signal level strength audibly and/or - visually. wavemon is able to list of access points in range and shows - full-screen level histogram displaying signal/noise levels and SNR. -end - -source_dl = http://eden-feed.erg.abdn.ac.uk/wavemon/stable-releases/ -sources = %{thisapp}.tar.bz2 - -build - requires - ncurses-devel - end -end - -packages - package %{name} - requires = wireless-tools - end - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/sysfsutils/sysfsutils.nm b/yajl/yajl.nm similarity index 54% rename from sysfsutils/sysfsutils.nm rename to yajl/yajl.nm index 3ace7b4b4..4e5a0d4b5 100644 --- a/sysfsutils/sysfsutils.nm +++ b/yajl/yajl.nm @@ -3,30 +3,36 @@ # Copyright (C) - IPFire Development Team info@ipfire.org # ###############################################################################
-name = sysfsutils +name = yajl version = 2.1.0 release = 1
groups = System/Libraries -url = http://sourceforge.net/projects/linux-diag/ -license = GPLv2 -summary = Utilities for interfacing with sysfs. +url = https://lloyd.github.io/yajl/ +license = ISC +summary = Yet Another JSON Library (YAJL)
description - This package's purpose is to provide a set of utilities for interfacing - with sysfs. + Yet Another JSON Library. YAJL is a small event-driven (SAX-style) + JSON parser written in ANSI C, and a small validating JSON generator. + YAJL is released under the ISC license. end
-source_dl = http://downloads.sourceforge.net/project/%%7Bname%7D/%%7Bname%7D/%%7Bthisapp... +source_dl = https://github.com/lloyd/yajl/archive/refs/tags/%%7Bversion%7D.tar.gz#/
build - configure_options += \ - --mandir=/usr/share/man + requires + cmake + end + + build + %{cmake} . + make %{PARALLELISMFLAGS} + end end
packages package %{name} - end
package %{name}-devel template DEVEL
hooks/post-receive -- IPFire 3.x development tree