-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rpmmaker fails on CentOS 7 #47
Comments
It was a problem on my part because I forgot to download source tarballs to rpmbuild/SOURCES/ folder, e.g. |
Even though I got past the issue with building libfastjson4 I am running into a different issue with building rsyslog v8-stable-el7 epel-7 x86_64 v8-stable. The error written to /var/lib/mock/epel-7-x86_64/result/build.log. Where should I get rsyslog.log and rsyslog.conf?
|
@alecswan did you put the source tarball into the SOURCES folder? |
Yes, the following shows what I have in SOURCES folder:
However, after looking at https://github.com/rsyslog/rsyslog-pkg-rhel-centos/blob/master/rpmbuild/SPECS/v8-stable.spec#L24 I don't understand why I needed to download the sources manually if the spec already specifies the location of the tarball as follows:
I am not sure where I should get SOURCES/rsyslog.log and SOURCES/rsyslog.conf that the latest rpmmaker run complains about. Thoughts? |
Ah, now I see. Yes, you need both files present in the SOURCES folder. You can use one of the existing version named ones and rename them for now. The .log file provides the logrotate script and the .conf file is the configuration that will be shipped with the RPM. |
Thanks, the following helped me get past the issue with missing files:
Does this mean that https://github.com/rsyslog/rsyslog-pkg-rhel-centos/blob/master/rpmbuild/SPECS/v8-stable.spec#L10 directive is not working? Shouldn't there be a similar directive for .conf file? Now I am getting the errors show below. Does this mean that I might need to add -develop repos in /etc/yum.repos.d? If so, do you have a list of such repos handy? Also, why does building rsyslog require mariadb and postgres dependencies? Shouldn't those be only required when building the corresponding rsyslog modules?
|
The v8-stable.spec is for EL6 only. For EL7 you need to use the v8-stable-el7.spec. This one you don't need to rename. In the rpmmaker script choose # 6 for specname. |
6 is the option I have been choosing in the first selection. BTW, I like that multiple-choice selection approach. In summary, the options I've been selecting are: Here is a sample output
|
You are now missing the obtainable dependencies. I think it should be sufficient to add the rsyslog repository to your other yum repos. Or have your own repo where the dependencies are present. The dependencies will then be obtained on an as-needed basis from the online repo. |
I added /etc/yum.repos.d per instructions in https://www.rsyslog.com/rhelcentos-rpms/ and yum can successfully find all the missing dependencies from my previous post as shown below.
However, rpmmaker is still unable to find those packages producing exactly the same output as in my previous message. I tried copying /etc/yum.repos.d/rsyslog.repo to /var/lib/mock/epel-7-x86_64/root/etc/yum.repos.d/ which is used by /usr/bin/yum-builddep to install rsyslog dependencies. That didn't fix the problem and I am still seeing the following errors:
I tried removing /var/lib/mock/epel-7-x86_64/root/ and rerunning rpmmaker to no vail. Thoughts? Thanks, |
Even after installing missing packages on the instance, like The main reason why I am trying to build the rpms myself is to avoid the Obsoletes issue discussed in this email thread Thoughts? |
The Kafka library does not need to be present on the machine. It will be used dynamically by mock. Thus, you must have the repository available for your mock installation. Please note, I just moved the kafka build lib to a new repo called v8-stable-build to accomodate some install issues with generic kafka packages. |
At this point I do not need kafka integration. I picked adisconbuild-librdkafka-devel just to show that it is available to the instance from the rsyslog yum repo (see below). However, the mock/yum-builddep process is not seeing it. The reason why I am building my own rpms is that I want to get rid of Obsoletes directive which causes problems in our Nexus yum repo. So, I am effectively forking your work, removing Obsoletes directives and building my rpms. If there is an easier way to do this, I'd love to hear it! I really appreciate your time looking into this! Hopefully the following helps resolve the issue (at the bottom you can see that the problematic packages are available to yum).
|
I was able to make further progress after adding http://rpms.adiscon.com/v8-stable-build and http://rpms.adiscon.com/v8-devel2/epel-7/$basearch repos to /etc/mock/default.cfg But now I am running into a problem with libksi1 obsoleting libksi. Is it possible to build rsyslog without libksi?
|
I am trying to create CentOS 7 RPMs of rsyslog packages following the discussion in http://lists.adiscon.net/pipermail/rsyslog/2018-April/045352.html. However, at first the build fails with
bash: mock-chroot: No such file or directory
and after I create mock-chroot folder it fails withexecv() failed: No such file or directory
with the detailed trace shown below.Am I missing some bootstrap steps required before running rpmmaker.sh?
The text was updated successfully, but these errors were encountered: