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 8be412d99b7f04e0b6c6544e91d0f498560dde7a (commit) via 40c8212196e3ea071492295f9b4ac28d6dd13bea (commit) via 40fba48f9e698ad5b03cf4fdf5f716df34f3bc4a (commit) via 75dfe7252201cf7232034ca8a79a5903fc71af9f (commit) via 8d0ab1a71eabb82df6ec8fcb17ca55802657fcec (commit) via d18632b196259ee9a562c65dc0025bf4a25cf69f (commit) via 08d67252584034f789b945c1d9ed77a1a801eb91 (commit) via 36f496eced984a81f68bd86d37e9a4541e5471d2 (commit) via 2bbcd7589d9f344922ffeb264b03c43b29faf074 (commit) via 8b566b059491130ead1219e607dfd9c67df1ecf0 (commit) via d40417c80caf3c611ef15f40e0cea9496d16b7e8 (commit) via 14dd43f7d49b2e7ad2bb3da379497fe77069f36a (commit) via 9c9258bba20d9447922127ba270a90d39b2586c2 (commit) via 0d2d4cf00235ca028a4864406c420eb30d796304 (commit) via 51a6b62c23e863f884f9a187f16b0b574c8429ad (commit) via deec3b8708248c4bfe25833ecec6df6ce8b5b93f (commit) via ba99693681b563683db83f1dad1e480b661ec3f4 (commit) via e872bff5099e435a756b479a67fd8a7262fcc7b4 (commit) via e13ebdc497fe91b2bbb890e4656450a4ce3ce52b (commit) via 504583b8be9295a3cd0eb33b9e55c32b0b2e1786 (commit) via 66b8111bc9288814ab4bffcc35934af55ee46f25 (commit) via e83f09bf263814c2cf96638b8df4aafe339ef3e6 (commit) via f8b69f26c1a5639cc0846ee01550acb135568203 (commit) via c512372764c01491d43a107a9d346afde23fb5c3 (commit) via d69f4f23150bf93bee1bc749acc0efe0b8feddaa (commit) via 8feada5bbff81bbd96d47ceea6739562ca016a99 (commit) via d89c1eda02d7fd46cde20403d36eac4441cd05c8 (commit) via 7e6641a0a3cd7375102a18ec15d16136871b05f2 (commit) via 3ffdee61ac5394ead0689df6336a24215ae708ad (commit) via bc5fb9d29af1ffe9cdf3381cf73e0c4ef53a4f57 (commit) via 6a44603f1c54563c6bf997e13873b66981bc54b2 (commit) via fe5ebddae6da32b47c21a5a0980db99a9a18dc0c (commit) via 08685564a18997814c57e6cca2b4bcfa7ee2df6d (commit) via bf864504f4fb0034207360ccbe2263afb9fe2bcf (commit) via 8142c3b3228c440cdbfe13dbd2b03127b44b3c0e (commit) via 42c4160fc353e8283be3e0c8e92a115c57153006 (commit) via 0463acbbfe167a0fc97ec8c83ab20a24cd29d6e1 (commit) via 8d2acda85fa70650d2fbbdd6a308835cf1b3bd85 (commit) via 8cea7b8b5510f6d53f8ab00c29594fabed0d5f5d (commit) via 14ac6fd1e04cc1e5a7b3ef8c9a16fbe02d8dbfc9 (commit) via 6fad1a741eab13f24298c748d95add4de5d5c941 (commit) via e9cd84d3e949942ba94b87f7f99c77005b9463d2 (commit) via 2ac50e2c8b0534fe61ab505cd3eb9c0d67bbd78d (commit) via 9cb0614ed13b2c916898637d4e7692db5c110418 (commit) via 2ca2b9c9f160e5a599b148278047727a6db5495b (commit) via ad61b67b64af7dc336f3da9c4ac44233ac109c45 (commit) via f3035dafae979bd0670f5d29be1b0a0f7f072647 (commit) via ab3c8d9fdf5e5847fa1aa0e4dd54bb97886c4d77 (commit) via e7237f8d8ba058dd2f630dc5754920cbd256ad8b (commit) via d939bf3c1a1c942f4f1aab818afab023383ae8e7 (commit) via 2d9a87787477c9d3008d2b0a69fd27dfda0947aa (commit) from 706194dc908b822ecf2b90809be18e27ec47747f (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 8be412d99b7f04e0b6c6544e91d0f498560dde7a Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 18:23:52 2022 +0000
unbound: Update to 1.17.0
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 40c8212196e3ea071492295f9b4ac28d6dd13bea Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 18:08:33 2022 +0000
gawk: Update to 5.2.1
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 40fba48f9e698ad5b03cf4fdf5f716df34f3bc4a Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 18:06:12 2022 +0000
pptp: Drop package
Nobody needs PPTP any more.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 75dfe7252201cf7232034ca8a79a5903fc71af9f Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 18:05:39 2022 +0000
br2684ctl: Drop package
I don't think the world will need ATM modems any more.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 8d0ab1a71eabb82df6ec8fcb17ca55802657fcec Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 18:04:52 2022 +0000
bc: Update to 1.07
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit d18632b196259ee9a562c65dc0025bf4a25cf69f Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 17:53:21 2022 +0000
xfsprogs: Update to 6.0.0
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 08d67252584034f789b945c1d9ed77a1a801eb91 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 17:53:00 2022 +0000
liburcu: New package
Required by xfsprogs.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 36f496eced984a81f68bd86d37e9a4541e5471d2 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 17:52:45 2022 +0000
libinih: New package
Required by xfsprogs.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 2bbcd7589d9f344922ffeb264b03c43b29faf074 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 17:51:45 2022 +0000
bridge-utils: Drop package
bridge-utils is deprecated.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 8b566b059491130ead1219e607dfd9c67df1ecf0 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 17:45:10 2022 +0000
python-rrdtool: Drop package
This is now bundled with rrdtool.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit d40417c80caf3c611ef15f40e0cea9496d16b7e8 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 17:38:41 2022 +0000
passwd+libuser: Drop packages
We are now using passwd from shadow-utils and cut out the libuser layer.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 14dd43f7d49b2e7ad2bb3da379497fe77069f36a Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 17:37:50 2022 +0000
shadow-utils: Update to 4.13
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 9c9258bba20d9447922127ba270a90d39b2586c2 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 17:07:58 2022 +0000
wireless-tools: Drop package
This is no longer maintained upstream.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 0d2d4cf00235ca028a4864406c420eb30d796304 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 16:48:31 2022 +0000
zd1211-firmware: Drop package
We do not have the kernel module any more for this.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 51a6b62c23e863f884f9a187f16b0b574c8429ad Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 16:47:00 2022 +0000
libldb: Update to 2.6.1
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit deec3b8708248c4bfe25833ecec6df6ce8b5b93f Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 16:45:50 2022 +0000
cmocka: New package
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit ba99693681b563683db83f1dad1e480b661ec3f4 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 16:45:20 2022 +0000
lmdb: New package
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit e872bff5099e435a756b479a67fd8a7262fcc7b4 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 16:39:01 2022 +0000
zerofree: Drop package
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit e13ebdc497fe91b2bbb890e4656450a4ce3ce52b Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 16:28:36 2022 +0000
libcap-ng: Update to 0.8.3
Drop the dependency to Python 2
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 504583b8be9295a3cd0eb33b9e55c32b0b2e1786 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 16:21:00 2022 +0000
python-decorator: Drop package
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 66b8111bc9288814ab4bffcc35934af55ee46f25 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 15:50:51 2022 +0000
python-m2crypto: Drop package
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit e83f09bf263814c2cf96638b8df4aafe339ef3e6 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 15:50:25 2022 +0000
crda: Drop package
This is being replaced by wireless-regdb
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit f8b69f26c1a5639cc0846ee01550acb135568203 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 15:49:16 2022 +0000
wireless-regdb: New package
This is succeeding CRDA.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit c512372764c01491d43a107a9d346afde23fb5c3 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 15:48:54 2022 +0000
kernel: Require wireless-regdb at runtime
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit d69f4f23150bf93bee1bc749acc0efe0b8feddaa Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 15:48:12 2022 +0000
kernel: Build without Python 2
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 8feada5bbff81bbd96d47ceea6739562ca016a99 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 15:44:40 2022 +0000
glibc: Package libxcrypt and compat-libxcrypt
libcrypt in glibc is deprecated and has been replaced by libxcrypt which offers a new ABI. The new ABI is package in libxcrypt and the old one in compat-libxcrypt which should be dropped soon.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit d89c1eda02d7fd46cde20403d36eac4441cd05c8 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 15:25:18 2022 +0000
python-netfilter_conntrack: Drop package
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 7e6641a0a3cd7375102a18ec15d16136871b05f2 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 15:24:28 2022 +0000
python-piksemel: Drop package
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 3ffdee61ac5394ead0689df6336a24215ae708ad Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 15:24:02 2022 +0000
python-pyaspects: Drop package
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit bc5fb9d29af1ffe9cdf3381cf73e0c4ef53a4f57 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 15:23:33 2022 +0000
python-pycurl: Drop package
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 6a44603f1c54563c6bf997e13873b66981bc54b2 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 15:22:42 2022 +0000
pyserial: Drop package
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit fe5ebddae6da32b47c21a5a0980db99a9a18dc0c Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 15:20:30 2022 +0000
python-daemon: Drop package
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 08685564a18997814c57e6cca2b4bcfa7ee2df6d Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 15:19:57 2022 +0000
pychecker: Drop package
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit bf864504f4fb0034207360ccbe2263afb9fe2bcf Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 15:19:24 2022 +0000
python-disutils-extra: Drop package
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 8142c3b3228c440cdbfe13dbd2b03127b44b3c0e Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 15:17:23 2022 +0000
pcapy: Drop package
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 42c4160fc353e8283be3e0c8e92a115c57153006 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 15:15:33 2022 +0000
fail2ban: Drop package
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 0463acbbfe167a0fc97ec8c83ab20a24cd29d6e1 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 15:15:04 2022 +0000
python-yaml: Drop package
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 8d2acda85fa70650d2fbbdd6a308835cf1b3bd85 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 15:13:50 2022 +0000
python-progressbar: Drop package
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 8cea7b8b5510f6d53f8ab00c29594fabed0d5f5d Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 15:13:15 2022 +0000
pygpgme: Drop package
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 14ac6fd1e04cc1e5a7b3ef8c9a16fbe02d8dbfc9 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 15:11:56 2022 +0000
python-IPy: Drop package
This is not being used anywhere
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 6fad1a741eab13f24298c748d95add4de5d5c941 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 14:32:29 2022 +0000
libtevent: Update to 0.13.0
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit e9cd84d3e949942ba94b87f7f99c77005b9463d2 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 13:59:17 2022 +0000
libtirpc: Update to 1.3.3
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 2ac50e2c8b0534fe61ab505cd3eb9c0d67bbd78d Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 13:58:40 2022 +0000
libtalloc: Update to 2.3.4
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 9cb0614ed13b2c916898637d4e7692db5c110418 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 13:42:10 2022 +0000
libtdb: Update to 1.4.7
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 2ca2b9c9f160e5a599b148278047727a6db5495b Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 13:15:52 2022 +0000
python-urlgrabber: Drop package
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit ad61b67b64af7dc336f3da9c4ac44233ac109c45 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 13:15:08 2022 +0000
pyxattr: Drop package
This was used by Pakfire but is not longer needed.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit f3035dafae979bd0670f5d29be1b0a0f7f072647 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 13:13:25 2022 +0000
sip: Drop package
Nothing depends on this any longer
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit ab3c8d9fdf5e5847fa1aa0e4dd54bb97886c4d77 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 13:12:18 2022 +0000
swig: Update to 4.1.1
And drop the dependency to Python 2.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit e7237f8d8ba058dd2f630dc5754920cbd256ad8b Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 13:11:13 2022 +0000
subversion: Drop package
We no longer use this.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit d939bf3c1a1c942f4f1aab818afab023383ae8e7 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 13:06:54 2022 +0000
syslinux: Drop package
This is no longer maintained, and we currently use GRUB for our ISO image.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 2d9a87787477c9d3008d2b0a69fd27dfda0947aa Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 19 13:00:46 2022 +0000
kernel: Disable the RANDSTRUCT plugin
This does not seem to have the benefit we are expecting and comes with a huge compile time cost that I would like to disable this for now.
As a disitribution kernel we do/have to publish the seed which makes this entire feature very questionable.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
-----------------------------------------------------------------------
Summary of changes: bc/bc.nm | 21 +- br2684ctl/br2684ctl.nm | 50 - bridge-utils/bridge-utils.nm | 47 - .../patches/bridge-utils-1.5-linux_3.8_fix-1.patch | 54 - cmocka/cmocka.nm | 83 ++ compat-libxcrypt/compat-libxcrypt.nm | 52 + .../patches/libxcrypt-4.4.33-hashes.patch | 14 + crda/crda.nm | 85 -- dracut/dracut.nm | 3 +- fail2ban/fail2ban.logrotate | 9 - fail2ban/fail2ban.nm | 47 - fail2ban/patches/fail2ban-0.8.1-sshd.patch | 17 - fail2ban/patches/fail2ban-0.8.2-fd_cloexec.patch | 22 - fail2ban/patches/fail2ban-0.8.3-init.patch | 20 - fail2ban/patches/fail2ban-0.8.3-log2syslog.patch | 11 - gawk/gawk.nm | 10 +- git/git.nm | 17 +- glibc/glibc.nm | 3 +- kernel/config-generic | 6 +- kernel/kernel.nm | 6 +- libcap-ng/libcap-ng.nm | 7 +- libinih/libinih.nm | 56 + libldb/libldb.nm | 33 +- libtalloc/libtalloc.nm | 17 +- libtdb/libtdb.nm | 17 +- libtevent/libtevent.nm | 22 +- libtirpc/libtirpc.nm | 6 +- libtirpc/patches/libtirpc-0.2.3-rc4.patch | 1397 -------------------- libgcrypt/libgcrypt.nm => liburcu/liburcu.nm | 31 +- libuser/libuser.nm | 64 - libxcrypt/libxcrypt.nm | 58 + libxcrypt/patches/libxcrypt-4.4.33-hashes.patch | 14 + lmdb/lmdb.nm | 61 + lmdb/lmdb.pc | 10 + network/network.nm | 3 +- passwd/passwd.nm | 57 - passwd/passwd.pam | 4 - pcapy/pcapy.nm | 47 - pptp/patches/pptp-1.7.2-compat.patch | 71 - pptp/patches/pptp-1.7.2-conn-free.patch | 90 -- pptp/patches/pptp-1.7.2-conn-free2.patch | 83 -- pptp/patches/pptp-1.7.2-ip-path.patch | 186 --- pptp/patches/pptp-1.7.2-makedeps.patch | 80 -- pptp/patches/pptp-1.7.2-pptpsetup-encrypt.patch | 22 - pptp/patches/pptp-1.7.2-pptpsetup-mppe.patch | 47 - pptp/patches/pptp-1.7.2-pptpsetup.patch | 23 - pptp/patches/pptp-1.7.2-waitpid.patch | 16 - pptp/pptp.nm | 53 - pychecker/pychecker.nm | 40 - pygpgme/pygpgme.nm | 44 - pyserial/pyserial.nm | 36 - python-IPy/python-IPy.nm | 40 - python-daemon/python-daemon.nm | 44 - python-decorator/python-decorator.nm | 43 - python-distutils-extra/python-distutils-extra.nm | 40 - python-m2crypto/python-m2crypto.nm | 46 - .../python-netfilter_conntrack.nm | 44 - python-piksemel/python-piksemel.nm | 48 - .../patches/progressbar-interrupt.patch | 12 - python-progressbar/python-progressbar.nm | 42 - python-pyaspects/python-pyaspects.nm | 43 - ...eep-copies-of-string-options-since-this-i.patch | 200 --- ...-sourceforge.net-tracker-func-detail-aid-.patch | 61 - ...unt-bug-and-provides-better-organization-.patch | 160 --- .../0004-Test-for-reset-fixes-refcount-bug.patch | 94 -- ...-Updating-ChangeLog-with-relevant-changes.patch | 32 - ...tup.py-do-not-use-curl-config-static-libs.patch | 34 - ...als.py-add-a-test-for-ref-counting-of-res.patch | 28 - python-pycurl/python-pycurl.nm | 64 - python-rrdtool/python-rrdtool.nm | 43 - python-urlgrabber/python-urlgrabber.nm | 49 - python-yaml/python-yaml.nm | 45 - pyxattr/pyxattr.nm | 44 - shadow-utils/shadow-utils.nm | 65 +- sip/patches/disable-rpaths.patch | 10 - sip/patches/fix-linking.patch | 11 - sip/patches/no-strip.patch | 26 - sip/sip.nm | 60 - .../patches/0001-subversion-1.9.0-rpath.patch | 41 - subversion/patches/0002-subversion-1.9.0-pie.patch | 89 -- .../patches/0003-subversion-1.8.5-swigplWall.patch | 16 - subversion/subversion.nm | 102 -- swig/swig.nm | 15 +- syslinux/syslinux.nm | 83 -- unbound/unbound.nm | 9 +- wireless-regdb/wireless-regdb.nm | 46 + .../patches/wireless_tools.29-makefile.patch | 27 - wireless-tools/wireless-tools.nm | 55 - xfsprogs/xfsprogs.nm | 12 +- zd1211-firmware/zd1211-firmware.nm | 44 - zerofree/zerofree.nm | 52 - 91 files changed, 519 insertions(+), 4772 deletions(-) delete mode 100644 br2684ctl/br2684ctl.nm delete mode 100644 bridge-utils/bridge-utils.nm delete mode 100644 bridge-utils/patches/bridge-utils-1.5-linux_3.8_fix-1.patch create mode 100644 cmocka/cmocka.nm create mode 100644 compat-libxcrypt/compat-libxcrypt.nm create mode 100644 compat-libxcrypt/patches/libxcrypt-4.4.33-hashes.patch delete mode 100644 crda/crda.nm delete mode 100644 fail2ban/fail2ban.logrotate delete mode 100644 fail2ban/fail2ban.nm delete mode 100644 fail2ban/patches/fail2ban-0.8.1-sshd.patch delete mode 100644 fail2ban/patches/fail2ban-0.8.2-fd_cloexec.patch delete mode 100644 fail2ban/patches/fail2ban-0.8.3-init.patch delete mode 100644 fail2ban/patches/fail2ban-0.8.3-log2syslog.patch create mode 100644 libinih/libinih.nm delete mode 100644 libtirpc/patches/libtirpc-0.2.3-rc4.patch copy libgcrypt/libgcrypt.nm => liburcu/liburcu.nm (53%) delete mode 100644 libuser/libuser.nm create mode 100644 libxcrypt/libxcrypt.nm create mode 100644 libxcrypt/patches/libxcrypt-4.4.33-hashes.patch create mode 100644 lmdb/lmdb.nm create mode 100644 lmdb/lmdb.pc delete mode 100644 passwd/passwd.nm delete mode 100644 passwd/passwd.pam delete mode 100644 pcapy/pcapy.nm delete mode 100644 pptp/patches/pptp-1.7.2-compat.patch delete mode 100644 pptp/patches/pptp-1.7.2-conn-free.patch delete mode 100644 pptp/patches/pptp-1.7.2-conn-free2.patch delete mode 100644 pptp/patches/pptp-1.7.2-ip-path.patch delete mode 100644 pptp/patches/pptp-1.7.2-makedeps.patch delete mode 100644 pptp/patches/pptp-1.7.2-pptpsetup-encrypt.patch delete mode 100644 pptp/patches/pptp-1.7.2-pptpsetup-mppe.patch delete mode 100644 pptp/patches/pptp-1.7.2-pptpsetup.patch delete mode 100644 pptp/patches/pptp-1.7.2-waitpid.patch delete mode 100644 pptp/pptp.nm delete mode 100644 pychecker/pychecker.nm delete mode 100644 pygpgme/pygpgme.nm delete mode 100644 pyserial/pyserial.nm delete mode 100644 python-IPy/python-IPy.nm delete mode 100644 python-daemon/python-daemon.nm delete mode 100644 python-decorator/python-decorator.nm delete mode 100644 python-distutils-extra/python-distutils-extra.nm delete mode 100644 python-m2crypto/python-m2crypto.nm delete mode 100644 python-netfilter_conntrack/python-netfilter_conntrack.nm delete mode 100644 python-piksemel/python-piksemel.nm delete mode 100644 python-progressbar/patches/progressbar-interrupt.patch delete mode 100644 python-progressbar/python-progressbar.nm delete mode 100644 python-pyaspects/python-pyaspects.nm delete mode 100644 python-pycurl/patches/0001-No-longer-keep-copies-of-string-options-since-this-i.patch delete mode 100644 python-pycurl/patches/0002-Fixes-https-sourceforge.net-tracker-func-detail-aid-.patch delete mode 100644 python-pycurl/patches/0003-Fixes-refcount-bug-and-provides-better-organization-.patch delete mode 100644 python-pycurl/patches/0004-Test-for-reset-fixes-refcount-bug.patch delete mode 100644 python-pycurl/patches/0005-Updating-ChangeLog-with-relevant-changes.patch delete mode 100644 python-pycurl/patches/0101-setup.py-do-not-use-curl-config-static-libs.patch delete mode 100644 python-pycurl/patches/0102-test_internals.py-add-a-test-for-ref-counting-of-res.patch delete mode 100644 python-pycurl/python-pycurl.nm delete mode 100644 python-rrdtool/python-rrdtool.nm delete mode 100644 python-urlgrabber/python-urlgrabber.nm delete mode 100644 python-yaml/python-yaml.nm delete mode 100644 pyxattr/pyxattr.nm delete mode 100644 sip/patches/disable-rpaths.patch delete mode 100644 sip/patches/fix-linking.patch delete mode 100644 sip/patches/no-strip.patch delete mode 100644 sip/sip.nm delete mode 100644 subversion/patches/0001-subversion-1.9.0-rpath.patch delete mode 100644 subversion/patches/0002-subversion-1.9.0-pie.patch delete mode 100644 subversion/patches/0003-subversion-1.8.5-swigplWall.patch delete mode 100644 subversion/subversion.nm delete mode 100644 syslinux/syslinux.nm create mode 100644 wireless-regdb/wireless-regdb.nm delete mode 100644 wireless-tools/patches/wireless_tools.29-makefile.patch delete mode 100644 wireless-tools/wireless-tools.nm delete mode 100644 zd1211-firmware/zd1211-firmware.nm delete mode 100644 zerofree/zerofree.nm
Difference in files: diff --git a/bc/bc.nm b/bc/bc.nm index 9b91ebd4c..9829ad069 100644 --- a/bc/bc.nm +++ b/bc/bc.nm @@ -4,42 +4,35 @@ ###############################################################################
name = bc -version = 1.06 +version = 1.07 release = 0
groups = System/Tools -url = http://www.gnu.org/software/bc/ +url = https://www.gnu.org/software/bc/ license = GPLv2+ summary = bc is an arbitrary precision numeric processing language.
description - bc is a language that supports arbitrary precision numbers with \ - interactive execution of statements. There are some similarities in the \ + bc is a language that supports arbitrary precision numbers with + interactive execution of statements. There are some similarities in the syntax to the C programming language. end
-source_dl = http://ftp.gnu.org/gnu/bc/ +source_dl = https://ftp.gnu.org/gnu/bc/
build requires + ed flex + texinfo end
configure_options += \ - --mandir=/usr/share/man \ --disable-static - - prepare_cmds - sed -i '/PROTO.*readline/d' bc/scan.l - sed -i '/flex -I8/s/8//' configure - sed -i '/stdlib/a #include <string.h>' lib/number.c - sed -i 's/program.*save/static &/' bc/load.c - end end
packages package %{name} - end
package %{name}-debuginfo template DEBUGINFO diff --git a/br2684ctl/br2684ctl.nm b/br2684ctl/br2684ctl.nm deleted file mode 100644 index 7b014fbc9..000000000 --- a/br2684ctl/br2684ctl.nm +++ /dev/null @@ -1,50 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = br2684ctl -version = ipfire-1 -release = 2 - -groups = Networking/Tools -url = http://cvs.linux-atm.sourceforge.net/viewcvs.py/linux-atm/linux-atm/src/br26... -license = GPLv2+ -summary = Utilities for configuring an ATM/ethernet bridge. - -description - Utility for configuring RFC 2684 ATM/Ethernet bridging - ATM bridging is a way to extend Ethernet over an ATM network and is - mainly used for DSL connections. This package contains the user space - utility needed to configure the kernel driver. - This package is needed if you own an USB DSL modem and your connection - uses one of these protocols: RFC 1483 bridged (RFC 2684 bridged), - PPP over Ethernet (PPPoE). -end - -sources = %{thisapp}.tar.bz2 - -build - requires - linux-atm-devel - end - - DIR_APP = %{DIR_SRC}/br2684ctl - - build - gcc %{CFLAGS} %{LDFLAGS} -latm br2684ctl.c -o br2684ctl - end - - install - mkdir -pv %{BUILDROOT}/usr/bin - install -v -m 755 br2684ctl %{BUILDROOT}/usr/bin/br2684ctl - end -end - -packages - package %{name} - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/bridge-utils/bridge-utils.nm b/bridge-utils/bridge-utils.nm deleted file mode 100644 index 09bfc7bd8..000000000 --- a/bridge-utils/bridge-utils.nm +++ /dev/null @@ -1,47 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = bridge-utils -version = 1.5 -release = 1 - -groups = Networking/Tools -url = http://bridge.sourceforge.net/ -license = GPLv2+ -summary = Utilities for configuring the linux ethernet bridge. - -description - This package contains utilities for configuring the linux ethernet \ - bridge. The linux ethernet bridge can be used for connecting multiple \ - ethernet devices together. The connecting is fully transparent: hosts \ - connected to one ethernet device see hosts connected to the other \ - ethernet devices directly. -end - -source_dl = http://downloads.sourceforge.net/project/%%7Bname%7D/%%7Bname%7D/%%7Bthisapp... - -build - requires - autoconf - automake - end - - prepare_cmds - autoconf - end - - install_cmds - rm -rvf %{BUILDROOT}/usr/include - end -end - -packages - package %{name} - end - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/bridge-utils/patches/bridge-utils-1.5-linux_3.8_fix-1.patch b/bridge-utils/patches/bridge-utils-1.5-linux_3.8_fix-1.patch deleted file mode 100644 index 292cc83c2..000000000 --- a/bridge-utils/patches/bridge-utils-1.5-linux_3.8_fix-1.patch +++ /dev/null @@ -1,54 +0,0 @@ -Submitted By: Bruce Dubbs <bdubbs_at_linuxfromscratch_dot_org> -Date: 2013-03-10 -Initial Package Version: 1.5 -Upstream Status: Unknown -Origin: LFS -Description: This patch contains fixes a problem with -the omission of a needed include file in the kernel's linux/if_bridge.h. -It also fixes some autoconf warnings. - - -diff -Naur bridge-utils-1.5.orig/Makefile.in bridge-utils-1.5/Makefile.in ---- bridge-utils-1.5.orig/Makefile.in 2011-03-28 19:52:54.000000000 -0500 -+++ bridge-utils-1.5/Makefile.in 2013-03-10 13:44:41.000000000 -0500 -@@ -9,6 +9,7 @@ - bindir=@bindir@ - sbindir=@sbindir@ - mandir=@mandir@ -+datarootdir=@datarootdir@ - distdir = $(PACKAGE)-$(VERSION) - - SUBDIRS=libbridge brctl doc -diff -Naur bridge-utils-1.5.orig/brctl/Makefile.in bridge-utils-1.5/brctl/Makefile.in ---- bridge-utils-1.5.orig/brctl/Makefile.in 2011-03-28 19:52:54.000000000 -0500 -+++ bridge-utils-1.5/brctl/Makefile.in 2013-03-10 13:44:15.000000000 -0500 -@@ -12,6 +12,7 @@ - bindir=@bindir@ - sbindir=@sbindir@ - mandir=@mandir@ -+datarootdir=@datarootdir@ - - INSTALL=@INSTALL@ - -diff -Naur bridge-utils-1.5.orig/doc/Makefile.in bridge-utils-1.5/doc/Makefile.in ---- bridge-utils-1.5.orig/doc/Makefile.in 2011-03-28 19:52:54.000000000 -0500 -+++ bridge-utils-1.5/doc/Makefile.in 2013-03-10 13:43:39.000000000 -0500 -@@ -9,6 +9,7 @@ - bindir=@bindir@ - sbindir=@sbindir@ - mandir=@mandir@ -+datarootdir=@datarootdir@ - - SUBDIRS=libbridge brctl - -diff -Naur bridge-utils-1.5.orig/libbridge/libbridge.h bridge-utils-1.5/libbridge/libbridge.h ---- bridge-utils-1.5.orig/libbridge/libbridge.h 2011-03-28 19:52:54.000000000 -0500 -+++ bridge-utils-1.5/libbridge/libbridge.h 2013-03-10 13:46:23.000000000 -0500 -@@ -21,6 +21,7 @@ - - #include <sys/socket.h> - #include <linux/if.h> -+#include <netinet/ip6.h> - #include <linux/if_bridge.h> - - /* defined in net/if.h but that conflicts with linux/if.h... */ diff --git a/cmocka/cmocka.nm b/cmocka/cmocka.nm new file mode 100644 index 000000000..df528ee98 --- /dev/null +++ b/cmocka/cmocka.nm @@ -0,0 +1,83 @@ +############################################################################### +# IPFire.org - An Open Source Firewall Solution # +# Copyright (C) - IPFire Development Team info@ipfire.org # +############################################################################### + +name = cmocka +version = 1.1.5 +release = 1 + +groups = System/Libraries +url = https://cmocka.org +license = ASL 2.0 +summary = An elegant unit testing framework for C with support for mock objects + +description + There are a variety of C unit testing frameworks available however many of them + are fairly complex and require the latest compiler technology. Some development + requires the use of old compilers which makes it difficult to use some unit + testing frameworks. In addition many unit testing frameworks assume the code + being tested is an application or module that is targeted to the same platform + that will ultimately execute the test. Because of this assumption many + frameworks require the inclusion of standard C library headers in the code + module being tested which may collide with the custom or incomplete + implementation of the C library utilized by the code under test. + + Cmocka only requires a test application is linked with the standard C library + which minimizes conflicts with standard C library headers. Also, CMocka tries + to avoid the use of some of the newer features of C compilers. + + This results in CMocka being a relatively small library that can be used to + test a variety of exotic code. If a developer wishes to simply test an + application with the latest compiler then other unit testing frameworks may be + preferable. + + This is the successor of Google's Cmockery. +end + +source_dl = https://cmocka.org/files/1.1/ +sources = %{thisapp}.tar.xz + +build + requires + cmake + make + end + + # Disable LTO + LTO_CFLAGS = + + build + mkdir build && cd build + + %{cmake} \ + -DUNIT_TESTING=ON \ + .. + + make %{PARALLELISMFLAGS} + end + + test + cd build + + make test + end + + install + cd build + + make install DESTDIR="%{BUILDROOT}" + end +end + +packages + package %{name} + + package %{name}-devel + template DEVEL + end + + package %{name}-debuginfo + template DEBUGINFO + end +end diff --git a/compat-libxcrypt/compat-libxcrypt.nm b/compat-libxcrypt/compat-libxcrypt.nm new file mode 100644 index 000000000..de696a2d7 --- /dev/null +++ b/compat-libxcrypt/compat-libxcrypt.nm @@ -0,0 +1,52 @@ +############################################################################### +# IPFire.org - An Open Source Firewall Solution # +# Copyright (C) - IPFire Development Team info@ipfire.org # +############################################################################### + +name = compat-libxcrypt +version = 4.4.33 +release = 1 +thisapp = libxcrypt-%{version} + +groups = System/Libraries +url = https://github.com/besser82/libxcrypt/ +license = LGPLv2.1 +summary = Extended crypt library for descrypt, md5crypt, bcrypt, and others + +description + This package provides a version of libxcrypt which is compatible with + the old glibc interface. +end + +source_dl = https://github.com/besser82/libxcrypt/releases/download/v%%7Bversion%7D/ +sources = %{thisapp}.tar.xz + +build + requires + perl + end + + configure_options += \ + --disable-static \ + --enable-hashes=strong,glibc \ + --enable-obsolete-api=glibc \ + --disable-failure-tokens + + test + LD_LIBRARY_PATH="%{DIR_APP}/.libs" make check + end + + install + mkdir -pv %{BUILDROOT}%{libdir} + install -v -m 755 .libs/libcrypt.so.1.1.0 %{BUILDROOT}%{libdir}/libcrypt.so.1.1.0 + ln -svf libcrypt.so.1.1.0 %{BUILDROOT}%{libdir}/libcrypt.so.1 + end +end + +packages + package %{name} + + package %{name}-debuginfo + template DEBUGINFO + end +end diff --git a/compat-libxcrypt/patches/libxcrypt-4.4.33-hashes.patch b/compat-libxcrypt/patches/libxcrypt-4.4.33-hashes.patch new file mode 100644 index 000000000..42f5d67a7 --- /dev/null +++ b/compat-libxcrypt/patches/libxcrypt-4.4.33-hashes.patch @@ -0,0 +1,14 @@ +diff --git a/build-aux/scripts/expand-selected-hashes b/build-aux/scripts/expand-selected-hashes +index 10d0bcc..2558c42 100644 +--- a/build-aux/scripts/expand-selected-hashes ++++ b/build-aux/scripts/expand-selected-hashes +@@ -50,9 +50,6 @@ sub expand_selected { + push @errors, "'$w' is not a hash or group name\n"; + } + } +- if (scalar(%enabled) == 0) { +- push @errors, "no hashes are enabled\n"; +- } + die join q{}, @errors if @errors; + return keys %enabled; + } diff --git a/crda/crda.nm b/crda/crda.nm deleted file mode 100644 index 7f02771e6..000000000 --- a/crda/crda.nm +++ /dev/null @@ -1,85 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = crda -version = %{ver_crda}-%{ver_regdb} -ver_crda = 3.18 -ver_regdb = 2016.02.08 -release = 2 - -maintainer = Arne Fitzenreiter arne.fitzenreiter@ipfire.org -groups = Network/Wireless -url = http://linuxwireless.org/en/developers/Regulatory/CRDA -license = ISC -summary = Regulatory compliance daemon for 802.11 wireless networking. - -description - CRDA acts as the udev helper for communication between the kernel - and userspace for regulatory compliance. It relies on nl80211 - for communication. CRDA is intended to be run only through udev - communication from the kernel. -end - -source_dl = \ - https://www.kernel.org/pub/software/network/crda/ \ - https://www.kernel.org/pub/software/network/wireless-regdb/ -sources = crda-%{ver_crda}.tar.xz wireless-regdb-%{ver_regdb}.tar.xz - -build - requires - libgcrypt-devel - libnl3-devel - openssl - python-m2crypto - end - - prepare_cmds - # Remove -Werror - pushd %{DIR_SRC}/crda-%{ver_crda} - sed -e "s/-Werror//" -i Makefile - popd - end - - build - pushd %{DIR_SRC}/wireless-regdb-%{ver_regdb} - make ${PARALLELISMFLAGS} maintainer-clean - make ${PARALLELISMFLAGS} REGDB_PRIVKEY=key.priv.pem REGDB_PUBKEY=key.pub.pem - popd - - pushd %{DIR_SRC}/crda-%{ver_crda} - cp ../wireless-regdb-%{ver_regdb}/key.pub.pem pubkeys - - make ${PARALLELISMFLAGS} REG_BIN=../wireless-regdb-%{ver_regdb}/regulatory.bin - popd - end - - install - pushd %{DIR_SRC}/wireless-regdb-%{ver_regdb} - make install DESTDIR=%{BUILDROOT} PREFIX=%{prefix} MANDIR=%{mandir} - popd - - pushd %{DIR_SRC}/crda-%{ver_crda} - make install DESTDIR=%{BUILDROOT} PREFIX=%{prefix} MANDIR=%{mandir} \ - SBINDIR=%{sbindir}/ LIBDIR=%{libdir}/ - popd - end -end - -packages - package %{name} - provides = wireless-regdb = %{ver_regdb} - obsoletes = wireless-regdb < %{ver_regdb} - end - - package %{name}-devel - template DEVEL - - files += !%{libdir}/libreg.so - end - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/dracut/dracut.nm b/dracut/dracut.nm index 59ea280fd..abd0323c8 100644 --- a/dracut/dracut.nm +++ b/dracut/dracut.nm @@ -5,7 +5,7 @@
name = dracut version = 048 -release = 2 +release = 3
groups = System/Boot url = http://sourceforge.net/apps/trac/dracut/wiki @@ -103,7 +103,6 @@ packages end
requires - bridge-utils dhclient iproute2 nfs-utils diff --git a/fail2ban/fail2ban.logrotate b/fail2ban/fail2ban.logrotate deleted file mode 100644 index 4d7a6c909..000000000 --- a/fail2ban/fail2ban.logrotate +++ /dev/null @@ -1,9 +0,0 @@ -/var/log/fail2ban.log { - missingok - notifempty - size 30k - create 0600 root root - postrotate - /usr/bin/fail2ban-client set logtarget SYSLOG 2> /dev/null || true - endscript -} diff --git a/fail2ban/fail2ban.nm b/fail2ban/fail2ban.nm deleted file mode 100644 index 38ad03b67..000000000 --- a/fail2ban/fail2ban.nm +++ /dev/null @@ -1,47 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = fail2ban -version = 0.8.4 -release = 1 - -groups = Security/Tools -url = http://fail2ban.sourceforge.net/ -license = GPLv2+ -summary = Ban IPs that make too many password failures. - -description - Fail2ban scans log files like /var/log/pwdfail or - /var/log/apache/error_log and bans IP that makes too many password - failures. It updates firewall rules to reject the IP address. -end - -source_dl = -sources = %{thisapp}.tar.bz2 - -build - requires - python-devel - end - - build - : # nothing to do - end - - install - python setup.py install --root=%{BUILDROOT} - mkdir -pv %{BUILDROOT}/etc/logrotate.d/ - cp -vf %{DIR_SOURCE}/fail2ban.logrotate %{BUILDROOT}/etc/logrotate.d/fail2ban - end -end - -packages - package %{name} - end - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/fail2ban/patches/fail2ban-0.8.1-sshd.patch b/fail2ban/patches/fail2ban-0.8.1-sshd.patch deleted file mode 100644 index 29a768efa..000000000 --- a/fail2ban/patches/fail2ban-0.8.1-sshd.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- fail2ban-0.8.1/config/jail.conf.sshd 2007-08-09 00:49:59.000000000 +0200 -+++ fail2ban-0.8.1/config/jail.conf 2007-08-15 21:41:33.000000000 +0200 -@@ -42,11 +42,11 @@ - - [ssh-iptables] - --enabled = false -+enabled = true - filter = sshd - action = iptables[name=SSH, port=ssh, protocol=tcp] -- sendmail-whois[name=SSH, dest=you@mail.com, sender=fail2ban@mail.com] --logpath = /var/log/sshd.log -+ sendmail-whois[name=SSH, dest=root, sender=fail2ban@mail.com] -+logpath = /var/log/secure - maxretry = 5 - - [proftpd-iptables] diff --git a/fail2ban/patches/fail2ban-0.8.2-fd_cloexec.patch b/fail2ban/patches/fail2ban-0.8.2-fd_cloexec.patch deleted file mode 100644 index 5c89f7fda..000000000 --- a/fail2ban/patches/fail2ban-0.8.2-fd_cloexec.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- fail2ban-0.8.2/server/filter.py.orig 2008-03-27 16:26:59.000000000 +0000 -+++ fail2ban-0.8.2/server/filter.py 2008-03-27 15:29:48.000000000 +0000 -@@ -428,6 +428,7 @@ - # is computed and compared to the previous hash of this line. - - import md5 -+import fcntl - - class FileContainer: - -@@ -455,6 +456,11 @@ - - def open(self): - self.__handler = open(self.__filename) -+ -+ # Set the file descriptor to be FD_CLOEXEC -+ fd = self.__handler.fileno() -+ fcntl.fcntl (self.__handler.fileno(), fcntl.F_SETFD, fd | fcntl.FD_CLOEXEC) -+ - firstLine = self.__handler.readline() - # Computes the MD5 of the first line. - myHash = md5.new(firstLine).digest() diff --git a/fail2ban/patches/fail2ban-0.8.3-init.patch b/fail2ban/patches/fail2ban-0.8.3-init.patch deleted file mode 100644 index 3ed8609fc..000000000 --- a/fail2ban/patches/fail2ban-0.8.3-init.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- fail2ban-0.8.3/files/redhat-initd.init 2008-03-10 23:36:22.000000000 +0100 -+++ fail2ban-0.8.3/files/redhat-initd 2008-08-24 20:46:01.000000000 +0200 -@@ -1,6 +1,6 @@ - #!/bin/bash - # --# chkconfig: 345 92 08 -+# chkconfig: - 92 08 - # description: Fail2ban daemon - # http://fail2ban.sourceforge.net/wiki/index.php/Main_Page - # process name: fail2ban-server -@@ -27,8 +27,7 @@ - echo -n $"Starting fail2ban: " - getpid - if [ -z "$pid" ]; then -- rm -rf /var/run/fail2ban/fail2ban.sock # in case of unclean shutdown -- $FAIL2BAN start > /dev/null -+ $FAIL2BAN -x start > /dev/null - RETVAL=$? - fi - if [ $RETVAL -eq 0 ]; then diff --git a/fail2ban/patches/fail2ban-0.8.3-log2syslog.patch b/fail2ban/patches/fail2ban-0.8.3-log2syslog.patch deleted file mode 100644 index 5ee11f6a7..000000000 --- a/fail2ban/patches/fail2ban-0.8.3-log2syslog.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- fail2ban-0.8.3/config/fail2ban.conf~ 2008-02-27 22:44:55.000000000 +0100 -+++ fail2ban-0.8.3/config/fail2ban.conf 2009-08-27 20:48:25.000000000 +0200 -@@ -22,7 +22,7 @@ - # Only one log target can be specified. - # Values: STDOUT STDERR SYSLOG file Default: /var/log/fail2ban.log - # --logtarget = /var/log/fail2ban.log -+logtarget = SYSLOG - - # Option: socket - # Notes.: Set the socket file. This is used to communicate with the daemon. Do diff --git a/gawk/gawk.nm b/gawk/gawk.nm index 905b9e097..5060b1704 100644 --- a/gawk/gawk.nm +++ b/gawk/gawk.nm @@ -4,13 +4,13 @@ ###############################################################################
name = gawk -version = 5.0.1 +version = 5.2.1 release = 1
groups = System/Tools -url = http://www.gnu.org/software/gawk/gawk.html +url = https://www.gnu.org/software/gawk/gawk.html license = GPLv3+ -summary = The GNU version of the awk text processing utility. +summary = The GNU version of the awk text processing utility
description The gawk package contains the GNU version of awk, a text processing @@ -19,7 +19,7 @@ description end
# Needed for testsuite. -source_dl = http://ftp.gnu.org/gnu/gawk/ +source_dl = https://ftp.gnu.org/gnu/gawk/ sources = %{thisapp}.tar.xz
build @@ -45,8 +45,6 @@ end
packages package %{name} - groups += Base Build - provides /bin/awk /bin/gawk diff --git a/git/git.nm b/git/git.nm index 24c42793f..c9919af74 100644 --- a/git/git.nm +++ b/git/git.nm @@ -5,7 +5,7 @@
name = git version = 2.38.1 -release = 1 +release = 2
groups = Development/Tools url = http://git-scm.com/ @@ -171,21 +171,6 @@ packages end end
- package %{name}-svn - summary = Git tools for importing Subversion repositories. - description = %{summary} - - requires - git=%{thisver} - subversion - end - - files - %{gitcoredir}/*svn* - %{mandir}/man1/*svn* - end - end - package %{name}-cvs summary = Git tools for importing CVS repositories. description = %{summary} diff --git a/glibc/glibc.nm b/glibc/glibc.nm index ea59a895d..07dada011 100644 --- a/glibc/glibc.nm +++ b/glibc/glibc.nm @@ -5,7 +5,7 @@
name = glibc version = 2.36 -release = 1 +release = 2
maintainer = Michael Tremer michael.tremer@ipfire.org groups = System/Base @@ -87,6 +87,7 @@ build --enable-add-ons \ --enable-kernel=%{OPTIMIZED_KERNEL} \ --disable-werror \ + --disable-crypt \ --enable-stack-protector=strong \ --enable-bind-now \ --enable-obsolete-rpc \ diff --git a/kernel/config-generic b/kernel/config-generic index b626e9550..47ca2b33e 100644 --- a/kernel/config-generic +++ b/kernel/config-generic @@ -6219,11 +6219,9 @@ CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y CONFIG_ZERO_CALL_USED_REGS=y # end of Memory initialization
-# CONFIG_RANDSTRUCT_NONE is not set +CONFIG_RANDSTRUCT_NONE=y # CONFIG_RANDSTRUCT_FULL is not set -CONFIG_RANDSTRUCT_PERFORMANCE=y -CONFIG_RANDSTRUCT=y -CONFIG_GCC_PLUGIN_RANDSTRUCT=y +# CONFIG_RANDSTRUCT_PERFORMANCE is not set # end of Kernel hardening options # end of Security options
diff --git a/kernel/kernel.nm b/kernel/kernel.nm index 0ce81c298..ad1808469 100644 --- a/kernel/kernel.nm +++ b/kernel/kernel.nm @@ -5,7 +5,7 @@
name = kernel version = 6.0.6 -release = 1 +release = 4 thisapp = linux-%{version}
maintainer = Arne Fitzenreiter arne.fitzenreiter@ipfire.org @@ -49,8 +49,7 @@ build /usr/bin/openssl pciutils-devel perl - python3 - python-devel + python3-devel rsync openssl-devel slang-devel @@ -292,6 +291,7 @@ packages kernel-updater linux-firmware intel-microcode + wireless-regdb end
files diff --git a/libcap-ng/libcap-ng.nm b/libcap-ng/libcap-ng.nm index ddc640d06..1abc6cbe4 100644 --- a/libcap-ng/libcap-ng.nm +++ b/libcap-ng/libcap-ng.nm @@ -4,11 +4,11 @@ ###############################################################################
name = libcap-ng -version = 0.7.9 +version = 0.8.3 release = 1
groups = System/Libraries -url = http://people.redhat.com/sgrubb/libcap-ng +url = https://people.redhat.com/sgrubb/libcap-ng license = LGPLv2+ summary = An alternate posix capabilities library.
@@ -17,12 +17,11 @@ description easier. end
-source_dl = http://people.redhat.com/sgrubb/libcap-ng/ +source_dl = https://people.redhat.com/sgrubb/libcap-ng/
build requires libattr-devel - python end
test diff --git a/libinih/libinih.nm b/libinih/libinih.nm new file mode 100644 index 000000000..e72c76bf2 --- /dev/null +++ b/libinih/libinih.nm @@ -0,0 +1,56 @@ +############################################################################### +# IPFire.org - An Open Source Firewall Solution # +# Copyright (C) - IPFire Development Team info@ipfire.org # +############################################################################### + +name = libinih +version = 56 +release = 1 +thisapp = inih-r%{version} + +groups = System/Libraries +url = https://github.com/benhoyt/inih +license = BSD +summary = Simple .INI file parser in C, good for embedded systems + +description + inih (INI Not Invented Here) is a simple .INI file parser written in C. + It's only a couple of pages of code, and it was designed to be small + and simple, so it's good for embedded systems. It's also more or less + compatible with Python's ConfigParser style of .INI files, including + RFC 822-style multi-line syntax and name: value entries. +end + +source_dl = https://github.com/benhoyt/inih/archive/refs/tags/r%%7Bversion%7D.tar.gz#/ + +build + requires + meson + ninja + end + + build + %{meson} \ + -Ddefault_library=shared \ + -Ddistro_install=true \ + -Dwith_INIReader=true + + %{meson_build} + end + + install + %{meson_install} + end +end + +packages + package %{name} + + package %{name}-devel + template DEVEL + end + + package %{name}-debuginfo + template DEBUGINFO + end +end diff --git a/libldb/libldb.nm b/libldb/libldb.nm index 066427002..a0c184a14 100644 --- a/libldb/libldb.nm +++ b/libldb/libldb.nm @@ -4,36 +4,38 @@ ###############################################################################
name = libldb -version = 1.1.27 +version = 2.6.1 release = 1 +thisapp = ldb-%{version}
groups = System/Libraries -url = http://ldb.samba.org/ +url = https://ldb.samba.org/ license = LGPLv3+ -summary = A schema-less, ldap like, API and database. +summary = A schema-less, ldap like, API and database
description An extensible library that implements an LDAP like API to access remote LDAP servers, or use local tdb databases. end
-thisapp = ldb-%{version} - -source_dl = http://samba.org/ftp/ldb/ +source_dl = https://download.samba.org/pub/ldb/
build requires chrpath + cmocka-devel docbook-utils docbook-xsl libtalloc-devel >= 2.1.5 libtdb-devel >= 1.3.8 libtevent-devel >= 0.9.27 + libtirpc-devel + lmdb-devel >= 0.9.16 popt-devel - pytalloc - pytdb - pytevent - python-devel + python3-devel + python3-talloc + python3-tdb + python3-tevent end
configure_options += \ @@ -43,8 +45,9 @@ build --with-modulesdir=%{libdir}/ldb/modules \ --with-privatelibdir=%{libdir}/ldb
- # Disable parallel build. - PARALLELISMFLAGS = + test + make check + end
install_cmds # Remove rpath from binaries. @@ -72,8 +75,10 @@ packages template DEVEL end
- package pyldb - template PYTHON + package python3-ldb + template PYTHON3 + + files += %{libdir}/libpyldb* end
package %{name}-debuginfo diff --git a/libtalloc/libtalloc.nm b/libtalloc/libtalloc.nm index 0fb84d35c..c0800da22 100644 --- a/libtalloc/libtalloc.nm +++ b/libtalloc/libtalloc.nm @@ -4,11 +4,12 @@ ###############################################################################
name = libtalloc -version = 2.1.8 +version = 2.3.4 release = 1 +thisapp = talloc-%{version}
groups = System/Libraries -url = http://talloc.samba.org/ +url = https://talloc.samba.org/ license = LGPLv3+ summary = The talloc library.
@@ -16,15 +17,13 @@ description A library that implements a hierarchical allocator with destructors. end
-thisapp = talloc-%{version} - -source_dl = http://samba.org/ftp/talloc/ +source_dl = https://samba.org/ftp/talloc/
build requires docbook-utils docbook-xsl - python-devel + python3-devel end
configure_options += \ @@ -40,8 +39,10 @@ packages template DEVEL end
- package pytalloc - template PYTHON + package python3-talloc + template PYTHON3 + + files += %{libdir}/libpytalloc* end
package %{name}-debuginfo diff --git a/libtdb/libtdb.nm b/libtdb/libtdb.nm index 872df0458..970442a3a 100644 --- a/libtdb/libtdb.nm +++ b/libtdb/libtdb.nm @@ -4,11 +4,12 @@ ###############################################################################
name = libtdb -version = 1.3.11 -release = 2 +version = 1.4.7 +release = 1 +thisapp = tdb-%{version}
groups = System/Libraries -url = http://tdb.samba.org/ +url = https://tdb.samba.org/ license = LGPLv3+ summary = The tdb library.
@@ -16,15 +17,13 @@ description A library that implements a trivial database. end
-thisapp = tdb-%{version} - -source_dl = http://samba.org/ftp/tdb/ +source_dl = https://samba.org/ftp/tdb/
build requires docbook-utils docbook-xsl - python-devel + python3-devel end
configure_options += \ @@ -56,8 +55,8 @@ packages template DEVEL end
- package pytdb - template PYTHON + package python3-tdb + template PYTHON3 end
package %{name}-debuginfo diff --git a/libtevent/libtevent.nm b/libtevent/libtevent.nm index 4547a9e26..e2d625874 100644 --- a/libtevent/libtevent.nm +++ b/libtevent/libtevent.nm @@ -4,11 +4,12 @@ ###############################################################################
name = libtevent -version = 0.9.30 +version = 0.13.0 release = 1 +thisapp = tevent-%{version}
groups = System/Libraries -url = http://tevent.samba.org/ +url = https://tevent.samba.org/ license = LGPLv3+ summary = The tevent library.
@@ -18,22 +19,25 @@ description the classic file descriptor events. end
-thisapp = tevent-%{version} - -source_dl = http://samba.org/ftp/tevent/ +source_dl = https://samba.org/ftp/tevent/
build requires + cmocka-devel docbook-utils docbook-xsl - libtalloc-devel >= 2.1.5 - python-devel + libtalloc-devel >= 2.3.4 + python3-devel end
configure_options += \ --disable-rpath \ --disable-rpath-install \ --bundled-libraries=NONE + + test + make check + end end
packages @@ -43,8 +47,8 @@ packages template DEVEL end
- package pytevent - template PYTHON + package python3-tevent + template PYTHON3 end
package %{name}-debuginfo diff --git a/libtirpc/libtirpc.nm b/libtirpc/libtirpc.nm index a805ec457..b37755962 100644 --- a/libtirpc/libtirpc.nm +++ b/libtirpc/libtirpc.nm @@ -4,7 +4,7 @@ ###############################################################################
name = libtirpc -version = 0.2.2 +version = 1.3.3 release = 1
groups = System/Libraries @@ -19,7 +19,7 @@ description Solaris 2.3 source. end
-source_dl = http://downloads.sourceforge.net/libtirpc/ +source_dl = https://downloads.sourceforge.net/libtirpc/ sources = %{thisapp}.tar.bz2
build @@ -36,7 +36,7 @@ build end
configure_options += \ - --enable-gss + --disable-gssapi
install_cmds # Fix installation path of the man pages. diff --git a/libtirpc/patches/libtirpc-0.2.3-rc4.patch b/libtirpc/patches/libtirpc-0.2.3-rc4.patch deleted file mode 100644 index 4f19f8657..000000000 --- a/libtirpc/patches/libtirpc-0.2.3-rc4.patch +++ /dev/null @@ -1,1397 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index 97c6f2c..a99c5d6 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -15,6 +15,13 @@ if test x$gss = xtrue; then - PKG_CHECK_MODULES(GSSGLUE, libgssglue, [], - AC_MSG_ERROR([Unable to locate information required to use libgssglue.])) - fi -+AC_ARG_ENABLE(ipv6, -+ [AC_HELP_STRING([--disable-ipv6], [Disable IPv6 support @<:@default=no@:>@])], -+ [],[enable_ipv6=yes]) -+AM_CONDITIONAL(INET6, test "x$disable_ipv6" != xno) -+if test "x$enable_ipv6" != xno; then -+ AC_DEFINE(INET6, 1, [Define to 1 if IPv6 is available]) -+fi - - AC_PROG_CC - AM_CONFIG_HEADER(config.h) -@@ -23,6 +30,7 @@ AC_HEADER_DIRENT - AC_PREFIX_DEFAULT(/usr) - AC_CHECK_HEADERS([arpa/inet.h fcntl.h libintl.h limits.h locale.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h syslog.h unistd.h]) - AC_CHECK_LIB([pthread], [pthread_create]) -+AC_CHECK_LIB([nsl], [yp_get_default_domain]) - - - AC_CONFIG_FILES([Makefile src/Makefile man/Makefile doc/Makefile]) -diff --git a/doc/Makefile.am b/doc/Makefile.am -index cc4fa76..58de35b 100644 ---- a/doc/Makefile.am -+++ b/doc/Makefile.am -@@ -1,5 +1,5 @@ - - install: install-am -- $(mkinstalldirs) $(DESTDIR)/etc -- cp -p ./etc_netconfig $(DESTDIR)/etc/netconfig -- chmod 0644 $(DESTDIR)/etc/netconfig -+ $(mkinstalldirs) $(DESTDIR)/$(sysconfdir) -+ cp -p $(srcdir)/etc_netconfig $(DESTDIR)/$(sysconfdir)/netconfig -+ chmod 0644 $(DESTDIR)/$(sysconfdir)/netconfig -diff --git a/src/Makefile.am b/src/Makefile.am -index 7ee8cbc..66350f5 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -40,7 +40,7 @@ lib_LTLIBRARIES = libtirpc.la - # release number of your package. This is an abuse that only fosters - # misunderstanding of the purpose of library versions." - # --libtirpc_la_LDFLAGS = -lnsl -lpthread -version-info 1:10:0 -+libtirpc_la_LDFLAGS = -lpthread -version-info 1:10:0 - - libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c bindresvport.c clnt_bcast.c \ - clnt_dg.c clnt_generic.c clnt_perror.c clnt_raw.c clnt_simple.c \ -@@ -48,17 +48,16 @@ libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c bindresvport.c cln - getrpcport.c mt_misc.c pmap_clnt.c pmap_getmaps.c pmap_getport.c \ - pmap_prot.c pmap_prot2.c pmap_rmt.c rpc_prot.c rpc_commondata.c \ - rpc_callmsg.c rpc_generic.c rpc_soc.c rpcb_clnt.c rpcb_prot.c \ -- rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_generic.c \ -- svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c \ -- auth_time.c auth_des.c authdes_prot.c des_crypt.c -+ rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_auth_none.c \ -+ svc_generic.c svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c \ -+ auth_time.c auth_des.c authdes_prot.c - - ## XDR - libtirpc_la_SOURCES += xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c - - ## Secure-RPC - if GSS -- libtirpc_la_SOURCES += auth_gss.c authgss_prot.c svc_auth_gss.c \ -- svc_auth_none.c -+ libtirpc_la_SOURCES += auth_gss.c authgss_prot.c svc_auth_gss.c - libtirpc_la_LDFLAGS += $(GSSGLUE_LIBS) - libtirpc_la_CFLAGS = -DHAVE_RPCSEC_GSS $(GSSGLUE_CFLAGS) - endif -diff --git a/src/auth_des.c b/src/auth_des.c -index 37e7667..f0c8b8c 100644 ---- a/src/auth_des.c -+++ b/src/auth_des.c -@@ -223,6 +223,7 @@ authdes_pk_seccreate(const char *servername, netobj *pkey, u_int window, - goto failed; - } - ad->ad_nis_srvr = NULL; /* not needed any longer */ -+ auth_get(auth); /* Reference for caller */ - return (auth); - - failed: -@@ -472,6 +473,12 @@ authdes_destroy(AUTH *auth) - FREE(auth, sizeof(AUTH)); - } - -+static bool_t -+authdes_wrap(AUTH *auth, XDR *xdrs, xdrproc_t xfunc, caddr_t xwhere) -+{ -+ return ((*xfunc)(xdrs, xwhere)); -+} -+ - static struct auth_ops * - authdes_ops(void) - { -@@ -487,6 +494,8 @@ authdes_ops(void) - ops.ah_validate = authdes_validate; - ops.ah_refresh = authdes_refresh; - ops.ah_destroy = authdes_destroy; -+ ops.ah_wrap = authdes_wrap; -+ ops.ah_unwrap = authdes_wrap; - } - mutex_unlock(&authdes_ops_lock); - return (&ops); -diff --git a/src/auth_gss.c b/src/auth_gss.c -index df3017a..539101e 100644 ---- a/src/auth_gss.c -+++ b/src/auth_gss.c -@@ -87,9 +87,9 @@ print_rpc_gss_sec(struct rpc_gss_sec *ptr) - int i; - char *p; - -- log_debug("rpc_gss_sec:"); -+ gss_log_debug("rpc_gss_sec:"); - if(ptr->mech == NULL) -- log_debug("NULL gss_OID mech"); -+ gss_log_debug("NULL gss_OID mech"); - else { - fprintf(stderr, " mechanism_OID: {"); - p = (char *)ptr->mech->elements; -@@ -151,7 +151,7 @@ authgss_create(CLIENT *clnt, gss_name_t name, struct rpc_gss_sec *sec) - struct rpc_gss_data *gd; - OM_uint32 min_stat = 0; - -- log_debug("in authgss_create()"); -+ gss_log_debug("in authgss_create()"); - - memset(&rpc_createerr, 0, sizeof(rpc_createerr)); - -@@ -200,6 +200,8 @@ authgss_create(CLIENT *clnt, gss_name_t name, struct rpc_gss_sec *sec) - - if (!authgss_refresh(auth)) - auth = NULL; -+ else -+ auth_get(auth); /* Reference for caller */ - - clnt->cl_auth = save_auth; - -@@ -214,7 +216,7 @@ authgss_create_default(CLIENT *clnt, char *service, struct rpc_gss_sec *sec) - gss_buffer_desc sname; - gss_name_t name = GSS_C_NO_NAME; - -- log_debug("in authgss_create_default()"); -+ gss_log_debug("in authgss_create_default()"); - - - sname.value = service; -@@ -225,7 +227,7 @@ authgss_create_default(CLIENT *clnt, char *service, struct rpc_gss_sec *sec) - &name); - - if (maj_stat != GSS_S_COMPLETE) { -- log_status("gss_import_name", maj_stat, min_stat); -+ gss_log_status("gss_import_name", maj_stat, min_stat); - rpc_createerr.cf_stat = RPC_AUTHERROR; - return (NULL); - } -@@ -247,7 +249,7 @@ authgss_get_private_data(AUTH *auth, struct authgss_private_data *pd) - { - struct rpc_gss_data *gd; - -- log_debug("in authgss_get_private_data()"); -+ gss_log_debug("in authgss_get_private_data()"); - - if (!auth || !pd) - return (FALSE); -@@ -267,7 +269,7 @@ authgss_get_private_data(AUTH *auth, struct authgss_private_data *pd) - static void - authgss_nextverf(AUTH *auth) - { -- log_debug("in authgss_nextverf()"); -+ gss_log_debug("in authgss_nextverf()"); - /* no action necessary */ - } - -@@ -281,7 +283,7 @@ authgss_marshal(AUTH *auth, XDR *xdrs) - OM_uint32 maj_stat, min_stat; - bool_t xdr_stat; - -- log_debug("in authgss_marshal()"); -+ gss_log_debug("in authgss_marshal()"); - - gd = AUTH_PRIVATE(auth); - -@@ -316,7 +318,7 @@ authgss_marshal(AUTH *auth, XDR *xdrs) - &rpcbuf, &checksum); - - if (maj_stat != GSS_S_COMPLETE) { -- log_status("gss_get_mic", maj_stat, min_stat); -+ gss_log_status("gss_get_mic", maj_stat, min_stat); - if (maj_stat == GSS_S_CONTEXT_EXPIRED) { - gd->established = FALSE; - authgss_destroy_context(auth); -@@ -341,7 +343,7 @@ authgss_validate(AUTH *auth, struct opaque_auth *verf) - gss_buffer_desc signbuf, checksum; - OM_uint32 maj_stat, min_stat; - -- log_debug("in authgss_validate()"); -+ gss_log_debug("in authgss_validate()"); - - gd = AUTH_PRIVATE(auth); - -@@ -377,7 +379,7 @@ authgss_validate(AUTH *auth, struct opaque_auth *verf) - maj_stat = gss_verify_mic(&min_stat, gd->ctx, &signbuf, - &checksum, &qop_state); - if (maj_stat != GSS_S_COMPLETE || qop_state != gd->sec.qop) { -- log_status("gss_verify_mic", maj_stat, min_stat); -+ gss_log_status("gss_verify_mic", maj_stat, min_stat); - if (maj_stat == GSS_S_CONTEXT_EXPIRED) { - gd->established = FALSE; - authgss_destroy_context(auth); -@@ -395,7 +397,7 @@ authgss_refresh(AUTH *auth) - gss_buffer_desc *recv_tokenp, send_token; - OM_uint32 maj_stat, min_stat, call_stat, ret_flags; - -- log_debug("in authgss_refresh()"); -+ gss_log_debug("in authgss_refresh()"); - - gd = AUTH_PRIVATE(auth); - -@@ -414,9 +416,9 @@ authgss_refresh(AUTH *auth) - #ifdef DEBUG - /* print the token we just received */ - if (recv_tokenp != GSS_C_NO_BUFFER) { -- log_debug("The token we just received (length %d):", -+ gss_log_debug("The token we just received (length %d):", - recv_tokenp->length); -- log_hexdump(recv_tokenp->value, recv_tokenp->length, 0); -+ gss_log_hexdump(recv_tokenp->value, recv_tokenp->length, 0); - } - #endif - maj_stat = gss_init_sec_context(&min_stat, -@@ -439,7 +441,7 @@ authgss_refresh(AUTH *auth) - } - if (maj_stat != GSS_S_COMPLETE && - maj_stat != GSS_S_CONTINUE_NEEDED) { -- log_status("gss_init_sec_context", maj_stat, min_stat); -+ gss_log_status("gss_init_sec_context", maj_stat, min_stat); - break; - } - if (send_token.length != 0) { -@@ -447,9 +449,9 @@ authgss_refresh(AUTH *auth) - - #ifdef DEBUG - /* print the token we are about to send */ -- log_debug("The token being sent (length %d):", -+ gss_log_debug("The token being sent (length %d):", - send_token.length); -- log_hexdump(send_token.value, send_token.length, 0); -+ gss_log_hexdump(send_token.value, send_token.length, 0); - #endif - - call_stat = clnt_call(gd->clnt, NULLPROC, -@@ -498,7 +500,7 @@ authgss_refresh(AUTH *auth) - - if (maj_stat != GSS_S_COMPLETE - || qop_state != gd->sec.qop) { -- log_status("gss_verify_mic", maj_stat, min_stat); -+ gss_log_status("gss_verify_mic", maj_stat, min_stat); - if (maj_stat == GSS_S_CONTEXT_EXPIRED) { - gd->established = FALSE; - authgss_destroy_context(auth); -@@ -531,7 +533,7 @@ authgss_service(AUTH *auth, int svc) - { - struct rpc_gss_data *gd; - -- log_debug("in authgss_service()"); -+ gss_log_debug("in authgss_service()"); - - if (!auth) - return(FALSE); -@@ -549,15 +551,26 @@ authgss_destroy_context(AUTH *auth) - struct rpc_gss_data *gd; - OM_uint32 min_stat; - -- log_debug("in authgss_destroy_context()"); -+ gss_log_debug("in authgss_destroy_context()"); - - gd = AUTH_PRIVATE(auth); - - if (gd->gc.gc_ctx.length != 0) { - if (gd->established) { -+ AUTH *save_auth = NULL; -+ -+ /* Make sure we use the right auth_ops */ -+ if (gd->clnt->cl_auth != auth) { -+ save_auth = gd->clnt->cl_auth; -+ gd->clnt->cl_auth = auth; -+ } -+ - gd->gc.gc_proc = RPCSEC_GSS_DESTROY; - clnt_call(gd->clnt, NULLPROC, (xdrproc_t)xdr_void, NULL, - (xdrproc_t)xdr_void, NULL, AUTH_TIMEOUT); -+ -+ if (save_auth != NULL) -+ gd->clnt->cl_auth = save_auth; - } - gss_release_buffer(&min_stat, &gd->gc.gc_ctx); - /* XXX ANDROS check size of context - should be 8 */ -@@ -582,7 +595,7 @@ authgss_destroy(AUTH *auth) - struct rpc_gss_data *gd; - OM_uint32 min_stat; - -- log_debug("in authgss_destroy()"); -+ gss_log_debug("in authgss_destroy()"); - - gd = AUTH_PRIVATE(auth); - -@@ -603,7 +616,7 @@ authgss_wrap(AUTH *auth, XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr) - { - struct rpc_gss_data *gd; - -- log_debug("in authgss_wrap()"); -+ gss_log_debug("in authgss_wrap()"); - - gd = AUTH_PRIVATE(auth); - -@@ -620,7 +633,7 @@ authgss_unwrap(AUTH *auth, XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr) - { - struct rpc_gss_data *gd; - -- log_debug("in authgss_unwrap()"); -+ gss_log_debug("in authgss_unwrap()"); - - gd = AUTH_PRIVATE(auth); - -diff --git a/src/auth_none.c b/src/auth_none.c -index a439ec6..affc92b 100644 ---- a/src/auth_none.c -+++ b/src/auth_none.c -@@ -110,20 +110,19 @@ static bool_t - authnone_marshal(AUTH *client, XDR *xdrs) - { - struct authnone_private *ap; -- bool_t dummy; -+ bool_t rv = FALSE; - extern mutex_t authnone_lock; - - assert(xdrs != NULL); - -+ mutex_lock(&authnone_lock); - ap = authnone_private; -- if (ap == NULL) { -- mutex_unlock(&authnone_lock); -- return (FALSE); -+ if (ap) { -+ rv = (*xdrs->x_ops->x_putbytes)(xdrs, ap->marshalled_client, -+ ap->mcnt); - } -- dummy = (*xdrs->x_ops->x_putbytes)(xdrs, -- ap->marshalled_client, ap->mcnt); - mutex_unlock(&authnone_lock); -- return (dummy); -+ return (rv); - } - - /* All these unused parameters are required to keep ANSI-C from grumbling */ -@@ -155,6 +154,12 @@ authnone_destroy(AUTH *client) - { - } - -+static bool_t -+authnone_wrap(AUTH *auth, XDR *xdrs, xdrproc_t xfunc, caddr_t xwhere) -+{ -+ return ((*xfunc)(xdrs, xwhere)); -+} -+ - static struct auth_ops * - authnone_ops() - { -@@ -170,6 +175,8 @@ authnone_ops() - ops.ah_validate = authnone_validate; - ops.ah_refresh = authnone_refresh; - ops.ah_destroy = authnone_destroy; -+ ops.ah_wrap = authnone_wrap; -+ ops.ah_unwrap = authnone_wrap; - } - mutex_unlock(&ops_lock); - return (&ops); -diff --git a/src/auth_unix.c b/src/auth_unix.c -index c2469da..4b9b13f 100644 ---- a/src/auth_unix.c -+++ b/src/auth_unix.c -@@ -162,6 +162,7 @@ authunix_create(machname, uid, gid, len, aup_gids) - */ - auth->ah_cred = au->au_origcred; - marshal_new_auth(auth); -+ auth_get(auth); /* Reference for caller */ - return (auth); - #ifndef _KERNEL - cleanup_authunix_create: -@@ -396,6 +397,12 @@ marshal_new_auth(auth) - XDR_DESTROY(xdrs); - } - -+static bool_t -+authunix_wrap(AUTH *auth, XDR *xdrs, xdrproc_t xfunc, caddr_t xwhere) -+{ -+ return ((*xfunc)(xdrs, xwhere)); -+} -+ - static struct auth_ops * - authunix_ops() - { -@@ -411,6 +418,8 @@ authunix_ops() - ops.ah_validate = authunix_validate; - ops.ah_refresh = authunix_refresh; - ops.ah_destroy = authunix_destroy; -+ ops.ah_wrap = authunix_wrap; -+ ops.ah_unwrap = authunix_wrap; - } - mutex_unlock(&ops_lock); - return (&ops); -diff --git a/src/authgss_prot.c b/src/authgss_prot.c -index 9d7fa09..a3c93c9 100644 ---- a/src/authgss_prot.c -+++ b/src/authgss_prot.c -@@ -64,10 +64,10 @@ xdr_rpc_gss_buf(XDR *xdrs, gss_buffer_t buf, u_int maxsize) - if (xdr_stat && xdrs->x_op == XDR_DECODE) - buf->length = tmplen; - -- log_debug("xdr_rpc_gss_buf: %s %s (%p:%d)", -- (xdrs->x_op == XDR_ENCODE) ? "encode" : "decode", -- (xdr_stat == TRUE) ? "success" : "failure", -- buf->value, buf->length); -+ gss_log_debug("xdr_rpc_gss_buf: %s %s (%p:%d)", -+ (xdrs->x_op == XDR_ENCODE) ? "encode" : "decode", -+ (xdr_stat == TRUE) ? "success" : "failure", -+ buf->value, buf->length); - - return xdr_stat; - } -@@ -83,12 +83,12 @@ xdr_rpc_gss_cred(XDR *xdrs, struct rpc_gss_cred *p) - xdr_enum(xdrs, (enum_t *)&p->gc_svc) && - xdr_rpc_gss_buf(xdrs, &p->gc_ctx, MAX_AUTH_BYTES)); - -- log_debug("xdr_rpc_gss_cred: %s %s " -- "(v %d, proc %d, seq %d, svc %d, ctx %p:%d)", -- (xdrs->x_op == XDR_ENCODE) ? "encode" : "decode", -- (xdr_stat == TRUE) ? "success" : "failure", -- p->gc_v, p->gc_proc, p->gc_seq, p->gc_svc, -- p->gc_ctx.value, p->gc_ctx.length); -+ gss_log_debug("xdr_rpc_gss_cred: %s %s " -+ "(v %d, proc %d, seq %d, svc %d, ctx %p:%d)", -+ (xdrs->x_op == XDR_ENCODE) ? "encode" : "decode", -+ (xdr_stat == TRUE) ? "success" : "failure", -+ p->gc_v, p->gc_proc, p->gc_seq, p->gc_svc, -+ p->gc_ctx.value, p->gc_ctx.length); - - return (xdr_stat); - } -@@ -101,10 +101,10 @@ xdr_rpc_gss_init_args(XDR *xdrs, gss_buffer_desc *p) - - xdr_stat = xdr_rpc_gss_buf(xdrs, p, maxlen); - -- log_debug("xdr_rpc_gss_init_args: %s %s (token %p:%d)", -- (xdrs->x_op == XDR_ENCODE) ? "encode" : "decode", -- (xdr_stat == TRUE) ? "success" : "failure", -- p->value, p->length); -+ gss_log_debug("xdr_rpc_gss_init_args: %s %s (token %p:%d)", -+ (xdrs->x_op == XDR_ENCODE) ? "encode" : "decode", -+ (xdr_stat == TRUE) ? "success" : "failure", -+ p->value, p->length); - - return (xdr_stat); - } -@@ -123,13 +123,13 @@ xdr_rpc_gss_init_res(XDR *xdrs, struct rpc_gss_init_res *p) - xdr_u_int(xdrs, &p->gr_win) && - xdr_rpc_gss_buf(xdrs, &p->gr_token, tok_maxlen)); - -- log_debug("xdr_rpc_gss_init_res %s %s " -- "(ctx %p:%d, maj %d, min %d, win %d, token %p:%d)", -- (xdrs->x_op == XDR_ENCODE) ? "encode" : "decode", -- (xdr_stat == TRUE) ? "success" : "failure", -- p->gr_ctx.value, p->gr_ctx.length, -- p->gr_major, p->gr_minor, p->gr_win, -- p->gr_token.value, p->gr_token.length); -+ gss_log_debug("xdr_rpc_gss_init_res %s %s " -+ "(ctx %p:%d, maj %d, min %d, win %d, token %p:%d)", -+ (xdrs->x_op == XDR_ENCODE) ? "encode" : "decode", -+ (xdr_stat == TRUE) ? "success" : "failure", -+ p->gr_ctx.value, p->gr_ctx.length, -+ p->gr_major, p->gr_minor, p->gr_win, -+ p->gr_token.value, p->gr_token.length); - - return (xdr_stat); - } -@@ -161,6 +161,7 @@ xdr_rpc_gss_wrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr, - databuflen = end - start - 4; - XDR_SETPOS(xdrs, start + 4); - databuf.value = XDR_INLINE(xdrs, databuflen); -+ databuf.length = databuflen; - - xdr_stat = FALSE; - -@@ -169,13 +170,12 @@ xdr_rpc_gss_wrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr, - XDR_SETPOS(xdrs, start); - if (!xdr_u_int(xdrs, (u_int *)&databuflen)) - return (FALSE); -- databuf.length = databuflen; - - /* Checksum rpc_gss_data_t. */ - maj_stat = gss_get_mic(&min_stat, ctx, qop, - &databuf, &wrapbuf); - if (maj_stat != GSS_S_COMPLETE) { -- log_debug("gss_get_mic failed"); -+ gss_log_debug("gss_get_mic failed"); - return (FALSE); - } - /* Marshal checksum. */ -@@ -189,7 +189,7 @@ xdr_rpc_gss_wrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr, - maj_stat = gss_wrap(&min_stat, ctx, TRUE, qop, &databuf, - &conf_state, &wrapbuf); - if (maj_stat != GSS_S_COMPLETE) { -- log_status("gss_wrap", maj_stat, min_stat); -+ gss_log_status("gss_wrap", maj_stat, min_stat); - return (FALSE); - } - /* Marshal databody_priv. */ -@@ -222,13 +222,13 @@ xdr_rpc_gss_unwrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr, - if (svc == RPCSEC_GSS_SVC_INTEGRITY) { - /* Decode databody_integ. */ - if (!xdr_rpc_gss_buf(xdrs, &databuf, (u_int)-1)) { -- log_debug("xdr decode databody_integ failed"); -+ gss_log_debug("xdr decode databody_integ failed"); - return (FALSE); - } - /* Decode checksum. */ - if (!xdr_rpc_gss_buf(xdrs, &wrapbuf, (u_int)-1)) { - gss_release_buffer(&min_stat, &databuf); -- log_debug("xdr decode checksum failed"); -+ gss_log_debug("xdr decode checksum failed"); - return (FALSE); - } - /* Verify checksum and QOP. */ -@@ -238,14 +238,14 @@ xdr_rpc_gss_unwrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr, - - if (maj_stat != GSS_S_COMPLETE || qop_state != qop) { - gss_release_buffer(&min_stat, &databuf); -- log_status("gss_verify_mic", maj_stat, min_stat); -+ gss_log_status("gss_verify_mic", maj_stat, min_stat); - return (FALSE); - } - } - else if (svc == RPCSEC_GSS_SVC_PRIVACY) { - /* Decode databody_priv. */ - if (!xdr_rpc_gss_buf(xdrs, &wrapbuf, (u_int)-1)) { -- log_debug("xdr decode databody_priv failed"); -+ gss_log_debug("xdr decode databody_priv failed"); - return (FALSE); - } - /* Decrypt databody. */ -@@ -258,7 +258,7 @@ xdr_rpc_gss_unwrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr, - if (maj_stat != GSS_S_COMPLETE || qop_state != qop || - conf_state != TRUE) { - gss_release_buffer(&min_stat, &databuf); -- log_status("gss_unwrap", maj_stat, min_stat); -+ gss_log_status("gss_unwrap", maj_stat, min_stat); - return (FALSE); - } - } -@@ -271,7 +271,7 @@ xdr_rpc_gss_unwrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr, - - /* Verify sequence number. */ - if (xdr_stat == TRUE && seq_num != seq) { -- log_debug("wrong sequence number in databody"); -+ gss_log_debug("wrong sequence number in databody"); - return (FALSE); - } - return (xdr_stat); -@@ -300,7 +300,7 @@ xdr_rpc_gss_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr, - #include <ctype.h> - - void --log_debug(const char *fmt, ...) -+gss_log_debug(const char *fmt, ...) - { - va_list ap; - -@@ -312,7 +312,7 @@ log_debug(const char *fmt, ...) - } - - void --log_status(char *m, OM_uint32 maj_stat, OM_uint32 min_stat) -+gss_log_status(char *m, OM_uint32 maj_stat, OM_uint32 min_stat) - { - OM_uint32 min; - gss_buffer_desc msg; -@@ -332,7 +332,7 @@ log_status(char *m, OM_uint32 maj_stat, OM_uint32 min_stat) - } - - void --log_hexdump(const u_char *buf, int len, int offset) -+gss_log_hexdump(const u_char *buf, int len, int offset) - { - u_int i, j, jm; - int c; -@@ -367,17 +367,17 @@ log_hexdump(const u_char *buf, int len, int offset) - #else - - void --log_debug(const char *fmt, ...) -+gss_log_debug(const char *fmt, ...) - { - } - - void --log_status(char *m, OM_uint32 maj_stat, OM_uint32 min_stat) -+gss_log_status(char *m, OM_uint32 maj_stat, OM_uint32 min_stat) - { - } - - void --log_hexdump(const u_char *buf, int len, int offset) -+gss_log_hexdump(const u_char *buf, int len, int offset) - { - } - -diff --git a/src/clnt_dg.c b/src/clnt_dg.c -index 79fed5d..4a1f60a 100644 ---- a/src/clnt_dg.c -+++ b/src/clnt_dg.c -@@ -366,7 +366,7 @@ call_again: - - if ((! XDR_PUTINT32(xdrs, (int32_t *)&proc)) || - (! AUTH_MARSHALL(cl->cl_auth, xdrs)) || -- (! (*xargs)(xdrs, argsp))) { -+ (! AUTH_WRAP(cl->cl_auth, xdrs, xargs, argsp))) { - cu->cu_error.re_status = RPC_CANTENCODEARGS; - goto out; - } -@@ -400,8 +400,8 @@ get_reply: - * (We assume that this is actually only executed once.) - */ - reply_msg.acpted_rply.ar_verf = _null_auth; -- reply_msg.acpted_rply.ar_results.where = resultsp; -- reply_msg.acpted_rply.ar_results.proc = xresults; -+ reply_msg.acpted_rply.ar_results.where = NULL; -+ reply_msg.acpted_rply.ar_results.proc = (xdrproc_t)xdr_void; - - fd.fd = cu->cu_fd; - fd.events = POLLIN; -@@ -512,6 +512,10 @@ get_reply: - &reply_msg.acpted_rply.ar_verf)) { - cu->cu_error.re_status = RPC_AUTHERROR; - cu->cu_error.re_why = AUTH_INVALIDRESP; -+ } else if (! AUTH_UNWRAP(cl->cl_auth, &reply_xdrs, -+ xresults, resultsp)) { -+ if (cu->cu_error.re_status == RPC_SUCCESS) -+ cu->cu_error.re_status = RPC_CANTDECODERES; - } - if (reply_msg.acpted_rply.ar_verf.oa_base != NULL) { - xdrs->x_op = XDR_FREE; -diff --git a/src/clnt_vc.c b/src/clnt_vc.c -index 359063c..097cae8 100644 ---- a/src/clnt_vc.c -+++ b/src/clnt_vc.c -@@ -364,7 +364,7 @@ call_again: - if ((! XDR_PUTBYTES(xdrs, ct->ct_u.ct_mcallc, ct->ct_mpos)) || - (! XDR_PUTINT32(xdrs, (int32_t *)&proc)) || - (! AUTH_MARSHALL(cl->cl_auth, xdrs)) || -- (! (*xdr_args)(xdrs, args_ptr))) { -+ (! AUTH_WRAP(cl->cl_auth, xdrs, xdr_args, args_ptr))) { - if (ct->ct_error.re_status == RPC_SUCCESS) - ct->ct_error.re_status = RPC_CANTENCODEARGS; - (void)xdrrec_endofrecord(xdrs, TRUE); -@@ -420,7 +420,8 @@ call_again: - &reply_msg.acpted_rply.ar_verf)) { - ct->ct_error.re_status = RPC_AUTHERROR; - ct->ct_error.re_why = AUTH_INVALIDRESP; -- } else if (! (*xdr_results)(xdrs, results_ptr)) { -+ } else if (! AUTH_UNWRAP(cl->cl_auth, xdrs, -+ xdr_results, results_ptr)) { - if (ct->ct_error.re_status == RPC_SUCCESS) - ct->ct_error.re_status = RPC_CANTDECODERES; - } -diff --git a/src/rpc_generic.c b/src/rpc_generic.c -index 509fb36..2eb91ad 100644 ---- a/src/rpc_generic.c -+++ b/src/rpc_generic.c -@@ -535,7 +535,9 @@ __rpc_nconf2fd_flags(const struct netconfig *nconf, int flags) - si.si_af == AF_INET6) { - int val = 1; - -+#ifdef INET6 - setsockopt(fd, SOL_IPV6, IPV6_V6ONLY, &val, sizeof(val)); -+#endif - } - return fd; - } -diff --git a/src/rpc_soc.c b/src/rpc_soc.c -index c678429..63d2197 100644 ---- a/src/rpc_soc.c -+++ b/src/rpc_soc.c -@@ -560,12 +560,10 @@ clntunix_create(raddr, prog, vers, sockp, sendsz, recvsz) - u_int recvsz; - { - struct netbuf *svcaddr; -- struct netconfig *nconf; - CLIENT *cl; - int len; - - cl = NULL; -- nconf = NULL; - svcaddr = NULL; - if (((svcaddr = malloc(sizeof(struct netbuf))) == NULL ) || - ((svcaddr->buf = malloc(sizeof(struct sockaddr_un))) == NULL)) { -diff --git a/src/svc.c b/src/svc.c -index b4a63d0..08cd6c9 100644 ---- a/src/svc.c -+++ b/src/svc.c -@@ -77,9 +77,6 @@ static struct svc_callout - - extern rwlock_t svc_lock; - extern rwlock_t svc_fd_lock; --#ifdef HAVE_LIBGSSAPI --extern struct svc_auth_ops svc_auth_gss_ops; --#endif - - static struct svc_callout *svc_find (rpcprog_t, rpcvers_t, - struct svc_callout **, char *); -@@ -717,11 +714,9 @@ svc_getreq_common (fd) - SVC_DESTROY (xprt); - break; - } -- else if ((xprt->xp_auth != NULL) --#ifdef HAVE_LIBGSSAPI -- && (xprt->xp_auth->svc_ah_ops != &svc_auth_gss_ops) --#endif -- ) { -+ else if ((xprt->xp_auth != NULL) && -+ (xprt->xp_auth->svc_ah_private == NULL)) -+ { - xprt->xp_auth = NULL; - } - } -diff --git a/src/svc_auth.c b/src/svc_auth.c -index c6b3a0b..e80d5f9 100644 ---- a/src/svc_auth.c -+++ b/src/svc_auth.c -@@ -98,8 +98,8 @@ _authenticate(rqst, msg) - rqst->rq_xprt->xp_verf.oa_length = 0; - cred_flavor = rqst->rq_cred.oa_flavor; - switch (cred_flavor) { -- case AUTH_NULL: -- dummy = _svcauth_null(rqst, msg); -+ case AUTH_NONE: -+ dummy = _svcauth_none(rqst, msg); - return (dummy); - case AUTH_SYS: - dummy = _svcauth_unix(rqst, msg); -@@ -132,15 +132,6 @@ _authenticate(rqst, msg) - return (AUTH_REJECTEDCRED); - } - --/*ARGSUSED*/ --enum auth_stat --_svcauth_null(rqst, msg) -- struct svc_req *rqst; -- struct rpc_msg *msg; --{ -- return (AUTH_OK); --} -- - /* - * Allow the rpc service to register new authentication types that it is - * prepared to handle. When an authentication flavor is registered, -diff --git a/src/svc_auth_gss.c b/src/svc_auth_gss.c -index 54b23b1..9c74313 100644 ---- a/src/svc_auth_gss.c -+++ b/src/svc_auth_gss.c -@@ -87,13 +87,13 @@ svcauth_gss_set_svc_name(gss_name_t name) - { - OM_uint32 maj_stat, min_stat; - -- log_debug("in svcauth_gss_set_svc_name()"); -+ gss_log_debug("in svcauth_gss_set_svc_name()"); - - if (_svcauth_gss_name != NULL) { - maj_stat = gss_release_name(&min_stat, &_svcauth_gss_name); - - if (maj_stat != GSS_S_COMPLETE) { -- log_status("gss_release_name", maj_stat, min_stat); -+ gss_log_status("gss_release_name", maj_stat, min_stat); - return (FALSE); - } - _svcauth_gss_name = NULL; -@@ -101,7 +101,7 @@ svcauth_gss_set_svc_name(gss_name_t name) - maj_stat = gss_duplicate_name(&min_stat, name, &_svcauth_gss_name); - - if (maj_stat != GSS_S_COMPLETE) { -- log_status("gss_duplicate_name", maj_stat, min_stat); -+ gss_log_status("gss_duplicate_name", maj_stat, min_stat); - return (FALSE); - } - -@@ -115,7 +115,7 @@ svcauth_gss_import_name(char *service) - gss_buffer_desc namebuf; - OM_uint32 maj_stat, min_stat; - -- log_debug("in svcauth_gss_import_name()"); -+ gss_log_debug("in svcauth_gss_import_name()"); - - namebuf.value = service; - namebuf.length = strlen(service); -@@ -124,7 +124,7 @@ svcauth_gss_import_name(char *service) - (gss_OID)GSS_C_NT_HOSTBASED_SERVICE, &name); - - if (maj_stat != GSS_S_COMPLETE) { -- log_status("gss_import_name", maj_stat, min_stat); -+ gss_log_status("gss_import_name", maj_stat, min_stat); - return (FALSE); - } - if (svcauth_gss_set_svc_name(name) != TRUE) { -@@ -139,14 +139,14 @@ svcauth_gss_acquire_cred(void) - { - OM_uint32 maj_stat, min_stat; - -- log_debug("in svcauth_gss_acquire_cred()"); -+ gss_log_debug("in svcauth_gss_acquire_cred()"); - - maj_stat = gss_acquire_cred(&min_stat, _svcauth_gss_name, 0, - GSS_C_NULL_OID_SET, GSS_C_ACCEPT, - &_svcauth_gss_creds, NULL, NULL); - - if (maj_stat != GSS_S_COMPLETE) { -- log_status("gss_acquire_cred", maj_stat, min_stat); -+ gss_log_status("gss_acquire_cred", maj_stat, min_stat); - return (FALSE); - } - return (TRUE); -@@ -157,12 +157,12 @@ svcauth_gss_release_cred(void) - { - OM_uint32 maj_stat, min_stat; - -- log_debug("in svcauth_gss_release_cred()"); -+ gss_log_debug("in svcauth_gss_release_cred()"); - - maj_stat = gss_release_cred(&min_stat, &_svcauth_gss_creds); - - if (maj_stat != GSS_S_COMPLETE) { -- log_status("gss_release_cred", maj_stat, min_stat); -+ gss_log_status("gss_release_cred", maj_stat, min_stat); - return (FALSE); - } - -@@ -181,7 +181,7 @@ svcauth_gss_accept_sec_context(struct svc_req *rqst, - gss_OID mech; - OM_uint32 maj_stat = 0, min_stat = 0, ret_flags, seq; - -- log_debug("in svcauth_gss_accept_context()"); -+ gss_log_debug("in svcauth_gss_accept_context()"); - - gd = SVCAUTH_PRIVATE(rqst->rq_xprt->xp_auth); - gc = (struct rpc_gss_cred *)rqst->rq_clntcred; -@@ -208,7 +208,7 @@ svcauth_gss_accept_sec_context(struct svc_req *rqst, - - if (gr->gr_major != GSS_S_COMPLETE && - gr->gr_major != GSS_S_CONTINUE_NEEDED) { -- log_status("accept_sec_context", gr->gr_major, gr->gr_minor); -+ gss_log_status("accept_sec_context", gr->gr_major, gr->gr_minor); - gd->ctx = GSS_C_NO_CONTEXT; - gss_release_buffer(&min_stat, &gr->gr_token); - return (FALSE); -@@ -238,7 +238,7 @@ svcauth_gss_accept_sec_context(struct svc_req *rqst, - maj_stat = gss_display_name(&min_stat, gd->client_name, - &gd->cname, &gd->sec.mech); - if (maj_stat != GSS_S_COMPLETE) { -- log_status("display_name", maj_stat, min_stat); -+ gss_log_status("display_name", maj_stat, min_stat); - return (FALSE); - } - #ifdef DEBUG -@@ -248,19 +248,19 @@ svcauth_gss_accept_sec_context(struct svc_req *rqst, - - gss_oid_to_str(&min_stat, mech, &mechname); - -- log_debug("accepted context for %.*s with " -- "<mech %.*s, qop %d, svc %d>", -- gd->cname.length, (char *)gd->cname.value, -- mechname.length, (char *)mechname.value, -- gd->sec.qop, gd->sec.svc); -+ gss_log_debug("accepted context for %.*s with " -+ "<mech %.*s, qop %d, svc %d>", -+ gd->cname.length, (char *)gd->cname.value, -+ mechname.length, (char *)mechname.value, -+ gd->sec.qop, gd->sec.svc); - - gss_release_buffer(&min_stat, &mechname); - } - #elif HAVE_HEIMDAL -- log_debug("accepted context for %.*s with " -- "<mech {}, qop %d, svc %d>", -- gd->cname.length, (char *)gd->cname.value, -- gd->sec.qop, gd->sec.svc); -+ gss_log_debug("accepted context for %.*s with " -+ "<mech {}, qop %d, svc %d>", -+ gd->cname.length, (char *)gd->cname.value, -+ gd->sec.qop, gd->sec.svc); - #endif - #endif /* DEBUG */ - seq = htonl(gr->gr_win); -@@ -289,7 +289,7 @@ svcauth_gss_validate(struct svc_rpc_gss_data *gd, struct rpc_msg *msg) - u_char rpchdr[128]; - int32_t *buf; - -- log_debug("in svcauth_gss_validate()"); -+ gss_log_debug("in svcauth_gss_validate()"); - - memset(rpchdr, 0, sizeof(rpchdr)); - -@@ -326,7 +326,7 @@ svcauth_gss_validate(struct svc_rpc_gss_data *gd, struct rpc_msg *msg) - &qop_state); - - if (maj_stat != GSS_S_COMPLETE) { -- log_status("gss_verify_mic", maj_stat, min_stat); -+ gss_log_status("gss_verify_mic", maj_stat, min_stat); - return (FALSE); - } - return (TRUE); -@@ -339,7 +339,7 @@ svcauth_gss_nextverf(struct svc_req *rqst, u_int num) - gss_buffer_desc signbuf, checksum; - OM_uint32 maj_stat, min_stat; - -- log_debug("in svcauth_gss_nextverf()"); -+ gss_log_debug("in svcauth_gss_nextverf()"); - - if (rqst->rq_xprt->xp_auth == NULL) - return (FALSE); -@@ -353,7 +353,7 @@ svcauth_gss_nextverf(struct svc_req *rqst, u_int num) - &signbuf, &checksum); - - if (maj_stat != GSS_S_COMPLETE) { -- log_status("gss_get_mic", maj_stat, min_stat); -+ gss_log_status("gss_get_mic", maj_stat, min_stat); - return (FALSE); - } - rqst->rq_xprt->xp_verf.oa_flavor = RPCSEC_GSS; -@@ -373,7 +373,7 @@ _svcauth_gss(struct svc_req *rqst, struct rpc_msg *msg, bool_t *no_dispatch) - struct rpc_gss_init_res gr; - int call_stat, offset; - -- log_debug("in svcauth_gss()"); -+ gss_log_debug("in svcauth_gss()"); - - /* Initialize reply. */ - rqst->rq_xprt->xp_verf = _null_auth; -@@ -519,7 +519,7 @@ svcauth_gss_destroy(SVCAUTH *auth) - struct svc_rpc_gss_data *gd; - OM_uint32 min_stat; - -- log_debug("in svcauth_gss_destroy()"); -+ gss_log_debug("in svcauth_gss_destroy()"); - - gd = SVCAUTH_PRIVATE(auth); - -@@ -540,7 +540,7 @@ svcauth_gss_wrap(SVCAUTH *auth, XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr) - { - struct svc_rpc_gss_data *gd; - -- log_debug("in svcauth_gss_wrap()"); -+ gss_log_debug("in svcauth_gss_wrap()"); - - gd = SVCAUTH_PRIVATE(auth); - -@@ -557,7 +557,7 @@ svcauth_gss_unwrap(SVCAUTH *auth, XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr - { - struct svc_rpc_gss_data *gd; - -- log_debug("in svcauth_gss_unwrap()"); -+ gss_log_debug("in svcauth_gss_unwrap()"); - - gd = SVCAUTH_PRIVATE(auth); - -diff --git a/src/svc_auth_unix.c b/src/svc_auth_unix.c -index ce83859..9585069 100644 ---- a/src/svc_auth_unix.c -+++ b/src/svc_auth_unix.c -@@ -43,6 +43,8 @@ - - #include <rpc/rpc.h> - -+extern SVCAUTH svc_auth_none; -+ - /* - * Unix longhand authenticator - */ -@@ -67,6 +69,8 @@ _svcauth_unix(rqst, msg) - assert(rqst != NULL); - assert(msg != NULL); - -+ rqst->rq_xprt->xp_auth = &svc_auth_none; -+ - area = (struct area *) rqst->rq_clntcred; - aup = &area->area_aup; - aup->aup_machname = area->area_machname; -@@ -142,5 +146,6 @@ _svcauth_short(rqst, msg) - struct svc_req *rqst; - struct rpc_msg *msg; - { -+ rqst->rq_xprt->xp_auth = &svc_auth_none; - return (AUTH_REJECTEDCRED); - } -diff --git a/src/svc_dg.c b/src/svc_dg.c -index 66a56ee..b1ac462 100644 ---- a/src/svc_dg.c -+++ b/src/svc_dg.c -@@ -134,6 +134,7 @@ svc_dg_create(fd, sendsize, recvsize) - su->su_cache = NULL; - xprt->xp_fd = fd; - xprt->xp_p2 = su; -+ xprt->xp_auth = NULL; - xprt->xp_verf.oa_base = su->su_verfbody; - svc_dg_ops(xprt); - xprt->xp_rtaddr.maxlen = sizeof (struct sockaddr_storage); -@@ -234,10 +235,27 @@ svc_dg_reply(xprt, msg) - bool_t stat = FALSE; - size_t slen; - -+ xdrproc_t xdr_results; -+ caddr_t xdr_location; -+ bool_t has_args; -+ -+ if (msg->rm_reply.rp_stat == MSG_ACCEPTED && -+ msg->rm_reply.rp_acpt.ar_stat == SUCCESS) { -+ has_args = TRUE; -+ xdr_results = msg->acpted_rply.ar_results.proc; -+ xdr_location = msg->acpted_rply.ar_results.where; -+ -+ msg->acpted_rply.ar_results.proc = (xdrproc_t)xdr_void; -+ msg->acpted_rply.ar_results.where = NULL; -+ } else -+ has_args = FALSE; -+ - xdrs->x_op = XDR_ENCODE; - XDR_SETPOS(xdrs, 0); - msg->rm_xid = su->su_xid; -- if (xdr_replymsg(xdrs, msg)) { -+ if (xdr_replymsg(xdrs, msg) && -+ (!has_args || (xprt->xp_auth && -+ SVCAUTH_WRAP(xprt->xp_auth, xdrs, xdr_results, xdr_location)))) { - struct msghdr *msg = &su->su_msghdr; - struct iovec iov; - -@@ -264,7 +282,12 @@ svc_dg_getargs(xprt, xdr_args, args_ptr) - xdrproc_t xdr_args; - void *args_ptr; - { -- return (*xdr_args)(&(su_data(xprt)->su_xdrs), args_ptr); -+ if (! SVCAUTH_UNWRAP(xprt->xp_auth, &(su_data(xprt)->su_xdrs), -+ xdr_args, args_ptr)) { -+ (void)svc_freeargs(xprt, xdr_args, args_ptr); -+ return FALSE; -+ } -+ return TRUE; - } - - static bool_t -@@ -288,6 +311,10 @@ svc_dg_destroy(xprt) - xprt_unregister(xprt); - if (xprt->xp_fd != -1) - (void)close(xprt->xp_fd); -+ if (xprt->xp_auth != NULL) { -+ SVCAUTH_DESTROY(xprt->xp_auth); -+ xprt->xp_auth = NULL; -+ } - XDR_DESTROY(&(su->su_xdrs)); - (void) mem_free(rpc_buffer(xprt), su->su_iosz); - (void) mem_free(su, sizeof (*su)); -@@ -626,10 +653,11 @@ svc_dg_enable_pktinfo(int fd, const struct __rpc_sockinfo *si) - case AF_INET: - (void) setsockopt(fd, SOL_IP, IP_PKTINFO, &val, sizeof(val)); - break; -- -+#ifdef INET6 - case AF_INET6: -- (void) setsockopt(fd, SOL_IPV6, IPV6_PKTINFO, &val, sizeof(val)); -+ (void) setsockopt(fd, SOL_IPV6, IPV6_RECVPKTINFO, &val, sizeof(val)); - break; -+#endif - } - } - -@@ -667,6 +695,7 @@ svc_dg_valid_pktinfo(struct msghdr *msg) - } - break; - -+#ifdef INET6 - case AF_INET6: - if (cmsg->cmsg_level != SOL_IPV6 - || cmsg->cmsg_type != IPV6_PKTINFO -@@ -679,6 +708,7 @@ svc_dg_valid_pktinfo(struct msghdr *msg) - pkti->ipi6_ifindex = 0; - } - break; -+#endif - - default: - return 0; -diff --git a/src/svc_vc.c b/src/svc_vc.c -index aaaf2d7..4c70de8 100644 ---- a/src/svc_vc.c -+++ b/src/svc_vc.c -@@ -172,6 +172,7 @@ svc_vc_create(fd, sendsize, recvsize) - xprt->xp_p1 = r; - xprt->xp_p2 = NULL; - xprt->xp_p3 = NULL; -+ xprt->xp_auth = NULL; - xprt->xp_verf = _null_auth; - svc_vc_rendezvous_ops(xprt); - xprt->xp_port = (u_short)-1; /* It is the rendezvouser */ -@@ -283,6 +284,7 @@ makefd_xprt(fd, sendsize, recvsize) - xdrrec_create(&(cd->xdrs), sendsize, recvsize, - xprt, read_vc, write_vc); - xprt->xp_p1 = cd; -+ xprt->xp_auth = NULL; - xprt->xp_verf.oa_base = cd->verf_body; - svc_vc_ops(xprt); /* truely deals with calls */ - xprt->xp_port = 0; /* this is a connection, not a rendezvouser */ -@@ -412,6 +414,10 @@ __svc_vc_dodestroy(xprt) - XDR_DESTROY(&(cd->xdrs)); - mem_free(cd, sizeof(struct cf_conn)); - } -+ if (xprt->xp_auth != NULL) { -+ SVCAUTH_DESTROY(xprt->xp_auth); -+ xprt->xp_auth = NULL; -+ } - if (xprt->xp_rtaddr.buf) - mem_free(xprt->xp_rtaddr.buf, xprt->xp_rtaddr.maxlen); - if (xprt->xp_ltaddr.buf) -@@ -610,7 +616,11 @@ svc_vc_recv(xprt, msg) - } - - xdrs->x_op = XDR_DECODE; -- (void)xdrrec_skiprecord(xdrs); -+ /* -+ * No need skip records with nonblocking connections -+ */ -+ if (cd->nonblock == FALSE) -+ (void)xdrrec_skiprecord(xdrs); - if (xdr_callmsg(xdrs, msg)) { - cd->x_id = msg->rm_xid; - return (TRUE); -@@ -628,8 +638,13 @@ svc_vc_getargs(xprt, xdr_args, args_ptr) - - assert(xprt != NULL); - /* args_ptr may be NULL */ -- return ((*xdr_args)(&(((struct cf_conn *)(xprt->xp_p1))->xdrs), -- args_ptr)); -+ -+ if (! SVCAUTH_UNWRAP(xprt->xp_auth, -+ &(((struct cf_conn *)(xprt->xp_p1))->xdrs), -+ xdr_args, args_ptr)) { -+ return FALSE; -+ } -+ return TRUE; - } - - static bool_t -@@ -658,15 +673,35 @@ svc_vc_reply(xprt, msg) - XDR *xdrs; - bool_t rstat; - -+ xdrproc_t xdr_results; -+ caddr_t xdr_location; -+ bool_t has_args; -+ - assert(xprt != NULL); - assert(msg != NULL); - - cd = (struct cf_conn *)(xprt->xp_p1); - xdrs = &(cd->xdrs); - -+ if (msg->rm_reply.rp_stat == MSG_ACCEPTED && -+ msg->rm_reply.rp_acpt.ar_stat == SUCCESS) { -+ has_args = TRUE; -+ xdr_results = msg->acpted_rply.ar_results.proc; -+ xdr_location = msg->acpted_rply.ar_results.where; -+ -+ msg->acpted_rply.ar_results.proc = (xdrproc_t)xdr_void; -+ msg->acpted_rply.ar_results.where = NULL; -+ } else -+ has_args = FALSE; -+ - xdrs->x_op = XDR_ENCODE; - msg->rm_xid = cd->x_id; -- rstat = xdr_replymsg(xdrs, msg); -+ rstat = FALSE; -+ if (xdr_replymsg(xdrs, msg) && -+ (!has_args || (xprt->xp_auth && -+ SVCAUTH_WRAP(xprt->xp_auth, xdrs, xdr_results, xdr_location)))) { -+ rstat = TRUE; -+ } - (void)xdrrec_endofrecord(xdrs, TRUE); - return (rstat); - } -diff --git a/src/xdr_rec.c b/src/xdr_rec.c -index 4e815d7..2aca623 100644 ---- a/src/xdr_rec.c -+++ b/src/xdr_rec.c -@@ -64,7 +64,6 @@ - #include <rpc/clnt.h> - #include <stddef.h> - #include "rpc_com.h" --#include <unistd.h> - static bool_t xdrrec_getlong(XDR *, long *); - static bool_t xdrrec_putlong(XDR *, const long *); - static bool_t xdrrec_getbytes(XDR *, char *, u_int); -@@ -330,22 +329,22 @@ xdrrec_getpos(xdrs) - RECSTREAM *rstrm = (RECSTREAM *)xdrs->x_private; - off_t pos; - -- pos = lseek((int)(u_long)rstrm->tcp_handle, (off_t)0, 1); -- if (pos != -1) -- switch (xdrs->x_op) { -+ switch (xdrs->x_op) { - -- case XDR_ENCODE: -- pos += rstrm->out_finger - rstrm->out_base; -- break; -+ case XDR_ENCODE: -+ pos = rstrm->out_finger - rstrm->out_base -+ - BYTES_PER_XDR_UNIT; -+ break; - -- case XDR_DECODE: -- pos -= rstrm->in_boundry - rstrm->in_finger; -- break; -+ case XDR_DECODE: -+ pos = rstrm->in_boundry - rstrm->in_finger -+ - BYTES_PER_XDR_UNIT; -+ break; - -- default: -- pos = (off_t) -1; -- break; -- } -+ default: -+ pos = (off_t) -1; -+ break; -+ } - return ((u_int) pos); - } - -diff --git a/tirpc/rpc/auth.h b/tirpc/rpc/auth.h -index 734e6b9..e7bbe36 100644 ---- a/tirpc/rpc/auth.h -+++ b/tirpc/rpc/auth.h -@@ -51,6 +51,7 @@ - #include <sys/cdefs.h> - #include <sys/socket.h> - #include <sys/types.h> -+#include <stdio.h> - - - #define MAX_AUTH_BYTES 400 -@@ -203,8 +204,22 @@ typedef struct __auth { - - } *ah_ops; - void *ah_private; -+ int ah_refcnt; - } AUTH; - -+static __inline int -+auth_get(AUTH *auth) -+{ -+ return __sync_add_and_fetch(&auth->ah_refcnt, 1); -+} -+ -+static __inline int -+auth_put(AUTH *auth) -+{ -+ return __sync_sub_and_fetch(&auth->ah_refcnt, 1); -+} -+ -+ - - /* - * Authentication ops. -@@ -234,10 +249,29 @@ typedef struct __auth { - #define auth_refresh(auth, msg) \ - ((*((auth)->ah_ops->ah_refresh))(auth, msg)) - --#define AUTH_DESTROY(auth) \ -- ((*((auth)->ah_ops->ah_destroy))(auth)) --#define auth_destroy(auth) \ -- ((*((auth)->ah_ops->ah_destroy))(auth)) -+#if defined(__GNUC__) && defined(DEBUG) -+#define auth_log_debug(fmt,args...) printf(stderr, fmt, args) -+#else -+#define auth_log_debug(fmt,args...) -+#endif -+ -+#define AUTH_DESTROY(auth) \ -+ do { \ -+ int refs; \ -+ if ((refs = auth_put((auth))) == 0) \ -+ ((*((auth)->ah_ops->ah_destroy))(auth));\ -+ auth_log_debug("%s: auth_put(), refs %d\n", \ -+ __func__, refs); \ -+ } while (0) -+ -+#define auth_destroy(auth) \ -+ do { \ -+ int refs; \ -+ if ((refs = auth_put((auth))) == 0) \ -+ ((*((auth)->ah_ops->ah_destroy))(auth));\ -+ auth_log_debug("%s: auth_put(), refs %d\n", \ -+ __func__, refs); \ -+ } while (0) - - #define AUTH_WRAP(auth, xdrs, xfunc, xwhere) \ - ((*((auth)->ah_ops->ah_wrap))(auth, xdrs, \ -@@ -373,7 +407,7 @@ __END_DECLS - __BEGIN_DECLS - struct svc_req; - struct rpc_msg; --enum auth_stat _svcauth_null (struct svc_req *, struct rpc_msg *); -+enum auth_stat _svcauth_none (struct svc_req *, struct rpc_msg *); - enum auth_stat _svcauth_short (struct svc_req *, struct rpc_msg *); - enum auth_stat _svcauth_unix (struct svc_req *, struct rpc_msg *); - __END_DECLS -diff --git a/tirpc/rpc/auth_gss.h b/tirpc/rpc/auth_gss.h -index 633b11f..fc3ffbd 100644 ---- a/tirpc/rpc/auth_gss.h -+++ b/tirpc/rpc/auth_gss.h -@@ -120,10 +120,10 @@ bool_t authgss_service __P((AUTH *auth, int svc)); - bool_t authgss_get_private_data __P((AUTH *auth, - struct authgss_private_data *)); - --void log_debug __P((const char *fmt, ...)); --void log_status __P((char *m, OM_uint32 major, -+void gss_log_debug __P((const char *fmt, ...)); -+void gss_log_status __P((char *m, OM_uint32 major, - OM_uint32 minor)); --void log_hexdump __P((const u_char *buf, int len, int offset)); -+void gss_log_hexdump __P((const u_char *buf, int len, int offset)); - - __END_DECLS - -diff --git a/tirpc/rpc/des.h b/tirpc/rpc/des.h -index e3d6897..d2881ad 100644 ---- a/tirpc/rpc/des.h -+++ b/tirpc/rpc/des.h -@@ -33,6 +33,9 @@ - * Copyright (c) 1986 by Sun Microsystems, Inc. - */ - -+#ifndef _RPC_DES_H_ -+#define _RPC_DES_H_ -+ - #define DES_MAXLEN 65536 /* maximum # of bytes to encrypt */ - #define DES_QUICKLEN 16 /* maximum # of bytes to encrypt quickly */ - -@@ -80,3 +83,5 @@ struct desparams { - * Software DES. - */ - extern int _des_crypt( char *, int, struct desparams * ); -+ -+#endif -diff --git a/tirpc/rpc/svc_auth.h b/tirpc/rpc/svc_auth.h -index 659e90c..14269d1 100644 ---- a/tirpc/rpc/svc_auth.h -+++ b/tirpc/rpc/svc_auth.h -@@ -44,17 +44,23 @@ - /* - * Interface to server-side authentication flavors. - */ --typedef struct { -+typedef struct SVCAUTH { - struct svc_auth_ops { -- int (*svc_ah_wrap)(void); -- int (*svc_ah_unwrap)(void); -- int (*svc_ah_destroy)(void); -+ int (*svc_ah_wrap)(struct SVCAUTH *, XDR *, xdrproc_t, -+ caddr_t); -+ int (*svc_ah_unwrap)(struct SVCAUTH *, XDR *, xdrproc_t, -+ caddr_t); -+ int (*svc_ah_destroy)(struct SVCAUTH *); - } *svc_ah_ops; - caddr_t svc_ah_private; - } SVCAUTH; - --#define SVCAUTH_DESTROY(cred) ((*(cred)->svc_ah_ops->svc_ah_destroy)()) --#define svcauth_destroy(cred) ((*(cred)->svc_ah_ops->svc_ah_destroy)()) -+#define SVCAUTH_WRAP(auth, xdrs, xfunc, xwhere) \ -+ ((*((auth)->svc_ah_ops->svc_ah_wrap))(auth, xdrs, xfunc, xwhere)) -+#define SVCAUTH_UNWRAP(auth, xdrs, xfunc, xwhere) \ -+ ((*((auth)->svc_ah_ops->svc_ah_unwrap))(auth, xdrs, xfunc, xwhere)) -+#define SVCAUTH_DESTROY(auth) \ -+ ((*((auth)->svc_ah_ops->svc_ah_destroy))(auth)) - - /* - * Server side authenticator diff --git a/liburcu/liburcu.nm b/liburcu/liburcu.nm new file mode 100644 index 000000000..b99918bf7 --- /dev/null +++ b/liburcu/liburcu.nm @@ -0,0 +1,43 @@ +############################################################################### +# IPFire.org - An Open Source Firewall Solution # +# Copyright (C) - IPFire Development Team info@ipfire.org # +############################################################################### + +name = liburcu +version = 0.13.2 +release = 1 +thisapp = userspace-rcu-%{version} + +groups = System/Libraries +url = https://lttng.org/urcu +license = LGPL2.1 +summary = liburcu is a userspace RCU (read-copy-update) library + +description + liburcu is a LGPLv2.1 userspace RCU (read-copy-update) library. + This data synchronization library provides read-side access which + scales linearly with the number of cores. +end + +source_dl = https://lttng.org/files/urcu/ +sources = %{thisapp}.tar.bz2 + +build + export LD_LIBRARY_PATH = %{DIR_APP}/src/.libs + + test + make check + end +end + +packages + package %{name} + + package %{name}-devel + template DEVEL + end + + package %{name}-debuginfo + template DEBUGINFO + end +end diff --git a/libuser/libuser.nm b/libuser/libuser.nm deleted file mode 100644 index 709d5eac4..000000000 --- a/libuser/libuser.nm +++ /dev/null @@ -1,64 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = libuser -version = 0.62 -release = 2 - -groups = System/Libraries -url = https://fedorahosted.org/libuser/ -license = LGPLv2+ -summary = A user and group account administration library. - -description - The libuser library implements a standardized interface for - manipulating and administering user and group accounts. The - library uses pluggable back-ends to interface to its data sources. -end - -source_dl = https://fedorahosted.org/releases/l/i/%%7Bname%7D/ -sources = %{thisapp}.tar.xz - -build - requires - cyrus-sasl-devel - glib2-devel - openldap-devel - pam-devel - pkg-config - popt-devel - python-devel >= 2.7.12-2 - end - - export LD_LIBRARY_PATH = %{DIR_APP}/lib/.libs - - configure_options += \ - --with-ldap - - prepare_cmds - # Little hack that we don't build documentation that requires sgml2html - sed -e "s/^SUBDIRS = .*/SUBDIRS = po/" -i Makefile.in - end - - test - # Disable tests which requires a running ldap server. - sed -e "s/tests/default_pw_test//" -i Makefile - sed -e "s/tests/ldap_test//" -i Makefile - - make check - end -end - -packages - package %{name} - - package %{name}-devel - template DEVEL - end - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/libxcrypt/libxcrypt.nm b/libxcrypt/libxcrypt.nm new file mode 100644 index 000000000..71f4dd4eb --- /dev/null +++ b/libxcrypt/libxcrypt.nm @@ -0,0 +1,58 @@ +############################################################################### +# IPFire.org - An Open Source Firewall Solution # +# Copyright (C) - IPFire Development Team info@ipfire.org # +############################################################################### + +name = libxcrypt +version = 4.4.33 +release = 1 + +groups = System/Libraries +url = https://github.com/besser82/libxcrypt/ +license = LGPLv2.1 +summary = Extended crypt library for descrypt, md5crypt, bcrypt, and others + +description + libxcrypt is a modern library for one-way hashing of passwords. + It supports a wide variety of both modern and historical hashing methods: + yescrypt, gost-yescrypt, scrypt, bcrypt, sha512crypt, sha256crypt, + md5crypt, SunMD5, sha1crypt, NT, bsdicrypt, bigcrypt, and descrypt. + It provides the traditional Unix crypt and crypt_r interfaces, as well + as a set of extended interfaces pioneered by Openwall Linux, crypt_rn, + crypt_ra, crypt_gensalt, crypt_gensalt_rn, and crypt_gensalt_ra. + + libxcrypt is intended to be used by login(1), passwd(1), and other + similar programs; that is, to hash a small number of passwords during + an interactive authentication dialogue with a human. +end + +source_dl = https://github.com/besser82/libxcrypt/releases/download/v%%7Bversion%7D/ +sources = %{thisapp}.tar.xz + +build + requires + perl + end + + configure_options += \ + --disable-static \ + --enable-hashes=strong,glibc \ + --disable-obsolete-api \ + --disable-failure-tokens + + test + LD_LIBRARY_PATH="%{DIR_APP}/.libs" make check + end +end + +packages + package %{name} + + package %{name}-devel + template DEVEL + end + + package %{name}-debuginfo + template DEBUGINFO + end +end diff --git a/libxcrypt/patches/libxcrypt-4.4.33-hashes.patch b/libxcrypt/patches/libxcrypt-4.4.33-hashes.patch new file mode 100644 index 000000000..42f5d67a7 --- /dev/null +++ b/libxcrypt/patches/libxcrypt-4.4.33-hashes.patch @@ -0,0 +1,14 @@ +diff --git a/build-aux/scripts/expand-selected-hashes b/build-aux/scripts/expand-selected-hashes +index 10d0bcc..2558c42 100644 +--- a/build-aux/scripts/expand-selected-hashes ++++ b/build-aux/scripts/expand-selected-hashes +@@ -50,9 +50,6 @@ sub expand_selected { + push @errors, "'$w' is not a hash or group name\n"; + } + } +- if (scalar(%enabled) == 0) { +- push @errors, "no hashes are enabled\n"; +- } + die join q{}, @errors if @errors; + return keys %enabled; + } diff --git a/lmdb/lmdb.nm b/lmdb/lmdb.nm new file mode 100644 index 000000000..cc63fab52 --- /dev/null +++ b/lmdb/lmdb.nm @@ -0,0 +1,61 @@ +############################################################################### +# IPFire.org - An Open Source Firewall Solution # +# Copyright (C) - IPFire Development Team info@ipfire.org # +############################################################################### + +name = lmdb +version = 0.9.29 +release = 1 +thisapp = LMDB_%{version} + +groups = System/Libraries +url = https://symas.com/mdb +license = OpenLDAP +summary = Memory-mapped key-value database + +description + LMDB is an ultra-fast, ultra-compact key-value embedded data + store developed by Symas for the OpenLDAP Project. By using memory-mapped files, + it provides the read performance of a pure in-memory database while still + offering the persistence of standard disk-based databases, and is only limited + to the size of the virtual address space. +end + +source_dl = https://git.openldap.org/openldap/openldap/-/archive + +build + DIR_APP = %{DIR_SRC}/openldap-LMDB_%{version}-8ad7be2510414b9506ec9f9e24f24d04d9b04a1a/libraries/liblmdb + + prepare_cmds + sed -i "%{DIR_SOURCE}/lmdb.pc" \ + -e "s/@PKGVER@/%{version}/" + end + + build + make %{PARALLELISMFLAGS} XCFLAGS="%{CFLAGS}" + end + + install + make install \ + DESTDIR="%{BUILDROOT}" \ + prefix="%{prefix}" \ + libdir="%{libdir}" \ + mandir="%{mandir}" + + mkdir -pv "%{BUILDROOT}%{libdir}/pkgconfig" + install -v -m 644 "%{DIR_SOURCE}/lmdb.pc" \ + "%{BUILDROOT}%{libdir}/pkgconfig/lmdb.pc" + end +end + +packages + package %{name} + + package %{name}-devel + template DEVEL + end + + package %{name}-debuginfo + template DEBUGINFO + end +end diff --git a/lmdb/lmdb.pc b/lmdb/lmdb.pc new file mode 100644 index 000000000..de3006129 --- /dev/null +++ b/lmdb/lmdb.pc @@ -0,0 +1,10 @@ +prefix=/usr +libdir=${prefix}/lib +includedir=${prefix}/include + +Name: liblmdb +Description: Lightning Memory-Mapped Database +URL: https://symas.com/products/lightning-memory-mapped-database/ +Version: @PKGVER@ +Libs: -L${libdir} -llmdb +Cflags: -I${includedir} diff --git a/network/network.nm b/network/network.nm index 5403f75b0..82b51de79 100644 --- a/network/network.nm +++ b/network/network.nm @@ -5,7 +5,7 @@
name = network version = 010 -release = 3 +release = 4
maintainer = Michael Tremer michael.tremer@ipfire.org groups = Base Networking/Tools @@ -48,7 +48,6 @@ packages requires bash >= 4.0 bird >= 2 - crda curl dhclient >= 4.2.4-2 dhcp >= 4.2.4-1 diff --git a/passwd/passwd.nm b/passwd/passwd.nm deleted file mode 100644 index ba40e3591..000000000 --- a/passwd/passwd.nm +++ /dev/null @@ -1,57 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = passwd -version = 0.80 -release = 1 - -groups = System/Base -url = https://pagure.io/passwd -license = BSD -summary = An utility for setting or changing passwords using PAM - -description - This package contains a system utility (passwd) which sets - or changes passwords, using PAM (Pluggable Authentication - Modules) library. -end - -source_dl = https://releases.pagure.org/passwd/ -sources = %{thisapp}.tar.bz2 - -build - requires - autoconf - automake - gettext-devel - glib2-devel - libtool - libuser-devel - pam-devel - pkg-config - popt-devel - end - - prepare_cmds - mkdir -pv admin - autoreconf -vfi - end - - configure_options += \ - --without-selinux \ - --without-audit \ - --disable-static - - make_build_targets += \ - DEBUG= RPM_OPT_FLAGS="%{CFLAGS}" -end - -packages - package %{name} - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/passwd/passwd.pam b/passwd/passwd.pam deleted file mode 100644 index 5f3504f83..000000000 --- a/passwd/passwd.pam +++ /dev/null @@ -1,4 +0,0 @@ -#%PAM-1.0 -auth include system-auth -account include system-auth -password substack system-auth diff --git a/pcapy/pcapy.nm b/pcapy/pcapy.nm deleted file mode 100644 index c12b51f34..000000000 --- a/pcapy/pcapy.nm +++ /dev/null @@ -1,47 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = pcapy -version = 0.10.5 -release = 1 - -groups = Development/Languages -url = http://oss.coresecurity.com/projects/pcapy.html -license = ASL 1.1 -summary = A Python interface to libpcap. - -description - Pcapy is a Python extension module that interfaces with the libpcap - packet capture library. Pcapy enables python scripts to capture packets - on the network. Pcapy is highly effective when used in conjunction with - a packet-handling package such as Impacket, which is a collection of - Python classes for constructing and dissecting network packets. -end - -source_dl = - -build - requires - gcc-c++ - libpcap-devel - python-devel - end - - build - python setup.py build - end - - install - python setup.py install -O1 --skip-build --root %{BUILDROOT} - end -end - -packages - package %{name} - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/pptp/patches/pptp-1.7.2-compat.patch b/pptp/patches/pptp-1.7.2-compat.patch deleted file mode 100644 index a6456fc84..000000000 --- a/pptp/patches/pptp-1.7.2-compat.patch +++ /dev/null @@ -1,71 +0,0 @@ -Index: pptp_compat.c -=================================================================== -RCS file: /cvsroot/pptpclient/pptp-linux/pptp_compat.c,v -retrieving revision 1.1 -retrieving revision 1.3 -diff -u -r1.1 -r1.3 ---- a/pptp_compat.c 19 Feb 2008 21:43:28 -0000 1.1 -+++ b/pptp_compat.c 25 Jul 2008 00:13:56 -0000 1.3 -@@ -7,14 +7,15 @@ - #include <fcntl.h> - #include <sys/types.h> - #include <unistd.h> --#include <stropts.h> - #include <stdlib.h> -+#if defined (__SVR4) && defined (__sun) /* Solaris */ -+#include <stropts.h> -+#endif - #include <strings.h> - #include "pptp_compat.h" - #include <stdio.h> - #include "util.h" - -- - #if defined (__SVR4) && defined (__sun) /* Solaris */ - /* - * daemon implementation from uClibc -Index: pptp.c -=================================================================== -RCS file: /cvsroot/pptpclient/pptp-linux/pptp.c,v -retrieving revision 1.49 -retrieving revision 1.51 -diff -u -r1.49 -r1.51 ---- a/pptp.c 14 May 2008 06:32:52 -0000 1.49 -+++ b/pptp.c 24 Jul 2008 05:53:05 -0000 1.51 -@@ -61,9 +61,8 @@ - #include "version.h" - #if defined(__linux__) - #include <sys/prctl.h> --#else --#include "inststr.h" - #endif -+#include "inststr.h" - #include "util.h" - #include "pptp_quirks.h" - #include "pqueue.h" -@@ -129,7 +128,7 @@ - } - - #if defined (__SVR4) && defined (__sun) --struct in_addr localbind = { INADDR_ANY }; -+struct in_addr localbind = { .s_addr = INADDR_ANY }; - #else - struct in_addr localbind = { INADDR_NONE }; - #endif -@@ -183,6 +182,7 @@ - struct in_addr inetaddr; - volatile int callmgr_sock = -1; - char ttydev[PATH_MAX]; -+ char *tty_name; - int pty_fd, tty_fd, gre_fd, rc; - volatile pid_t parent_pid, child_pid; - u_int16_t call_id, peer_call_id; -@@ -391,7 +391,7 @@ - file2fd("/dev/null", "wb", STDERR_FILENO); - } - -- char *tty_name = ttyname(tty_fd); -+ tty_name = ttyname(tty_fd); - snprintf(buf, sizeof(buf), "pptp: GRE-to-PPP gateway on %s", - tty_name ? tty_name : "(null)"); - #ifdef PR_SET_NAME diff --git a/pptp/patches/pptp-1.7.2-conn-free.patch b/pptp/patches/pptp-1.7.2-conn-free.patch deleted file mode 100644 index 331e92edc..000000000 --- a/pptp/patches/pptp-1.7.2-conn-free.patch +++ /dev/null @@ -1,90 +0,0 @@ -Tue Jun 15 15:00:40 2010 James Cameron quozl@laptop.org - - * pptp_ctrl.c (pptp_conn_is_dead): immediately destroying the - connection and freeing the structure has led to segmentation - faults on more recent heap implementations, since we use the - structure after it has been freed. - - Defer the free of the structure until after all uses of it have - ceased, by adding a connection state for dead and terminating the - main loop once it is detected. - ---- a/pptp_callmgr.c 2008-05-14 07:33:55.000000000 +0100 -+++ b/pptp_callmgr.c 2010-06-15 14:32:00.478100392 +0100 -@@ -167,6 +170,7 @@ - do { - int rc; - fd_set read_set = call_set, write_set; -+ if (pptp_conn_is_dead(conn)) break; - FD_ZERO (&write_set); - if (pptp_conn_established(conn)) { - FD_SET (unix_sock, &read_set); -@@ -294,6 +298,7 @@ - } - /* with extreme prejudice */ - pptp_conn_destroy(conn); -+ pptp_conn_free(conn); - vector_destroy(call_list); - } - cleanup: ---- a/pptp_ctrl.c 2008-05-14 07:33:55.000000000 +0100 -+++ b/pptp_ctrl.c 2010-06-15 14:32:00.480100647 +0100 -@@ -58,8 +62,11 @@ - struct PPTP_CONN { - int inet_sock; - /* Connection States */ -- enum { -- CONN_IDLE, CONN_WAIT_CTL_REPLY, CONN_WAIT_STOP_REPLY, CONN_ESTABLISHED -+ enum { -+ CONN_IDLE, -+ CONN_WAIT_CTL_REPLY, CONN_WAIT_STOP_REPLY, -+ CONN_ESTABLISHED, -+ CONN_DEAD - } conn_state; /* on startup: CONN_IDLE */ - /* Keep-alive states */ - enum { -@@ -448,6 +457,16 @@ - close(conn->inet_sock); - /* deallocate */ - vector_destroy(conn->call); -+ conn->conn_state = CONN_DEAD; -+} -+ -+int pptp_conn_is_dead(PPTP_CONN * conn) -+{ -+ return conn->conn_state == CONN_DEAD; -+} -+ -+void pptp_conn_free(PPTP_CONN * conn) -+{ - free(conn); - } - -@@ -1038,11 +1059,13 @@ - int i; - /* "Keep Alives and Timers, 1": check connection state */ - if (global.conn->conn_state != CONN_ESTABLISHED) { -- if (global.conn->conn_state == CONN_WAIT_STOP_REPLY) -+ if (global.conn->conn_state == CONN_WAIT_STOP_REPLY) { - /* hard close. */ - pptp_conn_destroy(global.conn); -- else /* soft close */ -- pptp_conn_close(global.conn, PPTP_STOP_NONE); -+ return; -+ } -+ /* soft close */ -+ pptp_conn_close(global.conn, PPTP_STOP_NONE); - } - /* "Keep Alives and Timers, 2": check echo status */ - if (global.conn->ka_state == KA_OUTSTANDING) { ---- a/pptp_ctrl.h 2008-05-14 07:33:55.000000000 +0100 -+++ b/pptp_ctrl.h 2010-06-15 14:32:00.864975405 +0100 -@@ -33,6 +33,8 @@ - void pptp_call_close(PPTP_CONN * conn, PPTP_CALL * call); - /* hard close. */ - void pptp_call_destroy(PPTP_CONN *conn, PPTP_CALL *call); -+int pptp_conn_is_dead(PPTP_CONN * conn); -+void pptp_conn_free(PPTP_CONN * conn); - /* soft close. Will callback on completion. */ - void pptp_conn_close(PPTP_CONN * conn, u_int8_t close_reason); - /* hard close */ diff --git a/pptp/patches/pptp-1.7.2-conn-free2.patch b/pptp/patches/pptp-1.7.2-conn-free2.patch deleted file mode 100644 index 78c021eb2..000000000 --- a/pptp/patches/pptp-1.7.2-conn-free2.patch +++ /dev/null @@ -1,83 +0,0 @@ -Fri Jun 4 10:54:04 2010 Jan Just Keijser jan.just.keijser@gmail.com - - * pptp_ctrl.c: check for failure return by pptp_send_ctrl_packet - and avoid using freed struct conn. - ---- a/pptp_ctrl.c 2010-06-15 15:05:46.743913798 +0100 -+++ b/pptp_ctrl.c 2010-06-15 14:32:00.480100647 +0100 -@@ -396,9 +400,10 @@ - /* don't check state against WAIT_DISCONNECT... allow multiple disconnect - * requests to be made. - */ -- pptp_send_ctrl_packet(conn, &rqst, sizeof(rqst)); -- pptp_reset_timer(); -- call->state.pns = PNS_WAIT_DISCONNECT; -+ if (pptp_send_ctrl_packet(conn, &rqst, sizeof(rqst))) { -+ pptp_reset_timer(); -+ call->state.pns = PNS_WAIT_DISCONNECT; -+ } - /* call structure will be freed when we have confirmation of disconnect. */ - } - -@@ -431,9 +436,10 @@ - pptp_call_close(conn, vector_get_Nth(conn->call, i)); - /* now close connection */ - log("Closing PPTP connection"); -- pptp_send_ctrl_packet(conn, &rqst, sizeof(rqst)); -- pptp_reset_timer(); /* wait 60 seconds for reply */ -- conn->conn_state = CONN_WAIT_STOP_REPLY; -+ if (pptp_send_ctrl_packet(conn, &rqst, sizeof(rqst))) { -+ pptp_reset_timer(); /* wait 60 seconds for reply */ -+ conn->conn_state = CONN_WAIT_STOP_REPLY; -+ } - return; - } - -@@ -733,8 +739,8 @@ - reply.version = packet->version; - /* protocol version not supported */ - reply.result_code = hton8(5); -- pptp_send_ctrl_packet(conn, &reply, sizeof(reply)); -- pptp_reset_timer(); /* give sender a chance for a retry */ -+ if (pptp_send_ctrl_packet(conn, &reply, sizeof(reply))) -+ pptp_reset_timer(); /* give sender a chance for a retry */ - } else { /* same or greater version */ - if (pptp_send_ctrl_packet(conn, &reply, sizeof(reply))) { - conn->conn_state = CONN_ESTABLISHED; -@@ -841,8 +847,8 @@ - hton8(1), hton8(PPTP_GENERAL_ERROR_NONE), 0 - }; - logecho( PPTP_ECHO_RQST); -- pptp_send_ctrl_packet(conn, &reply, sizeof(reply)); -- pptp_reset_timer(); -+ if (pptp_send_ctrl_packet(conn, &reply, sizeof(reply))) -+ pptp_reset_timer(); - break; - } - /* ----------- OUTGOING CALL MESSAGES ------------ */ -@@ -928,9 +935,10 @@ - vector_search(conn->call, ntoh16(packet->call_id), &call); - if (call->callback != NULL) - call->callback(conn, call, CALL_CLOSE_RQST); -- pptp_send_ctrl_packet(conn, &reply, sizeof(reply)); -- pptp_call_destroy(conn, call); -- log("Call closed (RQST) (call id %d)", (int) call->call_id); -+ if (pptp_send_ctrl_packet(conn, &reply, sizeof(reply))) { -+ pptp_call_destroy(conn, call); -+ log("Call closed (RQST) (call id %d)", (int) call->call_id); -+ } - } - break; - } -@@ -1067,8 +1075,9 @@ - } else { /* ka_state == NONE */ /* send keep-alive */ - struct pptp_echo_rqst rqst = { - PPTP_HEADER_CTRL(PPTP_ECHO_RQST), hton32(global.conn->ka_id) }; -- pptp_send_ctrl_packet(global.conn, &rqst, sizeof(rqst)); -- global.conn->ka_state = KA_OUTSTANDING; -+ if (pptp_send_ctrl_packet(global.conn, &rqst, sizeof(rqst))) { -+ global.conn->ka_state = KA_OUTSTANDING; -+ } - } - /* check incoming/outgoing call states for !IDLE && !ESTABLISHED */ - for (i = 0; i < vector_size(global.conn->call); i++) { diff --git a/pptp/patches/pptp-1.7.2-ip-path.patch b/pptp/patches/pptp-1.7.2-ip-path.patch deleted file mode 100644 index c65cb32d0..000000000 --- a/pptp/patches/pptp-1.7.2-ip-path.patch +++ /dev/null @@ -1,186 +0,0 @@ -Index: routing.c -=================================================================== -RCS file: /cvsroot/pptpclient/pptp-linux/routing.c,v -retrieving revision 1.1 -diff -u -r1.1 routing.c ---- a/routing.c 2 Aug 2006 07:07:37 -0000 1.1 -+++ b/routing.c 25 Mar 2009 13:58:28 -0000 -@@ -23,9 +23,26 @@ - #include <stdio.h> - #include <string.h> - #include "routing.h" -+#include "config.h" - -+#if defined (__SVR4) && defined (__sun) /* Solaris */ -+#include <sys/types.h> -+#include <sys/socket.h> -+#include <net/if.h> -+#include <arpa/inet.h> -+#include <errno.h> -+#include "util.h" -+/* PF_ROUTE socket*/ -+int rts; -+/* Destination and gateway addresses */ -+struct sockaddr_in rdst, rgw; -+/* Request sequence */ -+int rseq; -+int dorouting; -+#else /* Solaris */ - /* route to the server */ - char *route; -+#endif /* Solaris */ - - /* - -@@ -54,26 +71,113 @@ - */ - - void routing_init(char *ip) { -+#if defined (__SVR4) && defined (__sun) /* Solaris */ -+ rdst.sin_family = AF_INET; -+ if ( ! inet_pton(AF_INET, ip, &rdst.sin_addr) ) { -+ log("Cannot convert address: %s", strerror(errno)); -+ return; -+ } -+ -+ if ( (rts = socket(PF_ROUTE, SOCK_RAW, AF_INET )) < 0 ) { -+ log("Cannot open routing socket: %s", strerror(errno)); -+ return; -+ } -+ -+ struct rt_msg rtm = { -+ .hdr.rtm_msglen = sizeof(struct rt_msg), -+ .hdr.rtm_version = RTM_VERSION, -+ .hdr.rtm_type = RTM_GET, -+ .hdr.rtm_addrs = RTA_DST, -+ .hdr.rtm_pid = getpid(), -+ .hdr.rtm_seq = ++rseq, -+ .addrs[RTAX_DST] = rdst -+ }; -+ -+ if ( write(rts, &rtm, rtm.hdr.rtm_msglen) != rtm.hdr.rtm_msglen ) { -+ log("Error writing to routing socket: %s", strerror(errno)); -+ close(rts); -+ return; -+ } -+ -+ while ( read(rts, &rtm, sizeof(struct rt_msg)) > 0 ) -+ if ( rtm.hdr.rtm_pid == getpid() && rtm.hdr.rtm_seq == rseq) { -+ /* Check if host route already present */ -+ if ( ( rtm.hdr.rtm_flags & RTF_HOST ) != RTF_HOST ) { -+ rgw = rtm.addrs[RTAX_GATEWAY]; -+ dorouting = 1; -+ } -+ break; -+ } -+#else /* Solaris */ - char buf[256]; -- snprintf(buf, 255, "/bin/ip route get %s", ip); -- FILE *p = popen(buf, "r"); -+ FILE *p; -+ -+ snprintf(buf, 255, "%s route get %s", IP_BINARY, ip); -+ p = popen(buf, "r"); - fgets(buf, 255, p); - /* TODO: check for failure of fgets */ - route = strdup(buf); - pclose(p); - /* TODO: check for failure of command */ -+#endif /* Solaris */ - } - - void routing_start() { -+#if defined (__SVR4) && defined (__sun) /* Solaris */ -+ if ( ! dorouting ) -+ return; -+ -+ struct rt_msg rtm = { -+ .hdr.rtm_msglen = sizeof(struct rt_msg), -+ .hdr.rtm_version = RTM_VERSION, -+ .hdr.rtm_type = RTM_ADD, -+ .hdr.rtm_flags = RTF_HOST | RTF_GATEWAY | RTF_STATIC, -+ .hdr.rtm_addrs = RTA_DST | RTA_GATEWAY, -+ .hdr.rtm_pid = getpid(), -+ .hdr.rtm_seq = ++rseq, -+ .addrs[RTAX_DST] = rdst, -+ .addrs[RTAX_GATEWAY] = rgw -+ }; -+ -+ if ( write(rts, &rtm, rtm.hdr.rtm_msglen) != rtm.hdr.rtm_msglen ) { -+ log("Error adding route: %s", strerror(errno)); -+ } -+#else /* Solaris */ - char buf[256]; -- snprintf(buf, 255, "/bin/ip route replace %s", route); -- FILE *p = popen(buf, "r"); -+ FILE *p; -+ -+ snprintf(buf, 255, "%s route replace %s", IP_BINARY, route); -+ p = popen(buf, "r"); - pclose(p); -+#endif /* Solaris */ - } - - void routing_end() { -+#if defined (__SVR4) && defined (__sun) /* Solaris */ -+ if ( ! dorouting) -+ return; -+ -+ struct rt_msg rtm = { -+ .hdr.rtm_msglen = sizeof(struct rt_msg), -+ .hdr.rtm_version = RTM_VERSION, -+ .hdr.rtm_type = RTM_DELETE, -+ .hdr.rtm_flags = RTF_HOST | RTF_GATEWAY | RTF_STATIC, -+ .hdr.rtm_addrs = RTA_DST | RTA_GATEWAY, -+ .hdr.rtm_pid = getpid(), -+ .hdr.rtm_seq = ++rseq, -+ .addrs[RTAX_DST] = rdst, -+ .addrs[RTAX_GATEWAY] = rgw -+ }; -+ -+ if ( write(rts, &rtm, rtm.hdr.rtm_msglen) != rtm.hdr.rtm_msglen ) { -+ log("Error deleting route: %s", strerror(errno)); -+ } -+#else /* Solaris */ - char buf[256]; -- snprintf(buf, 255, "/bin/ip route delete %s", route); -- FILE *p = popen(buf, "r"); -+ FILE *p; -+ -+ snprintf(buf, 255, "%s route delete %s", IP_BINARY, route); -+ p = popen(buf, "r"); - pclose(p); -+#endif /* Solaris */ - } -Index: Makefile -=================================================================== -RCS file: /cvsroot/pptpclient/pptp-linux/Makefile,v -retrieving revision 1.47 -retrieving revision 1.49 -diff -u -r1.47 -r1.49 ---- a/Makefile 14 May 2008 06:32:52 -0000 1.47 -+++ b/Makefile 24 Jul 2008 05:37:47 -0000 1.49 -@@ -1,10 +1,13 @@ --# $Id: Makefile,v 1.47 2008/05/14 06:32:52 quozl Exp $ -+# $Id: Makefile,v 1.49 2008/07/24 05:37:47 quozl Exp $ - VERSION=1.7.2 - RELEASE= - - ################################################################# --# CHANGE THIS LINE to point to the location of your pppd binary. -+# CHANGE THIS LINE to point to the location of binaries - PPPD = /usr/sbin/pppd -+# Solaris -+# PPPD = /usr/bin/pppd -+IP = /bin/ip - ################################################################# - - BINDIR=$(DESTDIR)/usr/sbin -@@ -47,6 +52,7 @@ - echo "/* text added by Makefile target config.h */" > config.h - echo "#define PPTP_LINUX_VERSION "$(VERSION)$(RELEASE)"" >> config.h - echo "#define PPPD_BINARY "$(PPPD)"" >> config.h -+ echo "#define IP_BINARY "$(IP)"" >> config.h - - vector_test: vector_test.o vector.o - $(CC) -o vector_test vector_test.o vector.o diff --git a/pptp/patches/pptp-1.7.2-makedeps.patch b/pptp/patches/pptp-1.7.2-makedeps.patch deleted file mode 100644 index 02b36cf6b..000000000 --- a/pptp/patches/pptp-1.7.2-makedeps.patch +++ /dev/null @@ -1,80 +0,0 @@ -Index: Makefile -=================================================================== -RCS file: /cvsroot/pptpclient/pptp-linux/Makefile,v -retrieving revision 1.47 -retrieving revision 1.49 -diff -u -r1.47 -r1.49 ---- a/Makefile 14 May 2008 06:32:52 -0000 1.47 -+++ b/Makefile 24 Jul 2008 05:37:47 -0000 1.49 -@@ -96,3 +102,71 @@ - release: - cp pptp_$(VERSION)-0_i386.deb $(WEB) - cd $(WEB);make -+ -+# The following include file dependencies were generated using -+# "makedepend -w0 *.c", then manually removing out of tree entries. -+# DO NOT DELETE -+ -+dirutil.o: dirutil.h -+orckit_quirks.o: pptp_msg.h -+orckit_quirks.o: pptp_compat.h -+orckit_quirks.o: pptp_options.h -+orckit_quirks.o: pptp_ctrl.h -+orckit_quirks.o: util.h -+ppp_fcs.o: ppp_fcs.h -+ppp_fcs.o: pptp_compat.h -+pptp.o: config.h -+pptp.o: pptp_callmgr.h -+pptp.o: pptp_gre.h -+pptp.o: pptp_compat.h -+pptp.o: version.h -+pptp.o: inststr.h -+pptp.o: util.h -+pptp.o: pptp_quirks.h -+pptp.o: pptp_msg.h -+pptp.o: pptp_ctrl.h -+pptp.o: pqueue.h -+pptp.o: pptp_options.h -+pptp_callmgr.o: pptp_callmgr.h -+pptp_callmgr.o: pptp_ctrl.h -+pptp_callmgr.o: pptp_compat.h -+pptp_callmgr.o: pptp_msg.h -+pptp_callmgr.o: dirutil.h -+pptp_callmgr.o: vector.h -+pptp_callmgr.o: util.h -+pptp_callmgr.o: routing.h -+pptp_compat.o: pptp_compat.h -+pptp_compat.o: util.h -+pptp_ctrl.o: pptp_msg.h -+pptp_ctrl.o: pptp_compat.h -+pptp_ctrl.o: pptp_ctrl.h -+pptp_ctrl.o: pptp_options.h -+pptp_ctrl.o: vector.h -+pptp_ctrl.o: util.h -+pptp_ctrl.o: pptp_quirks.h -+pptp_gre.o: ppp_fcs.h -+pptp_gre.o: pptp_compat.h -+pptp_gre.o: pptp_msg.h -+pptp_gre.o: pptp_gre.h -+pptp_gre.o: util.h -+pptp_gre.o: pqueue.h -+pptp_gre.o: test.h -+pptp_quirks.o: orckit_quirks.h -+pptp_quirks.o: pptp_options.h -+pptp_quirks.o: pptp_ctrl.h -+pptp_quirks.o: pptp_compat.h -+pptp_quirks.o: pptp_msg.h -+pptp_quirks.o: pptp_quirks.h -+pqueue.o: util.h -+pqueue.o: pqueue.h -+routing.o: routing.h -+test.o: util.h -+test.o: test.h -+util.o: util.h -+vector.o: pptp_ctrl.h -+vector.o: pptp_compat.h -+vector.o: vector.h -+vector_test.o: vector.h -+vector_test.o: pptp_ctrl.h -+vector_test.o: pptp_compat.h -+version.o: config.h diff --git a/pptp/patches/pptp-1.7.2-pptpsetup-encrypt.patch b/pptp/patches/pptp-1.7.2-pptpsetup-encrypt.patch deleted file mode 100644 index 6f7bfa5d0..000000000 --- a/pptp/patches/pptp-1.7.2-pptpsetup-encrypt.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/pptpsetup 2009-06-01 14:30:36.000000000 +0100 -+++ b/pptpsetup 2009-06-01 14:36:39.000000000 +0100 -@@ -43,12 +43,13 @@ - sub create { - my $TUNNEL = shift; - -- # system checking -- &Check_MPPE_in_kernel -- or die "$0: couldn't find MPPE support in kernel.\n"; -- -- &Check_MPPE_in_pppd -- or die "$0: couldn't find MPPE support in pppd.\n"; -+ # if encryption is requested, check for support in kernel and pppd -+ if ( $ENCRYPT ) { -+ &Check_MPPE_in_kernel -+ or die "$0: couldn't find MPPE support in kernel.\n"; -+ &Check_MPPE_in_pppd -+ or die "$0: couldn't find MPPE support in pppd.\n"; -+ } - - # input validation - ($TUNNEL) = $TUNNEL =~ m{^(\w+)$} diff --git a/pptp/patches/pptp-1.7.2-pptpsetup-mppe.patch b/pptp/patches/pptp-1.7.2-pptpsetup-mppe.patch deleted file mode 100644 index c8668ea17..000000000 --- a/pptp/patches/pptp-1.7.2-pptpsetup-mppe.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- pptp-1.7.2/pptpsetup 2009-06-01 15:18:25.000000000 +0100 -+++ pptp-1.7.2/pptpsetup 2009-06-01 15:19:25.000000000 +0100 -@@ -43,14 +43,6 @@ - sub create { - my $TUNNEL = shift; - -- # if encryption is requested, check for support in kernel and pppd -- if ( $ENCRYPT ) { -- &Check_MPPE_in_kernel -- or die "$0: couldn't find MPPE support in kernel.\n"; -- &Check_MPPE_in_pppd -- or die "$0: couldn't find MPPE support in pppd.\n"; -- } -- - # input validation - ($TUNNEL) = $TUNNEL =~ m{^(\w+)$} - or die "$0: invalid tunnel name.\nTry '$0 --help' for more information.\n"; -@@ -180,29 +172,6 @@ - exit; - } - --### AUXILIAR SUBS ### -- --sub Check_MPPE_in_kernel { -- my $command = q/modprobe ppp-compress-18/; -- if (system( $command ) == 0) { -- # no error! -- return 1; -- } else { -- return 0; -- } --} -- --sub Check_MPPE_in_pppd { -- my $command = q/strings `which pppd`|grep -i mppe|wc --lines/; -- my $answer = `$command`; -- if ($answer > 0) { -- # ok! -- return 1; -- } else { -- return 0; -- } --} -- - __END__ - - =head1 NAME diff --git a/pptp/patches/pptp-1.7.2-pptpsetup.patch b/pptp/patches/pptp-1.7.2-pptpsetup.patch deleted file mode 100644 index c1d0638a5..000000000 --- a/pptp/patches/pptp-1.7.2-pptpsetup.patch +++ /dev/null @@ -1,23 +0,0 @@ -Index: pptpsetup -=================================================================== -RCS file: /cvsroot/pptpclient/pptp-linux/pptpsetup,v -retrieving revision 1.4 -diff -u -r1.4 pptpsetup ---- a/pptpsetup 2 Aug 2006 07:02:47 -0000 1.4 -+++ b/pptpsetup 25 Mar 2009 13:41:37 -0000 -@@ -154,6 +154,7 @@ - - # delete entry from chap-secrets - my $chap_file = '/etc/ppp/chap-secrets'; -+ my $mode = (stat($chap_file))[2] & 07777; - - open( FILE, $chap_file ) - or die "$0: can't read '$chap_file': $!\n"; -@@ -171,6 +172,7 @@ - # write new chap-secrets - open( FILE, ">$chap_file" ) - or die "$0: can't write '$chap_file': $!\n"; -+ chmod $mode, $chap_file; - print FILE $new_chap; - close FILE; - diff --git a/pptp/patches/pptp-1.7.2-waitpid.patch b/pptp/patches/pptp-1.7.2-waitpid.patch deleted file mode 100644 index ef042f1e1..000000000 --- a/pptp/patches/pptp-1.7.2-waitpid.patch +++ /dev/null @@ -1,16 +0,0 @@ -Tue Jun 15 15:02:28 2010 James Cameron quozl@us.netrek.org - - * pptp.c (open_callmgr): fix usage of status returned by waitpid; - it must be wrapped by WEXITSTATUS to shift bits as required. - ---- a/pptp.c 2010-06-15 14:35:20.265852021 +0100 -+++ b/pptp.c 2010-06-15 14:32:00.478100392 +0100 -@@ -475,7 +475,7 @@ - } - default: /* parent */ - waitpid(pid, &status, 0); -- if (status!= 0) -+ if (WEXITSTATUS(status) != 0) - fatal("Call manager exited with error %d", status); - break; - } diff --git a/pptp/pptp.nm b/pptp/pptp.nm deleted file mode 100644 index 2e614a58c..000000000 --- a/pptp/pptp.nm +++ /dev/null @@ -1,53 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = pptp -version = 1.7.2 -release = 3 - -groups = Networking/Dialin -url = http://pptpclient.sourceforge.net/ -license = GPLv2+ -summary = Point-to-Point Tunneling Protocol (PPTP) Client. - -description - Client for the proprietary Microsoft Point-to-Point Tunneling - Protocol, PPTP. Allows connection to a PPTP based VPN as used - by employers and some cable and ADSL service providers. -end - -source_dl = -sources = %{thisapp}.tar.gz - -build - requires - perl - ppp-devel - end - - prepare_cmds - sed -i Makefile \ - -e "s/install -o root -m 555 pptp/install -m 755 pptp/" \ - -e "s/^OPTIMIZE=.*/OPTIMIZE=%{CFLAGS}/" \ - -e "s/^LDFLAGS =/LDFLAGS=%{LDFLAGS}/" \ - -e "s/^IP.*/IP=/sbin/ip/" - end - - install_cmds - rm -rvf %{BUILDROOT}/etc - end -end - -packages - package %{name} - requires - iproute2 - end - end - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/pychecker/pychecker.nm b/pychecker/pychecker.nm deleted file mode 100644 index b255c0aab..000000000 --- a/pychecker/pychecker.nm +++ /dev/null @@ -1,40 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = pychecker -version = 0.8.19 -release = 2 -arch = noarch - -groups = Development/Debuggers -url = http://pychecker.sourceforge.net -license = BSD -summary = A python source code checking tool. - -description - PyChecker is a python source code checking tool to help you find - common bugs. It is meant to find problems that are typically caught by - a compiler. -end - -source_dl = - -build - requires - python-devel - end - - build - python setup.py build - end - - install - python setup.py install --root=%{BUILDROOT} - end -end - -packages - package %{name} -end diff --git a/pygpgme/pygpgme.nm b/pygpgme/pygpgme.nm deleted file mode 100644 index f3facd7a1..000000000 --- a/pygpgme/pygpgme.nm +++ /dev/null @@ -1,44 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = pygpgme -version = 0.3 -release = 1 - -groups = Development/Languages -url = http://cheeseshop.python.org/pypi/pygpgme -license = LGPLv2+ -summary = Python module for working with OpenPGP messages. - -description - PyGPGME is a Python module that lets you sign, verify, encrypt and decrypt - files using the OpenPGP format. It is built on top of GNU Privacy Guard and - the GPGME library. -end - -source_dl = http://cheeseshop.python.org/packages/source/p/%%7Bname%7D/ - -build - requires - gpgme-devel - python-devel - end - - build - python setup.py build - end - - install - python setup.py install --skip-build --root %{BUILDROOT} - end -end - -packages - package %{name} - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/pyserial/pyserial.nm b/pyserial/pyserial.nm deleted file mode 100644 index ba33766e8..000000000 --- a/pyserial/pyserial.nm +++ /dev/null @@ -1,36 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = pyserial -version = 2.5 -release = 1 -arch = noarch - -groups = System/Libraries -url = http://pyserial.sourceforge.net/ -license = Python -summary = Python Serial Port Extension. - -description - Python Serial Port Extension for Win32, Linux, BSD, Jython, IronPython. -end - -source_dl = - -build - requires - python-devel - end - - build = # Nothing to do - - install - python setup.py install --root=%{BUILDROOT} - end -end - -packages - package %{name} -end diff --git a/python-IPy/python-IPy.nm b/python-IPy/python-IPy.nm deleted file mode 100644 index 345f4e33c..000000000 --- a/python-IPy/python-IPy.nm +++ /dev/null @@ -1,40 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = python-IPy -version = 0.62 -release = 1 -arch = noarch -thisapp = IPy-%{version} - -groups = System/Libraries -url = http://software.inl.fr/trac/trac.cgi/wiki/IPy -license = BSD -summary = Python module for handling IPv4 and IPv6 Addresses and Networks. - -description - IPy is a Python module for handling IPv4 and IPv6 Addresses and \ - Networks in a fashion similar to perl's Net::IP and friends. The IP \ - class allows a comfortable parsing and handling for most notations \ - in use for IPv4 and IPv6 Addresses and Networks. -end - -source_dl = - -build - requires - python-devel - end - - build = # Nothing to do - - install - python setup.py install --root=%{BUILDROOT} - end -end - -packages - package %{name} -end diff --git a/python-daemon/python-daemon.nm b/python-daemon/python-daemon.nm deleted file mode 100644 index 5223094ac..000000000 --- a/python-daemon/python-daemon.nm +++ /dev/null @@ -1,44 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = python-daemon -version = 1.6 -release = 1 -arch = noarch - -groups = System/Libraries -url = http://pypi.python.org/pypi/python-daemon -license = Python -summary = Library to implement a well-behaved Unix daemon process. - -description - This library implements the well-behaved daemon specification of PEP 3143, - "Standard daemon process library". -end - -source_dl = http://pypi.python.org/packages/source/p/python-daemon - -build - requires - python-devel - python-setuptools - end - - prepare_cmds - sed -i -e '/^#!//, 1d' daemon/version/version_info.py - end - - build - python setup.py build - end - - install - python setup.py install --root=%{BUILDROOT} - end -end - -packages - package %{name} -end diff --git a/python-decorator/python-decorator.nm b/python-decorator/python-decorator.nm deleted file mode 100644 index 6d1c5b874..000000000 --- a/python-decorator/python-decorator.nm +++ /dev/null @@ -1,43 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = python-decorator -version = 3.1.2 -release = 1 -arch = noarch -thisapp = decorator-%{version} - -groups = Development/Languages -url = http://www.phyast.pitt.edu/~micheles/python/documentation.html -license = BSD -summary = Module to simplify usage of decorators. - -description - The aim of the decorator module is to simplify the usage of decorators - for the average programmer, and to popularize decorators usage giving - examples of useful decorators, such as memoize, tracing, - redirecting_stdout, locked, etc. The core of this module is a - decorator factory called decorator. -end - -source_dl = - -build - requires - python - end - - build - python setup.py build - end - - install - python setup.py install --skip-build --root=%{BUILDROOT} - end -end - -packages - package %{name} -end diff --git a/python-distutils-extra/python-distutils-extra.nm b/python-distutils-extra/python-distutils-extra.nm deleted file mode 100644 index 3cb316345..000000000 --- a/python-distutils-extra/python-distutils-extra.nm +++ /dev/null @@ -1,40 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = python-distutils-extra -version = 2.25 -release = 1 -arch = noarch - -groups = System/Libraries -url = https://launchpad.net/python-distutils-extra -license = GPLv2+ -summary = Integrate more support into Python's distutils. - -description - Enables you to easily integrate gettext support, themed icons and - scrollkeeper based documentation into Python's distutils. -end - -source_dl = - -build - requires - python-devel - python-setuptools - end - - build - python setup.py build - end - - install - python setup.py install --root=%{BUILDROOT} - end -end - -packages - package %{name} -end diff --git a/python-m2crypto/python-m2crypto.nm b/python-m2crypto/python-m2crypto.nm deleted file mode 100644 index 1a6321775..000000000 --- a/python-m2crypto/python-m2crypto.nm +++ /dev/null @@ -1,46 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = python-m2crypto -version = 0.21.1 -release = 1 - -groups = Development/Libraries -url = http://wiki.osafoundation.org/bin/view/Projects/MeTooCrypto -license = MIT -summary = Support for using OpenSSL in python scripts. - -description - This package allows you to call OpenSSL functions from python scripts. -end - -thisapp = M2Crypto-%{version} - -source_dl = - -build - requires - python-devel - openssl-devel - swig - end - - build - CFLAGS="%{CFLAGS}" python setup.py build - end - - install - python setup.py install --skip-build --root=%{BUILDROOT} - end -end - -packages - package %{name} - end - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/python-netfilter_conntrack/python-netfilter_conntrack.nm b/python-netfilter_conntrack/python-netfilter_conntrack.nm deleted file mode 100644 index 8740400a9..000000000 --- a/python-netfilter_conntrack/python-netfilter_conntrack.nm +++ /dev/null @@ -1,44 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = python-netfilter_conntrack -version = 0.4.2 -release = 1 -thisapp = pynetfilter_conntrack-%{version} - -groups = System/Libraries -url = http://software.inl.fr/trac/wiki/pynetfilter_conntrack -license = -summary = Python binding of libnetfilter_conntrack. - -description - This python library is based on libnetfilter_conntrack, which lets - you manipulate conntrack objects. In other words, - pynetfilter_conntrack lets you deal with Netfilter's stateful - inspection objects from the Python world. -end - -source_dl = - -build - requires - libnetfilter_conntrack-devel - python-devel - end - - build = # Nothing to do - - install - python setup.py install --root=%{BUILDROOT} - end -end - -packages - package %{name} - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/python-piksemel/python-piksemel.nm b/python-piksemel/python-piksemel.nm deleted file mode 100644 index 366a6e365..000000000 --- a/python-piksemel/python-piksemel.nm +++ /dev/null @@ -1,48 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = python-piksemel -version = 1.3.1 -release = 1 -thisapp = piksemel-%{version} - -groups = Development/Languages -url = http://cekirdek.pardus.org.tr/~bahadir/piksemel/ -license = GPLv2+ -summary = A python XML parser. - -description - Piksemel is a easy to use python XML parser, based on iksemel. -end - -source_dl = - -build - requires - python-devel - end - - build - python setup.py build - end - - test - # Create symlink for testsuite to find the compiled module. - cd %{DIR_APP}/tests && ln -s ../build/lib.*/piksemel.so piksemel.so - cd %{DIR_APP} && python setup.py test - end - - install - python setup.py install --root=%{BUILDROOT} - end -end - -packages - package %{name} - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/python-progressbar/patches/progressbar-interrupt.patch b/python-progressbar/patches/progressbar-interrupt.patch deleted file mode 100644 index d2727221a..000000000 --- a/python-progressbar/patches/progressbar-interrupt.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: progressbar-2.3/progressbar/__init__.py -=================================================================== ---- progressbar-2.3.orig/progressbar/__init__.py -+++ progressbar-2.3/progressbar/__init__.py -@@ -141,6 +141,7 @@ class ProgressBar(object): - try: - self._handle_resize() - signal.signal(signal.SIGWINCH, self._handle_resize) -+ signal.siginterrupt(signal.SIGWINCH, False) - self.signal_set = True - except (SystemExit, KeyboardInterrupt): raise - except: diff --git a/python-progressbar/python-progressbar.nm b/python-progressbar/python-progressbar.nm deleted file mode 100644 index 52871c0e4..000000000 --- a/python-progressbar/python-progressbar.nm +++ /dev/null @@ -1,42 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = python-progressbar -version = 2.3 -release = 1 -arch = noarch -thisapp = progressbar-%{version} - -groups = System/Libraries -url = http://code.google.com/p/python-progressbar/ -license = LGPLv2+ -summary = Text progressbar library for python. - -description - This library provides a text mode progress bar. This is typically used to - display the progress of a long running operation, providing a visual clue that - processing is under way. -end - -source_dl = https://%%7Bname%7D.googlecode.com/files/ - -build - requires - python-setuptools - python-devel - end - - build - python setup.py build - end - - install - python setup.py install --root=%{BUILDROOT} - end -end - -packages - package %{name} -end diff --git a/python-pyaspects/python-pyaspects.nm b/python-pyaspects/python-pyaspects.nm deleted file mode 100644 index db3422cb6..000000000 --- a/python-pyaspects/python-pyaspects.nm +++ /dev/null @@ -1,43 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = python-pyaspects -version = 0.4.1 -release = 1 -thisapp = pyaspects-%{version} - -groups = Development/Languages -url = http://github.com/baris/pyaspects/downloads -license = GPLv2+ -summary = Module to provide aspect-oriented programming. - -description - PyAspects is a project to ease aspect-oriented programming - in Python language. -end - -source_dl = - -build - requires - python-devel - end - - build - python setup.py build - end - - install - python setup.py install --root=%{BUILDROOT} - end -end - -packages - package %{name} - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/python-pycurl/patches/0001-No-longer-keep-copies-of-string-options-since-this-i.patch b/python-pycurl/patches/0001-No-longer-keep-copies-of-string-options-since-this-i.patch deleted file mode 100644 index bfbe215e7..000000000 --- a/python-pycurl/patches/0001-No-longer-keep-copies-of-string-options-since-this-i.patch +++ /dev/null @@ -1,200 +0,0 @@ -From 05433632fb1ccdabc1d29d78f32bc35de0a8638b Mon Sep 17 00:00:00 2001 -From: kjetilja <kjetilja> -Date: Mon, 29 Sep 2008 10:56:57 +0000 -Subject: [PATCH 1/5] No longer keep copies of string options since this is managed by libcurl - -Signed-off-by: Kamil Dudka kdudka@redhat.com ---- - ChangeLog | 12 +++++++++- - src/pycurl.c | 60 +-------------------------------------------------------- - 2 files changed, 12 insertions(+), 60 deletions(-) - -diff --git a/ChangeLog b/ChangeLog -index 0fb7f8c..618654d 100644 ---- a/ChangeLog -+++ b/ChangeLog -@@ -1,7 +1,15 @@ --Version 7.19.0 [requires libcurl-7.19.0 or better] -+Version 7.19.1 [requires libcurl-7.19.0 or better] - -------------- - -- * Added CURLFILE, ADDRESS_SCOPE and ISSUERCERT options, -+ * No longer keep string options copies in the -+ Curl Python objects, since string options are -+ now managed by libcurl. -+ -+ -+Version 7.19.0 -+-------------- -+ -+ * Added CURLFILE, ADDRESS_SCOPE and ISSUERCERT options, - as well as the APPCONNECT_TIME info. - - * Added PRIMARY_IP info (patch by -diff --git a/src/pycurl.c b/src/pycurl.c -index a17a23b..6de1514 100644 ---- a/src/pycurl.c -+++ b/src/pycurl.c -@@ -1,4 +1,4 @@ --/* $Id: pycurl.c,v 1.147 2008/09/09 17:40:34 kjetilja Exp $ */ -+/* $Id: pycurl.c,v 1.148 2008/09/29 10:56:57 kjetilja Exp $ */ - - /* PycURL -- cURL Python module - * -@@ -97,12 +97,6 @@ static void pycurl_ssl_cleanup(void); - /* Calculate the number of OBJECTPOINT options we need to store */ - #define OPTIONS_SIZE ((int)CURLOPT_LASTENTRY % 10000) - #define MOPTIONS_SIZE ((int)CURLMOPT_LASTENTRY % 10000) --static int OPT_INDEX(int o) --{ -- assert(o >= CURLOPTTYPE_OBJECTPOINT); -- assert(o < CURLOPTTYPE_OBJECTPOINT + OPTIONS_SIZE); -- return o - CURLOPTTYPE_OBJECTPOINT; --} - - /* Type objects */ - static PyObject *ErrorObject = NULL; -@@ -161,7 +155,6 @@ typedef struct { - PyObject *writedata_fp; - PyObject *writeheader_fp; - /* misc */ -- void *options[OPTIONS_SIZE]; /* for OBJECTPOINT options */ - char error[CURL_ERROR_SIZE+1]; - } CurlObject; - -@@ -741,7 +734,6 @@ util_curl_new(void) - self->writeheader_fp = NULL; - - /* Zero string pointer memory buffer used by setopt */ -- memset(self->options, 0, sizeof(self->options)); - memset(self->error, 0, sizeof(self->error)); - - return self; -@@ -804,7 +796,6 @@ do_curl_new(PyObject *dummy) - free(s); - goto error; - } -- self->options[ OPT_INDEX(CURLOPT_USERAGENT) ] = s; s = NULL; - - /* Success - return new object */ - return self; -@@ -872,7 +863,6 @@ static void - util_curl_close(CurlObject *self) - { - CURL *handle; -- int i; - - /* Zero handle and thread-state to disallow any operations to be run - * from now on */ -@@ -916,16 +906,6 @@ util_curl_close(CurlObject *self) - SFREE(self->postquote); - SFREE(self->prequote); - #undef SFREE -- -- /* Last, free the options. This must be done after the curl handle -- * is closed since libcurl assumes that some options are valid when -- * invoking curl_easy_cleanup(). */ -- for (i = 0; i < OPTIONS_SIZE; i++) { -- if (self->options[i] != NULL) { -- free(self->options[i]); -- self->options[i] = NULL; -- } -- } - } - - -@@ -1424,8 +1404,6 @@ verbose_error: - static PyObject* - do_curl_reset(CurlObject *self) - { -- unsigned int i; -- - curl_easy_reset(self->handle); - - /* Decref callbacks and file handles */ -@@ -1443,15 +1421,6 @@ do_curl_reset(CurlObject *self) - SFREE(self->postquote); - SFREE(self->prequote); - #undef SFREE -- -- /* Last, free the options */ -- for (i = 0; i < OPTIONS_SIZE; i++) { -- if (self->options[i] != NULL) { -- free(self->options[i]); -- self->options[i] = NULL; -- } -- } -- - return Py_None; - } - -@@ -1461,7 +1430,6 @@ static PyObject * - util_curl_unsetopt(CurlObject *self, int option) - { - int res; -- int opt_index = -1; - - #define SETOPT2(o,x) \ - if ((res = curl_easy_setopt(self->handle, (o), (x))) != CURLE_OK) goto error -@@ -1502,7 +1470,6 @@ util_curl_unsetopt(CurlObject *self, int option) - case CURLOPT_SSL_CIPHER_LIST: - case CURLOPT_USERPWD: - SETOPT((char *) 0); -- opt_index = OPT_INDEX(option); - break; - - /* info: we explicitly list unsupported options here */ -@@ -1512,11 +1479,6 @@ util_curl_unsetopt(CurlObject *self, int option) - return NULL; - } - -- if (opt_index >= 0 && self->options[opt_index] != NULL) { -- free(self->options[opt_index]); -- self->options[opt_index] = NULL; -- } -- - Py_INCREF(Py_None); - return Py_None; - -@@ -1587,8 +1549,6 @@ do_curl_setopt(CurlObject *self, PyObject *args) - if (PyString_Check(obj)) { - char *str = NULL; - Py_ssize_t len = -1; -- char *buf; -- int opt_index; - - /* Check that the option specified a string as well as the input */ - switch (option) { -@@ -1651,28 +1611,12 @@ do_curl_setopt(CurlObject *self, PyObject *args) - } - /* Allocate memory to hold the string */ - assert(str != NULL); -- if (len <= 0) -- buf = strdup(str); -- else { -- buf = (char *) malloc(len); -- if (buf) memcpy(buf, str, len); -- } -- if (buf == NULL) -- return PyErr_NoMemory(); - /* Call setopt */ -- res = curl_easy_setopt(self->handle, (CURLoption)option, buf); -+ res = curl_easy_setopt(self->handle, (CURLoption)option, str); - /* Check for errors */ - if (res != CURLE_OK) { -- free(buf); - CURLERROR_RETVAL(); - } -- /* Save allocated option buffer */ -- opt_index = OPT_INDEX(option); -- if (self->options[opt_index] != NULL) { -- free(self->options[opt_index]); -- self->options[opt_index] = NULL; -- } -- self->options[opt_index] = buf; - Py_INCREF(Py_None); - return Py_None; - } --- -1.7.1 - diff --git a/python-pycurl/patches/0002-Fixes-https-sourceforge.net-tracker-func-detail-aid-.patch b/python-pycurl/patches/0002-Fixes-https-sourceforge.net-tracker-func-detail-aid-.patch deleted file mode 100644 index 522087c3e..000000000 --- a/python-pycurl/patches/0002-Fixes-https-sourceforge.net-tracker-func-detail-aid-.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 009e170d2838346461ff0b31b0afa44f3d6278f3 Mon Sep 17 00:00:00 2001 -From: zanee <zanee> -Date: Fri, 23 Apr 2010 16:06:41 +0000 -Subject: [PATCH 2/5] Fixes https://sourceforge.net/tracker/?func=detail&aid=2812016&group_id=28... with applied patch from sourceforge user dbprice1. - -Signed-off-by: Kamil Dudka kdudka@redhat.com ---- - setup.py | 23 ++++++++++++++++++----- - 1 files changed, 18 insertions(+), 5 deletions(-) - -diff --git a/setup.py b/setup.py -index 0ffd9d2..76b9d58 100644 ---- a/setup.py -+++ b/setup.py -@@ -1,7 +1,7 @@ - #! /usr/bin/env python - # -*- coding: iso-8859-1 -*- - # vi:ts=4:et --# $Id: setup.py,v 1.150 2008/09/09 17:40:34 kjetilja Exp $ -+# $Id: setup.py,v 1.151 2010/04/23 16:06:41 zanee Exp $ - - """Setup script for the PycURL module distribution.""" - -@@ -9,7 +9,7 @@ PACKAGE = "pycurl" - PY_PACKAGE = "curl" - VERSION = "7.19.0" - --import glob, os, re, sys, string -+import glob, os, re, sys, string, subprocess - import distutils - from distutils.core import setup - from distutils.extension import Extension -@@ -96,9 +96,22 @@ else: - include_dirs.append(e[2:]) - else: - extra_compile_args.append(e) -- libs = split_quoted( -- os.popen("'%s' --libs" % CURL_CONFIG).read()+\ -- os.popen("'%s' --static-libs" % CURL_CONFIG).read()) -+ -+ # Run curl-config --libs and --static-libs. Some platforms may not -+ # support one or the other of these curl-config options, so gracefully -+ # tolerate failure of either, but not both. -+ optbuf = "" -+ for option in ["--libs", "--static-libs"]: -+ p = subprocess.Popen("'%s' %s" % (CURL_CONFIG, option), shell=True, -+ stdout=subprocess.PIPE) -+ (stdout, stderr) = p.communicate() -+ if p.wait() == 0: -+ optbuf += stdout -+ if optbuf == "": -+ raise Exception, ("Neither of curl-config --libs or --static-libs" + -+ "produced output") -+ libs = split_quoted(optbuf) -+ - for e in libs: - if e[:2] == "-l": - libraries.append(e[2:]) --- -1.7.1 - diff --git a/python-pycurl/patches/0003-Fixes-refcount-bug-and-provides-better-organization-.patch b/python-pycurl/patches/0003-Fixes-refcount-bug-and-provides-better-organization-.patch deleted file mode 100644 index 80c600ef4..000000000 --- a/python-pycurl/patches/0003-Fixes-refcount-bug-and-provides-better-organization-.patch +++ /dev/null @@ -1,160 +0,0 @@ -From 4a377e2d60fb903e91a370595a6ea22cb7ee0e0e Mon Sep 17 00:00:00 2001 -From: zanee <zanee> -Date: Wed, 28 Apr 2010 16:02:41 +0000 -Subject: [PATCH 3/5 v2] Fixes refcount bug and provides better organization of PyCurl object. Submitted by dbprice1. - -https://sourceforge.net/tracker/?func=detail&aid=2893665&group_id=28... - -Signed-off-by: Kamil Dudka kdudka@redhat.com ---- - src/pycurl.c | 88 +++++++++++++++++++++++++++++++++++++-------------------- - 1 files changed, 57 insertions(+), 31 deletions(-) - -diff --git a/src/pycurl.c b/src/pycurl.c -index 6de1514..32c7ca5 100644 ---- a/src/pycurl.c -+++ b/src/pycurl.c -@@ -1,4 +1,4 @@ --/* $Id: pycurl.c,v 1.148 2008/09/29 10:56:57 kjetilja Exp $ */ -+/* $Id: pycurl.c,v 1.149 2010/04/28 16:02:41 zanee Exp $ */ - - /* PycURL -- cURL Python module - * -@@ -739,64 +739,80 @@ util_curl_new(void) - return self; - } - -- --/* constructor - this is a module-level function returning a new instance */ --static CurlObject * --do_curl_new(PyObject *dummy) -+/* initializer - used to intialize curl easy handles for use with pycurl */ -+static int -+util_curl_init(CurlObject *self) - { -- CurlObject *self = NULL; - int res; - char *s = NULL; - -- UNUSED(dummy); -- -- /* Allocate python curl object */ -- self = util_curl_new(); -- if (self == NULL) -- return NULL; -- -- /* Initialize curl handle */ -- self->handle = curl_easy_init(); -- if (self->handle == NULL) -- goto error; -- - /* Set curl error buffer and zero it */ - res = curl_easy_setopt(self->handle, CURLOPT_ERRORBUFFER, self->error); -- if (res != CURLE_OK) -- goto error; -+ if (res != CURLE_OK) { -+ return (-1); -+ } - memset(self->error, 0, sizeof(self->error)); - - /* Set backreference */ - res = curl_easy_setopt(self->handle, CURLOPT_PRIVATE, (char *) self); -- if (res != CURLE_OK) -- goto error; -+ if (res != CURLE_OK) { -+ return (-1); -+ } - - /* Enable NOPROGRESS by default, i.e. no progress output */ - res = curl_easy_setopt(self->handle, CURLOPT_NOPROGRESS, (long)1); -- if (res != CURLE_OK) -- goto error; -+ if (res != CURLE_OK) { -+ return (-1); -+ } - - /* Disable VERBOSE by default, i.e. no verbose output */ - res = curl_easy_setopt(self->handle, CURLOPT_VERBOSE, (long)0); -- if (res != CURLE_OK) -- goto error; -+ if (res != CURLE_OK) { -+ return (-1); -+ } - - /* Set FTP_ACCOUNT to NULL by default */ - res = curl_easy_setopt(self->handle, CURLOPT_FTP_ACCOUNT, NULL); -- if (res != CURLE_OK) -- goto error; -+ if (res != CURLE_OK) { -+ return (-1); -+ } - - /* Set default USERAGENT */ - s = (char *) malloc(7 + strlen(LIBCURL_VERSION) + 1); -- if (s == NULL) -- goto error; -+ if (s == NULL) { -+ return (-1); -+ } - strcpy(s, "PycURL/"); strcpy(s+7, LIBCURL_VERSION); - res = curl_easy_setopt(self->handle, CURLOPT_USERAGENT, (char *) s); - if (res != CURLE_OK) { - free(s); -- goto error; -+ return (-1); - } -+ return (0); -+} -+ -+/* constructor - this is a module-level function returning a new instance */ -+static CurlObject * -+do_curl_new(PyObject *dummy) -+{ -+ CurlObject *self = NULL; -+ int res; -+ -+ UNUSED(dummy); -+ -+ /* Allocate python curl object */ -+ self = util_curl_new(); -+ if (self == NULL) -+ return NULL; -+ -+ /* Initialize curl handle */ -+ self->handle = curl_easy_init(); -+ if (self->handle == NULL) -+ goto error; - -+ res = util_curl_init(self); -+ if (res < 0) -+ goto error; - /* Success - return new object */ - return self; - -@@ -1404,6 +1420,8 @@ verbose_error: - static PyObject* - do_curl_reset(CurlObject *self) - { -+ int res; -+ - curl_easy_reset(self->handle); - - /* Decref callbacks and file handles */ -@@ -1421,6 +1439,14 @@ do_curl_reset(CurlObject *self) - SFREE(self->postquote); - SFREE(self->prequote); - #undef SFREE -+ res = util_curl_init(self); -+ if (res < 0) { -+ Py_DECREF(self); /* this also closes self->handle */ -+ PyErr_SetString(ErrorObject, "resetting curl failed"); -+ return NULL; -+ } -+ -+ Py_INCREF(Py_None); - return Py_None; - } - --- -1.7.1 - diff --git a/python-pycurl/patches/0004-Test-for-reset-fixes-refcount-bug.patch b/python-pycurl/patches/0004-Test-for-reset-fixes-refcount-bug.patch deleted file mode 100644 index 614484246..000000000 --- a/python-pycurl/patches/0004-Test-for-reset-fixes-refcount-bug.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 206c15ea32e05ae98827d00626a101e33a7bec70 Mon Sep 17 00:00:00 2001 -From: zanee <zanee> -Date: Wed, 28 Apr 2010 16:03:40 +0000 -Subject: [PATCH 4/5] Test for reset fixes refcount bug - -Signed-off-by: Kamil Dudka kdudka@redhat.com ---- - tests/test_reset.py | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 files changed, 74 insertions(+), 0 deletions(-) - create mode 100644 tests/test_reset.py - -diff --git a/tests/test_reset.py b/tests/test_reset.py -new file mode 100644 -index 0000000..c350d17 ---- /dev/null -+++ b/tests/test_reset.py -@@ -0,0 +1,74 @@ -+#!/usr/bin/python -+ -+import sys -+import pycurl -+ -+saw_error = 1 -+ -+def main(): -+ global saw_error -+ -+ pycurl.global_init(pycurl.GLOBAL_DEFAULT) -+ -+ outf = file("/dev/null", "rb+") -+ cm = pycurl.CurlMulti() -+ -+ # Set multi handle's options -+ cm.setopt(pycurl.M_PIPELINING, 1) -+ -+ eh = pycurl.Curl() -+ -+ for x in range(1, 20): -+ -+ eh.setopt(pycurl.WRITEDATA, outf) -+ eh.setopt(pycurl.URL, sys.argv[1]) -+ cm.add_handle(eh) -+ -+ while 1: -+ ret, active_handles = cm.perform() -+ if ret != pycurl.E_CALL_MULTI_PERFORM: -+ break -+ -+ while active_handles: -+ ret = cm.select(1.0) -+ if ret == -1: -+ continue -+ while 1: -+ ret, active_handles = cm.perform() -+ if ret != pycurl.E_CALL_MULTI_PERFORM: -+ break -+ -+ count, good, bad = cm.info_read() -+ -+ for h, en, em in bad: -+ print "Transfer to %s failed with %d, %s\n" % \ -+ (h.getinfo(pycurl.EFFECTIVE_URL), en, em) -+ raise RuntimeError -+ -+ for h in good: -+ httpcode = h.getinfo(pycurl.RESPONSE_CODE) -+ if httpcode != 200: -+ print "Transfer to %s failed with code %d\n" %\ -+ (h.getinfo(pycurl.EFFECTIVE_URL), httpcode) -+ raise RuntimeError -+ -+ else: -+ print "Recd %d bytes from %s" % \ -+ (h.getinfo(pycurl.SIZE_DOWNLOAD), -+ h.getinfo(pycurl.EFFECTIVE_URL)) -+ -+ cm.remove_handle(eh) -+ eh.reset() -+ -+ eh.close() -+ cm.close() -+ outf.close() -+ -+ pycurl.global_cleanup() -+ -+ -+if __name__ == '__main__': -+ if len(sys.argv) != 2: -+ print "Usage: %s <url>" % sys.argv[0] -+ sys.exit(2) -+ main() --- -1.7.1 - diff --git a/python-pycurl/patches/0005-Updating-ChangeLog-with-relevant-changes.patch b/python-pycurl/patches/0005-Updating-ChangeLog-with-relevant-changes.patch deleted file mode 100644 index dd8d8033e..000000000 --- a/python-pycurl/patches/0005-Updating-ChangeLog-with-relevant-changes.patch +++ /dev/null @@ -1,32 +0,0 @@ -From d075bfb8a5207f933a5a704becd7f64e8521dc28 Mon Sep 17 00:00:00 2001 -From: zanee <zanee> -Date: Tue, 4 May 2010 18:47:08 +0000 -Subject: [PATCH 5/5] Updating ChangeLog with relevant changes - -Signed-off-by: Kamil Dudka kdudka@redhat.com ---- - ChangeLog | 11 +++++++++++ - 1 files changed, 11 insertions(+), 0 deletions(-) - -diff --git a/ChangeLog b/ChangeLog -index 618654d..885c8b0 100644 ---- a/ChangeLog -+++ b/ChangeLog -@@ -1,3 +1,14 @@ -+Version 7.19.2 -+-------------- -+ -+ * Cleaned up website -+ -+ * Fix pycurl.reset() (patch by <johansen at sun.com>). -+ -+ * Fix install routine in setup.py where -+ certain platforms (Solaris, Mac OSX, etc) -+ would search for a static copy of libcurl (dbp) -+ - Version 7.19.1 [requires libcurl-7.19.0 or better] - -------------- - --- -1.7.1 - diff --git a/python-pycurl/patches/0101-setup.py-do-not-use-curl-config-static-libs.patch b/python-pycurl/patches/0101-setup.py-do-not-use-curl-config-static-libs.patch deleted file mode 100644 index ce8c2df93..000000000 --- a/python-pycurl/patches/0101-setup.py-do-not-use-curl-config-static-libs.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 0796c0530648ae0e741a20a78d1fcf315783c178 Mon Sep 17 00:00:00 2001 -From: Kamil Dudka kdudka@redhat.com -Date: Mon, 25 Feb 2013 19:48:22 +0100 -Subject: [PATCH 1/2] setup.py: do not use curl-config --static-libs - ---- - setup.py | 5 ++--- - 1 files changed, 2 insertions(+), 3 deletions(-) - -diff --git a/setup.py b/setup.py -index 76b9d58..86a2951 100644 ---- a/setup.py -+++ b/setup.py -@@ -101,15 +101,14 @@ else: - # support one or the other of these curl-config options, so gracefully - # tolerate failure of either, but not both. - optbuf = "" -- for option in ["--libs", "--static-libs"]: -+ for option in ["--libs"]: - p = subprocess.Popen("'%s' %s" % (CURL_CONFIG, option), shell=True, - stdout=subprocess.PIPE) - (stdout, stderr) = p.communicate() - if p.wait() == 0: - optbuf += stdout - if optbuf == "": -- raise Exception, ("Neither of curl-config --libs or --static-libs" + -- "produced output") -+ raise Exception, ("curl-config --libs did not produce output") - libs = split_quoted(optbuf) - - for e in libs: --- -1.7.1 - diff --git a/python-pycurl/patches/0102-test_internals.py-add-a-test-for-ref-counting-of-res.patch b/python-pycurl/patches/0102-test_internals.py-add-a-test-for-ref-counting-of-res.patch deleted file mode 100644 index 7d3d53499..000000000 --- a/python-pycurl/patches/0102-test_internals.py-add-a-test-for-ref-counting-of-res.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 0bd83ea6c820db26f98936e6e017d39fb214cbd0 Mon Sep 17 00:00:00 2001 -From: Kamil Dudka kdudka@redhat.com -Date: Mon, 25 Feb 2013 19:50:18 +0100 -Subject: [PATCH 2/2] test_internals.py: add a test for ref-counting of reset() - ---- - tests/test_internals.py | 5 +++++ - 1 files changed, 5 insertions(+), 0 deletions(-) - -diff --git a/tests/test_internals.py b/tests/test_internals.py -index afcc53d..d026952 100644 ---- a/tests/test_internals.py -+++ b/tests/test_internals.py -@@ -245,6 +245,11 @@ if 1 and gc: - if opts.verbose >= 1: - print "Tracked objects:", len(gc.get_objects()) - -+if 1: -+ # Ensure that the refcounting error in "reset" is fixed: -+ for i in xrange(100000): -+ c = Curl() -+ c.reset() - - # /*********************************************************************** - # // done --- -1.7.1 - diff --git a/python-pycurl/python-pycurl.nm b/python-pycurl/python-pycurl.nm deleted file mode 100644 index 3c0f5363b..000000000 --- a/python-pycurl/python-pycurl.nm +++ /dev/null @@ -1,64 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = python-pycurl -version = 7.19.0 -release = 5 -thisapp = pycurl-%{version} - -groups = Development/Languages -url = http://pycurl.sourceforge.net/ -license = LGPLv2+ or MIT -summary = A Python interface to libcurl. - -description - PycURL is a Python interface to libcurl. PycURL can be used to fetch - objects identified by a URL from a Python program, similar to the - urllib Python module. PycURL is mature, very fast, and supports a lot - of features. -end - -source_dl = http://pycurl.sourceforge.net/download/ - -build - requires - libcurl-devel - openssl-devel - python-devel - end - - CFLAGS += -DHAVE_CURL_OPENSSL - - build - python setup.py build - end - - test - PYTHONPATH=$PWD/build/lib* python tests/test_internals.py -q - end - - install - python setup.py install --skip-build -O1 \ - --root=%{BUILDROOT} - rm -rf %{BUILDROOT}/usr/share/doc/pycurl - end -end - -packages - package %{name} - # During its initialization, PycURL checks that the actual libcurl version - # is not lower than the one used when PycURL was built. - # Yes, that should be handled by library versioning (which would then get - # automatically reflected). - # For now, we have to reflect that dependency. - requires - libcurl >= %(curl-config --version | awk '{ print $NF }') - end - end - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/python-rrdtool/python-rrdtool.nm b/python-rrdtool/python-rrdtool.nm deleted file mode 100644 index 68045f077..000000000 --- a/python-rrdtool/python-rrdtool.nm +++ /dev/null @@ -1,43 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = python-rrdtool -version = 0.1.5 -release = 1 - -groups = System/Libraries -url = https://github.com/commx/python-rrdtool -license = LGPLv3+ -summary = Python bindings for rrdtool - -description - Python bindings for RRDtool with a native C extension and an - object-oriented way to work with Round Robin Databases. -end - -source_dl = https://github.com/commx/python-rrdtool/archive/v%%7Bversion%7D.tar.gz#/ - -build - requires - python3-devel >= 3.4 - rrdtool-devel - end - - build - python3 setup.py build - end - - install - python3 setup.py install --root=%{BUILDROOT} - end -end - -packages - package python3-rrdtool - - package python3-rrdtool-debuginfo - template DEBUGINFO - end -end diff --git a/python-urlgrabber/python-urlgrabber.nm b/python-urlgrabber/python-urlgrabber.nm deleted file mode 100644 index 171c836f9..000000000 --- a/python-urlgrabber/python-urlgrabber.nm +++ /dev/null @@ -1,49 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = python-urlgrabber -version = 3.10.1 -release = 1 -arch = noarch -thisapp = urlgrabber-%{version} - -groups = System/Libraries -url = http://urlgrabber.baseurl.org/ -license = LGPLv2+ -summary = A high-level cross-protocol url-grabber. - -description - A high-level cross-protocol url-grabber for python supporting HTTP, - FTP and file locations. Features include keepalive, byte ranges, - throttling, authentication, proxies and more. -end - -source_dl = http://urlgrabber.baseurl.org/download/ - -build - requires - python-devel - python-pycurl - end - - prepare_cmds - # Move everything from /usr/libexec to /usr/lib/urlgrabber. - find . -type f | xargs sed -i "s@libexec@lib/urlgrabber@g" - end - - build = # Nothing to do - - install - python setup.py install --root=%{BUILDROOT} - end -end - -packages - package %{name} - requires - python-pycurl - end - end -end diff --git a/python-yaml/python-yaml.nm b/python-yaml/python-yaml.nm deleted file mode 100644 index 9e777463b..000000000 --- a/python-yaml/python-yaml.nm +++ /dev/null @@ -1,45 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = python-yaml -version = 5.1 -release = 1 - -groups = Development/Libraries -url = https://pyyaml.org/wiki/PyYAML -license = MIT -summary = PyYAML is a YAML parser and emitter for Python. - -description - PyYAML is a YAML parser and emitter for the Python programming language. -end - -source_dl = http://pyyaml.org/download/pyyaml/ -sources = PyYAML-%{version}.tar.gz - -build - requires - libyaml-devel - python-devel - end - - DIR_APP = %{DIR_SRC}/PyYAML-%{version} - - build - python setup.py build - end - - install - python setup.py install --root=%{BUILDROOT} - end -end - -packages - package %{name} - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/pyxattr/pyxattr.nm b/pyxattr/pyxattr.nm deleted file mode 100644 index 9345fa6bf..000000000 --- a/pyxattr/pyxattr.nm +++ /dev/null @@ -1,44 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = pyxattr -version = 0.5.0 -release = 1 - -groups = Development/Libraries -url = http://pyxattr.sourceforge.net/ -license = LGPLv2+ -summary = Extended attributes library wrapper for Python. - -description - Python extension module wrapper for libattr. It allows to query, list,\ - add and remove extended attributes from files and directories. -end - -source_dl = - -build - requires - libattr-devel - python-devel - python-setuptools - end - - build - python setup.py build - end - - install - python setup.py install --root=%{BUILDROOT} - end -end - -packages - package %{name} - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/shadow-utils/shadow-utils.nm b/shadow-utils/shadow-utils.nm index 5e5df0348..1b3be3674 100644 --- a/shadow-utils/shadow-utils.nm +++ b/shadow-utils/shadow-utils.nm @@ -4,11 +4,10 @@ ###############################################################################
name = shadow-utils -version = 4.5 +version = 4.13 release = 1 thisapp = shadow-%{version}
-maintainer = Michael Tremer michael.tremer@ipfire.org groups = System/Base url = https://github.com/shadow-maint/shadow/ license = GPLv2+ @@ -35,60 +34,38 @@ build libattr-devel libcap-devel libtool + libxcrypt-devel + pam-devel end
- configure_options += \ - --enable-shadowgrp \ - --enable-man \ - --with-sha-crypt \ - --without-libcrack \ - --without-libpam \ - --disable-static \ - --with-group-name-max-length=32 - prepare_cmds autoreconf -vfi + end
- # Do not build these files: - for i in nologin chfn chgpasswd chpasswd chsh expiry gpasswd groups login \ - logoutd passwd su; do \ - - # Do not generate any manpages for them. - find man -name Makefile.in -exec sed -i -e "/$i.[1-9].xml/d" {} ;; \ - find man -name Makefile.in -exec sed -i -e "s/man1/$i.1/ /" {} ;; \ - - # Do not compile them. - sed -i "s/$i$(EXEEXT)//" src/Makefile.in; \ - done - - sed -i src/Makefile.in \ - -e "s/^suidbins.*/# &/" -e "s/^suidubins.*/# &/" - - # Do not install korean and zh man pages - sed -i -e 's/ ko//' -e 's/ zh_CN zh_TW//' man/Makefile.in + configure_options += \ + --disable-account-tools-setuid \ + --enable-man \ + --with-libpam \ + --with-group-name-max-length=32 \ + --with-bcrypt \ + --with-yescrypt \ + --without-audit \ + --without-selinux \ + --without-su
- # Do not install russion man pages - was broken in 4.1.4.3 - sed -i -e 's/ ru//' man/Makefile.in - end + # This should be enabled, but our environment currently does not support this + configure_options += --without-fcaps
install_cmds - # Remove man pages in other languages - rm -rfv %{BUILDROOT}/usr/share/man/{cs,de,fi,fr,hu,id,it,ja,pl,pt_BR,ru,sv,tr} - - # Remove duplicate man pages. - rm -vf %{BUILDROOT}/usr/share/man/man*/{getspnam,nologin,passwd}.* + rm -vf \ + %{BUILDROOT}/{%{bindir},%{sbindir},%{mandir}/*}/{chfn,chsh,login,logoutd,newgrp,nologin,sg,vigr,vipw}* end end
packages package %{name} - groups += Base Build - - obsoletes += shadow<%{thisver} - provides += shadow=%{thisver} - conflicts - pam<1.1.0-4 + pam < 1.1.0-4 end
configfiles @@ -96,6 +73,10 @@ packages end end
+ package %{name}-devel + template DEVEL + end + package %{name}-debuginfo template DEBUGINFO end diff --git a/sip/patches/disable-rpaths.patch b/sip/patches/disable-rpaths.patch deleted file mode 100644 index 6f15c540e..000000000 --- a/sip/patches/disable-rpaths.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/siputils.py -+++ b/siputils.py -@@ -737,6 +737,7 @@ class Makefile: - rpaths is the cannonical list of rpaths. - """ - flags = [] -+ return flags - prefix = self.optional_string("RPATH") - - if prefix: diff --git a/sip/patches/fix-linking.patch b/sip/patches/fix-linking.patch deleted file mode 100644 index b4a5fae48..000000000 --- a/sip/patches/fix-linking.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/specs/linux-g++ 2009/08/31 11:59:37 1.1 -+++ b/specs/linux-g++ 2009/08/31 12:00:19 -@@ -53,7 +53,7 @@ - QMAKE_LFLAGS = - QMAKE_LFLAGS_RELEASE = - QMAKE_LFLAGS_DEBUG = --QMAKE_LFLAGS_SHLIB = -shared -+QMAKE_LFLAGS_SHLIB = -shared -lpython2.7 - QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB - QMAKE_LFLAGS_SONAME = -Wl,-soname, - QMAKE_LFLAGS_THREAD = diff --git a/sip/patches/no-strip.patch b/sip/patches/no-strip.patch deleted file mode 100644 index 033b54f96..000000000 --- a/sip/patches/no-strip.patch +++ /dev/null @@ -1,26 +0,0 @@ -Index: sip-4.8.2/specs/linux-g++ -=================================================================== ---- sip-4.8.2.orig/specs/linux-g++ -+++ sip-4.8.2/specs/linux-g++ -@@ -83,7 +83,7 @@ QMAKE_COPY_DIR = $(COPY) -r - QMAKE_MOVE = mv -f - QMAKE_DEL_FILE = rm -f - QMAKE_DEL_DIR = rmdir --QMAKE_STRIP = strip -+QMAKE_STRIP = - QMAKE_STRIPFLAGS_LIB += --strip-unneeded - QMAKE_CHK_DIR_EXISTS = test -d - QMAKE_MKDIR = mkdir -p -Index: sip-4.8.2/specs/linux-lsb -=================================================================== ---- sip-4.8.2.orig/specs/linux-lsb -+++ sip-4.8.2/specs/linux-lsb -@@ -83,7 +83,7 @@ QMAKE_COPY_DIR = $(COPY) -r - QMAKE_MOVE = mv -f - QMAKE_DEL_FILE = rm -f - QMAKE_DEL_DIR = rmdir --QMAKE_STRIP = strip -+QMAKE_STRIP = - QMAKE_STRIPFLAGS_LIB += --strip-unneeded - QMAKE_CHK_DIR_EXISTS = test -d - QMAKE_MKDIR = mkdir -p diff --git a/sip/sip.nm b/sip/sip.nm deleted file mode 100644 index 85c4be367..000000000 --- a/sip/sip.nm +++ /dev/null @@ -1,60 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = sip -version = %{major_ver}.%{minor_ver}.%{rev_ver} -release = 2 - -major_ver = 4 -minor_ver = 18 -rev_ver = 1 - -groups = Development/Tools -url = http://www.riverbankcomputing.com/software/sip/intro -license = GPLv2 or GPLv3 -summary = SIP - Python/C++ Bindings Generator. - -description - SIP is a tool for generating bindings for C++ classes so that they can be \ - accessed as normal Python classes. SIP takes many of its ideas from SWIG but, \ - because it is specifically designed for C++ and Python, is able to generate \ - tighter bindings. SIP is so called because it is a small SWIG. -end - -source_dl = https://sourceforge.net/projects/pyqt/files/sip/sip-%%7Bmajor_ver%7D.%%7Bmin... -sources = %{thisapp}.tar.gz - - -build - requires - gcc-c++ - python-devel - end - - build - python configure.py \ - CFLAGS+="%{CFLAGS}" \ - CXXFLAGS+="%{CXXFLAGS}" \ - LFLAGS+="%{LDFLAGS}" - - make %{PARALLELISMFLAGS} - end -end - -packages - package %{name} - - package %{name}-devel - template DEVEL - - files += /usr/bin/sip - - requires = sip - end - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/subversion/patches/0001-subversion-1.9.0-rpath.patch b/subversion/patches/0001-subversion-1.9.0-rpath.patch deleted file mode 100644 index 1531006ef..000000000 --- a/subversion/patches/0001-subversion-1.9.0-rpath.patch +++ /dev/null @@ -1,41 +0,0 @@ - -Only link libraries using -rpath, to avoid unnecessary RPATH tags in executables. - ---- subversion-1.9.0/build.conf.rpath -+++ subversion-1.9.0/build.conf -@@ -561,7 +561,7 @@ lang = python - path = subversion/bindings/swig/python/libsvn_swig_py - libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr - apriconv apr python swig --link-cmd = $(LINK) -+link-cmd = $(LINK_LIB) - install = swig-py-lib - # need special build rule to include -DSWIGPYTHON - compile-cmd = $(COMPILE_SWIG_PY) -@@ -586,7 +586,7 @@ type = swig_lib - lang = ruby - path = subversion/bindings/swig/ruby/libsvn_swig_ruby - libs = libsvn_client libsvn_wc libsvn_delta libsvn_subr apriconv apr ruby swig --link-cmd = $(LINK) $(SWIG_RB_LIBS) -+link-cmd = $(LINK_LIB) $(SWIG_RB_LIBS) - install = swig-rb-lib - # need special build rule to include - compile-cmd = $(COMPILE_SWIG_RB) -diff -uap subversion-1.9.0/Makefile.in.rpath subversion-1.9.0/Makefile.in ---- subversion-1.9.0/Makefile.in.rpath -+++ subversion-1.9.0/Makefile.in -@@ -255,10 +255,10 @@ COMPILE_CXXHL_CXX = $(LT_COMPILE_CXX) $( - COMPILE_GMOCK_CXX = $(LT_COMPILE_CXX_NOWARN) $(GMOCK_INCLUDES) -o $@ -c - COMPILE_CXXHL_GMOCK_CXX = $(LT_COMPILE_CXX) $(CXXHL_INCLUDES) $(GMOCK_INCLUDES) -o $@ -c - --LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(libdir) --LINK_LIB = $(LINK) $(LT_SO_VERSION) --LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) -rpath $(libdir) --LINK_CXX_LIB = $(LINK_CXX) $(LT_SO_VERSION) -+LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -+LINK_LIB = $(LINK) $(LT_SO_VERSION) -rpath $(libdir) -+LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) -+LINK_CXX_LIB = $(LINK_CXX) $(LT_SO_VERSION) -rpath $(libdir) - - # special link rule for mod_dav_svn - LINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR) -avoid-version -module $(APACHE_LDFLAGS) diff --git a/subversion/patches/0002-subversion-1.9.0-pie.patch b/subversion/patches/0002-subversion-1.9.0-pie.patch deleted file mode 100644 index 437e1b724..000000000 --- a/subversion/patches/0002-subversion-1.9.0-pie.patch +++ /dev/null @@ -1,89 +0,0 @@ - -Link executables using -pie, link test executables using -no-install. - -diff -uap subversion-1.9.0/build.conf.pie subversion-1.9.0/build.conf -diff -uap subversion-1.9.0/build.conf.pie subversion-1.9.0/build.conf -diff -uap subversion-1.9.0/build.conf.pie subversion-1.9.0/build.conf ---- subversion-1.9.0/build.conf.pie -+++ subversion-1.9.0/build.conf -@@ -743,7 +743,7 @@ libs = libsvncxxhl libgmock libsvn_subr - sources = tests/*.cpp - install = tests - compile-cmd = $(COMPILE_CXXHL_GMOCK_CXX) --link-cmd = $(LINK_CXX) -+link-cmd = $(LINK_TEST_CXX) - - - # ---------------------------------------------------------------------------- -@@ -760,7 +760,7 @@ sources = gmock-gtest-all.cc - install = tests - msvc-static = yes - compile-cmd = $(COMPILE_GMOCK_CXX) --link-cmd = $(LINK_CXX_LIB) -+link-cmd = $(LINK_TEST_CXX_LIB) - - # ---------------------------------------------------------------------------- - # -@@ -775,6 +775,7 @@ install = test - libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr - msvc-static = yes - undefined-lib-symbols = yes -+link-cmd = $(LINK_TEST_LIB) - - # ---------------------------------------------------------------------------- - # Tests for libsvn_fs_base -diff -uap subversion-1.9.0/build/generator/gen_base.py.pie subversion-1.9.0/build/generator/gen_base.py ---- subversion-1.9.0/build/generator/gen_base.py.pie -+++ subversion-1.9.0/build/generator/gen_base.py -@@ -585,7 +585,7 @@ class TargetLinked(Target): - self.install = options.get('install') - self.compile_cmd = options.get('compile-cmd') - self.sources = options.get('sources', '*.c *.cpp') -- self.link_cmd = options.get('link-cmd', '$(LINK)') -+ self.link_cmd = options.get('link-cmd', '$(LINK_LIB)') - - self.external_lib = options.get('external-lib') - self.external_project = options.get('external-project') -@@ -644,6 +644,14 @@ class TargetExe(TargetLinked): - - self.msvc_force_static = options.get('msvc-force-static') == 'yes' - -+ if self.install in ['test', 'bdb-test', 'sub-test', ]: -+ self.link_cmd = '$(LINK_TEST)' -+ elif self.link_cmd == '$(LINK_LIB)': -+ # Over-ride the default for TargetLinked. -+ self.link_cmd = '$(LINK_EXE)' -+ elif self.link_cmd not in ['$(LINK_TEST_CXX)', ]: -+ raise GenError('ERROR: Unknown executable link type for ' + self.name + ': ' + self.link_cmd) -+ - def add_dependencies(self): - TargetLinked.add_dependencies(self) - -diff -uap subversion-1.9.0/Makefile.in.pie subversion-1.9.0/Makefile.in ---- subversion-1.9.0/Makefile.in.pie -+++ subversion-1.9.0/Makefile.in -@@ -259,6 +259,11 @@ LINK = $(LIBTOOL) $(LTFLAGS) --mode=link - LINK_LIB = $(LINK) $(LT_SO_VERSION) -rpath $(libdir) - LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) - LINK_CXX_LIB = $(LINK_CXX) $(LT_SO_VERSION) -rpath $(libdir) -+LINK_TEST = $(LINK) -no-install -+LINK_TEST_LIB = $(LINK) -avoid-version -+LINK_TEST_CXX_LIB = $(LINK_CXX) -avoid-version -+LINK_EXE = $(LINK) -pie -+LINK_CXX_EXE = $(LINK) -pie - - # special link rule for mod_dav_svn - LINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR) -avoid-version -module $(APACHE_LDFLAGS) -@@ -753,10 +758,10 @@ schema-clean: - $(PYTHON) $(top_srcdir)/build/transform_sql.py $< $(top_srcdir)/$@ - - .c.o: -- $(COMPILE) -o $@ -c $< -+ $(COMPILE) -fPIE -o $@ -c $< - - .cpp.o: -- $(COMPILE_CXX) -o $@ -c $< -+ $(COMPILE_CXX) -fPIE -o $@ -c $< - - .c.lo: - $(LT_COMPILE) -o $@ -c $< diff --git a/subversion/patches/0003-subversion-1.8.5-swigplWall.patch b/subversion/patches/0003-subversion-1.8.5-swigplWall.patch deleted file mode 100644 index af66806be..000000000 --- a/subversion/patches/0003-subversion-1.8.5-swigplWall.patch +++ /dev/null @@ -1,16 +0,0 @@ - -Don't drop -Wall in the swig Perl bindings, otherwise building with -e.g. -Wformat-security might break. - -https://bugzilla.redhat.com/show_bug.cgi?id=1037341 - ---- subversion-1.8.5/subversion/bindings/swig/perl/native/Makefile.PL.in.swigplWall -+++ subversion-1.8.5/subversion/bindings/swig/perl/native/Makefile.PL.in -@@ -54,7 +54,6 @@ my $includes = ' -I/usr/include/apr-1 - # SWIG is using C++ style comments in an extern "C" code. - $cflags =~ s/-ansi\s+//g; - $cflags =~ s/-std=c89\s+//g; --$cflags =~ s/-Wall//g; - $cflags =~ s/-Wunused//g; - $cflags =~ s/-Wshadow//g; - $cflags =~ s/-Wstrict-prototypes//g; diff --git a/subversion/subversion.nm b/subversion/subversion.nm deleted file mode 100644 index db4222403..000000000 --- a/subversion/subversion.nm +++ /dev/null @@ -1,102 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = subversion -version = 1.9.4 -release = 1 - -groups = Development/Tools -url = http://subversion.apache.org/ -license = ASL 2.0 -summary = A Modern Concurrent Version Control System. - -description - Subversion is a concurrent version control system which enables one - or more users to collaborate in developing and maintaining a - hierarchy of files and directories while keeping a history of all - changes. Subversion only stores the differences between versions, - instead of every complete file. Subversion is intended to be a - compelling replacement for CVS. -end - -source_dl = http://www.apache.org/dist/subversion/ - -build - requires - perl(ExtUtils::MakeMaker) - perl(ExtUtils::Embed) - perl-Carp - autoconf - apr-util-devel - automake - expat-devel - libapr-devel - libdb-devel - perl-devel - sqlite-devel - swig - zlib-devel - end - - configure_options += \ - CPPFLAGS="-P" \ - --disable-mod-activation \ - --disable-static - - prepare_cmds - # Regenerate build system. - sed -i "/seems to be moved/s/^/#/" build/ltmain.sh && - ./autogen.sh - - # Fix shebang lines. - perl -pi -e 's|/usr/bin/env perl -w|/usr/bin/perl -w|' tools/hook-scripts/*.pl.in - end - - install_cmds - # Build / Install perl bindings. - make swig-pl-lib %{PARALLELISMFLAGS} - make install-swig-pl-lib DESTDIR=%{BUILDROOT} - - cd subversion/bindings/swig/perl/native - - # Doesn't allow OPTIMIZE="%{CFLAGS}". - perl Makefile.PL INSTALLDIRS=vendor - make %{PARALLELISMFLAGS} - make pure_install PERL_INSTALL_ROOT=%{BUILDROOT} - end -end - -packages - package %{name} - - package perl-%{name} - summary = Perl bindings to the Subversion libraries. - description - This package includes the Perl bindings to - the Subversion libraries. - end - - requires - perl(:MODULE_COMPAT_%{perl_version}) - end - - files - /usr/lib/libsvn_swig_perl-1.so.* - /usr/lib/perl*/ - end - end - - package %{name}-libs - template LIBS - end - - package %{name}-devel - template DEVEL - end - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/swig/swig.nm b/swig/swig.nm index 675dc1f5b..bf91903a8 100644 --- a/swig/swig.nm +++ b/swig/swig.nm @@ -4,14 +4,13 @@ ###############################################################################
name = swig -version = 3.0.10 +version = 4.1.1 release = 1
groups = Development/Tools url = http://swig.sourceforge.net/ license = GPLv3+ and BSD -summary = Connects C/C++/Objective C to some high-level programming \ - languages. +summary = Connects C/C++/Objective C to some high-level programming languages
description Simplified Wrapper and Interface Generator (SWIG) is a software @@ -23,21 +22,18 @@ description tool for building user interfaces. end
-source_dl = http://downloads.sourceforge.net/project/%%7Bname%7D/%%7Bname%7D/%%7Bthisapp... +source_dl = https://downloads.sourceforge.net/project/%%7Bname%7D/%%7Bname%7D/%%7Bthisap...
build requires autoconf automake gcc-c++ - pcre-devel + pcre2-devel perl - python-devel + python3-devel end
- configure_options += \ - --sbindir=/sbin - prepare_cmds ./autogen.sh end @@ -45,7 +41,6 @@ end
packages package %{name} - end
package %{name}-debuginfo template DEBUGINFO diff --git a/syslinux/syslinux.nm b/syslinux/syslinux.nm deleted file mode 100644 index b24d7cb48..000000000 --- a/syslinux/syslinux.nm +++ /dev/null @@ -1,83 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = syslinux -version = 4.02 -release = 3 -sup_arches = x86_64 i686 - -groups = System/Boot -url = http://syslinux.zytor.com/ -license = GPLv2+ -summary = Simple kernel loader which boots from a FAT filesystem. - -description - SYSLINUX is a suite of bootloaders, currently supporting DOS FAT \ - filesystems, Linux ext2/ext3 filesystems (EXTLINUX), PXE network boots \ - (PXELINUX), or ISO 9660 CD-ROMs (ISOLINUX). It also includes a tool, \ - MEMDISK, which loads legacy operating systems from these media. -end - -source_dl = http://www.kernel.org/pub/linux/utils/boot/syslinux/ - -build - requires - nasm - perl - python-devel - end - - CFLAGS = -Werror -Wno-unused -finline-limit=2000 - - CC = gcc -std=gnu99 -fgnu89-inline - - prepare_cmds - cd %{DIR_APP} && make clean - end - - build - make installer \ - %{PARALLELISMFLAGS} \ - CC="%{CC}" - make -C sample tidy - end - - install - make install-all \ - INSTALLROOT=%{BUILDROOT} \ - CC="%{CC}" \ - MANDIR=/usr/share/man - - rm -rvf %{BUILDROOT}/{boot,tftpboot} - end -end - -packages - package %{name} - - package %{name}-perl - summary = Syslinux tools written in perl. - description = %{summary} - - files - %{bindir}/keytab-lilo - %{bindir}/lss16toppm - %{bindir}/md5pass - %{bindir}/mkdiskimage - %{bindir}/ppmtolss16 - %{bindir}/pxelinux-options - %{bindir}/sha1pass - %{bindir}/syslinux2ansi - %{bindir}/isohybrid.pl - %{mandir}/man1/lss16toppm* - %{mandir}/man1/ppmtolss16* - %{mandir}/man1/syslinux2ansi* - end - end - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/unbound/unbound.nm b/unbound/unbound.nm index ca4fddc0b..2feaf3296 100644 --- a/unbound/unbound.nm +++ b/unbound/unbound.nm @@ -4,11 +4,11 @@ ###############################################################################
name = unbound -version = 1.9.0 +version = 1.17.0 release = 1
groups = System/Daemons -url = http://www.nlnetlabs.nl/unbound/ +url = https://www.nlnetlabs.nl/unbound/ license = BSD summary = A validating, recursive, and caching DNS(SEC) resolver.
@@ -21,12 +21,11 @@ description DNSSEC (secure DNS) validation and stub-resolvers are easily possible. end
-source_dl = http://www.unbound.net/downloads/ +source_dl = https://www.unbound.net/downloads/
build requires expat-devel - libevent-devel openssl-devel >= 1.0.1h-2 python3-devel >= 3.4 swig @@ -36,7 +35,7 @@ build --with-conf-file=%{sysconfdir}/%{name}/unbound.conf \ --with-pidfile=%{localstatedir}/run/%{name}/%{name}.pid \ --with-rootkey-file=%{sharedstatedir}/unbound/root.key \ - --with-libevent \ + --without-libevent \ --with-pthreads \ --disable-rpath \ --disable-static \ diff --git a/wireless-regdb/wireless-regdb.nm b/wireless-regdb/wireless-regdb.nm new file mode 100644 index 000000000..cc4fb8d0d --- /dev/null +++ b/wireless-regdb/wireless-regdb.nm @@ -0,0 +1,46 @@ +############################################################################### +# IPFire.org - An Open Source Firewall Solution # +# Copyright (C) - IPFire Development Team info@ipfire.org # +############################################################################### + +name = wireless-regdb +version = 2022.08.12 +release = 1 +arch = noarch + +maintainer = Arne Fitzenreiter arne.fitzenreiter@ipfire.org +groups = Network/Wireless +url = https://wireless.wiki.kernel.org/en/developers/regulatory/wireless-regdb +license = ISC +summary = Regulatory database for 802.11 wireless networking + +description + The wireless-regdb package provides the regulatory rules database + used by the kernels 802.11 networking stack in order to comply + with radio frequency regulatory rules around the world. +end + +source_dl = https://www.kernel.org/pub/software/network/wireless-regdb/ +sources = %{thisapp}.tar.xz + +build + requires + systemd-devel + end + + build + : # Nothing to do + end + + install + make install \ + DESTDIR="%{BUILDROOT}" \ + PREFIX="%{prefix}" \ + MANDIR="%{mandir}" \ + FIRMWARE_PATH="/usr/lib/firmware" + end +end + +packages + package %{name} +end diff --git a/wireless-tools/patches/wireless_tools.29-makefile.patch b/wireless-tools/patches/wireless_tools.29-makefile.patch deleted file mode 100644 index 27df16024..000000000 --- a/wireless-tools/patches/wireless_tools.29-makefile.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- wireless_tools.29/Makefile.makefile 2007-04-19 19:42:23.000000000 -0400 -+++ wireless_tools.29/Makefile 2007-05-22 17:31:53.000000000 -0400 -@@ -101,12 +101,15 @@ ifdef BUILD_WE_ESSENTIAL - WEDEF_FLAG= -DWE_ESSENTIAL=y - endif - -+ifndef OPT_FLAGS -+ OPT_FLAGS= -+endif - # Other flags - CFLAGS=-Os -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow \ - -Wpointer-arith -Wcast-qual -Winline -I. - #CFLAGS=-O2 -W -Wall -Wstrict-prototypes -I. - DEPFLAGS=-MMD --XCFLAGS=$(CFLAGS) $(DEPFLAGS) $(WARN) $(HEADERS) $(WELIB_FLAG) $(WEDEF_FLAG) -+XCFLAGS=$(CFLAGS) $(DEPFLAGS) $(WARN) $(HEADERS) $(WELIB_FLAG) $(WEDEF_FLAG) $(OPT_FLAGS) - PICFLAG=-fPIC - - # Standard compilation targets -@@ -146,6 +149,7 @@ wireless.h: - # Compilation of the dynamic library - $(DYNAMIC): $(OBJS:.o=.so) - $(CC) -shared -o $@ -Wl,-soname,$@ $(STRIPFLAGS) $(LIBS) -lc $^ -+ ln -s $@ $(DYNAMIC_LINK) - - # Compilation of the static library - $(STATIC): $(OBJS:.o=.so) diff --git a/wireless-tools/wireless-tools.nm b/wireless-tools/wireless-tools.nm deleted file mode 100644 index 24387cc66..000000000 --- a/wireless-tools/wireless-tools.nm +++ /dev/null @@ -1,55 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = wireless-tools -version = 29 -release = 2 -thisapp = wireless_tools.%{version} - -groups = Networking/Wireless -url = http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html -license = GPL+ -summary = Wireless ethernet configuration tools. - -description - This package contain the Wireless tools, used to manipulate - the Wireless Extensions. The Wireless Extension is an interface - allowing you to set Wireless LAN specific parameters and get the - specific stats for wireless networking equipment. -end - -source_dl = http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/ - -build - make_build_targets += \ - BUILD_SHARED=1 \ - FORCE_WEXT_VERSION=16 \ - OPT_FLAGS="%{CFLAGS}" - - make_install_targets += \ - PREFIX=%{BUILDROOT}/usr \ - INSTALL_DIR=%{BUILDROOT}/sbin \ - INSTALL_LIB=%{BUILDROOT}/%{lib} \ - INSTALL_MAN=%{BUILDROOT}%{mandir} - - install_cmds - rm -vf %{BUILDROOT}/%{lib}/libiw.{a,so} - mkdir -pv %{BUILDROOT}%{libdir} - ln -svf ../../%{lib}/libiw.so.%{version} %{BUILDROOT}%{libdir}/libiw.so - end -end - -packages - package %{name} - end - - package %{name}-devel - template DEVEL - end - - package %{name}-debuginfo - template DEBUGINFO - end -end diff --git a/xfsprogs/xfsprogs.nm b/xfsprogs/xfsprogs.nm index ebb31dac6..abb69d6e6 100644 --- a/xfsprogs/xfsprogs.nm +++ b/xfsprogs/xfsprogs.nm @@ -4,7 +4,7 @@ ###############################################################################
name = xfsprogs -version = 5.0.0 +version = 6.0.0 release = 1
groups = System/Filesystems @@ -25,7 +25,9 @@ build libacl-devel libattr-devel libblkid-devel >= 2.17 + libinih-devel libtool + liburcu-devel libuuid-devel readline-devel end @@ -43,14 +45,6 @@ build make_install_targets += \ install-dev V=1 DIST_ROOT=%{BUILDROOT} \ PKG_ROOT_SBIN_DIR=%{sbindir} PKG_ROOT_LIB_DIR=%{libdir} - - install_cmds - # Fix file permission. - chmod 0755 %{BUILDROOT}/%{libdir}/libhandle.so.*.*.* - - # Remove unneeded doc location. - rm -rvf %{BUILDROOT}/%{datadir}/doc/xfsprogs/ - end end
packages diff --git a/zd1211-firmware/zd1211-firmware.nm b/zd1211-firmware/zd1211-firmware.nm deleted file mode 100644 index dd75da4d8..000000000 --- a/zd1211-firmware/zd1211-firmware.nm +++ /dev/null @@ -1,44 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = zd1211-firmware -version = 1.4 -release = 2 -arch = noarch - -maintainer = Arne Fitzenreiter arne.fitzenreiter@ipfire.org -groups = System/Libraries -url = http://sourceforge.net/projects/zd1211/ -license = GPLv2 -summary = Firmware Binaries for ZyDAS ZD1211 WLAN USB devices. - -description - This package contains the firmware files needed for the zd1211 devices to work. -end - -source_dl = http://sourceforge.net/projects/zd1211/files/%%7Bname%7D/%%7Bversion%7D/ -sources = %{thisapp}.tar.bz2 - -build - DIR_APP = %{DIR_SRC}/%{name} - - build - : # Nothing to do. - end - - install - mkdir -pv %{BUILDROOT}%{prefix}/lib/firmware/zd1211/ - cp -prv zd1211_* %{BUILDROOT}%{prefix}/lib/firmware/zd1211/ - cp -prv zd1211b_* %{BUILDROOT}%{prefix}/lib/firmware/zd1211/ - - chown -Rv root:root %{BUILDROOT}%{prefix}/lib/firmware - end -end - -packages - package %{name} - groups += Base - end -end diff --git a/zerofree/zerofree.nm b/zerofree/zerofree.nm deleted file mode 100644 index 5f92de529..000000000 --- a/zerofree/zerofree.nm +++ /dev/null @@ -1,52 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team info@ipfire.org # -############################################################################### - -name = zerofree -version = 1.0.1 -release = 2 - -groups = Filesystem/Tools -url = http://intgat.tigress.co.uk/rmy/uml/ -license = GPL+ -summary = Utility to force unused ext2 inodes and blocks to zero. - -description - zerofree is a utility to set unused filesystem inodes and blocks of an - ext2 filesystem to zero. This can improve the compressibility and - privacy of an ext2 filesystem. - - This tool was inspired by the ext2fs privacy (i.e. secure deletion) - patch described in a Linux kernel mailing list thread. - - WARNING: The filesystem to be processed should be unmounted or mounted - read-only. The tool tries to check this before running, but you - should be careful. -end - -source_dl = http://intgat.tigress.co.uk/rmy/uml/ -sources = %{thisapp}.tgz - -build - requires - e2fsprogs-devel - end - - build - make %{PARALLELISMFLAGS} CC="gcc %{CFLAGS} %{LDFLAGS}" - end - - install - mkdir -pv %{BUILDROOT}/usr/sbin - install -D -p -m 755 zerofree %{BUILDROOT}/usr/sbin - end -end - -packages - package zerofree - - package %{name}-debuginfo - template DEBUGINFO - end -end
hooks/post-receive -- IPFire 3.x development tree