diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2020-01-17 22:43:15 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2020-01-17 22:43:15 +0000 |
commit | 52f895faaaf01579a8d9528cafec20bf2c873f5c (patch) | |
tree | d552df2a24a2e21fd08b08caef93840452b9889c /net-p2p/amule | |
parent | 0704956f7256f1f618cc5e03af2c1dbd0e83dbc5 (diff) |
gentoo resync : 17.01.2010
Diffstat (limited to 'net-p2p/amule')
-rw-r--r-- | net-p2p/amule/Manifest | 6 | ||||
-rw-r--r-- | net-p2p/amule/amule-2.3.2-r3.ebuild | 106 | ||||
-rw-r--r-- | net-p2p/amule/amule-2.3.2-r4.ebuild | 126 | ||||
-rw-r--r-- | net-p2p/amule/files/amule-2.3.2-libupnp-1.6.patch | 350 | ||||
-rw-r--r-- | net-p2p/amule/files/amule-2.3.2-libupnp-1.8.patch | 263 | ||||
-rw-r--r-- | net-p2p/amule/files/amuled.confd-r1 | 9 | ||||
-rw-r--r-- | net-p2p/amule/files/amuleweb.confd-r1 | 24 |
7 files changed, 777 insertions, 107 deletions
diff --git a/net-p2p/amule/Manifest b/net-p2p/amule/Manifest index 912d232d830b..fdc13bbe9ec3 100644 --- a/net-p2p/amule/Manifest +++ b/net-p2p/amule/Manifest @@ -4,11 +4,15 @@ AUX amule-2.3.2-fix-crash-closing-last-search-tab-1.patch 3620 BLAKE2B f6dbba749 AUX amule-2.3.2-fix-crash-closing-last-search-tab-2.patch 5073 BLAKE2B a90260842bbadae7ea2f068a2c4fb94d3024e61ff0eecf340257fbbdb7657a7946aed36b8bdfe3f5a5c06852be55d144909f74cdb01761fb0e167c67ea4c0fc6 SHA512 8227cbb72af28a076e03dec466fb53660985de33fd84ef8856b6d098035015bc4e9c4d5a3da5a320053525d0356f3a73f2fe0b9f1c1eb7991b29bc4e1e93751f AUX amule-2.3.2-fix-crash-shared-dir-utf8.patch 2204 BLAKE2B 3266ef16038176af0e3cef9e8a16517a34f78723e725c453e557f88fac3b8b233edb34aa10b3295563a769df3fc9a1c0ef88cf2eaf5b43a5bd2d60f4b4a09757 SHA512 f0ae3e7e8ee4105c4999d248f58ad946db7c163f6f2fa1ee54f97509d82cf43cbadffcd537d728f2dc547cbe83deaa8737e794d42a773707b2fe85d6a671b4e1 AUX amule-2.3.2-fix-crash-when-shared-files-changed.patch 1648 BLAKE2B f3bf70c65b374d468935f8b2f32519bbda66bb49387a81727fd52efaa15156bc0a8a5cb49ba8bbcfa212c7ec79b8b141e27e318bee95ceb8f37e35cdd98b2988 SHA512 748d8746e01d2aeefe7084030db190302c71b57c97fa438fc958d5fe7eb415b2b624f04f6bb436ca612731061b863f9251bbd81a10e87d8acc0f9ff5fc948b7e +AUX amule-2.3.2-libupnp-1.6.patch 10759 BLAKE2B b17237b087467dd6204296939cc4ea8bf76d7d95ed766d3a1c967fd15126e71c18ca014afc07dbe7312c807f132e4d35817521b8fb7d77b97bc4e10f5e45de5f SHA512 565f240fb05093c567f1cab4b23a6ce3d59587078e7179568e1b87dd105b0a9a2dd505f296db5208fe121c7580de9384a1e9986ef0f309f7e87e25ab37bc23f1 +AUX amule-2.3.2-libupnp-1.8.patch 9618 BLAKE2B e04d9346fe86e724af925c7494857bb9a0d8a84f6bd753d103f9c4fea636f556b5c40218b96d44743415aba2ea2b371d3ebd15459663f653fe99fec615fee9d6 SHA512 1b74c7bd94acc70dee5e10572b3b9707448e09f4f8d07a7e41c09c5f97276d94de5b905f6b2e34c8a54332f8b3fca62d8c824682f33bbcdbbdeb58b620b918ea AUX amuled.confd 300 BLAKE2B 891cf5d274eb10a23b5b43200d861b5e4361b9c0a11acd020542ff1f0d7d96725b113fb6d74ab34c56d408311582d8524f7bb8f77d1255f3e374abe3b9f34a8b SHA512 88a3fcc64ed4c4729609e3ffef098d4bf30bda0d17b5165fff3417161c18766df79de11c98ee510677291bca7ded33d2a23d3aff0d99781f98173cc189f44901 +AUX amuled.confd-r1 199 BLAKE2B e018a8827749b0b5266533adfc549d0c40b339470439fd5a04c9380b5489e3d58b49478c6a1fcc4954d97816e66bdbf8a6105de0aee7991defd1df553db46e27 SHA512 4b82864f874ea5ede360a88aa589baa4336d16074ed10e2841ea5e2cb0961fe8553c28368f3a9b31d19ccaf688d77ac636219e3693e044c735bbd9de5de96bd6 AUX amuled.initd 1105 BLAKE2B 16525a9c5ad8c158d0d4f1ba316fb493cb438b985a0a4d52672b4067acdfae6dd4897d7c37459515ce4a0e6b0b89665b9feaea6b15e3535c8f46b83ce0c16d05 SHA512 3ec351e84da4e33918747de4ccd9ec86895b60f9d94836fc92112489edcfe14af7a21efb79194b80bb81aa666714bd5a21873c954b36948e31369727e71143b6 AUX amuleweb.confd 720 BLAKE2B 1bcb4349f34c8deef069d156da29ff3dcb642f9b5c15fbef742d0154ff6580142fa2c2c797a3864cd398c980c1e2b2eb41f2c958c6f356f3077e79de47fe7610 SHA512 ba760e45002a80bb55e2729178d0901f885e8d142903f8eb98a31b8544bf6989801dabfa0315e0d1f7d8bfa3df5716cce43bf415f45a4605895dc2907716ca41 +AUX amuleweb.confd-r1 619 BLAKE2B 7140f6d957760f8184c3c73db0a58a3b7b308a6d8548700cab8517bba5274fbad35ebb940ea11f96527553807b1365b7f7c27a6e7d8b656b51f60072cabe5ab8 SHA512 d9fcfc96f4c1bcd7bdae8ed4da19b4edec05e1b55149c664589c267539d183500a732f70670f0cde935c5f509f9dfbc97fd0e92b7047e1690f1342fa6504994d AUX amuleweb.initd 1149 BLAKE2B ef29bae12cf72764798eecb6866405525b601ee6ea869b6191954799805f47b75976884ee566ecb03eca907b3b13ff7870541b7682a70d5db058fb1257d6f00d SHA512 4cc944af90ad81f09d74d79dede57d1ff26c1b87649432d14ed294770b04f6ea256c25c194edfdc8f9d0c85929b1c576c31eba9228703e5a21259d83968289b0 DIST aMule-2.3.2.tar.xz 3895300 BLAKE2B cf1bce3a0fcd0c108e369b7aed257f067a4ce3ce2fd4e8509b577ac58f8bc52fbc9aabc5c703bc9111dd06ac011ee1f3756279b093b69bcaada106226493237a SHA512 3064b086f8459b4372ea0c11f239a08167c7beac3dde26889f056f617b480b487bea10c2cae8fdfa1ae99c10fc9e715adc8e01e4b968389861aa47c3ec8c0016 EBUILD amule-2.3.2-r2.ebuild 2339 BLAKE2B 16698d20edb786d3a1be426c65a89c53d3127dca0b6b0ce38adff0d37bf03ac2cb428f30935f75fd99ef62ba1f900a30c8e7eec3ae79a088885b74c26638dce7 SHA512 490dec5064d9e560626931616e4c9d9188f68815cc477df4ea39a4ff4a82af25f5ceea12a223c7b5188c8e661990a960534bffeca35ce97afb402713b5e1029c -EBUILD amule-2.3.2-r3.ebuild 2409 BLAKE2B 9b6c0d8bfd0a5b9be5dae5ea88fb13f2209b8be7cb0f28e8503ad3ec8500e89ee446876c025ce4c1c9664c401cdaa9133a832a737d1923de7589b7c93352cd85 SHA512 ad6380175c73b4f53751a28eefbfe4b6623e2d68bbfdeb1b6d08657c29c637b664bd6acd9073b2b945a9c27e75fb65c481c6e87a96a2bb418c751908fa0e5e3b +EBUILD amule-2.3.2-r4.ebuild 3018 BLAKE2B 9425d4949bd4bb98c369ec13407f2c299c269c6a38ac660d8d8fc23d42d145fc3274c9c0e81af41fdf97074107a82b0d4722897705d749195f074c9792bd0b56 SHA512 1ef3b5c99bc50a3ab2caac5bcb00ed6ae904a85820a0ca1a5f2d9b710bcca4bc9f9f6f382abc351a4723e3e13196fe9d12a63d9c859b6790da60bf23b49e9a14 MISC metadata.xml 636 BLAKE2B 3384c1c34c9963570b17793188db257a5c0648390aaa8ca73f4bad50db8b54be9d0fe5d379b873fd0f21bf6ecaeaf5840ca65ad92c72a1449b25035f9b7ee3c3 SHA512 bd93ef13a5d116f81c8a6901e524032a85eab90589067e57e165f643f8f0a75047869801b4485fa47a0bc41008f3b8f1aff1aa8b413c83b4c27610ef6ea58d5f diff --git a/net-p2p/amule/amule-2.3.2-r3.ebuild b/net-p2p/amule/amule-2.3.2-r3.ebuild deleted file mode 100644 index 7a7035ef43eb..000000000000 --- a/net-p2p/amule/amule-2.3.2-r3.ebuild +++ /dev/null @@ -1,106 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -WX_GTK_VER="3.0-gtk3" - -inherit wxwidgets user - -MY_P="${PN/m/M}-${PV}" -S="${WORKDIR}/${MY_P}" - -DESCRIPTION="aMule, the all-platform eMule p2p client" -HOMEPAGE="http://www.amule.org/" -SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86" -IUSE="daemon debug geoip nls remote stats upnp +X" - -COMMON_DEPEND=" - dev-libs/boost:= - dev-libs/crypto++:= - sys-libs/binutils-libs:0= - sys-libs/zlib - >=x11-libs/wxGTK-3.0.4:${WX_GTK_VER}[X?] - stats? ( media-libs/gd:=[jpeg,png] ) - geoip? ( dev-libs/geoip ) - upnp? ( net-libs/libupnp:* ) - remote? ( media-libs/libpng:0= ) - !net-p2p/imule" -DEPEND="${COMMON_DEPEND}" -RDEPEND="${COMMON_DEPEND}" - -PATCHES=( - "${FILESDIR}/${PN}-2.3.2-fix-crash-shared-dir-utf8.patch" - "${FILESDIR}/${PN}-2.3.2-fix-crash-closing-last-search-tab-1.patch" - "${FILESDIR}/${PN}-2.3.2-fix-crash-closing-last-search-tab-2.patch" - "${FILESDIR}/${PN}-2.3.2-cryptopp-6.patch" - "${FILESDIR}/${PN}-2.3.2-disable-version-check.patch" - "${FILESDIR}/${PN}-2.3.2-fix-crash-when-shared-files-changed.patch" -) - -pkg_setup() { - if use stats && ! use X; then - einfo "Note: You would need both the X and stats USE flags" - einfo "to compile aMule Statistics GUI." - einfo "I will now compile console versions only." - fi - - setup-wxwidgets -} - -pkg_preinst() { - if use daemon || use remote; then - enewgroup p2p - enewuser p2p -1 -1 /home/p2p p2p - fi -} - -src_configure() { - local myconf - - if use X; then - myconf=" - $(use_enable remote amule-gui) - $(use_enable stats alc) - $(use_enable stats wxcas) - " - else - myconf=" - --disable-monolithic - --disable-amule-gui - --disable-alc - --disable-wxcas - " - fi - - econf \ - --with-denoise-level=0 \ - --with-wx-config="${WX_CONFIG}" \ - --enable-amulecmd \ - --with-boost \ - $(use_enable debug) \ - $(use_enable daemon amule-daemon) \ - $(use_enable geoip) \ - $(use_enable nls) \ - $(use_enable remote webserver) \ - $(use_enable stats cas) \ - $(use_enable stats alcc) \ - $(use_enable upnp) \ - ${myconf} -} - -src_install() { - default - - if use daemon; then - newconfd "${FILESDIR}"/amuled.confd amuled - newinitd "${FILESDIR}"/amuled.initd amuled - fi - if use remote; then - newconfd "${FILESDIR}"/amuleweb.confd amuleweb - newinitd "${FILESDIR}"/amuleweb.initd amuleweb - fi -} diff --git a/net-p2p/amule/amule-2.3.2-r4.ebuild b/net-p2p/amule/amule-2.3.2-r4.ebuild new file mode 100644 index 000000000000..8199a8471f05 --- /dev/null +++ b/net-p2p/amule/amule-2.3.2-r4.ebuild @@ -0,0 +1,126 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +WX_GTK_VER="3.0-gtk3" + +inherit wxwidgets + +MY_P="${PN/m/M}-${PV}" + +DESCRIPTION="aMule, the all-platform eMule p2p client" +HOMEPAGE="http://www.amule.org/" +SRC_URI="https://download.sourceforge.net/${PN}/${MY_P}.tar.xz" +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86" +IUSE="daemon debug geoip nls remote stats upnp +X" + +RDEPEND=" + dev-libs/boost:= + dev-libs/crypto++:= + sys-libs/binutils-libs:0= + sys-libs/zlib + >=x11-libs/wxGTK-3.0.4:${WX_GTK_VER}[X?] + daemon? ( acct-user/amule ) + geoip? ( dev-libs/geoip ) + remote? ( + acct-user/amule + media-libs/libpng:0= + ) + stats? ( media-libs/gd:=[jpeg,png] ) + upnp? ( net-libs/libupnp:0 ) +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}/${PN}-2.3.2-fix-crash-shared-dir-utf8.patch" + "${FILESDIR}/${PN}-2.3.2-fix-crash-closing-last-search-tab-1.patch" + "${FILESDIR}/${PN}-2.3.2-fix-crash-closing-last-search-tab-2.patch" + "${FILESDIR}/${PN}-2.3.2-cryptopp-6.patch" + "${FILESDIR}/${PN}-2.3.2-disable-version-check.patch" + "${FILESDIR}/${PN}-2.3.2-fix-crash-when-shared-files-changed.patch" + "${FILESDIR}/${PN}-2.3.2-libupnp-1.8.patch" + "${FILESDIR}/${PN}-2.3.2-libupnp-1.6.patch" +) + +pkg_setup() { + setup-wxwidgets +} + +src_configure() { + local myconf=( + --with-denoise-level=0 + --with-wx-config="${WX_CONFIG}" + --enable-amulecmd + --with-boost + $(use_enable debug) + $(use_enable daemon amule-daemon) + $(use_enable geoip) + $(use_enable nls) + $(use_enable remote webserver) + $(use_enable stats cas) + $(use_enable stats alcc) + $(use_enable upnp) + ) + + if use X; then + myconf+=( + $(use_enable remote amule-gui) + $(use_enable stats alc) + $(use_enable stats wxcas) + ) + else + myconf+=( + --disable-monolithic + --disable-amule-gui + --disable-alc + --disable-wxcas + ) + fi + + econf "${myconf[@]}" +} + +src_install() { + default + + if use daemon; then + newconfd "${FILESDIR}"/amuled.confd-r1 amuled + newinitd "${FILESDIR}"/amuled.initd amuled + fi + if use remote; then + newconfd "${FILESDIR}"/amuleweb.confd-r1 amuleweb + newinitd "${FILESDIR}"/amuleweb.initd amuleweb + fi + + if use daemon || use remote; then + keepdir /var/lib/${PN} + fowners amule:amule /var/lib/${PN} + fperms 0750 /var/lib/${PN} + fi +} + +pkg_postinst() { + local ver + + if use daemon || use remote; then + for ver in ${REPLACING_VERSIONS}; do + if ver_test ${ver} -lt "2.3.2-r4"; then + elog "Default user under which amuled and amuleweb daemons are started" + elog "have been changed from p2p to amule. Default home directory have been" + elog "changed as well." + echo + elog "If you want to preserve old download/share location, you can create" + elog "symlink /var/lib/amule/.aMule pointing to the old location and adjust" + elog "files ownership *or* restore AMULEUSER and AMULEHOME variables in" + elog "/etc/conf.d/{amuled,amuleweb} to the old values." + + break + fi + done + fi +} diff --git a/net-p2p/amule/files/amule-2.3.2-libupnp-1.6.patch b/net-p2p/amule/files/amule-2.3.2-libupnp-1.6.patch new file mode 100644 index 000000000000..0fd0edfbd8f3 --- /dev/null +++ b/net-p2p/amule/files/amule-2.3.2-libupnp-1.6.patch @@ -0,0 +1,350 @@ +From cb30875bd4e45736ff4ee1137ff97316295ff7be Mon Sep 17 00:00:00 2001 +From: Pablo Barciela <scow@riseup.net> +Date: Sat, 24 Nov 2018 01:23:58 +0100 +Subject: [PATCH] Fix build with libupnp 1.6 + +--- + src/UPnPBase.cpp | 138 ++++++++++++++++++++++++++++++++++++++++++++++- + src/UPnPBase.h | 6 +++ + 2 files changed, 142 insertions(+), 2 deletions(-) + +diff --git a/src/UPnPBase.cpp b/src/UPnPBase.cpp +index d4063a136..774ebfc32 100644 +--- a/src/UPnPBase.cpp ++++ b/src/UPnPBase.cpp +@@ -1127,7 +1127,11 @@ bool CUPnPControlPoint::PrivateDeletePortMapping( + + + // This function is static ++#if UPNP_VERSION >= 10800 + int CUPnPControlPoint::Callback(Upnp_EventType_e EventType, const void *Event, void * /*Cookie*/) ++#else ++int CUPnPControlPoint::Callback(Upnp_EventType EventType, void *Event, void * /*Cookie*/) ++#endif + { + std::ostringstream msg; + std::ostringstream msg2; +@@ -1149,25 +1153,47 @@ int CUPnPControlPoint::Callback(Upnp_EventType_e EventType, const void *Event, v + msg2<< "UPNP_DISCOVERY_SEARCH_RESULT: "; + // UPnP Discovery + upnpDiscovery: ++#if UPNP_VERSION >= 10800 + UpnpDiscovery *d_event = (UpnpDiscovery *)Event; ++#else ++ struct Upnp_Discovery *d_event = (struct Upnp_Discovery *)Event; ++#endif + IXML_Document *doc = NULL; ++#if UPNP_VERSION >= 10800 + int errCode = UpnpDiscovery_get_ErrCode(d_event); + if (errCode != UPNP_E_SUCCESS) { + msg << UpnpGetErrorMessage(errCode) << "."; ++#else ++ int ret; ++ if (d_event->ErrCode != UPNP_E_SUCCESS) { ++ msg << UpnpGetErrorMessage(d_event->ErrCode) << "."; ++#endif + AddDebugLogLineC(logUPnP, msg); + } + // Get the XML tree device description in doc ++#if UPNP_VERSION >= 10800 + const char *location = UpnpDiscovery_get_Location_cstr(d_event); + int ret = UpnpDownloadXmlDoc(location, &doc); ++#else ++ ret = UpnpDownloadXmlDoc(d_event->Location, &doc); ++#endif + if (ret != UPNP_E_SUCCESS) { + msg << "Error retrieving device description from " << ++#if UPNP_VERSION >= 10800 + location << ": " << ++#else ++ d_event->Location << ": " << ++#endif + UpnpGetErrorMessage(ret) << + "(" << ret << ")."; + AddDebugLogLineC(logUPnP, msg); + } else { + msg2 << "Retrieving device description from " << ++#if UPNP_VERSION >= 10800 + location << "."; ++#else ++ d_event->Location << "."; ++#endif + AddDebugLogLineN(logUPnP, msg2); + } + if (doc) { +@@ -1195,9 +1221,14 @@ upnpDiscovery: + AddDebugLogLineC(logUPnP, msg); + } + // Add the root device to our list ++#if UPNP_VERSION >= 10800 + int expires = UpnpDiscovery_get_Expires(d_event); + upnpCP->AddRootDevice(rootDevice, urlBase, + location, expires); ++#else ++ upnpCP->AddRootDevice(rootDevice, urlBase, ++ d_event->Location, d_event->Expires); ++#endif + } + // Free the XML doc tree + IXML::Document::Free(doc); +@@ -1218,35 +1249,62 @@ upnpDiscovery: + case UPNP_DISCOVERY_ADVERTISEMENT_BYEBYE: { + //fprintf(stderr, "Callback: UPNP_DISCOVERY_ADVERTISEMENT_BYEBYE\n"); + // UPnP Device Removed ++#if UPNP_VERSION >= 10800 + UpnpDiscovery *dab_event = (UpnpDiscovery *)Event; + int errCode = UpnpDiscovery_get_ErrCode(dab_event); + if (errCode != UPNP_E_SUCCESS) { ++#else ++ struct Upnp_Discovery *dab_event = (struct Upnp_Discovery *)Event; ++ if (dab_event->ErrCode != UPNP_E_SUCCESS) { ++#endif + msg << "error(UPNP_DISCOVERY_ADVERTISEMENT_BYEBYE): " << ++#if UPNP_VERSION >= 10800 + UpnpGetErrorMessage(errCode) << ++#else ++ UpnpGetErrorMessage(dab_event->ErrCode) << ++#endif + "."; + AddDebugLogLineC(logUPnP, msg); + } ++#if UPNP_VERSION >= 10800 + std::string devType = UpnpDiscovery_get_DeviceType_cstr(dab_event); ++#else ++ std::string devType = dab_event->DeviceType; ++#endif + // Check for an InternetGatewayDevice and removes it from the list +- std::transform(devType.begin(), devType.end(), +- devType.begin(), tolower); ++ ++ std::transform(devType.begin(), devType.end(), devType.begin(), tolower); ++ + if (stdStringIsEqualCI(devType, UPnP::Device::IGW)) { ++#if UPNP_VERSION >= 10800 + const char *deviceID = + UpnpDiscovery_get_DeviceID_cstr(dab_event); + upnpCP->RemoveRootDevice(deviceID); ++#else ++ upnpCP->RemoveRootDevice(dab_event->DeviceId); ++#endif + } + break; + } + case UPNP_EVENT_RECEIVED: { + //fprintf(stderr, "Callback: UPNP_EVENT_RECEIVED\n"); + // Event reveived ++#if UPNP_VERSION >= 10800 + UpnpEvent *e_event = (UpnpEvent *)Event; + int eventKey = UpnpEvent_get_EventKey(e_event); + IXML_Document *changedVariables = + UpnpEvent_get_ChangedVariables(e_event); + const std::string sid = UpnpEvent_get_SID_cstr(e_event); ++#else ++ struct Upnp_Event *e_event = (struct Upnp_Event *)Event; ++ const std::string Sid = e_event->Sid; ++#endif + // Parses the event ++#if UPNP_VERSION >= 10800 + upnpCP->OnEventReceived(sid, eventKey, changedVariables); ++#else ++ upnpCP->OnEventReceived(Sid, e_event->EventKey, e_event->ChangedVariables); ++#endif + break; + } + case UPNP_EVENT_SUBSCRIBE_COMPLETE: +@@ -1261,19 +1319,38 @@ upnpDiscovery: + //fprintf(stderr, "Callback: UPNP_EVENT_RENEWAL_COMPLETE\n"); + msg << "error(UPNP_EVENT_RENEWAL_COMPLETE): "; + upnpEventRenewalComplete: ++#if UPNP_VERSION >= 10800 + UpnpEventSubscribe *es_event = (UpnpEventSubscribe *)Event; + int errCode = UpnpEventSubscribe_get_ErrCode(es_event); + if (errCode != UPNP_E_SUCCESS) { ++#else ++ struct Upnp_Event_Subscribe *es_event = ++ (struct Upnp_Event_Subscribe *)Event; ++ if (es_event->ErrCode != UPNP_E_SUCCESS) { ++#endif + msg << "Error in Event Subscribe Callback"; ++#if UPNP_VERSION >= 10800 + UPnP::ProcessErrorMessage(msg.str(), errCode, NULL, NULL); ++#else ++ UPnP::ProcessErrorMessage( ++ msg.str(), es_event->ErrCode, NULL, NULL); ++#endif + } else { + #if 0 ++#if UPNP_VERSION >= 10800 ++ + const UpnpString *publisherUrl = + UpnpEventSubscribe_get_PublisherUrl(es_event); + const char *sid = UpnpEvent_get_SID_cstr(es_event); + int timeOut = UpnpEvent_get_TimeOut(es_event); + TvCtrlPointHandleSubscribeUpdate( + publisherUrl, sid, timeOut); ++#else ++ TvCtrlPointHandleSubscribeUpdate( ++ GET_UPNP_STRING(es_event->PublisherUrl), ++ es_event->Sid, ++ es_event->TimeOut ); ++#endif + #endif + } + break; +@@ -1288,31 +1365,56 @@ upnpEventRenewalComplete: + msg << "error(UPNP_EVENT_SUBSCRIPTION_EXPIRED): "; + msg2 << "UPNP_EVENT_SUBSCRIPTION_EXPIRED: "; + upnpEventSubscriptionExpired: ++#if UPNP_VERSION >= 10800 + UpnpEventSubscribe *es_event = (UpnpEventSubscribe *)Event; ++#else ++ struct Upnp_Event_Subscribe *es_event = ++ (struct Upnp_Event_Subscribe *)Event; ++#endif + Upnp_SID newSID; + memset(newSID, 0, sizeof(Upnp_SID)); + int TimeOut = 1801; ++#if UPNP_VERSION >= 10800 + const char *publisherUrl = + UpnpEventSubscribe_get_PublisherUrl_cstr(es_event); ++#endif + int ret = UpnpSubscribe( + upnpCP->m_UPnPClientHandle, ++#if UPNP_VERSION >= 10800 + publisherUrl, ++#else ++ GET_UPNP_STRING(es_event->PublisherUrl), ++#endif + &TimeOut, + newSID); + if (ret != UPNP_E_SUCCESS) { + msg << "Error Subscribing to EventURL"; ++#if UPNP_VERSION >= 10800 + int errCode = UpnpEventSubscribe_get_ErrCode(es_event); ++#endif + UPnP::ProcessErrorMessage( ++#if UPNP_VERSION >= 10800 + msg.str(), errCode, NULL, NULL); ++#else ++ msg.str(), es_event->ErrCode, NULL, NULL); ++#endif + } else { + ServiceMap::iterator it = ++#if UPNP_VERSION >= 10800 + upnpCP->m_ServiceMap.find(publisherUrl); ++#else ++ upnpCP->m_ServiceMap.find(GET_UPNP_STRING(es_event->PublisherUrl)); ++#endif + if (it != upnpCP->m_ServiceMap.end()) { + CUPnPService &service = *(it->second); + service.SetTimeout(TimeOut); + service.SetSID(newSID); + msg2 << "Re-subscribed to EventURL '" << ++#if UPNP_VERSION >= 10800 + publisherUrl << ++#else ++ GET_UPNP_STRING(es_event->PublisherUrl) << ++#endif + "' with SID == '" << + newSID << "'."; + AddDebugLogLineC(logUPnP, msg2); +@@ -1331,19 +1433,34 @@ upnpEventSubscriptionExpired: + case UPNP_CONTROL_ACTION_COMPLETE: { + //fprintf(stderr, "Callback: UPNP_CONTROL_ACTION_COMPLETE\n"); + // This is here if we choose to do this asynchronously ++#if UPNP_VERSION >= 10800 + UpnpActionComplete *a_event = (UpnpActionComplete *)Event; + int errCode = UpnpActionComplete_get_ErrCode(a_event); + IXML_Document *actionResult = + UpnpActionComplete_get_ActionResult(a_event); + if (errCode != UPNP_E_SUCCESS) { ++#else ++ struct Upnp_Action_Complete *a_event = ++ (struct Upnp_Action_Complete *)Event; ++ if (a_event->ErrCode != UPNP_E_SUCCESS) { ++#endif + UPnP::ProcessErrorMessage( + "UpnpSendActionAsync", ++#if UPNP_VERSION >= 10800 + errCode, NULL, + actionResult); ++#else ++ a_event->ErrCode, NULL, ++ a_event->ActionResult); ++#endif + } else { + // Check the response document + UPnP::ProcessActionResponse( ++#if UPNP_VERSION >= 10800 + actionResult, ++#else ++ a_event->ActionResult, ++#endif + "<UpnpSendActionAsync>"); + } + /* No need for any processing here, just print out results. +@@ -1354,17 +1471,28 @@ upnpEventSubscriptionExpired: + case UPNP_CONTROL_GET_VAR_COMPLETE: { + //fprintf(stderr, "Callback: UPNP_CONTROL_GET_VAR_COMPLETE\n"); + msg << "error(UPNP_CONTROL_GET_VAR_COMPLETE): "; ++#if UPNP_VERSION >= 10800 + UpnpStateVarComplete *sv_event = (UpnpStateVarComplete *)Event; + int errCode = UpnpStateVarComplete_get_ErrCode(sv_event); + if (errCode != UPNP_E_SUCCESS) { ++#else ++ struct Upnp_State_Var_Complete *sv_event = ++ (struct Upnp_State_Var_Complete *)Event; ++ if (sv_event->ErrCode != UPNP_E_SUCCESS) { ++#endif + msg << "m_UpnpGetServiceVarStatusAsync"; + UPnP::ProcessErrorMessage( ++#if UPNP_VERSION >= 10800 + msg.str(), errCode, NULL, NULL); ++#else ++ msg.str(), sv_event->ErrCode, NULL, NULL); ++#endif + } else { + #if 0 + // Warning: The use of UpnpGetServiceVarStatus and + // UpnpGetServiceVarStatusAsync is deprecated by the + // UPnP forum. ++#if UPNP_VERSION >= 10800 + const char *ctrlUrl = + UpnpStateVarComplete_get_CtrlUrl(sv_event); + const char *stateVarName = +@@ -1373,6 +1501,12 @@ upnpEventSubscriptionExpired: + UpnpStateVarComplete_get_CurrentVal(sv_event); + TvCtrlPointHandleGetVar( + ctrlUrl, stateVarName, currentVal); ++#else ++ TvCtrlPointHandleGetVar( ++ sv_event->CtrlUrl, ++ sv_event->StateVarName, ++ sv_event->CurrentVal ); ++#endif + #endif + } + break; +diff --git a/src/UPnPBase.h b/src/UPnPBase.h +index 92753b86a..efe63bf0f 100644 +--- a/src/UPnPBase.h ++++ b/src/UPnPBase.h +@@ -489,9 +489,15 @@ public: + + // Callback function + static int Callback( ++#if UPNP_VERSION >= 10800 + Upnp_EventType_e EventType, + const void *Event, + void *Cookie); ++#else ++ Upnp_EventType EventType, ++ void* Event, ++ void* Cookie); ++#endif + + private: + void OnEventReceived( +-- +2.24.1 + diff --git a/net-p2p/amule/files/amule-2.3.2-libupnp-1.8.patch b/net-p2p/amule/files/amule-2.3.2-libupnp-1.8.patch new file mode 100644 index 000000000000..42672a85a6a5 --- /dev/null +++ b/net-p2p/amule/files/amule-2.3.2-libupnp-1.8.patch @@ -0,0 +1,263 @@ +From f6dccde218fed8dabd3c61efce02d29b320858fe Mon Sep 17 00:00:00 2001 +From: Marcelo Roberto Jimenez <marcelo.jimenez@gmail.com> +Date: Tue, 2 Oct 2018 18:17:43 -0300 +Subject: [PATCH] Make aMule compatible with libupnp 1.8 + +--- + src/UPnPBase.cpp | 110 +++++++++++++++++++++++++++-------------------- + src/UPnPBase.h | 6 +-- + 2 files changed, 66 insertions(+), 50 deletions(-) + +diff --git a/src/UPnPBase.cpp b/src/UPnPBase.cpp +index 01a7c3a05..d4063a136 100644 +--- a/src/UPnPBase.cpp ++++ b/src/UPnPBase.cpp +@@ -1127,7 +1127,7 @@ bool CUPnPControlPoint::PrivateDeletePortMapping( + + + // This function is static +-int CUPnPControlPoint::Callback(Upnp_EventType EventType, void *Event, void * /*Cookie*/) ++int CUPnPControlPoint::Callback(Upnp_EventType_e EventType, const void *Event, void * /*Cookie*/) + { + std::ostringstream msg; + std::ostringstream msg2; +@@ -1149,24 +1149,25 @@ int CUPnPControlPoint::Callback(Upnp_EventType EventType, void *Event, void * /* + msg2<< "UPNP_DISCOVERY_SEARCH_RESULT: "; + // UPnP Discovery + upnpDiscovery: +- struct Upnp_Discovery *d_event = (struct Upnp_Discovery *)Event; ++ UpnpDiscovery *d_event = (UpnpDiscovery *)Event; + IXML_Document *doc = NULL; +- int ret; +- if (d_event->ErrCode != UPNP_E_SUCCESS) { +- msg << UpnpGetErrorMessage(d_event->ErrCode) << "."; ++ int errCode = UpnpDiscovery_get_ErrCode(d_event); ++ if (errCode != UPNP_E_SUCCESS) { ++ msg << UpnpGetErrorMessage(errCode) << "."; + AddDebugLogLineC(logUPnP, msg); + } + // Get the XML tree device description in doc +- ret = UpnpDownloadXmlDoc(d_event->Location, &doc); ++ const char *location = UpnpDiscovery_get_Location_cstr(d_event); ++ int ret = UpnpDownloadXmlDoc(location, &doc); + if (ret != UPNP_E_SUCCESS) { + msg << "Error retrieving device description from " << +- d_event->Location << ": " << ++ location << ": " << + UpnpGetErrorMessage(ret) << + "(" << ret << ")."; + AddDebugLogLineC(logUPnP, msg); + } else { + msg2 << "Retrieving device description from " << +- d_event->Location << "."; ++ location << "."; + AddDebugLogLineN(logUPnP, msg2); + } + if (doc) { +@@ -1194,8 +1195,9 @@ upnpDiscovery: + AddDebugLogLineC(logUPnP, msg); + } + // Add the root device to our list ++ int expires = UpnpDiscovery_get_Expires(d_event); + upnpCP->AddRootDevice(rootDevice, urlBase, +- d_event->Location, d_event->Expires); ++ location, expires); + } + // Free the XML doc tree + IXML::Document::Free(doc); +@@ -1216,28 +1218,35 @@ upnpDiscovery: + case UPNP_DISCOVERY_ADVERTISEMENT_BYEBYE: { + //fprintf(stderr, "Callback: UPNP_DISCOVERY_ADVERTISEMENT_BYEBYE\n"); + // UPnP Device Removed +- struct Upnp_Discovery *dab_event = (struct Upnp_Discovery *)Event; +- if (dab_event->ErrCode != UPNP_E_SUCCESS) { ++ UpnpDiscovery *dab_event = (UpnpDiscovery *)Event; ++ int errCode = UpnpDiscovery_get_ErrCode(dab_event); ++ if (errCode != UPNP_E_SUCCESS) { + msg << "error(UPNP_DISCOVERY_ADVERTISEMENT_BYEBYE): " << +- UpnpGetErrorMessage(dab_event->ErrCode) << ++ UpnpGetErrorMessage(errCode) << + "."; + AddDebugLogLineC(logUPnP, msg); + } +- std::string devType = dab_event->DeviceType; ++ std::string devType = UpnpDiscovery_get_DeviceType_cstr(dab_event); + // Check for an InternetGatewayDevice and removes it from the list +- std::transform(devType.begin(), devType.end(), devType.begin(), tolower); ++ std::transform(devType.begin(), devType.end(), ++ devType.begin(), tolower); + if (stdStringIsEqualCI(devType, UPnP::Device::IGW)) { +- upnpCP->RemoveRootDevice(dab_event->DeviceId); ++ const char *deviceID = ++ UpnpDiscovery_get_DeviceID_cstr(dab_event); ++ upnpCP->RemoveRootDevice(deviceID); + } + break; + } + case UPNP_EVENT_RECEIVED: { + //fprintf(stderr, "Callback: UPNP_EVENT_RECEIVED\n"); + // Event reveived +- struct Upnp_Event *e_event = (struct Upnp_Event *)Event; +- const std::string Sid = e_event->Sid; ++ UpnpEvent *e_event = (UpnpEvent *)Event; ++ int eventKey = UpnpEvent_get_EventKey(e_event); ++ IXML_Document *changedVariables = ++ UpnpEvent_get_ChangedVariables(e_event); ++ const std::string sid = UpnpEvent_get_SID_cstr(e_event); + // Parses the event +- upnpCP->OnEventReceived(Sid, e_event->EventKey, e_event->ChangedVariables); ++ upnpCP->OnEventReceived(sid, eventKey, changedVariables); + break; + } + case UPNP_EVENT_SUBSCRIBE_COMPLETE: +@@ -1252,24 +1261,23 @@ upnpDiscovery: + //fprintf(stderr, "Callback: UPNP_EVENT_RENEWAL_COMPLETE\n"); + msg << "error(UPNP_EVENT_RENEWAL_COMPLETE): "; + upnpEventRenewalComplete: +- struct Upnp_Event_Subscribe *es_event = +- (struct Upnp_Event_Subscribe *)Event; +- if (es_event->ErrCode != UPNP_E_SUCCESS) { ++ UpnpEventSubscribe *es_event = (UpnpEventSubscribe *)Event; ++ int errCode = UpnpEventSubscribe_get_ErrCode(es_event); ++ if (errCode != UPNP_E_SUCCESS) { + msg << "Error in Event Subscribe Callback"; +- UPnP::ProcessErrorMessage( +- msg.str(), es_event->ErrCode, NULL, NULL); ++ UPnP::ProcessErrorMessage(msg.str(), errCode, NULL, NULL); + } else { + #if 0 ++ const UpnpString *publisherUrl = ++ UpnpEventSubscribe_get_PublisherUrl(es_event); ++ const char *sid = UpnpEvent_get_SID_cstr(es_event); ++ int timeOut = UpnpEvent_get_TimeOut(es_event); + TvCtrlPointHandleSubscribeUpdate( +- GET_UPNP_STRING(es_event->PublisherUrl), +- es_event->Sid, +- es_event->TimeOut ); ++ publisherUrl, sid, timeOut); + #endif + } +- + break; + } +- + case UPNP_EVENT_AUTORENEWAL_FAILED: + //fprintf(stderr, "Callback: UPNP_EVENT_AUTORENEWAL_FAILED\n"); + msg << "error(UPNP_EVENT_AUTORENEWAL_FAILED): "; +@@ -1280,29 +1288,31 @@ upnpEventRenewalComplete: + msg << "error(UPNP_EVENT_SUBSCRIPTION_EXPIRED): "; + msg2 << "UPNP_EVENT_SUBSCRIPTION_EXPIRED: "; + upnpEventSubscriptionExpired: +- struct Upnp_Event_Subscribe *es_event = +- (struct Upnp_Event_Subscribe *)Event; ++ UpnpEventSubscribe *es_event = (UpnpEventSubscribe *)Event; + Upnp_SID newSID; + memset(newSID, 0, sizeof(Upnp_SID)); + int TimeOut = 1801; ++ const char *publisherUrl = ++ UpnpEventSubscribe_get_PublisherUrl_cstr(es_event); + int ret = UpnpSubscribe( + upnpCP->m_UPnPClientHandle, +- GET_UPNP_STRING(es_event->PublisherUrl), ++ publisherUrl, + &TimeOut, + newSID); + if (ret != UPNP_E_SUCCESS) { + msg << "Error Subscribing to EventURL"; ++ int errCode = UpnpEventSubscribe_get_ErrCode(es_event); + UPnP::ProcessErrorMessage( +- msg.str(), es_event->ErrCode, NULL, NULL); ++ msg.str(), errCode, NULL, NULL); + } else { + ServiceMap::iterator it = +- upnpCP->m_ServiceMap.find(GET_UPNP_STRING(es_event->PublisherUrl)); ++ upnpCP->m_ServiceMap.find(publisherUrl); + if (it != upnpCP->m_ServiceMap.end()) { + CUPnPService &service = *(it->second); + service.SetTimeout(TimeOut); + service.SetSID(newSID); + msg2 << "Re-subscribed to EventURL '" << +- GET_UPNP_STRING(es_event->PublisherUrl) << ++ publisherUrl << + "' with SID == '" << + newSID << "'."; + AddDebugLogLineC(logUPnP, msg2); +@@ -1321,17 +1331,19 @@ upnpEventSubscriptionExpired: + case UPNP_CONTROL_ACTION_COMPLETE: { + //fprintf(stderr, "Callback: UPNP_CONTROL_ACTION_COMPLETE\n"); + // This is here if we choose to do this asynchronously +- struct Upnp_Action_Complete *a_event = +- (struct Upnp_Action_Complete *)Event; +- if (a_event->ErrCode != UPNP_E_SUCCESS) { ++ UpnpActionComplete *a_event = (UpnpActionComplete *)Event; ++ int errCode = UpnpActionComplete_get_ErrCode(a_event); ++ IXML_Document *actionResult = ++ UpnpActionComplete_get_ActionResult(a_event); ++ if (errCode != UPNP_E_SUCCESS) { + UPnP::ProcessErrorMessage( + "UpnpSendActionAsync", +- a_event->ErrCode, NULL, +- a_event->ActionResult); ++ errCode, NULL, ++ actionResult); + } else { + // Check the response document + UPnP::ProcessActionResponse( +- a_event->ActionResult, ++ actionResult, + "<UpnpSendActionAsync>"); + } + /* No need for any processing here, just print out results. +@@ -1342,21 +1354,25 @@ upnpEventSubscriptionExpired: + case UPNP_CONTROL_GET_VAR_COMPLETE: { + //fprintf(stderr, "Callback: UPNP_CONTROL_GET_VAR_COMPLETE\n"); + msg << "error(UPNP_CONTROL_GET_VAR_COMPLETE): "; +- struct Upnp_State_Var_Complete *sv_event = +- (struct Upnp_State_Var_Complete *)Event; +- if (sv_event->ErrCode != UPNP_E_SUCCESS) { ++ UpnpStateVarComplete *sv_event = (UpnpStateVarComplete *)Event; ++ int errCode = UpnpStateVarComplete_get_ErrCode(sv_event); ++ if (errCode != UPNP_E_SUCCESS) { + msg << "m_UpnpGetServiceVarStatusAsync"; + UPnP::ProcessErrorMessage( +- msg.str(), sv_event->ErrCode, NULL, NULL); ++ msg.str(), errCode, NULL, NULL); + } else { + #if 0 + // Warning: The use of UpnpGetServiceVarStatus and + // UpnpGetServiceVarStatusAsync is deprecated by the + // UPnP forum. ++ const char *ctrlUrl = ++ UpnpStateVarComplete_get_CtrlUrl(sv_event); ++ const char *stateVarName = ++ UpnpStateVarComplete_get_StateVarName(sv_event); ++ const DOMString currentVal = ++ UpnpStateVarComplete_get_CurrentVal(sv_event); + TvCtrlPointHandleGetVar( +- sv_event->CtrlUrl, +- sv_event->StateVarName, +- sv_event->CurrentVal ); ++ ctrlUrl, stateVarName, currentVal); + #endif + } + break; +diff --git a/src/UPnPBase.h b/src/UPnPBase.h +index 9eafbd143..92753b86a 100644 +--- a/src/UPnPBase.h ++++ b/src/UPnPBase.h +@@ -489,9 +489,9 @@ public: + + // Callback function + static int Callback( +- Upnp_EventType EventType, +- void* Event, +- void* Cookie); ++ Upnp_EventType_e EventType, ++ const void *Event, ++ void *Cookie); + + private: + void OnEventReceived( +-- +2.24.1 + diff --git a/net-p2p/amule/files/amuled.confd-r1 b/net-p2p/amule/files/amuled.confd-r1 new file mode 100644 index 000000000000..2f018dd3b88b --- /dev/null +++ b/net-p2p/amule/files/amuled.confd-r1 @@ -0,0 +1,9 @@ +# owner of amuled process (must be existing) +AMULEUSER="amule" + +# home directory for amuled (must be existing) +AMULEHOME="/var/lib/amule" + +# log file (/dev/null for nowhere) +LOG=/var/log/amuled.log + diff --git a/net-p2p/amule/files/amuleweb.confd-r1 b/net-p2p/amule/files/amuleweb.confd-r1 new file mode 100644 index 000000000000..1bb754a2f043 --- /dev/null +++ b/net-p2p/amule/files/amuleweb.confd-r1 @@ -0,0 +1,24 @@ +# owner of amuleweb process (must be existing) +AMULEUSER="amule" + +# home directory for amuleweb (from where to read configuration) (must be existing) +AMULEHOME="/var/lib/amule" + +# log file (/dev/null for nowhere) +LOG=/var/log/amuleweb.log + +# aMule password (note: not your webserver password, but the external +# connection one) +AMULEPWD="secret" + +# Full (admin) access password for webserver +WEBPWD="secret2" + +# aMule host (this could be a remote host or usually localhost) +AMULEHOST="localhost" + +# aMule external connection port +AMULEPORT="4712" + +# aMuleweb template (default, php-default, chicane) +TEMPLATE="default" |