File project.diff of Package syzkaller

--- _service.orig
+++ _service
@@ -1,16 +1,14 @@
 <services>
-  <service mode="localonly" name="tar_scm">
+  <service mode="disabled" name="tar_scm">
     <param name="url">git://github.com/google/syzkaller/</param>
     <param name="scm">git</param>
     <param name="changesgenerate">enable</param>
     <param name="filename">syzkaller</param>
     <param name="versionformat">0.0+git.%cd</param>
-<!-- golang is broken in opensuse, we have to use this old one -->
-    <param name="revision">5a6ebade952c18db62a49ad9272021e450dc9136</param>
   </service>
-  <service mode="localonly" name="recompress">
+  <service mode="disabled" name="recompress">
     <param name="file">*.tar</param>
     <param name="compression">xz</param>
   </service>
-  <service mode="localonly" name="set_version"/>
+  <service mode="disabled" name="set_version"/>
 </services>
--- _servicedata.orig
+++ _servicedata
@@ -1,4 +1,4 @@
 <servicedata>
 <service name="tar_scm">
                 <param name="url">git://github.com/google/syzkaller/</param>
-              <param name="changesrevision">5a6ebade952c18db62a49ad9272021e450dc9136</param></service></servicedata>
\ No newline at end of file
+              <param name="changesrevision">17f8d6a03dac0bad8ef0a014d10cdcdcc463a7cf</param></service></servicedata>
\ No newline at end of file
--- syzkaller.changes.orig
+++ syzkaller.changes
@@ -1,4 +1,1026 @@
 -------------------------------------------------------------------
