diff options
| author | huker667 <huker@tuta.io> | 2026-05-04 14:07:50 +0300 |
|---|---|---|
| committer | huker667 <huker@tuta.io> | 2026-05-04 14:07:50 +0300 |
| commit | c6fef39af5bec12ab47e24f4df33bd1a210ec823 (patch) | |
| tree | f87a5792ce7b19f4ee725502cd3a9a03c9b3ce57 | |
| parent | b666285bd886fec492cf6cd911dfd5dd69f0eb60 (diff) | |
| download | qulay-c6fef39af5bec12ab47e24f4df33bd1a210ec823.tar.gz qulay-c6fef39af5bec12ab47e24f4df33bd1a210ec823.tar.bz2 qulay-c6fef39af5bec12ab47e24f4df33bd1a210ec823.zip | |
bug fixes
| -rw-r--r-- | config/paths.go | 6 | ||||
| -rw-r--r-- | database/database.go | 14 | ||||
| -rw-r--r-- | main.go | 7 | ||||
| -rw-r--r-- | package/package.go | 16 |
4 files changed, 27 insertions, 16 deletions
diff --git a/config/paths.go b/config/paths.go index 9455496..ff3b927 100644 --- a/config/paths.go +++ b/config/paths.go @@ -1,5 +1,5 @@ package paths -const ReposUrlsFile = "/etc/qulay/repositories" -const ReposDir = "/var/lib/qulay/repos/" -const InstalledFile = "/var/lib/qulay/installed" +const ReposUrlsFile = "etc/qulay/repositories" +const ReposDir = "var/lib/qulay/repos/" +const InstalledFile = "var/lib/qulay/installed" diff --git a/database/database.go b/database/database.go index aad4900..0624bb7 100644 --- a/database/database.go +++ b/database/database.go @@ -24,8 +24,8 @@ import ( var _name string = filepath.Base(os.Args[0]) -func GetReposUrls() []string { - f, err := os.Open(paths.ReposUrlsFile) +func GetReposUrls(destDir string) []string { + f, err := os.Open(filepath.Join(destDir, paths.ReposUrlsFile)) if err != nil { return []string{} } @@ -160,9 +160,11 @@ func GetPackageVersion(name string, destDir string) string { func RegPackage(name string, version string, destDir string) error { data := ReadInstalled(destDir) - _, installed := data[name] - if installed { - if data[name][0].(string) != version { + val, installed := data[name] + + if installed && len(val) > 0 { + currentVersion := fmt.Sprintf("%v", val[0]) + if currentVersion != version { data[name][0] = version } } else { @@ -175,7 +177,7 @@ func UnRegPackage(name string, destDir string) error { data := ReadInstalled(destDir) _, ok := data[name] if !ok { - return fmt.Errorf("!! cant unregister '%s': package", name, "is not installed") + return fmt.Errorf("cant unregister '%s': package is not installed", name) } delete(data, name) return WriteInstalled(data, destDir) @@ -16,7 +16,7 @@ var _name string = filepath.Base(os.Args[0]) var _cmds = []string{"h", "+", "-", "g", "s", "p", "u", "r", "q", "v"} var _root_cmds = []string{"+", "-", "u", "i"} -const _version string = "0.5" +const _version string = "0.6" const _help string = `{_name}: command-line interface to the Qulay Package Manager Usage: {_name} h -> help menu @@ -104,7 +104,7 @@ func main() { } } } else if cmds[0] == "u" { - database.DownloadRepos(database.GetReposUrls(), destDir) + database.DownloadRepos(database.GetReposUrls(destDir), destDir) } else if cmds[0] == "g" { if len(oths) < 1 { fmt.Println("!! no package(s) received") @@ -114,7 +114,7 @@ func main() { fmt.Println(database.GetPackageVersion(name, destDir)) } } else if cmds[0] == "r" { - for _, url := range database.GetReposUrls() { + for _, url := range database.GetReposUrls(destDir) { fmt.Println(url) } } else if cmds[0] == "q" { @@ -124,6 +124,7 @@ func main() { } else if cmds[0] == "s" { if len(oths) < 1 { pkgs := pkg.GetPackages(destDir) + fmt.Println(pkgs) for _, p := range pkgs { if database.IsInstalled(p.Repo + "/" + p.Name, destDir) { fmt.Printf("[+] %s/%s - %v - %v\n", p.Repo, p.Name, p.Data[0], p.Data[1]) diff --git a/package/package.go b/package/package.go index 35c6f5a..8681717 100644 --- a/package/package.go +++ b/package/package.go @@ -165,7 +165,14 @@ func Install(name string, args []string, destDir string) error { if n == pkg.Name || n == pkg.Repo + "/" + pkg.Name { return errors.New("broken depends in package " + n) } - fmt.Printf("%v. %s - %v", i, n, database.GetPackageVersion(n, destDir)) + + depPkgs := FindPackages(n, destDir) + v := "not found" + if len(depPkgs) > 0 { + v = fmt.Sprintf("%v", depPkgs[0].Data[1]) + } + + fmt.Printf("%v. %s - %v\n", i+1, n, v) } } } @@ -234,9 +241,10 @@ func Remove(name string, args []string, destDir string) error { err = database.UnRegPackage(pkg.Repo + "/" + pkg.Name, destDir) if err != nil { - return errors.New("failed to unregister package in installed database: " + err.Error()) + return err } - - fmt.Println(":: " + pkg.Repo + "/" + pkg.Name + " (" + database.GetPackageVersion(pkg.Repo + "/" + pkg.Name, destDir) + ") removed") + + v := helpers.ToString(pkg.Data[1]) + fmt.Println(":: " + pkg.Repo + "/" + pkg.Name + " (" + v + ") removed") return nil } |