mirror of
https://github.com/mudler/luet.git
synced 2025-09-06 17:50:34 +00:00
Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
54be45dcff | ||
|
413572a8e3 | ||
|
ecc41ce370 | ||
|
dd6501a642 |
@@ -40,7 +40,7 @@ var Verbose bool
|
|||||||
var LockedCommands = []string{"install", "uninstall", "upgrade"}
|
var LockedCommands = []string{"install", "uninstall", "upgrade"}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
LuetCLIVersion = "0.13.0"
|
LuetCLIVersion = "0.13.1"
|
||||||
LuetEnvPrefix = "LUET"
|
LuetEnvPrefix = "LUET"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@@ -153,39 +153,7 @@ func (l *LuetInstaller) Upgrade(s *System) error {
|
|||||||
Info(":memo: note: will consider new build revisions while upgrading")
|
Info(":memo: note: will consider new build revisions while upgrading")
|
||||||
}
|
}
|
||||||
|
|
||||||
Spinner(32)
|
return l.checkAndUpgrade(syncedRepos, s)
|
||||||
uninstall, toInstall, err := l.computeUpgrade(syncedRepos, s)
|
|
||||||
if err != nil {
|
|
||||||
return errors.Wrap(err, "failed computing upgrade")
|
|
||||||
}
|
|
||||||
SpinnerStop()
|
|
||||||
|
|
||||||
if len(uninstall) > 0 {
|
|
||||||
Info(":recycle: Packages that are going to be removed from the system:\n ", Yellow(packsToList(uninstall)).BgBlack().String())
|
|
||||||
}
|
|
||||||
|
|
||||||
if len(toInstall) > 0 {
|
|
||||||
Info(":zap:Packages that are going to be installed in the system:\n ", Green(packsToList(toInstall)).BgBlack().String())
|
|
||||||
}
|
|
||||||
|
|
||||||
if len(toInstall) == 0 && len(uninstall) == 0 {
|
|
||||||
Info("Nothing to do")
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
if l.Options.Ask {
|
|
||||||
Info("By going forward, you are also accepting the licenses of the packages that you are going to install in your system.")
|
|
||||||
if Ask() {
|
|
||||||
l.Options.Ask = false // Don't prompt anymore
|
|
||||||
return l.swap(syncedRepos, uninstall, toInstall, s, true)
|
|
||||||
} else {
|
|
||||||
return errors.New("Aborted by user")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Spinner(32)
|
|
||||||
defer SpinnerStop()
|
|
||||||
return l.swap(syncedRepos, uninstall, toInstall, s, true)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (l *LuetInstaller) SyncRepositories(inMemory bool) (Repositories, error) {
|
func (l *LuetInstaller) SyncRepositories(inMemory bool) (Repositories, error) {
|
||||||
@@ -321,12 +289,55 @@ func (l *LuetInstaller) swap(syncedRepos Repositories, toRemove pkg.Packages, to
|
|||||||
return l.install(syncedRepos, match, packages, assertions, allRepos, s)
|
return l.install(syncedRepos, match, packages, assertions, allRepos, s)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (l *LuetInstaller) checkAndUpgrade(r Repositories, s *System) error {
|
||||||
|
Spinner(32)
|
||||||
|
uninstall, toInstall, err := l.computeUpgrade(r, s)
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrap(err, "failed computing upgrade")
|
||||||
|
}
|
||||||
|
SpinnerStop()
|
||||||
|
|
||||||
|
if len(uninstall) > 0 {
|
||||||
|
Info(":recycle: Packages that are going to be removed from the system:\n ", Yellow(packsToList(uninstall)).BgBlack().String())
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(toInstall) > 0 {
|
||||||
|
Info(":zap:Packages that are going to be installed in the system:\n ", Green(packsToList(toInstall)).BgBlack().String())
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(toInstall) == 0 && len(uninstall) == 0 {
|
||||||
|
Info("Nothing to do")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
if l.Options.Ask {
|
||||||
|
Info("By going forward, you are also accepting the licenses of the packages that you are going to install in your system.")
|
||||||
|
if Ask() {
|
||||||
|
l.Options.Ask = false // Don't prompt anymore
|
||||||
|
return l.swap(r, uninstall, toInstall, s, true)
|
||||||
|
} else {
|
||||||
|
return errors.New("Aborted by user")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Spinner(32)
|
||||||
|
defer SpinnerStop()
|
||||||
|
return l.swap(r, uninstall, toInstall, s, true)
|
||||||
|
}
|
||||||
|
|
||||||
func (l *LuetInstaller) Install(cp pkg.Packages, s *System) error {
|
func (l *LuetInstaller) Install(cp pkg.Packages, s *System) error {
|
||||||
syncedRepos, err := l.SyncRepositories(true)
|
syncedRepos, err := l.SyncRepositories(true)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(s.Database.World()) > 0 {
|
||||||
|
Info(":thinking: Checking for available upgrades")
|
||||||
|
if err := l.checkAndUpgrade(syncedRepos, s); err != nil {
|
||||||
|
return errors.Wrap(err, "while checking upgrades before install")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
match, packages, assertions, allRepos, err := l.computeInstall(syncedRepos, cp, s)
|
match, packages, assertions, allRepos, err := l.computeInstall(syncedRepos, cp, s)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@@ -95,13 +95,6 @@ testInstall() {
|
|||||||
installst=$?
|
installst=$?
|
||||||
assertEquals 'install test successfully' "$installst" "0"
|
assertEquals 'install test successfully' "$installst" "0"
|
||||||
|
|
||||||
luet install -y --config $tmpdir/luet.yaml test/a@1.1
|
|
||||||
assertTrue 'package installed A' "[ -e '$tmpdir/testrootfs/testaa' ]"
|
|
||||||
installst=$?
|
|
||||||
assertEquals 'install test successfully' "$installst" "0"
|
|
||||||
assertTrue 'package keeps old A' "[ -e '$tmpdir/testrootfs/testaa' ]"
|
|
||||||
assertTrue 'package new A was not installed' "[ ! -e '$tmpdir/testrootfs/testlatest' ]"
|
|
||||||
|
|
||||||
luet install -y --config $tmpdir/luet.yaml test/c@1.0
|
luet install -y --config $tmpdir/luet.yaml test/c@1.0
|
||||||
installst=$?
|
installst=$?
|
||||||
assertEquals 'install test successfully' "$installst" "0"
|
assertEquals 'install test successfully' "$installst" "0"
|
||||||
|
@@ -84,26 +84,11 @@ EOF
|
|||||||
}
|
}
|
||||||
|
|
||||||
testInstall() {
|
testInstall() {
|
||||||
luet install -y --config $tmpdir/luet.yaml test/b@1.0
|
luet install -y --config $tmpdir/luet.yaml test/b@1.0 test/a@1.0 test/c@1.0
|
||||||
installst=$?
|
installst=$?
|
||||||
assertEquals 'install test successfully' "$installst" "0"
|
assertEquals 'install test successfully' "$installst" "0"
|
||||||
assertTrue 'package installed B' "[ -e '$tmpdir/testrootfs/test5' ]"
|
assertTrue 'package installed B' "[ -e '$tmpdir/testrootfs/test5' ]"
|
||||||
|
|
||||||
luet install -y --config $tmpdir/luet.yaml test/a@1.0
|
|
||||||
assertTrue 'package installed A' "[ -e '$tmpdir/testrootfs/testaa' ]"
|
assertTrue 'package installed A' "[ -e '$tmpdir/testrootfs/testaa' ]"
|
||||||
installst=$?
|
|
||||||
assertEquals 'install test successfully' "$installst" "0"
|
|
||||||
|
|
||||||
luet install -y --config $tmpdir/luet.yaml test/a@1.1
|
|
||||||
assertTrue 'package installed A' "[ -e '$tmpdir/testrootfs/testaa' ]"
|
|
||||||
installst=$?
|
|
||||||
assertEquals 'install test successfully' "$installst" "0"
|
|
||||||
assertTrue 'package keeps old A' "[ -e '$tmpdir/testrootfs/testaa' ]"
|
|
||||||
assertTrue 'package new A was not installed' "[ ! -e '$tmpdir/testrootfs/testlatest' ]"
|
|
||||||
|
|
||||||
luet install -y --config $tmpdir/luet.yaml test/c@1.0
|
|
||||||
installst=$?
|
|
||||||
assertEquals 'install test successfully' "$installst" "0"
|
|
||||||
assertTrue 'package installed C' "[ -e '$tmpdir/testrootfs/c' ]"
|
assertTrue 'package installed C' "[ -e '$tmpdir/testrootfs/c' ]"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -85,26 +85,11 @@ EOF
|
|||||||
}
|
}
|
||||||
|
|
||||||
testInstall() {
|
testInstall() {
|
||||||
luet install -y --config $tmpdir/luet.yaml test/b@1.0
|
luet install -y --config $tmpdir/luet.yaml test/b@1.0 test/a@1.0 test/c@1.0
|
||||||
installst=$?
|
installst=$?
|
||||||
assertEquals 'install test successfully' "$installst" "0"
|
assertEquals 'install test successfully' "$installst" "0"
|
||||||
assertTrue 'package installed B' "[ -e '$tmpdir/testrootfs/test5' ]"
|
assertTrue 'package installed B' "[ -e '$tmpdir/testrootfs/test5' ]"
|
||||||
|
|
||||||
luet install -y --config $tmpdir/luet.yaml test/a@1.0
|
|
||||||
assertTrue 'package installed A' "[ -e '$tmpdir/testrootfs/testaa' ]"
|
assertTrue 'package installed A' "[ -e '$tmpdir/testrootfs/testaa' ]"
|
||||||
installst=$?
|
|
||||||
assertEquals 'install test successfully' "$installst" "0"
|
|
||||||
|
|
||||||
luet install -y --config $tmpdir/luet.yaml test/a@1.1
|
|
||||||
assertTrue 'package installed A' "[ -e '$tmpdir/testrootfs/testaa' ]"
|
|
||||||
installst=$?
|
|
||||||
assertEquals 'install test successfully' "$installst" "0"
|
|
||||||
assertTrue 'package keeps old A' "[ -e '$tmpdir/testrootfs/testaa' ]"
|
|
||||||
assertTrue 'package new A was not installed' "[ ! -e '$tmpdir/testrootfs/testlatest' ]"
|
|
||||||
|
|
||||||
luet install -y --config $tmpdir/luet.yaml test/c@1.0
|
|
||||||
installst=$?
|
|
||||||
assertEquals 'install test successfully' "$installst" "0"
|
|
||||||
assertTrue 'package installed C' "[ -e '$tmpdir/testrootfs/c' ]"
|
assertTrue 'package installed C' "[ -e '$tmpdir/testrootfs/c' ]"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user