Issue in building Kibana rpm 7.0.1 from src

Hi,
I am trying to build Kibana rpm 7.0.1 from src code on CentOS 7.4.
I am facing issue while running yarn kbn bootstrap. I have also followed https://github.com/elastic/kibana/issues/47214 .But it did not help me.
Attached the screenshot of issue.


Can you please help me building Kibana rpm?

Hi @chaitra_hegde

Could you check if git is available for the user running yarn kbn bootstrap and could you check the output of git rev-parse --git-dir?
Thanks

Hi,
I have cloned the git repo on a server.. I do the build on a different server which does not have git. I have copied the content of the git repo onto this server. So is it mandatory to have git while building kibana?

If I'm not wrong, yes it's required to build Kibana from the source. There are some tools that require git, probably is not 100% needed if you just need to build kibana from source, but I don't think we have options to avoid that at the moment

Hi @markov00 ,
Thanks mark. I have installed git and yarn kbn bootstrap --oss step is done successfully.
Now i am trying to build rpm, using yarn build --rpm.
I have tried couple of more commands also with the build like
yarn build --oss
yarn build --skip-node-download
yarn build --skip-archives
But here I am facing the below issue and attached screenshot also.
│ERROR failure
│ERROR Error: connect ETIMEDOUT 104.20.23.46:443
│ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1104:14)

have you tried yarn build --oss --skip-node-download ?
That error means that we cannot connect to the internet to download the node.js binaries files required for each platforms, adding also the --skip-node-download to --oss it should do the trick

Are you looking to build kibana for all supported platform or just for the current one?

Hi @markov00
I have tried the command which you mentioned previously. But facing the same issue. I have attached the screenshot for the same.


I am looking for building kibana oss rpm for CentOS-7, CentOS-8.

I've checked on our source code, but we you cannot build Kibana in a air-gapped environment because, you can "skip" the node download but we are still connecting to one of our endpoint to check the SHA of the used node version.

Don't you have the possibility to connect that machine to the internet? you can eventually build Kibana on the same machine where you cloned the code (if you have cloned it from a remote github url), build your rpm there and then use them on your machines.
You can even build kibana on another machine and just transfer the build.

I'm assuming you are changed something in the code, if not you can use directly the our RPM package: https://www.elastic.co/downloads/past-releases/kibana-7-0-1

Hi @markov00
Proxy is configured in this server. So I can reach the internet. I am able to download other things from internet using the proxy. So what might be issue in Kibana case?

