[opensuse-packaging] perl directories

Hi, suse $ perl -V:installvendorarch -V:installvendorlib installvendorarch='/usr/lib/perl5/vendor_perl/5.8.8/i586-linux-thread-multi'; installvendorlib='/usr/lib/perl5/vendor_perl/5.8.8'; debian $ perl -V:installvendorarch -V:installvendorlib installvendorarch='/usr/lib/perl5'; installvendorlib='/usr/share/perl5'; Couldn't we have a lot more noarch packages by defining those variables the Debian way? That would also allow to install perl modules from newer/older distros as the exact version number is not encoded in the path. cu Ludwig -- (o_ Ludwig Nussel //\ SUSE Labs V_/_ http://www.suse.de/ SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nuernberg) --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org

On 2007-05-16 11:21:00 +0200, Ludwig Nussel wrote:
suse $ perl -V:installvendorarch -V:installvendorlib installvendorarch='/usr/lib/perl5/vendor_perl/5.8.8/i586-linux-thread-multi'; installvendorlib='/usr/lib/perl5/vendor_perl/5.8.8';
debian $ perl -V:installvendorarch -V:installvendorlib installvendorarch='/usr/lib/perl5'; installvendorlib='/usr/share/perl5';
Couldn't we have a lot more noarch packages by defining those variables the Debian way? That would also allow to install perl modules from newer/older distros as the exact version number is not encoded in the path.
same goes for python and ruby btw. but those patches are not upstream for any of the 3 languages. another problem would be that you cant have noarch and arch packages from the same spec. darix -- openSUSE - SUSE Linux is my linux openSUSE is good for you www.opensuse.org --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org

Marcus Rueckert wrote:
On 2007-05-16 11:21:00 +0200, Ludwig Nussel wrote:
suse $ perl -V:installvendorarch -V:installvendorlib installvendorarch='/usr/lib/perl5/vendor_perl/5.8.8/i586-linux-thread-multi'; installvendorlib='/usr/lib/perl5/vendor_perl/5.8.8';
debian $ perl -V:installvendorarch -V:installvendorlib installvendorarch='/usr/lib/perl5'; installvendorlib='/usr/share/perl5';
Couldn't we have a lot more noarch packages by defining those variables the Debian way? That would also allow to install perl modules from newer/older distros as the exact version number is not encoded in the path.
same goes for python
Actually unlike python, the perl directory layout doesn't prevent you from creating noarch packages, because it's /usr/lib/perl5 everywhere and the arch-dependent files go to /usr/lib/perl5/$arch-$os-blah-blah. Just there aren't many (read: zero) noarch perl packages in the distribution :-) Michal --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org

On 2007-05-16 11:40:13 +0200, Michal Marek wrote:
Actually unlike python, the perl directory layout doesn't prevent you from creating noarch packages, because it's /usr/lib/perl5 everywhere and the arch-dependent files go to /usr/lib/perl5/$arch-$os-blah-blah. Just there aren't many (read: zero) noarch perl packages in the distribution :-)
there are zero python noarch aswell. and zero ruby noarch. e.g. ruby could do the same as perl. always install into /usr/lib. the arch dependent part is encapsulated in a subdir. vendordir: /usr/lib64/ruby/vendor_ruby vendorlibdir: /usr/lib64/ruby/vendor_ruby/1.8 vendorarchdir: /usr/lib64/ruby/vendor_ruby/1.8/x86_64-linux darix -- openSUSE - SUSE Linux is my linux openSUSE is good for you www.opensuse.org --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org

On Wed, 16 May 2007, Marcus Rueckert wrote:
On 2007-05-16 11:40:13 +0200, Michal Marek wrote:
Actually unlike python, the perl directory layout doesn't prevent you from creating noarch packages, because it's /usr/lib/perl5 everywhere and the arch-dependent files go to /usr/lib/perl5/$arch-$os-blah-blah. Just there aren't many (read: zero) noarch perl packages in the distribution :-)
there are zero python noarch aswell. and zero ruby noarch. e.g. ruby could do the same as perl. always install into /usr/lib. the arch dependent part is encapsulated in a subdir.
vendordir: /usr/lib64/ruby/vendor_ruby vendorlibdir: /usr/lib64/ruby/vendor_ruby/1.8 vendorarchdir: /usr/lib64/ruby/vendor_ruby/1.8/x86_64-linux
Architecture independent files must go in /usr/share Richard. -- Richard Guenther <rguenther@suse.de> Novell / SUSE Labs SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746 - GF: Markus Rex --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org

On 2007-05-16 13:35:58 +0200, Richard Guenther wrote:
On Wed, 16 May 2007, Marcus Rueckert wrote:
On 2007-05-16 11:40:13 +0200, Michal Marek wrote:
Actually unlike python, the perl directory layout doesn't prevent you from creating noarch packages, because it's /usr/lib/perl5 everywhere and the arch-dependent files go to /usr/lib/perl5/$arch-$os-blah-blah. Just there aren't many (read: zero) noarch perl packages in the distribution :-)
there are zero python noarch aswell. and zero ruby noarch. e.g. ruby could do the same as perl. always install into /usr/lib. the arch dependent part is encapsulated in a subdir.
vendordir: /usr/lib64/ruby/vendor_ruby vendorlibdir: /usr/lib64/ruby/vendor_ruby/1.8 vendorarchdir: /usr/lib64/ruby/vendor_ruby/1.8/x86_64-linux
Architecture independent files must go in /usr/share
thats the theory. now lets see the practice. darix -- openSUSE - SUSE Linux is my linux openSUSE is good for you www.opensuse.org --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org

