func (m *Mirror) createPacman() (err error) { outDir := filepath.Join(m.Root, "pacman") err = utils.MkdirAll(outDir) if err != nil { return } err = utils.RsyncExt(m.Root, outDir, ".pkg.tar.xz") if err != nil { return } if m.Signing { err = signing.SignPacman(outDir) if err != nil { return } } pkgs, err := utils.FindExt(outDir, ".pkg.tar.xz") for _, pkg := range pkgs { err = utils.Exec(outDir, "repo-add", fmt.Sprintf("%s.db.tar.gz", m.Name), pkg) if err != nil { return } } return }
func SignRedhat(dir string) (err error) { err = CreateRedhatConf() if err != nil { return } pkgs, err := utils.FindExt(dir, ".rpm") if err != nil { return } for _, pkg := range pkgs { err = utils.Exec("", "expect", "-c", "spawn rpm --resign "+pkg, "-c", `expect "Enter pass phrase:"`, "-c", `send "\r"`, "-c", "wait", "-c", "interact") if err != nil { return } } return }
func (p *Pacman) clean() (err error) { pkgPaths, err := utils.FindExt(p.Pack.Home, ".pkg.tar.xz") if err != nil { return } for _, pkgPath := range pkgPaths { _ = utils.Remove(pkgPath) } return }
func (p *Pacman) copy() (err error) { pkgs, err := utils.FindExt(p.pacmanDir, ".pkg.tar.xz") if err != nil { return } for _, pkg := range pkgs { err = utils.CopyFile("", pkg, p.Pack.Home, false) if err != nil { return } } return }
func (r *Redhat) clean() (err error) { pkgPaths, err := utils.FindExt(r.Pack.Home, ".rpm") if err != nil { return } match, ok := constants.ReleasesMatch[r.Pack.FullRelease] if !ok { err = &BuildError{ errors.Newf("redhat: Failed to find match for '%s'", r.Pack.FullRelease), } return } for _, pkgPath := range pkgPaths { if strings.Contains(filepath.Base(pkgPath), match) { _ = utils.Remove(pkgPath) } } return }
func SignPacman(dir string) (err error) { pkgs, err := utils.FindExt(dir, ".pkg.tar.xz") if err != nil { return } name, err := GetName() if err != nil { return } for _, pkg := range pkgs { err = utils.Exec(dir, "gpg", "--detach-sign", "-u", name, "--no-armor", pkg) if err != nil { return } } return }