On Aug 8, 2011, at 1:19 PM, Belal Salem wrote:

> Actually, what I'm trying to do is the following, may be you have an advice 
> for me:
> I'm running RHEL-5, I found it the most stable and secure Distro that runs 
> smoothly almost all the high-end simulation and 3D applications that I'm 
> using intensively, the problem is that there are dozens of simple but 
> important applications/utilities that requires higher versions of glibc and 
> python, those that where supplied as rpm packages that requires newer 
> versions of the RPM to be installed!

Yes, you aren't alone here either: most "enterprise" distros have such a ;one
"supported" life that they become irrelevant.

I'm not sure that ether's any "enterprise" distro with a solid upgrade path.
Dag's repository is likeliest best both reputation ally and in in "reality".
Check there first imho.

> So, I decided to build a custom system installation that satisfies all my 
> needs.
> I manually forced upgrade glibc with a version that gives 2.6 and 2.7 without 
> breaking the system dependencies, and I compiled python-2.7.2, and now my 
> system runs really great! and I can run those new applications smoothly.
> 

Upgrading REHL5 to python-2.7.2 is non-trivial: congratulations on success.

> The only one thing that I'm suffering from is that I have to manually extract 
> and install them since they require higher signature of fileDegist, payload 
> and rpm compressing... for that I decided to upgrade to RPM-5 to be able to 
> install them regularly using the RPM Packager.
> 

Yes: distros have chosen to use SHA-256 file digests without bothering
to release a compatible version of rpm.

There is a way to disable file digests using --nofdigests (I've forgotten the
older option, it has been 6 years or so: --nomd5sums? something like that).

Sadly that *still* isn't enough because of the XZ! XZ! XZ! craziness. So there's
often nothing one can do except extract the payload
        rpm2cpio.sh foo*.rpm | cpio -dim
(there's a shell script that permits inserting a unxz where needed).

There are back ports of XZ and SHA256 file digests to whatever RPM is
in RHEL5 if needed: I can dig out the necessary patches if GOOG
cannot find something that Just Works.

> Any advices about that! are there an easy way to let the RPM source compile 
> both of the i686 and x86_64 bit.
> 

All depends on what is considered "easy".

FYI: rpm-4.4.7 (on which @rpm5.org is based) treats arch simply as a string. SO
it's entirely feasible to do
        rpmbuild -ba --target=hotmommacpu foo.spec
and end up producing binary
        foo*.hotmammacpu.rpm
Whether that is useful or not is a far more complex answer: but RPM won't stop 
you
from attempting.

For RHEL5, its likely easiest to add (and change)
        /etc/rpm/platform
which contains in 1-line the usual config.guess string like
        x86_64-unknown-linux

There are ways to invoke with a setarch(1) prefix like
        setarch x86_64 rpmbuild -ba yadda.spec
but I find that rather more annoying than easy: usually I'm building
a set of packages, and editing /etc/rpm/platform is persistent (and easy)
even if I usually forget to check the setting when building.

> What I'm confused about, is that the RPM has many dependencies, and I don't 
> know which one of them should be compiled for both i686 and x86_64 and which 
> needs to only compile for x86_64.
> 

All ELF dependencies have a "color" and are attached to file(s) (if the 
functionality is not disabled).
So color is 0 == "white", 1 == elf32, and 2 == elf64 and you can see the 
dependencies by doing
        rpm -qp --filerequire *.rpm
to see which dependencies are associated with each file.

There is a --fileprovide as well, and you can also see what rpm is going'
to do by typing, say,
        find /bin | /usr/lib/rpm/rpmdeps --requires
or even
        echo "/bin/sh" | …
(there's a --provides analogue to --requires too).

Other arch-specific dependencies are usually dictated by Packaging Policy 
Police somewhere.

Note that RHEL5 is particularly strangely painful in the way it handles ix86 
<-> x86_64 "multilib".

hth

73 de Jeff

______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
User Communication List                             rpm-users@rpm5.org

Reply via email to