blob: 0675d50975d9dc31086d4b921d54e72099ded30b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
package main
import (
"fmt"
"os"
"os/exec"
"strconv"
)
var template = `# Maintainer: Equationzhao <equationzhao at foxmail dot com>
pkgname='g-ls'
pkgver=%s
pkgrel=%d
pkgdesc='a powerful ls in golang'
arch=($CARCH)
url='https://github.com/Equationzhao/g'
license=('MIT')
makedepends=('go')
backup=("etc/$pkgname/config.conf")
source=("g-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz")
sha256sums=('6d39469e541eec15fcad38301faf8879a84e0566dde156e3d6d582541036135f')
build() {
cd "$srcdir/g-$pkgver"
go build -ldflags="-s -w -v -X main.compiledAt=$(date +%%Y%%m%%d%%H%%M%%S)" -o g
}
package() {
cd "$srcdir/g-$pkgver"
mkdir -p "$pkgdir/usr/bin"
install -m755 g "$pkgdir/usr/bin"
cd man
gzip g.1
install -Dm644 g.1.gz "$pkgdir/usr/share/man/man1/g.1.gz"
}
`
var (
v = ""
rel = 1
)
func main() {
switch len(os.Args) {
case 0:
case 1:
println("plz specify version")
return
case 2:
v = os.Args[1]
case 3:
v = os.Args[1]
var err error
rel, err = strconv.Atoi(os.Args[2])
if err != nil {
println("rel must be int")
return
}
default:
println("what hell are you doing?")
return
}
content := fmt.Sprintf(template, v, rel)
err := exec.Command("rm", "-rf", "PKGBUILD").Run()
if err != nil {
println(err.Error())
return
}
pkg, _ := os.OpenFile("PKGBUILD", os.O_CREATE|os.O_WRONLY, 0o644)
_, err = pkg.Write([]byte(content))
if err != nil {
println(err.Error())
return
}
result, err := exec.Command("bash", "make.sh").Output()
if err != nil {
println(err.Error())
return
}
println(string(result))
}
|