net-dialup/capifwd: new revision sans eutils.eclass.

Now that the latest revision uses EAPI=6, the eutils eclass (no longer
needed) has been dropped. The autotools eclass looked like it could go
too, but the eautoreconf is actually present to fix a QA warning (not
because we patch e.g. configure.ac) so I added a comment to that
effect.

To make PATCHES work, I revisioned the two patches to be -p1
compatible. The src_prepare and src_install phases now take advantage
of "default" and are a tiny bit simpler.

Package-Manager: portage-2.2.28
This commit is contained in:
Michael Orlitzky
2016-08-24 18:55:37 -04:00
parent 531341b6e1
commit dff98f77a0
3 changed files with 192 additions and 11 deletions

View File

@@ -4,7 +4,7 @@
EAPI=6
inherit eutils autotools
inherit autotools
DESCRIPTION="A daemon forwarding CAPI messages to capi20proxy clients"
HOMEPAGE="http://capi20proxy.sourceforge.net/"
@@ -19,24 +19,27 @@ DEPEND="net-dialup/capi4k-utils"
S="${WORKDIR}/linux-server"
PATCHES=(
"${FILESDIR}/${P}-r1.patch"
"${FILESDIR}/${P}-amd64-r1.patch"
)
src_prepare() {
eapply -p0 "${FILESDIR}/${P}.patch"
eapply -p0 "${FILESDIR}/${P}-amd64.patch"
default
# Replace obsolete sys_errlist with strerror
sed -i -e 's:sys_errlist *\[ *errno *\]:strerror(errno):' \
src/capifwd.c src/capi/waitforsignal.c src/auth/auth.c || \
die "failed to replace sys_errlist"
src/capifwd.c src/capi/waitforsignal.c src/auth/auth.c \
|| die 'failed to replace sys_errlist'
eapply_user
# We don't patch autotools, but it's already screwed up, so this
# fixes a big QA warning.
eautoreconf
}
src_install() {
emake DESTDIR="$D" install
dodoc AUTHORS ChangeLog README
default
# install init-script
newinitd "${FILESDIR}/capifwd.init" capifwd
newconfd "${FILESDIR}/capifwd.conf" capifwd
newinitd "${FILESDIR}/${PN}.init" "${PN}"
newconfd "${FILESDIR}/${PN}.conf" "${PN}"
}

View File

