mirror of
https://github.com/EnumeratedDev/stormfetch.git
synced 2026-09-15 23:46:12 +00:00
Update Makefile and add version flag
This commit is contained in:
@@ -1,32 +1,35 @@
|
||||
SHELL := /bin/bash
|
||||
|
||||
ifeq ($(PREFIX),)
|
||||
PREFIX := /usr/local
|
||||
endif
|
||||
ifeq ($(BINDIR),)
|
||||
BINDIR := $(PREFIX)/bin
|
||||
endif
|
||||
ifeq ($(SYSCONFDIR),)
|
||||
# Installation paths
|
||||
PREFIX ?= /usr/local
|
||||
BINDIR ?= $(PREFIX)/bin
|
||||
SYSCONFDIR := $(PREFIX)/etc
|
||||
endif
|
||||
ifeq ($(GO),)
|
||||
GO := $(shell type -a -P go | head -n 1)
|
||||
endif
|
||||
|
||||
# Compilers and tools
|
||||
GO ?= go
|
||||
|
||||
# Build-time variables
|
||||
VERSION ?= $(shell git describe --tags --dirty)
|
||||
|
||||
build:
|
||||
mkdir -p build
|
||||
cd src; $(GO) build -ldflags "-w -X 'main.systemConfigDir=$(SYSCONFDIR)'" -o ../build/stormfetch stormfetch
|
||||
cd src; $(GO) build -ldflags "-w -X 'main.StormfetchVersion=$(VERSION)' -X 'main.SystemConfigDir=$(SYSCONFDIR)'" -o ../build/stormfetch stormfetch
|
||||
|
||||
install: build/stormfetch config/
|
||||
mkdir -p $(DESTDIR)$(BINDIR)
|
||||
mkdir -p $(DESTDIR)$(SYSCONFDIR)/stormfetch/
|
||||
cp build/stormfetch $(DESTDIR)$(BINDIR)/stormfetch
|
||||
cp -r config/. $(DESTDIR)$(SYSCONFDIR)/stormfetch/
|
||||
# Create directoriy
|
||||
install -dm755 $(DESTDIR)$(BINDIR)
|
||||
# Install binary
|
||||
install -m755 build/stormfetch $(DESTDIR)$(BINDIR)/stormfetch
|
||||
|
||||
run: build/stormfetch
|
||||
build/stormfetch
|
||||
install-config:
|
||||
# Create directory
|
||||
install -dm755 $(DESTDIR)$(SYSCONFDIR)
|
||||
# Install files
|
||||
cp -r config $(DESTDIR)$(SYSCONFDIR)/stormfetch/
|
||||
|
||||
uninstall:
|
||||
-rm -f $(DESTDIR)$(BINDIR)/stormfetch
|
||||
-rm -rf $(DESTDIR)$(SYSCONFDIR)/stormfetch
|
||||
|
||||
clean:
|
||||
rm -r build/
|
||||
|
||||
.PHONY: build
|
||||
.PHONY: build install install-config uninstall clean
|
||||
|
||||
+2
-2
@@ -28,8 +28,8 @@ func readConfig() {
|
||||
// Find valid config directory
|
||||
if _, err := os.Stat(path.Join(userConfigDir, "stormfetch/config.yaml")); err == nil {
|
||||
configPath = path.Join(userConfigDir, "stormfetch/config.yaml")
|
||||
} else if _, err := os.Stat(path.Join(systemConfigDir, "stormfetch/config.yaml")); err == nil {
|
||||
configPath = path.Join(systemConfigDir, "stormfetch/config.yaml")
|
||||
} else if _, err := os.Stat(path.Join(SystemConfigDir, "stormfetch/config.yaml")); err == nil {
|
||||
configPath = path.Join(SystemConfigDir, "stormfetch/config.yaml")
|
||||
} else {
|
||||
log.Fatalf("Config file not found: %s", err.Error())
|
||||
}
|
||||
|
||||
+10
-2
@@ -9,9 +9,11 @@ import (
|
||||
)
|
||||
|
||||
// Build-time variables
|
||||
var systemConfigDir = "/etc/"
|
||||
var StormfetchVersion = "dev"
|
||||
var SystemConfigDir = "/etc/"
|
||||
|
||||
// Flag variables
|
||||
var ShowVersion = false
|
||||
var ShowModuleTimeTaken = false
|
||||
|
||||
var configPath = ""
|
||||
@@ -24,13 +26,19 @@ func main() {
|
||||
}
|
||||
|
||||
func parseFlags() {
|
||||
flag.BoolVar(&ShowVersion, "version", false, "Show Stormfetch version")
|
||||
flag.BoolVar(&ShowModuleTimeTaken, "time-taken", false, "Show time taken to execute each module")
|
||||
flag.StringVar(&config.Ascii, "ascii", config.Ascii, "Set distro ascii")
|
||||
flag.StringVar(&config.DistroName, "distro-name", config.DistroName, "Set distro name")
|
||||
flag.BoolVar(&ShowModuleTimeTaken, "time-taken", false, "Show time taken to execute each module")
|
||||
flag.Parse()
|
||||
}
|
||||
|
||||
func run() {
|
||||
if ShowVersion {
|
||||
fmt.Printf("Stormfetch version %s\n", StormfetchVersion)
|
||||
return
|
||||
}
|
||||
|
||||
// Fetch ascii art and remove header
|
||||
asciiArt := GetDistroAsciiArt()
|
||||
asciiArtHeader := ""
|
||||
|
||||
+4
-4
@@ -73,8 +73,8 @@ func GetDistroAsciiArt() string {
|
||||
}
|
||||
userConfDir, err := os.UserConfigDir()
|
||||
if err != nil {
|
||||
if _, err := os.Stat(path.Join(systemConfigDir, "stormfetch/ascii/", id)); err == nil {
|
||||
bytes, err := os.ReadFile(path.Join(systemConfigDir, "stormfetch/ascii/", id))
|
||||
if _, err := os.Stat(path.Join(SystemConfigDir, "stormfetch/ascii/", id)); err == nil {
|
||||
bytes, err := os.ReadFile(path.Join(SystemConfigDir, "stormfetch/ascii/", id))
|
||||
if err != nil {
|
||||
return defaultAscii
|
||||
}
|
||||
@@ -89,8 +89,8 @@ func GetDistroAsciiArt() string {
|
||||
return defaultAscii
|
||||
}
|
||||
return string(bytes)
|
||||
} else if _, err := os.Stat(path.Join(systemConfigDir, "stormfetch/ascii/", id)); err == nil {
|
||||
bytes, err := os.ReadFile(path.Join(systemConfigDir, "stormfetch/ascii/", id))
|
||||
} else if _, err := os.Stat(path.Join(SystemConfigDir, "stormfetch/ascii/", id)); err == nil {
|
||||
bytes, err := os.ReadFile(path.Join(SystemConfigDir, "stormfetch/ascii/", id))
|
||||
if err != nil {
|
||||
return defaultAscii
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user