fix: portage count and distro detection
This commit is contained in:
parent
3387e2916e
commit
abc4ea7369
2
Makefile
2
Makefile
@ -12,7 +12,7 @@ build:
|
|||||||
|
|
||||||
install:
|
install:
|
||||||
@if [ "$$(id -u)" -ne 0 ] && [ -z "$(DESTDIR)" ]; then \
|
@if [ "$$(id -u)" -ne 0 ] && [ -z "$(DESTDIR)" ]; then \
|
||||||
echo "Error: root privileges required. Run with sudo."; \
|
echo "Error: root privileges required. Run with sudo or doas."; \
|
||||||
exit 1; \
|
exit 1; \
|
||||||
fi
|
fi
|
||||||
@echo "Installing $(BINARY_NAME) to $(PREFIX)/bin..."
|
@echo "Installing $(BINARY_NAME) to $(PREFIX)/bin..."
|
||||||
|
|||||||
@ -39,6 +39,25 @@ func getPmPackages(packagerName string, packagerPath string) string {
|
|||||||
|
|
||||||
return fmt.Sprintf("%d (apk)", pkgCount)
|
return fmt.Sprintf("%d (apk)", pkgCount)
|
||||||
}
|
}
|
||||||
|
if packagerName == "emerge" {
|
||||||
|
count := 0
|
||||||
|
for _, cat := range pkgs {
|
||||||
|
if !cat.IsDir() || strings.HasPrefix(cat.Name(), ".") {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
catPath := packagerPath + "/" + cat.Name()
|
||||||
|
subdirs, err := os.ReadDir(catPath)
|
||||||
|
if err != nil {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
for _, sub := range subdirs {
|
||||||
|
if sub.IsDir() && !strings.HasPrefix(sub.Name(), ".") {
|
||||||
|
count++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return strconv.Itoa(count) + " (emerge)"
|
||||||
|
}
|
||||||
return strconv.Itoa(len(pkgs)) + " (" + packagerName + ")"
|
return strconv.Itoa(len(pkgs)) + " (" + packagerName + ")"
|
||||||
}
|
}
|
||||||
return ""
|
return ""
|
||||||
@ -55,7 +74,7 @@ func GetPkgs() string {
|
|||||||
{"dnf", "/var/lib/dnf"},
|
{"dnf", "/var/lib/dnf"},
|
||||||
{"zypper", "/var/lib/zypp"},
|
{"zypper", "/var/lib/zypp"},
|
||||||
{"xbps", "/var/db/xbps"},
|
{"xbps", "/var/db/xbps"},
|
||||||
{"emerge", "/var/lib/portage"},
|
{"emerge", "/var/db/pkg"},
|
||||||
{"apk", "/etc/apk/"},
|
{"apk", "/etc/apk/"},
|
||||||
{"flatpak", "/var/lib/flatpak/app"},
|
{"flatpak", "/var/lib/flatpak/app"},
|
||||||
}
|
}
|
||||||
|
|||||||
@ -31,10 +31,12 @@ func GetDist() (string, string) {
|
|||||||
if strings.HasPrefix(t, "ID=") {
|
if strings.HasPrefix(t, "ID=") {
|
||||||
id = strings.TrimPrefix(t, "ID=")
|
id = strings.TrimPrefix(t, "ID=")
|
||||||
id = strings.Trim(id, "\"")
|
id = strings.Trim(id, "\"")
|
||||||
|
id = strings.ReplaceAll(id, "'", "")
|
||||||
}
|
}
|
||||||
if strings.HasPrefix(t, "PRETTY_NAME=") {
|
if strings.HasPrefix(t, "PRETTY_NAME=") {
|
||||||
prettyName = strings.TrimPrefix(t, "PRETTY_NAME=")
|
prettyName = strings.TrimPrefix(t, "PRETTY_NAME=")
|
||||||
prettyName = strings.Trim(prettyName, "\"")
|
prettyName = strings.Trim(prettyName, "\"")
|
||||||
|
prettyName = strings.ReplaceAll(prettyName, "'", "")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if id == "" && prettyName == "" {
|
if id == "" && prettyName == "" {
|
||||||
@ -194,7 +196,7 @@ func GetKernel() string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func GetHostname() string {
|
func GetHostname() string {
|
||||||
hostname, err := os.ReadFile("/etc/hostname")
|
hostname, err := os.ReadFile("/proc/sys/kernel/hostname")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "unknown"
|
return "unknown"
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user