digitalmars.D.announce - D rpm packages for Linux
- Walter Bright (2/2) Jun 24 2010 D rpm packages now available http://www.digitalmars.com/d/download.html ...
- Andrei Alexandrescu (5/7) Jun 24 2010 Yay! I should mention that Ellery Newcomer also had an independent
- Ellery Newcomer (3/10) Jun 24 2010 Also note that mine doesn't fail on x86_64
- Andrei Alexandrescu (5/17) Jun 24 2010 This needs to be fixed. Walter, could you please forward this to Jordi
- =?ISO-8859-1?Q?Jordi_Sayol_i_Salom=F3?= (5/10) Jun 24 2010 Can You be more explicit?
- Ellery Newcomer (9/17) Jun 24 2010 dmd links to ctnrl.o or something like that, which is in glibc-devel and...
- =?ISO-8859-1?Q?Jordi_Sayol_i_Salom=F3?= (27/53) Jun 25 2010 h.
- Andrei Alexandrescu (4/51) Jun 25 2010 Wait, isn't there a way to say in an rpm "if the target OS is 64-bit
- =?ISO-8859-1?Q?Jordi_Sayol_i_salom=F3?= (19/79) Jun 25 2010 le
- Neal Becker (3/72) Jun 25 2010 What about
- =?UTF-8?B?Sm9yZGkgU2F5b2wgaSBzYWxvbcOz?= (24/92) Jun 25 2010 l
- Neal Becker (6/81) Jun 25 2010 I'm pretty sure you can put the Requires within an if clause
- Ellery Newcomer (3/8) Jun 25 2010 does that predicate on the target OS architecture or the package's
- =?UTF-8?B?Sm9yZGkgU2F5b2wgaSBTYWxvbcOz?= (17/100) Jun 25 2010 vel
- Ellery Newcomer (13/35) Jun 25 2010 Well, yeah, but from personal experience I can attest that dmd works
- =?ISO-8859-1?Q?Jordi_Sayol_i_salom=F3?= (42/91) Jun 25 2010 86
- Graham Fawcett (6/18) Jun 25 2010 +1 for this. On Debian/Ubuntu systems, I find that 'schroot' makes it
- Ellery Newcomer (11/43) Jun 25 2010 But doesn't your package manager automatically take care of those
- =?ISO-8859-1?Q?Jordi_Sayol_i_salom=F3?= (18/81) Jun 25 2010 I have no idea about this. In my computer I only can install 386 linux v...
- =?UTF-8?B?IkrDqXLDtG1lIE0uIEJlcmdlciI=?= (10/25) Jun 25 2010 Rpm automatically calls ldd on all executables and adds the
- Jesse Phillips (8/56) Jun 25 2010 Really there is no way to assure that your package will work across all ...
- =?ISO-8859-1?Q?Jordi_Sayol_i_Salom=F3?= (65/129) Jun 25 2010 y
- Jesse Phillips (10/45) Jun 25 2010 I'll ask you this, for RPM if it is stated to be a 32 bit package, can y...
- =?ISO-8859-1?Q?Jordi_Sayol_i_Salom=F3?= (69/125) Jun 26 2010 ge. i386 systems will have their packages named without any postfix, but...
- Jesse Phillips (17/36) Jun 26 2010
- =?UTF-8?B?Sm9yZGkgU2F5b2wgaSBTYWxvbcOz?= (14/52) Jun 26 2010 es
- Jesse Phillips (6/7) Jun 26 2010 You could then put them in yet another lib package. I realize this is
- =?UTF-8?B?Sm9yZGkgU2F5b2wgaSBTYWxvbcOz?= (41/50) Jun 27 2010 Yes, of course
- bioinfornatics (2/2) Jun 27 2010 i do'nt not use this rpm, but one thing in rpm Guideline if a package co...
- Jesse Phillips (12/16) Jun 27 2010 My few comments.
- =?UTF-8?B?Sm9yZGkgU2F5b2wgaSBTYWxvbcOz?= (22/38) Jun 28 2010 well, if we follow this rule, just one dmd v1.xxx release and dmd v2.xxx...
- Ellery Newcomer (9/22) Jun 26 2010 maybe an alternative would be to just define
- =?ISO-8859-1?Q?Jordi_Sayol_i_Salom=F3?= (5/36) Jun 26 2010 here are missing the linkerflags for the linker
- Ellery Newcomer (2/14) Jun 26 2010 eh?
- Jonathan M Davis (32/43) Jun 25 2010 Personally, I think that it's _way_ nicer to have the 32-bit dmd install...
- =?ISO-8859-1?Q?Jordi_Sayol_i_Salom=F3?= (27/60) Jun 25 2010 on
- =?ISO-8859-1?Q?Jordi_Sayol_i_salom=F3?= (7/11) Jun 25 2010 Here I mean "I just want to have dmd packages with a minimum quality lev...
- Ellery Newcomer (2/4) Jun 24 2010 Also, what about hosting a yum repository?
- Andrei Alexandrescu (5/9) Jun 24 2010 Is that the thing that allows me to insert a line in the Synaptic
- Ellery Newcomer (13/23) Jun 24 2010 Ummm.. maybe?
- Lars T. Kyllingstad (3/32) Jun 24 2010 Synaptic supports both deb and RPM package repositories.
- Charles Hixson (8/40) Jun 25 2010 More precisely, Synaptic is a front end to either deb or rpm, depending
D rpm packages now available http://www.digitalmars.com/d/download.html thanks to Jordi Sayol.
Jun 24 2010
On 06/24/2010 12:09 PM, Walter Bright wrote:D rpm packages now available http://www.digitalmars.com/d/download.html thanks to Jordi Sayol.Yay! I should mention that Ellery Newcomer also had an independent solution. (Sorry Ellery; I'm sure the learning experience was still useful.) Andrei
Jun 24 2010
On 06/24/2010 12:22 PM, Andrei Alexandrescu wrote:On 06/24/2010 12:09 PM, Walter Bright wrote:Also note that mine doesn't fail on x86_64 (you need to add glibc-devel(x86-32) specifically as a dependency)D rpm packages now available http://www.digitalmars.com/d/download.html thanks to Jordi Sayol.Yay! I should mention that Ellery Newcomer also had an independent solution. (Sorry Ellery; I'm sure the learning experience was still useful.) Andrei
Jun 24 2010
On 06/24/2010 12:56 PM, Ellery Newcomer wrote:On 06/24/2010 12:22 PM, Andrei Alexandrescu wrote:This needs to be fixed. Walter, could you please forward this to Jordi (or better yet invite him to tune to this newsgroup)? Thanks, AndreiOn 06/24/2010 12:09 PM, Walter Bright wrote:Also note that mine doesn't fail on x86_64 (you need to add glibc-devel(x86-32) specifically as a dependency)D rpm packages now available http://www.digitalmars.com/d/download.html thanks to Jordi Sayol.Yay! I should mention that Ellery Newcomer also had an independent solution. (Sorry Ellery; I'm sure the learning experience was still useful.) Andrei
Jun 24 2010
En/na Ellery Newcomer ha escrit:Also note that mine doesn't fail on x86_64 (you need to add glibc-devel(x86-32) specifically as a dependency)Can You be more explicit? I've not a 64 bit system available. -- Jordi Sayol
Jun 24 2010
On 06/24/2010 01:14 PM, Jordi Sayol i Salomó wrote:En/na Ellery Newcomer ha escrit:dmd links to ctnrl.o or something like that, which is in glibc-devel and must be 32 bit. If the 32 bit version ain't there, there be linker errors on compile. in the spec file, after Requires: gcc add Requires: glibc-devel(x86-32) I know nothing of specific minimum version or anything like that, though.Also note that mine doesn't fail on x86_64 (you need to add glibc-devel(x86-32) specifically as a dependency)Can You be more explicit? I've not a 64 bit system available.
Jun 24 2010
En/na Ellery Newcomer ha escrit:On 06/24/2010 01:14 PM, Jordi Sayol i Salom=F3 wrote:d=20En/na Ellery Newcomer ha escrit:=20 dmd links to ctnrl.o or something like that, which is in glibc-devel an=Also note that mine doesn't fail on x86_64 (you need to add glibc-devel(x86-32) specifically as a dependency)Can You be more explicit? I've not a 64 bit system available.must be 32 bit. If the 32 bit version ain't there, there be linker=20 errors on compile. =20 in the spec file, after =20 Requires: gcc =20 add =20 Requires: glibc-devel(x86-32) =20 I know nothing of specific minimum version or anything like that, thoug=h.=20Many thanks for Your answer. This rpm package is build for a i386 platform, and it's only installable = on a i386 system (without force it to), so the dependencies are for i386 = installation. Of course It can be forced to install in another platform a= s x86_64, alpha, arm, hppa, mips, mipsel, powerpc, s390, sparc, etc. but = I cannot assure that the compiler will work on all of them. You talk abou= t the glibc-devel package, but this is not the only one needed by the com= piler, dmd also needs gcc (32 bits) and in Your rpm (as in mine) do not s= pecifies anything about arch, also there is a missing library on Your rpm= , libgcc_s.so.1 is needed too by dmd. One solution for this problem is to explain the trick needed to install t= he ix86 dmd rpm package on a x86_64 system, as Walter has done with the s= ame situation for the dmd deb package, http://www.digitalmars.com/d/2.0/d= md-linux.html#installation Another one is to create a x86_64 rpm package of dmd 32 bits compiler. I = don't like this solution because when dmd 64 bits appears in the near fut= ure, this will be a source of confusion. And My preferred solution, create a i386 chroot machine inside Your x86_6= 4 system, install dmd package on it and compile Yours D programs on it t= oo. I apologize for my bad English. Best regards, --=20 Jordi Sayol
Jun 25 2010
On 06/25/2010 03:46 AM, Jordi Sayol i Salomó wrote:En/na Ellery Newcomer ha escrit:Wait, isn't there a way to say in an rpm "if the target OS is 64-bit then insert this dependency, otherwise don't"? AndreiOn 06/24/2010 01:14 PM, Jordi Sayol i Salomó wrote:Many thanks for Your answer. This rpm package is build for a i386 platform, and it's only installable on a i386 system (without force it to), so the dependencies are for i386 installation. Of course It can be forced to install in another platform as x86_64, alpha, arm, hppa, mips, mipsel, powerpc, s390, sparc, etc. but I cannot assure that the compiler will work on all of them. You talk about the glibc-devel package, but this is not the only one needed by the compiler, dmd also needs gcc (32 bits) and in Your rpm (as in mine) do not specifies anything about arch, also there is a missing library on Your rpm, libgcc_s.so.1 is needed too by dmd. One solution for this problem is to explain the trick needed to install the ix86 dmd rpm package on a x86_64 system, as Walter has done with the same situation for the dmd deb package, http://www.digitalmars.com/d/2.0/dmd-linux.html#installation Another one is to create a x86_64 rpm package of dmd 32 bits compiler. I don't like this solution because when dmd 64 bits appears in the near future, this will be a source of confusion. 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.En/na Ellery Newcomer ha escrit:dmd links to ctnrl.o or something like that, which is in glibc-devel and must be 32 bit. If the 32 bit version ain't there, there be linker errors on compile. in the spec file, after Requires: gcc add Requires: glibc-devel(x86-32) I know nothing of specific minimum version or anything like that, though.Also note that mine doesn't fail on x86_64 (you need to add glibc-devel(x86-32) specifically as a dependency)Can You be more explicit? I've not a 64 bit system available.
Jun 25 2010
En/na Andrei Alexandrescu ha escrit:On 06/25/2010 03:46 AM, Jordi Sayol i Salom=F3 wrote:rEn/na Ellery Newcomer ha escrit:On 06/24/2010 01:14 PM, Jordi Sayol i Salom=F3 wrote:En/na Ellery Newcomer ha escrit:dmd links to ctnrl.o or something like that, which is in glibc-devel and must be 32 bit. If the 32 bit version ain't there, there be linke=Also note that mine doesn't fail on x86_64 (you need to add glibc-devel(x86-32) specifically as a dependency)Can You be more explicit? I've not a 64 bit system available.leerrors on compile. in the spec file, after Requires: gcc add Requires: glibc-devel(x86-32) I know nothing of specific minimum version or anything like that,=20 though.Many thanks for Your answer. This rpm package is build for a i386 platform, and it's only installab=86on a i386 system (without force it to), so the dependencies are for i3=minstallation. Of course It can be forced to install in another platfor=lkas x86_64, alpha, arm, hppa, mips, mipsel, powerpc, s390, sparc, etc. but I cannot assure that the compiler will work on all of them. You ta=)about the glibc-devel package, but this is not the only one needed by the compiler, dmd also needs gcc (32 bits) and in Your rpm (as in mine=ondo not specifies anything about arch, also there is a missing library =lYour rpm, libgcc_s.so.1 is needed too by dmd. One solution for this problem is to explain the trick needed to instal=hethe ix86 dmd rpm package on a x86_64 system, as Walter has done with t=Isame situation for the dmd deb package, http://www.digitalmars.com/d/2.0/dmd-linux.html#installation Another one is to create a x86_64 rpm package of dmd 32 bits compiler.=ondon't like this solution because when dmd 64 bits appears in the near future, this will be a source of confusion. And My preferred solution, create a i386 chroot machine inside Your x86_64 system, install dmd package on it and compile Yours D programs =Until I know, there is not a direct way on rpm and deb packaging system t= o do that. There is an scripting system to do what You want, but of course, You have= to do all the job.=20 Best regards, --=20 Jordi Sayolit too.=20 Wait, isn't there a way to say in an rpm "if the target OS is 64-bit=20 then insert this dependency, otherwise don't"? =20 Andrei =20
Jun 25 2010
Jordi Sayol i salomó wrote:En/na Andrei Alexandrescu ha escrit:What about Requires:On 06/25/2010 03:46 AM, Jordi Sayol i Salomó wrote:Until I know, there is not a direct way on rpm and deb packaging system to do that. There is an scripting system to do what You want, but of course, You have to do all the job. Best regards,En/na Ellery Newcomer ha escrit:Wait, isn't there a way to say in an rpm "if the target OS is 64-bit then insert this dependency, otherwise don't"? AndreiOn 06/24/2010 01:14 PM, Jordi Sayol i Salomó wrote:Many thanks for Your answer. This rpm package is build for a i386 platform, and it's only installable on a i386 system (without force it to), so the dependencies are for i386 installation. Of course It can be forced to install in another platform as x86_64, alpha, arm, hppa, mips, mipsel, powerpc, s390, sparc, etc. but I cannot assure that the compiler will work on all of them. You talk about the glibc-devel package, but this is not the only one needed by the compiler, dmd also needs gcc (32 bits) and in Your rpm (as in mine) do not specifies anything about arch, also there is a missing library on Your rpm, libgcc_s.so.1 is needed too by dmd. One solution for this problem is to explain the trick needed to install the ix86 dmd rpm package on a x86_64 system, as Walter has done with the same situation for the dmd deb package, http://www.digitalmars.com/d/2.0/dmd-linux.html#installation Another one is to create a x86_64 rpm package of dmd 32 bits compiler. I don't like this solution because when dmd 64 bits appears in the near future, this will be a source of confusion. 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.En/na Ellery Newcomer ha escrit:dmd links to ctnrl.o or something like that, which is in glibc-devel and must be 32 bit. If the 32 bit version ain't there, there be linker errors on compile. in the spec file, after Requires: gcc add Requires: glibc-devel(x86-32) I know nothing of specific minimum version or anything like that, though.Also note that mine doesn't fail on x86_64 (you need to add glibc-devel(x86-32) specifically as a dependency)Can You be more explicit? I've not a 64 bit system available.
Jun 25 2010
En/na Neal Becker ha escrit:Jordi Sayol i salom=C3=B3 wrote: =20)En/na Andrei Alexandrescu ha escrit:On 06/25/2010 03:46 AM, Jordi Sayol i Salom=C3=B3 wrote:En/na Ellery Newcomer ha escrit:On 06/24/2010 01:14 PM, Jordi Sayol i Salom=C3=B3 wrote:En/na Ellery Newcomer ha escrit:Also note that mine doesn't fail on x86_64 (you need to add glibc-devel(x86-32) specifically as a dependency=ldmd links to ctnrl.o or something like that, which is in glibc-deve=Can You be more explicit? I've not a 64 bit system available.kerand must be 32 bit. If the 32 bit version ain't there, there be lin=ableerrors on compile. in the spec file, after Requires: gcc add Requires: glibc-devel(x86-32) I know nothing of specific minimum version or anything like that, though.Many thanks for Your answer. This rpm package is build for a i386 platform, and it's only install=i386on a i386 system (without force it to), so the dependencies are for =orminstallation. Of course It can be forced to install in another platf==2Eas x86_64, alpha, arm, hppa, mips, mipsel, powerpc, s390, sparc, etc=talkbut I cannot assure that the compiler will work on all of them. You =yabout the glibc-devel package, but this is not the only one needed b=ne)the compiler, dmd also needs gcc (32 bits) and in Your rpm (as in mi=y ondo not specifies anything about arch, also there is a missing librar=allYour rpm, libgcc_s.so.1 is needed too by dmd. One solution for this problem is to explain the trick needed to inst=thethe ix86 dmd rpm package on a x86_64 system, as Walter has done with=r. Isame situation for the dmd deb package, http://www.digitalmars.com/d/2.0/dmd-linux.html#installation Another one is to create a x86_64 rpm package of dmd 32 bits compile=rdon't like this solution because when dmd 64 bits appears in the nea=s onfuture, this will be a source of confusion. And My preferred solution, create a i386 chroot machine inside Your x86_64 system, install dmd package on it and compile Yours D program=m toUntil I know, there is not a direct way on rpm and deb packaging syste=it too.Wait, isn't there a way to say in an rpm "if the target OS is 64-bit then insert this dependency, otherwise don't"? Andreiavedo that. There is an scripting system to do what You want, but of course, You h=Requiers: tag includes a list of packages and/or libraries needed to prop= erly run the application, but it do not select which dependencies are nee= ded depending if the OS is 32 or 64 bits. --=20 Jordi Sayolto do all the job. Best regards,=20 What about=20 Requires:
Jun 25 2010
Jordi Sayol i salomó wrote:En/na Neal Becker ha escrit:I'm pretty sure you can put the Requires within an if clause Here's an example I have with BuidRequires (from emacs.spec) %ifarch %{ix86} BuildRequires: setarch %endifJordi Sayol i salomó wrote:Requiers: tag includes a list of packages and/or libraries needed to properly run the application, but it do not select which dependencies are needed depending if the OS is 32 or 64 bits.En/na Andrei Alexandrescu ha escrit:What about Requires:On 06/25/2010 03:46 AM, Jordi Sayol i Salomó wrote:Until I know, there is not a direct way on rpm and deb packaging system to do that. There is an scripting system to do what You want, but of course, You have to do all the job. Best regards,En/na Ellery Newcomer ha escrit:Wait, isn't there a way to say in an rpm "if the target OS is 64-bit then insert this dependency, otherwise don't"? AndreiOn 06/24/2010 01:14 PM, Jordi Sayol i Salomó wrote:Many thanks for Your answer. This rpm package is build for a i386 platform, and it's only installable on a i386 system (without force it to), so the dependencies are for i386 installation. Of course It can be forced to install in another platform as x86_64, alpha, arm, hppa, mips, mipsel, powerpc, s390, sparc, etc. but I cannot assure that the compiler will work on all of them. You talk about the glibc-devel package, but this is not the only one needed by the compiler, dmd also needs gcc (32 bits) and in Your rpm (as in mine) do not specifies anything about arch, also there is a missing library on Your rpm, libgcc_s.so.1 is needed too by dmd. One solution for this problem is to explain the trick needed to install the ix86 dmd rpm package on a x86_64 system, as Walter has done with the same situation for the dmd deb package, http://www.digitalmars.com/d/2.0/dmd-linux.html#installation Another one is to create a x86_64 rpm package of dmd 32 bits compiler. I don't like this solution because when dmd 64 bits appears in the near future, this will be a source of confusion. 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.En/na Ellery Newcomer ha escrit:dmd links to ctnrl.o or something like that, which is in glibc-devel and must be 32 bit. If the 32 bit version ain't there, there be linker errors on compile. in the spec file, after Requires: gcc add Requires: glibc-devel(x86-32) I know nothing of specific minimum version or anything like that, though.Also note that mine doesn't fail on x86_64 (you need to add glibc-devel(x86-32) specifically as a dependency)Can You be more explicit? I've not a 64 bit system available.
Jun 25 2010
On 06/25/2010 02:26 PM, Neal Becker wrote:I'm pretty sure you can put the Requires within an if clause Here's an example I have with BuidRequires (from emacs.spec) %ifarch %{ix86} BuildRequires: setarch %endifdoes that predicate on the target OS architecture or the package's target architecture?
Jun 25 2010
En/na Neal Becker ha escrit:Jordi Sayol i salom=C3=B3 wrote: =20cy)En/na Neal Becker ha escrit:Jordi Sayol i salom=C3=B3 wrote:En/na Andrei Alexandrescu ha escrit:On 06/25/2010 03:46 AM, Jordi Sayol i Salom=C3=B3 wrote:En/na Ellery Newcomer ha escrit:On 06/24/2010 01:14 PM, Jordi Sayol i Salom=C3=B3 wrote:En/na Ellery Newcomer ha escrit:Also note that mine doesn't fail on x86_64 (you need to add glibc-devel(x86-32) specifically as a dependen=veldmd links to ctnrl.o or something like that, which is in glibc-de=Can You be more explicit? I've not a 64 bit system available.and must be 32 bit. If the 32 bit version ain't there, there be linker errors on compile. in the spec file, after Requires: gcc add Requires: glibc-devel(x86-32) I know nothing of specific minimum version or anything like that,=tothough.Many thanks for Your answer. This rpm package is build for a i386 platform, and it's only installable on a i386 system (without force it to), so the dependencies are for i386 installation. Of course It can be forced=sel,install in another platform as x86_64, alpha, arm, hppa, mips, mip=illpowerpc, s390, sparc, etc. but I cannot assure that the compiler w=hiswork on all of them. You talk about the glibc-devel package, but t=is not the only one needed by the compiler, dmd also needs gcc (32=bits) and in Your rpm (as in mine) do not specifies anything about=sarch, also there is a missing library on Your rpm, libgcc_s.so.1 i=needed too by dmd. One solution for this problem is to explain the trick needed to install the ix86 dmd rpm package on a x86_64 system, as Walter has=ler.done with the same situation for the dmd deb package, http://www.digitalmars.com/d/2.0/dmd-linux.html#installation Another one is to create a x86_64 rpm package of dmd 32 bits compi=I don't like this solution because when dmd 64 bits appears in the=rnear future, this will be a source of confusion. And My preferred solution, create a i386 chroot machine inside You=amsx86_64 system, install dmd package on it and compile Yours D progr=ton it too.Wait, isn't there a way to say in an rpm "if the target OS is 64-bi=temthen insert this dependency, otherwise don't"? AndreiUntil I know, there is not a direct way on rpm and deb packaging sys=to do that. There is an scripting system to do what You want, but of course, You=areRequiers: tag includes a list of packages and/or libraries needed to properly run the application, but it do not select which dependencies =have to do all the job. Best regards,What about Requires:This is not for compile/build time?=20 --=20 Jordi Sayolneeded depending if the OS is 32 or 64 bits.=20 I'm pretty sure you can put the Requires within an if clause =20 Here's an example I have with BuidRequires (from emacs.spec) =20 %ifarch %{ix86} BuildRequires: setarch %endif
Jun 25 2010
On 06/25/2010 03:46 AM, Jordi Sayol i Salomó wrote:Many thanks for Your answer. This rpm package is build for a i386 platform, and it's only installable on a i386 system (without force it to), so the dependencies are for i386 installation. Of course It can be forced to install in another platform as x86_64, alpha, arm, hppa, mips, mipsel, powerpc, s390, sparc, etc. but I cannot assure that the compiler will work on all of them.Well, yeah, but from personal experience I can attest that dmd works fine on x86_64 (as does, like, every other 32 bit package), and dmd works fine with 64 bit gcc. at least on my install (fedora 13 - what do you use?). You talkabout the glibc-devel package, but this is not the only one needed by the compiler, dmd also needs gcc (32 bits) and in Your rpm (as in mine) do not specifies anything about arch, also there is a missing library on Your rpm, libgcc_s.so.1 is needed too by dmd.Really? The gcc dependency doesn't automatically bring in libgcc? Is that what the GCCVER2 business is about?One solution for this problem is to explain the trick needed to install the ix86 dmd rpm package on a x86_64 system, as Walter has done with the same situation for the dmd deb package, http://www.digitalmars.com/d/2.0/dmd-linux.html#installationThe trick for doing this on fedora 86_64 is just yum install gcc glibc-devel.i686 and then putting dmd wherever. Works fine.Another one is to create a x86_64 rpm package of dmd 32 bits compiler. I don't like this solution because when dmd 64 bits appears in the near future, this will be a source of confusion.yeah, don't do that.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).I apologize for my bad English. Best regards,
Jun 25 2010
En/na Ellery Newcomer ha escrit:On 06/25/2010 03:46 AM, Jordi Sayol i Salom=F3 wrote:leMany thanks for Your answer. This rpm package is build for a i386 platform, and it's only installab=86on a i386 system (without force it to), so the dependencies are for i3=minstallation. Of course It can be forced to install in another platfor==20as x86_64, alpha, arm, hppa, mips, mipsel, powerpc, s390, sparc, etc. but I cannot assure that the compiler will work on all of them.=20 Well, yeah, but from personal experience I can attest that dmd works=20 fine on x86_64 (as does, like, every other 32 bit package), and dmd=20 works fine with 64 bit gcc. at least on my install (fedora 13 - what do=you use?).I use Ubuntu 9.10 i386, and there are a lot of 32 bit packages that do no= t works on a 64 bit system without a previous trick (installing some 32 b= it library packages, etc.)=20 You talk)about the glibc-devel package, but this is not the only one needed by the compiler, dmd also needs gcc (32 bits) and in Your rpm (as in mine=ondo not specifies anything about arch, also there is a missing library =Well, can You assure that in all rpm Linux systems (not only in Fedora/re= d-hat) everything needed will be installed? =46rom 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 R= equires (dependencies) tag? libc.so.6, libm.so.6 and libstdc++.so.6Your rpm, libgcc_s.so.1 is needed too by dmd.=20 Really? The gcc dependency doesn't automatically bring in libgcc? Is=20 that what the GCCVER2 business is about?=20lOne solution for this problem is to explain the trick needed to instal=hethe ix86 dmd rpm package on a x86_64 system, as Walter has done with t=To make it easier, and if do not affects on a i386 installation, I'll cha= nge "glibc-devel" for "glibc-devel(x86-32)" on the rpm dependencies.same situation for the dmd deb package, http://www.digitalmars.com/d/2.0/dmd-linux.html#installation=20 The trick for doing this on fedora 86_64 is just =20 yum install gcc glibc-devel.i686 =20 and then putting dmd wherever. Works fine.=20IAnother one is to create a x86_64 rpm package of dmd 32 bits compiler.=I'll not :-)don't like this solution because when dmd 64 bits appears in the near future, this will be a source of confusion.=20 yeah, don't do that.=20onAnd My preferred solution, create a i386 chroot machine inside Your x86_64 system, install dmd package on it and compile Yours D programs =Try it! is clean, easy and faster than other virtual machines, for text m= ode. I don't know how to install it in Fedora. In Ubuntu just install "debootstrap". On Debian-like systems, chroot is u= sed to build/compile packages for other architectures than the host sy= stem, if it is possible. Another thing about the creation of dmd rpm package. As You know, dmd.con= f is a configuration file, and so, it can be changed by another future pa= ckages (i.e. gtkd o qtd) or by the final user. I think is not a good solu= tion 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 dm= d will properly compile, etc. Finally, I do my best to build these packages but, of course, I make a lo= t 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, --=20 Jordi Sayolit too.=20 I've never found a need to do this (and I also don't know how).
Jun 25 2010
On Fri, 25 Jun 2010 17:45:00 +0200, Jordi Sayol i salomó wrote:En/na Ellery Newcomer ha escrit:+1 for this. On Debian/Ubuntu systems, I find that 'schroot' makes it very easy to manage and work with chroots, including running chrooted programs from the host system. Best, GrahamTry it! is clean, easy and faster than other virtual machines, for text mode. I don't know how to install it in Fedora. 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.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).
Jun 25 2010
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?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.6Don'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.Does it allow different versions of your OS, or just different architectures? More generally, what is it? :)Try it! is clean, easy and faster than other virtual machines, for text mode. I don't know how to install it in Fedora.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).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?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,
Jun 25 2010
En/na Ellery Newcomer ha escrit:On 06/25/2010 10:45 AM, Jordi Sayol i salom=F3 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=I have no idea about this. In my computer I only can install 386 linux ve= rsion, with 32 bits packages.32 bit library packages, etc.)=20 But doesn't your package manager automatically take care of those=20 dependencies?=20beWell, 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 =automatically installed, Why Your rpm has these other libraries on the=Requires (dependencies) tag? libc.so.6, libm.so.6 and libstdc++.so.6=20 Don't know. I didn't put them there. All I have is =20 Requires: glibc-devel(x86-32) Requires: gcc =20 Other stuff must have gotten added by the rpm build somehow. =20tTry it! is clean, easy and faster than other virtual machines, for tex=And My preferred solution, create a i386 chroot machine inside Your x86_64 system, install dmd package on it and compile Yours D=20 programs on it too.I've never found a need to do this (and I also don't know how).In Your computer (64 bits), You can install different versions of differe= nt linux OS of 32 and 64 bits.mode. I don't know how to install it in Fedora.=20 Does it allow different versions of your OS, or just different=20 architectures?=20 More generally, what is it? :)chroot command do a simple thing, changes the root "/" to a chosen direct= ory, but prior to use it, You must install an OS on it.=20sIn Ubuntu just install "debootstrap". On Debian-like systems, chroot i=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=afuture packages (i.e. gtkd o qtd) or by the final user. I think is not=itgood 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 =Until I know, %config tag include the files that must keep on upgrade pro= cess, this is not so useful in this case. If You upgrade from dmd v1.062 to v2.047, You need to add "-Ipath/to/incl= udes/druntime/import" on dmd.confto assure that dmd will properly compile, etc.=20 How much of that does the %config directive take care of?=20Finally, I do my best to build these packages but, of course, I make a=--=20 Jordi Sayollot 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,=20 =20
Jun 25 2010
Ellery Newcomer wrote:On 06/25/2010 10:45 AM, Jordi Sayol i salom=C3=B3 wrote:beWell, 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 =automatically installed, Why Your rpm has these other libraries on the=Rpm automatically calls ldd on all executables and adds the returned libraries to the list of dependencies, which only makes sense since the binary won't run without those libraries anyway... Jerome --=20 mailto:jeberger free.fr http://jeberger.free.fr Jabber: jeberger jabber.frRequires (dependencies) tag? libc.so.6, libm.so.6 and libstdc++.so.6=20 Don't know. I didn't put them there. All I have is =20 Requires: glibc-devel(x86-32) Requires: gcc =20 Other stuff must have gotten added by the rpm build somehow. =20
Jun 25 2010
I'm going to pitch in some things I've learned from trying to set up a Debian repository and a deb package. Jordi Sayol i salomó Wrote:En/na Ellery Newcomer ha escrit:Really there is no way to assure that your package will work across all systems that use the same package manager. Really the distributor can take the common, libc.so and instead use the convention c-library.shared. Luckily package naming is pretty similar across distributions.You talkWell, 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.6about the glibc-devel package, but this is not the only one needed by the compiler, dmd also needs gcc (32 bits) and in Your rpm (as in mine) do not specifies anything about arch, also there is a missing library on Your rpm, libgcc_s.so.1 is needed too by dmd.Really? The gcc dependency doesn't automatically bring in libgcc? Is that what the GCCVER2 business is about?I don't think you can have a universally accepted (i386, amd64) package. i386 systems will have their packages named without any postfix, but on amd64 distro the packages will. If you add those packages as a requirement they aren't available on the i386 system.To make it easier, and if do not affects on a i386 installation, I'll change "glibc-devel" for "glibc-devel(x86-32)" on the rpm dependencies.One solution for this problem is to explain the trick needed to install the ix86 dmd rpm package on a x86_64 system, as Walter has done with the same situation for the dmd deb package, http://www.digitalmars.com/d/2.0/dmd-linux.html#installationThe trick for doing this on fedora 86_64 is just yum install gcc glibc-devel.i686 and then putting dmd wherever. Works fine.This is actually the proper way to create these packages. There won't be any confusion; when the 64bit version becomes usable the package will then contain a native 64bit compiler and won't have the dependencies on 32bit packages. If you really think it is a problem name the package dmd-ia32 or whatever and then the native 64bit compiler will replace that package.I'll not :-)Another one is to create a x86_64 rpm package of dmd 32 bits compiler. I don't like this solution because when dmd 64 bits appears in the near future, this will be a source of confusion.yeah, don't do that.You still need the i386 packages installed to provide a proper root environment. I don't see the benefit.Try it! is clean, easy and faster than other virtual machines, for text mode. I don't know how to install it in Fedora. 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.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).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.No, I don't have my reference to this. You do NOT have multiple packages modify the configuration file! You can either choose a "master" package that provides a program to manage the configuration file, or you put that program in a new package which everyone would depend on. This is the practice recommended for building Debian packages.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 SayolI hope you find this advice helpful. I am not really the authority on these things, but it is what I have pieced together from what others do for packaging.
Jun 25 2010
En/na Jesse Phillips ha escrit:I'm going to pitch in some things I've learned from trying to set up a =Debian repository and a deb package.=20 Jordi Sayol i salom=F3 Wrote: =20yEn/na Ellery Newcomer ha escrit:You talkabout the glibc-devel package, but this is not the only one needed b=ne)the compiler, dmd also needs gcc (32 bits) and in Your rpm (as in mi=y ondo not specifies anything about arch, also there is a missing librar=Your rpm, libgcc_s.so.1 is needed too by dmd.Really? The gcc dependency doesn't automatically bring in libgcc? Is =/red-hat) everything needed will be installed?that what the GCCVER2 business is about?Well, can You assure that in all rpm Linux systems (not only in Fedora=e automatically installed, Why Your rpm has these other libraries on the = Requires (dependencies) tag? libc.so.6, libm.so.6 and libstdc++.so.6From another point of view, if You think that the libgcc_s.so.1 will b=systems that use the same package manager. Really the distributor can tak= e the common, libc.so and instead use the convention c-library.shared. Lu= ckily package naming is pretty similar across distributions. I'm agree.=20 Really there is no way to assure that your package will work across all==20allOne solution for this problem is to explain the trick needed to inst=thethe ix86 dmd rpm package on a x86_64 system, as Walter has done with=change "glibc-devel" for "glibc-devel(x86-32)" on the rpm dependencies.To make it easier, and if do not affects on a i386 installation, I'll =same situation for the dmd deb package, http://www.digitalmars.com/d/2.0/dmd-linux.html#installationThe trick for doing this on fedora 86_64 is just yum install gcc glibc-devel.i686 and then putting dmd wherever. Works fine.=20 I don't think you can have a universally accepted (i386, amd64) package==2E i386 systems will have their packages named without any postfix, but = on amd64 distro the packages will. If you add those packages as a require= ment they aren't available on the i386 system. After replacing "glibc-devel" whit "glibc-devel(x86-32)" on Requires: tag= , the package properly installs on a Fedora-core-13 32 bits.=20 =20r. IAnother one is to create a x86_64 rpm package of dmd 32 bits compile=rdon't like this solution because when dmd 64 bits appears in the nea=e any confusion; when the 64bit version becomes usable the package will t= hen contain a native 64bit compiler and won't have the dependencies on 32= bit packages. If you really think it is a problem name the package dmd-ia= 32 or whatever and then the native 64bit compiler will replace that packa= ge. Do You really thinks that is necessary to create a 32 bits dmd rpm/deb pa= ckages to install them on 64 bits OS? With a few easy steps You can do th= e same with the 32 bits OS packages.=20 This is actually the proper way to create these packages. There won't b=I'll not :-)future, this will be a source of confusion.yeah, don't do that.=20 =20s onAnd My preferred solution, create a i386 chroot machine inside Your x86_64 system, install dmd package on it and compile Yours D program=t mode. I don't know how to install it in Fedora.Try it! is clean, easy and faster than other virtual machines, for tex=it too.I've never found a need to do this (and I also don't know how).s used to build/compile packages for other architectures than the host= system, if it is possible.In Ubuntu just install "debootstrap". On Debian-like systems, chroot i==20 You still need the i386 packages installed to provide a proper root env=ironment. I don't see the benefit. Sorry but this is no true. If You have a 64 bits system without 32 bits l= ibs, and creates a chroot dir with a 32 bits system in it, You don't need= to install any 32 bits lib on host system to run 32 bits programs inside= chroot, at least in text mode.=20 =20conf 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 so= lution to just put it on the place, otherwise You have to make some check= s during the package installation, upgrading and removing process. Checki= f the file exist, if not, create it, if exist, modify it to assure thatdm= d will properly compile, etc.Another thing about the creation of dmd rpm package. As You know, dmd.==20 No, I don't have my reference to this. You do NOT have multiple package=s modify the configuration file! You can either choose a "master" package= that provides a program to manage the configuration file, or you put that= program in a new package which everyone would depend on. This is the pra= ctice recommended for building Debian packages. Really? If You installs dmd and after installs a gtkd package. How do gtk= d give dmd the Include dirs, lib dirs, etc.? Do You really thinks that dmd.conf contained on dmd package has to contai= n all configurations for all the installable packages pending on dmd? I know that this is the recommended practice for building Debian packages= , but a debian packager told me that the only way to do that is handle th= e dmd.conf with preinst, prerm, postinst and postrm scripts.=20 =20lot of mistakes, hope you tell me what can be corrected/improved. And fro= m 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/remov= e on my system. If You do the job, I'll be very happy to enjoy it.Finally, I do my best to build these packages but, of course, I make a=hese things, but it is what I have pieced together from what others do fo= r packaging. Many thanks. --=20 Jordi SayolBest regards, --=20 Jordi Sayol=20 I hope you find this advice helpful. I am not really the authority on t=
Jun 25 2010
Jordi Sayol i Salomó Wrote:Ok, that would be a difference from RPM and Deb.I don't think you can have a universally accepted (i386, amd64) package. i386 systems will have their packages named without any postfix, but on amd64 distro the packages will. If you add those packages as a requirement they aren't available on the i386 system.After replacing "glibc-devel" whit "glibc-devel(x86-32)" on Requires: tag, the package properly installs on a Fedora-core-13 32 bits.I'll ask you this, for RPM if it is stated to be a 32 bit package, can you installed it without "forcing" the install on a 64 bit system? Since RPM can request a 32 bit version of a package it seems you are able to keep the same package, unless the 64 bit system needs extra packages.Do You really thinks that is necessary to create a 32 bits dmd rpm/deb packages to install them on 64 bits OS? With a few easy steps You can do the same with the 32 bits OS packages.This is actually the proper way to create these packages. There won't be any confusion; when the 64bit version becomes usable the package will then contain a native 64bit compiler and won't have the dependencies on 32bit packages. If you really think it is a problem name the package dmd-ia32 or whatever and then the native 64bit compiler will replace that package.I'll not :-)Another one is to create a x86_64 rpm package of dmd 32 bits compiler. I don't like this solution because when dmd 64 bits appears in the near future, this will be a source of confusion.yeah, don't do that.You may not need it on the host environment but it must exsits within the specified root, so you still have the libraries "installed" on the system (for verious definitions of installed)Sorry but this is no true. If You have a 64 bits system without 32 bits libs, and creates a chroot dir with a 32 bits system in it, You don't need to install any 32 bits lib on host system to run 32 bits programs inside chroot, at least in text mode.You still need the i386 packages installed to provide a proper root environment. I don't see the benefit.Try it! is clean, easy and faster than other virtual machines, for text mode. I don't know how to install it in Fedora. In Ubuntu just install "debootstrap". On Debian-like systems, chroot is used to build/compile packages for other architectures than the hostsystem, if it is possible.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).If you go with the "master" method then gtkd would have to require dmd. If you chose to create a separate package (dmdconf-manager) then gtkd would require that package and requests for what is needed in the .conf file would go through it (which may have its own files in /var to remember the system setup). Now what you would probably have is a libgtkd package and a libgtkd-dev package. libghtkd doesn't care about dmd.conf, but libgtkd-dev would and it wouldn't be unreasonable to depend on d-compiler. I could just be putting my foot in my mouth with all of this.Really? If You installs dmd and after installs a gtkd package. How do gtkd give dmd the Include dirs, lib dirs, etc.? Do You really thinks that dmd.conf contained on dmd package has to contain all configurations for all the installable packages pending on dmd?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 futurepackages (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. Checkif the file exist, if not, create it, if exist, modify it to assure thatdmd will properly compile, etc.No, I don't have my reference to this. You do NOT have multiple packages modify the configuration file! You can either choose a "master" packagethat provides a program to manage the configuration file, or you put that program in a new package which everyone would depend on. This is the practice recommended for building Debian packages.I know that this is the recommended practice for building Debian packages, but a debian packager told me that the only way to do that is handle the dmd.conf with preinst, prerm, postinst and postrm scripts.You use those for modifying the package config file based on the environment being installed to. Configuration files are supposed to only have one owner. And I agree it is the cleanest way to deal with these issues and doesn't rely on shell scripts to get it right.Yeah, this stuff seems to require quite a bit of planning.I hope you find this advice helpful. I am not really the authority on these things, but it is what I have pieced together from what others do for packaging.Many thanks. -- Jordi Sayol
Jun 25 2010
En/na Jesse Phillips ha escrit:Jordi Sayol i Salom=F3 Wrote: =20ge. i386 systems will have their packages named without any postfix, but = on amd64 distro the packages will. If you add those packages as a require= ment they aren't available on the i386 system.I don't think you can have a universally accepted (i386, amd64) packa=tag, the package properly installs on a Fedora-core-13 32 bits.After replacing "glibc-devel" whit "glibc-devel(x86-32)" on Requires: ==20 Ok, that would be a difference from RPM and Deb.Until I know, Yes, it is.=20 =20ler. IAnother one is to create a x86_64 rpm package of dmd 32 bits compi=eardon't like this solution because when dmd 64 bits appears in the n=be any confusion; when the 64bit version becomes usable the package will= then contain a native 64bit compiler and won't have the dependencies on = 32bit packages. If you really think it is a problem name the package dmd-= ia32 or whatever and then the native 64bit compiler will replace that pac= kage.This is actually the proper way to create these packages. There won't=I'll not :-)future, this will be a source of confusion.yeah, don't do that.packages to install them on 64 bits OS? With a few easy steps You can do= the same with the 32 bits OS packages.Do You really thinks that is necessary to create a 32 bits dmd rpm/deb==20 I'll ask you this, for RPM if it is stated to be a 32 bit package, can =you installed it without "forcing" the install on a 64 bit system? No, You have to force on 64 bits system, but You can assure dependencies = in both, 32 and 64 bits systems. The binary rpm packages can only have on= e destination architecture, like deb.=20 Since RPM can request a 32 bit version of a package it seems you are ab=le to keep the same package, unless the 64 bit system needs extra package= s. No, adding correct dependencies, it will work on both archs, I think.=20=20 =20rAnd My preferred solution, create a i386 chroot machine inside You=ams onx86_64 system, install dmd package on it and compile Yours D progr=ext mode. I don't know how to install it in Fedora.Try it! is clean, easy and faster than other virtual machines, for t=it too.I've never found a need to do this (and I also don't know how).is used to build/compile packages for other architectures than the ho= stsystem, if it is possible.In Ubuntu just install "debootstrap". On Debian-like systems, chroot=nvironment. I don't see the benefit.You still need the i386 packages installed to provide a proper root e=s libs, and creates a chroot dir with a 32 bits system in it, You don't n= eed to install any 32 bits lib on host system to run 32 bits programs ins= ide chroot, at least in text mode.Sorry but this is no true. If You have a 64 bits system without 32 bit==20 You may not need it on the host environment but it must exsits within t=he specified root, so you still have the libraries "installed" on the sys= tem (for verious definitions of installed) Well, this is true but they are clearly separated. Every chroot dir conta= ins a full OS.=20 =20d.conf is a configuration file, and so, it can be changed by another futu= repackages (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 che= cks during the package installation, upgrading and removing process. Chec= kif the file exist, if not, create it, if exist, modify it to assure that= dmd will properly compile, etc.Another thing about the creation of dmd rpm package. As You know, dm=ges modify the configuration file! You can either choose a "master" packa= gethat provides a program to manage the configuration file, or you put th= at program in a new package which everyone would depend on. This is the p= ractice recommended for building Debian packages.No, I don't have my reference to this. You do NOT have multiple packa=gtkd give dmd the Include dirs, lib dirs, etc.?Really? If You installs dmd and after installs a gtkd package. How do =tain all configurations for all the installable packages pending on dmd?Do You really thinks that dmd.conf contained on dmd package has to con==20 If you go with the "master" method then gtkd would have to require dmd.=If you chose to create a separate package (dmdconf-manager) then gtkd wo= uld require that package and requests for what is needed in the .conf fil= e would go through it (which may have its own files in /var to remember t= he system setup).=20 Now what you would probably have is a libgtkd package and a libgtkd-dev=package. libghtkd doesn't care about dmd.conf, but libgtkd-dev would and= it wouldn't be unreasonable to depend on d-compiler. Then, I have to divide dmd into "libdmd", "libdmd-dev" and "dmd" too, isn= 't it?=20 I could just be putting my foot in my mouth with all of this. =20 =20ges, but a debian packager told me that the only way to do that is handle= the dmd.conf with preinst, prerm, postinst and postrm scripts.I know that this is the recommended practice for building Debian packa==20 You use those for modifying the package config file based on the enviro=nment being installed to. Configuration files are supposed to only have o= ne owner. And I agree it is the cleanest way to deal with these issues an= d doesn't rely on shell scripts to get it right. Interesting. Can You explain a bit more how the "dmdconf-manager" package= has to do the job?=20these things, but it is what I have pieced together from what others do = for packaging.I hope you find this advice helpful. I am not really the authority on=Well, one day I wakeup, takes breakfast, and after try to install dmd on = my ubuntu but deb package fails on install, and then decide to create my = own dmd deb package for personal use, and... ...here I am, and... :-)=20 --=20 Jordi SayolMany thanks. --=20 Jordi Sayol=20 Yeah, this stuff seems to require quite a bit of planning.
Jun 26 2010
On Sat, 26 Jun 2010 15:37:40 +0200, Jordi Sayol i Salomó wrote:Then I think a package should be built for each architecture. For a Debian repository a separate database is provided for each architecture so a package must be built for every architecture you wish to have the package. I guess RPM is not the same in this, so it is of less importance. I also think it is polite to give everyone a package that will just install.I'll ask you this, for RPM if it is stated to be a 32 bit package, can you installed it without "forcing" the install on a 64 bit system?No, You have to force on 64 bits system, but You can assure dependencies in both, 32 and 64 bits systems. The binary rpm packages can only have one destination architecture, like deb.Well, actually the proper way would be to separate it into, libphobos, libphobos-dev, dmd. And libtango is in Debian because of LDC.Now what you would probably have is a libgtkd package and a libgtkd-dev package. libghtkd doesn't care about dmd.conf, but libgtkd-dev would and it wouldn't be unreasonable to depend on d-compiler.Then, I have to divide dmd into "libdmd", "libdmd-dev" and "dmd" too, isn't it?I think you would probably have it take simple arguments; in English, "I am GTKD and will need these options added to dmd.conf." and then removal would just be, "I'm GTKD goodbye." Since dmd.conf should already have /usr/lib, /usr/include and stuff in it and GTKD should be installing to those directories anyway, I don't know if there is much need to manage such an installation.You use those for modifying the package config file based on the environment being installed to. Configuration files are supposed to only have one owner. And I agree it is the cleanest way to deal with these issues and doesn't rely on shell scripts to get it right.Interesting. Can You explain a bit more how the "dmdconf-manager" package has to do the job?
Jun 26 2010
En/na Jesse Phillips ha escrit:On Sat, 26 Jun 2010 15:37:40 +0200, Jordi Sayol i Salom=C3=B3 wrote:nI'll ask you this, for RPM if it is stated to be a 32 bit package, ca=esyou installed it without "forcing" the install on a 64 bit system?No, You have to force on 64 bits system, but You can assure dependenci=in both, 32 and 64 bits systems. The binary rpm packages can only have==20one destination architecture, like deb.=20 Then I think a package should be built for each architecture. For a=20 Debian repository a separate database is provided for each architecture=so a package must be built for every architecture you wish to have the =package. I guess RPM is not the same in this, so it is of less importan=ce.=20 I also think it is polite to give everyone a package that will just=20 install. =20evNow what you would probably have is a libgtkd package and a libgtkd-d==20 Well, actually the proper way would be to separate it into, libphobos, =package. libghtkd doesn't care about dmd.conf, but libgtkd-dev would and it wouldn't be unreasonable to depend on d-compiler.Then, I have to divide dmd into "libdmd", "libdmd-dev" and "dmd" too, isn't it?libphobos-dev, dmd. And libtango is in Debian because of LDC.Where to place druntime lib and headers?=20I=20=20 I think you would probably have it take simple arguments; in English, "=You use those for modifying the package config file based on the environment being installed to. Configuration files are supposed to only have one owner. And I agree it is the cleanest way to deal with these issues and doesn't rely on shell scripts to get it right.Interesting. Can You explain a bit more how the "dmdconf-manager" package has to do the job?am GTKD and will need these options added to dmd.conf." and then remova=l=20would just be, "I'm GTKD goodbye." =20 Since dmd.conf should already have /usr/lib, /usr/include and stuff in =it=20and GTKD should be installing to those directories anyway, I don't know==20if there is much need to manage such an installation.GTKD needs some additional linker-flags to properly link, like "-L-lgtkd"= --=20 Jordi Sayol
Jun 26 2010
On Sat, 26 Jun 2010 17:59:01 +0200, Jordi Sayol i Salomó wrote:Where to place druntime lib and headers?You could then put them in yet another lib package. I realize this is unreasonable when you don't have a repository to pull in everything needed so it is reasonable to place everything in a single package, but then you shouldn't be expecting that package to interact nicely with others.
Jun 26 2010
En/na Jesse Phillips ha escrit:On Sat, 26 Jun 2010 17:59:01 +0200, Jordi Sayol i Salom=C3=B3 wrote: =20Yes, of course =20Where to place druntime lib and headers?=20 You could then put them in yet another lib package. I realize this is=20 unreasonable when you don't have a repository to pull in everything=20 needed so it is reasonable to place everything in a single package,but then you shouldn't be expecting that package to interact nicely wit=h=20others.Yes, it will. Look below. Resuming, the list of packages can be: "dmd" including exe files and "dmd.conf.manager" script "libphobos2-dev" including phobos headers "libphobos2-dmd-dev" including phobos static libraries compiled with dmd= "libdruntime-dev" including druntime headers "libdruntime-dmd-dev" including druntime static libraries compiled with = dmd "dmd-phobos-doc" including html pages and examples, creating some link o= n main menu "libphobos2-dmd" and "libdruntime-dmd" will appears when dmd dynamic libs= do. I'm not quite sure on "libphobos2-dev" - "libphobos2-dmd-dev" and "libdru= ntime-dev" - "libdruntime-dmd-dev" split. Another possibility is to join them into "libphobos2-dmd-dev" and "libdru= ntime-dmd-dev", or just call "libphobos2-dev" =3D> "libphobos2-headers" a= nd "libdruntime-dev" =3D> "libdruntime-headers", as ldc deb packager has = done with "tango" libraries and headers. dependencies: "dmd" depends: "libphobos2-dmd-dev" "libdruntime-dmd-dev" --others packages deeded by dmd to properly compile-- recomends: "dmd-phobos-doc" "libphobos2-dmd-dev" depends: "libphobos2-dev" "libdruntime-dmd-dev" depends: "libdruntime-dev" With this sctructure, others packages can interact nicely with dmd now (o= ne package) and in the future, because them will spect the "dmd.conf.mana= ger" script on dmd package, and this do not change after split dmd. --=20 Jordi Sayol
Jun 27 2010
i do'nt not use this rpm, but one thing in rpm Guideline if a package contain a static lirbrary in package need be *-static my 2 cents :-)
Jun 27 2010
On Sun, 27 Jun 2010 10:23:38 +0200, Jordi Sayol i Salomó wrote:With this sctructure, others packages can interact nicely with dmd now (one package) and in the future, because them will spect the "dmd.conf.manager" script on dmd package, and this do not change after split dmd.My few comments. I think dmd should be packaged as dmd-2. At least for a Debian repo I couldn't find any way to store two versions for the same package. Isn't Phobos more source than headers though, I mean the only "header" it has is object.di and I don't even know why. Is it important to have a compiler specific -dev? I realize compilers don't like getting along, but what happens when phobos becomes a shared library? I thought object files were suppose to be more "universal," doesn't libc6 work when using Digital Mars C++ compilers or does it have its own? Otherwise the tree looks fine.
Jun 27 2010
Al 27/06/10 18:11, En/na Jesse Phillips ha escrit:On Sun, 27 Jun 2010 10:23:38 +0200, Jordi Sayol i Salom=C3=B3 wrote:With this sctructure, others packages can interact nicely with dmd now=(one package) and in the future, because them will spect the "dmd.conf.manager" script on dmd package, and this do not change after=well, if we follow this rule, just one dmd v1.xxx release and dmd v2.xxx = release can be installed at same time. Otherwise dmd v.2.xxx is still dmd= , don't dmd2 program. So, if You think that is interesting to have more t= han one dmd release at same time, then the solution is to create packages= with the name dmd-{version}, and install them in a unique {version} dir.= With this, You will be able to install every dmd release. But the problem here is for packages depending on dmd, like gtkd. A solut= ion can be have available both, "dmd" and "dmd-{version} packages.split dmd.My few comments. I think dmd should be packaged as dmd-2. At least for a Debian repo I couldn't find any way to store two versions for the same package.Isn't Phobos more source than headers though, I mean the only "header" =ithas is object.di and I don't even know why. Is it important to have a compiler specific -dev? I realize compilers don't like getting along, but what happens when phobos becomes a shared=library? I thought object files were suppose to be more "universal," doesn't libc6 work when using Digital Mars C++ compilers or does it hav=eits own?Until I know, libc6 only links with gcc. dmd linux uses ld (from gcc) to = link and probably Digital Mars C++ do too. The static libraires are only useful at compile time and there are 3 d co= mpilers, so statics libs are just for one compiler and for dev, this is t= he reason.Otherwise the tree looks fine.I want to continue discussing about dmd packaging, but i don't know if th= is list is the appropriate place to do it. Is there a better place? Many thanks, --=20 Jordi Sayol
Jun 28 2010
On 06/25/2010 03:49 PM, Jordi Sayol i Salomó wrote:maybe an alternative would be to just define /usr/lib/dmd-xxx/ /usr/include/dmd-xxx/ and in dmd.conf: [Environment] DFLAGS = -L-L/usr/lib/dmd-xxx -I/usr/include/dmd-xxx and have any additional library put its stuff directly in those two directories?No, I don't have my reference to this. You do NOT have multiple packages modify the configuration file! You can either choose a "master" packagethat provides a program to manage the configuration file, or you put that program in a new package which everyone would depend on. This is the practice recommended for building Debian packages.Really? If You installs dmd and after installs a gtkd package. How do gtkd give dmd the Include dirs, lib dirs, etc.? Do You really thinks that dmd.conf contained on dmd package has to contain all configurations for all the installable packages pending on dmd? I know that this is the recommended practice for building Debian packages, but a debian packager told me that the only way to do that is handle the dmd.conf with preinst, prerm, postinst and postrm scripts.
Jun 26 2010
En/na Ellery Newcomer ha escrit:On 06/25/2010 03:49 PM, Jordi Sayol i Salom=F3 wrote:No, I don't have my reference to this. You do NOT have multiple packages modify the configuration file! You can either choose a "master" packagethat provides a program to manage the configuration file, or you put that program in a new package which everyone would depend on. This is the practice recommended for building Debian packages.Really? If You installs dmd and after installs a gtkd package. How do gtkd give dmd the Include dirs, lib dirs, etc.? Do You really thinks that dmd.conf contained on dmd package has to contain all configurations for all the installable packages pending on=sdmd? I know that this is the recommended practice for building Debian packages, but a debian packager told me that the only way to do that i=here are missing the linkerflags for the linker --=20 Jordi Sayolhandle the dmd.conf with preinst, prerm, postinst and postrm scripts.=20 maybe an alternative would be to just define =20 /usr/lib/dmd-xxx/ /usr/include/dmd-xxx/ =20 and in dmd.conf: [Environment] DFLAGS =3D -L-L/usr/lib/dmd-xxx -I/usr/include/dmd-xxx =20 and have any additional library put its stuff directly in those two directories?
Jun 26 2010
On 06/26/2010 09:46 AM, Jordi Sayol i Salomó wrote:eh?maybe an alternative would be to just define /usr/lib/dmd-xxx/ /usr/include/dmd-xxx/ and in dmd.conf: [Environment] DFLAGS = -L-L/usr/lib/dmd-xxx -I/usr/include/dmd-xxx and have any additional library put its stuff directly in those two directories?here are missing the linkerflags for the linker
Jun 26 2010
On Friday, June 25, 2010 13:49:41 Jordi Sayol i Salom=F3 wrote:Personally, I think that it's _way_ nicer to have the 32-bit dmd installed = in a=20 64-bit environment along with the few 32-bit libraries that it needs than i= t is=20 to have to deal with a chroot environment. There are advantages to both, an= d=20 obviously you prefer to use chroot, but personally, I hate it. I don't like= =20 dealing with a separate environment where I have to worry about installing= =20 everything I need a second time (and not just the few 32-bit libraries that= dmd=20 needs) to develop as well as constantly having to worry about whether the=20 console that I'm currently typing at is in the chroot or not. It's far too = easy=20 to run a command that has to be run in chroot outside of it or to run a com= mand=20 that can't be run inside of it inside of it. It works perfectly fine to install 32-bit dmd in a 64-bit rpm-based OS. I'v= e done=20 it with OpenSuSE. The only issue is making sure that you have the necessary= 32- bit libraries installed (which isn't very many), and an RPM would take care= of=20 all of that for you. If I have the choice between running 32-bit dmd in 64-bit linux or running = 32- bit dmd in a 32-bit chroot inside of 64-bit linux, I'll definitely choose t= o run=20 it outside of the chroot. =2D Jonathan M Davis=20 This is actually the proper way to create these packages. There won't be any confusion; when the 64bit version becomes usable the package will then contain a native 64bit compiler and won't have the dependencies on 32bit packages. If you really think it is a problem name the package dmd-ia32 or whatever and then the native 64bit compiler will replace that package.=20 Do You really thinks that is necessary to create a 32 bits dmd rpm/deb packages to install them on 64 bits OS? With a few easy steps You can do the same with the 32 bits OS packages.
Jun 25 2010
En/na Jonathan M Davis ha escrit:On Friday, June 25, 2010 13:49:41 Jordi Sayol i Salom=F3 wrote: =20beThis is actually the proper way to create these packages. There won't=any confusion; when the 64bit version becomes usable the package will=onthen contain a native 64bit compiler and won't have the dependencies =32bit packages. If you really think it is a problem name the package dmd-ia32 or whatever and then the native 64bit compiler will replace that package.Do You really thinks that is necessary to create a 32 bits dmd rpm/deb=dopackages to install them on 64 bits OS? With a few easy steps You can =led in a=20the same with the 32 bits OS packages.=20 Personally, I think that it's _way_ nicer to have the 32-bit dmd instal=64-bit environment along with the few 32-bit libraries that it needs th=an it is=20to have to deal with a chroot environment. There are advantages to both=, and=20obviously you prefer to use chroot, but personally, I hate it. I don't =like=20dealing with a separate environment where I have to worry about install=ing=20everything I need a second time (and not just the few 32-bit libraries =that dmd=20needs) to develop as well as constantly having to worry about whether t=he=20console that I'm currently typing at is in the chroot or not. It's far =too easy=20to run a command that has to be run in chroot outside of it or to run a=command=20that can't be run inside of it inside of it. =20 It works perfectly fine to install 32-bit dmd in a 64-bit rpm-based OS.=I've done=20it with OpenSuSE. The only issue is making sure that you have the neces=sary 32-bit libraries installed (which isn't very many), and an RPM would take =care of=20all of that for you. =20 If I have the choice between running 32-bit dmd in 64-bit linux or runn=ing 32-bit dmd in a 32-bit chroot inside of 64-bit linux, I'll definitely choo=se to run=20it outside of the chroot. =20 - Jonathan M DavisBasically I'm agree with You, but if You need to build a package or compi= le and run a program for test, with the absolute security that what's hap= pening on Your machine is exactly the same that will happen on other syst= ems with a different OS/version than Your host system, then chroot is hel= pful. But for now I'll not build a 32bit dmd rpm/deb package exclusive for 64 b= it OS --=20 Jordi Sayol
Jun 25 2010
En/na Jordi Sayol i salom=F3 ha escrit:... I just want to have a minimal quality dmd packages to easy=20 install/remove on my system. ...Here I mean "I just want to have dmd packages with a minimum quality leve= l..." Sorry for that :-/ Best regards, --=20 Jordi Sayol
Jun 25 2010
On 06/24/2010 12:09 PM, Walter Bright wrote:D rpm packages now available http://www.digitalmars.com/d/download.html thanks to Jordi Sayol.Also, what about hosting a yum repository?
Jun 24 2010
On 06/24/2010 03:44 PM, Ellery Newcomer wrote:On 06/24/2010 12:09 PM, Walter Bright wrote:Is that the thing that allows me to insert a line in the Synaptic repositories and then benefit of integration goodies? I'd love something like that. AndreiD rpm packages now available http://www.digitalmars.com/d/download.html thanks to Jordi Sayol.Also, what about hosting a yum repository?
Jun 24 2010
On 06/24/2010 08:40 PM, Andrei Alexandrescu wrote:On 06/24/2010 03:44 PM, Ellery Newcomer wrote:Ummm.. maybe? Yum is a package manager built on top of rpm, essentially red hat's counterpart to apt-get. I think the idea is each version of dmd as an rpm lives in the yum repository, and as new versions are released, the yum will semi-automatically upgrade the user's install. The nice thing about it is the user doesn't have to go around looking for the download each time the next release of dmd comes out, although they do have to initially configure their system. Typically, the repository host provides a downloadable rpm which performs that action. I don't know that it would be particularly useful for synaptic based linuxen (Andrei, see what you've got me doing?) though. Guess we'd have to make a synaptic repo too.On 06/24/2010 12:09 PM, Walter Bright wrote:Is that the thing that allows me to insert a line in the Synaptic repositories and then benefit of integration goodies? I'd love something like that. AndreiD rpm packages now available http://www.digitalmars.com/d/download.html thanks to Jordi Sayol.Also, what about hosting a yum repository?
Jun 24 2010
On Thu, 24 Jun 2010 21:26:09 -0500, Ellery Newcomer wrote:On 06/24/2010 08:40 PM, Andrei Alexandrescu wrote:Synaptic supports both deb and RPM package repositories. -LarsOn 06/24/2010 03:44 PM, Ellery Newcomer wrote:Ummm.. maybe? Yum is a package manager built on top of rpm, essentially red hat's counterpart to apt-get. I think the idea is each version of dmd as an rpm lives in the yum repository, and as new versions are released, the yum will semi-automatically upgrade the user's install. The nice thing about it is the user doesn't have to go around looking for the download each time the next release of dmd comes out, although they do have to initially configure their system. Typically, the repository host provides a downloadable rpm which performs that action. I don't know that it would be particularly useful for synaptic based linuxen (Andrei, see what you've got me doing?) though. Guess we'd have to make a synaptic repo too.On 06/24/2010 12:09 PM, Walter Bright wrote:Is that the thing that allows me to insert a line in the Synaptic repositories and then benefit of integration goodies? I'd love something like that. AndreiD rpm packages now available http://www.digitalmars.com/d/download.html thanks to Jordi Sayol.Also, what about hosting a yum repository?
Jun 24 2010
On 06/24/2010 11:51 PM, Lars T. Kyllingstad wrote:On Thu, 24 Jun 2010 21:26:09 -0500, Ellery Newcomer wrote:More precisely, Synaptic is a front end to either deb or rpm, depending on which package manager your system uses. You still need to match the file type to the package manager type. (I'm not really sure whether synaptic is a front end to rpm or to yum, as from the user's point of view it's the same. I rather suspect yum, though, as when it's using deb's it's a front end to apt-get, and apt-get handles the downloading.)On 06/24/2010 08:40 PM, Andrei Alexandrescu wrote:Synaptic supports both deb and RPM package repositories. -LarsOn 06/24/2010 03:44 PM, Ellery Newcomer wrote:Ummm.. maybe? Yum is a package manager built on top of rpm, essentially red hat's counterpart to apt-get. I think the idea is each version of dmd as an rpm lives in the yum repository, and as new versions are released, the yum will semi-automatically upgrade the user's install. The nice thing about it is the user doesn't have to go around looking for the download each time the next release of dmd comes out, although they do have to initially configure their system. Typically, the repository host provides a downloadable rpm which performs that action. I don't know that it would be particularly useful for synaptic based linuxen (Andrei, see what you've got me doing?) though. Guess we'd have to make a synaptic repo too.On 06/24/2010 12:09 PM, Walter Bright wrote:Is that the thing that allows me to insert a line in the Synaptic repositories and then benefit of integration goodies? I'd love something like that. AndreiD rpm packages now available http://www.digitalmars.com/d/download.html thanks to Jordi Sayol.Also, what about hosting a yum repository?
Jun 25 2010