Merge pull request #1908 from LuaAndC/build-pkg-installed-size

build-pkg, Debian: set Installed-Size field
This commit is contained in:
Boris Nagaev 2017-09-29 02:53:07 +01:00 committed by GitHub
commit e54509e5f0
1 changed files with 17 additions and 0 deletions

View File

@ -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,
}