Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Developing U++ » Releasing U++ » Does the provided upp.spec works for you and on which distro?
Does the provided upp.spec works for you and on which distro? [message #17525] Tue, 19 August 2008 13:57 Go to next message
amrein is currently offline  amrein
Messages: 278
Registered: August 2008
Location: France
Experienced Member
(UPDATE: THERE ARE BINARY AND SOURCE RPMS FOR FEDORA CORE 9, SUSE 11.0 AND MANDRIVA 2008.1 SPRING IN FOLLOWING POSTS)

Hi

I have done the test on Mandrivalinux 2008.1 x86_64 and i586.

Before release a complete rpm source package on sourceforge.net (not binary), I would like to know if you successfully compiled, installed Ultimate++ on your favourite rpm Linux distribution?

Here you can find instructions: http://www.ultimatepp.org/forum/index.php?t=msg&th=3722& amp; amp; amp; amp;start=0&

But is faster to read on here

Many thanks Very Happy

[Updated on: Wed, 27 August 2008 15:19]

Report message to a moderator

Re: Does the provided upp.spec works for you and on with distro? [message #17526 is a reply to message #17525] Tue, 19 August 2008 14:14 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1401
Registered: September 2007
Ultimate Contributor
Thank you for the effort invested in making a rpm. I proposed once to make a rpm package, but somehow people never got back to me regarding it, so I never got to it and I just install deb under rpm based distros.

But those instructions are far too complicated. Couldn't you upload somewhere a beta rpm so that people can test it without those manual steps? And would you be willing to create binary rpms also? Sorry to bother you with such silly requests Smile.
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 Go to previous messageGo to next message
amrein is currently offline  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? Sad

[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 #17530 is a reply to message #17525] Tue, 19 August 2008 14:39 Go to previous messageGo to next message
amrein is currently offline  amrein
Messages: 278
Registered: August 2008
Location: France
Experienced Member
Ask for help if needed.

[Updated on: Tue, 19 August 2008 14:51]

Report message to a moderator

Re: Does the provided upp.spec works for you and on which distro? [message #17531 is a reply to message #17530] Tue, 19 August 2008 14:54 Go to previous messageGo to next message
bytefield is currently offline  bytefield
Messages: 210
Registered: December 2007
Experienced Member
It's simple for all to have all files in one rpm package like we have on Debian and Ubuntu all files in deb packages.

cdabbd745f1234c2751ee1f932d1dd75
Re: Does the provided upp.spec works for you and on which distro? [message #17532 is a reply to message #17525] Tue, 19 August 2008 14:59 Go to previous messageGo to next message
amrein is currently offline  amrein
Messages: 278
Registered: August 2008
Location: France
Experienced Member
Of course. But the rpm is too big and the forum won't load it.
I have no ftp server to upload on.
The contract is: "Please don't upload the src.rpm before someone tell you it works on other rpm based Linux distro"

Re: Does the provided upp.spec works for you and on which distro? [message #17534 is a reply to message #17532] Tue, 19 August 2008 15:35 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Well, I think if you do not have any FTP at hand (surprising Wink, you can release it in "upp-development" on sf.net.

Mirek
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 Go to previous messageGo to next message
amrein is currently offline  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 #17550 is a reply to message #17535] Wed, 20 August 2008 12:19 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1401
Registered: September 2007
Ultimate Contributor
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

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.

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.
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 Go to previous messageGo to next message
amrein is currently offline  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 #17565 is a reply to message #17559] Wed, 20 August 2008 21:33 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1401
Registered: September 2007
Ultimate Contributor
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

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
warning: user camrein does not exist - using root
warning: group camrein does not exist - using root
warning: user camrein does not exist - using root
warning: group camrein does not exist - using root
warning: user camrein does not exist - using root
warning: group camrein does not exist - using root
Executing(%prep): /bin/sh -e /root/rpm/tmp/rpm-tmp.5889
+ umask 022
+ cd /root/rpm/BUILD
+ cd /root/rpm/BUILD
+ rm -rf upp-2008.1
+ /bin/mkdir -p upp-2008.1
+ cd upp-2008.1
+ /usr/bin/gzip -dc /root/rpm/SOURCES/upp-src-2008.1.tar.gz
+ tar -xf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
++ /usr/bin/id -u
+ '[' 0 = 0 ']'
+ /bin/chown -Rhf root .
++ /usr/bin/id -u
+ '[' 0 = 0 ']'
+ /bin/chgrp -Rhf root .
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ 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)
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 Go to previous messageGo to next message
amrein is currently offline  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 #17570 is a reply to message #17567] Thu, 21 August 2008 07:59 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1401
Registered: September 2007
Ultimate Contributor
Well, I didn't install patch, or rpmbuild for that matter. If it is needed, I don't understand why it did not warn me before it started spitting out all those logs.

Now I get:
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
warning: user camrein does not exist - using root
warning: group camrein does not exist - using root
warning: user camrein does not exist - using root
warning: group camrein does not exist - using root
warning: user camrein does not exist - using root
warning: group camrein does not exist - using root
Executing(%prep): /bin/sh -e /root/rpm/tmp/rpm-tmp.4612
+ umask 022
+ cd /root/rpm/BUILD
+ cd /root/rpm/BUILD
+ rm -rf upp-2008.1
+ /bin/mkdir -p upp-2008.1
+ cd upp-2008.1
+ /usr/bin/gzip -dc /root/rpm/SOURCES/upp-src-2008.1.tar.gz
+ tar -xf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
++ /usr/bin/id -u
+ '[' 0 = 0 ']'
+ /bin/chown -Rhf root .
++ /usr/bin/id -u
+ '[' 0 = 0 ']'
+ /bin/chgrp -Rhf root .
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ 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
+ exit 0
Executing(%build): /bin/sh -e /root/rpm/tmp/rpm-tmp.55292
+ umask 022
+ cd /root/rpm/BUILD
+ cd upp-2008.1
++ pkg-config --libs-only-L x11 freetype2 gtk+-2.0 glib-2.0 cairo pango atk
++ pkg-config --cflags x11 freetype2 gtk+-2.0 glib-2.0 cairo pango atk
+ %make -e HOSTTYPE=LINUX -e LOCALBASE=/usr -e LIBPATH= -e 'CINC= -Iuppsrc -I/usr/include/freetype2 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libpng12  '
/root/rpm/tmp/rpm-tmp.59065: line 24: fg: no job control
error: Bad exit status from /root/rpm/tmp/rpm-tmp.59065 (%build)


And CINC:
CINC= -Iuppsrc -I/usr/include/freetype2 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libpng12  :
 No such file or directory

Re: Does the provided upp.spec works for you and on which distro? [message #17573 is a reply to message #17525] Thu, 21 August 2008 11:07 Go to previous messageGo to next message
amrein is currently offline  amrein
Messages: 278
Registered: August 2008
Location: France
Experienced Member
You are running rpmbuild as root. You shouldn't. Normal user is what is recommended.

Tell me which distro you are using. I will fix this directly in a virtual machine and see what kind of problem this distrib has with this package.

I would like also to see the rpm script: /root/rpm/tmp/rpm-tmp.59065. Can you upload it here? Lets fix it.
Re: Does the provided upp.spec works for you and on which distro? [message #17603 is a reply to message #17573] Fri, 22 August 2008 10:06 Go to previous messageGo to next message
amrein is currently offline  amrein
Messages: 278
Registered: August 2008
Location: France
Experienced Member
I'm stupid. rpm doesn't find %make in your distro.
Please, edit ~/rpm/SPEC/upp.spec, change the dependencies you want and replace %make with make then:

# rpmbuild -bb ~/rpm/SPEC/upp.spec
(ndrl: command fixed, thank cbpporter)

If you have the same problem than with patch, then install make.

[Updated on: Wed, 27 August 2008 01:43]

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 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1401
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 Smile.

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 #17618 is a reply to message #17614] Fri, 22 August 2008 19:24 Go to previous messageGo to next message
amrein is currently offline  amrein
Messages: 278
Registered: August 2008
Location: France
Experienced Member
I installed Fedora 9 and OpenSuse 11.0 for testing.

I already tested Fedora and Mandriva.

The problem with %{buildroot}: in Mandriva, they already set it for you and their developers removed its definition into their .spec files. On Fedora, you need to include it.

The problem with the png: the one from the U++ tarball is a bad png. Perhaps because of svn when it was imported (not in binary form). Their is a good theide.png in the src.rpm and the rpm script use it instead.
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 Go to previous messageGo to next message
amrein is currently offline  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 #17686 is a reply to message #17622] Tue, 26 August 2008 00:56 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1401
Registered: September 2007
Ultimate Contributor
I installed the opensuse rpm on two machines, one of them beeing "clean" and I 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?
2. Distribution is empty and Vendor is "Mandriva".
3. It does not display anything in the "Install (Available)" column.
4. Clicking on "File List" crashes the program.
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 Go to previous messageGo to previous message
amrein is currently offline  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.
Previous Topic: U++ 2008.1 rpm automatic reconstruction for the rpm maintainer
Next Topic: Next Win32 release note
Goto Forum:
  


Current Time: Tue Apr 23 08:11:15 CEST 2024

Total time taken to generate the page: 0.02631 seconds