I am trying to install a program called QtiPlot in my f30 system. Since I need this program a lot, I decided to make a repository in copr. I am completely new to building packages so I read the following articles
So at the moment I have created the repository thanos/qtiplot and then I guess I need to build the .spec file, however I don’t know how to do it. I can write the first lines as follows
Name: QiPlot
Version: 0.9.8.9
Release: 1%{?dist}
Summary: A data analysis and plotting software
but I don’t know what to add in the source section. I do have the source files (qtiplot-0.9.8.9.tar.bz2) but in corp I can only upload either srpm or .spec files. I guess that I can just add the following
+Source: qtiplot-0.9.8.9.tar.bz2
but this means that I have to upload somewhere the .tar.bz2 file. I am wondering if I am missing something essential here, so any idea would be much appreciated!
But supposing that Source contains an URL, you can also build the package on copr uploading only the spec file.
So you could upload qtiplot-0.9.8.9.tar.bz2 on a publicy accessible place on internet, and modify the spec file accordingly.
Or better: put the original URL of the source file in the spec file. QtiPlot is hosted on sourceforge, right?
Thank you very much for your reply.
Indeed the source code is in sourceforge.
So I edited the .spec file and now it looks like that
Summary: Data analysis and scientific plotting
Name: qtiplot
Version: 0.9.8.9
Release: 1%{?dist}
License: GPLv2+
Group: Sciences/Other
Source0: https://sourceforge.net/projects/qtiplot.berlios/files/qtiplot-0.9.8.9.tar.bz2
BuildRequires: qt4-devel >= 4.4.0
BuildRequires: qt-assistant-adp-devel
BuildRequires: gsl-devel
BuildRequires: icoutils
BuildRequires: muParser-devel >= 1.32
BuildRequires: python-qt4 >= 4.4.4
BuildRequires: docbook-utils
BuildRequires: docbook-dtd44-xml
BuildRequires: pkgconfig(glu)
BuildRequires: libpng-devel
BuildRequires: boost-devel
Requires: qt-assistant-adp
Requires: python-qt4 >= 4.4.4
Requires: python(abi) = 2.7
%description
Software for data analysis and plotting.
Linux equivalent to Origin.
I am aware that it’s not yet fully ready, but how do I continue?
I know that I have to add the %build and %install commands. This implies that I have build it at least one on the same system, so I know which commands to follow, right? And if this is the case, if I want to create rpms for various distributions, I have to have these distributions! Am I missing something?
Hi @thanos , cool that your are trying do a .rpm to this app, i don’t know nothing about build .rpm but reading your link:
And looking this video (just replace yum for dnf) https://www.youtube.com/watch?v=CVCIUQ13XKc
Maybe is enough to creat a first build. About your question about other distributions I think you just need that dependecies /libraries are presents in the distribution what you will do intalation, and the called of them from the route of installation is the same. (but someone should confirme it, I am not sure 100%)
So when I run rpmbuild -ba qtiplot.spec I get the following error
make[1]: *** [Makefile:8: web] Error 8
make[1]: Leaving directory ‘/home/astamato/rpmbuild/BUILD/qtiplot-0.9.8.9/manual’
make: *** [Makefile:65: sub-manual-make_default] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.x3Y8KW (%build)
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.x3Y8KW (%build)
I am not sure if it’s related to the creation of the rpm, though. To my understanding it looks like it’s trying to build and install qtiplot on my system and it gets stuck somewhere.
Maybe it is related an you need install the package libuuid-devel.
I hope someone can help you a bit more
But look that is blaming the log file about errors Bad exit status from /var/tmp/rpm-tmp.x3Y8KW look into the file
Regards.
(I have not idea about rpm build) But look likes that it is failing to pick the manual of the app, in your config the path is %{_mandir}/man1/qtiplot.1.* which it should move the manual from /home/astamato/rpmbuild/BUILD/qtiplot-0.9.8.9/manual/ I am not sure for nothing but maybe should you have a manual file called qtiplot.1.gz (gz is the extension for gzip compression) or maybe you can use a qtiplot.1.pdz gz is the format that looks like be a standard in the folder of manuals /usr/share/man/ or /usr/share/man/man1/ what one is the one you are marking how your target. Check you do have a manual in your build path and if this solve this issue, in the other hand you can delele/skip these part that do reference to the manual.
Indeed I was able to see a manual directory in my build directory /home/astamato/rpmbuild/BUILD/qtiplot-0.9.8.9 and listing its comments provided the following
[astamato@pcen35240 qtiplot-0.9.8.9]$ ls manual
dblatex.conf dblatex-param.xsl docbook-en docbook-it help.dsl html
Makefile qtiplot.dsl qtiplot_html.xsl qtiplot-style.xsl
From what I understand the build is having trouble in copying the manual in the directory %{_mandir}/man1/qtiplot.1.*.
I checked at the MakeFile of the manual and from what I understand the output file is a .pdf one
all: en pdf-it
en: web pdf
it: web-it pdf-it
# we can't name the target "html", since there is already a folder with that name
# and so make thinks this target is already up to date
web:
docbook2html -d qtiplot.dsl docbook-en/index.docbook -e no-valid
web-it:
docbook2html -d qtiplot.dsl docbook-it/index.docbook -e no-valid
pdf:
dblatex -o qtiplot-manual-en.pdf -c dblatex.conf docbook-en/index.docbook
pdf-it:
dblatex -o qtiplot-manual-it.pdf -c dblatex.conf docbook-it/index.docbook
So how can I modify the spec file in order to continue the rpm build?
Hi, No idea really but what happen if you move/copy the file qtiplot.1 to the path /home/astamato/Downloads/qtiplot-0.9.8.9/manual maybe it does the trick. It is the file than the build is calling for and looks like it in in the wrong place.