feat: finalize pkg
This commit is contained in:
parent
98c91b5ca0
commit
e34caf4ffe
8
.idea/.gitignore
generated
vendored
Normal file
8
.idea/.gitignore
generated
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
|
# Editor-based HTTP Client requests
|
||||||
|
/httpRequests/
|
||||||
|
# Datasource local storage ignored files
|
||||||
|
/dataSources/
|
||||||
|
/dataSources.local.xml
|
9
.idea/flatpak-downgrade.iml
generated
Normal file
9
.idea/flatpak-downgrade.iml
generated
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="WEB_MODULE" version="4">
|
||||||
|
<component name="Go" enabled="true" />
|
||||||
|
<component name="NewModuleRootManager">
|
||||||
|
<content url="file://$MODULE_DIR$" />
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
</module>
|
8
.idea/modules.xml
generated
Normal file
8
.idea/modules.xml
generated
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/flatpak-downgrade.iml" filepath="$PROJECT_DIR$/.idea/flatpak-downgrade.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
6
.idea/vcs.xml
generated
Normal file
6
.idea/vcs.xml
generated
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
47
cmd/root.go
47
cmd/root.go
@ -1,23 +1,18 @@
|
|||||||
/*
|
// Package cmd
|
||||||
Copyright © 2024 Mark Bailey <gitea.com/cerbervs>
|
|
||||||
This file is part of a CLI application developed by Mark Bailey
|
|
||||||
*/
|
|
||||||
package cmd
|
package cmd
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bufio"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"strings"
|
|
||||||
|
|
||||||
"github.com/spf13/cobra"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
// Flags
|
// Flags
|
||||||
IgnoreUpgrade bool
|
IgnoreUpgrade bool
|
||||||
|
Unmask bool
|
||||||
Version string
|
Version string
|
||||||
|
|
||||||
// Args
|
// Args
|
||||||
@ -44,36 +39,25 @@ func downgrade() {
|
|||||||
|
|
||||||
cmd := exec.Command("flatpak", "update", "--commit="+Version, PkgName)
|
cmd := exec.Command("flatpak", "update", "--commit="+Version, PkgName)
|
||||||
|
|
||||||
outpipe, _ := cmd.StdoutPipe()
|
|
||||||
defer outpipe.Close()
|
|
||||||
scanner := bufio.NewScanner(outpipe)
|
|
||||||
|
|
||||||
cmd.Stdin = os.Stdin
|
cmd.Stdin = os.Stdin
|
||||||
cmd.Stdout = os.Stdout
|
cmd.Stdout = os.Stdout
|
||||||
cmd.Stderr = os.Stderr
|
cmd.Stderr = os.Stderr
|
||||||
|
|
||||||
err := cmd.Start()
|
err := cmd.Run()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal("Start Error: ", "\nPlease try running with root privileges.")
|
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
var text string
|
if IgnoreUpgrade && Unmask {
|
||||||
for scanner.Scan() {
|
log.Fatal("Error: Cannot use both --ignore-upgrade and --unmask flags together.")
|
||||||
text = scanner.Text() + text
|
|
||||||
if strings.Contains(scanner.Text(), "Nothing to do.") {
|
|
||||||
os.Exit(0)
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
fmt.Println("Text was: " + text)
|
|
||||||
|
|
||||||
if IgnoreUpgrade {
|
if IgnoreUpgrade {
|
||||||
mask()
|
mask()
|
||||||
|
} else if Unmask {
|
||||||
|
unmask()
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Println("Downgrade successful!")
|
fmt.Println("Downgrade successful!")
|
||||||
os.Exit(0)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func mask() {
|
func mask() {
|
||||||
@ -86,6 +70,15 @@ func mask() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func unmask() {
|
||||||
|
mask := exec.Command("flatpak", "mask", "--remove", PkgName)
|
||||||
|
maskErr := mask.Run()
|
||||||
|
if maskErr != nil {
|
||||||
|
log.Fatal("Error: ", maskErr, "\nPlease try running with root privileges.")
|
||||||
|
} else {
|
||||||
|
fmt.Println("Marked ", PkgName, " as upgradable.")
|
||||||
|
}
|
||||||
|
}
|
||||||
func Execute() {
|
func Execute() {
|
||||||
err := rootCmd.Execute()
|
err := rootCmd.Execute()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -95,5 +88,11 @@ func Execute() {
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
rootCmd.Flags().BoolVarP(&IgnoreUpgrade, "ignore-upgrage", "i", false, "Mark flatpak as ignored for upgrade")
|
rootCmd.Flags().BoolVarP(&IgnoreUpgrade, "ignore-upgrage", "i", false, "Mark flatpak as ignored for upgrade")
|
||||||
|
rootCmd.Flags().BoolVarP(&Unmask, "unmask", "u", false, "Mark flatpak as upgradable")
|
||||||
rootCmd.Flags().StringVarP(&Version, "version", "v", "", "Commit hash of the specific version")
|
rootCmd.Flags().StringVarP(&Version, "version", "v", "", "Commit hash of the specific version")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright © 2024 Mark Bailey <gitea.com/cerbervs>
|
||||||
|
* This file is part of a CLI application developed by Mark Bailey
|
||||||
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user