Mock Version: 3.0 Mock Version: 3.0 Mock Version: 3.0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target riscv64 --nodeps /builddir/build/SPECS/golang-tinygo-x-llvm.spec'], chrootPath='/var/lib/mock/f37-build-side-33-golang-devel-90219-4598/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=432000uid=996gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target riscv64 --nodeps /builddir/build/SPECS/golang-tinygo-x-llvm.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False Building target platforms: riscv64 Building for target riscv64 setting SOURCE_DATE_EPOCH=1673395200 Wrote: /builddir/build/SRPMS/golang-tinygo-x-llvm-0-0.1.20221002gitdcb078a.fc37.src.rpm Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target riscv64 --nodeps /builddir/build/SPECS/golang-tinygo-x-llvm.spec'], chrootPath='/var/lib/mock/f37-build-side-33-golang-devel-90219-4598/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=432000uid=996gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target riscv64 --nodeps /builddir/build/SPECS/golang-tinygo-x-llvm.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False Building target platforms: riscv64 Building for target riscv64 setting SOURCE_DATE_EPOCH=1673395200 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.MTZTYD + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + rm -fr /builddir/build/BUILD/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990/vendor + [[ ! -e /builddir/build/BUILD/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990/_build/bin ]] + install -m 0755 -vd /builddir/build/BUILD/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990/_build/bin install: creating directory '/builddir/build/BUILD/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990/_build' install: creating directory '/builddir/build/BUILD/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990/_build/bin' + export GOPATH=/builddir/build/BUILD/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990/_build:/usr/share/gocode + GOPATH=/builddir/build/BUILD/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990/_build:/usr/share/gocode + [[ ! -e /builddir/build/BUILD/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990/_build/src/tinygo.org/x/go-llvm ]] ++ dirname /builddir/build/BUILD/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990/_build/src/tinygo.org/x/go-llvm + install -m 0755 -vd /builddir/build/BUILD/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990/_build/src/tinygo.org/x install: creating directory '/builddir/build/BUILD/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990/_build/src' install: creating directory '/builddir/build/BUILD/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990/_build/src/tinygo.org' install: creating directory '/builddir/build/BUILD/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990/_build/src/tinygo.org/x' + ln -fs /builddir/build/BUILD/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990 /builddir/build/BUILD/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990/_build/src/tinygo.org/x/go-llvm + cd /builddir/build/BUILD/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990/_build/src/tinygo.org/x/go-llvm + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/0001-Make-LLVM-config-file-architecture-independent.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + rm llvm_config_darwin_llvm14.go llvm_config_darwin_llvm15.go llvm_config_linux_llvm14.go llvm_config_linux_llvm15.go + for version in 14 15 + type llvm-config-14-64 /var/tmp/rpm-tmp.MTZTYD: line 64: type: llvm-config-14-64: not found + type llvm-config-14 llvm-config-14 is /usr/bin/llvm-config-14 + make config VERSION=14.0.0 CONFIG=llvm-config-14 BUILDDIR=/usr + mv llvm_config_linux.go llvm_config_linux_llvm14.go + for version in 14 15 + type llvm-config-15-64 llvm-config-15-64 is /usr/bin/llvm-config-15-64 + make config VERSION=15.0.0 CONFIG=llvm-config-15-64 BUILDDIR=/usr + mv llvm_config_linux.go llvm_config_linux_llvm15.go + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.lvHmJb + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/golang-tinygo-x-llvm-0-0.1.20221002gitdcb078a.fc37.riscv64 '!=' / ']' + rm -rf /builddir/build/BUILDROOT/golang-tinygo-x-llvm-0-0.1.20221002gitdcb078a.fc37.riscv64 ++ dirname /builddir/build/BUILDROOT/golang-tinygo-x-llvm-0-0.1.20221002gitdcb078a.fc37.riscv64 + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/golang-tinygo-x-llvm-0-0.1.20221002gitdcb078a.fc37.riscv64 + cd go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990 + cd /builddir/build/BUILD/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990/_build/src/tinygo.org/x/go-llvm + IFS= + gosupfiles= + mapfile -t gosupfilesA + go-rpm-integration install -i tinygo.org/x/go-llvm -b /builddir/build/BUILD/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990/_build/bin -s /builddir/build/BUILD/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990/_build -o golang-tinygo-x-llvm-devel.file-list -O /builddir/build/BUILD/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990 -V 0-0.1.20221002gitdcb078a.fc37 -C dcb078a262665943160fa7b6a8dd219c2e2fc990 -p /builddir/build/BUILDROOT/golang-tinygo-x-llvm-0-0.1.20221002gitdcb078a.fc37.riscv64 -g /usr/share/gocode -r '.*example.*' Installing: tinygo.org/x/go-llvm + IFS= +++ realpath -e --relative-base=. README.markdown +++ sort -u ++ listfiles_include=README.markdown ++ echo README.markdown + godocs=README.markdown + [[ -n README.markdown ]] + IFS= + read -r f + echo %doc '"README.markdown"' + IFS= + read -r f + IFS= +++ realpath -e --relative-base=. LICENSE.txt +++ sort -u ++ listfiles_include=LICENSE.txt ++ echo LICENSE.txt + golicenses=LICENSE.txt + [[ -n LICENSE.txt ]] + IFS= + read -r f + echo %license '"LICENSE.txt"' + IFS= + read -r f + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/brp-strip /usr/bin/strip + /usr/lib/rpm/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/redhat/brp-mangle-shebangs + /usr/lib/rpm/brp-remove-la-files + /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 + /usr/lib/rpm/redhat/brp-python-hardlink Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.zWXTCu + umask 022 + cd /builddir/build/BUILD + cd go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990 + for version in 14 15 + export TAGS=llvm14 + TAGS=llvm14 + LDFLAGS=' -X tinygo.org/x/go-llvm/version=0 -X tinygo.org/x/go-llvm/version.commit=dcb078a262665943160fa7b6a8dd219c2e2fc990' + GO_TEST_FLAGS='-buildmode pie -compiler gc -tags=llvm14' + GO_TEST_EXT_LD_FLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + go-rpm-integration check -i tinygo.org/x/go-llvm -b /builddir/build/BUILD/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990/_build/bin -s /builddir/build/BUILD/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990/_build -V 0-0.1.20221002gitdcb078a.fc37 -C dcb078a262665943160fa7b6a8dd219c2e2fc990 -p /builddir/build/BUILDROOT/golang-tinygo-x-llvm-0-0.1.20221002gitdcb078a.fc37.riscv64 -g /usr/share/gocode -r '.*example.*' Testing in: /builddir/build/BUILD/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990/_build/src PATH: /builddir/build/BUILD/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990/_build/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin GOPATH: /builddir/build/BUILD/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990/_build:/usr/share/gocode GO111MODULE: off command: go test -buildmode pie -compiler gc -tags=llvm14 -ldflags " -X tinygo.org/x/go-llvm/version=0 -X tinygo.org/x/go-llvm/version.commit=dcb078a262665943160fa7b6a8dd219c2e2fc990 -extldflags '-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes '" testing: tinygo.org/x/go-llvm tinygo.org/x/go-llvm WARNING: This target JIT is not designed for the host you are running. If bad things happen, please choose a different -march switch. LLVM ERROR: Relocation type not implemented yet! SIGABRT: abort PC=0x3fc1229f46 m=0 sigcode=4294967290 signal arrived during cgo execution goroutine 4 [syscall]: runtime.cgocall(0x2ad608a240, 0x3f9404f578) /usr/lib/golang/src/runtime/cgocall.go:158 +0x54 fp=0x3f9404f540 sp=0x3f9404f510 pc=0x2ad5f93efc tinygo.org/x/go-llvm._Cfunc_LLVMRunFunction(0x2adf665920, 0x2adf653e68, 0x1, 0x3f94014360) _cgo_gotypes.go:8491 +0x3c fp=0x3f9404f570 sp=0x3f9404f540 pc=0x2ad607d5fc tinygo.org/x/go-llvm.ExecutionEngine.RunFunction.func1({0x2ad6079d34?}, {0x8?}, 0x1, 0x3f9404f501?) /builddir/build/BUILD/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990/_build/src/tinygo.org/x/go-llvm/executionengine.go:141 +0xd8 fp=0x3f9404f5c8 sp=0x3f9404f570 pc=0x2ad607f400 tinygo.org/x/go-llvm.ExecutionEngine.RunFunction({0x2adf65f000?}, {0x100000002?}, {0x3f94014360?, 0x0?, 0x3f940142e0?}) /builddir/build/BUILD/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990/_build/src/tinygo.org/x/go-llvm/executionengine.go:141 +0x60 fp=0x3f9404f5f0 sp=0x3f9404f5c8 pc=0x2ad607f308 tinygo.org/x/go-llvm.TestFactorial(0x3f9413e1a0) /builddir/build/BUILD/go-llvm-dcb078a262665943160fa7b6a8dd219c2e2fc990/_build/src/tinygo.org/x/go-llvm/executionengine_test.go:91 +0x544 fp=0x3f9404f778 sp=0x3f9404f5f0 pc=0x2ad6079d54 testing.tRunner(0x3f9413e1a0, 0x2ad61100d0) /usr/lib/golang/src/testing/testing.go:1446 +0x11c fp=0x3f9404f7c0 sp=0x3f9404f778 pc=0x2ad6040d3c testing.(*T).Run.func1() /usr/lib/golang/src/testing/testing.go:1493 +0x30 fp=0x3f9404f7d8 sp=0x3f9404f7c0 pc=0x2ad6041970 runtime.goexit() /usr/lib/golang/src/runtime/asm_riscv64.s:516 +0x4 fp=0x3f9404f7d8 sp=0x3f9404f7d8 pc=0x2ad5ff4dd4 created by testing.(*T).Run /usr/lib/golang/src/testing/testing.go:1493 +0x338 goroutine 1 [chan receive]: runtime.gopark(0x2ad5f9cb30?, 0x2ad620e140?, 0x70?, 0xcd?, 0x3f9413e1a0?) /usr/lib/golang/src/runtime/proc.go:363 +0x110 fp=0x3f94061a58 sp=0x3f94061a40 pc=0x2ad5fc92c0 runtime.chanrecv(0x3f940161c0, 0x3f94061b57, 0xe8?) /usr/lib/golang/src/runtime/chan.go:583 +0x498 fp=0x3f94061ae8 sp=0x3f94061a58 pc=0x2ad5f96f70 runtime.chanrecv1(0x3f94010450?, 0x1?) /usr/lib/golang/src/runtime/chan.go:442 +0x14 fp=0x3f94061b08 sp=0x3f94061ae8 pc=0x2ad5f96abc testing.(*T).Run(0x3f9413e000, {0x2ad60ab0d6?, 0x2ad6003a80?}, 0x2ad61100d0) /usr/lib/golang/src/testing/testing.go:1494 +0x34c fp=0x3f94061ba0 sp=0x3f94061b08 pc=0x2ad60418fc testing.runTests.func1(0x1a0?) /usr/lib/golang/src/testing/testing.go:1846 +0x78 fp=0x3f94061be8 sp=0x3f94061ba0 pc=0x2ad60433e8 testing.tRunner(0x3f9413e000, 0x3f94061cf0) /usr/lib/golang/src/testing/testing.go:1446 +0x11c fp=0x3f94061c30 sp=0x3f94061be8 pc=0x2ad6040d3c testing.runTests(0x3f941240a0?, {0x2ad61c54a0, 0x6, 0x6}, {0x3?, 0x40000000000c08?, 0x2ad61e0ac0?}) /usr/lib/golang/src/testing/testing.go:1844 +0x408 fp=0x3f94061d10 sp=0x3f94061c30 pc=0x2ad60432d0 testing.(*M).Run(0x3f941240a0) /usr/lib/golang/src/testing/testing.go:1726 +0x504 fp=0x3f94061f00 sp=0x3f94061d10 pc=0x2ad60420ac main.main() _testmain.go:59 +0x1a8 fp=0x3f94061f80 sp=0x3f94061f00 pc=0x2ad60837d8 runtime.main() /usr/lib/golang/src/runtime/proc.go:250 +0x218 fp=0x3f94061fd8 sp=0x3f94061f80 pc=0x2ad5fc8ed0 runtime.goexit() /usr/lib/golang/src/runtime/asm_riscv64.s:516 +0x4 fp=0x3f94061fd8 sp=0x3f94061fd8 pc=0x2ad5ff4dd4 goroutine 2 [force gc (idle)]: runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?) /usr/lib/golang/src/runtime/proc.go:363 +0x110 fp=0x3f9404efb0 sp=0x3f9404ef98 pc=0x2ad5fc92c0 runtime.goparkunlock(...) /usr/lib/golang/src/runtime/proc.go:369 runtime.forcegchelper() /usr/lib/golang/src/runtime/proc.go:302 +0xb0 fp=0x3f9404efd8 sp=0x3f9404efb0 pc=0x2ad5fc9148 runtime.goexit() /usr/lib/golang/src/runtime/asm_riscv64.s:516 +0x4 fp=0x3f9404efd8 sp=0x3f9404efd8 pc=0x2ad5ff4dd4 created by runtime.init.5 /usr/lib/golang/src/runtime/proc.go:290 +0x28 goroutine 18 [GC sweep wait]: runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?) /usr/lib/golang/src/runtime/proc.go:363 +0x110 fp=0x3f9404a798 sp=0x3f9404a780 pc=0x2ad5fc92c0 runtime.goparkunlock(...) /usr/lib/golang/src/runtime/proc.go:369 runtime.bgsweep(0x0?) /usr/lib/golang/src/runtime/mgcsweep.go:278 +0xa8 fp=0x3f9404a7c8 sp=0x3f9404a798 pc=0x2ad5fb3f38 runtime.gcenable.func1() /usr/lib/golang/src/runtime/mgc.go:178 +0x2c fp=0x3f9404a7d8 sp=0x3f9404a7c8 pc=0x2ad5fa8764 runtime.goexit() /usr/lib/golang/src/runtime/asm_riscv64.s:516 +0x4 fp=0x3f9404a7d8 sp=0x3f9404a7d8 pc=0x2ad5ff4dd4 created by runtime.gcenable /usr/lib/golang/src/runtime/mgc.go:178 +0x70 goroutine 19 [GC scavenge wait]: runtime.gopark(0x3f9408e000?, 0x2ad60d8828?, 0x0?, 0x0?, 0x0?) /usr/lib/golang/src/runtime/proc.go:363 +0x110 fp=0x3f9404af80 sp=0x3f9404af68 pc=0x2ad5fc92c0 runtime.goparkunlock(...) /usr/lib/golang/src/runtime/proc.go:369 runtime.(*scavengerState).park(0x2ad61e0b40) /usr/lib/golang/src/runtime/mgcscavenge.go:389 +0x68 fp=0x3f9404afa8 sp=0x3f9404af80 pc=0x2ad5fb1ed0 runtime.bgscavenge(0x0?) /usr/lib/golang/src/runtime/mgcscavenge.go:617 +0x50 fp=0x3f9404afc8 sp=0x3f9404afa8 pc=0x2ad5fb2420 runtime.gcenable.func2() /usr/lib/golang/src/runtime/mgc.go:179 +0x2c fp=0x3f9404afd8 sp=0x3f9404afc8 pc=0x2ad5fa8704 runtime.goexit() /usr/lib/golang/src/runtime/asm_riscv64.s:516 +0x4 fp=0x3f9404afd8 sp=0x3f9404afd8 pc=0x2ad5ff4dd4 created by runtime.gcenable /usr/lib/golang/src/runtime/mgc.go:179 +0xb0 goroutine 3 [finalizer wait]: runtime.gopark(0xfe5?, 0x7f28?, 0xe5?, 0xf?, 0xfe5?) /usr/lib/golang/src/runtime/proc.go:363 +0x110 fp=0x3f9404e5a8 sp=0x3f9404e590 pc=0x2ad5fc92c0 runtime.goparkunlock(...) /usr/lib/golang/src/runtime/proc.go:369 runtime.runfinq() /usr/lib/golang/src/runtime/mfinal.go:180 +0x110 fp=0x3f9404e7d8 sp=0x3f9404e5a8 pc=0x2ad5fa7958 runtime.goexit() /usr/lib/golang/src/runtime/asm_riscv64.s:516 +0x4 fp=0x3f9404e7d8 sp=0x3f9404e7d8 pc=0x2ad5ff4dd4 created by runtime.createfing /usr/lib/golang/src/runtime/mfinal.go:157 +0x64 ra 0x3fc1229f38 sp 0x3fffd218d8 gp 0x2ad61e04e8 tp 0x3fc10bf240 t0 0x0 t1 0x3fc1f9e2dc t2 0xb s0 0xcd87 s1 0x3fc1300d58 a0 0x0 a1 0xcd87 a2 0x6 a3 0x3fc13011b0 a4 0x1 a5 0x3fc10beae0 a6 0xfefefefefefefeff a7 0x83 s2 0x3fc10beae0 s3 0x6 s4 0x3fc7056d10 s5 0x6 s6 0x2adf67dc00 s7 0x0 s8 0x2adf6afc18 s9 0x0 s10 0xfffffffffffffff8 s11 0x2adf67dc00 t3 0x3fc11e4128 t4 0x3fffd21a80 t5 0x2adf6d8fc8 t6 0xcccccccccccccccd pc 0x3fc1229f46 exit status 2 FAIL tinygo.org/x/go-llvm 2.545s error: Bad exit status from /var/tmp/rpm-tmp.zWXTCu (%check) RPM build errors: Bad exit status from /var/tmp/rpm-tmp.zWXTCu (%check) Child return code was: 1 EXCEPTION: [Error()] Traceback (most recent call last): File "/usr/lib/python3.10/site-packages/mockbuild/trace_decorator.py", line 93, in trace result = func(*args, **kw) File "/usr/lib/python3.10/site-packages/mockbuild/util.py", line 598, in do_with_status raise exception.Error("Command failed: \n # %s\n%s" % (command, output), child.returncode) mockbuild.exception.Error: Command failed: # bash --login -c /usr/bin/rpmbuild -bb --target riscv64 --nodeps /builddir/build/SPECS/golang-tinygo-x-llvm.spec