google / stenographer

Stenographer is a packet capture solution which aims to quickly spool all packets to disk, then provide simple, fast access to subsets of those packets. Discussion/announcements at stenographer@googlegroups.com
Apache License 2.0
1.79k stars 238 forks source link

rpmbuild-steno-centos errors out at the end of the installation #145

Closed MaxOrelus closed 8 years ago

MaxOrelus commented 8 years ago

I'm running CentOS Linux release 7.2.1511 (Core) minimal fresh install. I then proceed to execute the following:

yum -y update && reboot

# once rebooted
yum install -y epel-release
yum groupinstall -y base "development tools" mock
reboot

# I install go in the instructions provided on the official website

go get github.com/google/stenographer
cd src/github.com/google/stenographer
bash ./rpmbuild-steno-centos

When I go to build the rpm from bash ./rpmbuild-steno-centos every thing seems to be running fine until the end when the script errors out with the following:

ERROR: Cannot find/open srpm: /tmp/tmp.TqThtYPYDy/rpmbuild/SRPMS/stenographer-*a12106b.el7.src.rpm.
Error: [Errno 2] No such file or directory: '/tmp/tmp.TqThtYPYDy/rpmbuild/SRPMS/stenographer-*a12106b.el7.src.rpm'

Am I missing something?

gconnell commented 8 years ago

Could you rerun, using this as the final step:

bash -x ./rpmbuild-steno-centos

and paste the output?

MaxOrelus commented 8 years ago
[root@playground stenographer]# ls
base             filecache         lib.sh                 stenographer.spec
blockfile        format.sh         LICENSE                stenokeys.sh
certs            httputil          query                  stenoread
config           indexfile         README.md              stenotype
configs          install_el7.sh    rpmbuild-steno-centos  testdata
CONTRIBUTING.md  INSTALL.md        stats                  thread
DESIGN.md        install.sh        stenocurl
env              integration_test  stenographer.go
[root@playground stenographer]# bash -x ./rpmbuild-steno-centos 
++ curl https://api.github.com/repos/google/stenographer/commits/master
++ awk 'NR==2{print $0}'
++ awk '-F"' '{print $4}'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  4478  100  4478    0     0  26715      0 --:--:-- --:--:-- --:--:-- 26814
+ commit=8ef0b15a812317885b3d4e5ae4286d7dbbe350b5
++ echo 8ef0b15
+ short_commit=8ef0b15
++ mktemp -d
+ TMP=/tmp/tmp.bp4EkaCM88
+ pushd /tmp/tmp.bp4EkaCM88
/tmp/tmp.bp4EkaCM88 /home/stenographer/go/src/github.com/google/stenographer
+ curl -L -J -O https://github.com/google/stenographer/archive/8ef0b15a812317885b3d4e5ae4286d7dbbe350b5.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   161    0   161    0     0   1132      0 --:--:-- --:--:-- --:--:--  1125
100  136k  100  136k    0     0   529k      0 --:--:-- --:--:-- --:--:--  529k
curl: Saved to filename 'stenographer-8ef0b15a812317885b3d4e5ae4286d7dbbe350b5.tar.gz'
+ mkdir -p /tmp/tmp.bp4EkaCM88/rpmbuild/BUILD /tmp/tmp.bp4EkaCM88/rpmbuild/RPMS /tmp/tmp.bp4EkaCM88/rpmbuild/SOURCES /tmp/tmp.bp4EkaCM88/rpmbuild/SPECS /tmp/tmp.bp4EkaCM88/rpmbuild/SRPMS
+ cp stenographer-8ef0b15a812317885b3d4e5ae4286d7dbbe350b5.tar.gz /tmp/tmp.bp4EkaCM88/rpmbuild/SOURCES
+ tar -xzf stenographer-8ef0b15a812317885b3d4e5ae4286d7dbbe350b5.tar.gz
+ cp /tmp/tmp.bp4EkaCM88/stenographer-8ef0b15a812317885b3d4e5ae4286d7dbbe350b5/stenographer.spec /tmp/tmp.bp4EkaCM88/rpmbuild/SPECS/
+ rpmbuild --define '_topdir /tmp/tmp.bp4EkaCM88/rpmbuild' -bs /tmp/tmp.bp4EkaCM88/rpmbuild/SPECS/stenographer.spec
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  4478  100  4478    0     0  25024      0 --:--:-- --:--:-- --:--:-- 25157
Wrote: /tmp/tmp.bp4EkaCM88/rpmbuild/SRPMS/stenographer-0.0-1.git8ef0b15.el7.centos.src.rpm
+ sudo mock -r epel-7-x86_64 --init
INFO: mock.py version 1.2.21 starting (python version = 2.7.5)...
Start: init plugins
INFO: selinux enabled
Finish: init plugins
Start: run
Start: clean chroot
Finish: clean chroot
Start: chroot init
INFO: calling preinit hooks
INFO: enabled root cache
Start: unpacking root cache
Finish: unpacking root cache
INFO: enabled yum cache
Start: cleaning yum metadata
Finish: cleaning yum metadata
Mock Version: 1.2.21
INFO: Mock Version: 1.2.21
Finish: chroot init
Finish: run
+ sudo mock -r epel-7-x86_64 --clean
INFO: mock.py version 1.2.21 starting (python version = 2.7.5)...
Start: init plugins
INFO: selinux enabled
Finish: init plugins
Start: run
Start: clean chroot
Finish: clean chroot
Finish: run
+ sudo mock -r epel-7-x86_64 rebuild '/tmp/tmp.bp4EkaCM88/rpmbuild/SRPMS/stenographer-*8ef0b15.el7.src.rpm'
INFO: mock.py version 1.2.21 starting (python version = 2.7.5)...
Start: init plugins
INFO: selinux enabled
Finish: init plugins
Start: run
ERROR: Cannot find/open srpm: /tmp/tmp.bp4EkaCM88/rpmbuild/SRPMS/stenographer-*8ef0b15.el7.src.rpm. Error: [Errno 2] No such file or directory: '/tmp/tmp.bp4EkaCM88/rpmbuild/SRPMS/stenographer-*8ef0b15.el7.src.rpm'
[root@playground stenographer]# 
gconnell commented 8 years ago

