D rpm packages for Linux

Jordi Sayol i salomó g.sayol at yahoo.es
Fri Jun 25 12:16:18 PDT 2010


En/na Ellery Newcomer ha escrit:
> On 06/25/2010 10:45 AM, Jordi Sayol i salomó wrote:
>>
>> I use Ubuntu 9.10 i386, and there are a lot of 32 bit packages that do
>> not works on a 64 bit system without a previous trick (installing some
>> 32 bit library packages, etc.)
> 
> But doesn't your package manager automatically take care of those 
> dependencies?

I have no idea about this. In my computer I only can install 386 linux version, with 32 bits packages.

> 
>>
>> Well, can You assure that in all rpm Linux systems (not only in
>> Fedora/red-hat) everything needed will be installed?
>>  From another point of view, if You think that the libgcc_s.so.1 will be
>> automatically installed, Why Your rpm has these other libraries on the
>> Requires (dependencies) tag? libc.so.6, libm.so.6 and libstdc++.so.6
> 
> Don't know. I didn't put them there. All I have is
> 
> Requires:    glibc-devel(x86-32)
> Requires:    gcc
> 
> Other stuff must have gotten added by the rpm build somehow.
> 



>>>> And My preferred solution, create a i386 chroot machine inside Your
>>>> x86_64 system, install dmd package on it and compile Yours D 
>>>> programs on
>>>> it too.
>>>
>>> I've never found a need to do this (and I also don't know how).
>>
>> Try it! is clean, easy and faster than other virtual machines, for text
>> mode. I don't know how to install it in Fedora.
> 
> Does it allow different versions of your OS, or just different 
> architectures?

In Your computer (64 bits), You can install different versions of different linux OS of 32 and 64 bits.

> 
> More generally, what is it? :)

chroot command do a simple thing, changes the root "/" to a chosen directory, but prior to use it, You must install an OS on it.

> 
>> In Ubuntu just install "debootstrap". On Debian-like systems, chroot is
>> used to build/compile packages for other architectures than the host
>> system, if it is possible.
>>
>> Another thing about the creation of dmd rpm package. As You know,
>> dmd.conf is a configuration file, and so, it can be changed by another
>> future packages (i.e. gtkd o qtd) or by the final user. I think is not a
>> good solution to just put it on the place, otherwise You have to make
>> some checks during the package installation, upgrading and removing
>> process. Check if the file exist, if not, create it, if exist, modify it
>> to assure that dmd will properly compile, etc.
> 
> How much of that does the %config directive take care of?

Until I know, %config tag include the files that must keep on upgrade process, this is not so useful in this case.
If You upgrade from dmd v1.062 to v2.047, You need to add "-Ipath/to/includes/druntime/import" on dmd.conf

> 
>>
>> Finally, I do my best to build these packages but, of course, I make a
>> lot of mistakes, hope you tell me what can be corrected/improved. And
>> from my side, this is not a competition on who creates the best dmd
>> package, I just want to have a minimal quality dmd packages to easy
>> install/remove on my system. If You do the job, I'll be very happy to
>> enjoy it.
>>
>> Best regards,
> 
> 


-- 
Jordi Sayol



More information about the Digitalmars-d-announce mailing list