Stub out pm package create

This commit is contained in:
Stephen McQuay 2018-02-26 19:58:28 -08:00
parent e043384c67
commit 2ec42dd61c
Signed by: sm
GPG Key ID: 4E4B72F479BA3CE5
2 changed files with 37 additions and 0 deletions

View File

@ -6,6 +6,7 @@ import (
"os" "os"
"mcquay.me/pm/keyring" "mcquay.me/pm/keyring"
"mcquay.me/pm/pkg"
) )
const usage = `pm: simple, cross-platform system package manager const usage = `pm: simple, cross-platform system package manager
@ -13,6 +14,7 @@ const usage = `pm: simple, cross-platform system package manager
subcommands: subcommands:
environ (env) -- print environment information environ (env) -- print environment information
keyring (key) -- interact with pm's OpenPGP keyring keyring (key) -- interact with pm's OpenPGP keyring
package (pkg) -- create packages
` `
const keyUsage = `pm keyring: interact with pm's OpenPGP keyring const keyUsage = `pm keyring: interact with pm's OpenPGP keyring
@ -27,6 +29,12 @@ subcommands:
verify (v) -- verify a detached signature verify (v) -- verify a detached signature
` `
const pkgUsage = `pm package: generate pm-compatible packages
subcommands:
create (c) -- create a fresh keypair
`
func main() { func main() {
if len(os.Args) < 2 { if len(os.Args) < 2 {
fatalf("pm: missing subcommand\n\n%v", usage) fatalf("pm: missing subcommand\n\n%v", usage)
@ -126,6 +134,27 @@ func main() {
default: default:
fatalf("unknown keyring subcommand: %q\n\nusage: %v", sub, keyUsage) fatalf("unknown keyring subcommand: %q\n\nusage: %v", sub, keyUsage)
} }
case "package", "pkg":
if len(os.Args[1:]) < 2 {
fatalf("pm package: insufficient args\n\nusage: %v", pkgUsage)
}
sub := os.Args[2]
switch sub {
case "create", "creat", "c":
if signID == "" {
fatalf("must set PM_PGP_ID\n")
}
args := os.Args[3:]
if len(args) != 1 {
fatalf("usage: pm package create <directory>\n")
}
dir := args[0]
if err := pkg.Create(dir, signID); err != nil {
fatalf("creating package: %v\n", err)
}
default:
fatalf("unknown package subcommand: %q\n\nusage: %v", sub, pkgUsage)
}
default: default:
fatalf("uknown subcommand %q\n\nusage: %v", cmd, usage) fatalf("uknown subcommand %q\n\nusage: %v", cmd, usage)
} }

8
pkg/pkg.go Normal file
View File

@ -0,0 +1,8 @@
package pkg
import "fmt"
// Create traverses the contents of dir and emits a valid pkg, signed by id
func Create(dir, id string) error {
return fmt.Errorf("creating package from %q for %q: NYI", dir, id)
}