github.com/metux/go-metabuild@v0.0.0-20240118143255-d9ed5ab697f9/engine/packager/dpkg.go (about)

     1  package packager
     2  
     3  import (
     4  	"github.com/metux/go-metabuild/spec"
     5  	"github.com/metux/go-metabuild/util/fileutil"
     6  	"github.com/metux/go-metabuild/util/pkgmgr"
     7  )
     8  
     9  type DebPkgJob struct {
    10  	BasePkgJob
    11  }
    12  
    13  func (job DebPkgJob) JobRun() error {
    14  	dataroot := job.DataRoot()
    15  
    16  	trig := job.ScanTriggers()
    17  	if len(trig) != 0 {
    18  		// FIXME: move this to packager util
    19  		if err := fileutil.WriteFileLines(dataroot+"/DEBIAN/triggers", trig); err != nil {
    20  			return err
    21  		}
    22  	}
    23  
    24  	autodeps, err := job.ScanAutoDep()
    25  	if err != nil {
    26  		return err
    27  	}
    28  
    29  	if err = job.Packager.WriteControlFile(dataroot, job.Pkg.ControlInfo(autodeps)); err != nil {
    30  		return err
    31  	}
    32  
    33  	return job.DoPackage()
    34  }
    35  
    36  func MakeDebPkgJob(buildconf spec.BuildConf, pkg spec.DistPkg) DebPkgJob {
    37  	// FIXME: need to load platform settings
    38  	packager := pkgmgr.NewDpkg([]string{}, []string{}, "")
    39  	return DebPkgJob{MakeBasePkgJob(packager, buildconf, pkg)}
    40  }