@nxtedition/rocksdb 5.2.36 → 5.2.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/binding.cc +66 -91
  2. package/deps/liburing/liburing/COPYING +502 -0
  3. package/deps/liburing/liburing/COPYING.GPL +339 -0
  4. package/deps/liburing/liburing/LICENSE +7 -0
  5. package/deps/liburing/liburing/Makefile +84 -0
  6. package/deps/liburing/liburing/Makefile.quiet +11 -0
  7. package/deps/liburing/liburing/README +46 -0
  8. package/deps/liburing/liburing/configure +420 -0
  9. package/deps/liburing/liburing/debian/README.Debian +7 -0
  10. package/deps/liburing/liburing/debian/changelog +27 -0
  11. package/deps/liburing/liburing/debian/compat +1 -0
  12. package/deps/liburing/liburing/debian/control +48 -0
  13. package/deps/liburing/liburing/debian/copyright +49 -0
  14. package/deps/liburing/liburing/debian/liburing-dev.install +4 -0
  15. package/deps/liburing/liburing/debian/liburing-dev.manpages +6 -0
  16. package/deps/liburing/liburing/debian/liburing1-udeb.install +1 -0
  17. package/deps/liburing/liburing/debian/liburing1.install +1 -0
  18. package/deps/liburing/liburing/debian/liburing1.symbols +32 -0
  19. package/deps/liburing/liburing/debian/patches/series +1 -0
  20. package/deps/liburing/liburing/debian/rules +81 -0
  21. package/deps/liburing/liburing/debian/source/format +1 -0
  22. package/deps/liburing/liburing/debian/source/local-options +2 -0
  23. package/deps/liburing/liburing/debian/source/options +1 -0
  24. package/deps/liburing/liburing/debian/watch +3 -0
  25. package/deps/liburing/liburing/examples/Makefile +29 -0
  26. package/deps/liburing/liburing/examples/io_uring-cp.c +279 -0
  27. package/deps/liburing/liburing/examples/io_uring-test.c +112 -0
  28. package/deps/liburing/liburing/examples/link-cp.c +193 -0
  29. package/deps/liburing/liburing/examples/ucontext-cp.c +273 -0
  30. package/deps/liburing/liburing/liburing.pc.in +12 -0
  31. package/deps/liburing/liburing/liburing.spec +66 -0
  32. package/deps/liburing/liburing/make-debs.sh +53 -0
  33. package/deps/liburing/liburing/man/io_uring.7 +736 -0
  34. package/deps/liburing/liburing/man/io_uring_enter.2 +1403 -0
  35. package/deps/liburing/liburing/man/io_uring_get_sqe.3 +37 -0
  36. package/deps/liburing/liburing/man/io_uring_queue_exit.3 +27 -0
  37. package/deps/liburing/liburing/man/io_uring_queue_init.3 +44 -0
  38. package/deps/liburing/liburing/man/io_uring_register.2 +605 -0
  39. package/deps/liburing/liburing/man/io_uring_setup.2 +515 -0
  40. package/deps/liburing/liburing/src/Makefile +76 -0
  41. package/deps/liburing/liburing/src/include/liburing/barrier.h +73 -0
  42. package/deps/liburing/liburing/src/include/liburing/io_uring.h +422 -0
  43. package/deps/liburing/liburing/src/include/liburing.h +775 -0
  44. package/deps/liburing/liburing/src/liburing.map +46 -0
  45. package/deps/liburing/liburing/src/queue.c +403 -0
  46. package/deps/liburing/liburing/src/register.c +299 -0
  47. package/deps/liburing/liburing/src/setup.c +356 -0
  48. package/deps/liburing/liburing/src/syscall.c +73 -0
  49. package/deps/liburing/liburing/src/syscall.h +20 -0
  50. package/deps/liburing/liburing/test/232c93d07b74-test.c +305 -0
  51. package/deps/liburing/liburing/test/35fa71a030ca-test.c +329 -0
  52. package/deps/liburing/liburing/test/500f9fbadef8-test.c +89 -0
  53. package/deps/liburing/liburing/test/7ad0e4b2f83c-test.c +93 -0
  54. package/deps/liburing/liburing/test/8a9973408177-test.c +106 -0
  55. package/deps/liburing/liburing/test/917257daa0fe-test.c +53 -0
  56. package/deps/liburing/liburing/test/Makefile +312 -0
  57. package/deps/liburing/liburing/test/a0908ae19763-test.c +58 -0
  58. package/deps/liburing/liburing/test/a4c0b3decb33-test.c +180 -0
  59. package/deps/liburing/liburing/test/accept-link.c +251 -0
  60. package/deps/liburing/liburing/test/accept-reuse.c +164 -0
  61. package/deps/liburing/liburing/test/accept-test.c +79 -0
  62. package/deps/liburing/liburing/test/accept.c +476 -0
  63. package/deps/liburing/liburing/test/across-fork.c +283 -0
  64. package/deps/liburing/liburing/test/b19062a56726-test.c +53 -0
  65. package/deps/liburing/liburing/test/b5837bd5311d-test.c +77 -0
  66. package/deps/liburing/liburing/test/ce593a6c480a-test.c +135 -0
  67. package/deps/liburing/liburing/test/close-opath.c +122 -0
  68. package/deps/liburing/liburing/test/config +10 -0
  69. package/deps/liburing/liburing/test/connect.c +398 -0
  70. package/deps/liburing/liburing/test/cq-full.c +96 -0
  71. package/deps/liburing/liburing/test/cq-overflow.c +294 -0
  72. package/deps/liburing/liburing/test/cq-peek-batch.c +102 -0
  73. package/deps/liburing/liburing/test/cq-ready.c +94 -0
  74. package/deps/liburing/liburing/test/cq-size.c +58 -0
  75. package/deps/liburing/liburing/test/d4ae271dfaae-test.c +96 -0
  76. package/deps/liburing/liburing/test/d77a67ed5f27-test.c +65 -0
  77. package/deps/liburing/liburing/test/defer.c +307 -0
  78. package/deps/liburing/liburing/test/double-poll-crash.c +186 -0
  79. package/deps/liburing/liburing/test/eeed8b54e0df-test.c +114 -0
  80. package/deps/liburing/liburing/test/empty-eownerdead.c +42 -0
  81. package/deps/liburing/liburing/test/eventfd-disable.c +151 -0
  82. package/deps/liburing/liburing/test/eventfd-ring.c +97 -0
  83. package/deps/liburing/liburing/test/eventfd.c +112 -0
  84. package/deps/liburing/liburing/test/fadvise.c +202 -0
  85. package/deps/liburing/liburing/test/fallocate.c +249 -0
  86. package/deps/liburing/liburing/test/fc2a85cb02ef-test.c +138 -0
  87. package/deps/liburing/liburing/test/file-register.c +843 -0
  88. package/deps/liburing/liburing/test/file-update.c +173 -0
  89. package/deps/liburing/liburing/test/files-exit-hang-poll.c +128 -0
  90. package/deps/liburing/liburing/test/files-exit-hang-timeout.c +134 -0
  91. package/deps/liburing/liburing/test/fixed-link.c +90 -0
  92. package/deps/liburing/liburing/test/fsync.c +224 -0
  93. package/deps/liburing/liburing/test/hardlink.c +136 -0
  94. package/deps/liburing/liburing/test/helpers.c +135 -0
  95. package/deps/liburing/liburing/test/helpers.h +67 -0
  96. package/deps/liburing/liburing/test/io-cancel.c +537 -0
  97. package/deps/liburing/liburing/test/io_uring_enter.c +296 -0
  98. package/deps/liburing/liburing/test/io_uring_register.c +664 -0
  99. package/deps/liburing/liburing/test/io_uring_setup.c +192 -0
  100. package/deps/liburing/liburing/test/iopoll.c +366 -0
  101. package/deps/liburing/liburing/test/lfs-openat-write.c +117 -0
  102. package/deps/liburing/liburing/test/lfs-openat.c +273 -0
  103. package/deps/liburing/liburing/test/link-timeout.c +1107 -0
  104. package/deps/liburing/liburing/test/link.c +496 -0
  105. package/deps/liburing/liburing/test/link_drain.c +229 -0
  106. package/deps/liburing/liburing/test/madvise.c +195 -0
  107. package/deps/liburing/liburing/test/mkdir.c +108 -0
  108. package/deps/liburing/liburing/test/multicqes_drain.c +383 -0
  109. package/deps/liburing/liburing/test/nop-all-sizes.c +107 -0
  110. package/deps/liburing/liburing/test/nop.c +115 -0
  111. package/deps/liburing/liburing/test/open-close.c +146 -0
  112. package/deps/liburing/liburing/test/openat2.c +240 -0
  113. package/deps/liburing/liburing/test/personality.c +204 -0
  114. package/deps/liburing/liburing/test/pipe-eof.c +81 -0
  115. package/deps/liburing/liburing/test/pipe-reuse.c +105 -0
  116. package/deps/liburing/liburing/test/poll-cancel-ton.c +139 -0
  117. package/deps/liburing/liburing/test/poll-cancel.c +135 -0
  118. package/deps/liburing/liburing/test/poll-link.c +227 -0
  119. package/deps/liburing/liburing/test/poll-many.c +208 -0
  120. package/deps/liburing/liburing/test/poll-mshot-update.c +273 -0
  121. package/deps/liburing/liburing/test/poll-ring.c +48 -0
  122. package/deps/liburing/liburing/test/poll-v-poll.c +353 -0
  123. package/deps/liburing/liburing/test/poll.c +109 -0
  124. package/deps/liburing/liburing/test/probe.c +137 -0
  125. package/deps/liburing/liburing/test/read-write.c +876 -0
  126. package/deps/liburing/liburing/test/register-restrictions.c +633 -0
  127. package/deps/liburing/liburing/test/rename.c +134 -0
  128. package/deps/liburing/liburing/test/ring-leak.c +173 -0
  129. package/deps/liburing/liburing/test/ring-leak2.c +249 -0
  130. package/deps/liburing/liburing/test/rsrc_tags.c +449 -0
  131. package/deps/liburing/liburing/test/runtests-loop.sh +16 -0
  132. package/deps/liburing/liburing/test/runtests.sh +170 -0
  133. package/deps/liburing/liburing/test/rw_merge_test.c +97 -0
  134. package/deps/liburing/liburing/test/self.c +91 -0
  135. package/deps/liburing/liburing/test/send_recv.c +291 -0
  136. package/deps/liburing/liburing/test/send_recvmsg.c +345 -0
  137. package/deps/liburing/liburing/test/sendmsg_fs_cve.c +198 -0
  138. package/deps/liburing/liburing/test/shared-wq.c +84 -0
  139. package/deps/liburing/liburing/test/short-read.c +75 -0
  140. package/deps/liburing/liburing/test/shutdown.c +163 -0
  141. package/deps/liburing/liburing/test/sigfd-deadlock.c +74 -0
  142. package/deps/liburing/liburing/test/socket-rw-eagain.c +156 -0
  143. package/deps/liburing/liburing/test/socket-rw.c +147 -0
  144. package/deps/liburing/liburing/test/splice.c +511 -0
  145. package/deps/liburing/liburing/test/sq-full-cpp.cc +45 -0
  146. package/deps/liburing/liburing/test/sq-full.c +45 -0
  147. package/deps/liburing/liburing/test/sq-poll-dup.c +200 -0
  148. package/deps/liburing/liburing/test/sq-poll-kthread.c +168 -0
  149. package/deps/liburing/liburing/test/sq-poll-share.c +137 -0
  150. package/deps/liburing/liburing/test/sq-space_left.c +159 -0
  151. package/deps/liburing/liburing/test/sqpoll-cancel-hang.c +159 -0
  152. package/deps/liburing/liburing/test/sqpoll-disable-exit.c +195 -0
  153. package/deps/liburing/liburing/test/sqpoll-exit-hang.c +77 -0
  154. package/deps/liburing/liburing/test/sqpoll-sleep.c +68 -0
  155. package/deps/liburing/liburing/test/statx.c +172 -0
  156. package/deps/liburing/liburing/test/stdout.c +232 -0
  157. package/deps/liburing/liburing/test/submit-link-fail.c +154 -0
  158. package/deps/liburing/liburing/test/submit-reuse.c +239 -0
  159. package/deps/liburing/liburing/test/symlink.c +116 -0
  160. package/deps/liburing/liburing/test/teardowns.c +58 -0
  161. package/deps/liburing/liburing/test/thread-exit.c +131 -0
  162. package/deps/liburing/liburing/test/timeout-new.c +246 -0
  163. package/deps/liburing/liburing/test/timeout-overflow.c +204 -0
  164. package/deps/liburing/liburing/test/timeout.c +1354 -0
  165. package/deps/liburing/liburing/test/unlink.c +111 -0
  166. package/deps/liburing/liburing/test/wakeup-hang.c +162 -0
  167. package/deps/liburing/liburing.gyp +20 -0
  168. package/deps/rocksdb/rocksdb/db/corruption_test.cc +62 -0
  169. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +7 -62
  170. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +25 -11
  171. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +74 -155
  172. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +1 -2
  173. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +2 -2
  174. package/deps/rocksdb/rocksdb/env/fs_posix.cc +13 -0
  175. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +4 -2
  176. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +22 -4
  177. package/deps/rocksdb/rocksdb/file/prefetch_test.cc +5 -0
  178. package/deps/rocksdb/rocksdb/include/rocksdb/file_system.h +15 -0
  179. package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +5 -0
  180. package/deps/rocksdb/rocksdb/include/rocksdb/version.h +1 -1
  181. package/deps/rocksdb/rocksdb/monitoring/statistics.cc +3 -0
  182. package/deps/rocksdb/rocksdb/monitoring/stats_history_test.cc +3 -7
  183. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.h +2 -1
  184. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +44 -29
  185. package/deps/rocksdb/rocksdb.gyp +4 -3
  186. package/package.json +1 -1
  187. package/prebuilds/darwin-arm64/node.napi.node +0 -0
  188. package/prebuilds/darwin-x64/node.napi.node +0 -0
  189. package/prebuilds/linux-x64/node.napi.node +0 -0
  190. package/prebuilds/prebuilds/linux-x64/node.napi.node +0 -0
