in pkg/archive/deb.go [82:116]
func (d *DebPackager) Package(client *dagger.Client, c *dagger.Container, project *Spec) *dagger.Directory {
dir := client.Directory()
rootDir := "/package"
version := fmt.Sprintf("%s-%su%s", project.Tag, DebDistroMap[project.Distro], project.Revision)
c = c.WithDirectory(rootDir, dir)
c = d.moveStaticFiles(c, rootDir)
c = d.withControlFile(c, version, project)
pkgDir := c.Directory(rootDir)
fpmArgs := []string{"fpm",
"-s", "dir",
"-t", "deb",
"-n", project.Pkg,
"--version", version,
"--architecture", strings.Replace(project.Arch, "/", "", -1),
"--deb-custom-control", "/build/control",
}
var newArgs []string
c, newArgs = d.withInstallScripts(c)
fpmArgs = append(fpmArgs, d.systemdArgs()...)
fpmArgs = append(fpmArgs, newArgs...)
fpmArgs = append(fpmArgs, ".")
fpm := fpmContainer(client, d.mirrorPrefix)
return fpm.WithDirectory("/package", pkgDir).
WithDirectory("/build", c.Directory("/build")).
WithWorkdir("/package").
WithExec(fpmArgs).
WithExec([]string{"bash", "-ec", `mkdir -vp /out; mv *.deb /out`}).
Directory("/out")
}