summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBoris Nagaev <bnagaev@gmail.com>2017-09-29 01:53:07 (GMT)
committerGitHub <noreply@github.com>2017-09-29 01:53:07 (GMT)
commite54509e5f0719e62261ef0e37975e4a38c798af5 (patch)
tree7259b6b24f33e5eb9bcfea7e945af4917e4cb434
parentce28d4e5bfebff5cc727d624f222db13bf03646c (diff)
parent9c20c227f2ee78a29f3dbb14023726e229494664 (diff)
downloadmxe-e54509e5f0719e62261ef0e37975e4a38c798af5.zip
mxe-e54509e5f0719e62261ef0e37975e4a38c798af5.tar.gz
mxe-e54509e5f0719e62261ef0e37975e4a38c798af5.tar.bz2
Merge pull request #1908 from LuaAndC/build-pkg-installed-size
build-pkg, Debian: set Installed-Size field
-rwxr-xr-xtools/build-pkg.lua17
1 files changed, 17 insertions, 0 deletions
diff --git a/tools/build-pkg.lua b/tools/build-pkg.lua
index bed370d..414090a 100755
--- a/tools/build-pkg.lua
+++ b/tools/build-pkg.lua
@@ -200,6 +200,13 @@ local function fileExists(name)
end
end
+local function fileSize(name)
+ local f = io.open(name, "r")
+ local size = f:seek("end")
+ io.close(f)
+ return size
+end
+
local function isSymlink(name)
return shell(("ls -l %q"):format(name)):sub(1, 1) == "l"
end
@@ -731,6 +738,7 @@ Version: %s
Section: devel
Priority: optional
Architecture: %s%s
+Installed-Size: %d
Maintainer: Boris Nagaev <bnagaev@gmail.com>
Homepage: http://mxe.cc
Description: %s
@@ -759,12 +767,20 @@ local function debianControl(options)
version,
options.arch,
deb_deps_str,
+ math.ceil(options.size_bytes / 1024),
options.description1,
options.description2
)
end
local function makePackage(name, files, deps, ver, d1, d2, dst, recommends)
+ -- calculate size_bytes
+ local size_bytes = 0
+ for _, f in ipairs(files) do
+ local size = math.ceil(fileSize(f) / 4096) * 4096
+ size_bytes = size_bytes + size
+ end
+ -- dirname
dst = dst or '.'
local dirname = ('%s/%s_%s'):format(dst, name,
protectVersion(ver))
@@ -789,6 +805,7 @@ local function makePackage(name, files, deps, ver, d1, d2, dst, recommends)
arch = ARCH,
deps = deps,
recommends = recommends,
+ size_bytes = size_bytes,
description1 = d1,
description2 = d2,
}