@@ -0,0 +1,136 @@
--- a/src/protocol.h 2002-10-30 16:16:06.000000000 +0100
+++ b/src/protocol.h 2007-02-03 01:27:40.000000000 +0100
@@ -53,6 +53,7 @@
#ifndef __PROTOCOL_H__
#define __PROTOCOL_H__
#include <time.h>
+#include <sys/types.h>
// Operating System types
@@ -109,20 +110,20 @@
#define revision "$Revision: 1.1 $"
struct __version_t {
- unsigned long major; // major version for incompatible versions
- unsigned long minor; // minor version for compatible versions
+ uint32_t major; // major version for incompatible versions
+ uint32_t minor; // minor version for compatible versions
};
// CLIENT REQUESTS //
// protocol specific
struct REQUEST_PROXY_HELO { // type number: 99
- char name[64]; // name of the client (for logging)
- int os; // operating system of the client
+ uint8_t name[64]; // name of the client (for logging)
+ uint32_t os; // operating system of the client
struct __version_t version; // version of the client
};
struct REQUEST_PROXY_AUTH { // type number: 98
- unsigned long auth_type; // authentication type desired
+ uint32_t auth_type; // authentication type desired
};
struct REQUEST_PROXY_KEEPALIVE { // type number: 97
@@ -171,11 +172,11 @@
// protocol specific
struct ANSWER_PROXY_HELO { // type number: 99
- char name[64]; // some kind of name for the server (zero-terminated)
- int os; // the operating system of the server
+ int8_t name[64]; // some kind of name for the server (zero-terminated)
+ int32_t os; // the operating system of the server
struct __version_t version; // the version of the server
- unsigned long auth_type; // the server tells the client which auth-methods it supports (each bit represents one method) !changed!
- int timeout; // in seconds, -1 means no timeout
+ int32_t auth_type; // the server tells the client which auth-methods it supports (each bit represents one method) !changed!
+ int32_t timeout; // in seconds, -1 means no timeout
};
struct ANSWER_PROXY_AUTH { // type number: 98
@@ -185,7 +186,7 @@
};
struct ANSWER_PROXY_SHUTDOWN { // type number: 96
- char reason[128];
+ int8_t reason[128];
// z.B. "Ich muss dringend aufs Klo!"; :-)
// no answer from the client expected
};
@@ -208,7 +209,7 @@
};
struct ANSWER_CAPI_MANUFACTURER { // type number: 6
- char manufacturer[64];
+ int8_t manufacturer[64];
};
struct ANSWER_CAPI_VERSION { // type number: 7
@@ -217,11 +218,11 @@
};
struct ANSWER_CAPI_SERIAL { // type number: 8
- char serial[8];
+ int8_t serial[8];
};
struct ANSWER_CAPI_PROFILE { // type number: 9
- char profile[64];
+ int8_t profile[64];
};
struct ANSWER_CAPI_INSTALLED { // type number: 10
@@ -229,30 +230,30 @@
struct REQUEST_HEADER {
- unsigned message_len;
- unsigned header_len;
- unsigned body_len;
- unsigned data_len;
-
- unsigned message_id;
- unsigned message_type;
- unsigned long app_id; // must be long!
- unsigned controller_id;
- unsigned session_id;
+ int32_t message_len;
+ int32_t header_len;
+ int32_t body_len;
+ int32_t data_len;
+
+ int32_t message_id;
+ int32_t message_type;
+ int32_t app_id;
+ int32_t controller_id;
+ int32_t session_id;
};
struct ANSWER_HEADER {
- unsigned message_len;
- unsigned header_len;
- unsigned body_len;
- unsigned data_len;
-
- unsigned message_id;
- unsigned message_type;
- unsigned long app_id; // must be long!
- unsigned session_id;
- unsigned proxy_error;
- unsigned long capi_error;
+ int32_t message_len;
+ int32_t header_len;
+ int32_t body_len;
+ int32_t data_len;
+
+ int32_t message_id;
+ int32_t message_type;
+ int32_t app_id;
+ int32_t session_id;
+ int32_t proxy_error;
+ int32_t capi_error;
};
#endif

View File

@@ -0,0 +1,42 @@
--- a/src/config/cmdline.c.orig 2002-12-29 16:41:02.000000000 +0100
+++ b/src/config/cmdline.c 2004-11-20 02:01:38.821706921 +0100
@@ -57,17 +57,17 @@
else if ( !strcmp("-v",argv[i]) || !strcmp("-h",argv[1]) ||
!strcmp("--version", argv[1]) || !strcmp("--help", argv[i]) )
{
- printf("
-%s version %s
-Copyright (C) 2002: F. Lindenberg, A. Szalkowski
-Usage:
-\t%s [options]\n\n Where options is one of:
--h --help or
--v --version\tprint this info and quit.
--f --file\tdefine the configuration file (makes no
-\t\tsense without config file support).
--p --port\tdefine the port number.
-", _progname_long, _version, argv[0]);
+ printf(
+"%s version %s\n"
+"Copyright (C) 2002: F. Lindenberg, A. Szalkowski\n"
+"Usage:\n"
+"\t%s [options]\n\n Where options is one of:\n"
+"-h --help or\n"
+"-v --version\tprint this info and quit.\n"
+"-f --file\tdefine the configuration file (makes no\n"
+"\t\tsense without config file support).\n"
+"-p --port\tdefine the port number.\n\n",
+_progname_long, _version, argv[0]);
exit ( 0 );
}
--- a/src/capifwd.c.orig 2006-09-23 10:39:30.000000000 +0300
+++ b/src/capifwd.c 2006-09-23 10:41:32.836443500 +0300
@@ -13,7 +13,7 @@
ssize_t n = recv(fd, buf, left, 0);
if (n <= 0)
return n;
- (char*)buf += n;
+ buf = (char*)buf + n;
left -= n;
}
return size;