On Tuesday, 27 July 2004, at 03:26:34 (+0300), Oded Arbel wrote: > I really appriciate the effort of supplying valid spec files in the > CVS - its make life so much easier for distributions and other > packagers. I wish that more projects will follow.
I'm not so sure I agree. Many software developers do not know how to make correct spec files. I can't even begin to count the number of projects I've run into where the spec file was out-of-date, incorrect, or just plain nasty. I try very hard to make good, clean, portable spec files, and I've been doing it since around 2000. > I'm trying to build RPMs from CVS for my system (Mandrake > 10). actually - I'm writing a script that will allow to build E17 > CVS and install it as RPMs directly. the resulting RPMs will of > course be useless for anyone not using Mandrake 10, but the source > RPMs generated will be useful to build the specific CVS snapshot on > other systems - much more so then checking out of CVS would ever be. Perhaps, perhaps not. As I said, building RPM's and SRPM's from CVS is very easy. In fact, for the entirety of EFL (save perhaps emotion), I can build RPM's by running the following in each directory: ./autogen.sh && make dist && mzbuild The "mzbuild" command is part of Mezzanine (http://www.kainx.org/mezzanine/) and makes lots of things about building and maintaining packages a *lot* simpler. If you don't have mezz and don't want to use it, this will do something quite similar to "mzbuild" in the above command: rpmbuild -ba --define "_sourcedir $PWD" --define "_specdir $PWD" \ --define "_topdir $PWD" --define "%_srcrpmdir $PWD" \ --define "_rpmdir $PWD" (These can all go on one line; I split the line for readability.) > Now - I'm having some problems with doing so, which makes me think > your last decleration may not be so true (especially the "easy" > part). specificly I'm currently stuck with these problems, and I do > hope someone can comment on how I can resolve this issues: > > - edje: autogen.sh does not work. the autogen.sh script looks nothing like the > scripts for the other libraries, and bash complains about all the curly > braces in the checks in the front. I can't tell what the problem as I'm not > familiar with this syntax - I don't even think its valid bash. The m4 > directory is also missing. It works quite well for me as of 3 days ago, so I'd be surprised if it's not valid bash. More likely a problem with your distro. Mandrake is notorious for instability. > - imlib2 does not build - it fails finding any files for the imlib-loader_gif > sub-package. Probably because you don't have libungif-devel installed. > - imlib2_loaders does not have a spec file - it has a spec.in file. is the > spec file supposed to be generated by the configure scripts ? that's kind of > useless as configure is supposed to be run from the spec file. This must've been an oversight on my part. The spec file I use can be found via CVS at :pserver:[EMAIL PROTECTED]:/var/cvs in caos/users/mej/imlib2_loaders/F/imlib2_loaders.spec > - I failed to build etox, but I don't think its RPM specific. I'll investigate > more and write about it later. Building RPM's from CVS still means that you need all the prereq's. Although if you use Mezzanine and set your hint-installer variable to "yum -ty install" it will auto-install all buildreq's for you. > - In all the libraries, autogen.sh by deafult runs configure (while the > comment above it implies that it is commented out, which is not the case). as > the order of building RPMs (AFAIU) is - autogen, rpmbuild (which runs > configure, make and make install), that step is redundant. I currently solve > this by automaticly "fixing" the autogen.sh script in my build process. autogen.sh is needed to generate the configure script and other such tools. If the configure script is already there, as it would be in a dist tarball, you don't need to run autogen.sh. Once you've run it in your directory, and assuming nobody makes any changes to Makefile.am's or other autoSPLAT files, you can simply run "make dist" followed by rpmbuild/mzbuild. > - All the spec files are missing BuildRequires tags that are needed > to force a build order - other wise users can try to build packages > out of order and fail. the BuildRequires tag is supposed to help > users by letting them know what they need before spending a lot of > times (sometimes a couple of hours) on a build that would fail. The problem with BuildRequires is that they aren't distro-portable. And because missing BuildRequires are fatal (rpmbuild will die without them, even if they're not strictly needed), I use #BuildSuggests instead, which mezzanine understands and uses but is not fatal to rpmbuild. I plan to add file-based dependencies which are more accurate and don't require distinction between, e.g., libungif-devel vs. libgif-devel vs. libungif vs. etc. I just haven't yet. > I haven't tried to compile all the libraries as I got stuck on > imlib2 and edje which most other libs depend on. Your problem seems to be related more to Mandrake 10 than to E. :) Michael -- Michael Jennings (a.k.a. KainX) http://www.kainx.org/ <[EMAIL PROTECTED]> n + 1, Inc., http://www.nplus1.net/ Author, Eterm (www.eterm.org) ----------------------------------------------------------------------- "I have gotten into the habit of recording important meetings. One never knows when an inconvenient truth will fall between the cracks and vanish." -- Ambassador Londo Mollari, Babylon Five ------------------------------------------------------- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click _______________________________________________ enlightenment-users mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-users