Gentoo Archives: gentoo-commits

From: Joshua Kinard <kumba@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-libs/libtirpc/files/, net-libs/libtirpc/
Date: Mon, 31 Jul 2017 03:39:12
Message-Id: 1501472313.bee3a8d385667f50753d725e6fa94e45a0dec7f7.kumba@gentoo
1 commit: bee3a8d385667f50753d725e6fa94e45a0dec7f7
2 Author: Joshua Kinard <kumba <AT> gentoo <DOT> org>
3 AuthorDate: Mon Jul 31 03:38:33 2017 +0000
4 Commit: Joshua Kinard <kumba <AT> gentoo <DOT> org>
5 CommitDate: Mon Jul 31 03:38:33 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bee3a8d3
7
8 net-libs/libtirpc: Add libtirpc-1.0.2
9
10 Signed-off-by: Joshua Kinard <kumba <AT> gentoo.org>
11 Package-Manager: Portage-2.3.6, Repoman-2.3.3
12
13 net-libs/libtirpc/Manifest | 1 +
14 .../files/libtirpc-1.0.2-bcopy-to-memmove.patch | 49 +++++++++++++++++
15 .../files/libtirpc-1.0.2-bzero-to-memset.patch | 36 +++++++++++++
16 net-libs/libtirpc/libtirpc-1.0.2.ebuild | 62 ++++++++++++++++++++++
17 4 files changed, 148 insertions(+)
18
19 diff --git a/net-libs/libtirpc/Manifest b/net-libs/libtirpc/Manifest
20 index 9d6a7415611..6c67c47e523 100644
21 --- a/net-libs/libtirpc/Manifest
22 +++ b/net-libs/libtirpc/Manifest
23 @@ -2,4 +2,5 @@ DIST libtirpc-0.2.4.tar.bz2 458544 SHA256 45c3e21dfc23a5ba501f9dfc6671678316fdfd
24 DIST libtirpc-0.2.5.tar.bz2 459094 SHA256 62f9de7c2c8686c568757730e1fef66502a0e00d6cacf33546d0267984e002db SHA512 9f8afa1acb04a2c2c558018f2528f8caaa79994a2af2abeed947f914145872ef72988b241e11925c799db0de9ec51fd9baecd2b08150240b22f91e2e55a45194 WHIRLPOOL a2b4f1c4825f2b774c2290cccd9d552bb7566ec9eb5988d3ab619d7870a907600f67e7af39fbc3e245606db8534f114c990145789c383206d3a9cf96cf043d8c
25 DIST libtirpc-0.3.1.tar.bz2 479721 SHA256 a8838fe180deb8a6f6e491ee665325a28dee4100ec6b1f0b86d611dbfe3a2bb8 SHA512 31b0a00a5390e418ab909e02fb67cbe31bef3326ee0105b2d9dc3ed93270a86e30d4cd618335af01be6b4da4bea215c111b9bead0d8d3e225c2e1d1b2f1e76a3 WHIRLPOOL 183f8ef45c381287e33f50c183c5fdb02ccf6e58dc69a80bbf31c46fcf990c422f3971ce40c9f6607a6be0daf015e412633b9e49ff77be41e6b804a21d6fc72c
26 DIST libtirpc-1.0.1.tar.bz2 495125 SHA256 5156974f31be7ccbc8ab1de37c4739af6d9d42c87b1d5caf4835dda75fcbb89e SHA512 c9b449e737bc2bd3d56e31e8352f312e89a7ec2a11b73b5ac314e7d82d3b644c611e422b623912453b67b668f86a6de7bb7f18c9495dd15de8e2798ec2ff41c8 WHIRLPOOL cce6a4e69bd634b40d66594a81c23d2044b63eec16d6c96d6fcfaa7f2ca41fb9af99c8e2b964ec12be82682afa4090b218d7e14399fdfc9b32df6c2234bc3c9e
27 +DIST libtirpc-1.0.2.tar.bz2 509601 SHA256 723c5ce92706cbb601a8db09110df1b4b69391643158f20ff587e20e7c5f90f5 SHA512 6c819019a8e81d8263d3c509b2eee59ba1ef092222c5a0a8d28f004c711afa252097eca7e6b0b919b2d780883dfd9ee7a363df4cee7fd2c9159a065257637cec WHIRLPOOL 59306a645df28cfcfc1bf9e5215c59f0af7b8a01375ccef66c2ded4863e7183afd4b3ae0e7694f3eff78cc88f3978a4fd0c1b3375698fb90b59a08989021ebdc
28 DIST libtirpc-glibc-nfs.tar.xz 8948 SHA256 2677cfedf626f3f5a8f6e507aed5bb8f79a7453b589d684dbbc086e755170d83 SHA512 90255bf0a27af16164e0710dd940778609925d473f4343093ff19d98cc4f23023788bf4edf0178eae1961afc0ba8b69b273de95b7d7e2afdb706701d8ba6f7ba WHIRLPOOL 06bcf3fd4e424a86071e5c4ddeb89aa571c862e765aae9382d9f9a55ab72cd1c623490555c1a9bd3380a2d04ecb10fb47a75a7dddf449d4368a1a01617226858
29
30 diff --git a/net-libs/libtirpc/files/libtirpc-1.0.2-bcopy-to-memmove.patch b/net-libs/libtirpc/files/libtirpc-1.0.2-bcopy-to-memmove.patch
31 new file mode 100644
32 index 00000000000..91619b7ac9f
33 --- /dev/null
34 +++ b/net-libs/libtirpc/files/libtirpc-1.0.2-bcopy-to-memmove.patch
35 @@ -0,0 +1,49 @@
36 +diff -Naurp libtirpc-1.0.2.orig/src/auth_time.c libtirpc-1.0.2/src/auth_time.c
37 +--- libtirpc-1.0.2.orig/src/auth_time.c 2017-07-05 11:02:23.000000000 -0400
38 ++++ libtirpc-1.0.2/src/auth_time.c 2017-07-30 17:48:31.361420071 -0400
39 +@@ -104,7 +104,7 @@ static int uaddr_to_sockaddr(uaddr, sin)
40 + p_bytes[1] = (unsigned char)a[5] & 0x000000FF;
41 +
42 + sin->sin_family = AF_INET; /* always */
43 +- bcopy((char *)&p_bytes, (char *)&sin->sin_port, 2);
44 ++ memmove((char *)&sin->sin_port, (char *)&p_bytes, 2);
45 +
46 + return (0);
47 + }
48 +diff -Naurp libtirpc-1.0.2.orig/src/crypt_client.c libtirpc-1.0.2/src/crypt_client.c
49 +--- libtirpc-1.0.2.orig/src/crypt_client.c 2017-07-05 11:02:23.000000000 -0400
50 ++++ libtirpc-1.0.2/src/crypt_client.c 2017-07-30 17:49:57.911419445 -0400
51 +@@ -75,8 +75,8 @@ _des_crypt_call(buf, len, dparms)
52 + des_crypt_1_arg.desbuf.desbuf_val = buf;
53 + des_crypt_1_arg.des_dir = dparms->des_dir;
54 + des_crypt_1_arg.des_mode = dparms->des_mode;
55 +- bcopy(dparms->des_ivec, des_crypt_1_arg.des_ivec, 8);
56 +- bcopy(dparms->des_key, des_crypt_1_arg.des_key, 8);
57 ++ memmove(des_crypt_1_arg.des_ivec, dparms->des_ivec, 8);
58 ++ memmove(des_crypt_1_arg.des_key, dparms->des_key, 8);
59 +
60 + result_1 = des_crypt_1(&des_crypt_1_arg, clnt);
61 + if (result_1 == (desresp *) NULL) {
62 +@@ -88,8 +88,8 @@ _des_crypt_call(buf, len, dparms)
63 +
64 + if (result_1->stat == DESERR_NONE ||
65 + result_1->stat == DESERR_NOHWDEVICE) {
66 +- bcopy(result_1->desbuf.desbuf_val, buf, len);
67 +- bcopy(result_1->des_ivec, dparms->des_ivec, 8);
68 ++ memmove(buf, result_1->desbuf.desbuf_val, len);
69 ++ memmove(dparms->des_ivec, result_1->des_ivec, 8);
70 + }
71 +
72 + clnt_freeres(clnt, (xdrproc_t)xdr_desresp, result_1);
73 +diff -Naurp libtirpc-1.0.2.orig/src/svc_auth_des.c libtirpc-1.0.2/src/svc_auth_des.c
74 +--- libtirpc-1.0.2.orig/src/svc_auth_des.c 2017-07-05 11:02:23.000000000 -0400
75 ++++ libtirpc-1.0.2/src/svc_auth_des.c 2017-07-30 17:50:36.591419165 -0400
76 +@@ -145,7 +145,7 @@ _svcauth_des(rqst, msg)
77 + return (AUTH_BADCRED);
78 + }
79 + cred->adc_fullname.name = area->area_netname;
80 +- bcopy((char *)ixdr, cred->adc_fullname.name,
81 ++ memmove(cred->adc_fullname.name, (char *)ixdr,
82 + (u_int)namelen);
83 + cred->adc_fullname.name[namelen] = 0;
84 + ixdr += (RNDUP(namelen) / BYTES_PER_XDR_UNIT);
85
86 diff --git a/net-libs/libtirpc/files/libtirpc-1.0.2-bzero-to-memset.patch b/net-libs/libtirpc/files/libtirpc-1.0.2-bzero-to-memset.patch
87 new file mode 100644
88 index 00000000000..64b516ed826
89 --- /dev/null
90 +++ b/net-libs/libtirpc/files/libtirpc-1.0.2-bzero-to-memset.patch
91 @@ -0,0 +1,36 @@
92 +diff -Naurp libtirpc-1.0.2.orig/src/auth_time.c libtirpc-1.0.2/src/auth_time.c
93 +--- libtirpc-1.0.2.orig/src/auth_time.c 2017-07-05 11:02:23.000000000 -0400
94 ++++ libtirpc-1.0.2/src/auth_time.c 2017-07-30 17:46:39.481420880 -0400
95 +@@ -317,7 +317,7 @@ __rpc_get_time_offset(td, srv, thost, ua
96 + sprintf(ipuaddr, "%d.%d.%d.%d.0.111", a1, a2, a3, a4);
97 + useua = &ipuaddr[0];
98 +
99 +- bzero((char *)&sin, sizeof(sin));
100 ++ memset((char *)&sin, 0, sizeof(sin));
101 + if (uaddr_to_sockaddr(useua, &sin)) {
102 + msg("unable to translate uaddr to sockaddr.");
103 + if (needfree)
104 +diff -Naurp libtirpc-1.0.2.orig/src/des_impl.c libtirpc-1.0.2/src/des_impl.c
105 +--- libtirpc-1.0.2.orig/src/des_impl.c 2017-07-05 11:02:23.000000000 -0400
106 ++++ libtirpc-1.0.2/src/des_impl.c 2017-07-30 17:46:49.581420807 -0400
107 +@@ -588,7 +588,7 @@ _des_crypt (char *buf, unsigned len, str
108 + }
109 + tin0 = tin1 = tout0 = tout1 = xor0 = xor1 = 0;
110 + tbuf[0] = tbuf[1] = 0;
111 +- __bzero (schedule, sizeof (schedule));
112 ++ memset (schedule, 0, sizeof (schedule));
113 +
114 + return (1);
115 + }
116 +diff -Naurp libtirpc-1.0.2.orig/src/svc_auth_des.c libtirpc-1.0.2/src/svc_auth_des.c
117 +--- libtirpc-1.0.2.orig/src/svc_auth_des.c 2017-07-05 11:02:23.000000000 -0400
118 ++++ libtirpc-1.0.2/src/svc_auth_des.c 2017-07-30 17:46:58.771420741 -0400
119 +@@ -356,7 +356,7 @@ cache_init()
120 +
121 + authdes_cache = (struct cache_entry *)
122 + mem_alloc(sizeof(struct cache_entry) * AUTHDES_CACHESZ);
123 +- bzero((char *)authdes_cache,
124 ++ memset((char *)authdes_cache, 0,
125 + sizeof(struct cache_entry) * AUTHDES_CACHESZ);
126 +
127 + authdes_lru = (short *)mem_alloc(sizeof(short) * AUTHDES_CACHESZ);
128
129 diff --git a/net-libs/libtirpc/libtirpc-1.0.2.ebuild b/net-libs/libtirpc/libtirpc-1.0.2.ebuild
130 new file mode 100644
131 index 00000000000..8aa9a82f54c
132 --- /dev/null
133 +++ b/net-libs/libtirpc/libtirpc-1.0.2.ebuild
134 @@ -0,0 +1,62 @@
135 +# Copyright 1999-2017 Gentoo Foundation
136 +# Distributed under the terms of the GNU General Public License v2
137 +
138 +EAPI="5"
139 +
140 +inherit autotools multilib-minimal toolchain-funcs eutils
141 +
142 +DESCRIPTION="Transport Independent RPC library (SunRPC replacement)"
143 +HOMEPAGE="http://libtirpc.sourceforge.net/"
144 +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2
145 + mirror://gentoo/${PN}-glibc-nfs.tar.xz"
146 +
147 +LICENSE="GPL-2"
148 +SLOT="0/3" # subslot matches SONAME major
149 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
150 +IUSE="ipv6 kerberos static-libs"
151 +
152 +RDEPEND="kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )"
153 +DEPEND="${RDEPEND}
154 + app-arch/xz-utils
155 + >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]"
156 +
157 +PATCHES=(
158 + "${FILESDIR}/${PN}-1.0.2-bcopy-to-memmove.patch"
159 + "${FILESDIR}/${PN}-1.0.2-bzero-to-memset.patch"
160 +)
161 +
162 +src_prepare() {
163 + cp -r "${WORKDIR}"/tirpc "${S}"/ || die
164 + epatch "${PATCHES[@]}"
165 + epatch_user
166 + eautoreconf
167 +}
168 +
169 +multilib_src_configure() {
170 + ECONF_SOURCE=${S} \
171 + econf \
172 + $(use_enable ipv6) \
173 + $(use_enable kerberos gssapi) \
174 + $(use_enable static-libs static)
175 +}
176 +
177 +multilib_src_install() {
178 + default
179 +
180 + # libtirpc replaces rpc support in glibc, so we need it in /
181 + gen_usr_ldscript -a tirpc
182 +}
183 +
184 +multilib_src_install_all() {
185 + einstalldocs
186 +
187 + insinto /etc
188 + doins doc/netconfig
189 +
190 + insinto /usr/include/tirpc
191 + doins -r "${WORKDIR}"/tirpc/*
192 +
193 + # makes sure that the linking order for nfs-utils is proper, as
194 + # libtool would inject a libgssglue dependency in the list.
195 + use static-libs || prune_libtool_files
196 +}