FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo Development

 
 
LinkBack Thread Tools
 
Old 06-30-2012, 09:30 AM
Zac Medico
 
Default About forcing rebuilds of perl modules

On 06/30/2012 01:46 AM, Torsten Veller wrote:
> * Ian Stakenvicius <axs@gentoo.org>:
>> FYI, all the work subslotting the perl stuff doesn't work yet, so it's
>> probably best to wait a few days before trying it out.
>
> Perl modules have to be rebuilt if dev-lang/perl's useflags are changed.
>
> That would make dev-lang/perl's SLOT depend on users USE flags settings which
> is forbidden. Or will it work for sub-slot part?
> SLOT="0/5.16(?ithreads:-ithreads)(?debug:-debug)"

Maybe this useflags synchronization thing is best managed with the
existing USE deps support? So, if something interacts with perls
ithreads and debug flags, its dependency should be something like
dev-lang/perl[ithreads=][debug=].
--
Thanks,
Zac
 
Old 06-30-2012, 05:12 PM
Ian Stakenvicius
 
Default About forcing rebuilds of perl modules

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 30/06/12 05:30 AM, Zac Medico wrote:
> On 06/30/2012 01:46 AM, Torsten Veller wrote:
>> * Ian Stakenvicius <axs@gentoo.org>:
>>> FYI, all the work subslotting the perl stuff doesn't work yet,
>>> so it's probably best to wait a few days before trying it out.
>>
>> Perl modules have to be rebuilt if dev-lang/perl's useflags are
>> changed.
>>
>> That would make dev-lang/perl's SLOT depend on users USE flags
>> settings which is forbidden. Or will it work for sub-slot part?
>> SLOT="0/5.16(?ithreads:-ithreads)(?debug:-debug)"
>
> Maybe this useflags synchronization thing is best managed with the
> existing USE deps support? So, if something interacts with perls
> ithreads and debug flags, its dependency should be something like
> dev-lang/perl[ithreads=][debug=].

I think this makes a lot of sense too -- use-flag synchronization
would probably be best handled outside of SLOT, otherwise we'd have to
implement dynamic slots to get this properly supported.

Now, that being said, it might be worthwhile if perl-module was
expanded a bit in relation to the *DEPEND it adds -- having a
PERL_MODULE_USES var or something, that could automatically append to
IUSE (if necessary) and set the use-deps on dev-lang/perl, would make
this a fairly simple implementation I think.

Do all packages need to be rebuilt when some of these use flags
change? Maybe auto-appending those particular flags (ithreads, debug)
to IUSE and putting them on the dev-lang/perl dep is all that'll be
needed, if this is the case.

- -----

On an semi-related note, I have noticed that there are a fair number
of ebuilds in the tree that are using perl-module at EAPI=4 and have
'perl? (dev-lang/perl)' in *DEPEND, but are not setting
GENTOO_DEPEND_ON_PERL=no before their inherit (and so perl is ALWAYS a
dep). I'm thinking of filing bugs against all of these...

- -----

Finally, thanks for testing!! I hope to improve the overlay a bit by
the middle of next week, including a script that'll patch /var/db/pkg
to simulate 4-slot-abi always existing (so one doesn't have to emerge
- -e @world to get their environment ready to test).

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)

iF4EAREIAAYFAk/vM28ACgkQ2ugaI38ACPAXlAD+KvzYGYMaTbgYS3eT6ADGzhEv
4+ehZ4PQ+9fNEyBMpn8A/2GXQqWY9erx+Dd8FL/jwk8KbReJoMwfffPEWCe38rfW
=4DDP
-----END PGP SIGNATURE-----
 
Old 07-07-2012, 01:17 AM
Kent Fredric
 
Default About forcing rebuilds of perl modules

On 1 July 2012 05:12, Ian Stakenvicius <axs@gentoo.org> wrote:
> Do all packages need to be rebuilt when some of these use flags
> change? Maybe auto-appending those particular flags (ithreads, debug)
> to IUSE and putting them on the dev-lang/perl dep is all that'll be
> needed, if this is the case.


Not all packages need rebuilding, but *every* package with XS parts
need rebuilding, as code built with DEBUG/ITHREADS enabled will not
execute on perls with different DEBUG/ITHREADS options. ( And as a
preventative measure, they're installed in entirely different dirs )

@INC:
/etc/perl
/usr/local/lib64/perl5/5.16.0/x86_64-linux <- binary
/usr/local/lib64/perl5/5.16.0
/usr/lib64/perl5/vendor_perl/5.16.0/x86_64-linux <-- binary
/usr/lib64/perl5/vendor_perl/5.16.0
/usr/lib64/perl5/5.16.0/x86_64-linux <-- binary
/usr/lib64/perl5/5.16.0
.

.

( At least, the dir name switching used to be a thing, I can't see it
in the code anymore so I could be wrong, I don't tend to twiddle those
USE flags often )

Also, it would appear that in some cases ( ie: dev-perl/Mouse ) , they
don't install any binary code , but the .pm files themselves are
installed into the x86_64-linux folder, which, if that path is removed
from @INC when you rebuild perl with different USE flags, will break
them, despite not having any binary code.

But either way, if "SlotABI" is supposed to convey "A change that can
occur to a package that means other packages that were built on it
need to be rebuilt" , then this is something we need.

--
Kent

perl -e "print substr( "edrgmaM SPA NOcomil.ic@tfrken", $_ * 3,
3 ) for ( 9,8,0,7,1,6,5,4,3,2 );"

http://kent-fredric.fox.geek.nz
 
Old 07-07-2012, 04:40 AM
Zac Medico
 
Default About forcing rebuilds of perl modules

On 07/06/2012 06:17 PM, Kent Fredric wrote:
> But either way, if "SlotABI" is supposed to convey "A change that can
> occur to a package that means other packages that were built on it
> need to be rebuilt" , then this is something we need.

Much like SLOT, SLOT/ABI-sub-slot as it's implemented in EAPI 4-slot-abi
[1] is intended to correlate to some extent with the package version.

Rebuilds involving USE changes have already been supported since EAPI 2
via USE deps. With existing versions of portage, you have to run
something like `emerge --newuse -uD @world` to ensure that everything is
rebuilt to match current USE settings. However, it would be fairly easy
to make emerge more pro-active about triggering rebuilds to satisfy
reverse USE dependencies when necessary.

[1]
http://blogs.gentoo.org/zmedico/2012/06/23/automatic-rebuilds-with-experimental-eapi-4-slot-abi/
--
Thanks,
Zac
 

Thread Tools




All times are GMT. The time now is 09:38 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org