Bug 177081

Summary: Review Request: nucleo
Product: [Fedora] Fedora Reporter: jim <fedorajim>
Component: Package ReviewAssignee: Luya Tshimbalanga <luya_tfz>
Status: CLOSED DUPLICATE QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: bdpepple, chris.stone, fedora-package-review, wtogami
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-05-30 22:56:59 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
install notes none

Description jim 2006-01-06 02:16:00 UTC
Spec Name or Url: http://www.fedorajim.homelinux.com/rpms/nucleo/nucleo.spec
SRPM Name or Url: http://www.fedorajim.homelinux.com/rpms/nucleo/
Description: Núcleo is a toolking for exploring new uses of video and new human-computer interaction techniques.

Comment 1 Luya Tshimbalanga 2006-01-06 19:41:57 UTC
At this line:
"Release		: 2.FC4%{?dist}"
Remove FC4 line since "%{?dist} already handle the release version (fc3, fc4, fc5).



Comment 2 Brian Pepple 2006-01-06 20:11:41 UTC
NEEDSWORK

MD5Sums:
ae0c5fab486e28ef1aa367fabc1ef14b  nucleo-0.5.tar.bz2

Good:
* Package name conforms to the Fedora Naming Guidelines

Needswork:
* Package needs additional BuildRequires.  Fails to build in Mock.  Refer to
http://fedoraproject.org/wiki/Projects/Mock
* Desirable features need extra BuildRequires: jpeg, png, opengl support, etc.
* Buildroot lacks certain elements.  Refer to
http://fedoraproject.org/wiki/PackagingGuidelines#head-c2cfbc6be2860c5d2634d06714098e1560667de6
* Specified Source URL is not canonical
* License is LGPL, not GPL.
* Some directories need to be owned by this package
* As Luya stated in comment #1, drop the .FC4 fromn the Release tag.
* Drop the Packager, Vendor, and AutoReqProv tags.

NOTE:
This is only an initial look, but there are quite a few items that need to be
corrected, before this can be approved.  I would suggest reading all the
packaging information at the wiki, because new contributors need to show
knowledge of the Fedora Extras packaging process before they will be sponsored.
 If you have additional questions that the wiki doesn't provide answers to, I
would suggest contacting one of the projects mentors.

http://fedoraproject.org/wiki/Extras
http://fedoraproject.org/wiki/Mentors#head-d2eb2f28b87db88601c40276b4310f18002412ce


Comment 3 jim 2006-01-11 22:13:58 UTC
Sent a email to the builder of nucleo   

		
Nicolas Roussel 	
to me
	 More options	  6:44 am (10 hours ago)
Hi,

> I have a problem building nucleo into a RPM.

I think I've fixed the problem. Could you try again with this one:

       http://insitu.lri.fr/~roussel/software/src/nucleo-2006-01-11.tar.bz2

Your log indicates that configure isn't able to find the OpenGL,
JPEG, PNG
and FreeType libraries. even if nucleo compiles, you won't be able to
do much
without all these 

will attempt to build nucleo again 

Comment 4 Luya Tshimbalanga 2006-01-12 09:37:07 UTC
Pratically, you need to include devel package of libjpeg, libpng and freeglut on
BuildRequires inside the spec file. Once you fixed them, post both spec and srpms.

Comment 5 jim 2006-01-12 10:56:50 UTC
Created attachment 123108 [details]
install notes

Comment 6 jim 2006-01-12 10:58:05 UTC
From the install notes 

The trick with configure is that you might need to set appropriate values for
CPPFLAGS, CXXFLAGS, LDFLAGS, LIBS or CXX. Try things like env CXX=CC
~/src/nucleo/configure.



Comment 7 Michael Schwendt 2006-01-12 14:05:09 UTC
Agreeing with comment 2.

As a side-note, prefer the %configure macro over running ./configure
manually. The macro sets --prefix= --mandir= and many other flags
automatically and also exports the global compiler optimisation flags.
Browse standard output of your build attempt to see what is done in
the %build section.

At the beginning of %install section, run "rm -rf ${RPM_BUILD_ROOT}"
in order to start in an empty package build root directory.


