mirror of
https://github.com/octoleo/syncthing.git
synced 2024-12-22 10:58:57 +00:00
build: Remove snap build machinery (#6532)
This commit is contained in:
parent
0ba3abdee4
commit
37ede49077
6
.gitignore
vendored
6
.gitignore
vendored
@ -16,11 +16,5 @@ syncthing.sig
|
|||||||
RELEASE
|
RELEASE
|
||||||
deb
|
deb
|
||||||
lib/auto/gui.files.go
|
lib/auto/gui.files.go
|
||||||
snapcraft.yaml
|
|
||||||
prime/
|
|
||||||
snap/
|
|
||||||
parts/
|
|
||||||
stage/
|
|
||||||
*.snap
|
|
||||||
*.bz2
|
*.bz2
|
||||||
/repos
|
/repos
|
||||||
|
@ -1,13 +1,4 @@
|
|||||||
# We will grab the Go compiler from the latest Go image.
|
FROM golang:1.13
|
||||||
FROM golang:1.13 as go
|
|
||||||
|
|
||||||
# Otherwise we base on the snapcraft container as that is by far the
|
|
||||||
# most complex and tricky thing to get installed and working...
|
|
||||||
FROM snapcore/snapcraft
|
|
||||||
|
|
||||||
# Go
|
|
||||||
COPY --from=go /usr/local/go /usr/local/go
|
|
||||||
ENV PATH="/usr/local/go/bin:$PATH"
|
|
||||||
|
|
||||||
# FPM to build Debian packages
|
# FPM to build Debian packages
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
45
build.go
45
build.go
@ -31,7 +31,6 @@ import (
|
|||||||
"runtime"
|
"runtime"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"text/template"
|
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -323,9 +322,6 @@ func runCommand(cmd string, target target) {
|
|||||||
case "deb":
|
case "deb":
|
||||||
buildDeb(target)
|
buildDeb(target)
|
||||||
|
|
||||||
case "snap":
|
|
||||||
buildSnap(target)
|
|
||||||
|
|
||||||
case "vet":
|
case "vet":
|
||||||
metalintShort()
|
metalintShort()
|
||||||
|
|
||||||
@ -588,47 +584,6 @@ func buildDeb(target target) {
|
|||||||
runPrint("fpm", args...)
|
runPrint("fpm", args...)
|
||||||
}
|
}
|
||||||
|
|
||||||
func buildSnap(target target) {
|
|
||||||
os.RemoveAll("snap")
|
|
||||||
|
|
||||||
tmpl, err := template.ParseFiles("snapcraft.yaml.template")
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
f, err := os.Create("snapcraft.yaml")
|
|
||||||
defer f.Close()
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
snaparch := goarch
|
|
||||||
if snaparch == "armhf" {
|
|
||||||
goarch = "arm"
|
|
||||||
} else if snaparch == "i386" {
|
|
||||||
goarch = "386"
|
|
||||||
}
|
|
||||||
snapver := version
|
|
||||||
if strings.HasPrefix(snapver, "v") {
|
|
||||||
snapver = snapver[1:]
|
|
||||||
}
|
|
||||||
snapgrade := "devel"
|
|
||||||
if matched, _ := regexp.MatchString(`^\d+\.\d+\.\d+(-rc.\d+)?$`, snapver); matched {
|
|
||||||
snapgrade = "stable"
|
|
||||||
}
|
|
||||||
err = tmpl.Execute(f, map[string]string{
|
|
||||||
"Version": snapver,
|
|
||||||
"HostArchitecture": runtime.GOARCH,
|
|
||||||
"TargetArchitecture": snaparch,
|
|
||||||
"Grade": snapgrade,
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
runPrint("snapcraft", "clean")
|
|
||||||
build(target, []string{"noupgrade"})
|
|
||||||
runPrint("snapcraft")
|
|
||||||
}
|
|
||||||
|
|
||||||
func shouldBuildSyso(dir string) (string, error) {
|
func shouldBuildSyso(dir string) (string, error) {
|
||||||
type M map[string]interface{}
|
type M map[string]interface{}
|
||||||
version := getVersion()
|
version := getVersion()
|
||||||
|
@ -1,36 +0,0 @@
|
|||||||
name: syncthing
|
|
||||||
version: {{.Version}}
|
|
||||||
summary: Open Source Continuous File Synchronization
|
|
||||||
description: |
|
|
||||||
Syncthing replaces proprietary sync and cloud services with something open,
|
|
||||||
trustworthy and decentralized. Your data is your data alone and you deserve
|
|
||||||
to choose where it is stored, if it is shared with some third party and how
|
|
||||||
it's transmitted over the Internet.
|
|
||||||
architectures:
|
|
||||||
- build-on: [{{.HostArchitecture}}]
|
|
||||||
run-on: [{{.TargetArchitecture}}]
|
|
||||||
|
|
||||||
grade: {{.Grade}}
|
|
||||||
confinement: strict
|
|
||||||
|
|
||||||
apps:
|
|
||||||
syncthing:
|
|
||||||
command: syncthing
|
|
||||||
environment:
|
|
||||||
HOME: ${SNAP_USER_COMMON}
|
|
||||||
XDG_CONFIG_HOME: ${SNAP_USER_COMMON}
|
|
||||||
plugs:
|
|
||||||
- desktop
|
|
||||||
- home
|
|
||||||
- network
|
|
||||||
- network-bind
|
|
||||||
- removable-media
|
|
||||||
|
|
||||||
parts:
|
|
||||||
syncthing:
|
|
||||||
source: .
|
|
||||||
plugin: dump
|
|
||||||
stage:
|
|
||||||
- syncthing
|
|
||||||
prime:
|
|
||||||
- syncthing
|
|
Loading…
Reference in New Issue
Block a user