|
|
Home » Developing U++ » Releasing U++ » Does the provided upp.spec works for you and on which distro?
|
|
Re: Does the provided upp.spec works for you and on which distro? [message #17529 is a reply to message #17525] |
Tue, 19 August 2008 14:38 |
|
amrein
Messages: 278 Registered: August 2008 Location: France
|
Experienced Member |
|
|
Some kind of script?
Problem: Mandriva use urpmi. Redhat use yum. Suse use something else I think. I haven't find a way to download files automatically from U++ forum.
Here are instructions without comments for advanced users (replace urpmi by yum, ...):
# su
# urpmi rpm-build freetype2-devel gtk2-devel pango-devel atk-devel cairo-devel X11-devel xft2-devel expat-devel
# exit
# cat > ~/.rpmrc << EOF
buildarchtranslate: i386: i586
buildarchtranslate: i486: i586
buildarchtranslate: i586: i586
buildarchtranslate: i686: i586
EOF
# cat > ~/.rpmmacros << EOF
%_topdir $HOME/rpm
%_tmppath $HOME/rpm/tmp
%distribution Linux
%vendor Ultimate++ team
%packager YourName YourLastName <youremail@provider.loc>
EOF
# mkdir -p ~/rpm/{BUILD,RPMS/{i586,x86_64,noarch},SOURCES,SRPMS,SPECS,t mp}
# cd ~/rpm/SOURCE/
# wget -N http://dfn.dl.sourceforge.net/sourceforge/upp/upp-src-2008.1 .tar.gz
Download and save the tarball you will find at the end of this message. Then uncompress it with this command:
# tar zxvf rpmscript_and_fix.tar.gz -C ~/
That's all. To create the source and binary rpm packages:
# rpmbuild -ba ~/rpm/SPEC/upp.spec
Simple enough?
[Updated on: Tue, 26 August 2008 18:47] Report message to a moderator
|
|
|
|
|
|
|
Re: Does the provided upp.spec works for you and on which distro? [message #17535 is a reply to message #17525] |
Tue, 19 August 2008 15:53 |
|
amrein
Messages: 278 Registered: August 2008 Location: France
|
Experienced Member |
|
|
Ok. Found one. Simpler.
Download upp-2008.1-1.src.rpm from here: http://dl.free.fr/jdy1GSwDF
Then create your rpmbuild environment:
# cat > ~/.rpmrc << EOF
buildarchtranslate: i386: i586
buildarchtranslate: i486: i586
buildarchtranslate: i586: i586
buildarchtranslate: i686: i586
EOF
# cat > ~/.rpmmacros << EOF
%_topdir $HOME/rpm
%_tmppath $HOME/rpm/tmp
%distribution Linux
%vendor Ultimate++ team
%packager YourName YourLastName <youremail@provider.loc>
EOF
For next command, please, remove the space between for tmp (shouldn't be "t mp}" but when I "Apply message changes" the space is back again:
# mkdir -p ~/rpm/{BUILD,RPMS/{i586,x86_64,noarch},SOURCES,SRPMS,SPECS,t mp}
Now, build the rpm source file:
# rpmbuild --rebuild upp-2008.1-1.src.rpm
[Updated on: Tue, 26 August 2008 19:11] Report message to a moderator
|
|
|
|
Re: Does the provided upp.spec works for you and on which distro? [message #17559 is a reply to message #17550] |
Wed, 20 August 2008 19:06 |
|
amrein
Messages: 278 Registered: August 2008 Location: France
|
Experienced Member |
|
|
cbpporter wrote on Wed, 20 August 2008 12:19 | I tried to install under openSuse 11 and I got:
warning: user camrein does not exist - using root
warning: group camrein does not exist - using root
|
Yes. When you install a src.rpm, rpm always show this. It's because cpio try to keep the login:group of the original packager.
Quote: |
Also:
X11-devel is needed by upp-2008.1-1.i586
xft2-devel is needed by upp-2008.1-1.i586
expat-devel is needed by upp-2008.1-1.i586
X11-devel is xorg-x11-devel and expat is libexpat-devel.
|
Please, can you show me the output of this 2 commands:
# rpm -q --provides xorg-x11-devel
# rpm -q --provides libexpat-devel
If they give me what I want, your distro as mine will works out of the box with the src.rpm.
Quote: |
Unfortunately, the old problem with Linux (and rpm) not providing a stable and reliable environment for software distribution and detection shows it's ugly head.
I don't think that it is possible to create a cross distro rpm. Only if you strip out all dependencies. Or create a rpm for each distro, which would be an extremely tedious and may I day cruel task.
|
Me too, I don't understand why they don't talk to each other to have an unique name for each "--provides".
At least, rpm show us the name to search for.
Next, the rpm build. Did it works out of the box?
(many thanks for your previous post)
[Updated on: Wed, 20 August 2008 19:11] Report message to a moderator
|
|
|
|
Re: Does the provided upp.spec works for you and on which distro? [message #17567 is a reply to message #17565] |
Wed, 20 August 2008 22:19 |
|
amrein
Messages: 278 Registered: August 2008 Location: France
|
Experienced Member |
|
|
cbpporter wrote on Wed, 20 August 2008 21:33 | rpm -q --provides xorg-x11-devel
xorg-x11-compat70-devel
xorg-x11-man
XFree86-devel
xorg-x11-devel = 7.3-64.1
rpm -q --provides libexpat-devel
libexpat-devel = 2.0.1-62.1
|
Thanks. I can use XFree86-devel and libexpat-devel. Both are in Mandriva. Btw, it's a pity because this is no more XFree86 and libexpat-devel could be lib64expat-devel on 64 bit system.
Fortunately, Mandriva has added those provides in their rpm for fedora compatibility.
This could be considered as a bug. Your distro packager are not following the redhat rpm naming policy.
Quote: |
I actually did a new install on a clean system (no dev packages installed) and satisfied dependencies one by one to make sure that everything is ok. Those 3 libraries are the only ones which my distro does not provide under that name.
I tried using --nodeps to build the rpm, but I got:
Installing /home/raul/upp-2008.1-1.src.rpm
warning: user camrein does not exist - using root
warning: group camrein does not exist - using root
...
+ echo 'Patch #0 (upp-src-2008.1.fix_png_name_in_desktop_file):'
Patch #0 (upp-src-2008.1.fix_png_name_in_desktop_file):
+ patch -p0 -s
/root/rpm/tmp/rpm-tmp.5889: line 35: patch: command not found
error: Bad exit status from /root/rpm/tmp/rpm-tmp.5889 (%prep)
|
Well. On your distro, when you install rpmbuild, they don't install patch. My goodness. The patch program applies diff files to originals. This is the well know standard tool from GNU. Most every src.rpm need it for rpm building. You should file a bug report. No doubt about it.
I guess you are using an unstable release.
# yum install patch
Should be enough.
Note: if you type "rpm -i upp-src-2008.1.rpm", you will have ~/rpm/SPEC/upp.spec installed and source+patches in ~/rpm/SOURCE. You can edit upp.spec to see what's going on.
[Updated on: Wed, 20 August 2008 22:20] Report message to a moderator
|
|
|
|
|
|
Re: Does the provided upp.spec works for you and on which distro? [message #17614 is a reply to message #17603] |
Fri, 22 August 2008 15:05 |
cbpporter
Messages: 1406 Registered: September 2007
|
Ultimate Contributor |
|
|
OK, I replaced %make with make (what does %make mean?), and he two dependencies, and deleted xft2-devel as a dependency (it seems my distro includes it in x11 devel package).
Build went pretty well, expect that it lasted an incredibly long time. I could have built about 10% of a kernel in that time .
There are still some small problems. Rpmbuild tries to copy files to %{buildroot}, but it actually takes it verbatim and files wind up in "~/rpm/BUILd/upp-2008.1/%{buildroot}". I believe that it should have replaced %{buildroot} with something. Must set it up somewhere.
I also got a:
Processing files: upp-2008.1-1
error: File not found: /usr/share/icons/hicolor/48x48/apps/theide.png
Shouldn't it be working with local build files instead of with my systems /usr content?
PS:
rpm -bb ~/rpm/SPEC/upp.spec
is actually
rpmbuild -bb ~/rpm/SPECS/upp.spec
for those who want to try the build process also.
PS2: What is wrong with the png? It shows up OK.
[Updated on: Fri, 22 August 2008 15:10] Report message to a moderator
|
|
|
|
Re: Does the provided upp.spec works for you and on which distro? [message #17622 is a reply to message #17618] |
Fri, 22 August 2008 22:36 |
|
amrein
Messages: 278 Registered: August 2008 Location: France
|
Experienced Member |
|
|
(UPDATED WITH LAST RPMS, THEY WORKS)
Ok, here are the rpms. They are also now on sourceforge.net too.
RPM binary Release to use (those rpms will be there for 30 days if no one download them):
Fedora 9 i386 rpm: http://dl.free.fr/p3MvNQeEE
(install with yum install --nogpgcheck upp-2008.1-1.fc9.i386.rpm)
Mandriva 2008.1 i586 rpm: http://dl.free.fr/qS3GEy9wv
OpenSuse 11.0 i586 rpm: http://dl.free.fr/qTueoO3N8
Mandriva + Fedora + OpenSuse source rpm: http://dl.free.fr/jdy1GSwDF
Build dependencies if you want to build the source rpm yourself:
(because you are running a Linux 64 bit distro or want to test...)
First, create the rpmbuild environment (see 8th post) then, before building the binary with "rpmbuild --rebuild upp-2008.1-1.src.rpm" with your user account you need to become root and type":
Mandriva 2008.1: # urpmi rpm-build gcc gcc-c++ gtk2-devel pango-devel atk-devel cairo-devel expat-devel X11-devel freetype2-devel
Fedora 9: # yum install rpm-build gcc gcc-c++ gtk2-devel pango-devel atk-devel cairo-devel expat-devel xorg-x11-server-devel freetype-devel
OpenSuse 11.0: # YaST -i patch make gcc gcc-c++ gtk2-devel pango-devel atk-devel cairo-devel libexpat-devel xorg-x11-devel freetype2-devel
[Updated on: Wed, 27 August 2008 15:21] Report message to a moderator
|
|
|
|
Re: Does the provided upp.spec works for you and on which distro? [message #17701 is a reply to message #17686] |
Tue, 26 August 2008 18:29 |
|
amrein
Messages: 278 Registered: August 2008 Location: France
|
Experienced Member |
|
|
cbpporter wrote on Tue, 26 August 2008 00:56 |
I installed the opensuse rpm on two machines, one of them beeing "clean" and It worked. U++ also behaves correctly after install.
There are some issues though.
1. In YaST, the License field for the rpm states "BSD-like, GPL-2.1, LGPL". That's a little much, is it not?
|
U++ include external components using those license. If I write BSD-like only, then people won't know about GPL and LGPL code inside.
Quote: |
2. Distribution is empty and Vendor is "Mandriva".
|
Yes! Thank you.
Will fix it.
Not: "rpm -qi upp" show all information correctly. "rpm -ql upp" too.
I just need to remove Mandrivalinux.
Quote: |
3. It does not display anything in the "Install (Available)" column.
|
Because upp is not part of the default OpenSuse repository (I mean, on their website). The install tool only show what is available in their repository.
With OpenSuse, the two way I found to install an external rpm are:
- with command line ("Yast -i" or "rpm -i").
- with YaST install/remove tool. But only if the rpm distributor have made a repository specially for OpenSuse. You then need to add first this repository.
There's also perhaps another way, because I saw a few page on the web with a special "click me" button for quick rpm installation. Something like " click me and I will install this package X from this website " but just for Suse distro.
Quote: |
4. Clicking on "File List" crashes the program.
|
It works here without problem.
I think you should update your distro with last bug fix.
Options for update (like MS Win update) are in YaST. Mine was buggy even before I tried U++ then I've got the updates and no problem since.
|
|
|
Goto Forum:
Current Time: Thu Oct 31 23:50:20 CET 2024
Total time taken to generate the page: 0.01727 seconds
|
|
|