feat: finalize pkg

This commit is contained in:
Mark Bailey 2024-09-09 06:25:32 -04:00
parent 98c91b5ca0
commit e34caf4ffe
5 changed files with 54 additions and 24 deletions

8
.idea/.gitignore generated vendored Normal file
View 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
View 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
View 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
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

View File

@ -1,23 +1,18 @@
/*
Copyright © 2024 Mark Bailey <gitea.com/cerbervs>
This file is part of a CLI application developed by Mark Bailey
*/
// Package cmd
package cmd
import (
"bufio"
"fmt"
"github.com/spf13/cobra"
"log"
"os"
"os/exec"
"strings"
"github.com/spf13/cobra"
)
var (
// Flags
IgnoreUpgrade bool
Unmask bool
Version string
// Args
@ -44,36 +39,25 @@ func downgrade() {
cmd := exec.Command("flatpak", "update", "--commit="+Version, PkgName)
outpipe, _ := cmd.StdoutPipe()
defer outpipe.Close()
scanner := bufio.NewScanner(outpipe)
cmd.Stdin = os.Stdin
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
err := cmd.Start()
err := cmd.Run()
if err != nil {
log.Fatal("Start Error: ", "\nPlease try running with root privileges.")
panic(err)
}
var text string
for scanner.Scan() {
text = scanner.Text() + text
if strings.Contains(scanner.Text(), "Nothing to do.") {
os.Exit(0)
if IgnoreUpgrade && Unmask {
log.Fatal("Error: Cannot use both --ignore-upgrade and --unmask flags together.")
}
}
fmt.Println("Text was: " + text)
if IgnoreUpgrade {
mask()
} else if Unmask {
unmask()
}
fmt.Println("Downgrade successful!")
os.Exit(0)
}
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() {
err := rootCmd.Execute()
if err != nil {
@ -95,5 +88,11 @@ func Execute() {
func init() {
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")
}
/*
* Copyright © 2024 Mark Bailey <gitea.com/cerbervs>
* This file is part of a CLI application developed by Mark Bailey
*/