+Tue Oct 24 11:37:55 UTC 2017 - jslaby@suse.com
+
+- install files differently
+
+-------------------------------------------------------------------
+Mon Oct 16 13:24:40 UTC 2017 - jslaby@suse.com
+
+- Update to version 0.0+git.20171016:
+  * Makefile: strip executor
+  * executor: fix akaros nonfailing mode
+  * executor, pkg/ipc: unify ipc protocol between linux and other OSes
+  * pkg/csource: support akaros
+  * executor: add akaros support
+  * sys/akaros: add akaros support
+  * tools/syz-prog2c: allow to specify target OS
+  * sys/linux: fix fcntl signature
+  * pkg/host: add akaros support
+  * sys/syz-extract: support akaros
+  * executor: pass attr to pthread_mutex/cond_init
+  * executor: write debug output to stderr
+  * tools/syz-stress: allow to specify target OS
+  * executor: add PC to kcov_comparison_t
+  * pkg/ipc: don't send program padding to executor
+  * sys/syz-extract: support freebsd
+  * sys/syz-extract: factor out compilation function
+  * pkg/ipc, pkg/osutil: remove filepath.Abs fuchsia workarounds
+  * executor: simple freebsd executor
+  * syz-manager: expose raw cover in http handler
+  * Update found_bugs_usb.md
+  * executor: include missing header
+  * pkg/ipc: extend error when fail to start executor
+  * executor: set own PATH when starting subprocesses
+  * syz-manager/mgrconfig: add gce examples
+  * Update found_bugs_usb.md
+  * Update setup_linux-host_qemu-vm_arm64-kernel.md
+  * Update found_bugs_usb.md
+  * Update setup_linux-host_android-device_arm64-kernel.md
+  * syz-fuzzer: don't send/check CallIndex for inputs
+  * Update found_bugs_usb.md
+  * Update found_bugs_usb.md
+  * Update found_bugs_usb.md
+  * Update found_bugs_usb.md
+  * Update found_bugs_usb.md
+  * Update found_bugs_usb.md
+  * Update found_bugs.md
+  * Create found_bugs_usb.md
+  * all: basic freebsd support
+  * vm/qemu: add freebsd support
+  * tools/syz-prog2c: import targets
+  * syz-fuzzer: use osutil.HandleInterrupts instead of custom code
+  * Makefile: per-install packages during arch build
+  * executor: support fragmentation in syz_emit_ethernet
+  * Update found_bugs.md
+  * sys/fuchsia: add more descriptions
+  * sys/linux: include additional header to ion.txt
+  * Update found_bugs.md
+  * pkg/kd: add KD protocol decoder
+  * docs: assorted windows instructions fixes
+  * vm/gce: fix GCE image check
+  * Update found_bugs.md
+  * sys/windows: add more descriptions
+  * docs: update syz-stress command line for fuchsia
+  * vm/gce: windows support
+  * executor: automatically infer base of root vmar
+  * Makefile: name windows executables with .exe suffix
+  * pkg/ipc: fix windows
+  * executor: fix execution of windows syscalls
+  * syz-fuzzer: port to windows
+  * Update found_bugs.md
+  * Makefile, sys/syz-extract: fix android
+  * Update found_bugs.md
+  * Update found_bugs.md
+  * Makefile: add fuchsia support
+  * executor, sys/windows: initial windows support
+  * pkg/ipc: windows port
+  * pkg/osutil: windows port
+  * pkg/host: add windows stub
+  * Update found_bugs.md
+  * vm/qemu: fix typo
+  * sys/fuchsia: describe more syscalls
+  * vm/qemu: initial multi-OS support
+  * sys/syz-extract: support fuchsia
+  * syz-manager: make vmlinux optional
+  * pkg/report: suppress another android boot message
+  * Update found_bugs.md
+  * Update found_bugs.md
+  * pkg/csource: disable linux/386 tests
+  * pkg/repro: fix nil target in prog
+  * all: more assorted fuchsia support
+  * Update found_bugs.md
+  * Update found_bugs.md
+  * sys/fuchsia: fix build
+  * Makefile: don't build 386 executor on travis
+  * all: initial support for fuchsia
+  * executor: split source per-OS
+  * Makefile: respect target os/arch in individual targets
+  * executor: remove unused headers
+  * pkg/host: add fuchsia support
+  * Update found_bugs.md
+  * Update found_bugs.md
+  * Update found_bugs.md
+  * Update found_bugs.md
+  * Update found_bugs.md
+  * travis: another guess at right packages and syntax
+  * sys/linux: improve user_desc description
+  * syz-manager: don't take mutex when serving static files
+  * travis: also install 32-bit libstdc++
+  * dashboard/app, syz-ci: upload target OS/arch to dashboard
+  * Makefile: build target binaries into separate dirs
+  * travis: install cross-compilers
+  * Update found_bugs.md
+  * sys/targets: move targets from sys package
+  * pkg/compiler: don't genererate missing syscalls
+  * syz-manager: check that files we are using are not changing under us
+  * syz-manager, syz-fuzzer, executor: ensure that binaries are consistent
+  * pkg/csource: support archs other than x86_64
+  * prog: remove default target and all global state
+  * vm/qemu: tune some qemu arguments based on target arch
+  * sys/syz-extract: generate build files out of tree
+  * sys/syz-extract: generate multiple arches at once
+  * sys/syz-extract: use consolidated target info
+  * sys/syz-extract: switch to consolidated target info in sys package
+  * sys: consolidate info about various targets
+  * prog: remove special knowledge about "mmap" syscall
+  * syz-fuzzer, syz-execprog: add -arch flag
+  * vm/vmimpl: add target OS/arch to env
+  * syz-manager/mgrconfig: explicitly specify target in config
+  * sys: compile all supported targets into the package
+  * sys/syz-extract: parallelize over files
+  * sys: move extract.sh to sys/linux
+  * sys/linux: rename package from sys to linux
+  * sys: move linux descriptions to sys/linux
+  * prog: allow more than 1 target
+  * sys: regenerate consts with tip linux
+  * dashboard/app: fix a bug with bugs with seq>0
+  * Update syscall_descriptions_syntax.md
+  * Update found_bugs.md
+  * Update found_bugs.md
+  * Update found_bugs.md
+  * Update found_bugs.md
+  * Update setup_ubuntu-host_qemu-vm_x86-64-kernel.md
+  * docs: add more prerequisites on ubuntu
+  * prog: remove unused declaration
+  * executor: fix 32-bit mode
+  * sys: use correct pointer size
+  * sys: add new perf attribute flag
+  * prog: move resource-related functions to a separate file
+  * prog, sys: move dictionary of special strings to sys
+  * sys: improve timespec/timeval generation
+  * Update found_bugs.md
+  * prog, sys: move types to prog
+  * prog: dot-import sys
+  * sys: rename Call to Syscall
+  * pkg/compiler: assign Call.ID statically
+  * sys: use ptr64 type instead of ptr where necessary
+  * pkg/compiler: fix alignment calculation bug
+  * sys: change BitfieldLast to BitfieldMiddle
+  * sys: remove IntSignalno
+  * sys, pkg/compiler: move padding computation to compiler
+  * pkg/ast: prohibit empty strings
+  * sys: minor fixes for statx and sigevent
+  * pkg/ifuzz: use serializer
+  * pkg/compiler: prohibit arrays of  size 0
+  * pkg/compiler: prohibit bitfields of size 0
+  * pkg/compiler: don't allow bitfields in unions, args and anon types
+  * pkg/compiler: move bitfield marking from sys
+  * pkg/compiler: prohibit bitfields in syscall args
+  * pkg/compiler: reserve in/out/inout/opt names
+  * prog: move ptrSize const to test
+  * sys: don't assume vma size is 8
+  * pkg/compiler: use correct arch ptr size
+  * pkg/compiler: detect resources without ctors
+  * pkg/compiler: verify validity of len targets
+  * pkg/compiler: move checking code to a separate file
+  * pkg/compiler: detect recursive struct declarations
+  * pkg/ast: fix struct comment parsing
+  * sys: allow custom size for PtrType
+  * sys: support ptr64 type
+  * sys: improve bpf descriptions
+  * pkg/compiler: restore generation of unsupported syscalls
+  * pkg/compiler: check and generate types
+  * hints: add some more tests for DataArg
+  * sys: add AF_PACKET sockets description
+  * hints: add new mutations and tests
+  * Update linux_kernel_reporting_bugs.md
+  * Update linux_kernel_reporting_bugs.md
+  * sys: export struct/union attributes
+  * sys: change proc arguments to the format used by const/flags/len
+  * Fix reboot support for VM isolated
+  * ipc, prog, fuzzer, execprog: add hints generation code
+  * executor, ipc: modify the IO between KCOV<->executor<->fuzzer
+  * executor, fuzzer: change the way Syzkaller opens the KCOV device
+  * pkg/report: don't confuse "DEBUG:" with "BUG:"
+  * pkg/compiler: actually tolerate unsupported consts
+  * pkg/compiler: tolerate unsupported consts everywhere
+  * pkg/compiler: more static error checking
+  * docs: fix syz-headerparser documentation
+  * pkg/compiler: move more const-processing code to compiler
+  * sys/syz-sysgen: remove dead code
+  * pkg/compiler, sys/syz-sysgen: move const handling to pkg/compiler
+  * prog: restore missing struct fields
+  * sys: improve tun descriptions
+  * tools: add headerparser as a tool to assist in writing system call descriptions
+  * executor: split a too long line
+  * all: support i386 arch
+  * sys: support arm arch
+  * sys, prog: switch values to to uint64
+  * syz-manager: remove unnecessary type conversion
+  * pkg/kernel: remove unused function
+  * vm/vmimpl: support linux/arm
+  * sys/syz-sysgen: switch to new parser
+  * sys/syz-extract: switch to the new parser
+  * Makefile: enforce formatting of sys files in presubmit
+  * sys: reformat descriptions
+  * pkg/ast: new parser for sys descriptions
+  * sys: fix a single case of field starting from a digit
+  * dashboard/app: heavylifting of email reporting
+  * docs: add landing page for automatically reported bugs
+  * sys: add some known xattr names
+  * prog: simplify code
+  * sys: describe clone/execve calls
+  * sys: describe chroot/getcwd/chdir/fchdir
+  * tools/create-gce-image.sh: explicitly specify target for grub
+  * .travis.yml: test with Go1.8
+  * dashboard/app: various improvements/fixes for email reporting
+  * dashboard/app: fix build again
+  * tools/syz-benchcmp: add execution speed
+  * dashboard/app: tell managers when dashboard needs a repro
+  * dashboard/app: don't print resource for log records
+  * vendor/golang.org/x/net/context/: fix fmt with Go 1.8
+  * dashboard/app: show syzkaller commit for crashes
+  * Update executing_syzkaller_programs.md
+  * pkg/repro: minimize fault injection
+  * pkg/repro: fix invalid options minimization
+  * pkg/csource, pkg/repro: filter out invalid options combinations
+  * sys: commit generated files
+  * sys: fix typo in ETHTOOLGCHANNELS const and diagnose such cases
+  * sys: provide list of intersting MSRs for KVM
+  * prog: reuse defaultArg
+  * sys: fix recvmmsg signature
+  * prog: fix restoration of default arguments
+  * pkg/log: fix tests with -count>0
+  * prog: reduce the "uber-mmap" size
+  * dashboard/app: fix build
+  * dashboard/app: output more info about crashes
+  * executor: sandbox with RLIMIT_MEMLOCK
+  * vm/gce: work around GCE console bug
+  * vendor: update all packages
+  * .travis.yml: use go1.9rc1 since aliases trip gofmt for vendored code
+  * syz-manager: don't ask for repros if reproducing is not enabled
+  * syz-manager: don't save/send to dashboard repros from hub
+  * syz-manager: send more info with repros
+  * syz-manager, syz-hub: share repros between managers via hub
+  * sys: improve ipv6 descriptions
+  * dashboard/app: fix report_failed_repro api call
+  * Update linux_kernel_reporting_bugs.md
+  * Update linux_kernel_reporting_bugs.md
+  * syz-dash, syz-gce: remove
+  * dashboard/app: purge at most 10 crashes at once
+  * prog: don't mutate mmap() calls too often
+  * dashboard/app: new dashboard app
+  * sys: fix KVM_RUN ioctl
+  * prog: generate missing syscall args when decoding
+  * prog: fix encoding for exec of result args
+  * syz-ci: support additional syscall descriptions
+  * vm/gce: another attempt to fix trimmed console output
+  * prog: properly remove calls when splicing progs
+  * syz-ci: send commits to dashboard
+  * readme: add travis-ci status
+  * buildbot: add .travis.yml
+  * makefile: cleanup
+  * dashboard/dashapi: add support for bug fixing commits
+  * pkg/repro: fix null-ptr-deref when res is nil
+  * pkg/repro: fix simplifying threaded flag
+  * vm/gce: fix truncated console output
+  * dashboard/dashapi: always zero reply
+  * dashboard/dashapi: add link to BugUpdate and BugUpdateReply type
+  * dashboard/dashapi: don't send manager name in crashes
+  * pkg/symbolizer: fix race on inputr in test
+  * pkg/report: fix symbolization of old KASAN stack trace format
+  * docs: small fixes
+  * prog: return error instead of panic when parsing
+  * pkg/repro: disable Debug flag by default
+  * pkg/csource: make all usleeps random
+  * pkg/repro: try extracting C repro before simplifying options
+  * dashboard/dashapi: add customizable Qeury function
+  * syz-ci: extend dashboard interface
+  * syz-ci: save previous manager log
+  * syz-manager: fix repro saving
+  * pkg/hash: allow to hash multiple byte slices
+  * syz-manager: don't print empty tag on report page
+  * syz-manager: fix repro log filename
+  * pkg/report: replace lines numbers with LINE in report headers
+  * prog: allow recursion for optional pointers
+  * pkg/repro: save final crash log
+  * syz-ci: fix dashboard settings in manager config
+  * Update linux_kernel_configs.md
+  * vm/isolated: reformat
+  * Add Isolated VM
+  * tools/create-gce-image.sh: ignore SIGINT
+  * pkg/kernel: actually pass cmdline/sysctl files to the build script
+  * prog: split Arg into smaller structs
+  * syz-ci: allow to specify cmdline/sysctls
+  * syz-ci: don't duplicate manager config default values
+  * syz-ci: specify dashboard client per manager
+  * tools/create-image.sh: create 2G images
+  * syz-manager: symbolize repro reports
+  * Update found_bugs.md
+  * syz-manager: save proper report for reproducers
+  * pkg/email: fix bug in context extraction
+  * pkg/email: add AddAddrContext/RemoveAddrContext
+  * pkg/csource: reformat
+  * syz-ci: don't rebuild syzkaller if commit has not changed
+  * pkg/csourse: don't generate __NR_X defines for old syscalls
+  * pkg/repro: return crash report
+  * pkg/email: don't add own email address to CC list
+  * pkg/osutil: don't depend on syscall in appengine build
+  * syz-ci: fix manager config creation
+  * all: use consistent file permissions
+  * pkg/report: strip panic message from reports
+  * pkg/email: add function that forms reply to an email
+  * pkg/email: add email parsing functionality
+  * pkg/email: move patch parsing from pkg/kernel
+  * syz-manager: switch to the new dashboard
+  * syz-ci: switch to the new dashboard
+  * dashboard/dashapi: add API for new dashboard
+  * syz-ci: extend build info
+  * tools/syz-symbolize: add report mode
+  * syz-manager: output maintainers in html reports
+  * pkg/report: change arg of ExtractGuiltyFile to []byte
+  * pkg/config: support time.Time fields
+  * vm/gce: support debug mode
+  * vendor: add google.golang.org/appengine/mail
+  * syz-hub: split client name and manager name
+  * repro: fix tests (#266)
+  * docs: add instructions on reporting security bugs
+  * Fix incorrect argument in syz-tty (#260)
+  * repro, manager: show repro logs and stats on manager dashboard
+  * prog: fix PtrType generation
+  * repro: add 1 minute duration
+  * vm: increase stored log size to 1 MB
+  * repro: add bisection test
+  * repro: bisect the log to find multiple guilty programs
+  * vm/adb: add an option to disable battery check
+  * vm/vmimpl: fix linux/ppc64le build
+  * Restore TCGETS2 (#256)
+  * report: add get maintainers function
+  * tools/syz-tty: add utility for testing of usb console reading code
+  * Add 'make android' target and document it (#255)
+  * Makefile: actually cross-compile during presubmit
+  * vm/vmimple: fix build and reformat
+  * pkg/csource: regenerate
+  * Port console to Darwin (#253)
+  * repro: reproExtractProg may fail (#254)
+  * report: add more rcu stall regexps
+  * pkg/osutil: port to darwin
+  * pkg/fileutil: port to darwin
+  * sys/syz-extract: reformat
+  * Parse incdir "incdir" in syscall description file to add custom include directories. (#180)
+  * syz-dash/dashboard: move from dashboard
+  * vendor: vendor appengine/aetest package
+  * vendor: vendor appengine dependencies
+  * syz-dash: fix build
+  * Added GCC and glibc
+  * Update found_bugs.md
+  * syz-ci: add continuous integration system
+  * pkg/osutil: add FilesExist/CopyFiles/LinkFiles functions
+  * pkg/kernel: move partial config functionality into a separate function
+  * pkg/fileutil: improve CopyFile
+  * pkg/git: improve Poll
+  * dashboard: add New function
+  * repro: small log fix
+  * repro: try more programs with short duration
+  * repro: split ctx.repro() into smaller methods
+  * repro: move duration to Result
+
+-------------------------------------------------------------------
+Wed Jun 21 12:29:20 UTC 2017 - jslaby@suse.com
+
+- Update to version 0.0+git.20170621:
+  * Update README.md
+  * sys: add a new test for resource ctors
+  * prog: extend output on validation error
+  * Update README.md
+  * Update README.md
+  * tools: repro: fix vm count calculation
+  * statx: update flags
+  * statx: generate constants for updated flags
+  * report: add a few report header regexps
+  * tools: repro: fix vm count calculation
+  * executor: move inet checksum code under ifdef
+  * executor: call flush_tun for repeat repros
+  * csource: add EnableTun option
+  * executor: split setup_main_process into smaller functions
+  * csource: use tmp dir only when necessary
+  * executor: don't define SYZ_ENABLE_TUN in executor
+  * csource: only handle SIGSEGV when necessary
+  * csource: force enable tun flag when required
+  * csource: emit bitmasks only when required
+  * csource: use sandbox only when required
+  * csource: try to simplify repeat loop
+  * csourse: don't generate debug printfs
+  * csource: only emit fail(), exitf() and doexit() when necessary
+  * csource: use tmp dir in repeat loop when tmpdir flag is on
+  * csource: don't generate execute_syscall calls
+  * csource: generate includes when necessary
+  * prog2c: use 1 prog by default
+  * repro: always minimize over EnableTun
+  * csource: speed up short tests
+  * csource: don't use guard macros for debug() and NONFAILING()
+  * csource: use reflect to iterate over options
+  * executor: add sys/sysmacros.h include for makedev in newer gcc
+  * executor: reformat
+  * csource: reformat
+  * sys: check in generated files
+  * executor: fix clang-tidy warnings
+  * vendor: vendor dependencies
+  * report: extract guilty file
+  * vendor: switch from dep to godep
+  * syz-dash: move patch parsing to pkg/kernel
+  * makefile: generate: do go generate && format
+  * makefile: add db target to build syz-db
+  * makefile: list generated packages
+  * executor: fix csum test
+  * executor: fix compiler warnings in test
+  * docs: move contributing section from README to docs/
+  * docs: move reporting kernel bugs page from wiki
+  * pkg/kernel: skip test if gcc is not in PATH
+  * docs: move sys/README.md to docs
+  * docs: move found bugs page from wiki
+  * docs: move syz-hub page from wiki
+  * docs: move executing syzkaller page from wiki
+  * docs: move kernel configs page from wiki
+  * executor: handle EACCES errno when opening /dev/kvm in test
+  * docs: move exeprog, prog2c, repro page from wiki
+  * docs: move setup pages from wiki
+  * docs: minor clean up
+  * syz-hub: fix copy-paste error in httpSummary()
+  * docs: move parts of README to docs
+  * docs: various improvements
+  * sys: use consistent icmp socket syscall names
+  * pkg/git: fix git fetch command line
+  * tools/create-gce-image.sh: add nmi_watchdog=panic to cmd line
+  * vm/qemu: update kernel command line
+  * pkg/kernel: add an option to provide full config for build
+  * syz-manager: improve vm management during repro
+  * syz-manager: fix bug in repro logic
+  * syz-manager: delete old corpus support
+  * docs: say that Suzy-Q is not necessary
+  * repro: better guilty file detection
+  * fix the ssh port option in the doc
+  * pkg/osutil: add IsExist helper function
+  * all: use osutil.IsExist instead of os.Stat
+  * syz-manager/config: rename to syz-manager/mgrconfig
+  * syz-manager/mgrconfig: allow loading from memory
+  * pkg/host: move from host
+  * pkg/repro: move from pkg
+  * pkg/cover: move from cover
+  * pkg/csource: move from csource
+  * pkg/ipc: move from ipc
+  * pkg/report: move from report
+  * pkg/rpctype: from from rpctype
+  * pkg/symbolizer: move from symbolizer
+  * sys/sysparser: move from sysparser
+  * sys/syz-sysgen: from from sysgen
+  * sys/syz-extract: move from syz-extract
+  * delete .clang-format.email
+  * syz-manager/mgrconfig: remove output param
+  * syz-manager/mgrconfig: move sshkey from vm config to manager config
+  * tools/create-gce-image.sh: don't use verbose output for tar invocation
+  * vm/gce: accept un-tar-ed image
+  * syz-gce: create image dir
+  * vm/gce: fix image archive creation
+  * pkg/config: add SaveFile function
+  * pkg/fileutil: improve CopyFile
+  * pkg/git: check origin repo in Poll
+  * pkg/log: add Fatal function
+  * pkg/osutil: add helper function for SIGINT handling
+  * pkg/osutil: fix IsExist
+  * pkg/kernel: fix CreateImage
+  * pkg/kernel: reduce Build parallelism
+  * sys: add ETHTOOL ioctl in socket.txt
+  * arm64 doc update
+  * Update found_bugs.md
+  * Update linux_kernel_reporting_bugs.md
+  * Update found_bugs.md
+
+-------------------------------------------------------------------
+Tue Jun 06 09:46:25 UTC 2017 - jslaby@suse.com
+
+- Update to version 0.0+git.20170604:
+  * Add sudo for mkfs.ext4
+  * sys: add basic AF_IPX descriptions
+  * sys: add basic AF_AX25 descriptions
+  * sys: rearrange and improve socket.txt
+  * sys: add loopback and syzN devices to devname
+  * report: more regexps for parsing report header lines
+  * report: add regexes for rcu detected stall
+  * sys: add more socket ioctls
+  * sys: move ipv6 sockets to its own file
+  * sys: add ipv4 arp ioctls
+  * sys: use consistent setsockopt$inet* syscall names for ip options
+  * sysgen: always check dir when generating an argument
+  * sys: use consistent ioctl$sock* name for socket ioctls
+  * sys: use consistent setsockopt$type_* names for socket options
+  * sys: add more ip ioctls
+  * sys: use ipv4_addr & ipv6_addr instead of in_addr & in6_addr
+  * sys: add more ipv6 ioctls
+  * sys: add more tcp ioctls
+  * sys: add more udp ioctls
+  * sys: add more tcp socket options
+  * sys: consistent names for ip sockets
+  * sys: fix sendmmsg and recvmmsg
+  * sys: add some ipv6 socket options
+  * sys: rename sockaddr_all to sockaddr_storage
+  * sys: add some ip socket options
+  * sys: add more ipv6 socket options
+  * sys: make ifindex a resource
+  * sys: add syscall description for /dev/ion.
+  * sys: add syscall description for /dev/ion.
+  * syz-dash: fix group creation with seq>0
+  * syz-dash: add a note about a known problem
+  * executor: bump per-call timeout
+  * prog: fix dynamic prio calculation
+  * gce: use 'reproduce: true' in manager cfg
+  * gce: rename MetaGeneration to Metageneration
+  * syz-gce: speedup kernel checkout
+  * gce: use name metadata to get instance name
+  * syz-gce: allow to disable dashboard patches
+  * syz-dash: show username for auth failures
+  * csource: strip __STDC_VERSION__ macro from generated source
+  * Update README.md
+  * executor: rename test_kvm.cc to test_executor.cc
+  * prog, executor: move checksum computation to executor
+  * repro: quick return when user press ctrl^C
+  * Update README.md
+  * Update README.md
+  * ipc: add an optional 'abort' signal
+  * ipc: allow configuration of executor output buffer size
+  * vm: validate if cfg.Bin is in $PATH for kvm,adb,qemu
+  * manager: do not print "executed programs" until first connection from test machine. add my name to contributors
+  * AUTHORS/CONTRIBUTORS: fixup
+  * executor: mount /proc in namespace
+  * ipc: fix test build
+  * executor: increase syscall timeout in debug mode
+  * syz-symbolize: symbolize all console output
+  * syz-hub: send new inputs in smaller parts
+  * Update README.md
+  * manager: save and reuse allSymbols, vmOffset
+  * syz-manager: reformat
+  * syz-fuzzer: implement input smashing
+  * csource: regenerate
+  * sys, executor: extract tcp sequence numbers from /dev/net/tun
+  * prog: better validate int and buffer types
+  * prog: remove unexpected resource generation calls whitelist
+  * sys: refactor and improve SCTP socket descriptions
+  * prog: fix buffer type with value 0x0 in tests
+  * all: add fault injection capability
+  * csource: reproduce crashes with fault injection
+  * all: speed up tests
+  * symbolizer: use fixed prebuilt binary in test
+  * Makefile: don't generate DWARF for Go binaries
+  * sys: generate arrays instead of maps
+  * sysgen: don't touch output file if contents has not changed
+  * sysgen: speed up
+  * report: add more oops formats
+  * sys: add basic AF_LLC sockets descriptions
+  * sys: remove debug leftover
+  * Update README.md
+  * all: cleanup executor/ipc status checking
+  * syz-manager: detect sandbox namespace unsupported
+  * config: use reflect to enumerate all known fields rather than do it manually
+  * executor: limit stack frame size
+  * config: split and refactor
+  * Update README.md
+  * pkg/git: add new package
+  * Update README.md
+  * sys: add statx syscall
+  * tools: sync create-image.sh and create-gce-image.sh
+  * tools: more reliable network config in create-gce-image.sh
+  * csource: regenerate
+  * pkg/kernel: add new package
+  * fileutil: remove unused CopyFile arg
+  * pkg/fileutil: move from fileutil
+  * pkg/gcs: add new package
+  * pkg/kernel: add CompilerIdentity function
+  * pkg/hash: move from hash
+  * pkg/log: move from log
+  * pkg/db: move from db
+  * pkg/gce: move from gce
+  * pkg/ifuzz: move from ifuzz
+  * pkg/config: support nested structs
+  * vm: overhaul
+  * vm/gce: accept local image
+  * pkg/config: support null values
+  * pkg/gcs: remove support for gs:// prefixed paths
+  * syz-gce: fix manager config generation
+  * pkg/git: don't use --no-tags with clone
+  * syz-manager/config: add test for example config parsing
+
+-------------------------------------------------------------------
+Wed Mar 22 08:35:55 UTC 2017 - jslaby@suse.com
+
+- Update to version 0.0+git.20170318:
+  * sys: add dccp socket & packet descriptions
+  * sys: remove old const files
+  * sys: add igmp basic packet description
+  * sys: add arp packet descriptions
+  * sys: add basic ipx packet description
+  * sys: add basic x25 packet descriptions
+  * sys: add basic llc packet descriptions
+  * prog: fix mknod sanitization
+  * rpctype: increase rpc timeouts
+  * report: assorted improvements to report parsing
+  * config: add another OOM suppression
+  * executor: treat EAGAIN as transient failure as ENOMEM
+  * executor: treat KCOV_ENABLE failure as transient
+  * manager: add ability to communicate with dashboard
+  * host: open /dev/net/tun to check if syz_emit_ethernet is enabled
+  * syz-dash: first version of dashboard app
+  * syz-dash: assorted improvments
+  * executor: support wrapping executor with an external sandbox process
+  * report: parse inconsistent lock state
+  * vm/adb: fix ppc64le build
+  * executor: fix ppc64le build
+  * sys: describe uffd api features
+  * tools/syz-dashtool: allow uploading all crashes for a single bug
+  * report: reformat
+  * syz-gce: fix format string
+  * syz-gce: enable ATM/LLC/TIPC in kernel config
+  * csource: regenerate
+  * syz-dash: add search over reports
+  * syz-gce: allow to specify enabled/disabled syscalls
+  * syz-dash: add links to github
+  * sys: remove UFFD_FEATURE_EVENT_EXIT const
+  * report: replace more variable numbers with string constants
+  * vm: add Odroid support
+  * vm: don't leak tty fds in adb
+  * vm: build odroid vm only if odroid build tag is present
+  * config: fix odroid config parsing
+  * syz-gce: don't poll repositories too frequently
+  * ifuzz: fix 2-byte vex decoding
+
+-------------------------------------------------------------------
+Mon Feb 13 08:42:37 UTC 2017 - jslaby@suse.com
+
+- Update to version 0.0+git.20170210:
+  * sys: split socket.txt into multiple files based on socket type
+  * prog: fix cheking nonoptional nil pointers in validation
+  * host: support syz_open_dev$char/block
+  * sys: add sock_in and sock_in6 types
+  * sys: fix socket.txt include
+  * sys: improve udp setsockopt
+  * sys: improve tcp sockopts
+  * sys: improve ip and ipv6 sockopts
+  * sys: add icmp sock opt
+  * sys: restore autobind TODO
+  * sys: fix typo in set/getsockopt name
+
+-------------------------------------------------------------------
+Thu Feb 09 09:55:14 UTC 2017 - jslaby@suse.com
+
+- Update to version 0.0+git.20170208:
+  * sys: remove autogenerated files
+  * Update README.md
+  * Update README.md
+  * Add the /dev/tlk_device (Open Trusted Execution device driver) description
+  * syz-report: fix printing of report
+  * symbolizer: support discriminators in addr2line output
+  * syz-repro: fix false "not executing programs"
+  * manager: don't save empty reports
+  * sys: support recursive structs
+  * vm/qemu: fix spurious failure during VM creation
+  * prog: more checks during program validation
+  * config: suppress another common error
+  * execprog: make syz-execprog work more like syz-fuzzer
+  * sys: resolve some old TODOs in descriptions
+  * stress: fix flag description
+  * report: strip non-deterministic info from rcu stall messages
+  * report: fix parsing of WARNING messages
+  * config: add another OOM message to suppressions
+  * report: strip non-deterministic part from "spinlock lockup" reports
+  * report: fix process leak
+  * Makefile: run generate in 'all'
+  * sys: resolve the TODO with recursive structs
+  * extract.sh: allow generating constants for Android devices.
+  * execprog: remove debug leftover
+  * cover: fix comment style
+  * manager: show unique coverage
+  * manager: show uncovered PCs
+  * Improve Case Closed Debugging Port Detection.
+  * Update CONTRIBUTORS
+  * CONTRIBUTORS: fix an empty
+  * manager: fix deadlock
+  * Update README.md
+  * Update README.md
+  * Update README.md
+  * Update README.md
+  * Update README.md
+  * Update README.md
+  * Better blob mutation
+  * Allow range sized arrays
+  * makefile: syz-sysgen depends on sysparser/*.go
+  * prog: skip union when calculating field offset
+  * prog: return struct size when generating args
+  * sys: delete Size() and Align() methods for struct and union
+  * sysparser: disallow unions with only one field
+  * prog: add a simple test for exec encoding
+  * Add new collaborator to CONTRIBUTORS
+  * sys: refine KCM ioctl type
+  * report: support few more formats of error messages
+  * report: always extract the first oops as description
+  * vm: give preference to kernel oops over "lost connection"
+  * sys, prog: add tests for description parsing and serialization
+  * prog: add a test for union layout
+  * sys: add padding to structs again
+  * report: extract "INFO: suspicious RCU usage" oops
+  * vm/adb: avoid draining battery
+  * vm/adb: reboot devices in the beginning of each cycle
+  * Emit BufferBlob for array[int8]
+  * Add exec serialize tests for array[int8]
+  * manager: fix rpc address in error message
+  * manager: server http over ipv4
+  * vm/gce: add support GCE VMs
+  * tools: add script that creates GCE images
+  * report: infer correct strip prefix from known symbol location
+  * manager: show crashes in web ui
+  * manager: unify handling of various stats in web ui
+  * manager: fix html table markup
+  * prog: fix serialized program in a test
+  * tools: fix package name in a comment
+  * manager: precreate crashes dir
+  * syz-gce: add autonomous GCE runner
+  * Makefile: don't change source files in default action
+  * vm/gce: fix bug introduced during refactoring
+  * tools/create-gce-image.sh: remove duplicate console argument
+  * syz-gce: minor refinements
+  * config: remove unused parameter
+  * manager: don't alter /proc/sys/debug/exception-trace
+  * manager: save user tag with crash reports
+  * manager: overwrite old reports with new reports
+  * manager: enable fuzzer verbosity only if -debug flag is given
+  * log: add package
+  * syz-gce: add web UI stub
+  * log: prepend time to cached entries
+  * syz-gce: show cached log in web ui
+  * manager: show cached log in web ui
+  * syz-gce: allow to not recreate image, rebuild syzkaller
+  * log: fix test
+  * vm/gce: don't wait for instance deletion on exit
+  * syz-gce: add actual continous testing logic
+  * log: don't cache messages with verbosity>1
+  * syz-manager, syz-gce: show latest log messages in log textarea
+  * manager: minor tweaks to web ui
+  * log: actually prepend time to messages
+  * Rename duplicate fields in templates
+  * Report duplicate fields and args
+  * syz-gce, syz-manager: save image tag in syz-gce, show in syz-manager
+  * report: support more error messages
+  * tools/create-gce-image.sh: create archive for syz-gce
+  * Assign to structs correct type name
+  * Refactor & improve len type handling
+  * Add assign len fields tests
+  * Update sys/README.md
+  * Fix validate, detect nil non-optional pointer
+  * report: use non-greedy new line matching
+  * tools/create-gce-image.sh: add vsyscall=native to cmdline
+  * Add big-endian ints
+  * Add tests for big-endian ints
+  * prog: go fmt
+  * vm/qemu: remove debug, add rodata=n to kernel cmd line
+  * report: add more report formats for rcu stalls
+  * report: add another report format for hung tasks
+  * report: add ability to ignore some kernel INFO messages
+  * sys: fix StrConstType size and alignment
+  * Update README.md
+  * syz-gce: fix build
+  * vm/adb: switch adb to root
+  * vm/adb: support separate serial console cable
+  * sys: always use pointers to types
+  * sys: attach Dir to all types
+  * sysparser: check for reserved parent fields
+  * prog: assign types to args during construction
+  * prog: simplify assignSizes
+  * prog: remote Type argument from Arg.Size/Value
+  * sys: replace FilenameType with BufferType{Kind: BufferFilename}
+  * sys: replace FileoffType with IntType{Kind: IntFileoff}
+  * sys: don't imply pointer indirection for string arguments
+  * sys: add string flags
+  * sys: allow to specify buffer size for strings
+  * sys: improve bpf descriptions
+  * sys: better description for eventfd
+  * report: fix "suspicious RCU usage" oops extraction
+  * prog: fix validation of len arguments
+  * sys: improve kvm descriptions
+  * sysparser: support larger struct alignments
+  * sys: initialize kvm guest memory
+  * vm/adb: print device<->console association
+  * sysgen: reduce compilation time and memory consumption
+  * Added a retry clause when doing battery check in adb.go
+  * sys: improve perf_event_open description
+  * tools/syz-crush: add new tool
+  * tools/create-gce-image.sh: enable bpf jit and update comments
+  * syz-gce,syz-manager: add name config parameter
+  * config: whitelist name parameter
+  * vm/gce: actually append name to instance names
+  * syz-gce: proxy manager http requests
+  * vm/gce: don't require ssh key for GCE-compatible images
+  * syz-hub: add program
+  * prog: sanitize mknodat the same way as mknod
+  * sys: disable /dev/console
+  * manager: enable keepalives on rcp connections
+  * manager: unbreak build
+  * repro: factor out of syz-repro tool
+  * vm: add ability to interrupt commands
+  * Update README.md
+  * csourceL add missing include and define
+  * syz-hub: fix log format string
+  * ipc: extend error messages
+  * executor: fix sandbox=setuid
+  * prog: fix checks for max and min len when mutating a bin blob
+  * prog: better validate arg data
+  * manager: print actual number of loaded progs
+  * manager: add empty line before per-call coverage in html
+  * vm/qemu: support non-native mode
+  * prog: fix pointer direction validation
+  * fuzzer: combine progs from corpus
+  * manager: reproduce crashes on the fly
+  * config: use dense indices for VMs
+  * prog: minimize based on individual args
+  * sys: add proc type to denote per proccess integers
+  * report: don't print size in KASAN reports
+  * ipc, prog, sysgen: format code
+  * csource: don't emit syz_ syscalls is they are not used
+  * ipc: append pid to binary name
+  * tools: fix getty configuration in create-image.sh
+  * vm/qemu: prevent eth0 renaming
+  * tools: fix getty configuration in create-gce-image.sh
+  * tools: enable bpg jit in create-image.sh
+  * sys: add new bpf descriptions
+  * manager: use only 1 proc in debug mode
+  * ipc: improve handling of executor failures
+  * sys: move in_addr description to templates
+  * sys: move sockaddr description to templates
+  * executor: emit ethernet traffic
+  * prog: remove unused inport() and inaddr()
+  * csourse: fix emitting syz_* syscalls in c reproducer
+  * csourse: emit remove_dir only when needed
+  * vm/gce: use preemptible instances
+  * executor: don't try to open tun if it's not enabled
+  * executor: change the way we wait for children
+  * vm/qemu: use panic=86400 instead of panic=-1
+  * manager: fix potential nil deref crash
+  * executor: use different address for our network card
+  * tools/create-image.sh: use net.core.bpf_jit_enable = 1
+  * tools/create-image.sh: install sudo into the image
+  * executor: add struct to cap structs
+  * report: support "spinlock recursion" oops
+  * manager: print how long VMs running before restarting
+  * ipc: produce more detailed error messages
+  * executor: handle exit failures
+  * Fix broken links for KASAN and KUBSAN
+  * Fix make report failed
+  * syz-extract: don't fail if no flags to extract
+  * executor: don't fail on ENOMEM
+  * report: support new stack trace format without PC values
+  * sys: describe new pkey_* syscalls
+  * report: whitelist WARNING printed by sshd
+  * tools/syz-symbolize: add report symbolizer utility
+  * vm/gce: handle graceful preemption
+  * gce: temporary add external IPs to instances
+  * gce: remove external IPs
+  * vm/adb: support BeagleBone console
+  * manager: add ability to ignore bugs
+  * prog: add bytesizeN types
+  * prog: increase line length limit when deserializing programs
+  * vm/qemu: enable more kvm features in test kernel
+  * syz-manager, syz-gce: output 20 log lines instead of 50 in web UI
+  * csource: remove more predefined defines from generated source
+  * csource: fix fork bomb
+  * prog: test that Deserialize does not return nil prog
+  * sys: allow to specify number of pages for vma type
+  * executor: increase coverage size from 16K to 64K PCs
+  * sys: don't add clock_gettime always
+  * sys: detail kvm syscalls more
+  * sys: replace syz_open_dev with openat
+  * syz-stress: add flag that controls generation of new programs
+  * Add kernel-ish clang-format style suitable for emails.
+  * vm/adb: increase battery check timeout
+  * add *.cfg and workdir* masks to .gitignore
+  * vm/qemu: add some kvm-related kernel cmd line flags
+  * syz-manager: move include files to the bottom of coverage report
+  * csource: compile with -Werror
+  * executor: use NONFAILING strcpy in syz_open_dev
+  * prog: spoof resources less frequently
+  * config: add another suppression for Go OOM
+  * prog: reformat source
+  * sys: extend kvm support
+  * ifuzz: add package for generation/mutation of machine code
+  * ifuzz/gen: speed up instruction deduplication
+  * ifuzz: fix generation of control registers
+  * sys, executor: more kvm improvements
+  * syz-gce: remove flags used for development/testing
+  * syz-gce: support continous build
+  * tools/create-image.sh: simplify script
+  * db: add package
+  * tools/syz-db: add new utility
+  * syz-hub: use db package
+  * syz-manager: speed up crash reading
+  * prog: add bitfields to templates
+  * syz-gce: fix log output
+  * syz-gce: recover after git pull errors
+  * syz-manager: speed up coverage report
+  * tools/syz-stress: switch to the new corpus database format
+  * syz-gce: run for at least 6 hours instead of 1
+  * syz-gce: increase log textarea size
+  * csource: regenerate
+  * executor: fix copyin of values
+  * sys: packed structs have align of 1
+  * prog: fix Size() for unions args
+  * sys: align structs with respect to align attributes
+  * prog, sys: fix struct with bitfields size calculation
+  * prog: mutate sized strings with respect to size
+  * prog, sys: correctly calculate size of varlen structs
+  * prog: fix union and struct offsets in SerializeForExec
+  * prog: add tests for alignment and offsets
+  * Update README.md
+  * ifuzz: add x86 hypercalls as pseudo instructions
+  * sys: add KVM_ENABLE_CAP for vm
+  * sys: drop kdbus description
+  * sys: don't imply pointer indirection for filename type
+  * sys: improve sockaddr_un description
+  * sys: add missing include file for some DRI constants
+  * syz-fuzzer: slightly tune fuzzing loop
+  * syz-fuzzer: don't reminimize all programs from corpus on start
+  * syz-fuzzer: check for new coverage during minimization
+  * syz-fuzzer: don't mutate generated programs
+  * sys: improve /dev/snd/seq and /dev/snd/timer descriptions
+  * sys: improve cmsghdr description
+  * prog, sys: fix padding varlen structs
+  * prog: fix calculating parent length in struct with bitfields
+  * prog: fix bytesizeN for nonarray fields
+  * csource: fix STORE_BY_BITMASK in prog2c
+  * executor: fix warning regarding type cast in STORE_BY_BITMASK
+  * syz-manager: add option to turn off crash reproducing
+  * syz-manager: track fuzzing time
+  * config: allow relative paths in configs
+  * syz-manager: don't create legacy corpus dir if it does not exist
+  * syz-manager: add benchmarking mode
+  * tools/syz-benchcmp: add utility for visualization of syz-manager benchmarking results
+  * tools/kcovtrace: add KCOV-based tracing utility
+  * prog: mutate int arguments
+  * prog: mutate programs more aggressively
+  * syz-fuzzer: prefer to mutate instead of generate
+  * prog: generate larger arrays
+  * config: don't mess with image
+  * syz-fuzzer: expose pprof profiling
+  * syz-fuzzer: print total number of executed programs
+  * executor: reduce syscall blocking delay from 100ms to 20ms
+  * all: spot optimizations
+  * makefile: fix syz-extract dependencies
+  * prog: add FieldName to Type
+  * sys, prog: add length of parent of parent to templates
+  * csource: use 0x%x format for printing bitfield addr and arg
+  * executor: change tun subnet to 172.20.*
+  * sys: add ethernet and ipv4 packet descriptions
+  * sys: add missing consts for arm64 and ppc64
+  * report: ignore info message about slow nmi handlers
+  * tools/create-image.sh: add psmisc package for killall
+  * prog: validate deserialized programs
+  * executor: protect against memory corruptions better
+  * syz-prog2c: fix a typo in error message
+  * prog: move size-related functions to size.go
+  * prog, sys: add csum type, embed checksums for ipv4 packets
+  * adb: executor: Revert to adb reboot
+  * sys: improve ipv4 options descriptions
+  * vm/qemu: use static network config in 9p mode
+  * gce: don't terminate instances on migration
+  * executor: fix KVM test
+  * all: implement edge coverage
+  * csource, syz-gce: regenerate and reformat
+  * gce: revert to terminate on migration
+  * manager: make disabledHashes map
+  * sys: move ipc syscalls into separate file
+  * syz-manager: print at most 10 deleted programs
+  * sys: improve ipc descriptions
+  * sys: improve key descriptions
+  * sys: improve kvm description
+  * syz-hub: don't flush global corpus after every addition
+  * manager, fuzzer, hub: move common rpc code into rpctype
+  * manager: collect crash info without holding the global mutex
+  * fuzzer: extend error output
+  * manager: don't recalculate dynamic priorities too often
+  * prog, sys: add tcp packets descriptions
+  * execprog: enable tun when syz_emit_ethernet is used
+  * executor: fix tun initialization when sandbox != none
+  * prog: format checksum_test.go
+  * csource: regenerate and reformat
+  * ipc: fix hangs in debug mode
+  * executor: fix undefined setup_tun() function error in c repros
+  * prog: limit prog size when splicing
+  * prog, sys: add ipv6 description and checksum
+  * prog, sys: add udp description and checksum
+  * csource: fix parallel mode to wait for subprocesses
+  * repro: always recreate VMs
+  * vm: properly detect when a program exits
+  * prog: reformat code
+  * sys: minor assorted improvements to descriptions
+  * sys: add /dev/loop description
+  * sys: add missing include in loop.txt
+  * sys: add more filesystems and mount flags
+  * report: handle new kind of RIP: line format
+  * executor: better protect output region from corruptions
+  * ipc: print call number on corrupted output region
+  * report: limit description length
+  * sys: refine EVIOCGMASK description
+  * vm/adb: support fuzzing without console
+  * prog, sys: add icmp descriptions and checksum
+  * executor: increase kMaxCommands and add checks
+  * prog, sys: add icmpv6 packet descriptions and checksums
+
+-------------------------------------------------------------------
 Thu Feb 09 09:18:41 UTC 2017 - jslaby@suse.com
 
 - Update to version 0.0+git.20160902:
--- syzkaller.spec.orig
+++ syzkaller.spec
@@ -16,9 +16,9 @@
 #
 
 
-%define version_unconverted 0.0+git.20160902
+%define version_unconverted 0.0+git.20171016
 Name:           syzkaller
-Version:        0.0+git.20160902
+Version:        0.0+git.20171016
 Release:        0
 Summary:        Distributed, unsupervised, coverage-guided Linux syscall fuzzer
 License:        Apache-2.0
@@ -30,6 +30,13 @@ BuildRequires:  go >= 1.4
 BuildRequires:  golang-packaging
 BuildRequires:  make
 BuildRequires:  xz
+BuildRequires:  golang(cloud.google.com/go/storage)
+BuildRequires:  golang(golang.org/x/net/context)
+BuildRequires:  golang(golang.org/x/oauth2)
+BuildRequires:  golang(golang.org/x/sys/unix)
+BuildRequires:  golang(google.golang.org/api/compute/v0.beta)
+BuildRequires:  golang(google.golang.org/api/googleapi)
+BuildRequires:  golang(google.golang.org/api/storage/v1)
 # for -fsanitize-coverage
 Recommends:     gcc6
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
@@ -46,30 +53,49 @@ KUBSAN.
 
 %build
 %goprep github.com/google/syzkaller
-%gobuild ...
+
+#%%gobuild '-ldflags=-s -X github.com/google/syzkaller/sys.GitRevision="%%version"' \
+#	./sys/syz-sysgen
+
+# the above does not work, so let's expand and call it properly:
+export GOPATH=/home/abuild/rpmbuild/BUILD/go:/home/abuild/rpmbuild/BUILD/contrib
+export GOBIN=/home/abuild/rpmbuild/BUILD/go/bin
+go install -s -v -p 4 -x -buildmode=pie '-ldflags=-X github.com/google/syzkaller/sys.GitRevision=%{version}' github.com/google/syzkaller/./sys/syz-sysgen
+
+pushd ../go/src/github.com/google/syzkaller/
+../../../../bin/syz-sysgen
+popd
+
+#%%gobuild '-ldflags=-s -X github.com/google/syzkaller/sys.GitRevision="%%version"' \
+#	...
+
+go install -s -v -p 4 -x -buildmode=pie '-ldflags=-X github.com/google/syzkaller/sys.GitRevision=%{version}' github.com/google/syzkaller...
 
 mkdir bin
-make %{?_smp_mflags} CFLAGS="%{optflags}" NOSTATIC=1 executor
+make %{?_smp_mflags} \
+	CC=gcc \
+	REV="%{version}" \
+	CFLAGS="%{optflags} -I../go/src/github.com/google/syzkaller/executor" \
+	NOSTATIC=1 executor
 
 %install
 %goinstall
-install -m 0755 bin/syz-executor %{buildroot}/%{_bindir}
+install -d %{buildroot}%{_bindir}/linux_amd64/
+install -m 0755 bin/linux_amd64/syz-executor %{buildroot}%{_bindir}/linux_amd64/
+
+rm -rf %{buildroot}%{go_contribdir} %{buildroot}%{_bindir}/{gen,syz-sysgen}
 
-rm -rf $RPM_BUILD_ROOT%{go_contribdir} $RPM_BUILD_ROOT%{_bindir}/sysgen
+mv %{buildroot}%{_bindir}/syz-* %{buildroot}%{_bindir}/linux_amd64/
+for SYZ in syz-manager syz-repro; do
+	ln -s linux_amd64/$SYZ %{buildroot}%{_bindir}/
+done
+ln -s ../gcc %{buildroot}%{_bindir}/linux_amd64/x86_64-linux-gnu-gcc
 
 %files
 %defattr(-,root,root)
-%doc AUTHORS CONTRIBUTORS LICENSE README.md syz-manager/example.cfg structure.png sys/sys.txt tools/create-image.sh
-%{_bindir}/syz-execprog
-%{_bindir}/syz-executor
-%{_bindir}/syz-extract
-%{_bindir}/syz-fuzzer
+%doc AUTHORS CONTRIBUTORS LICENSE README.md docs/*.md docs/process_structure.png sys/linux/sys.txt tools/create-image.sh
+%{_bindir}/linux_amd64/
 %{_bindir}/syz-manager
-%{_bindir}/syz-mutate
-%{_bindir}/syz-prog2c
-%{_bindir}/syz-report
 %{_bindir}/syz-repro
-%{_bindir}/syz-stress
-%{_bindir}/syz-upgrade
 
 %changelog
openSUSE Build Service is sponsored by