summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhuker667 <huker@tuta.io>2026-05-04 14:07:50 +0300
committerhuker667 <huker@tuta.io>2026-05-04 14:07:50 +0300
commitc6fef39af5bec12ab47e24f4df33bd1a210ec823 (patch)
treef87a5792ce7b19f4ee725502cd3a9a03c9b3ce57
parentb666285bd886fec492cf6cd911dfd5dd69f0eb60 (diff)
downloadqulay-c6fef39af5bec12ab47e24f4df33bd1a210ec823.tar.gz
qulay-c6fef39af5bec12ab47e24f4df33bd1a210ec823.tar.bz2
qulay-c6fef39af5bec12ab47e24f4df33bd1a210ec823.zip
bug fixes
-rw-r--r--config/paths.go6
-rw-r--r--database/database.go14
-rw-r--r--main.go7
-rw-r--r--package/package.go16
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)
diff --git a/main.go b/main.go
index 75f6e80..d3499dc 100644
--- a/main.go
+++ b/main.go
@@ -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
}