]> TLD Linux GIT Repositories - packages/lvm2.git/blob - lvm2-diet.patch
- updated to 2.02.181
[packages/lvm2.git] / lvm2-diet.patch
1 diff -urp LVM2.2.02.179.orig/lib/commands/toolcontext.c LVM2.2.02.179/lib/commands/toolcontext.c
2 --- LVM2.2.02.179.orig/lib/commands/toolcontext.c       2018-06-18 05:24:22.000000000 +0000
3 +++ LVM2.2.02.179/lib/commands/toolcontext.c    2018-06-26 11:40:23.355840745 +0000
4 @@ -1827,10 +1827,10 @@ struct cmd_context *create_toolcontext(u
5  #ifdef M_MMAP_MAX
6         mallopt(M_MMAP_MAX, 0);
7  #endif
8 -
9 +#ifdef __dietlibc__
10         if (!setlocale(LC_ALL, ""))
11                 log_very_verbose("setlocale failed");
12 -
13 +#endif
14  #ifdef INTL_PACKAGE
15         bindtextdomain(INTL_PACKAGE, LOCALEDIR);
16  #endif
17 diff -urp LVM2.2.02.179.orig/lib/config/config.c LVM2.2.02.179/lib/config/config.c
18 --- LVM2.2.02.179.orig/lib/config/config.c      2018-06-18 05:24:22.000000000 +0000
19 +++ LVM2.2.02.179/lib/config/config.c   2018-06-26 11:40:23.356840745 +0000
20 @@ -44,6 +44,10 @@ static const char *_config_source_names[
21         [CONFIG_FILE_SPECIAL] = "special purpose"
22  };
23  
24 +#ifdef __dietlibc__
25 +typedef char* caddr_t __attribute_dontuse__;
26 +#endif
27 +
28  struct config_file {
29         off_t st_size;
30         char *filename;
31 diff -urp LVM2.2.02.179.orig/lib/metadata/pv.c LVM2.2.02.179/lib/metadata/pv.c
32 --- LVM2.2.02.179.orig/lib/metadata/pv.c        2018-06-18 05:24:22.000000000 +0000
33 +++ LVM2.2.02.179/lib/metadata/pv.c     2018-06-26 11:40:23.356840745 +0000
34 @@ -17,6 +17,12 @@
35  #include "metadata.h"
36  #include "lvmcache.h"
37  
38 +#ifdef __dietlibc__
39 +# ifndef UINT64_MAX
40 +#  define UINT64_MAX             __UINT64_MAX__
41 +# endif
42 +#endif
43 +
44  /*
45   * FIXME: Check for valid handle before dereferencing field or log error?
46   */
47 diff -urp LVM2.2.02.179.orig/lib/misc/lib.h LVM2.2.02.179/lib/misc/lib.h
48 --- LVM2.2.02.179.orig/lib/misc/lib.h   2018-06-18 05:24:22.000000000 +0000
49 +++ LVM2.2.02.179/lib/misc/lib.h        2018-06-26 11:40:23.356840745 +0000
50 @@ -93,4 +93,20 @@
51  
52  #include <unistd.h>
53  
54 +#ifdef __dietlibc__
55 +# include <strings.h>
56 +# include <limits.h>
57 +# if __WORDSIZE == 64
58 +#  define INT64_C(c)    c ## L
59 +# else
60 +#  define INT64_C(c)    c ## LL
61 +# endif
62 +# define UINT32_C(c)    c ## U
63 +# if __WORDSIZE == 64
64 +#  define UINT64_C(c)   c ## UL
65 +# else
66 +#  define UINT64_C(c)   c ## ULL
67 +# endif
68 +#endif
69 +
70  #endif
71 diff -urp LVM2.2.02.179.orig/lib/report/report.c LVM2.2.02.179/lib/report/report.c
72 --- LVM2.2.02.179.orig/lib/report/report.c      2018-06-18 05:24:22.000000000 +0000
73 +++ LVM2.2.02.179/lib/report/report.c   2018-06-26 11:40:23.357840745 +0000
74 @@ -29,6 +29,11 @@
75  #include <float.h> /* DBL_MAX */
76  #include <time.h>
77  
78 +#ifdef __dietlibc__
79 +#define __UINT64_C(c) c ## ULL
80 +# define UINT64_MAX             (__UINT64_C(18446744073709551615))
81 +#endif
82 +
83  struct lvm_report_object {
84         struct volume_group *vg;
85         struct lv_with_info_and_seg_status *lvdm;
86 diff -urp LVM2.2.02.179.orig/libdm/libdevmapper.h LVM2.2.02.179/libdm/libdevmapper.h
87 --- LVM2.2.02.179.orig/libdm/libdevmapper.h     2018-06-18 05:24:22.000000000 +0000
88 +++ LVM2.2.02.179/libdm/libdevmapper.h  2018-06-26 11:40:23.357840745 +0000
89 @@ -251,6 +251,10 @@ int dm_task_set_add_node(struct dm_task
90  /*
91   * Control read_ahead.
92   */
93 +#ifdef __dietlibc__
94 +# define UINT32_MAX             (4294967295U)
95 +#endif
96 +
97  #define DM_READ_AHEAD_AUTO UINT32_MAX  /* Use kernel default readahead */
98  #define DM_READ_AHEAD_NONE 0           /* Disable readahead */
99  
100 diff -urp LVM2.2.02.179.orig/tools/dmsetup.c LVM2.2.02.179/tools/dmsetup.c
101 --- LVM2.2.02.179.orig/tools/dmsetup.c  2018-06-18 05:24:22.000000000 +0000
102 +++ LVM2.2.02.179/tools/dmsetup.c       2018-06-26 11:40:23.358840745 +0000
103 @@ -37,6 +37,23 @@
104  #  include <libudev.h>
105  #endif
106  
107 +#ifdef __dietlibc__
108 +# include <limits.h>
109 +# if __WORDSIZE == 64
110 +#  define INT64_C(c)    c ## L
111 +# else
112 +#  define INT64_C(c)    c ## LL
113 +# endif
114 +# define UINT32_C(c)    c ## U
115 +# if __WORDSIZE == 64
116 +#  define UINT64_C(c)   c ## UL
117 +# else
118 +#  define UINT64_C(c)   c ## ULL
119 +# endif
120 +#define canonicalize_file_name(x) realpath(x, NULL)
121 +#endif
122 +#include <strings.h>
123 +
124  /* FIXME Unused so far */
125  #undef HAVE_SYS_STATVFS_H
126  
127 diff -urp LVM2.2.02.179.orig/tools/Makefile.in LVM2.2.02.179/tools/Makefile.in
128 --- LVM2.2.02.179.orig/tools/Makefile.in        2018-06-26 11:33:19.629866001 +0000
129 +++ LVM2.2.02.179/tools/Makefile.in     2018-06-26 11:44:55.383824531 +0000
130 @@ -127,13 +127,14 @@ CFLAGS_dmsetup.o += $(UDEV_CFLAGS) $(EXT
131  
132  dmsetup: dmsetup.o $(top_builddir)/libdm/libdevmapper.$(LIB_SUFFIX)
133         @echo "    [CC] $@"
134 -       $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(EXTRA_EXEC_LDFLAGS) $(ELDFLAGS) \
135 +       $(Q) $(CC) $(CFLAGS) -L$(interfacebuilddir) -L$(top_builddir)/libdm \
136 +             $(LDFLAGS) $(EXTRA_EXEC_LDFLAGS) $(ELDFLAGS) \
137               -o $@ dmsetup.o -ldevmapper $(LIBS)
138  
139  dmsetup.static: dmsetup.o $(interfacebuilddir)/libdevmapper.a
140         @echo "    [CC] $@"
141 -       $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) \
142 -             -o $@ dmsetup.o -ldevmapper $(M_LIBS) $(PTHREAD_LIBS) $(STATIC_LIBS) $(LIBS)
143 +       $(Q) $(CC) $(CFLAGS) -static -L$(interfacebuilddir) $(LDFLAGS) \
144 +             -o $@ dmsetup.o -ldevmapper $(M_LIBS) $(PTHREAD_LIBS) $(STATIC_LIBS) $(LIBS) $(DIETLIBC_LIBS)
145  
146  all: device-mapper
147  
148 @@ -143,7 +144,7 @@ INCLUDES += -I$(top_builddir)/tools
149  
150  lvm: $(OBJECTS) lvm.o $(top_builddir)/lib/liblvm-internal.a
151         @echo "    [CC] $@"
152 -       $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(EXTRA_EXEC_LDFLAGS) $(ELDFLAGS) -o $@ $(OBJECTS) lvm.o \
153 +       $(Q) $(CC) $(CFLAGS) -L$(interfacebuilddir) $(LDFLAGS) $(EXTRA_EXEC_LDFLAGS) $(ELDFLAGS) -o $@ $(OBJECTS) lvm.o \
154                 $(LVMLIBS) $(READLINE_LIBS) $(LIBS)
155  
156  DEFS_man-generator.o += -DMAN_PAGE_GENERATOR
157 @@ -163,7 +164,7 @@ endif
158  lvm.static: $(OBJECTS) lvm-static.o $(top_builddir)/lib/liblvm-internal.a  $(interfacebuilddir)/libdevmapper.a
159         @echo "    [CC] $@"
160         $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) -o $@ \
161 -             $(OBJECTS) lvm-static.o $(LVMLIBS) $(STATIC_LIBS) $(LIBS)
162 +             $(OBJECTS) lvm-static.o $(LVMLIBS) $(STATIC_LIBS) $(LIBS) $(PTHREAD_LIBS) $(DIETLIBC_LIBS)
163  
164  liblvm2cmd.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o
165         @echo "    [AR] $@"
166 diff -urp LVM2.2.02.179.orig/tools/tools.h LVM2.2.02.179/tools/tools.h
167 --- LVM2.2.02.179.orig/tools/tools.h    2018-06-18 05:24:22.000000000 +0000
168 +++ LVM2.2.02.179/tools/tools.h 2018-06-26 11:40:23.359840745 +0000
169 @@ -47,6 +47,21 @@
170  #include <ctype.h>
171  #include <sys/types.h>
172  
173 +#ifdef __dietlibc__
174 +# include <limits.h>
175 +# if __WORDSIZE == 64
176 +#  define INT64_C(c)    c ## L
177 +# else
178 +#  define INT64_C(c)    c ## LL
179 +# endif
180 +# define UINT32_C(c)    c ## U
181 +# if __WORDSIZE == 64
182 +#  define UINT64_C(c)   c ## UL
183 +# else
184 +#  define UINT64_C(c)   c ## ULL
185 +# endif
186 +#endif
187 +
188  #define CMD_LEN 256
189  #define MAX_ARGS 64
190