quota: fix musl build (#8907)

use patches from openembedded project
This commit is contained in:
Piraty 2017-11-05 21:55:42 +01:00 committed by Juan RP
parent 4f38fe8875
commit baeb9e8ffd
3 changed files with 215 additions and 2 deletions

View File

@ -0,0 +1,27 @@
source: http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-extended/quota/quota/fcntl.patch?id=6da9a5269782923fe5807b07217ffe19b9fb633e
Include fcntl.h to pacify compiler errors on musl
like
error: unknown type name 'loff_t'
Cover rpc headers under proper conditional
Dont use __P its undefined
--- quota.h
+++ quota.h
@@ -3,6 +3,7 @@
#include <sys/types.h>
#include <stdint.h>
+#include <fcntl.h>
typedef u_int32_t qid_t; /* Type in which we store ids in memory */
typedef int64_t qsize_t; /* Type in which we store size limitations */
@@ -181,6 +182,6 @@
#endif
#endif
-long quotactl __P((int, const char *, qid_t, caddr_t));
+long quotactl (int, const char *, qid_t, caddr_t);
#endif /* _QUOTA_ */

View File

@ -0,0 +1,187 @@
source: http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-extended/quota/quota/remove_non_posix_types.patch?id=6da9a5269782923fe5807b07217ffe19b9fb633e
Use proper C99 integer types
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Index: bylabel.c
===================================================================
--- bylabel.c
+++ bylabel.c
@@ -20,6 +20,7 @@
#include <ctype.h>
#include <fcntl.h>
#include <unistd.h>
+#include <stdint.h>
#include "bylabel.h"
#include "common.h"
@@ -37,32 +38,32 @@ static struct uuidCache_s {
#define EXT2_SUPER_MAGIC 0xEF53
struct ext2_super_block {
- u_char s_dummy1[56];
- u_char s_magic[2];
- u_char s_dummy2[46];
- u_char s_uuid[16];
- u_char s_volume_name[16];
+ uint8_t s_dummy1[56];
+ uint8_t s_magic[2];
+ uint8_t s_dummy2[46];
+ uint8_t s_uuid[16];
+ uint8_t s_volume_name[16];
};
-#define ext2magic(s) ((uint) s.s_magic[0] + (((uint) s.s_magic[1]) << 8))
+#define ext2magic(s) ((uint32_t) s.s_magic[0] + (((uint32_t) s.s_magic[1]) << 8))
#define XFS_SUPER_MAGIC "XFSB"
#define XFS_SUPER_MAGIC2 "BSFX"
struct xfs_super_block {
- u_char s_magic[4];
- u_char s_dummy[28];
- u_char s_uuid[16];
- u_char s_dummy2[60];
- u_char s_fsname[12];
+ uint8_t s_magic[4];
+ uint8_t s_dummy[28];
+ uint8_t s_uuid[16];
+ uint8_t s_dummy2[60];
+ uint8_t s_fsname[12];
};
#define REISER_SUPER_MAGIC "ReIsEr2Fs"
struct reiserfs_super_block {
- u_char s_dummy1[52];
- u_char s_magic[10];
- u_char s_dummy2[22];
- u_char s_uuid[16];
- u_char s_volume_name[16];
+ uint8_t s_dummy1[52];
+ uint8_t s_magic[10];
+ uint8_t s_dummy2[22];
+ uint8_t s_uuid[16];
+ uint8_t s_volume_name[16];
};
static inline unsigned short swapped(unsigned short a)
@@ -222,7 +223,7 @@ static char *get_spec_by_x(int n, const
return NULL;
}
-static u_char fromhex(char c)
+static uint8_t fromhex(char c)
{
if (isdigit(c))
return (c - '0');
@@ -234,7 +235,7 @@ static u_char fromhex(char c)
static char *get_spec_by_uuid(const char *s)
{
- u_char uuid[16];
+ uint8_t uuid[16];
int i;
if (strlen(s) != 36 || s[8] != '-' || s[13] != '-' || s[18] != '-' || s[23] != '-')
Index: quot.c
===================================================================
--- quot.c
+++ quot.c
@@ -47,6 +47,7 @@
#include <utmp.h>
#include <pwd.h>
#include <grp.h>
+#include <stdint.h>
#include "pot.h"
#include "quot.h"
@@ -56,8 +57,8 @@
#include "quotasys.h"
#define TSIZE 500
-static __uint64_t sizes[TSIZE];
-static __uint64_t overflow;
+static uint64_t sizes[TSIZE];
+static uint64_t overflow;
static int aflag;
static int cflag;
@@ -72,7 +73,7 @@ static time_t now;
char *progname;
static void mounttable(void);
-static char *idname(__uint32_t, int);
+static char *idname(uint32_t, int);
static void report(const char *, const char *, int);
static void creport(const char *, const char *);
@@ -173,7 +174,7 @@ static int qcmp(du_t * p1, du_t * p2)
static void creport(const char *file, const char *fsdir)
{
int i;
- __uint64_t t = 0;
+ uint64_t t = 0;
printf(_("%s (%s):\n"), file, fsdir);
for (i = 0; i < TSIZE - 1; i++)
@@ -219,7 +220,7 @@ static void report(const char *file, con
}
}
-static idcache_t *getnextent(int type, __uint32_t id, int byid)
+static idcache_t *getnextent(int type, uint32_t id, int byid)
{
struct passwd *pw;
struct group *gr;
@@ -240,7 +241,7 @@ static idcache_t *getnextent(int type, _
return &idc;
}
-static char *idname(__uint32_t id, int type)
+static char *idname(uint32_t id, int type)
{
idcache_t *ncp, *idp;
static idcache_t nc[2][NID];
@@ -286,8 +287,8 @@ static void acctXFS(xfs_bstat_t *p)
{
register du_t *dp;
du_t **hp;
- __uint64_t size;
- __uint32_t i, id;
+ uint64_t size;
+ uint32_t i, id;
if ((p->bs_mode & S_IFMT) == 0)
return;
Index: quot.h
===================================================================
--- quot.h
+++ quot.h
@@ -35,18 +35,18 @@
#define SEC24HR (60*60*24) /* seconds per day */
typedef struct {
- __uint32_t id;
+ uint32_t id;
char name[UT_NAMESIZE + 1];
} idcache_t;
typedef struct du {
struct du *next;
- __uint64_t blocks;
- __uint64_t blocks30;
- __uint64_t blocks60;
- __uint64_t blocks90;
- __uint64_t nfiles;
- __uint32_t id;
+ uint64_t blocks;
+ uint64_t blocks30;
+ uint64_t blocks60;
+ uint64_t blocks90;
+ uint64_t nfiles;
+ uint32_t id;
} du_t;
#define NDU 60000

View File

@ -1,8 +1,7 @@
# Template file for 'quota'
pkgname=quota
version=4.04
revision=1
only_for_archs="i686 x86_64 armv6l armv7l aarch64"
revision=2
build_style=gnu-configure
make_build_args="V=1"
conf_files="/etc/quotagrpadmins /etc/quotatab /etc/warnquota.conf"