Hmm, so rpmbuild builds A, but mock rebuild cannot find B:

A: /tmp/tmp.bp4EkaCM88/rpmbuild/SRPMS/stenographer-0.0-1.git8ef0b15.el7.centos.src.rpm
B: /tmp/tmp.bp4EkaCM88/rpmbuild/SRPMS/stenographer-*8ef0b15.el7.src.rpm

The difference there appears to be the suffix: rpmbuild is building .el7.centos.src.rpm, but the second command just wants .el7.src.rpm.

gconnell commented 8 years ago

It could be that the last command in the script needs updating, currently it's:

sudo mock -r epel-7-x86_64 rebuild $TMP/rpmbuild/SRPMS/stenographer-*$short_commit.el7.src.rpm

Maybe it should be

sudo mock -r epel-7-x86_64 rebuild $TMP/rpmbuild/SRPMS/stenographer-*$short_commit.*.src.rpm

Could you modify rpmbuild-steno-centos accordingly and let me know if it works? If so, I can update the script within the repo.

MaxOrelus commented 8 years ago

That did the trick :+1:

Thank you

Results:

[stenographer@playground stenographer]$ sudo bash -x ./rpmbuild-steno-centos > steno-insall.log
++ awk 'NR==2{print $0}'
++ awk '-F"' '{print $4}'
++ curl https://api.github.com/repos/google/stenographer/commits/master
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  4478  100  4478    0     0  32517      0 --:--:-- --:--:-- --:--:-- 32449
+ commit=8ef0b15a812317885b3d4e5ae4286d7dbbe350b5
++ echo 8ef0b15
+ short_commit=8ef0b15
++ mktemp -d
+ TMP=/tmp/tmp.X9OZFinEPF
+ pushd /tmp/tmp.X9OZFinEPF
+ curl -L -J -O https://github.com/google/stenographer/archive/8ef0b15a812317885b3d4e5ae4286d7dbbe350b5.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   161    0   161    0     0   1154      0 --:--:-- --:--:-- --:--:--  1158
100  136k  100  136k    0     0  88470      0  0:00:01  0:00:01 --:--:--  5344
+ mkdir -p /tmp/tmp.X9OZFinEPF/rpmbuild/BUILD /tmp/tmp.X9OZFinEPF/rpmbuild/RPMS /tmp/tmp.X9OZFinEPF/rpmbuild/SOURCES /tmp/tmp.X9OZFinEPF/rpmbuild/SPECS /tmp/tmp.X9OZFinEPF/rpmbuild/SRPMS
+ cp stenographer-8ef0b15a812317885b3d4e5ae4286d7dbbe350b5.tar.gz /tmp/tmp.X9OZFinEPF/rpmbuild/SOURCES
+ tar -xzf stenographer-8ef0b15a812317885b3d4e5ae4286d7dbbe350b5.tar.gz
+ cp /tmp/tmp.X9OZFinEPF/stenographer-8ef0b15a812317885b3d4e5ae4286d7dbbe350b5/stenographer.spec /tmp/tmp.X9OZFinEPF/rpmbuild/SPECS/
+ rpmbuild --define '_topdir /tmp/tmp.X9OZFinEPF/rpmbuild' -bs /tmp/tmp.X9OZFinEPF/rpmbuild/SPECS/stenographer.spec
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  4478  100  4478    0     0  34558      0 --:--:-- --:--:-- --:--:-- 34713
+ sudo mock -r epel-7-x86_64 --init
INFO: mock.py version 1.2.21 starting (python version = 2.7.5)...
Start: init plugins
INFO: selinux enabled
Finish: init plugins
Start: run
Start: clean chroot
Finish: clean chroot
Start: chroot init
INFO: calling preinit hooks
INFO: enabled root cache
INFO: enabled yum cache
Start: cleaning yum metadata
Finish: cleaning yum metadata
Mock Version: 1.2.21
INFO: Mock Version: 1.2.21
Start: yum install
Finish: yum install
Start: creating root cache
Finish: creating root cache
Finish: chroot init
INFO: Installed packages:
Finish: run
+ sudo mock -r epel-7-x86_64 --clean
INFO: mock.py version 1.2.21 starting (python version = 2.7.5)...
Start: init plugins
INFO: selinux enabled
Finish: init plugins
Start: run
Start: clean chroot
Finish: clean chroot
Finish: run
+ sudo mock -r epel-7-x86_64 rebuild /tmp/tmp.X9OZFinEPF/rpmbuild/SRPMS/stenographer-0.0-1.git8ef0b15.el7.centos.src.rpm
INFO: mock.py version 1.2.21 starting (python version = 2.7.5)...
Start: init plugins
INFO: selinux enabled
Finish: init plugins
Start: run
INFO: Start(/tmp/tmp.X9OZFinEPF/rpmbuild/SRPMS/stenographer-0.0-1.git8ef0b15.el7.centos.src.rpm)  Config(epel-7-x86_64)
Start: clean chroot
Finish: clean chroot
Start: chroot init
INFO: calling preinit hooks
INFO: enabled root cache
Start: unpacking root cache
Finish: unpacking root cache
INFO: enabled yum cache
Start: cleaning yum metadata
Finish: cleaning yum metadata
Mock Version: 1.2.21
INFO: Mock Version: 1.2.21
Start: yum update
Finish: yum update
Finish: chroot init
Start: build phase for stenographer-0.0-1.git8ef0b15.el7.centos.src.rpm
Start: build setup for stenographer-0.0-1.git8ef0b15.el7.centos.src.rpm
Finish: build setup for stenographer-0.0-1.git8ef0b15.el7.centos.src.rpm
Start: rpmbuild stenographer-0.0-1.git8ef0b15.el7.centos.src.rpm
Finish: rpmbuild stenographer-0.0-1.git8ef0b15.el7.centos.src.rpm
Finish: build phase for stenographer-0.0-1.git8ef0b15.el7.centos.src.rpm
INFO: Done(/tmp/tmp.X9OZFinEPF/rpmbuild/SRPMS/stenographer-0.0-1.git8ef0b15.el7.centos.src.rpm) Config(epel-7-x86_64) 1 minutes 6 seconds
INFO: Results and/or logs in: /var/lib/mock/epel-7-x86_64/result
Finish: run
[stenographer@playground stenographer]$