Spec URL: http://rishi.fedorapeople.org/gnome-build.spec SRPM URL: http://rishi.fedorapeople.org/gnome-build-0.2.0-1.fc8.src.rpm Description: GNOME build framework provides the project management components of the development environment. This includes management of source-code resources, generation of makefiles, and build management.
Koji: http://koji.fedoraproject.org/koji/taskinfo?taskID=345255 I inherited this package from Paul F. Johnson, and need help with some of the Perl specific portions of this package. My knowledge of Perl is very rudimentary, so any help in this regard will be appreciated. I find that the Spec file (http://cvs.fedoraproject.org/viewcvs/rpms/gnome-build/devel/gnome-build.spec?view=markup) contains: Provides: perl(GBF::Make) [...] cat << \EOF > %{name}-prov #!/bin/sh %{__perl_provides} $* |\ sed -e '/perl(Make)/d' \ -e '/perl(Make::Target)/d' \ -e '/perl(Make::Rule::Vars)/d' \ -e '/perl(Make::Rule)/d' EOF %define __perl_provides %{_builddir}/%{name}-%{version}/%{name}-prov chmod +x %{__perl_provides} cat << \EOF > %{name}-req #!/bin/sh %{__perl_requires} $* |\ sed -e '/perl(Make)/d' \ -e '/perl(Make::Target)/d' \ -e '/perl(Make::Rule::Vars)/d' \ -e '/perl(Make::Rule)/d' EOF %define __perl_requires %{_builddir}/%{name}-%{version}/%{name}-req chmod +x %{__perl_requires} However, in the %files section does not put anything in /usr/lib/perl5. So what is the use of these lines? There are some rpmlint grumblings due to this portion, which I will fix in due course.
Spec: http://rishi.fedorapeople.org/gnome-build.spec SRPM: http://rishi.fedorapeople.org/gnome-build-0.2.0-2.fc8.src.rpm
(In reply to comment #1) > I find that the Spec file > contains: > > Provides: perl(GBF::Make) > > [...] > > cat << \EOF > %{name}-prov > #!/bin/sh > %{__perl_provides} $* |\ > sed -e '/perl(Make)/d' \ > -e '/perl(Make::Target)/d' \ > -e '/perl(Make::Rule::Vars)/d' \ > -e '/perl(Make::Rule)/d' > EOF > > %define __perl_provides %{_builddir}/%{name}-%{version}/%{name}-prov > chmod +x %{__perl_provides} > > cat << \EOF > %{name}-req > #!/bin/sh > %{__perl_requires} $* |\ > sed -e '/perl(Make)/d' \ > -e '/perl(Make::Target)/d' \ > -e '/perl(Make::Rule::Vars)/d' \ > -e '/perl(Make::Rule)/d' > EOF > > %define __perl_requires %{_builddir}/%{name}-%{version}/%{name}-req > chmod +x %{__perl_requires} > > However, in the %files section does not put anything in > /usr/lib/perl5. So what is the use of these lines? Well, actually --------------------------------------------------------------------------------- [tasaka1@localhost ~]$ `rpm --eval %__perl_provides` /usr/share/gnome-build/GBF/*.pm perl(GBF::AmFiles) perl(GBF::General) perl(Make) = 1.00 perl(Make::Rule) perl(Make::Rule::Vars) perl(Make::Target) ---------------------------------------------------------------------------------- and perl(MakeXXXX) is unwilling. Also: ---------------------------------------------------------------------------------- [tasaka1@localhost ~]$ `rpm --eval %__perl_requires` /usr/bin/gbf-mkfile-parse perl(GBF::General) perl(GBF::Make) perl(strict) ---------------------------------------------------------------------------------- This contains 'perl(GBF::Make)'. I will review this later. By the way I would appreciate it if you would review my review request (bug 429443)
For 0.2.0-2: * pkgconfig .pc file <-> -devel package Requires - %_libdir/pkgconfig/%name-1.0.pc contains: ----------------------------------------------------------- 10 Requires: libgnome-2.0 gtk+-2.0 libxml-2.0 gdl-1.0 gdl-gnome-1.0 ----------------------------------------------------------- This means that %name-devel package should have "Requires: libgnome-devel, libxml2-devel, libgdl-devel" as well as "Requires: gtk2-devel". However, are these Requires actually needed? (gtk2-devel is really needed as header files in gnome-build-devel actually requires header files in gtk2-devel). Please either - add more Requires to gnome-build-devel - or fix pkgconfig file. * Timestamps - To keep timestamps on installed files, I usually recommend to use: ----------------------------------------------------------- make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p" ----------------------------------------------------------- This usually works for recent autotool-based Makefiles.
(In reply to comment #4) > * pkgconfig .pc file <-> -devel package Requires > - %_libdir/pkgconfig/%name-1.0.pc contains: > > [...] > > However, are these Requires actually needed? (gtk2-devel is really > needed as header files in gnome-build-devel actually requires header > files in gtk2-devel). It turns out that the libgdl-devel package (maintained by me) also suffers from the same problem. I have contacted upstream (gnome-build and libgdl have overlapping upstream) about this and just want to hear what they have to say. > * Timestamps > - To keep timestamps on installed files, I usually recommend to use: Fixed. Will post the Spec/SRPM soon.
Spec: http://rishi.fedorapeople.org/gnome-build.spec SRPM: http://rishi.fedorapeople.org/gnome-build-0.2.0-3.fc8.src.rpm
Now that I see it, I am not sure if having BuildRequires: libtool [...] make LIBTOOL=%{_bindir}/libtool is a good idea or not? Are we not better off sticking to the one generated by the configure script? I can not find anything about this on http://fedoraproject.org/wiki/Packaging/Guidelines
Okay. (In reply to comment #7) > make LIBTOOL=%{_bindir}/libtool You are not the first person who are using this :) ------------------------------------------------------------------- This package (gnome-build) is APPROVED by me -------------------------------------------------------------------
> (In reply to comment #7) > > make LIBTOOL=%{_bindir}/libtool > > You are not the first person who are using this :) Actually I do not want to use it if there is no visible problem in the default libtool, and most of my existing packages don't need to use this external libtool package. So if the packaging guidelines allow, I will want to remove this mechanism. The only reason why it is there is because the previous maintainer had used it. (I have dropped him a mail regarding this.)
New Package CVS Request ======================= Package Name: gnome-build Short Description: GNOME build framework Owners: rishi Branches: F-7 F-8 InitialCC: Cvsextras Commits: yes It is possible that the necessary changes are already there in PackageDB and/or CVS since I inherited this from Paul F. Johnson.
Yeah, everything looks ok on the cvs/packagedb side from what I can see. Feel free to reset the fedora-cvs flag if you need anything further.
It fails to build in devel: http://koji.fedoraproject.org/koji/taskinfo?taskID=391037 F-7 and F-8 build successfully: http://koji.fedoraproject.org/koji/taskinfo?taskID=391014 http://koji.fedoraproject.org/koji/taskinfo?taskID=390968 It is strange since the failure seems to be related to code in regex.h which comes from glibc-header, and it builds fine on my local machine (rpmbuild -ba gnome-build.spec) with the latest gcc-4.3 and glibc packages from Rawhide. Any ideas?
Defining _GNU_SOURCE fixed it: %build %if 0%{?fc9} export CPPFLAGS="-D_GNU_SOURCE" %endif %configure --disable-static