From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 2/3] graph-depends: split off get_version/get_depends into pkgutil.py
Date: Wed, 7 Nov 2018 23:45:12 +0100 [thread overview]
Message-ID: <20181107224512.GF4702@scaer> (raw)
In-Reply-To: <0bc9de12-ac88-89ad-c48b-06c75c475e16@mind.be>
Arnout, All,
On 2018-11-07 23:26 +0100, Arnout Vandecappelle spake thusly:
> On 07/11/18 20:39, Yann E. MORIN wrote:
> > I'm changing the way the dependency tree is extracted from the Makefile
> > data, and the function now has this API (function name yet to be
> > bike-shedded about):
> Let me take this opportunity to bikeshed on this right away :-)
If that were not you, then who else? ;-)
> > dict_deps, dict_types = get_dependency_tree(direction)
> I like the function name! However...
Oh come on, that *is* the most important thing! ;-)
> > where:
> >
> > - direction is either string 'forward' or 'back',
> I would make this a boolean argument:
> def get_dependency_tree(backward: bool = True) -> Dict[str, Package]:
Just for my own understanding: what syntax is that? I was trying to write
the protoype of the function, but in Python there is no prototype where
you can explain the return type. Yours seems like it is what I was
looking for. Is it described somewhere?
(See how I'm trying to sidetrack you into not bikeshedding? ;-))
> Note however that it is trivial to populate the backward dependencies once you
> have the forward ones, so I'm not sure its worth it to make the distinction.
I was also thinking about that too.
> > - dict_deps is a dictionnary, which keys are the package names, and
> > which values are lists of packages that are direct dependencies of
> > the key package (basically, what get_all_depends() currently
> > returns, but the whole dependency tree)
> >
> > - dict_types is a dictionnary, which keys are the package names, and
> > the values are string representing whtehr the packages are target or
> > host, and virtual or not, e.g.: 'target', 'target-virtual', 'host',
> > 'host-virtual'.
>
> I would take this opportunity to create a class Package with members:
>
> name: str # Package name including hsot- prefix
> dependencies: Set[Package] # Forward dependencies
> dependencies_backwards: Set[Package] # Backward dependencies
> virtual: bool # If true, it's a virtual package
> host: bool # If true, it's a host package
> version: str # Package version
Meh, I was thinking about exactly the same thing, but it is quite an
invasive change. But let me bikeshed in turn: I would make your proposed
'host' field an enum instead, because we don't have only packages, but
also rootfs. So I would have 'kind' (or 'type' if that's not reserved?)
which could be one of 'target','host', or 'rootfs'.
> The __init__ would set name, virtual, host, version. The dependencies are added
> dynamically, and whenever you add one you do it in both directions.
Yep.
Dang, I'm always getting side-tracked into side topics. All I wanted was
a faster graph-depends, and it's already there now! Sob... ;-)
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
next prev parent reply other threads:[~2018-11-07 22:45 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-03 20:57 [Buildroot] [PATCH 0/3] graph-depends: split off some functions to pkgutil.py Thomas De Schampheleire
2017-02-03 20:57 ` [Buildroot] [PATCH 1/3] graph-depends: avoid use of global var 'rule' in get_depends Thomas De Schampheleire
2017-02-05 14:20 ` Thomas Petazzoni
2017-02-05 20:37 ` Thomas De Schampheleire
2017-02-03 20:57 ` [Buildroot] [PATCH 1/1] support/scripts: split off get_version/get_depends into pkgutil.py Thomas De Schampheleire
2017-02-05 13:52 ` Thomas De Schampheleire
2017-02-03 20:57 ` [Buildroot] [PATCH 2/3] graph-depends: " Thomas De Schampheleire
2017-02-05 21:13 ` Yann E. MORIN
2017-02-05 21:27 ` Thomas De Schampheleire
2017-02-05 21:31 ` Yann E. MORIN
2017-02-06 12:49 ` Thomas Petazzoni
2018-11-07 18:07 ` Yann E. MORIN
2018-11-07 19:06 ` Thomas De Schampheleire
2018-11-07 19:39 ` Yann E. MORIN
2018-11-07 20:41 ` Thomas De Schampheleire
2018-11-07 21:06 ` Yann E. MORIN
2018-11-07 21:14 ` Thomas De Schampheleire
2018-11-07 22:26 ` Arnout Vandecappelle
2018-11-07 22:45 ` Yann E. MORIN [this message]
2018-11-08 8:01 ` Arnout Vandecappelle
2018-11-11 19:00 ` Yann E. MORIN
2017-02-03 20:57 ` [Buildroot] [PATCH 3/3] graph-depends: split off get_rdepends from get_depends Thomas De Schampheleire
2017-02-05 21:14 ` Yann E. MORIN
2017-02-06 12:50 ` Thomas Petazzoni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181107224512.GF4702@scaer \
--to=yann.morin.1998@free.fr \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.