Comment 8 Luya Tshimbalanga 2006-01-13 00:44:18 UTC
(In reply to comment #3)
> Sent a email to the builder of nucleo   
> 
> 		
> Nicolas Roussel 	
> to me
> 	 More options	  6:44 am (10 hours ago)
> Hi,
> 
> > I have a problem building nucleo into a RPM.
> 
> I think I've fixed the problem. Could you try again with this one:
> 
>        http://insitu.lri.fr/~roussel/software/src/nucleo-2006-01-11.tar.bz2
> 
> Your log indicates that configure isn't able to find the OpenGL,
> JPEG, PNG
> and FreeType libraries. even if nucleo compiles, you won't be able to
> do much
> without all these 
> 
> will attempt to build nucleo again 

Does anyone used that versionning tarball to build srpms? So far I cannot use
that tarball to build it. Maybe the author should mention which version is
nucleo (0.5.0 or 0.5.1 for example).


Comment 9 jim 2006-01-13 01:11:25 UTC
Here is a link to the latest source and spec files 
http://www.fedorajim.homelinux.com/rpms/src/

Comment 10 jim 2006-01-23 10:34:44 UTC
ran "./build-utils/bootstrap" in the nucleo source dir to generate the configure
script.  The source built foe me with a a rpmbuild -ba nucleo.spec  but was
unsucessfull with mock  
here is a link for the rpms i was able to build and the spec file used
http://www.fedorajim.homelinux.com/rpms/nucleo-1232006/ 

Comment 11 Luya Tshimbalanga 2006-01-25 17:53:45 UTC
(In reply to comment #10)
> ran "./build-utils/bootstrap" in the nucleo source dir to generate the configure
> script.  The source built foe me with a a rpmbuild -ba nucleo.spec  but was
> unsucessfull with mock  
> here is a link for the rpms i was able to build and the spec file used
> http://www.fedorajim.homelinux.com/rpms/nucleo-1232006/ 

In this case, you will need to make a patch that generate the configure script.
Here is a tutorial:
http://www.linux.com/howtos/RPM-HOWTO/build-it.shtml

Once you create it, add it on your spec file and make sure it is available on
SOURCE folder. 

Comment 12 jim 2006-01-25 22:41:30 UTC
I have never created a patch and don't know where to begin. the tutorial you
posted shows a simple build a rpm with rpm not patches 

Comment 13 Michael Schwendt 2006-01-25 23:20:23 UTC
Extract original source code tar archive into directory "original".

Copy complete directory tree "original" to new directory "modified".

Modify the files within directory tree "modified" to your liking.

Run:  diff -Nur original/ modified/ > mychanges.patch

That creates a unified recursive diff (see "man diff").

In your .spec file, add the patch like the "Source" archive.
E.g. insert  "Patch0: mychanges.patch"  near the top lines of the file.

Below the %prep section, add:   %patch0 -p1 -b .mychanges
That will apply Patch0 with the "patch" command (man patch).

Comment 14 Rudolf Kastl 2006-03-09 10:07:12 UTC
to generate the configure script issuing

autoreconf --force --install is enough on top of the %build secdtion no need to
generate a patch besides maybe a patch for the spec. i hope that helped to clear
things up and to let progress flow again. i have been packaging nucleo / metisse
back in fc3 times. its still interesting in my eyes if one wants to do research
in the 3d desktop area.

if you gotta execute some scripts it helps to look what the script does. trivial...

Comment 15 Rudolf Kastl 2006-03-10 14:19:51 UTC
tried building on todays rawhide state with gcc 4.1.0 on i386:

 g++ -DHAVE_CONFIG_H -I. -I. -I../../nucleo -I../.. -I../.. -DNUCLEO_PLUGINS_DIR
=\"/usr/lib/nucleo\" -DNUCLEO_RESOURCES_DIR=\"/usr/share/nucleo\" -I/usr/include
/libpng12 -I/usr/include/freetype2 -g -O2 -MT StringUtils.lo -MD -MP -MF .deps/S
tringUtils.Tpo -c StringUtils.cxx  -fPIC -DPIC -o .libs/StringUtils.o
StringUtils.cxx:21: error: explicit instantiation of 'class std::basic_string<ch
ar, nucleo::ci_char_traits, std::allocator<char> >' in namespace 'nucleo' (which
 does not enclose namespace 'std')
StringUtils.cxx:21: error: explicit instantiation of 'struct std::basic_string<c
har, nucleo::ci_char_traits, std::allocator<char> >::_Alloc_hider' in namespace
'nucleo' (which does not enclose namespace 'std')
StringUtils.cxx:21: error: explicit instantiation of 'struct std::basic_string<c
har, nucleo::ci_char_traits, std::allocator<char> >::_Rep' in namespace 'nucleo'
 (which does not enclose namespace 'std')
StringUtils.cxx:21: error: explicit instantiation of 'struct std::basic_string<c
har, nucleo::ci_char_traits, std::allocator<char> >::_Rep_base' in namespace 'nu
cleo' (which does not enclose namespace 'std')
make[3]: *** [StringUtils.lo] Error 1

maybe worthwhile submitting upstream.

actually theres a problem with the versioning of your cvs build of nucleo

nucleo-20060111-2.src.rpm

a stable release cant update over it and using epoch to fix it would be evil.

id reocmmend that if you package cvs that you go and use the last stable release
as release version and get the cvsdate into the releasetag so you end up with
something like:

nucleo-0.5.0-2.cvs20060111.src.rpm

this way a 0.5.1 stable is higher and you can cleanly update without using an
epoch spiral.



Comment 16 Rudolf Kastl 2006-03-10 14:22:42 UTC
just to clarify the build problem in comment #15 was for 0.5.0-2

heres the build output for the cvs version on i386 rawhide:

if /bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.
-I../../nucleo  -I../.. -I../.. -I/usr/include/libpng12  
-I/usr/include/freetype2  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386
-mtune=generic -fasynchronous-unwind-tables -MT ConfigDict.lo -MD -MP -MF
".deps/ConfigDict.Tpo" -c -o ConfigDict.lo ConfigDict.cxx; \
then mv -f ".deps/ConfigDict.Tpo" ".deps/ConfigDict.Plo"; else rm -f
".deps/ConfigDict.Tpo"; exit 1; fi
StringUtils.cxx:21: error: explicit instantiation of 'class
std::basic_string<char, nucleo::ci_char_traits, std::allocator<char> >' in
namespace 'nucleo' (which does not enclose namespace 'std')
StringUtils.cxx:21: error: explicit instantiation of 'struct
std::basic_string<char, nucleo::ci_char_traits, std::allocator<char>
>::_Alloc_hider' in namespace 'nucleo' (which does not enclose namespace 'std')
StringUtils.cxx:21: error: explicit instantiation of 'struct
std::basic_string<char, nucleo::ci_char_traits, std::allocator<char> >::_Rep' in
namespace 'nucleo' (which does not enclose namespace 'std')
StringUtils.cxx:21: error: explicit instantiation of 'struct
std::basic_string<char, nucleo::ci_char_traits, std::allocator<char>
>::_Rep_base' in namespace 'nucleo' (which does not enclose namespace 'std')
make[3]: *** [StringUtils.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
 g++ -DHAVE_CONFIG_H -I. -I. -I../../nucleo -I../.. -I../..
-I/usr/include/libpng12 -I/usr/include/freetype2 -O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4
-m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -MT ConfigDict.lo
-MD -MP -MF .deps/ConfigDict.Tpo -c ConfigDict.cxx  -fPIC -DPIC -o
.libs/ConfigDict.o
ConfigDict.cxx: In member function 'bool nucleo::ConfigDict::loadFrom(const char*)':
ConfigDict.cxx:48: warning: ignoring return value of 'ssize_t read(int, void*,
size_t)', declared with attribute warn_unused_result

Comment 17 Luya Tshimbalanga 2006-03-14 10:22:19 UTC
FYI, metisse project has now a CVS, http://insitu.lri.fr/metisse/cvs.html

Comment 18 Christopher Stone 2006-04-20 15:20:06 UTC
Hi,

This compiles if you just comment out line 21.  I've also made some patches to
get it to compile in 64-bit mode.  I am interested in packaging this (and
possibly metisse).  I'm sure I could come up with a new spec file in a day or so
that might pass the mustard if you don't mind me taking it over.

Comment 19 Luya Tshimbalanga 2006-04-26 07:49:49 UTC
Contact the reporter to let him know about your proposals. I will review the new
spec file.

Comment 20 Christopher Stone 2006-05-06 16:23:05 UTC
Okay, it may take me a while to get to this since I have a lot of packages I
need to get in before I need this one.  Also changing my e-mail address for this
bug.

Comment 21 Christopher Stone 2006-05-20 20:18:48 UTC
Okay, I have created a new spec file and SRPM for this.

Spec URL: http://tkmame.retrogames.com/fedora-extras/nucleo.spec
SRPM URL: http://tkmame.retrogames.com/fedora-extras/nucleo-0.5-1.src.rpm

*** NOTE ***
You may have to download the src.rpm from:
http://tkmame.retrogames.com/fedora-extras/

This spec file is a complete rewrite from scratch.

I would like to take over ownership of this package.

Comment 22 Christopher Stone 2006-05-21 00:20:29 UTC
Spec URL: http://tkmame.retrogames.com/fedora-extras/nucleo.spec
SRPM URL: http://tkmame.retrogames.com/fedora-extras/nucleo-0.5-2.src.rpm

*** NOTE ***
You may have to download the src.rpm from:
http://tkmame.retrogames.com/fedora-extras/

%changelog
* Sun May 21 2006 Christopher Stone <chris.stone> 0.5-2
- Add optional BuildRequires

Comment 23 Luya Tshimbalanga 2006-05-29 17:10:17 UTC
Could you open a new bugzilla and link it to this version? Once you did, I will
close the current one.

Comment 24 Christopher Stone 2006-05-30 19:35:36 UTC
new bugzilla entry created

bug #193584

Comment 25 Luya Tshimbalanga 2006-05-30 22:56:59 UTC
Bug closed. Obsoloted by #193584

*** This bug has been marked as a duplicate of 193584 ***