Hi,
I have commented out the SHA check. I downloaded node-js darwin, linux, window files manually in specific directory. I have used --skip-node-download.
I am able to proceed further. I am able to build tar, zip files of Kibana. But now in creating rpm task the build is failing. There are no detailed logs even in debug/verbose mode. I have attached the same. Please let me know if I am missing some thing.
I have used yarn build --rpm -v --skip-node-download --oss --skip-archives --release command for building.

     info [kibana-oss] Creating rpm package
       │ debg calling fpm with args: [ '--force',
       │        '-t',
       │        'rpm',
       │        '--package',
       │        '/home/cloud-user/git-kibana/CSF-ELASTIC-KIBANA-MIRROR/target/NAME-7.0.1-ARCH.TYPE',
       │        '-s',
       │        'dir',
       │        '--name',
       │        'kibana-oss',
       │        '--description',
       │        'Explore and visualize your Elasticsearch data',
       │        '--version',
       │        '7.0.1',
       │        '--url',
       │        'https://www.elastic.co',
       │        '--vendor',
       │        'Elasticsearch, Inc.',
       │        '--maintainer',
       │        'Kibana Team <info@elastic.co>',
       │        '--license',
       │        'ASL 2.0',
       │        '--conflicts',
       │        'kibana',
       │        '--after-install',
       │        '/home/cloud-user/git-kibana/CSF-ELASTIC-KIBANA-MIRROR/src/dev/build/tasks/os_packages/package_scripts/post_install.sh',
       │        '--before-install',
       │        '/home/cloud-user/git-kibana/CSF-ELASTIC-KIBANA-MIRROR/src/dev/build/tasks/os_packages/package_scripts/pre_install.sh',
       │        '--before-remove',
       │        '/home/cloud-user/git-kibana/CSF-ELASTIC-KIBANA-MIRROR/src/dev/build/tasks/os_packages/package_scripts/pre_remove.sh',
       │        '--after-remove',
       │        '/home/cloud-user/git-kibana/CSF-ELASTIC-KIBANA-MIRROR/src/dev/build/tasks/os_packages/package_scripts/post_remove.sh',
       │        '--config-files',
       │        '/etc/kibana/kibana.yml',
       │        '--template-value',
       │        'user=kibana',
       │        '--template-value',
       │        'group=kibana',
       │        '--template-value',
       │        'optimizeDir=/usr/share/kibana/optimize',
       │        '--template-value',
       │        'configDir=/etc/kibana',
       │        '--template-value',
       │        'pluginsDir=/usr/share/kibana/plugins',
       │        '--template-value',
       │        'dataDir=/var/lib/kibana',
       │        '--exclude',
       │        'usr/share/kibana/config',
       │        '--exclude',
       │        'usr/share/kibana/data',
       │        '--architecture',
       │        'x86_64',
       │        '--rpm-os',
       │        'linux',
       │        '/home/cloud-user/git-kibana/CSF-ELASTIC-KIBANA-MIRROR/build/oss/kibana-7.0.1-linux-x86_64/=/usr/share/kibana/',
       │        '/home/cloud-user/git-kibana/CSF-ELASTIC-KIBANA-MIRROR/build/oss/kibana-7.0.1-linux-x86_64/config/=/etc/kibana/',
       │        '/home/cloud-user/git-kibana/CSF-ELASTIC-KIBANA-MIRROR/build/oss/kibana-7.0.1-linux-x86_64/data/=/var/lib/kibana/',
       │        '/home/cloud-user/git-kibana/CSF-ELASTIC-KIBANA-MIRROR/src/dev/build/tasks/os_packages/service_templates/sysv/etc/=/etc/',
       │        '/home/cloud-user/git-kibana/CSF-ELASTIC-KIBANA-MIRROR/src/dev/build/tasks/os_packages/service_templates/systemd/etc/=/etc/' ]
       │ sill $ fpm --force -t rpm --package /home/cloud-user/git-kibana/CSF-ELASTIC-KIBANA-MIRROR/target/NAME-7.0.1-ARCH.TYPE -s dir --name kibana-oss --description Explore and visualize your Elasticsearch data --version 7.0.1 --url https://www.elastic.co --vendor Elasticsearch, Inc. --maintainer Kibana Team <info@elastic.co> --license ASL 2.0 --conflicts kibana --after-install /home/cloud-user/git-kibana/CSF-ELASTIC-KIBANA-MIRROR/src/dev/build/tasks/os_packages/package_scripts/post_install.sh --before-install /home/cloud-user/git-kibana/CSF-ELASTIC-KIBANA-MIRROR/src/dev/build/tasks/os_packages/package_scripts/pre_install.sh --before-remove /home/cloud-user/git-kibana/CSF-ELASTIC-KIBANA-MIRROR/src/dev/build/tasks/os_packages/package_scripts/pre_remove.sh --after-remove /home/cloud-user/git-kibana/CSF-ELASTIC-KIBANA-MIRROR/src/dev/build/tasks/os_packages/package_scripts/post_remove.sh --config-files /etc/kibana/kibana.yml --template-value user=kibana --template-value group=kibana --template-value optimizeDir=/usr/share/kibana/optimize --template-value configDir=/etc/kibana --template-value pluginsDir=/usr/share/kibana/plugins --template-value dataDir=/var/lib/kibana --exclude usr/share/kibana/config --exclude usr/share/kibana/data --architecture x86_64 --rpm-os linux /home/cloud-user/git-kibana/CSF-ELASTIC-KIBANA-MIRROR/build/oss/kibana-7.0.1-linux-x86_64/=/usr/share/kibana/ /home/cloud-user/git-kibana/CSF-ELASTIC-KIBANA-MIRROR/build/oss/kibana-7.0.1-linux-x86_64/config/=/etc/kibana/ /home/cloud-user/git-kibana/CSF-ELASTIC-KIBANA-MIRROR/build/oss/kibana-7.0.1-linux-x86_64/data/=/var/lib/kibana/ /home/cloud-user/git-kibana/CSF-ELASTIC-KIBANA-MIRROR/src/dev/build/tasks/os_packages/service_templates/sysv/etc/=/etc/ /home/cloud-user/git-kibana/CSF-ELASTIC-KIBANA-MIRROR/src/dev/build/tasks/os_packages/service_templates/systemd/etc/=/etc/
       │ERROR failure
       │ERROR Error: spawn fpm ENOENT
       │          at Process.ChildProcess._handle.onexit (internal/child_process.js:240:19)
       │          at onErrorNT (internal/child_process.js:415:16)
       │          at process._tickCallback (internal/process/next_tick.js:63:19)

    error Command failed with exit code 1.
    info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.