On Wed, 16 May 2007, Marcus Rueckert wrote:
On 2007-05-16 13:35:58 +0200, Richard Guenther wrote:
On Wed, 16 May 2007, Marcus Rueckert wrote:
On 2007-05-16 11:40:13 +0200, Michal Marek wrote:
Actually unlike python, the perl directory layout doesn't prevent you from creating noarch packages, because it's /usr/lib/perl5 everywhere and the arch-dependent files go to /usr/lib/perl5/$arch-$os-blah-blah. Just there aren't many (read: zero) noarch perl packages in the distribution :-)
there are zero python noarch aswell. and zero ruby noarch. e.g. ruby could do the same as perl. always install into /usr/lib. the arch dependent part is encapsulated in a subdir.
vendordir: /usr/lib64/ruby/vendor_ruby vendorlibdir: /usr/lib64/ruby/vendor_ruby/1.8 vendorarchdir: /usr/lib64/ruby/vendor_ruby/1.8/x86_64-linux
Architecture independent files must go in /usr/share
thats the theory. now lets see the practice.
If you change something there's no need to not follow the "theory". Richard. --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org

On Wednesday, 16. May 2007, Marcus Rueckert wrote:
there are zero python noarch aswell
wrong. rpmlint is noarch, just because I refuse to adhere to the python-packages-are-arch policy :) Dirk --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org

On Wed, 16 May 2007, Marcus Rueckert wrote:
On 2007-05-16 11:21:00 +0200, Ludwig Nussel wrote:
suse $ perl -V:installvendorarch -V:installvendorlib installvendorarch='/usr/lib/perl5/vendor_perl/5.8.8/i586-linux-thread-multi'; installvendorlib='/usr/lib/perl5/vendor_perl/5.8.8';
debian $ perl -V:installvendorarch -V:installvendorlib installvendorarch='/usr/lib/perl5'; installvendorlib='/usr/share/perl5';
Couldn't we have a lot more noarch packages by defining those variables the Debian way? That would also allow to install perl modules from newer/older distros as the exact version number is not encoded in the path.
same goes for python and ruby btw. but those patches are not upstream for any of the 3 languages. another problem would be that you cant have noarch and arch packages from the same spec.
One more reason to fix this. Richard. -- Richard Guenther <rguenther@suse.de> Novell / SUSE Labs SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746 - GF: Markus Rex --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org

On Wed, May 16, 2007 at 11:21:00AM +0200, Ludwig Nussel wrote:
suse $ perl -V:installvendorarch -V:installvendorlib installvendorarch='/usr/lib/perl5/vendor_perl/5.8.8/i586-linux-thread-multi'; installvendorlib='/usr/lib/perl5/vendor_perl/5.8.8';
debian $ perl -V:installvendorarch -V:installvendorlib installvendorarch='/usr/lib/perl5'; installvendorlib='/usr/share/perl5';
Couldn't we have a lot more noarch packages by defining those variables the Debian way?
No, the debian way is just broken. There must be a 'vendor' somewhere in the vendor variables... Besides, $installvendorlib is where the noarch stuff should live. Cheers, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX Products GmbH, GF Markus Rex, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org

Michael Schroeder wrote:
On Wed, May 16, 2007 at 11:21:00AM +0200, Ludwig Nussel wrote:
suse $ perl -V:installvendorarch -V:installvendorlib installvendorarch='/usr/lib/perl5/vendor_perl/5.8.8/i586-linux-thread-multi'; installvendorlib='/usr/lib/perl5/vendor_perl/5.8.8';
debian $ perl -V:installvendorarch -V:installvendorlib installvendorarch='/usr/lib/perl5'; installvendorlib='/usr/share/perl5';
Couldn't we have a lot more noarch packages by defining those variables the Debian way?
No, the debian way is just broken. There must be a 'vendor' somewhere in the vendor variables...
Ok, so there is no objection against removing the exact version number from the path at least?
Besides, $installvendorlib is where the noarch stuff should live.
The .packlist file gets installed into $installvendorarch though. See for example perl-URI. Since that file is touched by %perl_process_packlist anyways, couldn't it be moved to a noarch dir or removed? cu Ludwig -- (o_ Ludwig Nussel //\ SUSE Labs V_/_ http://www.suse.de/ SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nuernberg) --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org

On Wed, May 16, 2007 at 11:59:40AM +0200, Ludwig Nussel wrote:
Ok, so there is no objection against removing the exact version number from the path at least?
Nope, we can't do this because perl may change in an incompatible way (it did so in the past).
Besides, $installvendorlib is where the noarch stuff should live.
The .packlist file gets installed into $installvendorarch though. See for example perl-URI. Since that file is touched by %perl_process_packlist anyways, couldn't it be moved to a noarch dir or removed?
Either that or we add a "noarch" flag that tells it to put the packlist into vendorlib. M. --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org

Michael Schroeder wrote:
On Wed, May 16, 2007 at 11:59:40AM +0200, Ludwig Nussel wrote:
Ok, so there is no objection against removing the exact version number from the path at least?
Nope, we can't do this because perl may change in an incompatible way (it did so in the past).
Well, since there is only one perl version per distro one can ensure a compatible version by specifying proper requires. The typical "Requires: perl = %perl_version" can be loosened to e.g. "Requires: perl >= perl-5.6.0" then. cu Ludwig -- (o_ Ludwig Nussel //\ SUSE Labs V_/_ http://www.suse.de/ SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nuernberg) --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
participants (6)
-
Dirk Mueller
-
Ludwig Nussel
-
Marcus Rueckert
-
Michael Schroeder
-
Michal Marek
-
Richard Guenther