rufus-lua-win 5.1.5
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.
- checksums.yaml +7 -0
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +69 -0
- data/Rakefile +1 -0
- data/lib/rufus/lua/win.rb +18 -0
- data/lib/rufus/lua/win/version.rb +7 -0
- data/rufus-lua-win.gemspec +23 -0
- data/vendor/lua/bin/liblua.dll +0 -0
- data/vendor/lua/lib/lua/LuaXml.lua +119 -0
- data/vendor/lua/lib/lua/alien.lua +250 -0
- data/vendor/lua/lib/lua/alien/core.dll +0 -0
- data/vendor/lua/lib/lua/alien/struct.dll +0 -0
- data/vendor/lua/lib/lua/base.lua +536 -0
- data/vendor/lua/lib/lua/bin.lua +20 -0
- data/vendor/lua/lib/lua/bit.dll +0 -0
- data/vendor/lua/lib/lua/cdlua.dll +0 -0
- data/vendor/lua/lib/lua/cdluacontextplus.dll +0 -0
- data/vendor/lua/lib/lua/cdluagl.dll +0 -0
- data/vendor/lua/lib/lua/cdluaim.dll +0 -0
- data/vendor/lua/lib/lua/cdluapdf.dll +0 -0
- data/vendor/lua/lib/lua/copas.lua +543 -0
- data/vendor/lua/lib/lua/coxpcall.lua +57 -0
- data/vendor/lua/lib/lua/date.lua +745 -0
- data/vendor/lua/lib/lua/debug_ext.lua +84 -0
- data/vendor/lua/lib/lua/debug_init.lua +2 -0
- data/vendor/lua/lib/lua/des56.dll +0 -0
- data/vendor/lua/lib/lua/dist/config.lua +109 -0
- data/vendor/lua/lib/lua/dist/constraints.lua +271 -0
- data/vendor/lua/lib/lua/dist/depends.lua +601 -0
- data/vendor/lua/lib/lua/dist/git.lua +307 -0
- data/vendor/lua/lib/lua/dist/init.lua +278 -0
- data/vendor/lua/lib/lua/dist/manifest.lua +225 -0
- data/vendor/lua/lib/lua/dist/package.lua +583 -0
- data/vendor/lua/lib/lua/dist/sys.lua +367 -0
- data/vendor/lua/lib/lua/dist/utils.lua +130 -0
- data/vendor/lua/lib/lua/ex.dll +0 -0
- data/vendor/lua/lib/lua/fstable.lua +116 -0
- data/vendor/lua/lib/lua/getopt.lua +273 -0
- data/vendor/lua/lib/lua/git.lua +5 -0
- data/vendor/lua/lib/lua/git/core.dll +0 -0
- data/vendor/lua/lib/lua/git/objects.lua +121 -0
- data/vendor/lua/lib/lua/git/pack.lua +316 -0
- data/vendor/lua/lib/lua/git/protocol.lua +188 -0
- data/vendor/lua/lib/lua/git/repo.lua +283 -0
- data/vendor/lua/lib/lua/git/util.lua +233 -0
- data/vendor/lua/lib/lua/gzio.dll +0 -0
- data/vendor/lua/lib/lua/gzip.lua +81 -0
- data/vendor/lua/lib/lua/iconv.dll +0 -0
- data/vendor/lua/lib/lua/imlua.dll +0 -0
- data/vendor/lua/lib/lua/imlua_fftw.dll +0 -0
- data/vendor/lua/lib/lua/imlua_jp2.dll +0 -0
- data/vendor/lua/lib/lua/imlua_process.dll +0 -0
- data/vendor/lua/lib/lua/imlua_process_omp.dll +0 -0
- data/vendor/lua/lib/lua/io_ext.lua +115 -0
- data/vendor/lua/lib/lua/iuplua.dll +0 -0
- data/vendor/lua/lib/lua/iuplua_mglplot.dll +0 -0
- data/vendor/lua/lib/lua/iuplua_pplot.dll +0 -0
- data/vendor/lua/lib/lua/iupluacd.dll +0 -0
- data/vendor/lua/lib/lua/iupluacontrols.dll +0 -0
- data/vendor/lua/lib/lua/iupluagl.dll +0 -0
- data/vendor/lua/lib/lua/iupluaim.dll +0 -0
- data/vendor/lua/lib/lua/iupluaimglib.dll +0 -0
- data/vendor/lua/lib/lua/iupluatuio.dll +0 -0
- data/vendor/lua/lib/lua/lanes-keeper.lua +302 -0
- data/vendor/lua/lib/lua/lanes.lua +591 -0
- data/vendor/lua/lib/lua/lanes/core.dll +0 -0
- data/vendor/lua/lib/lua/lcs.lua +55 -0
- data/vendor/lua/lib/lua/lemock.lua +659 -0
- data/vendor/lua/lib/lua/lfs.dll +0 -0
- data/vendor/lua/lib/lua/list.lua +375 -0
- data/vendor/lua/lib/lua/logging.lua +189 -0
- data/vendor/lua/lib/lua/logging/console.lua +22 -0
- data/vendor/lua/lib/lua/logging/email.lua +44 -0
- data/vendor/lua/lib/lua/logging/file.lua +55 -0
- data/vendor/lua/lib/lua/logging/rolling_file.lua +81 -0
- data/vendor/lua/lib/lua/logging/socket.lua +35 -0
- data/vendor/lua/lib/lua/logging/sql.lua +64 -0
- data/vendor/lua/lib/lua/loop/base.lua +68 -0
- data/vendor/lua/lib/lua/loop/cached.lua +312 -0
- data/vendor/lua/lib/lua/loop/collection/MapWithArrayOfKeys.lua +64 -0
- data/vendor/lua/lib/lua/loop/collection/ObjectCache.lua +39 -0
- data/vendor/lua/lib/lua/loop/collection/OrderedSet.lua +164 -0
- data/vendor/lua/lib/lua/loop/collection/PriorityQueue.lua +86 -0
- data/vendor/lua/lib/lua/loop/collection/UnorderedArray.lua +32 -0
- data/vendor/lua/lib/lua/loop/collection/UnorderedArraySet.lua +56 -0
- data/vendor/lua/lib/lua/loop/compiler/Arguments.lua +108 -0
- data/vendor/lua/lib/lua/loop/compiler/Conditional.lua +50 -0
- data/vendor/lua/lib/lua/loop/compiler/Expression.lua +215 -0
- data/vendor/lua/lib/lua/loop/component/base.lua +221 -0
- data/vendor/lua/lib/lua/loop/component/contained.lua +71 -0
- data/vendor/lua/lib/lua/loop/component/dynamic.lua +223 -0
- data/vendor/lua/lib/lua/loop/component/intercepted.lua +354 -0
- data/vendor/lua/lib/lua/loop/component/wrapped.lua +195 -0
- data/vendor/lua/lib/lua/loop/debug/Inspector.lua +521 -0
- data/vendor/lua/lib/lua/loop/debug/Matcher.lua +192 -0
- data/vendor/lua/lib/lua/loop/debug/Verbose.lua +266 -0
- data/vendor/lua/lib/lua/loop/debug/Viewer.lua +200 -0
- data/vendor/lua/lib/lua/loop/multiple.lua +105 -0
- data/vendor/lua/lib/lua/loop/object/Exception.lua +57 -0
- data/vendor/lua/lib/lua/loop/object/Publisher.lua +43 -0
- data/vendor/lua/lib/lua/loop/object/Wrapper.lua +39 -0
- data/vendor/lua/lib/lua/loop/scoped.lua +585 -0
- data/vendor/lua/lib/lua/loop/serial/FileStream.lua +48 -0
- data/vendor/lua/lib/lua/loop/serial/Serializer.lua +291 -0
- data/vendor/lua/lib/lua/loop/serial/SocketStream.lua +51 -0
- data/vendor/lua/lib/lua/loop/serial/StringStream.lua +47 -0
- data/vendor/lua/lib/lua/loop/simple.lua +75 -0
- data/vendor/lua/lib/lua/loop/table.lua +71 -0
- data/vendor/lua/lib/lua/loop/thread/CoSocket.lua +416 -0
- data/vendor/lua/lib/lua/loop/thread/IOScheduler.lua +170 -0
- data/vendor/lua/lib/lua/loop/thread/Scheduler.lua +327 -0
- data/vendor/lua/lib/lua/loop/thread/SocketScheduler.lua +88 -0
- data/vendor/lua/lib/lua/loop/thread/Timer.lua +54 -0
- data/vendor/lua/lib/lua/lpeg.dll +0 -0
- data/vendor/lua/lib/lua/ltn12.lua +292 -0
- data/vendor/lua/lib/lua/luaXML_lib.dll +0 -0
- data/vendor/lua/lib/lua/luacurl.dll +0 -0
- data/vendor/lua/lib/lua/luadoc/config.lua +34 -0
- data/vendor/lua/lib/lua/luadoc/doclet/debug.lua +46 -0
- data/vendor/lua/lib/lua/luadoc/doclet/formatter.lua +84 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html.lua +289 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/file.lp +113 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/function.lp +64 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/index.lp +70 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/luadoc.css +286 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/menu.lp +55 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/module.lp +109 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/table.lp +15 -0
- data/vendor/lua/lib/lua/luadoc/doclet/raw.lua +12 -0
- data/vendor/lua/lib/lua/luadoc/init.lua +58 -0
- data/vendor/lua/lib/lua/luadoc/lp.lua +130 -0
- data/vendor/lua/lib/lua/luadoc/taglet/standard.lua +495 -0
- data/vendor/lua/lib/lua/luadoc/taglet/standard/tags.lua +171 -0
- data/vendor/lua/lib/lua/luadoc/util.lua +233 -0
- data/vendor/lua/lib/lua/luagl.dll +0 -0
- data/vendor/lua/lib/lua/luaglu.dll +0 -0
- data/vendor/lua/lib/lua/luaidl.lua +113 -0
- data/vendor/lua/lib/lua/luaidl/lex.lua +793 -0
- data/vendor/lua/lib/lua/luaidl/pre.lua +149 -0
- data/vendor/lua/lib/lua/luaidl/sin.lua +3631 -0
- data/vendor/lua/lib/lua/luarocks/add.lua +108 -0
- data/vendor/lua/lib/lua/luarocks/admin_remove.lua +87 -0
- data/vendor/lua/lib/lua/luarocks/build.lua +330 -0
- data/vendor/lua/lib/lua/luarocks/build/builtin.lua +253 -0
- data/vendor/lua/lib/lua/luarocks/build/cmake.lua +54 -0
- data/vendor/lua/lib/lua/luarocks/build/command.lua +32 -0
- data/vendor/lua/lib/lua/luarocks/build/make.lua +92 -0
- data/vendor/lua/lib/lua/luarocks/cache.lua +85 -0
- data/vendor/lua/lib/lua/luarocks/cfg.lua +449 -0
- data/vendor/lua/lib/lua/luarocks/command_line.lua +163 -0
- data/vendor/lua/lib/lua/luarocks/deps.lua +654 -0
- data/vendor/lua/lib/lua/luarocks/dir.lua +69 -0
- data/vendor/lua/lib/lua/luarocks/download.lua +90 -0
- data/vendor/lua/lib/lua/luarocks/fetch.lua +321 -0
- data/vendor/lua/lib/lua/luarocks/fetch/cvs.lua +44 -0
- data/vendor/lua/lib/lua/luarocks/fetch/git.lua +81 -0
- data/vendor/lua/lib/lua/luarocks/fetch/git_file.lua +17 -0
- data/vendor/lua/lib/lua/luarocks/fetch/hg.lua +54 -0
- data/vendor/lua/lib/lua/luarocks/fetch/sscm.lua +42 -0
- data/vendor/lua/lib/lua/luarocks/fetch/svn.lua +53 -0
- data/vendor/lua/lib/lua/luarocks/fs.lua +40 -0
- data/vendor/lua/lib/lua/luarocks/fs/lua.lua +676 -0
- data/vendor/lua/lib/lua/luarocks/fs/unix.lua +88 -0
- data/vendor/lua/lib/lua/luarocks/fs/unix/tools.lua +325 -0
- data/vendor/lua/lib/lua/luarocks/fs/win32.lua +107 -0
- data/vendor/lua/lib/lua/luarocks/fs/win32/tools.lua +334 -0
- data/vendor/lua/lib/lua/luarocks/help.lua +101 -0
- data/vendor/lua/lib/lua/luarocks/index.lua +172 -0
- data/vendor/lua/lib/lua/luarocks/install.lua +151 -0
- data/vendor/lua/lib/lua/luarocks/list.lua +35 -0
- data/vendor/lua/lib/lua/luarocks/loader.lua +228 -0
- data/vendor/lua/lib/lua/luarocks/make.lua +71 -0
- data/vendor/lua/lib/lua/luarocks/make_manifest.lua +34 -0
- data/vendor/lua/lib/lua/luarocks/manif.lua +360 -0
- data/vendor/lua/lib/lua/luarocks/manif_core.lua +75 -0
- data/vendor/lua/lib/lua/luarocks/new_version.lua +141 -0
- data/vendor/lua/lib/lua/luarocks/pack.lua +205 -0
- data/vendor/lua/lib/lua/luarocks/path.lua +315 -0
- data/vendor/lua/lib/lua/luarocks/persist.lua +173 -0
- data/vendor/lua/lib/lua/luarocks/refresh_cache.lua +30 -0
- data/vendor/lua/lib/lua/luarocks/remove.lua +135 -0
- data/vendor/lua/lib/lua/luarocks/rep.lua +313 -0
- data/vendor/lua/lib/lua/luarocks/require.lua +6 -0
- data/vendor/lua/lib/lua/luarocks/search.lua +399 -0
- data/vendor/lua/lib/lua/luarocks/show.lua +138 -0
- data/vendor/lua/lib/lua/luarocks/site_config.lua +23 -0
- data/vendor/lua/lib/lua/luarocks/tools/patch.lua +712 -0
- data/vendor/lua/lib/lua/luarocks/tools/tar.lua +144 -0
- data/vendor/lua/lib/lua/luarocks/tools/zip.lua +245 -0
- data/vendor/lua/lib/lua/luarocks/type_check.lua +267 -0
- data/vendor/lua/lib/lua/luarocks/unpack.lua +151 -0
- data/vendor/lua/lib/lua/luarocks/util.lua +420 -0
- data/vendor/lua/lib/lua/luarocks/validate.lua +164 -0
- data/vendor/lua/lib/lua/luars232.dll +0 -0
- data/vendor/lua/lib/lua/luasql/mysql.dll +0 -0
- data/vendor/lua/lib/lua/luasql/postgres.dll +0 -0
- data/vendor/lua/lib/lua/luasql/sqlite3.dll +0 -0
- data/vendor/lua/lib/lua/luaunit.lua +601 -0
- data/vendor/lua/lib/lua/lxp.dll +0 -0
- data/vendor/lua/lib/lua/lxp/lom.lua +60 -0
- data/vendor/lua/lib/lua/math_ext.lua +27 -0
- data/vendor/lua/lib/lua/mbox.lua +53 -0
- data/vendor/lua/lib/lua/md5.lua +19 -0
- data/vendor/lua/lib/lua/md5/core.dll +0 -0
- data/vendor/lua/lib/lua/metalua.lua +0 -0
- data/vendor/lua/lib/lua/metalua/ast_to_string.mlua +553 -0
- data/vendor/lua/lib/lua/metalua/base.lua +104 -0
- data/vendor/lua/lib/lua/metalua/bytecode.lua +0 -0
- data/vendor/lua/lib/lua/metalua/clopts.mlua +204 -0
- data/vendor/lua/lib/lua/metalua/compiler.lua +3 -0
- data/vendor/lua/lib/lua/metalua/dollar.mlua +24 -0
- data/vendor/lua/lib/lua/metalua/extension/H-runtime.mlua +216 -0
- data/vendor/lua/lib/lua/metalua/extension/H.mlua +22 -0
- data/vendor/lua/lib/lua/metalua/extension/anaphoric.mlua +54 -0
- data/vendor/lua/lib/lua/metalua/extension/clist.mlua +149 -0
- data/vendor/lua/lib/lua/metalua/extension/continue.mlua +53 -0
- data/vendor/lua/lib/lua/metalua/extension/localin.mlua +2 -0
- data/vendor/lua/lib/lua/metalua/extension/log.mlua +39 -0
- data/vendor/lua/lib/lua/metalua/extension/match.mlua +374 -0
- data/vendor/lua/lib/lua/metalua/extension/ternary.mlua +10 -0
- data/vendor/lua/lib/lua/metalua/extension/trycatch.mlua +189 -0
- data/vendor/lua/lib/lua/metalua/extension/types-runtime.mlua +159 -0
- data/vendor/lua/lib/lua/metalua/extension/types.mlua +352 -0
- data/vendor/lua/lib/lua/metalua/extension/withdo.mlua +30 -0
- data/vendor/lua/lib/lua/metalua/extension/xglobal-runtime.lua +41 -0
- data/vendor/lua/lib/lua/metalua/extension/xglobal.mlua +20 -0
- data/vendor/lua/lib/lua/metalua/extension/xloop.mlua +100 -0
- data/vendor/lua/lib/lua/metalua/extension/xmatch.mlua +216 -0
- data/vendor/lua/lib/lua/metalua/metaloop.mlua +76 -0
- data/vendor/lua/lib/lua/metalua/mlc.lua +0 -0
- data/vendor/lua/lib/lua/metalua/mlc_xcall.lua +119 -0
- data/vendor/lua/lib/lua/metalua/mlp.lua +0 -0
- data/vendor/lua/lib/lua/metalua/package2.lua +101 -0
- data/vendor/lua/lib/lua/metalua/runtime.lua +3 -0
- data/vendor/lua/lib/lua/metalua/string2.lua +44 -0
- data/vendor/lua/lib/lua/metalua/table2.lua +372 -0
- data/vendor/lua/lib/lua/metalua/walk.mlua +304 -0
- data/vendor/lua/lib/lua/metalua/walk/bindings.mlua +41 -0
- data/vendor/lua/lib/lua/metalua/walk/id.mlua +186 -0
- data/vendor/lua/lib/lua/metalua/walk/scope.lua +54 -0
- data/vendor/lua/lib/lua/mime.lua +87 -0
- data/vendor/lua/lib/lua/mime/core.dll +0 -0
- data/vendor/lua/lib/lua/mobdebug.lua +1484 -0
- data/vendor/lua/lib/lua/modules.lua +16 -0
- data/vendor/lua/lib/lua/object.lua +56 -0
- data/vendor/lua/lib/lua/oil/Exception.lua +26 -0
- data/vendor/lua/lib/lua/oil/arch.lua +27 -0
- data/vendor/lua/lib/lua/oil/arch/basic/client.lua +29 -0
- data/vendor/lua/lib/lua/oil/arch/basic/common.lua +13 -0
- data/vendor/lua/lib/lua/oil/arch/basic/server.lua +27 -0
- data/vendor/lua/lib/lua/oil/arch/cooperative/common.lua +10 -0
- data/vendor/lua/lib/lua/oil/arch/cooperative/server.lua +16 -0
- data/vendor/lua/lib/lua/oil/arch/corba/client.lua +39 -0
- data/vendor/lua/lib/lua/oil/arch/corba/common.lua +58 -0
- data/vendor/lua/lib/lua/oil/arch/corba/intercepted/client.lua +9 -0
- data/vendor/lua/lib/lua/oil/arch/corba/intercepted/server.lua +9 -0
- data/vendor/lua/lib/lua/oil/arch/corba/server.lua +35 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/byref.lua +18 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/client.lua +19 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/common.lua +18 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/server.lua +19 -0
- data/vendor/lua/lib/lua/oil/arch/typed/client.lua +27 -0
- data/vendor/lua/lib/lua/oil/arch/typed/common.lua +9 -0
- data/vendor/lua/lib/lua/oil/arch/typed/server.lua +18 -0
- data/vendor/lua/lib/lua/oil/assert.lua +87 -0
- data/vendor/lua/lib/lua/oil/builder.lua +45 -0
- data/vendor/lua/lib/lua/oil/builder/basic/client.lua +31 -0
- data/vendor/lua/lib/lua/oil/builder/basic/common.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/basic/server.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/cooperative/common.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/cooperative/server.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/corba/client.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/corba/common.lua +24 -0
- data/vendor/lua/lib/lua/oil/builder/corba/gencode.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/corba/intercepted/client.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/corba/intercepted/server.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/corba/server.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/lua/client.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/lua/server.lua +12 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/byref.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/client.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/common.lua +14 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/server.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/typed/client.lua +16 -0
- data/vendor/lua/lib/lua/oil/builder/typed/server.lua +12 -0
- data/vendor/lua/lib/lua/oil/compat.lua +846 -0
- data/vendor/lua/lib/lua/oil/component.lua +1 -0
- data/vendor/lua/lib/lua/oil/corba/giop.lua +301 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Codec.lua +1568 -0
- data/vendor/lua/lib/lua/oil/corba/giop/CodecGen.lua +589 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Exception.lua +25 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Indexer.lua +63 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Listener.lua +343 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Messenger.lua +228 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Referrer.lua +180 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Requester.lua +462 -0
- data/vendor/lua/lib/lua/oil/corba/idl.lua +597 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Compiler.lua +133 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Importer.lua +235 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Indexer.lua +95 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Registry.lua +1821 -0
- data/vendor/lua/lib/lua/oil/corba/idl/ir.lua +847 -0
- data/vendor/lua/lib/lua/oil/corba/idl/sysex.lua +21 -0
- data/vendor/lua/lib/lua/oil/corba/iiop/Profiler.lua +200 -0
- data/vendor/lua/lib/lua/oil/corba/intercepted/Listener.lua +158 -0
- data/vendor/lua/lib/lua/oil/corba/intercepted/Requester.lua +181 -0
- data/vendor/lua/lib/lua/oil/corba/services/event.lua +126 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/ConsumerAdmin.lua +50 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/EventFactory.lua +15 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/EventQueue.lua +37 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/ProxyPushConsumer.lua +75 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/ProxyPushSupplier.lua +62 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/SingleDeferredDispatcher.lua +60 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/SingleSynchronousDispatcher.lua +39 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/SupplierAdmin.lua +50 -0
- data/vendor/lua/lib/lua/oil/corba/services/naming.lua +436 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Acceptor.lua +268 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Channels.lua +121 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Connector.lua +147 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Dispatcher.lua +99 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies.lua +86 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/asynchronous.lua +56 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/protected.lua +17 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/synchronous.lua +17 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/utils.lua +29 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Receiver.lua +110 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Servants.lua +207 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Sockets.lua +44 -0
- data/vendor/lua/lib/lua/oil/kernel/cooperative/Receiver.lua +139 -0
- data/vendor/lua/lib/lua/oil/kernel/intercepted/Listener.lua +47 -0
- data/vendor/lua/lib/lua/oil/kernel/intercepted/Requester.lua +58 -0
- data/vendor/lua/lib/lua/oil/kernel/lua/Dispatcher.lua +76 -0
- data/vendor/lua/lib/lua/oil/kernel/lua/Proxies.lua +69 -0
- data/vendor/lua/lib/lua/oil/kernel/typed/Dispatcher.lua +91 -0
- data/vendor/lua/lib/lua/oil/kernel/typed/Proxies.lua +153 -0
- data/vendor/lua/lib/lua/oil/kernel/typed/Servants.lua +137 -0
- data/vendor/lua/lib/lua/oil/ludo/Codec.lua +66 -0
- data/vendor/lua/lib/lua/oil/ludo/CodecByRef.lua +103 -0
- data/vendor/lua/lib/lua/oil/ludo/Listener.lua +151 -0
- data/vendor/lua/lib/lua/oil/ludo/Referrer.lua +72 -0
- data/vendor/lua/lib/lua/oil/ludo/Requester.lua +107 -0
- data/vendor/lua/lib/lua/oil/oo.lua +1 -0
- data/vendor/lua/lib/lua/oil/port.lua +1 -0
- data/vendor/lua/lib/lua/oil/properties.lua +57 -0
- data/vendor/lua/lib/lua/oil/verbose.lua +133 -0
- data/vendor/lua/lib/lua/package_ext.lua +15 -0
- data/vendor/lua/lib/lua/parser.lua +268 -0
- data/vendor/lua/lib/lua/pl/Date.lua +555 -0
- data/vendor/lua/lib/lua/pl/List.lua +613 -0
- data/vendor/lua/lib/lua/pl/Map.lua +113 -0
- data/vendor/lua/lib/lua/pl/MultiMap.lua +62 -0
- data/vendor/lua/lib/lua/pl/OrderedMap.lua +151 -0
- data/vendor/lua/lib/lua/pl/Set.lua +153 -0
- data/vendor/lua/lib/lua/pl/app.lua +165 -0
- data/vendor/lua/lib/lua/pl/array2d.lua +501 -0
- data/vendor/lua/lib/lua/pl/class.lua +180 -0
- data/vendor/lua/lib/lua/pl/comprehension.lua +286 -0
- data/vendor/lua/lib/lua/pl/config.lua +176 -0
- data/vendor/lua/lib/lua/pl/data.lua +606 -0
- data/vendor/lua/lib/lua/pl/dir.lua +475 -0
- data/vendor/lua/lib/lua/pl/file.lua +70 -0
- data/vendor/lua/lib/lua/pl/func.lua +376 -0
- data/vendor/lua/lib/lua/pl/init.lua +68 -0
- data/vendor/lua/lib/lua/pl/input.lua +173 -0
- data/vendor/lua/lib/lua/pl/lapp.lua +407 -0
- data/vendor/lua/lib/lua/pl/lexer.lua +456 -0
- data/vendor/lua/lib/lua/pl/luabalanced.lua +264 -0
- data/vendor/lua/lib/lua/pl/operator.lua +201 -0
- data/vendor/lua/lib/lua/pl/path.lua +398 -0
- data/vendor/lua/lib/lua/pl/permute.lua +63 -0
- data/vendor/lua/lib/lua/pl/platf/luajava.lua +101 -0
- data/vendor/lua/lib/lua/pl/pretty.lua +285 -0
- data/vendor/lua/lib/lua/pl/seq.lua +551 -0
- data/vendor/lua/lib/lua/pl/sip.lua +344 -0
- data/vendor/lua/lib/lua/pl/strict.lua +70 -0
- data/vendor/lua/lib/lua/pl/stringio.lua +158 -0
- data/vendor/lua/lib/lua/pl/stringx.lua +440 -0
- data/vendor/lua/lib/lua/pl/tablex.lua +817 -0
- data/vendor/lua/lib/lua/pl/template.lua +103 -0
- data/vendor/lua/lib/lua/pl/test.lua +135 -0
- data/vendor/lua/lib/lua/pl/text.lua +243 -0
- data/vendor/lua/lib/lua/pl/utils.lua +550 -0
- data/vendor/lua/lib/lua/pl/xml.lua +689 -0
- data/vendor/lua/lib/lua/profiler.dll +0 -0
- data/vendor/lua/lib/lua/re.lua +248 -0
- data/vendor/lua/lib/lua/rex_onig.dll +0 -0
- data/vendor/lua/lib/lua/rex_pcre.dll +0 -0
- data/vendor/lua/lib/lua/rex_posix.dll +0 -0
- data/vendor/lua/lib/lua/rings.dll +0 -0
- data/vendor/lua/lib/lua/serialize.lua +193 -0
- data/vendor/lua/lib/lua/set.lua +149 -0
- data/vendor/lua/lib/lua/socket.lua +133 -0
- data/vendor/lua/lib/lua/socket/core.dll +0 -0
- data/vendor/lua/lib/lua/socket/ftp.lua +281 -0
- data/vendor/lua/lib/lua/socket/http.lua +350 -0
- data/vendor/lua/lib/lua/socket/smtp.lua +251 -0
- data/vendor/lua/lib/lua/socket/tp.lua +123 -0
- data/vendor/lua/lib/lua/socket/url.lua +297 -0
- data/vendor/lua/lib/lua/ssl.dll +0 -0
- data/vendor/lua/lib/lua/ssl.lua +93 -0
- data/vendor/lua/lib/lua/ssl/https.lua +138 -0
- data/vendor/lua/lib/lua/stable.lua +28 -0
- data/vendor/lua/lib/lua/std.lua +16 -0
- data/vendor/lua/lib/lua/strbuf.lua +32 -0
- data/vendor/lua/lib/lua/strict.lua +45 -0
- data/vendor/lua/lib/lua/string_ext.lua +274 -0
- data/vendor/lua/lib/lua/table_ext.lua +117 -0
- data/vendor/lua/lib/lua/tar.lua +262 -0
- data/vendor/lua/lib/lua/task.dll +0 -0
- data/vendor/lua/lib/lua/tree.lua +81 -0
- data/vendor/lua/lib/lua/unicode.dll +0 -0
- data/vendor/lua/lib/lua/verbose_require.lua +11 -0
- data/vendor/lua/lib/lua/vstruct.lua +86 -0
- data/vendor/lua/lib/lua/vstruct/ast.lua +192 -0
- data/vendor/lua/lib/lua/vstruct/ast/Bitpack.lua +33 -0
- data/vendor/lua/lib/lua/vstruct/ast/Generator.lua +174 -0
- data/vendor/lua/lib/lua/vstruct/ast/IO.lua +45 -0
- data/vendor/lua/lib/lua/vstruct/ast/List.lua +56 -0
- data/vendor/lua/lib/lua/vstruct/ast/Name.lua +20 -0
- data/vendor/lua/lib/lua/vstruct/ast/Repeat.lua +23 -0
- data/vendor/lua/lib/lua/vstruct/ast/Root.lua +19 -0
- data/vendor/lua/lib/lua/vstruct/ast/Table.lua +65 -0
- data/vendor/lua/lib/lua/vstruct/cursor.lua +81 -0
- data/vendor/lua/lib/lua/vstruct/io.lua +45 -0
- data/vendor/lua/lib/lua/vstruct/io/a.lua +24 -0
- data/vendor/lua/lib/lua/vstruct/io/b.lua +28 -0
- data/vendor/lua/lib/lua/vstruct/io/bigendian.lua +21 -0
- data/vendor/lua/lib/lua/vstruct/io/c.lua +25 -0
- data/vendor/lua/lib/lua/vstruct/io/defaults.lua +24 -0
- data/vendor/lua/lib/lua/vstruct/io/endianness.lua +41 -0
- data/vendor/lua/lib/lua/vstruct/io/f.lua +129 -0
- data/vendor/lua/lib/lua/vstruct/io/hostendian.lua +21 -0
- data/vendor/lua/lib/lua/vstruct/io/i.lua +42 -0
- data/vendor/lua/lib/lua/vstruct/io/littleendian.lua +21 -0
- data/vendor/lua/lib/lua/vstruct/io/m.lua +62 -0
- data/vendor/lua/lib/lua/vstruct/io/p.lua +23 -0
- data/vendor/lua/lib/lua/vstruct/io/s.lua +27 -0
- data/vendor/lua/lib/lua/vstruct/io/seekb.lua +18 -0
- data/vendor/lua/lib/lua/vstruct/io/seekf.lua +18 -0
- data/vendor/lua/lib/lua/vstruct/io/seekto.lua +18 -0
- data/vendor/lua/lib/lua/vstruct/io/u.lua +54 -0
- data/vendor/lua/lib/lua/vstruct/io/x.lua +34 -0
- data/vendor/lua/lib/lua/vstruct/io/z.lua +63 -0
- data/vendor/lua/lib/lua/vstruct/lexer.lua +100 -0
- data/vendor/lua/lib/lua/vstruct/pack.lua +142 -0
- data/vendor/lua/lib/lua/vstruct/test.lua +47 -0
- data/vendor/lua/lib/lua/vstruct/test/basic.lua +73 -0
- data/vendor/lua/lib/lua/vstruct/test/common.lua +100 -0
- data/vendor/lua/lib/lua/vstruct/test/fp-bigendian.lua +56 -0
- data/vendor/lua/lib/lua/vstruct/test/fp-littleendian.lua +56 -0
- data/vendor/lua/lib/lua/vstruct/test/struct-test-gen.lua +1230 -0
- data/vendor/lua/lib/lua/vstruct/unpack.lua +126 -0
- data/vendor/lua/lib/lua/wx.dll +0 -0
- data/vendor/lua/lib/lua/xml.lua +75 -0
- data/vendor/lua/lib/lua/zip.dll +0 -0
- data/vendor/lua/lib/lua/zlib.dll +0 -0
- metadata +529 -0
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
|
|
2
|
+
--- A pure-Lua implementation of untar (unpacking .tar archives)
|
|
3
|
+
module("luarocks.tools.tar", package.seeall)
|
|
4
|
+
|
|
5
|
+
local fs = require("luarocks.fs")
|
|
6
|
+
local dir = require("luarocks.dir")
|
|
7
|
+
local util = require("luarocks.util")
|
|
8
|
+
|
|
9
|
+
local blocksize = 512
|
|
10
|
+
|
|
11
|
+
local function get_typeflag(flag)
|
|
12
|
+
if flag == "0" or flag == "\0" then return "file"
|
|
13
|
+
elseif flag == "1" then return "link"
|
|
14
|
+
elseif flag == "2" then return "symlink" -- "reserved" in POSIX, "symlink" in GNU
|
|
15
|
+
elseif flag == "3" then return "character"
|
|
16
|
+
elseif flag == "4" then return "block"
|
|
17
|
+
elseif flag == "5" then return "directory"
|
|
18
|
+
elseif flag == "6" then return "fifo"
|
|
19
|
+
elseif flag == "7" then return "contiguous" -- "reserved" in POSIX, "contiguous" in GNU
|
|
20
|
+
elseif flag == "x" then return "next file"
|
|
21
|
+
elseif flag == "g" then return "global extended header"
|
|
22
|
+
elseif flag == "L" then return "long name"
|
|
23
|
+
elseif flag == "K" then return "long link name"
|
|
24
|
+
end
|
|
25
|
+
return "unknown"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
local function octal_to_number(octal)
|
|
29
|
+
local exp = 0
|
|
30
|
+
local number = 0
|
|
31
|
+
for i = #octal,1,-1 do
|
|
32
|
+
local digit = tonumber(octal:sub(i,i))
|
|
33
|
+
if not digit then break end
|
|
34
|
+
number = number + (digit * 8^exp)
|
|
35
|
+
exp = exp + 1
|
|
36
|
+
end
|
|
37
|
+
return number
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
local function checksum_header(block)
|
|
41
|
+
local sum = 256
|
|
42
|
+
for i = 1,148 do
|
|
43
|
+
sum = sum + block:byte(i)
|
|
44
|
+
end
|
|
45
|
+
for i = 157,500 do
|
|
46
|
+
sum = sum + block:byte(i)
|
|
47
|
+
end
|
|
48
|
+
return sum
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
local function nullterm(s)
|
|
52
|
+
return s:match("^[^%z]*")
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
local function read_header_block(block)
|
|
56
|
+
local header = {}
|
|
57
|
+
header.name = nullterm(block:sub(1,100))
|
|
58
|
+
header.mode = nullterm(block:sub(101,108))
|
|
59
|
+
header.uid = octal_to_number(nullterm(block:sub(109,116)))
|
|
60
|
+
header.gid = octal_to_number(nullterm(block:sub(117,124)))
|
|
61
|
+
header.size = octal_to_number(nullterm(block:sub(125,136)))
|
|
62
|
+
header.mtime = octal_to_number(nullterm(block:sub(137,148)))
|
|
63
|
+
header.chksum = octal_to_number(nullterm(block:sub(149,156)))
|
|
64
|
+
header.typeflag = get_typeflag(block:sub(157,157))
|
|
65
|
+
header.linkname = nullterm(block:sub(158,257))
|
|
66
|
+
header.magic = block:sub(258,263)
|
|
67
|
+
header.version = block:sub(264,265)
|
|
68
|
+
header.uname = nullterm(block:sub(266,297))
|
|
69
|
+
header.gname = nullterm(block:sub(298,329))
|
|
70
|
+
header.devmajor = octal_to_number(nullterm(block:sub(330,337)))
|
|
71
|
+
header.devminor = octal_to_number(nullterm(block:sub(338,345)))
|
|
72
|
+
header.prefix = block:sub(346,500)
|
|
73
|
+
if header.magic ~= "ustar " and header.magic ~= "ustar\0" then
|
|
74
|
+
return false, "Invalid header magic "..header.magic
|
|
75
|
+
end
|
|
76
|
+
if header.version ~= "00" and header.version ~= " \0" then
|
|
77
|
+
return false, "Unknown version "..header.version
|
|
78
|
+
end
|
|
79
|
+
if not checksum_header(block) == header.chksum then
|
|
80
|
+
return false, "Failed header checksum"
|
|
81
|
+
end
|
|
82
|
+
return header
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
function untar(filename, destdir)
|
|
86
|
+
assert(type(filename) == "string")
|
|
87
|
+
assert(type(destdir) == "string")
|
|
88
|
+
|
|
89
|
+
local tar_handle = io.open(filename, "r")
|
|
90
|
+
if not tar_handle then return nil, "Error opening file "..filename end
|
|
91
|
+
|
|
92
|
+
local long_name, long_link_name
|
|
93
|
+
while true do
|
|
94
|
+
local block
|
|
95
|
+
repeat
|
|
96
|
+
block = tar_handle:read(blocksize)
|
|
97
|
+
until (not block) or checksum_header(block) > 256
|
|
98
|
+
if not block then break end
|
|
99
|
+
local header, err = read_header_block(block)
|
|
100
|
+
if not header then
|
|
101
|
+
util.printerr(err)
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
local file_data = tar_handle:read(math.ceil(header.size / blocksize) * blocksize):sub(1,header.size)
|
|
105
|
+
|
|
106
|
+
if header.typeflag == "long name" then
|
|
107
|
+
long_name = nullterm(file_data)
|
|
108
|
+
elseif header.typeflag == "long link name" then
|
|
109
|
+
long_link_name = nullterm(file_data)
|
|
110
|
+
else
|
|
111
|
+
if long_name then
|
|
112
|
+
header.name = long_name
|
|
113
|
+
long_name = nil
|
|
114
|
+
end
|
|
115
|
+
if long_link_name then
|
|
116
|
+
header.name = long_link_name
|
|
117
|
+
long_link_name = nil
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
local pathname = dir.path(destdir, header.name)
|
|
121
|
+
if header.typeflag == "directory" then
|
|
122
|
+
fs.make_dir(pathname)
|
|
123
|
+
elseif header.typeflag == "file" then
|
|
124
|
+
local dirname = dir.dir_name(pathname)
|
|
125
|
+
if dirname ~= "" then
|
|
126
|
+
fs.make_dir(dirname)
|
|
127
|
+
end
|
|
128
|
+
local file_handle = io.open(pathname, "wb")
|
|
129
|
+
file_handle:write(file_data)
|
|
130
|
+
file_handle:close()
|
|
131
|
+
fs.set_time(pathname, header.mtime)
|
|
132
|
+
if fs.chmod then
|
|
133
|
+
fs.chmod(pathname, header.mode)
|
|
134
|
+
end
|
|
135
|
+
end
|
|
136
|
+
--[[
|
|
137
|
+
for k,v in pairs(header) do
|
|
138
|
+
util.printout("[\""..tostring(k).."\"] = "..(type(v)=="number" and v or "\""..v:gsub("%z", "\\0").."\""))
|
|
139
|
+
end
|
|
140
|
+
util.printout()
|
|
141
|
+
--]]
|
|
142
|
+
end
|
|
143
|
+
return true
|
|
144
|
+
end
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
|
|
2
|
+
--- A Lua implementation of .zip file archiving (used for creating .rock files),
|
|
3
|
+
-- using only lua-zlib.
|
|
4
|
+
module("luarocks.tools.zip", package.seeall)
|
|
5
|
+
|
|
6
|
+
local zlib = require("zlib")
|
|
7
|
+
local fs = require("luarocks.fs")
|
|
8
|
+
local dir = require("luarocks.dir")
|
|
9
|
+
|
|
10
|
+
local function number_to_bytestring(number, nbytes)
|
|
11
|
+
local out = {}
|
|
12
|
+
for i = 1, nbytes do
|
|
13
|
+
local byte = number % 256
|
|
14
|
+
table.insert(out, string.char(byte))
|
|
15
|
+
number = (number - byte) / 256
|
|
16
|
+
end
|
|
17
|
+
return table.concat(out)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
--- Begin a new file to be stored inside the zipfile.
|
|
21
|
+
-- @param self handle of the zipfile being written.
|
|
22
|
+
-- @param filename filenome of the file to be added to the zipfile.
|
|
23
|
+
-- @return true if succeeded, nil in case of failure.
|
|
24
|
+
local function zipwriter_open_new_file_in_zip(self, filename)
|
|
25
|
+
if self.in_open_file then
|
|
26
|
+
self:close_file_in_zip()
|
|
27
|
+
return nil
|
|
28
|
+
end
|
|
29
|
+
local lfh = {}
|
|
30
|
+
self.local_file_header = lfh
|
|
31
|
+
lfh.last_mod_file_time = 0 -- TODO
|
|
32
|
+
lfh.last_mod_file_date = 0 -- TODO
|
|
33
|
+
lfh.crc32 = 0 -- initial value
|
|
34
|
+
lfh.compressed_size = 0 -- unknown yet
|
|
35
|
+
lfh.uncompressed_size = 0 -- unknown yet
|
|
36
|
+
lfh.file_name_length = #filename
|
|
37
|
+
lfh.extra_field_length = 0
|
|
38
|
+
lfh.file_name = filename:gsub("\\", "/")
|
|
39
|
+
lfh.external_attr = 0 -- TODO properly store permissions
|
|
40
|
+
self.in_open_file = true
|
|
41
|
+
self.data = {}
|
|
42
|
+
return true
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
--- Write data to the file currently being stored in the zipfile.
|
|
46
|
+
-- @param self handle of the zipfile being written.
|
|
47
|
+
-- @param buf string containing data to be written.
|
|
48
|
+
-- @return true if succeeded, nil in case of failure.
|
|
49
|
+
local function zipwriter_write_file_in_zip(self, buf)
|
|
50
|
+
if not self.in_open_file then
|
|
51
|
+
return nil
|
|
52
|
+
end
|
|
53
|
+
local lfh = self.local_file_header
|
|
54
|
+
local cbuf = zlib.compress(buf):sub(3, -5)
|
|
55
|
+
lfh.crc32 = zlib.crc32(lfh.crc32, buf)
|
|
56
|
+
lfh.compressed_size = lfh.compressed_size + #cbuf
|
|
57
|
+
lfh.uncompressed_size = lfh.uncompressed_size + #buf
|
|
58
|
+
table.insert(self.data, cbuf)
|
|
59
|
+
return true
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
--- Complete the writing of a file stored in the zipfile.
|
|
63
|
+
-- @param self handle of the zipfile being written.
|
|
64
|
+
-- @return true if succeeded, nil in case of failure.
|
|
65
|
+
local function zipwriter_close_file_in_zip(self)
|
|
66
|
+
local zh = self.ziphandle
|
|
67
|
+
|
|
68
|
+
if not self.in_open_file then
|
|
69
|
+
return nil
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
-- Local file header
|
|
73
|
+
local lfh = self.local_file_header
|
|
74
|
+
lfh.offset = zh:seek()
|
|
75
|
+
zh:write(number_to_bytestring(0x04034b50, 4)) -- signature
|
|
76
|
+
zh:write(number_to_bytestring(20, 2)) -- version needed to extract: 2.0
|
|
77
|
+
zh:write(number_to_bytestring(0, 2)) -- general purpose bit flag
|
|
78
|
+
zh:write(number_to_bytestring(8, 2)) -- compression method: deflate
|
|
79
|
+
zh:write(number_to_bytestring(lfh.last_mod_file_time, 2))
|
|
80
|
+
zh:write(number_to_bytestring(lfh.last_mod_file_date, 2))
|
|
81
|
+
zh:write(number_to_bytestring(lfh.crc32, 4))
|
|
82
|
+
zh:write(number_to_bytestring(lfh.compressed_size, 4))
|
|
83
|
+
zh:write(number_to_bytestring(lfh.uncompressed_size, 4))
|
|
84
|
+
zh:write(number_to_bytestring(lfh.file_name_length, 2))
|
|
85
|
+
zh:write(number_to_bytestring(lfh.extra_field_length, 2))
|
|
86
|
+
zh:write(lfh.file_name)
|
|
87
|
+
|
|
88
|
+
-- File data
|
|
89
|
+
for _, cbuf in ipairs(self.data) do
|
|
90
|
+
zh:write(cbuf)
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
-- Data descriptor
|
|
94
|
+
zh:write(number_to_bytestring(lfh.crc32, 4))
|
|
95
|
+
zh:write(number_to_bytestring(lfh.compressed_size, 4))
|
|
96
|
+
zh:write(number_to_bytestring(lfh.uncompressed_size, 4))
|
|
97
|
+
|
|
98
|
+
table.insert(self.files, lfh)
|
|
99
|
+
self.in_open_file = false
|
|
100
|
+
|
|
101
|
+
return true
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
-- @return boolean or (boolean, string): true on success,
|
|
105
|
+
-- false and an error message on failure.
|
|
106
|
+
local function zipwriter_add(self, file)
|
|
107
|
+
local fin
|
|
108
|
+
local ok, err = self:open_new_file_in_zip(file)
|
|
109
|
+
if not ok then
|
|
110
|
+
err = "error in opening "..file.." in zipfile"
|
|
111
|
+
else
|
|
112
|
+
fin = io.open(fs.absolute_name(file), "rb")
|
|
113
|
+
if not fin then
|
|
114
|
+
ok = false
|
|
115
|
+
err = "error opening "..file.." for reading"
|
|
116
|
+
end
|
|
117
|
+
end
|
|
118
|
+
if ok then
|
|
119
|
+
local buf = fin:read("*a")
|
|
120
|
+
if not buf then
|
|
121
|
+
err = "error reading "..file
|
|
122
|
+
ok = false
|
|
123
|
+
else
|
|
124
|
+
ok = self:write_file_in_zip(buf)
|
|
125
|
+
if not ok then
|
|
126
|
+
err = "error in writing "..file.." in the zipfile"
|
|
127
|
+
end
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
if fin then
|
|
131
|
+
fin:close()
|
|
132
|
+
end
|
|
133
|
+
if ok then
|
|
134
|
+
ok = self:close_file_in_zip()
|
|
135
|
+
if not ok then
|
|
136
|
+
err = "error in writing "..file.." in the zipfile"
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
return ok == true, err
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
--- Complete the writing of the zipfile.
|
|
143
|
+
-- @param self handle of the zipfile being written.
|
|
144
|
+
-- @return true if succeeded, nil in case of failure.
|
|
145
|
+
local function zipwriter_close(self)
|
|
146
|
+
local zh = self.ziphandle
|
|
147
|
+
|
|
148
|
+
local central_directory_offset = zh:seek()
|
|
149
|
+
|
|
150
|
+
local size_of_central_directory = 0
|
|
151
|
+
-- Central directory structure
|
|
152
|
+
for _, lfh in ipairs(self.files) do
|
|
153
|
+
zh:write(number_to_bytestring(0x02014b50, 4)) -- signature
|
|
154
|
+
zh:write(number_to_bytestring(3, 2)) -- version made by: UNIX
|
|
155
|
+
zh:write(number_to_bytestring(20, 2)) -- version needed to extract: 2.0
|
|
156
|
+
zh:write(number_to_bytestring(0, 2)) -- general purpose bit flag
|
|
157
|
+
zh:write(number_to_bytestring(8, 2)) -- compression method: deflate
|
|
158
|
+
zh:write(number_to_bytestring(lfh.last_mod_file_time, 2))
|
|
159
|
+
zh:write(number_to_bytestring(lfh.last_mod_file_date, 2))
|
|
160
|
+
zh:write(number_to_bytestring(lfh.crc32, 4))
|
|
161
|
+
zh:write(number_to_bytestring(lfh.compressed_size, 4))
|
|
162
|
+
zh:write(number_to_bytestring(lfh.uncompressed_size, 4))
|
|
163
|
+
zh:write(number_to_bytestring(lfh.file_name_length, 2))
|
|
164
|
+
zh:write(number_to_bytestring(lfh.extra_field_length, 2))
|
|
165
|
+
zh:write(number_to_bytestring(0, 2)) -- file comment length
|
|
166
|
+
zh:write(number_to_bytestring(0, 2)) -- disk number start
|
|
167
|
+
zh:write(number_to_bytestring(0, 2)) -- internal file attributes
|
|
168
|
+
zh:write(number_to_bytestring(lfh.external_attr, 4)) -- external file attributes
|
|
169
|
+
zh:write(number_to_bytestring(lfh.offset, 4)) -- relative offset of local header
|
|
170
|
+
zh:write(lfh.file_name)
|
|
171
|
+
size_of_central_directory = size_of_central_directory + 46 + lfh.file_name_length
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
-- End of central directory record
|
|
175
|
+
zh:write(number_to_bytestring(0x06054b50, 4)) -- signature
|
|
176
|
+
zh:write(number_to_bytestring(0, 2)) -- number of this disk
|
|
177
|
+
zh:write(number_to_bytestring(0, 2)) -- number of disk with start of central directory
|
|
178
|
+
zh:write(number_to_bytestring(#self.files, 2)) -- total number of entries in the central dir on this disk
|
|
179
|
+
zh:write(number_to_bytestring(#self.files, 2)) -- total number of entries in the central dir
|
|
180
|
+
zh:write(number_to_bytestring(size_of_central_directory, 4))
|
|
181
|
+
zh:write(number_to_bytestring(central_directory_offset, 4))
|
|
182
|
+
zh:write(number_to_bytestring(0, 2)) -- zip file comment length
|
|
183
|
+
zh:close()
|
|
184
|
+
|
|
185
|
+
return true
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
--- Return a zip handle open for writing.
|
|
189
|
+
-- @param name filename of the zipfile to be created.
|
|
190
|
+
-- @return a zip handle, or nil in case of error.
|
|
191
|
+
function new_zipwriter(name)
|
|
192
|
+
|
|
193
|
+
local zw = {}
|
|
194
|
+
|
|
195
|
+
zw.ziphandle = io.open(fs.absolute_name(name), "wb")
|
|
196
|
+
if not zw.ziphandle then
|
|
197
|
+
return nil
|
|
198
|
+
end
|
|
199
|
+
zw.files = {}
|
|
200
|
+
zw.in_open_file = false
|
|
201
|
+
|
|
202
|
+
zw.add = zipwriter_add
|
|
203
|
+
zw.close = zipwriter_close
|
|
204
|
+
zw.open_new_file_in_zip = zipwriter_open_new_file_in_zip
|
|
205
|
+
zw.write_file_in_zip = zipwriter_write_file_in_zip
|
|
206
|
+
zw.close_file_in_zip = zipwriter_close_file_in_zip
|
|
207
|
+
|
|
208
|
+
return zw
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
--- Compress files in a .zip archive.
|
|
212
|
+
-- @param zipfile string: pathname of .zip archive to be created.
|
|
213
|
+
-- @param ... Filenames to be stored in the archive are given as
|
|
214
|
+
-- additional arguments.
|
|
215
|
+
-- @return boolean or (boolean, string): true on success,
|
|
216
|
+
-- false and an error message on failure.
|
|
217
|
+
function zip(zipfile, ...)
|
|
218
|
+
local zw = new_zipwriter(zipfile)
|
|
219
|
+
if not zw then
|
|
220
|
+
return nil, "error opening "..zipfile
|
|
221
|
+
end
|
|
222
|
+
|
|
223
|
+
local ok, err
|
|
224
|
+
for _, file in pairs({...}) do
|
|
225
|
+
if fs.is_dir(file) then
|
|
226
|
+
for _, entry in pairs(fs.find(file)) do
|
|
227
|
+
local fullname = dir.path(file, entry)
|
|
228
|
+
if fs.is_file(fullname) then
|
|
229
|
+
ok, err = zw:add(fullname)
|
|
230
|
+
if not ok then break end
|
|
231
|
+
end
|
|
232
|
+
end
|
|
233
|
+
else
|
|
234
|
+
ok, err = zw:add(file)
|
|
235
|
+
if not ok then break end
|
|
236
|
+
end
|
|
237
|
+
end
|
|
238
|
+
|
|
239
|
+
local ok = zw:close()
|
|
240
|
+
if not ok then
|
|
241
|
+
return false, "error closing "..zipfile
|
|
242
|
+
end
|
|
243
|
+
return ok, err
|
|
244
|
+
end
|
|
245
|
+
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
|
|
2
|
+
--- Type-checking functions.
|
|
3
|
+
-- Functions and definitions for doing a basic lint check on files
|
|
4
|
+
-- loaded by LuaRocks.
|
|
5
|
+
module("luarocks.type_check", package.seeall)
|
|
6
|
+
|
|
7
|
+
local cfg = require("luarocks.cfg")
|
|
8
|
+
|
|
9
|
+
rockspec_format = "1.0"
|
|
10
|
+
|
|
11
|
+
rockspec_types = {
|
|
12
|
+
rockspec_format = "string",
|
|
13
|
+
MUST_package = "string",
|
|
14
|
+
MUST_version = "[%w.]+-[%d]+",
|
|
15
|
+
description = {
|
|
16
|
+
summary = "string",
|
|
17
|
+
detailed = "string",
|
|
18
|
+
homepage = "string",
|
|
19
|
+
license = "string",
|
|
20
|
+
maintainer = "string"
|
|
21
|
+
},
|
|
22
|
+
dependencies = {
|
|
23
|
+
platforms = {},
|
|
24
|
+
ANY = "string"
|
|
25
|
+
},
|
|
26
|
+
supported_platforms = {
|
|
27
|
+
ANY = "string"
|
|
28
|
+
},
|
|
29
|
+
external_dependencies = {
|
|
30
|
+
platforms = {},
|
|
31
|
+
ANY = {
|
|
32
|
+
program = "string",
|
|
33
|
+
header = "string",
|
|
34
|
+
library = "string"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
MUST_source = {
|
|
38
|
+
platforms = {},
|
|
39
|
+
MUST_url = "string",
|
|
40
|
+
md5 = "string",
|
|
41
|
+
file = "string",
|
|
42
|
+
dir = "string",
|
|
43
|
+
tag = "string",
|
|
44
|
+
branch = "string",
|
|
45
|
+
module = "string",
|
|
46
|
+
cvs_tag = "string",
|
|
47
|
+
cvs_module = "string"
|
|
48
|
+
},
|
|
49
|
+
build = {
|
|
50
|
+
platforms = {},
|
|
51
|
+
type = "string",
|
|
52
|
+
install = {
|
|
53
|
+
lua = {
|
|
54
|
+
MORE = true
|
|
55
|
+
},
|
|
56
|
+
lib = {
|
|
57
|
+
MORE = true
|
|
58
|
+
},
|
|
59
|
+
conf = {
|
|
60
|
+
MORE = true
|
|
61
|
+
},
|
|
62
|
+
bin = {
|
|
63
|
+
MORE = true
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
copy_directories = {
|
|
67
|
+
ANY = "string"
|
|
68
|
+
},
|
|
69
|
+
MORE = true
|
|
70
|
+
},
|
|
71
|
+
hooks = {
|
|
72
|
+
platforms = {},
|
|
73
|
+
post_install = "string"
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function load_extensions()
|
|
78
|
+
rockspec_format = "1.1"
|
|
79
|
+
rockspec_types.deploy = {
|
|
80
|
+
wrap_bin_scripts = true,
|
|
81
|
+
}
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
if cfg.use_extensions then
|
|
85
|
+
load_extensions()
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
rockspec_types.build.platforms.ANY = rockspec_types.build
|
|
89
|
+
rockspec_types.dependencies.platforms.ANY = rockspec_types.dependencies
|
|
90
|
+
rockspec_types.external_dependencies.platforms.ANY = rockspec_types.external_dependencies
|
|
91
|
+
rockspec_types.MUST_source.platforms.ANY = rockspec_types.MUST_source
|
|
92
|
+
rockspec_types.hooks.platforms.ANY = rockspec_types.hooks
|
|
93
|
+
|
|
94
|
+
manifest_types = {
|
|
95
|
+
MUST_repository = {
|
|
96
|
+
-- packages
|
|
97
|
+
ANY = {
|
|
98
|
+
-- versions
|
|
99
|
+
ANY = {
|
|
100
|
+
-- items
|
|
101
|
+
ANY = {
|
|
102
|
+
MUST_arch = "string",
|
|
103
|
+
modules = { ANY = "string" },
|
|
104
|
+
commands = { ANY = "string" },
|
|
105
|
+
dependencies = { ANY = "string" },
|
|
106
|
+
-- TODO: to be extended with more metadata.
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
MUST_modules = {
|
|
112
|
+
-- modules
|
|
113
|
+
ANY = {
|
|
114
|
+
-- providers
|
|
115
|
+
ANY = "string"
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
MUST_commands = {
|
|
119
|
+
-- modules
|
|
120
|
+
ANY = {
|
|
121
|
+
-- commands
|
|
122
|
+
ANY = "string"
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
dependencies = {
|
|
126
|
+
-- each module
|
|
127
|
+
ANY = {
|
|
128
|
+
-- each version
|
|
129
|
+
ANY = {
|
|
130
|
+
-- each dependency
|
|
131
|
+
ANY = {
|
|
132
|
+
name = "string",
|
|
133
|
+
constraints = {
|
|
134
|
+
ANY = {
|
|
135
|
+
no_upgrade = "boolean",
|
|
136
|
+
op = "string",
|
|
137
|
+
version = {
|
|
138
|
+
string = "string",
|
|
139
|
+
ANY = 0,
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
local type_check_table
|
|
150
|
+
|
|
151
|
+
--- Type check an object.
|
|
152
|
+
-- The object is compared against an archetypical value
|
|
153
|
+
-- matching the expected type -- the actual values don't matter,
|
|
154
|
+
-- only their types. Tables are type checked recursively.
|
|
155
|
+
-- @param name any: The object name (for error messages).
|
|
156
|
+
-- @param item any: The object being checked.
|
|
157
|
+
-- @param expected any: The reference object. In case of a table,
|
|
158
|
+
-- its is structured as a type reference table.
|
|
159
|
+
-- @param context string: A string indicating the "context" where the
|
|
160
|
+
-- error occurred (such as the name of the table the item is a part of),
|
|
161
|
+
-- to be used by error messages.
|
|
162
|
+
-- @return boolean or (nil, string): true if type checking
|
|
163
|
+
-- succeeded, or nil and an error message if it failed.
|
|
164
|
+
-- @see type_check_table
|
|
165
|
+
local function type_check_item(name, item, expected, context)
|
|
166
|
+
name = tostring(name)
|
|
167
|
+
|
|
168
|
+
local item_type = type(item)
|
|
169
|
+
local expected_type = type(expected)
|
|
170
|
+
if expected_type == "number" then
|
|
171
|
+
if not tonumber(item) then
|
|
172
|
+
return nil, "Type mismatch on field "..context..name..": expected a number"
|
|
173
|
+
end
|
|
174
|
+
elseif expected_type == "string" then
|
|
175
|
+
if not tostring(item) then
|
|
176
|
+
return nil, "Type mismatch on field "..context..name..": expected a value convertible to string"
|
|
177
|
+
end
|
|
178
|
+
if expected ~= "string" then
|
|
179
|
+
if not item:match("^"..expected.."$") then
|
|
180
|
+
return nil, "Type mismatch on field "..context..name..": invalid value "..item
|
|
181
|
+
end
|
|
182
|
+
end
|
|
183
|
+
elseif expected_type == "table" then
|
|
184
|
+
if item_type ~= expected_type then
|
|
185
|
+
return nil, "Type mismatch on field "..context..name..": expected a table"
|
|
186
|
+
else
|
|
187
|
+
return type_check_table(item, expected, context..name..".")
|
|
188
|
+
end
|
|
189
|
+
elseif item_type ~= expected_type then
|
|
190
|
+
return nil, "Type mismatch on field "..context..name..": expected a "..expected_type
|
|
191
|
+
end
|
|
192
|
+
return true
|
|
193
|
+
end
|
|
194
|
+
|
|
195
|
+
--- Type check the contents of a table.
|
|
196
|
+
-- The table's contents are compared against a reference table,
|
|
197
|
+
-- which contains the recognized fields, with archetypical values
|
|
198
|
+
-- matching the expected types -- the actual values of items in the
|
|
199
|
+
-- reference table don't matter, only their types (ie, for field x
|
|
200
|
+
-- in tbl that is correctly typed, type(tbl.x) == type(types.x)).
|
|
201
|
+
-- If the reference table contains a field called MORE, then
|
|
202
|
+
-- unknown fields in the checked table are accepted.
|
|
203
|
+
-- If it contains a field called ANY, then its type will be
|
|
204
|
+
-- used to check any unknown fields. If a field is prefixed
|
|
205
|
+
-- with MUST_, it is mandatory; its absence from the table is
|
|
206
|
+
-- a type error.
|
|
207
|
+
-- Tables are type checked recursively.
|
|
208
|
+
-- @param tbl table: The table to be type checked.
|
|
209
|
+
-- @param types table: The reference table, containing
|
|
210
|
+
-- values for recognized fields in the checked table.
|
|
211
|
+
-- @param context string: A string indicating the "context" where the
|
|
212
|
+
-- error occurred (such as the name of the table the item is a part of),
|
|
213
|
+
-- to be used by error messages.
|
|
214
|
+
-- @return boolean or (nil, string): true if type checking
|
|
215
|
+
-- succeeded, or nil and an error message if it failed.
|
|
216
|
+
type_check_table = function(tbl, types, context)
|
|
217
|
+
assert(type(tbl) == "table")
|
|
218
|
+
assert(type(types) == "table")
|
|
219
|
+
for k, v in pairs(tbl) do
|
|
220
|
+
local t = types[k] or (type(k) == "string" and types["MUST_"..k]) or types.ANY
|
|
221
|
+
if t then
|
|
222
|
+
local ok, err = type_check_item(k, v, t, context)
|
|
223
|
+
if not ok then return nil, err end
|
|
224
|
+
elseif types.MORE then
|
|
225
|
+
-- Accept unknown field
|
|
226
|
+
else
|
|
227
|
+
if not cfg.accept_unknown_fields then
|
|
228
|
+
return nil, "Unknown field "..k
|
|
229
|
+
end
|
|
230
|
+
end
|
|
231
|
+
end
|
|
232
|
+
for k, v in pairs(types) do
|
|
233
|
+
local mandatory_key = k:match("^MUST_(.+)")
|
|
234
|
+
if mandatory_key then
|
|
235
|
+
if not tbl[mandatory_key] then
|
|
236
|
+
return nil, "Mandatory field "..context..mandatory_key.." is missing."
|
|
237
|
+
end
|
|
238
|
+
end
|
|
239
|
+
end
|
|
240
|
+
return true
|
|
241
|
+
end
|
|
242
|
+
|
|
243
|
+
--- Type check a rockspec table.
|
|
244
|
+
-- Verify the correctness of elements from a
|
|
245
|
+
-- rockspec table, reporting on unknown fields and type
|
|
246
|
+
-- mismatches.
|
|
247
|
+
-- @return boolean or (nil, string): true if type checking
|
|
248
|
+
-- succeeded, or nil and an error message if it failed.
|
|
249
|
+
function type_check_rockspec(rockspec)
|
|
250
|
+
assert(type(rockspec) == "table")
|
|
251
|
+
if rockspec.rockspec_format then
|
|
252
|
+
-- relies on global state
|
|
253
|
+
load_extensions()
|
|
254
|
+
end
|
|
255
|
+
return type_check_table(rockspec, rockspec_types, "")
|
|
256
|
+
end
|
|
257
|
+
|
|
258
|
+
--- Type check a manifest table.
|
|
259
|
+
-- Verify the correctness of elements from a
|
|
260
|
+
-- manifest table, reporting on unknown fields and type
|
|
261
|
+
-- mismatches.
|
|
262
|
+
-- @return boolean or (nil, string): true if type checking
|
|
263
|
+
-- succeeded, or nil and an error message if it failed.
|
|
264
|
+
function type_check_manifest(manifest)
|
|
265
|
+
assert(type(manifest) == "table")
|
|
266
|
+
return type_check_table(manifest, manifest_types, "")
|
|
267
|
+
end
|