@@ -0,0 +1,420 @@
1
+ #!/bin/sh
2
+
3
+ cc=${CC:-gcc}
4
+ cxx=${CXX:-g++}
5
+
6
+ for opt do
7
+ optarg=$(expr "x$opt" : 'x[^=]*=\(.*\)')
8
+ case "$opt" in
9
+ --help|-h) show_help=yes
10
+ ;;
11
+ --prefix=*) prefix="$optarg"
12
+ ;;
13
+ --includedir=*) includedir="$optarg"
14
+ ;;
15
+ --libdir=*) libdir="$optarg"
16
+ ;;
17
+ --libdevdir=*) libdevdir="$optarg"
18
+ ;;
19
+ --mandir=*) mandir="$optarg"
20
+ ;;
21
+ --datadir=*) datadir="$optarg"
22
+ ;;
23
+ --cc=*) cc="$optarg"
24
+ ;;
25
+ --cxx=*) cxx="$optarg"
26
+ ;;
27
+ *)
28
+ echo "ERROR: unknown option $opt"
29
+ echo "Try '$0 --help' for more information"
30
+ exit 1
31
+ ;;
32
+ esac
33
+ done
34
+
35
+ if test -z "$prefix"; then
36
+ prefix=/usr
37
+ fi
38
+ if test -z "$includedir"; then
39
+ includedir="$prefix/include"
40
+ fi
41
+ if test -z "$libdir"; then
42
+ libdir="$prefix/lib"
43
+ fi
44
+ if test -z "$libdevdir"; then
45
+ libdevdir="$prefix/lib"
46
+ fi
47
+ if test -z "$mandir"; then
48
+ mandir="$prefix/man"
49
+ fi
50
+ if test -z "$datadir"; then
51
+ datadir="$prefix/share"
52
+ fi
53
+
54
+ if test x"$libdir" = x"$libdevdir"; then
55
+ relativelibdir=""
56
+ else
57
+ relativelibdir="$libdir/"
58
+ fi
59
+
60
+ if test "$show_help" = "yes"; then
61
+ cat <<EOF
62
+
63
+ Usage: configure [options]
64
+ Options: [defaults in brackets after descriptions]
65
+ --help print this message
66
+ --prefix=PATH install in PATH [$prefix]
67
+ --includedir=PATH install headers in PATH [$includedir]
68
+ --libdir=PATH install runtime libraries in PATH [$libdir]
69
+ --libdevdir=PATH install development libraries in PATH [$libdevdir]
70
+ --mandir=PATH install man pages in PATH [$mandir]
71
+ --datadir=PATH install shared data in PATH [$datadir]
72
+ --cc=CMD use CMD as the C compiler
73
+ --cxx=CMD use CMD as the C++ compiler
74
+ EOF
75
+ exit 0
76
+ fi
77
+
78
+ TMPC="$(mktemp --tmpdir fio-conf-XXXXXXXXXX.c)"
79
+ TMPC2="$(mktemp --tmpdir fio-conf-XXXXXXXXXX-2.c)"
80
+ TMPO="$(mktemp --tmpdir fio-conf-XXXXXXXXXX.o)"
81
+ TMPE="$(mktemp --tmpdir fio-conf-XXXXXXXXXX.exe)"
82
+
83
+ # NB: do not call "exit" in the trap handler; this is buggy with some shells;
84
+ # see <1285349658-3122-1-git-send-email-loic.minier@linaro.org>
85
+ trap "rm -f $TMPC $TMPC2 $TMPO $TMPE" EXIT INT QUIT TERM
86
+
87
+ rm -rf config.log
88
+
89
+ config_host_mak="config-host.mak"
90
+ config_host_h="config-host.h"
91
+
92
+ rm -rf $config_host_mak
93
+ rm -rf $config_host_h
94
+
95
+ fatal() {
96
+ echo $@
97
+ echo "Configure failed, check config.log and/or the above output"
98
+ rm -rf $config_host_mak
99
+ rm -rf $config_host_h
100
+ exit 1
101
+ }
102
+
103
+ # Print result for each configuration test
104
+ print_config() {
105
+ printf "%-30s%s\n" "$1" "$2"
106
+ }
107
+
108
+ # Default CFLAGS
109
+ CFLAGS="-D_GNU_SOURCE -include config-host.h"
110
+ BUILD_CFLAGS=""
111
+
112
+ # Print configure header at the top of $config_host_h
113
+ echo "/*" > $config_host_h
114
+ echo " * Automatically generated by configure - do not modify" >> $config_host_h
115
+ printf " * Configured with:" >> $config_host_h
116
+ printf " * '%s'" "$0" "$@" >> $config_host_h
117
+ echo "" >> $config_host_h
118
+ echo " */" >> $config_host_h
119
+
120
+ echo "# Automatically generated by configure - do not modify" > $config_host_mak
121
+ printf "# Configured with:" >> $config_host_mak
122
+ printf " '%s'" "$0" "$@" >> $config_host_mak
123
+ echo >> $config_host_mak
124
+
125
+ do_cxx() {
126
+ # Run the compiler, capturing its output to the log.
127
+ echo $cxx "$@" >> config.log
128
+ $cxx "$@" >> config.log 2>&1 || return $?
129
+ return 0
130
+ }
131
+
132
+ do_cc() {
133
+ # Run the compiler, capturing its output to the log.
134
+ echo $cc "$@" >> config.log
135
+ $cc "$@" >> config.log 2>&1 || return $?
136
+ # Test passed. If this is an --enable-werror build, rerun
137
+ # the test with -Werror and bail out if it fails. This
138
+ # makes warning-generating-errors in configure test code
139
+ # obvious to developers.
140
+ if test "$werror" != "yes"; then
141
+ return 0
142
+ fi
143
+ # Don't bother rerunning the compile if we were already using -Werror
144
+ case "$*" in
145
+ *-Werror*)
146
+ return 0
147
+ ;;
148
+ esac
149
+ echo $cc -Werror "$@" >> config.log
150
+ $cc -Werror "$@" >> config.log 2>&1 && return $?
151
+ echo "ERROR: configure test passed without -Werror but failed with -Werror."
152
+ echo "This is probably a bug in the configure script. The failing command"
153
+ echo "will be at the bottom of config.log."
154
+ fatal "You can run configure with --disable-werror to bypass this check."
155
+ }
156
+
157
+ compile_prog() {
158
+ local_cflags="$1"
159
+ local_ldflags="$2 $LIBS"
160
+ echo "Compiling test case $3" >> config.log
161
+ do_cc $CFLAGS $local_cflags -o $TMPE $TMPC $LDFLAGS $local_ldflags
162
+ }
163
+
164
+ compile_prog_cxx() {
165
+ local_cflags="$1"
166
+ local_ldflags="$2 $LIBS"
167
+ echo "Compiling test case $3" >> config.log
168
+ do_cxx $CFLAGS $local_cflags -o $TMPE $TMPC $LDFLAGS $local_ldflags
169
+ }
170
+
171
+ has() {
172
+ type "$1" >/dev/null 2>&1
173
+ }
174
+
175
+ output_mak() {
176
+ echo "$1=$2" >> $config_host_mak
177
+ }
178
+
179
+ output_sym() {
180
+ output_mak "$1" "y"
181
+ echo "#define $1" >> $config_host_h
182
+ }
183
+
184
+ print_and_output_mak() {
185
+ print_config "$1" "$2"
186
+ output_mak "$1" "$2"
187
+ }
188
+ print_and_output_mak "prefix" "$prefix"
189
+ print_and_output_mak "includedir" "$includedir"
190
+ print_and_output_mak "libdir" "$libdir"
191
+ print_and_output_mak "libdevdir" "$libdevdir"
192
+ print_and_output_mak "relativelibdir" "$relativelibdir"
193
+ print_and_output_mak "mandir" "$mandir"
194
+ print_and_output_mak "datadir" "$datadir"
195
+
196
+ ##########################################
197
+ # check for compiler -Wstringop-overflow
198
+ stringop_overflow="no"
199
+ cat > $TMPC << EOF
200
+ #include <linux/fs.h>
201
+ int main(int argc, char **argv)
202
+ {
203
+ return 0;
204
+ }
205
+ EOF
206
+ if compile_prog "-Werror -Wstringop-overflow=0" "" "stringop_overflow"; then
207
+ stringop_overflow="yes"
208
+ fi
209
+ print_config "stringop_overflow" "$stringop_overflow"
210
+
211
+ ##########################################
212
+ # check for compiler -Warryr-bounds
213
+ array_bounds="no"
214
+ cat > $TMPC << EOF
215
+ #include <linux/fs.h>
216
+ int main(int argc, char **argv)
217
+ {
218
+ return 0;
219
+ }
220
+ EOF
221
+ if compile_prog "-Werror -Warray-bounds=0" "" "array_bounds"; then
222
+ array_bounds="yes"
223
+ fi
224
+ print_config "array_bounds" "$array_bounds"
225
+
226
+
227
+ ##########################################
228
+ # check for __kernel_rwf_t
229
+ __kernel_rwf_t="no"
230
+ cat > $TMPC << EOF
231
+ #include <linux/fs.h>
232
+ int main(int argc, char **argv)
233
+ {
234
+ __kernel_rwf_t x;
235
+ x = 0;
236
+ return x;
237
+ }
238
+ EOF
239
+ if compile_prog "" "" "__kernel_rwf_t"; then
240
+ __kernel_rwf_t="yes"
241
+ fi
242
+ print_config "__kernel_rwf_t" "$__kernel_rwf_t"
243
+
244
+ ##########################################
245
+ # check for __kernel_timespec
246
+ __kernel_timespec="no"
247
+ cat > $TMPC << EOF
248
+ #include <linux/time.h>
249
+ #include <linux/time_types.h>
250
+ int main(int argc, char **argv)
251
+ {
252
+ struct __kernel_timespec ts;
253
+ ts.tv_sec = 0;
254
+ ts.tv_nsec = 1;
255
+ return 0;
256
+ }
257
+ EOF
258
+ if compile_prog "" "" "__kernel_timespec"; then
259
+ __kernel_timespec="yes"
260
+ fi
261
+ print_config "__kernel_timespec" "$__kernel_timespec"
262
+
263
+ ##########################################
264
+ # check for open_how
265
+ open_how="no"
266
+ cat > $TMPC << EOF
267
+ #include <sys/types.h>
268
+ #include <sys/stat.h>
269
+ #include <fcntl.h>
270
+ #include <string.h>
271
+ int main(int argc, char **argv)
272
+ {
273
+ struct open_how how;
274
+ how.flags = 0;
275
+ how.mode = 0;
276
+ how.resolve = 0;
277
+ return 0;
278
+ }
279
+ EOF
280
+ if compile_prog "" "" "open_how"; then
281
+ open_how="yes"
282
+ fi
283
+ print_config "open_how" "$open_how"
284
+
285
+ ##########################################
286
+ # check for statx
287
+ statx="no"
288
+ cat > $TMPC << EOF
289
+ #include <sys/types.h>
290
+ #include <sys/stat.h>
291
+ #include <unistd.h>
292
+ #include <fcntl.h>
293
+ #include <string.h>
294
+ #include <linux/stat.h>
295
+ int main(int argc, char **argv)
296
+ {
297
+ struct statx x;
298
+
299
+ return memset(&x, 0, sizeof(x)) != NULL;
300
+ }
301
+ EOF
302
+ if compile_prog "" "" "statx"; then
303
+ statx="yes"
304
+ fi
305
+ print_config "statx" "$statx"
306
+
307
+ ##########################################
308
+ # check for C++
309
+ has_cxx="no"
310
+ cat > $TMPC << EOF
311
+ #include <iostream>
312
+ int main(int argc, char **argv)
313
+ {
314
+ std::cout << "Test";
315
+ return 0;
316
+ }
317
+ EOF
318
+ if compile_prog_cxx "" "" "C++"; then
319
+ has_cxx="yes"
320
+ fi
321
+ print_config "C++" "$has_cxx"
322
+
323
+ ##########################################
324
+ # check for ucontext support
325
+ has_ucontext="no"
326
+ cat > $TMPC << EOF
327
+ #include <ucontext.h>
328
+ int main(int argc, char **argv)
329
+ {
330
+ ucontext_t ctx;
331
+ getcontext(&ctx);
332
+ makecontext(&ctx, 0, 0);
333
+ return 0;
334
+ }
335
+ EOF
336
+ if compile_prog "" "" "has_ucontext"; then
337
+ has_ucontext="yes"
338
+ fi
339
+ print_config "has_ucontext" "$has_ucontext"
340
+
341
+
342
+ #############################################################################
343
+
344
+ if test "$__kernel_rwf_t" = "yes"; then
345
+ output_sym "CONFIG_HAVE_KERNEL_RWF_T"
346
+ fi
347
+ if test "$__kernel_timespec" = "yes"; then
348
+ output_sym "CONFIG_HAVE_KERNEL_TIMESPEC"
349
+ fi
350
+ if test "$open_how" = "yes"; then
351
+ output_sym "CONFIG_HAVE_OPEN_HOW"
352
+ fi
353
+ if test "$statx" = "yes"; then
354
+ output_sym "CONFIG_HAVE_STATX"
355
+ fi
356
+ if test "$has_cxx" = "yes"; then
357
+ output_sym "CONFIG_HAVE_CXX"
358
+ fi
359
+ if test "$has_ucontext" = "yes"; then
360
+ output_sym "CONFIG_HAVE_UCONTEXT"
361
+ fi
362
+ if test "$stringop_overflow" = "yes"; then
363
+ output_sym "CONFIG_HAVE_STRINGOP_OVERFLOW"
364
+ fi
365
+ if test "$array_bounds" = "yes"; then
366
+ output_sym "CONFIG_HAVE_ARRAY_BOUNDS"
367
+ fi
368
+
369
+ echo "CC=$cc" >> $config_host_mak
370
+ print_config "CC" "$cc"
371
+ echo "CXX=$cxx" >> $config_host_mak
372
+ print_config "CXX" "$cxx"
373
+
374
+ # generate compat.h
375
+ compat_h="src/include/liburing/compat.h"
376
+ cat > $compat_h << EOF
377
+ /* SPDX-License-Identifier: MIT */
378
+ #ifndef LIBURING_COMPAT_H
379
+ #define LIBURING_COMPAT_H
380
+
381
+ EOF
382
+
383
+ if test "$__kernel_rwf_t" != "yes"; then
384
+ cat >> $compat_h << EOF
385
+ typedef int __kernel_rwf_t;
386
+
387
+ EOF
388
+ fi
389
+ if test "$__kernel_timespec" != "yes"; then
390
+ cat >> $compat_h << EOF
391
+ #include <stdint.h>
392
+
393
+ struct __kernel_timespec {
394
+ int64_t tv_sec;
395
+ long long tv_nsec;
396
+ };
397
+
398
+ EOF
399
+ else
400
+ cat >> $compat_h << EOF
401
+ #include <linux/time_types.h>
402
+
403
+ EOF
404
+ fi
405
+ if test "$open_how" != "yes"; then
406
+ cat >> $compat_h << EOF
407
+ #include <inttypes.h>
408
+
409
+ struct open_how {
410
+ uint64_t flags;
411
+ uint64_t mode;
412
+ uint64_t resolve;
413
+ };
414
+
415
+ EOF
416
+ fi
417
+
418
+ cat >> $compat_h << EOF
419
+ #endif
420
+ EOF
@@ -0,0 +1,7 @@
1
+ liburing for Debian
2
+
3
+ The newest Linux IO interface i.e. io_uring, need
4
+ userspace library to support it. This package
5
+ liburing is the library for io_uring.
6
+
7
+ -- Liu Changcheng <changcheng.liu@aliyun.com> Thu, 14 Nov 2019 21:35:39 +0800
@@ -0,0 +1,27 @@
1
+ liburing (0.7-1) stable; urgency=low
2
+
3
+ * Update to 0.7
4
+ * Fix library symlinks
5
+
6
+ -- Stefan Metzmacher <metze@samba.org> Thu, 23 Jul 2020 00:23:00 +0200
7
+
8
+ liburing (0.4-2) stable; urgency=low
9
+
10
+ * Fix /usr/lib/*/liburing.so symlink to /lib/*/liburing.so.1.0.4
11
+
12
+ -- Stefan Metzmacher <metze@samba.org> Fri, 07 Feb 2020 15:30:00 +0100
13
+
14
+ liburing (0.4-1) stable; urgency=low
15
+
16
+ * Package liburing-0.4 using a packaging layout similar to libaio1
17
+
18
+ -- Stefan Metzmacher <metze@samba.org> Thu, 06 Feb 2020 11:30:00 +0100
19
+
20
+ liburing (0.2-1ubuntu1) stable; urgency=low
21
+
22
+ * Initial release.
23
+ * commit 4bce856d43ab1f9a64477aa5a8f9f02f53e64b74
24
+ * Author: Jens Axboe <axboe@kernel.dk>
25
+ * Date: Mon Nov 11 16:00:58 2019 -0700
26
+
27
+ -- Liu Changcheng <changcheng.liu@aliyun.com> Fri, 15 Nov 2019 00:06:46 +0800
@@ -0,0 +1 @@
1
+ 9
@@ -0,0 +1,48 @@
1
+ Source: liburing
2
+ Section: libs
3
+ Priority: optional
4
+ Maintainer: Liu Changcheng <changcheng.liu@intel.com>
5
+ Build-Depends: debhelper (>=9)
6
+ Standards-Version: 4.1.4
7
+ Homepage: https://git.kernel.dk/cgit/liburing/tree/README
8
+ Vcs-Git: https://git.kernel.dk/liburing
9
+ Vcs-Browser: https://git.kernel.dk/cgit/liburing/
10
+
11
+ Package: liburing1
12
+ Architecture: linux-any
13
+ Multi-Arch: same
14
+ Pre-Depends: ${misc:Pre-Depends}
15
+ Depends: ${misc:Depends}, ${shlibs:Depends}
16
+ Description: userspace library for using io_uring
17
+ io_uring is kernel feature to improve development
18
+ The newese Linux IO interface, io_uring could improve
19
+ system performance a lot. liburing is the userpace
20
+ library to use io_uring feature.
21
+ .
22
+ This package contains the shared library.
23
+
24
+ Package: liburing1-udeb
25
+ Package-Type: udeb
26
+ Section: debian-installer
27
+ Architecture: linux-any
28
+ Depends: ${misc:Depends}, ${shlibs:Depends},
29
+ Description: userspace library for using io_uring
30
+ io_uring is kernel feature to improve development
31
+ The newese Linux IO interface, io_uring could improve
32
+ system performance a lot. liburing is the userpace
33
+ library to use io_uring feature.
34
+ .
35
+ This package contains the udeb shared library.
36
+
37
+ Package: liburing-dev
38
+ Section: libdevel
39
+ Architecture: linux-any
40
+ Multi-Arch: same
41
+ Depends: ${misc:Depends}, liburing1 (= ${binary:Version}),
42
+ Description: userspace library for using io_uring
43
+ io_uring is kernel feature to improve development
44
+ The newese Linux IO interface, io_uring could improve
45
+ system performance a lot. liburing is the userpace
46
+ library to use io_uring feature.
47
+ .
48
+ This package contains the static library and the header files.
@@ -0,0 +1,49 @@
1
+ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
2
+ Upstream-Name: liburing
3
+ Source: https://git.kernel.dk/cgit/liburing/
4
+
5
+ Files: *
6
+ Copyright: 2019 Jens Axboe <axboe@kernel.dk>
7
+ License: GPL-2+ / MIT
8
+
9
+ Files: debian/*
10
+ Copyright: 2019 Changcheng Liu <changcheng.liu@aliyun.com>
11
+ License: GPL-2+
12
+
13
+ License: GPL-2+
14
+ This package is free software; you can redistribute it and/or modify
15
+ it under the terms of the GNU General Public License as published by
16
+ the Free Software Foundation; either version 2 of the License, or
17
+ (at your option) any later version.
18
+ .
19
+ This package is distributed in the hope that it will be useful,
20
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
21
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22
+ GNU General Public License for more details.
23
+ .
24
+ You should have received a copy of the GNU General Public License
25
+ along with this program. If not, see <https://www.gnu.org/licenses/>
26
+ .
27
+ On Debian systems, the complete text of the GNU General
28
+ Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
29
+
30
+ License: MIT
31
+ Copyright 2020 Jens Axboe
32
+
33
+ Permission is hereby granted, free of charge, to any person obtaining a copy
34
+ of this software and associated documentation files (the "Software"), to deal
35
+ in the Software without restriction, including without limitation the rights
36
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
37
+ copies of the Software, and to permit persons to whom the Software is
38
+ furnished to do so, subject to the following conditions:
39
+
40
+ The above copyright notice and this permission notice shall be included in all
41
+ copies or substantial portions of the Software.
42
+
43
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
44
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
45
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
46
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
47
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
48
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
49
+ SOFTWARE.
@@ -0,0 +1,4 @@
1
+ usr/include
2
+ usr/lib/*/lib*.so
3
+ usr/lib/*/lib*.a
4
+ usr/lib/*/pkgconfig
@@ -0,0 +1,6 @@
1
+ man/io_uring_setup.2
2
+ man/io_uring_enter.2
3
+ man/io_uring_register.2
4
+ man/io_uring_queue_exit.3
5
+ man/io_uring_queue_init.3
6
+ man/io_uring_get_sqe.3
@@ -0,0 +1 @@
1
+ lib/*/lib*.so.*
@@ -0,0 +1 @@
1
+ lib/*/lib*.so.*
@@ -0,0 +1,32 @@
1
+ liburing.so.1 liburing1 #MINVER#
2
+ (symver)LIBURING_0.1 0.1-1
3
+ io_uring_get_sqe@LIBURING_0.1 0.1-1
4
+ io_uring_queue_exit@LIBURING_0.1 0.1-1
5
+ io_uring_queue_init@LIBURING_0.1 0.1-1
6
+ io_uring_queue_mmap@LIBURING_0.1 0.1-1
7
+ io_uring_register_buffers@LIBURING_0.1 0.1-1
8
+ io_uring_register_eventfd@LIBURING_0.1 0.1-1
9
+ io_uring_register_eventfd_async@LIBURING_0.6 0.6-1
10
+ io_uring_register_files@LIBURING_0.1 0.1-1
11
+ io_uring_submit@LIBURING_0.1 0.1-1
12
+ io_uring_submit_and_wait@LIBURING_0.1 0.1-1
13
+ io_uring_unregister_buffers@LIBURING_0.1 0.1-1
14
+ io_uring_unregister_files@LIBURING_0.1 0.1-1
15
+ (symver)LIBURING_0.2 0.2-1
16
+ __io_uring_get_cqe@LIBURING_0.2 0.2-1
17
+ io_uring_queue_init_params@LIBURING_0.2 0.2-1
18
+ io_uring_register_files_update@LIBURING_0.2 0.2-1
19
+ io_uring_peek_batch_cqe@LIBURING_0.2 0.2-1
20
+ io_uring_wait_cqe_timeout@LIBURING_0.2 0.2-1
21
+ io_uring_wait_cqes@LIBURING_0.2 0.2-1
22
+ (symver)LIBURING_0.3 0.3-1
23
+ (symver)LIBURING_0.4 0.4-1
24
+ (symver)LIBURING_0.5 0.5-1
25
+ (symver)LIBURING_0.6 0.6-1
26
+ (symver)LIBURING_0.7 0.7-1
27
+ io_uring_get_probe@LIBURING_0.4 0.4-1
28
+ io_uring_get_probe_ring@LIBURING_0.4 0.4-1
29
+ io_uring_register_personality@LIBURING_0.4 0.4-1
30
+ io_uring_register_probe@LIBURING_0.4 0.4-1
31
+ io_uring_ring_dontfork@LIBURING_0.4 0.4-1
32
+ io_uring_unregister_personality@LIBURING_0.4 0.4-1
@@ -0,0 +1 @@
1
+ # You must remove unused comment lines for the released package.
@@ -0,0 +1,81 @@
1
+ #!/usr/bin/make -f
2
+
3
+ # Uncomment this to turn on verbose mode.
4
+ #export DH_VERBOSE=1
5
+
6
+ DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow
7
+ DEB_CFLAGS_MAINT_PREPEND = -Wall
8
+
9
+ include /usr/share/dpkg/default.mk
10
+ include /usr/share/dpkg/buildtools.mk
11
+
12
+ export CC
13
+
14
+ lib := liburing1
15
+ libdbg := $(lib)-dbg
16
+ libudeb := $(lib)-udeb
17
+ libdev := liburing-dev
18
+
19
+ build-indep:
20
+
21
+ build-arch:
22
+ dh_testdir
23
+
24
+ $(MAKE) CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
25
+
26
+ build: build-indep build-arch
27
+
28
+ clean:
29
+ dh_testdir
30
+ dh_testroot
31
+
32
+ $(MAKE) clean
33
+
34
+ dh_clean
35
+
36
+ check-arch: build-arch
37
+ dh_testdir
38
+
39
+ ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
40
+ $(MAKE) CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
41
+ partcheck
42
+ endif
43
+
44
+ install-arch: check-arch
45
+ dh_testdir
46
+ dh_testroot
47
+ dh_clean
48
+ dh_installdirs
49
+
50
+ $(MAKE) install \
51
+ DESTDIR=$(CURDIR)/debian/tmp \
52
+ libdir=/lib/$(DEB_HOST_MULTIARCH) \
53
+ libdevdir=/usr/lib/$(DEB_HOST_MULTIARCH) \
54
+ relativelibdir=/lib/$(DEB_HOST_MULTIARCH)/
55
+
56
+ binary: binary-indep binary-arch
57
+
58
+ binary-indep:
59
+ # Nothing to do.
60
+
61
+ binary-arch: install-arch
62
+ dh_testdir
63
+ dh_testroot
64
+ dh_install -a
65
+ dh_installdocs -a
66
+ dh_installexamples -a
67
+ dh_installman -a
68
+ dh_lintian -a
69
+ dh_link -a
70
+ dh_strip -a --ddeb-migration='$(libdbg) (<< 0.3)'
71
+ dh_compress -a
72
+ dh_fixperms -a
73
+ dh_makeshlibs -a --add-udeb '$(libudeb)'
74
+ dh_shlibdeps -a
75
+ dh_installdeb -a
76
+ dh_gencontrol -a
77
+ dh_md5sums -a
78
+ dh_builddeb -a
79
+
80
+ .PHONY: clean build-indep build-arch build
81
+ .PHONY: install-arch binary-indep binary-arch binary
@@ -0,0 +1 @@
1
+ 3.0 (quilt)
@@ -0,0 +1,2 @@
1
+ #abort-on-upstream-changes
2
+ #unapply-patches