The package rpms/syncthing-inotify.git has added or updated architecture specific content in its spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s): https://src.fedoraproject.org/cgit/rpms/syncthing-inotify.git/commit/?id=25e....
Change: -ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
Thanks.
Full change: ============
commit 25e0820fe1f751b6e470ed1da58116c99d28b8b6 Author: Fabio Valentini decathorpe@gmail.com Date: Thu Jan 18 10:30:50 2018 +0100
The functionality this package has provided has been merged into the main syncthing project.
diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 5d52965..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/syncthing-inotify-0.8.7.tar.gz diff --git a/00-syncthing-01433-bump.patch b/00-syncthing-01433-bump.patch deleted file mode 100644 index f459ac3..0000000 --- a/00-syncthing-01433-bump.patch +++ /dev/null @@ -1,502 +0,0 @@ -From 919d56e5a12035897cb4a9072831ffe9a9984f39 Mon Sep 17 00:00:00 2001 -From: Simon Frei freisim93@gmail.com -Date: Tue, 8 Aug 2017 18:02:33 +0200 -Subject: [PATCH] Update vendor to syncthing 0.14.33 (fixes #175) - ---- - syncwatcher.go | 2 +- - .../syncthing/syncthing/lib/ignore/cache.go | 16 ++- - .../syncthing/syncthing/lib/ignore/ignore.go | 142 ++++++++++++++------- - .../syncthing/syncthing/lib/logger/logger.go | 3 + - vendor/manifest | 42 +++--- - 5 files changed, 136 insertions(+), 69 deletions(-) - -diff --git a/syncwatcher.go b/syncwatcher.go -index 8dd5e4d..c2f9ca3 100644 ---- a/syncwatcher.go -+++ b/syncwatcher.go -@@ -500,7 +500,7 @@ func relativePath(path string, folderPath string) string { - // ".stignore" file. The returned function expects the path of the file to be - // tested relative to its folders root. - func createIgnoreFilter(folderPath string) func(relPath string) bool { -- ignores := ignore.New(false) -+ ignores := ignore.New(ignore.WithCache(false)) - ignores.Load(filepath.Join(folderPath, ".stignore")) - return ignores.ShouldIgnore - } -diff --git a/vendor/github.com/syncthing/syncthing/lib/ignore/cache.go b/vendor/github.com/syncthing/syncthing/lib/ignore/cache.go -index 1d1af99..64ee92a 100644 ---- a/vendor/github.com/syncthing/syncthing/lib/ignore/cache.go -+++ b/vendor/github.com/syncthing/syncthing/lib/ignore/cache.go -@@ -8,6 +8,12 @@ package ignore - - import "time" - -+type nower interface { -+ Now() time.Time -+} -+ -+var clock = nower(defaultClock{}) -+ - type cache struct { - patterns []Pattern - entries map[string]cacheEntry -@@ -27,7 +33,7 @@ func newCache(patterns []Pattern) *cache { - - func (c *cache) clean(d time.Duration) { - for k, v := range c.entries { -- if time.Since(v.access) > d { -+ if clock.Now().Sub(v.access) > d { - delete(c.entries, k) - } - } -@@ -36,7 +42,7 @@ func (c *cache) clean(d time.Duration) { - func (c *cache) get(key string) (Result, bool) { - entry, ok := c.entries[key] - if ok { -- entry.access = time.Now() -+ entry.access = clock.Now() - c.entries[key] = entry - } - return entry.result, ok -@@ -50,3 +56,9 @@ func (c *cache) len() int { - l := len(c.entries) - return l - } -+ -+type defaultClock struct{} -+ -+func (defaultClock) Now() time.Time { -+ return time.Now() -+} -diff --git a/vendor/github.com/syncthing/syncthing/lib/ignore/ignore.go b/vendor/github.com/syncthing/syncthing/lib/ignore/ignore.go -index e92cd7b..44adbc7 100644 ---- a/vendor/github.com/syncthing/syncthing/lib/ignore/ignore.go -+++ b/vendor/github.com/syncthing/syncthing/lib/ignore/ignore.go -@@ -64,24 +64,59 @@ func (r Result) IsCaseFolded() bool { - return r&resultFoldCase == resultFoldCase - } - -+// The ChangeDetector is responsible for determining if files have changed -+// on disk. It gets told to Remember() files (name and modtime) and will -+// then get asked if a file has been Seen() (i.e., Remember() has been -+// called on it) and if any of the files have Changed(). To forget all -+// files, call Reset(). -+type ChangeDetector interface { -+ Remember(name string, modtime time.Time) -+ Seen(name string) bool -+ Changed() bool -+ Reset() -+} -+ - type Matcher struct { -- lines []string -- patterns []Pattern -- withCache bool -- matches *cache -- curHash string -- stop chan struct{} -- modtimes map[string]time.Time -- mut sync.Mutex -+ lines []string // exact lines read from .stignore -+ patterns []Pattern // patterns including those from included files -+ withCache bool -+ matches *cache -+ curHash string -+ stop chan struct{} -+ changeDetector ChangeDetector -+ mut sync.Mutex -+} -+ -+// An Option can be passed to New() -+type Option func(*Matcher) -+ -+// WithCache enables or disables lookup caching. The default is disabled. -+func WithCache(v bool) Option { -+ return func(m *Matcher) { -+ m.withCache = v -+ } - } - --func New(withCache bool) *Matcher { -+// WithChangeDetector sets a custom ChangeDetector. The default is to simply -+// use the on disk modtime for comparison. -+func WithChangeDetector(cd ChangeDetector) Option { -+ return func(m *Matcher) { -+ m.changeDetector = cd -+ } -+} -+ -+func New(opts ...Option) *Matcher { - m := &Matcher{ -- withCache: withCache, -- stop: make(chan struct{}), -- mut: sync.NewMutex(), -+ stop: make(chan struct{}), -+ mut: sync.NewMutex(), - } -- if withCache { -+ for _, opt := range opts { -+ opt(m) -+ } -+ if m.changeDetector == nil { -+ m.changeDetector = newModtimeChecker() -+ } -+ if m.withCache { - go m.clean(2 * time.Hour) - } - return m -@@ -91,7 +126,7 @@ func (m *Matcher) Load(file string) error { - m.mut.Lock() - defer m.mut.Unlock() - -- if m.patternsUnchanged(file) { -+ if m.changeDetector.Seen(file) && !m.changeDetector.Changed() { - return nil - } - -@@ -108,9 +143,8 @@ func (m *Matcher) Load(file string) error { - return err - } - -- m.modtimes = map[string]time.Time{ -- file: info.ModTime(), -- } -+ m.changeDetector.Reset() -+ m.changeDetector.Remember(file, info.ModTime()) - - return m.parseLocked(fd, file) - } -@@ -122,7 +156,7 @@ func (m *Matcher) Parse(r io.Reader, file string) error { - } - - func (m *Matcher) parseLocked(r io.Reader, file string) error { -- lines, patterns, err := parseIgnoreFile(r, file, m.modtimes) -+ lines, patterns, err := parseIgnoreFile(r, file, m.changeDetector) - // Error is saved and returned at the end. We process the patterns - // (possibly blank) anyway. - -@@ -142,26 +176,6 @@ func (m *Matcher) parseLocked(r io.Reader, file string) error { - return err - } - --// patternsUnchanged returns true if none of the files making up the loaded --// patterns have changed since last check. --func (m *Matcher) patternsUnchanged(file string) bool { -- if _, ok := m.modtimes[file]; !ok { -- return false -- } -- -- for filename, modtime := range m.modtimes { -- info, err := os.Stat(filename) -- if err != nil { -- return false -- } -- if !info.ModTime().Equal(modtime) { -- return false -- } -- } -- -- return true --} -- - func (m *Matcher) Match(file string) (result Result) { - if m == nil || file == "." { - return resultNotMatched -@@ -284,8 +298,8 @@ func hashPatterns(patterns []Pattern) string { - return fmt.Sprintf("%x", h.Sum(nil)) - } - --func loadIgnoreFile(file string, modtimes map[string]time.Time) ([]string, []Pattern, error) { -- if _, ok := modtimes[file]; ok { -+func loadIgnoreFile(file string, cd ChangeDetector) ([]string, []Pattern, error) { -+ if cd.Seen(file) { - return nil, nil, fmt.Errorf("multiple include of ignore file %q", file) - } - -@@ -299,12 +313,13 @@ func loadIgnoreFile(file string, modtimes map[string]time.Time) ([]string, []Pat - if err != nil { - return nil, nil, err - } -- modtimes[file] = info.ModTime() - -- return parseIgnoreFile(fd, file, modtimes) -+ cd.Remember(file, info.ModTime()) -+ -+ return parseIgnoreFile(fd, file, cd) - } - --func parseIgnoreFile(fd io.Reader, currentFile string, modtimes map[string]time.Time) ([]string, []Pattern, error) { -+func parseIgnoreFile(fd io.Reader, currentFile string, cd ChangeDetector) ([]string, []Pattern, error) { - var lines []string - var patterns []Pattern - -@@ -371,11 +386,10 @@ func parseIgnoreFile(fd io.Reader, currentFile string, modtimes map[string]time. - } else if strings.HasPrefix(line, "#include ") { - includeRel := line[len("#include "):] - includeFile := filepath.Join(filepath.Dir(currentFile), includeRel) -- includeLines, includePatterns, err := loadIgnoreFile(includeFile, modtimes) -+ _, includePatterns, err := loadIgnoreFile(includeFile, cd) - if err != nil { - return fmt.Errorf("include of %q: %v", includeRel, err) - } -- lines = append(lines, includeLines...) - patterns = append(patterns, includePatterns...) - } else { - // Path name or pattern, add it so it matches files both in -@@ -466,3 +480,41 @@ func WriteIgnores(path string, content []string) error { - - return nil - } -+ -+// modtimeChecker is the default implementation of ChangeDetector -+type modtimeChecker struct { -+ modtimes map[string]time.Time -+} -+ -+func newModtimeChecker() *modtimeChecker { -+ return &modtimeChecker{ -+ modtimes: map[string]time.Time{}, -+ } -+} -+ -+func (c *modtimeChecker) Remember(name string, modtime time.Time) { -+ c.modtimes[name] = modtime -+} -+ -+func (c *modtimeChecker) Seen(name string) bool { -+ _, ok := c.modtimes[name] -+ return ok -+} -+ -+func (c *modtimeChecker) Reset() { -+ c.modtimes = map[string]time.Time{} -+} -+ -+func (c *modtimeChecker) Changed() bool { -+ for name, modtime := range c.modtimes { -+ info, err := os.Stat(name) -+ if err != nil { -+ return true -+ } -+ if !info.ModTime().Equal(modtime) { -+ return true -+ } -+ } -+ -+ return false -+} -diff --git a/vendor/github.com/syncthing/syncthing/lib/logger/logger.go b/vendor/github.com/syncthing/syncthing/lib/logger/logger.go -index 5d927fe..d09b866 100644 ---- a/vendor/github.com/syncthing/syncthing/lib/logger/logger.go -+++ b/vendor/github.com/syncthing/syncthing/lib/logger/logger.go -@@ -28,6 +28,8 @@ const ( - NumLevels - ) - -+const DebugFlags = log.Ltime | log.Ldate | log.Lmicroseconds | log.Lshortfile -+ - // A MessageHandler is called with the log level and message text. - type MessageHandler func(l LogLevel, msg string) - -@@ -215,6 +217,7 @@ func (l *logger) SetDebug(facility string, enabled bool) { - l.mut.Lock() - l.debug[facility] = enabled - l.mut.Unlock() -+ l.SetFlags(DebugFlags) - } - - // FacilityDebugging returns the set of facilities that have debugging -diff --git a/vendor/manifest b/vendor/manifest -index 770c074..482089e 100644 ---- a/vendor/manifest -+++ b/vendor/manifest -@@ -13,7 +13,7 @@ - "importpath": "github.com/syncthing/syncthing/lib/dialer", - "repository": "https://github.com/syncthing/syncthing", - "vcs": "git", -- "revision": "803da92ca93c44439eaae8faf0afbbfb4d60928b", -+ "revision": "d475ad7ce1c994358888c2fed250427ed0ef0243", - "branch": "HEAD", - "path": "lib/dialer", - "notests": true -@@ -22,7 +22,7 @@ - "importpath": "github.com/syncthing/syncthing/lib/ignore", - "repository": "https://github.com/syncthing/syncthing", - "vcs": "git", -- "revision": "803da92ca93c44439eaae8faf0afbbfb4d60928b", -+ "revision": "d475ad7ce1c994358888c2fed250427ed0ef0243", - "branch": "HEAD", - "path": "/lib/ignore", - "notests": true -@@ -31,7 +31,7 @@ - "importpath": "github.com/syncthing/syncthing/lib/logger", - "repository": "https://github.com/syncthing/syncthing", - "vcs": "git", -- "revision": "803da92ca93c44439eaae8faf0afbbfb4d60928b", -+ "revision": "d475ad7ce1c994358888c2fed250427ed0ef0243", - "branch": "HEAD", - "path": "lib/logger", - "notests": true -@@ -40,7 +40,7 @@ - "importpath": "github.com/syncthing/syncthing/lib/osutil", - "repository": "https://github.com/syncthing/syncthing", - "vcs": "git", -- "revision": "803da92ca93c44439eaae8faf0afbbfb4d60928b", -+ "revision": "d475ad7ce1c994358888c2fed250427ed0ef0243", - "branch": "HEAD", - "path": "lib/osutil", - "notests": true -@@ -49,7 +49,7 @@ - "importpath": "github.com/syncthing/syncthing/lib/sync", - "repository": "https://github.com/syncthing/syncthing", - "vcs": "git", -- "revision": "803da92ca93c44439eaae8faf0afbbfb4d60928b", -+ "revision": "d475ad7ce1c994358888c2fed250427ed0ef0243", - "branch": "HEAD", - "path": "lib/sync", - "notests": true -@@ -58,7 +58,7 @@ - "importpath": "github.com/syncthing/syncthing/vendor/github.com/calmh/du", - "repository": "https://github.com/syncthing/syncthing", - "vcs": "git", -- "revision": "803da92ca93c44439eaae8faf0afbbfb4d60928b", -+ "revision": "d475ad7ce1c994358888c2fed250427ed0ef0243", - "branch": "HEAD", - "path": "vendor/github.com/calmh/du", - "notests": true -@@ -67,7 +67,7 @@ - "importpath": "github.com/syncthing/syncthing/vendor/github.com/gobwas/glob", - "repository": "https://github.com/syncthing/syncthing", - "vcs": "git", -- "revision": "803da92ca93c44439eaae8faf0afbbfb4d60928b", -+ "revision": "d475ad7ce1c994358888c2fed250427ed0ef0243", - "branch": "HEAD", - "path": "vendor/github.com/gobwas/glob", - "notests": true -@@ -76,7 +76,7 @@ - "importpath": "github.com/syncthing/syncthing/vendor/github.com/petermattis/goid", - "repository": "https://github.com/syncthing/syncthing", - "vcs": "git", -- "revision": "803da92ca93c44439eaae8faf0afbbfb4d60928b", -+ "revision": "d475ad7ce1c994358888c2fed250427ed0ef0243", - "branch": "HEAD", - "path": "vendor/github.com/petermattis/goid", - "notests": true -@@ -85,7 +85,7 @@ - "importpath": "github.com/syncthing/syncthing/vendor/github.com/sasha-s/go-deadlock", - "repository": "https://github.com/syncthing/syncthing", - "vcs": "git", -- "revision": "803da92ca93c44439eaae8faf0afbbfb4d60928b", -+ "revision": "d475ad7ce1c994358888c2fed250427ed0ef0243", - "branch": "HEAD", - "path": "vendor/github.com/sasha-s/go-deadlock", - "notests": true -@@ -94,7 +94,7 @@ - "importpath": "github.com/syncthing/syncthing/vendor/golang.org/x/net/bpf", - "repository": "https://github.com/syncthing/syncthing", - "vcs": "git", -- "revision": "803da92ca93c44439eaae8faf0afbbfb4d60928b", -+ "revision": "d475ad7ce1c994358888c2fed250427ed0ef0243", - "branch": "HEAD", - "path": "vendor/golang.org/x/net/bpf", - "notests": true -@@ -103,7 +103,7 @@ - "importpath": "github.com/syncthing/syncthing/vendor/golang.org/x/net/internal/iana", - "repository": "https://github.com/syncthing/syncthing", - "vcs": "git", -- "revision": "803da92ca93c44439eaae8faf0afbbfb4d60928b", -+ "revision": "d475ad7ce1c994358888c2fed250427ed0ef0243", - "branch": "HEAD", - "path": "vendor/golang.org/x/net/internal/iana", - "notests": true -@@ -112,7 +112,7 @@ - "importpath": "github.com/syncthing/syncthing/vendor/golang.org/x/net/internal/netreflect", - "repository": "https://github.com/syncthing/syncthing", - "vcs": "git", -- "revision": "803da92ca93c44439eaae8faf0afbbfb4d60928b", -+ "revision": "d475ad7ce1c994358888c2fed250427ed0ef0243", - "branch": "HEAD", - "path": "vendor/golang.org/x/net/internal/netreflect", - "notests": true -@@ -121,7 +121,7 @@ - "importpath": "github.com/syncthing/syncthing/vendor/golang.org/x/net/ipv4", - "repository": "https://github.com/syncthing/syncthing", - "vcs": "git", -- "revision": "803da92ca93c44439eaae8faf0afbbfb4d60928b", -+ "revision": "d475ad7ce1c994358888c2fed250427ed0ef0243", - "branch": "HEAD", - "path": "vendor/golang.org/x/net/ipv4", - "notests": true -@@ -130,7 +130,7 @@ - "importpath": "github.com/syncthing/syncthing/vendor/golang.org/x/net/ipv6", - "repository": "https://github.com/syncthing/syncthing", - "vcs": "git", -- "revision": "803da92ca93c44439eaae8faf0afbbfb4d60928b", -+ "revision": "d475ad7ce1c994358888c2fed250427ed0ef0243", - "branch": "HEAD", - "path": "vendor/golang.org/x/net/ipv6", - "notests": true -@@ -139,7 +139,7 @@ - "importpath": "github.com/syncthing/syncthing/vendor/golang.org/x/net/proxy", - "repository": "https://github.com/syncthing/syncthing", - "vcs": "git", -- "revision": "803da92ca93c44439eaae8faf0afbbfb4d60928b", -+ "revision": "d475ad7ce1c994358888c2fed250427ed0ef0243", - "branch": "HEAD", - "path": "vendor/golang.org/x/net/proxy", - "notests": true -@@ -148,7 +148,7 @@ - "importpath": "github.com/syncthing/syncthing/vendor/golang.org/x/text/internal/gen", - "repository": "https://github.com/syncthing/syncthing", - "vcs": "git", -- "revision": "803da92ca93c44439eaae8faf0afbbfb4d60928b", -+ "revision": "d475ad7ce1c994358888c2fed250427ed0ef0243", - "branch": "HEAD", - "path": "vendor/golang.org/x/text/internal/gen", - "notests": true -@@ -157,7 +157,7 @@ - "importpath": "github.com/syncthing/syncthing/vendor/golang.org/x/text/internal/triegen", - "repository": "https://github.com/syncthing/syncthing", - "vcs": "git", -- "revision": "803da92ca93c44439eaae8faf0afbbfb4d60928b", -+ "revision": "d475ad7ce1c994358888c2fed250427ed0ef0243", - "branch": "HEAD", - "path": "vendor/golang.org/x/text/internal/triegen", - "notests": true -@@ -166,7 +166,7 @@ - "importpath": "github.com/syncthing/syncthing/vendor/golang.org/x/text/internal/ucd", - "repository": "https://github.com/syncthing/syncthing", - "vcs": "git", -- "revision": "803da92ca93c44439eaae8faf0afbbfb4d60928b", -+ "revision": "d475ad7ce1c994358888c2fed250427ed0ef0243", - "branch": "HEAD", - "path": "vendor/golang.org/x/text/internal/ucd", - "notests": true -@@ -175,7 +175,7 @@ - "importpath": "github.com/syncthing/syncthing/vendor/golang.org/x/text/transform", - "repository": "https://github.com/syncthing/syncthing", - "vcs": "git", -- "revision": "803da92ca93c44439eaae8faf0afbbfb4d60928b", -+ "revision": "d475ad7ce1c994358888c2fed250427ed0ef0243", - "branch": "HEAD", - "path": "vendor/golang.org/x/text/transform", - "notests": true -@@ -184,7 +184,7 @@ - "importpath": "github.com/syncthing/syncthing/vendor/golang.org/x/text/unicode/cldr", - "repository": "https://github.com/syncthing/syncthing", - "vcs": "git", -- "revision": "803da92ca93c44439eaae8faf0afbbfb4d60928b", -+ "revision": "d475ad7ce1c994358888c2fed250427ed0ef0243", - "branch": "HEAD", - "path": "vendor/golang.org/x/text/unicode/cldr", - "notests": true -@@ -193,7 +193,7 @@ - "importpath": "github.com/syncthing/syncthing/vendor/golang.org/x/text/unicode/norm", - "repository": "https://github.com/syncthing/syncthing", - "vcs": "git", -- "revision": "803da92ca93c44439eaae8faf0afbbfb4d60928b", -+ "revision": "d475ad7ce1c994358888c2fed250427ed0ef0243", - "branch": "HEAD", - "path": "vendor/golang.org/x/text/unicode/norm", - "notests": true diff --git a/README.md b/README.md deleted file mode 100644 index 19bdd08..0000000 --- a/README.md +++ /dev/null @@ -1,52 +0,0 @@ -## Usage - -By default, the syncthing-inotify service isn't enabled after installation. -Matching how you set up the syncthing service, syncthing-inotify has to be run -as a system-wide service for a specific user, or as a real user-session service. - -### User Session Service - -To enable the syncthing-inotify service as a user-session service for the -current user, run: - -```sh -systemctl --user enable --now syncthing-inotify.service -``` - -The service will be started now and each time you log in. - -The syncthing-inotify user session service will not automatically be restarted -after package updates. Instead, the user has to log out and back in, or restart -syncthing-inotify by running the following commands manually: - -```sh -systemctl --user daemon-reload -systemctl --user restart syncthing-inotify.service -``` - -### System service - -To enable the syncthing-inotify service as a system-wide service for user -`USER`, run: - -```sh -sudo systemctl enable --now syncthing-inotify@USER.service -``` - -The service will be started now and each time the system boots. - -Enabling the syncthing-inotify service this way has the benefit that it will -even be automatically restarted when the syncthing-inotify package is updated by -the package manager. - -## Configuration for watching more than 8192 files - -By default, fedora limits the number of watched files to 8192. If your -syncthing folders contain more than this number of directories and files, you -will need to raise this limit (permanently) by adding this setting to the -`/etc/sysctl.conf` file on your system: - -``` -fs.inotify.max_user_watches=204800 -``` - diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..c775deb --- /dev/null +++ b/dead.package @@ -0,0 +1 @@ +The functionality this package has provided has been merged into the main syncthing project. diff --git a/sources b/sources deleted file mode 100644 index 94c8cca..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -SHA512 (syncthing-inotify-0.8.7.tar.gz) = d6970ef97b84b9aaeea153e756ee6424f3851bea742fb56274d7d0b92d0851f7abf7c8f27202106db5c71aaaacebdb99376765267816294b8501c1a95237f901 diff --git a/syncthing-inotify.spec b/syncthing-inotify.spec deleted file mode 100644 index a1b67de..0000000 --- a/syncthing-inotify.spec +++ /dev/null @@ -1,316 +0,0 @@ -# Generate devel rpm -%global with_devel 1 -# Build project from bundled dependencies -%global with_bundled 0 -# Build with debug info rpm -%global with_debug 1 -# Run tests in check section -%global with_check 1 -# Generate unit-test rpm -%global with_unit_test 1 - -%if 0%{?with_debug} -%global _dwz_low_mem_die_limit 0 -%else -%global debug_package %{nil} -%endif - -%if ! 0%{?gobuild:1} -%global gobuild(o:) go build -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \n')" -a -v -x %{?**}; -%endif - -%global provider github -%global provider_tld com -%global project syncthing -%global repo syncthing-inotify -%global long_name golang-%{provider}-%{project}-%{repo} -# https://github.com/syncthing/syncthing-inotify -%global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} -%global import_path %{provider_prefix} -%global commit f628a84902f9ffdf9cb439294f83383b60d7efae -%global shortcommit %(c=%{commit}; echo ${c:0:7}) - -# commit f628a84902f9ffdf9cb439294f83383b60d7efae == version 0.8.7 - - -Name: syncthing-inotify -Version: 0.8.7 -Release: 4%{?dist} -Summary: Syncthing File watcher -License: MPLv2.0 - -URL: https://github.com/%%7Bproject%7D/%%7Brepo%7D -Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz - -# Use proposed patch to fix compatibility with syncthing 0.14.33+ -# https://github.com/syncthing/syncthing-inotify/issues/175 -# https://github.com/syncthing/syncthing-inotify/pull/176 -Patch0: 00-syncthing-01433-bump.patch - -# e.g. el6 has ppc64 arch without gcc-go, so EA tag is required -ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}} -# If go_compiler is not set to 1, there is no virtual provide. Use golang instead. -BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang} - -BuildRequires: systemd -%{?systemd_requires} - -%if ! 0%{?with_bundled} -BuildRequires: golang(github.com/cenkalti/backoff) -BuildRequires: golang(github.com/zillode/notify) -BuildRequires: golang(github.com/syncthing/syncthing/lib/ignore) -%endif - -Provides: %{long_name} = %{version}-%{release} - -Requires: syncthing >= 0.14.33 - - -%description -Syncthing (core) uses a rescan interval to detect changes in folders. -This application (syncthing-inotify) uses OS primitives to detect -changes as soon as they happen. Therefore, if you save a file, -syncthing-inotify will know about it and pass this information to -Syncthing such that near real-time synchronisation can be achieved. - - -%if 0%{?with_devel} -%package devel -Summary: Syncthing File watcher (development files) -Provides: %{long_name}-devel = %{version}-%{release} -BuildArch: noarch - -Provides: golang(%{import_path}) = %{version}-%{release} - -%description devel -Syncthing (core) uses a rescan interval to detect changes in folders. -This application (syncthing-inotify) uses OS primitives to detect -changes as soon as they happen. Therefore, if you save a file, -syncthing-inotify will know about it and pass this information to -Syncthing such that near real-time synchronisation can be achieved. - -This package contains the syncthing-inotify source files, which are -needed as dependency for building packages using syncthing-inotify. -%endif - - -%if 0%{?with_unit_test} && 0%{?with_devel} -%package unit-test-devel -Summary: Syncthing File watcher (unit tests) - -# test subpackage tests code from devel subpackage -Requires: %{name}-devel = %{version}-%{release} - -%description unit-test-devel -Syncthing (core) uses a rescan interval to detect changes in folders. -This application (syncthing-inotify) uses OS primitives to detect -changes as soon as they happen. Therefore, if you save a file, -syncthing-inotify will know about it and pass this information to -Syncthing such that near real-time synchronisation can be achieved. - -This package contains the unit tests for syncthing-inotify. -%endif - - -%prep -%autosetup -p1 - - -%build -# remove bundled libraries -rm -r vendor - -# prepare build environment -mkdir -p ./_build/src/%{provider}.%{provider_tld}/%{project} -ln -s $(pwd) ./_build/src/%{import_path} - -# run build and set version correctly -export GOPATH=$(pwd)/_build:%{gopath} -export LDFLAGS="-X main.Version=%{version}" -%gobuild -o %{name} %{import_path} - - -%install -# install binary -mkdir -p %{buildroot}/%{_bindir} -cp -pav %{name} %{buildroot}/%{_bindir}/%{name} - -# install systemd units -mkdir -p %{buildroot}/%{_unitdir} -mkdir -p %{buildroot}/%{_userunitdir} - -cp -pav etc/linux-systemd/user/%{name}.service %{buildroot}/%{_userunitdir}/ -cp -pav etc/linux-systemd/system/%{name}@.service %{buildroot}/%{_unitdir}/ - -# install systemd preset disabling the service per default -mkdir -p %{buildroot}/%{_prefix}/lib/systemd/user-preset -echo "disable syncthing-inotify*" > %{buildroot}/%{_prefix}/lib/systemd/user-preset/90-syncthing-inotify.preset - -# source codes for building projects -%if 0%{?with_devel} -install -d -p %{buildroot}/%{gopath}/src/%{import_path}/ -echo "%%dir %%{gopath}/src/%%{import_path}/." >> devel.file-list - -# find all *.go but no *_test.go files and generate devel.file-list -for file in $(find . ( -iname "*.go" -or -iname "*.s" ) ! -iname "*_test.go") ; do - dirprefix=$(dirname $file) - install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$dirprefix - cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file - echo "%%{gopath}/src/%%{import_path}/$file" >> devel.file-list - - while [ "$dirprefix" != "." ]; do - echo "%%dir %%{gopath}/src/%%{import_path}/$dirprefix" >> devel.file-list - dirprefix=$(dirname $dirprefix) - done -done -%endif - -# testing files for this project -%if 0%{?with_unit_test} && 0%{?with_devel} -install -d -p %{buildroot}/%{gopath}/src/%{import_path}/ - -# find all *_test.go files and generate unit-test-devel.file-list -for file in $(find . -iname "*_test.go") ; do - dirprefix=$(dirname $file) - install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$dirprefix - cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file - echo "%%{gopath}/src/%%{import_path}/$file" >> unit-test-devel.file-list - - while [ "$dirprefix" != "." ]; do - echo "%%dir %%{gopath}/src/%%{import_path}/$dirprefix" >> devel.file-list - dirprefix=$(dirname $dirprefix) - done -done -%endif - -%if 0%{?with_devel} -sort -u -o devel.file-list devel.file-list -%endif - - -%check -%if 0%{?with_check} && 0%{?with_unit_test} && 0%{?with_devel} -export GOPATH=%{buildroot}/%{gopath}:%{gopath} - -%if ! 0%{?gotest:1} -%global gotest go test -%endif - -# Some tests fail randomly, this has been reported upstream at: -# https://github.com/syncthing/syncthing-inotify/issues/150 -# %%gotest %%{import_path} -%endif - - -%post -%systemd_post 'syncthing-inotify@*.service' -%systemd_user_post syncthing-inotify.service - -%preun -%systemd_preun 'syncthing-inotify@*.service' -%systemd_user_preun syncthing-inotify.service - -%postun -%systemd_postun_with_restart 'syncthing-inotify@*.service' -%systemd_user_postun_with_restart syncthing-inotify.service - - -#define license tag if not already defined -%{!?_licensedir:%global license %doc} - - -%files -%license LICENSE -%doc README.md - -%{_bindir}/%{name} - -%{_unitdir}/%{name}@.service -%{_userunitdir}/%{name}.service - -%{_prefix}/lib/systemd/user-preset/90-%{name}.preset - - -%if 0%{?with_devel} -%files devel -f devel.file-list -%license LICENSE -%doc README.md -%dir %{gopath}/src/%{provider}.%{provider_tld}/%{project} -%endif - - -%if 0%{?with_unit_test} && 0%{?with_devel} -%files unit-test-devel -f unit-test-devel.file-list -%license LICENSE -%doc README.md -%endif - - -%changelog -* Fri Aug 18 2017 Fabio Valentini decathorpe@gmail.com - 0.8.7-4 -- Add links to compatibility bug report and pull request. -- Fix wrong access permissions on patch. -- Remove Supplements: syncthing. - -* Thu Aug 17 2017 Fabio Valentini decathorpe@gmail.com - 0.8.7-3 -- Skip tests for now, since they are failing randomly. -- Build with correct ldflags to fix debug packages. -- Add user-preset disabling the service by default, just to be safe. - -* Fri Aug 11 2017 Fabio Valentini decathorpe@gmail.com - 0.8.7-2 -- Add patch to fix build against recent syncthing. - -* Sat Jun 17 2017 Fabio Valentini decathorpe@gmail.com - 0.8.7-1 -- Update to version 0.8.7. - -* Fri Jun 16 2017 Fabio Valentini decathorpe@gmail.com - 0.8.6-1 -- Update to version 0.8.6. - -* Tue Mar 07 2017 Fabio Valentini decathorpe@gmail.com - 0.8.5-4 -- Clean up spec file. - -* Fri Feb 10 2017 Fabio Valentini decathorpe@gmail.com - 0.8.5-3 -- Do version tag in a future-proof way. - -* Fri Feb 10 2017 Fabio Valentini decathorpe@gmail.com - 0.8.5-2 -- Tag build with version info. - -* Thu Feb 09 2017 Fabio Valentini decathorpe@gmail.com - 0.8.5-1 -- Update to version 0.8.5. - -* Sun Jan 22 2017 Fabio Valentini decathorpe@gmail.com - 0.8.4-1 -- Update to version 0.8.4. - -* Wed Jan 11 2017 Fabio Valentini decathorpe@gmail.com - 0.8.3-2 -- Supplement syncthing. - -* Mon Jul 18 2016 Fabio Valentini decathorpe@gmail.com - 0.8.3-1 -- Update to version 0.8.3. - -* Fri Jun 17 2016 Fabio Valentini decathorpe@gmail.com - 0.8.2-1 -- Add BR: syncthing-devel now that I made it available. - -* Sun Jun 12 2016 Fabio Valentini decathorpe@gmail.com - 0.8.2-1 -- Update to version 0.8.2. - -* Tue May 17 2016 Fabio Valentini decathorpe@gmail.com - 0.8-1 -- Update to version 0.8. - -* Sun Apr 10 2016 Fabio Valentini decathorpe@gmail.com - 0.7-2 -- Fix version usage in scripts. - -* Sun Apr 10 2016 Fabio Valentini decathorpe@gmail.com - 0.7-1 -- Update to version 0.7. - -* Wed Feb 24 2016 Fabio Valentini decathorpe@gmail.com - 0.6.8-4 -- undo fix rhel build. doesn't work. - -* Wed Feb 24 2016 Fabio Valentini decathorpe@gmail.com - 0.6.8-3 -- Try to fix rhel7 build. - -* Tue Feb 23 2016 Fabio Valentini decathorpe@gmail.com - 0.6.8-2 -- rebuild for golang1.6 - -* Mon Jan 18 2016 Fabio Valentini decathorpe@gmail.com - 0.6.8-1 -- First package for fedora. -
arch-excludes@lists.fedoraproject.org