[gentoo-portage-dev] [PATCH] [repoman] Allow empty LICENSE in acct-* packages

2019-06-20 Thread Michał Górny
Since acct-* packages do not create any files (except for keepfile
for the home directory), it is perfectly normal for the LICENSE
to be empty.
---
 repoman/lib/repoman/modules/scan/metadata/ebuild_metadata.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/repoman/lib/repoman/modules/scan/metadata/ebuild_metadata.py 
b/repoman/lib/repoman/modules/scan/metadata/ebuild_metadata.py
index 4c35bbc12..2edf8f7f2 100644
--- a/repoman/lib/repoman/modules/scan/metadata/ebuild_metadata.py
+++ b/repoman/lib/repoman/modules/scan/metadata/ebuild_metadata.py
@@ -39,8 +39,8 @@ class EbuildMetadata(ScanBase):
ebuild = kwargs.get('ebuild').get()
for pos, missing_var in 
enumerate(self.repo_settings.qadata.missingvars):
if not ebuild.metadata.get(missing_var):
-   if kwargs.get('catdir') == "virtual" and \
-   missing_var in ("HOMEPAGE", "LICENSE"):
+   if (kwargs.get('catdir') in ("acct-group", 
"acct-user", "virtual")
+   and missing_var in ("HOMEPAGE", 
"LICENSE")):
continue
if ebuild.live_ebuild and missing_var == 
"KEYWORDS":
continue
-- 
2.22.0




[gentoo-portage-dev] Constraint-Based Dependency Solver for Portage: again

2019-06-20 Thread michael . lienhardt
Dear all,

A few months ago, I got back to my constraint-based dependency solver for 
portage, that I had to leave for a while.
Thanks to Zac Medico, it is now based on portage itself to query the portage 
tree, and so the code is far simpler (and far less buggy).
It is on github: https://github.com/gzoumix/pdepa

I still have some work to do on the implementation, and with some colleagues, 
we are planning to publish it in a conference, with the related theory.
However, to have relevant information to publish, I need your help, if you 
could answer some questions that will come up during testing.
For instance, in all my tests, emerge (during its dependency resolution) always 
replaces atoms with the latest version of the pc that matches it, even with all 
possible backtracking options being selected
 (I noticed this behavior because emerge failed installing a package such that 
the latest corresponding cpv could be installed, while the previous version 
could be).
Is it really the default behavior of emerge, and if yes, is there a way to make 
emerge consider all matching cpv for an atom?

Thank you!
Michael



Re: [gentoo-portage-dev] [PATCH] [repoman] Allow empty LICENSE in acct-* packages

2019-06-20 Thread Zac Medico
On 6/20/19 5:33 AM, Michał Górny wrote:
> Since acct-* packages do not create any files (except for keepfile
> for the home directory), it is perfectly normal for the LICENSE
> to be empty.
> ---
>  repoman/lib/repoman/modules/scan/metadata/ebuild_metadata.py | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/repoman/lib/repoman/modules/scan/metadata/ebuild_metadata.py 
> b/repoman/lib/repoman/modules/scan/metadata/ebuild_metadata.py
> index 4c35bbc12..2edf8f7f2 100644
> --- a/repoman/lib/repoman/modules/scan/metadata/ebuild_metadata.py
> +++ b/repoman/lib/repoman/modules/scan/metadata/ebuild_metadata.py
> @@ -39,8 +39,8 @@ class EbuildMetadata(ScanBase):
>   ebuild = kwargs.get('ebuild').get()
>   for pos, missing_var in 
> enumerate(self.repo_settings.qadata.missingvars):
>   if not ebuild.metadata.get(missing_var):
> - if kwargs.get('catdir') == "virtual" and \
> - missing_var in ("HOMEPAGE", "LICENSE"):
> + if (kwargs.get('catdir') in ("acct-group", 
> "acct-user", "virtual")
> + and missing_var in ("HOMEPAGE", 
> "LICENSE")):
>   continue
>   if ebuild.live_ebuild and missing_var == 
> "KEYWORDS":
>   continue
> 

Thanks, merged:

https://gitweb.gentoo.org/proj/portage.git/commit/?id=73232537c3f7d8cb4121c0a2dee5b450de584e38
-- 
Thanks,
Zac



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-portage-dev] Constraint-Based Dependency Solver for Portage: again

2019-06-20 Thread Zac Medico
On 6/20/19 12:02 PM, michael.lienha...@laposte.net wrote:
> Dear all,
> 
> A few months ago, I got back to my constraint-based dependency solver for 
> portage, that I had to leave for a while.
> Thanks to Zac Medico, it is now based on portage itself to query the portage 
> tree, and so the code is far simpler (and far less buggy).
> It is on github: https://github.com/gzoumix/pdepa

Great!

> I still have some work to do on the implementation, and with some colleagues, 
> we are planning to publish it in a conference, with the related theory.
> However, to have relevant information to publish, I need your help, if you 
> could answer some questions that will come up during testing.
> For instance, in all my tests, emerge (during its dependency resolution) 
> always replaces atoms with the latest version of the pc that matches it, even 
> with all possible backtracking options being selected
>  (I noticed this behavior because emerge failed installing a package such 
> that the latest corresponding cpv could be installed, while the previous 
> version could be).
> Is it really the default behavior of emerge, and if yes, is there a way to 
> make emerge consider all matching cpv for an atom?

It's capable of considering older versions, but maybe there's some
deficiency in the algorithm. We should analyze a specific example in
order to understand the behavior.

Maybe you're referring to this code which forces the highest version in
the event of a conflict:

https://gitweb.gentoo.org/proj/portage.git/commit/?id=a9064d08ef4c92a5d0d1bfb3dc8a01b7850812b0

> Thank you!
> Michael
> 
-- 
Thanks,
Zac



signature.asc
Description: OpenPGP digital signature