forked from ALHP/ALHP.GO
fixed nspawn failing to upgrade chroot due to mirror timeout
This commit is contained in:
14
main.go
14
main.go
@@ -492,8 +492,13 @@ func (b *BuildManager) syncWorker() {
|
||||
// fetch updates between sync runs
|
||||
b.alpmMutex.Lock()
|
||||
check(alpmHandle.Release())
|
||||
setupChroot()
|
||||
var err error
|
||||
err := setupChroot()
|
||||
for err != nil {
|
||||
log.Warningf("Unable to upgrade chroot, trying again later.")
|
||||
time.Sleep(time.Minute)
|
||||
err = setupChroot()
|
||||
}
|
||||
|
||||
alpmHandle, err = initALPM(filepath.Join(conf.Basedir.Chroot, pristineChroot), filepath.Join(conf.Basedir.Chroot, pristineChroot, "/var/lib/pacman"))
|
||||
check(err)
|
||||
b.alpmMutex.Unlock()
|
||||
@@ -614,7 +619,10 @@ func main() {
|
||||
exit: false,
|
||||
}
|
||||
|
||||
setupChroot()
|
||||
err = setupChroot()
|
||||
if err != nil {
|
||||
log.Fatalf("Unable to setup chroot: %v", err)
|
||||
}
|
||||
syncMarchs()
|
||||
|
||||
alpmHandle, err = initALPM(filepath.Join(conf.Basedir.Chroot, pristineChroot), filepath.Join(conf.Basedir.Chroot, pristineChroot, "/var/lib/pacman"))
|
||||
|
9
utils.go
9
utils.go
@@ -423,14 +423,14 @@ func genSRCINFO(pkgbuild string) (*srcinfo.Srcinfo, error) {
|
||||
return info, nil
|
||||
}
|
||||
|
||||
func setupChroot() {
|
||||
func setupChroot() error {
|
||||
if _, err := os.Stat(filepath.Join(conf.Basedir.Chroot, pristineChroot)); err == nil {
|
||||
//goland:noinspection SpellCheckingInspection
|
||||
cmd := exec.Command("arch-nspawn", filepath.Join(conf.Basedir.Chroot, pristineChroot), "pacman", "-Syuu", "--noconfirm")
|
||||
res, err := cmd.CombinedOutput()
|
||||
log.Debug(string(res))
|
||||
if err != nil {
|
||||
log.Fatalf("[NSPAWN] Unable to update chroot: %v\n%s", err, string(res))
|
||||
return fmt.Errorf("Unable to update chroot: %v\n%s", err, string(res))
|
||||
}
|
||||
} else if os.IsNotExist(err) {
|
||||
err := os.MkdirAll(conf.Basedir.Chroot, os.ModePerm)
|
||||
@@ -440,11 +440,12 @@ func setupChroot() {
|
||||
res, err := cmd.CombinedOutput()
|
||||
log.Debug(string(res))
|
||||
if err != nil {
|
||||
log.Fatalf("[MKCHROOT] Unable to create chroot: %v\n%s", err, string(res))
|
||||
return fmt.Errorf("Unable to create chroot: %v\n%s", err, string(res))
|
||||
}
|
||||
} else {
|
||||
check(err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func getDBPkgFromPkgfile(pkg string) (*ent.DbPackage, error) {
|
||||
|
Reference in New Issue
Block a user