Need help updating dated sourse RPM(long)

Do you need help? Ask here!

Bug reporting belongs here: http://developer.wz2100.net/newticket
2_Late
Rookie
Rookie
Posts: 29
Joined: 06 Sep 2007, 23:21

Need help updating dated sourse RPM(long)

Post by 2_Late »

Me from Linux help forums wrote: Detailed problem:

Downloaded the Warzone2100 almost works perfectly, well minus some bugs. The real issue is with who ever posts the package compiled it funny and a few features that should work, and do on other platforms, do not. Np, I can download the source recompile it my self and everything cool there...

The real problem is that this issues is not confined to just Fedora and I'm running Fedora 7. Fedora 7 does not have all the source for needed to compile Warzone2100 easily accessible and the source for the PhysicsFS library is not in the repository. It is for 6 and 8, but not 7. I found what I needed to, but I never should have had to hunt and peck for it

...

...

My Goal:

I'd like to make this a source package for anyone should be able to compile for their specific use for one reason: Compile it in Fedora 7 would help Fedora 7 users, but not by necessity the other Linux distributions that are having the same problem with the same solution.

Creating and modify the a new source code to include the 20 something packages would be time consuming(to make and compile) and not necessary. My goal is to make a scripted RPM of auto package, the third party program(that's not a RPM) that can automate the the process of locating and compile the library a user does not have before compiling Warzone2100.

Ideally the ./configure script for Warzone2100 would detect the presents or absents of all the code needed to compile Warzone2100. (Edit: Not dependency field in the RPM header. Ideally that would be blank.) Functioning in a hierarchy. If there is a local binary or the source to compile that binary already on the system it would use that. Second, failing that it would search a distributions repository for that dependency and download and install it. Last, Failing to locate any up to date dependency though official channels it would use a tarball of that source preloaded and nested with in the new Warzone2100

My question:

Jesus, I need help wading though all the instructions on making RPMs. I'm not looking for a 1,2,3 on how to do what I need done. I'm just looking for someone to cut down on what I have to read. For example, Instead of reading A-Z, everything there is. Someone can just come along and say:

"Oh, What you really need is $(this and this) guide over here, and you really only need to read sections A,B,C,F, and Q though X to do that."

Anyone want to lend a hand and be the person?
Original Post

Edit: I'm reasonably sure I know where to find the last few peaces of that puzzles.

Anyone know of a guide to deciphering where what the makefile.in or configure.ac list where to put what files? (I think I know how to override the %datadir variable and such, just not what get put there.)
Last edited by 2_Late on 09 Sep 2007, 00:19, edited 1 time in total.
Giel
Regular
Regular
Posts: 725
Joined: 26 Dec 2006, 19:18

Re: Need help updating dated sourse RPM(long)

Post by Giel »

A quick hint (before I go to bed); check the file debian/rules in our sourcetree (I think it's in the source tarballs as well). It contains some data separation as well I think it is something like "make --install-local-data" (make is $(MAKE) in the file "debian/rules")
"First make sure it works good, only then make it look good." -- Giel
Want to tip/donate? bitcoin:1EaqP4ZPMvUffazTxm7stoduhprzeabeFh
2_Late
Rookie
Rookie
Posts: 29
Joined: 06 Sep 2007, 23:21

Re: Need help updating dated sourse RPM(long)

Post by 2_Late »

I think I was trying too hard and got around that all that mess. After spending too much time fixing my PC, bad RAM, and reading too to many cross references :P

Instead of going even that far and risking braking the build files I decided put a far similar script  %prep section of the source RPM's spec file. I found where the warzone2100 2.0.7 source RPM was hiding, btw. Any rate, the plan is to make a pesdo-library directory inside the build directory . Then based on if this script detect a needed set of source package either make a soft link to the system's real /usr/lib directory linking to that file (set), or have it compile and double back to the library included in the package.

The problem, I have no macro to detect if a package is installed. Anyone know of one?

Oh yea and send a nice EMail to the packages maintainer telling them they need to recompile.