diff options
Diffstat (limited to 'meta/recipes-extended')
-rw-r--r-- | meta/recipes-extended/quota/quota/fcntl.patch | 113 | ||||
-rw-r--r-- | meta/recipes-extended/quota/quota/remove_non_posix_types.patch | 185 | ||||
-rw-r--r-- | meta/recipes-extended/quota/quota/replace_getrpcbynumber_r.patch | 20 | ||||
-rw-r--r-- | meta/recipes-extended/quota/quota_4.02.bb | 17 |
4 files changed, 333 insertions, 2 deletions
diff --git a/meta/recipes-extended/quota/quota/fcntl.patch b/meta/recipes-extended/quota/quota/fcntl.patch new file mode 100644 index 0000000000..27e60fd07d --- /dev/null +++ b/meta/recipes-extended/quota/quota/fcntl.patch | |||
@@ -0,0 +1,113 @@ | |||
1 | Include fcntl.h to pacify compiler errors on musl | ||
2 | like | ||
3 | |||
4 | error: unknown type name 'loff_t' | ||
5 | Cover rpc headers under proper conditional | ||
6 | Dont use __P its undefined | ||
7 | |||
8 | Upstream-Status: Pending | ||
9 | |||
10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
11 | |||
12 | ndex: quota-tools/quota.h | ||
13 | =================================================================== | ||
14 | Index: quota-tools/quota.h | ||
15 | =================================================================== | ||
16 | --- quota-tools.orig/quota.h | ||
17 | +++ quota-tools/quota.h | ||
18 | @@ -165,6 +165,6 @@ enum { | ||
19 | #endif | ||
20 | #endif | ||
21 | |||
22 | -long quotactl __P((int, const char *, qid_t, caddr_t)); | ||
23 | +long quotactl (int, const char *, qid_t, caddr_t); | ||
24 | |||
25 | #endif /* _QUOTA_ */ | ||
26 | Index: quota-tools/quotacheck.c | ||
27 | =================================================================== | ||
28 | --- quota-tools.orig/quotacheck.c | ||
29 | +++ quota-tools/quotacheck.c | ||
30 | @@ -19,6 +19,7 @@ | ||
31 | #include <unistd.h> | ||
32 | #include <stdlib.h> | ||
33 | #include <errno.h> | ||
34 | +#include <fcntl.h> | ||
35 | |||
36 | #include <sys/stat.h> | ||
37 | #include <sys/types.h> | ||
38 | Index: quota-tools/quotaio.c | ||
39 | =================================================================== | ||
40 | --- quota-tools.orig/quotaio.c | ||
41 | +++ quota-tools/quotaio.c | ||
42 | @@ -12,6 +12,7 @@ | ||
43 | #include <string.h> | ||
44 | #include <unistd.h> | ||
45 | #include <stdlib.h> | ||
46 | +#include <fcntl.h> | ||
47 | #include <sys/types.h> | ||
48 | #include <sys/stat.h> | ||
49 | #include <sys/file.h> | ||
50 | Index: quota-tools/dqblk_v2.h | ||
51 | =================================================================== | ||
52 | --- quota-tools.orig/dqblk_v2.h | ||
53 | +++ quota-tools/dqblk_v2.h | ||
54 | @@ -7,6 +7,7 @@ | ||
55 | #ifndef GUARD_DQBLK_V2_H | ||
56 | #define GUARD_DQBLK_V2_H | ||
57 | |||
58 | +#include <fcntl.h> | ||
59 | #include <sys/types.h> | ||
60 | #include "quota_tree.h" | ||
61 | |||
62 | Index: quota-tools/quotaops.c | ||
63 | =================================================================== | ||
64 | --- quota-tools.orig/quotaops.c | ||
65 | +++ quota-tools/quotaops.c | ||
66 | @@ -34,7 +34,9 @@ | ||
67 | |||
68 | #include "config.h" | ||
69 | |||
70 | +#if defined(RPC) | ||
71 | #include <rpc/rpc.h> | ||
72 | +#endif | ||
73 | #include <sys/types.h> | ||
74 | #include <sys/stat.h> | ||
75 | #include <sys/file.h> | ||
76 | Index: quota-tools/rquota_client.c | ||
77 | =================================================================== | ||
78 | --- quota-tools.orig/rquota_client.c | ||
79 | +++ quota-tools/rquota_client.c | ||
80 | @@ -19,7 +19,9 @@ | ||
81 | |||
82 | #include "config.h" | ||
83 | |||
84 | +#if defined(RPC) | ||
85 | #include <rpc/rpc.h> | ||
86 | +#endif | ||
87 | #include <sys/types.h> | ||
88 | #include <sys/param.h> | ||
89 | #include <sys/stat.h> | ||
90 | @@ -35,7 +37,9 @@ | ||
91 | #include <stdint.h> | ||
92 | |||
93 | #include "mntopt.h" | ||
94 | +#if defined(RPC) | ||
95 | #include "rquota.h" | ||
96 | +#endif | ||
97 | #include "common.h" | ||
98 | #include "quotaio.h" | ||
99 | #include "quotasys.h" | ||
100 | Index: quota-tools/setquota.c | ||
101 | =================================================================== | ||
102 | --- quota-tools.orig/setquota.c | ||
103 | +++ quota-tools/setquota.c | ||
104 | @@ -7,7 +7,9 @@ | ||
105 | |||
106 | #include "config.h" | ||
107 | |||
108 | +#if defined(RPC) | ||
109 | #include <rpc/rpc.h> | ||
110 | +#endif | ||
111 | #include <sys/types.h> | ||
112 | #include <errno.h> | ||
113 | #include <stdio.h> | ||
diff --git a/meta/recipes-extended/quota/quota/remove_non_posix_types.patch b/meta/recipes-extended/quota/quota/remove_non_posix_types.patch new file mode 100644 index 0000000000..5442d9854d --- /dev/null +++ b/meta/recipes-extended/quota/quota/remove_non_posix_types.patch | |||
@@ -0,0 +1,185 @@ | |||
1 | Use proper C99 integer types | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | |||
5 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
6 | |||
7 | Index: quota-tools/bylabel.c | ||
8 | =================================================================== | ||
9 | --- quota-tools.orig/bylabel.c | ||
10 | +++ quota-tools/bylabel.c | ||
11 | @@ -20,6 +20,7 @@ | ||
12 | #include <ctype.h> | ||
13 | #include <fcntl.h> | ||
14 | #include <unistd.h> | ||
15 | +#include <stdint.h> | ||
16 | |||
17 | #include "bylabel.h" | ||
18 | #include "common.h" | ||
19 | @@ -37,32 +38,32 @@ static struct uuidCache_s { | ||
20 | |||
21 | #define EXT2_SUPER_MAGIC 0xEF53 | ||
22 | struct ext2_super_block { | ||
23 | - u_char s_dummy1[56]; | ||
24 | - u_char s_magic[2]; | ||
25 | - u_char s_dummy2[46]; | ||
26 | - u_char s_uuid[16]; | ||
27 | - u_char s_volume_name[16]; | ||
28 | + uint8_t s_dummy1[56]; | ||
29 | + uint8_t s_magic[2]; | ||
30 | + uint8_t s_dummy2[46]; | ||
31 | + uint8_t s_uuid[16]; | ||
32 | + uint8_t s_volume_name[16]; | ||
33 | }; | ||
34 | |||
35 | -#define ext2magic(s) ((uint) s.s_magic[0] + (((uint) s.s_magic[1]) << 8)) | ||
36 | +#define ext2magic(s) ((uint32_t) s.s_magic[0] + (((uint32_t) s.s_magic[1]) << 8)) | ||
37 | |||
38 | #define XFS_SUPER_MAGIC "XFSB" | ||
39 | #define XFS_SUPER_MAGIC2 "BSFX" | ||
40 | struct xfs_super_block { | ||
41 | - u_char s_magic[4]; | ||
42 | - u_char s_dummy[28]; | ||
43 | - u_char s_uuid[16]; | ||
44 | - u_char s_dummy2[60]; | ||
45 | - u_char s_fsname[12]; | ||
46 | + uint8_t s_magic[4]; | ||
47 | + uint8_t s_dummy[28]; | ||
48 | + uint8_t s_uuid[16]; | ||
49 | + uint8_t s_dummy2[60]; | ||
50 | + uint8_t s_fsname[12]; | ||
51 | }; | ||
52 | |||
53 | #define REISER_SUPER_MAGIC "ReIsEr2Fs" | ||
54 | struct reiserfs_super_block { | ||
55 | - u_char s_dummy1[52]; | ||
56 | - u_char s_magic[10]; | ||
57 | - u_char s_dummy2[22]; | ||
58 | - u_char s_uuid[16]; | ||
59 | - u_char s_volume_name[16]; | ||
60 | + uint8_t s_dummy1[52]; | ||
61 | + uint8_t s_magic[10]; | ||
62 | + uint8_t s_dummy2[22]; | ||
63 | + uint8_t s_uuid[16]; | ||
64 | + uint8_t s_volume_name[16]; | ||
65 | }; | ||
66 | |||
67 | static inline unsigned short swapped(unsigned short a) | ||
68 | @@ -222,7 +223,7 @@ static char *get_spec_by_x(int n, const | ||
69 | return NULL; | ||
70 | } | ||
71 | |||
72 | -static u_char fromhex(char c) | ||
73 | +static uint8_t fromhex(char c) | ||
74 | { | ||
75 | if (isdigit(c)) | ||
76 | return (c - '0'); | ||
77 | @@ -234,7 +235,7 @@ static u_char fromhex(char c) | ||
78 | |||
79 | static char *get_spec_by_uuid(const char *s) | ||
80 | { | ||
81 | - u_char uuid[16]; | ||
82 | + uint8_t uuid[16]; | ||
83 | int i; | ||
84 | |||
85 | if (strlen(s) != 36 || s[8] != '-' || s[13] != '-' || s[18] != '-' || s[23] != '-') | ||
86 | Index: quota-tools/quot.c | ||
87 | =================================================================== | ||
88 | --- quota-tools.orig/quot.c | ||
89 | +++ quota-tools/quot.c | ||
90 | @@ -47,6 +47,7 @@ | ||
91 | #include <utmp.h> | ||
92 | #include <pwd.h> | ||
93 | #include <grp.h> | ||
94 | +#include <stdint.h> | ||
95 | |||
96 | #include "pot.h" | ||
97 | #include "quot.h" | ||
98 | @@ -56,8 +57,8 @@ | ||
99 | #include "quotasys.h" | ||
100 | |||
101 | #define TSIZE 500 | ||
102 | -static __uint64_t sizes[TSIZE]; | ||
103 | -static __uint64_t overflow; | ||
104 | +static uint64_t sizes[TSIZE]; | ||
105 | +static uint64_t overflow; | ||
106 | |||
107 | static int aflag; | ||
108 | static int cflag; | ||
109 | @@ -72,7 +73,7 @@ static time_t now; | ||
110 | char *progname; | ||
111 | |||
112 | static void mounttable(void); | ||
113 | -static char *idname(__uint32_t, int); | ||
114 | +static char *idname(uint32_t, int); | ||
115 | static void report(const char *, const char *, int); | ||
116 | static void creport(const char *, const char *); | ||
117 | |||
118 | @@ -173,7 +174,7 @@ static int qcmp(du_t * p1, du_t * p2) | ||
119 | static void creport(const char *file, const char *fsdir) | ||
120 | { | ||
121 | int i; | ||
122 | - __uint64_t t = 0; | ||
123 | + uint64_t t = 0; | ||
124 | |||
125 | printf(_("%s (%s):\n"), file, fsdir); | ||
126 | for (i = 0; i < TSIZE - 1; i++) | ||
127 | @@ -219,7 +220,7 @@ static void report(const char *file, con | ||
128 | } | ||
129 | } | ||
130 | |||
131 | -static idcache_t *getnextent(int type, __uint32_t id, int byid) | ||
132 | +static idcache_t *getnextent(int type, uint32_t id, int byid) | ||
133 | { | ||
134 | struct passwd *pw; | ||
135 | struct group *gr; | ||
136 | @@ -240,7 +241,7 @@ static idcache_t *getnextent(int type, _ | ||
137 | return &idc; | ||
138 | } | ||
139 | |||
140 | -static char *idname(__uint32_t id, int type) | ||
141 | +static char *idname(uint32_t id, int type) | ||
142 | { | ||
143 | idcache_t *ncp, *idp; | ||
144 | static idcache_t nc[2][NID]; | ||
145 | @@ -286,8 +287,8 @@ static void acctXFS(xfs_bstat_t *p) | ||
146 | { | ||
147 | register du_t *dp; | ||
148 | du_t **hp; | ||
149 | - __uint64_t size; | ||
150 | - __uint32_t i, id; | ||
151 | + uint64_t size; | ||
152 | + uint32_t i, id; | ||
153 | |||
154 | if ((p->bs_mode & S_IFMT) == 0) | ||
155 | return; | ||
156 | Index: quota-tools/quot.h | ||
157 | =================================================================== | ||
158 | --- quota-tools.orig/quot.h | ||
159 | +++ quota-tools/quot.h | ||
160 | @@ -35,18 +35,18 @@ | ||
161 | #define SEC24HR (60*60*24) /* seconds per day */ | ||
162 | |||
163 | typedef struct { | ||
164 | - __uint32_t id; | ||
165 | + uint32_t id; | ||
166 | char name[UT_NAMESIZE + 1]; | ||
167 | } idcache_t; | ||
168 | |||
169 | typedef struct du { | ||
170 | struct du *next; | ||
171 | - __uint64_t blocks; | ||
172 | - __uint64_t blocks30; | ||
173 | - __uint64_t blocks60; | ||
174 | - __uint64_t blocks90; | ||
175 | - __uint64_t nfiles; | ||
176 | - __uint32_t id; | ||
177 | + uint64_t blocks; | ||
178 | + uint64_t blocks30; | ||
179 | + uint64_t blocks60; | ||
180 | + uint64_t blocks90; | ||
181 | + uint64_t nfiles; | ||
182 | + uint32_t id; | ||
183 | } du_t; | ||
184 | |||
185 | #define NDU 60000 | ||
diff --git a/meta/recipes-extended/quota/quota/replace_getrpcbynumber_r.patch b/meta/recipes-extended/quota/quota/replace_getrpcbynumber_r.patch new file mode 100644 index 0000000000..9ca2ffc0d4 --- /dev/null +++ b/meta/recipes-extended/quota/quota/replace_getrpcbynumber_r.patch | |||
@@ -0,0 +1,20 @@ | |||
1 | Replace getrpcbynumber_r with getrpcbynumber | ||
2 | musl and uclibc dont implement it | ||
3 | |||
4 | Upstream-Status: Pending | ||
5 | |||
6 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
7 | Index: quota-tools/svc_socket.c | ||
8 | =================================================================== | ||
9 | --- quota-tools.orig/svc_socket.c | ||
10 | +++ quota-tools/svc_socket.c | ||
11 | @@ -55,7 +55,8 @@ static int svc_socket (u_long number, in | ||
12 | addr.sin_family = AF_INET; | ||
13 | |||
14 | if (!port) { | ||
15 | - ret = getrpcbynumber_r(number, &rpcbuf, rpcdata, sizeof(rpcdata), &rpcp); | ||
16 | + rpcp = getrpcbynumber(number); | ||
17 | + ret = 0; | ||
18 | if (ret == 0 && rpcp != NULL) { | ||
19 | /* First try name */ | ||
20 | ret = getservbyname_r(rpcp->r_name, proto, &servbuf, servdata, | ||
diff --git a/meta/recipes-extended/quota/quota_4.02.bb b/meta/recipes-extended/quota/quota_4.02.bb index 020ed3528c..96ff4b597d 100644 --- a/meta/recipes-extended/quota/quota_4.02.bb +++ b/meta/recipes-extended/quota/quota_4.02.bb | |||
@@ -6,8 +6,14 @@ LICENSE = "BSD & GPLv2+ & LGPLv2.1+" | |||
6 | LIC_FILES_CHKSUM = "file://quota.c;beginline=1;endline=33;md5=331c7d77744bfe0ad24027f0651028ec \ | 6 | LIC_FILES_CHKSUM = "file://quota.c;beginline=1;endline=33;md5=331c7d77744bfe0ad24027f0651028ec \ |
7 | file://rquota_server.c;beginline=1;endline=20;md5=fe7e0d7e11c6f820f8fa62a5af71230f \ | 7 | file://rquota_server.c;beginline=1;endline=20;md5=fe7e0d7e11c6f820f8fa62a5af71230f \ |
8 | file://svc_socket.c;beginline=1;endline=17;md5=24d5a8792da45910786eeac750be8ceb" | 8 | file://svc_socket.c;beginline=1;endline=17;md5=24d5a8792da45910786eeac750be8ceb" |
9 | |||
9 | SRC_URI = "${SOURCEFORGE_MIRROR}/project/linuxquota/quota-tools/${PV}/quota-${PV}.tar.gz \ | 10 | SRC_URI = "${SOURCEFORGE_MIRROR}/project/linuxquota/quota-tools/${PV}/quota-${PV}.tar.gz \ |
10 | file://config-tcpwrappers.patch" | 11 | file://config-tcpwrappers.patch \ |
12 | file://fcntl.patch \ | ||
13 | file://remove_non_posix_types.patch \ | ||
14 | " | ||
15 | SRC_URI_append_libc-musl = " file://replace_getrpcbynumber_r.patch" | ||
16 | |||
11 | SRC_URI[md5sum] = "a8a5df262261e659716ccad2a5d6df0d" | 17 | SRC_URI[md5sum] = "a8a5df262261e659716ccad2a5d6df0d" |
12 | SRC_URI[sha256sum] = "f4c2f48abf94bbdc396df33d276f2e9d19af58c232cb85eef9c174a747c33795" | 18 | SRC_URI[sha256sum] = "f4c2f48abf94bbdc396df33d276f2e9d19af58c232cb85eef9c174a747c33795" |
13 | 19 | ||
@@ -17,10 +23,17 @@ DEPENDS = "gettext-native e2fsprogs" | |||
17 | 23 | ||
18 | inherit autotools-brokensep gettext pkgconfig | 24 | inherit autotools-brokensep gettext pkgconfig |
19 | 25 | ||
26 | CFLAGS += "-I=${includedir}/tirpc" | ||
27 | LDFLAGS += "-ltirpc" | ||
28 | ASNEEDED = "" | ||
20 | EXTRA_OEMAKE += 'STRIP=""' | 29 | EXTRA_OEMAKE += 'STRIP=""' |
21 | 30 | ||
22 | PACKAGECONFIG ??= "tcp-wrappers" | 31 | PACKAGECONFIG ??= "tcp-wrappers rpc bsd" |
32 | PACKAGECONFIG_libc-musl = "tcp-wrappers rpc" | ||
33 | |||
23 | PACKAGECONFIG[tcp-wrappers] = "--with-tcpwrappers,--without-tcpwrappers,tcp-wrappers" | 34 | PACKAGECONFIG[tcp-wrappers] = "--with-tcpwrappers,--without-tcpwrappers,tcp-wrappers" |
35 | PACKAGECONFIG[rpc] = "--enable-rpc=yes,--enable-rpc=no,libtirpc" | ||
36 | PACKAGECONFIG[bsd] = "--enable-bsd_behaviour=yes,--enable-bsd_behaviour=no," | ||
24 | 37 | ||
25 | do_install() { | 38 | do_install() { |
26 | oe_runmake prefix=${D}${prefix} install | 39 | oe_runmake prefix=${D}${prefix} install |