Hi, On Fri, 04 Jun 2021, Helmut Grohne wrote: > This is very sad. The whole point of me reaching out where was > specifically trying to avoid this kind of fragmentation and now you're > adding to it. While mdbp also is an implementation, it first and > foremost is an API and I'd hope that it would be generic enough to be > reused here.
I don't want to sound too negative but you can't put at the same level "mdbp-ssh" and "mdbp-sbuild". Your abstraction is going too far by trying to include remote building IMO. And while abstractions are nice, for debusine I need to know how each implementation work to be able to answer questions like "can I build for that distribution on this worker" (i.e. do I have the required chroots) ? And here your current abstraction is hurting more than it helps. So I'm afraid that mdbp is just not suited for the needs of debusine at this point. Also given that you want to include support of building across multiple machines, I don't really understand why you select a command line API as the interface to drive this all. It's just not a good fit. Having one process drive all the machines via ssh is just fragile and not really scalable. And it requires all the machines to be directly adressable. In debusine, only the server needs a public IP, the workers connect to it. > Of course, you can turn this around and say that I'm the one fragmenting > and I should be using the debusine abstraction. Unfortunately, I'd need > a time machine to get it from the future. Otherwise, I'd really do that. :-) We managed to live without this for years, we can wait a few more months. But it's not up to me to tell you what to work on. > > As I said, I don't want to tightly couple it, it's just the easiest and > > most useful first step for me. > > I doubt this is true. You already learned the hard way that coming up > with an abstraction for just sbuild is difficult. Using an existing > abstraction saves you from a pile of thinking and quite certainly is > easier. Thanks for your feedback indeed, it improved the initial design and will avoid some rework in the future when we add the abstraction. Cheers, -- ⢀⣴⠾⠻⢶⣦⠀ Raphaël Hertzog <hert...@debian.org> ⣾⠁⢠⠒⠀⣿⡁ ⢿⡄⠘⠷⠚⠋ The Debian Handbook: https://debian-handbook.info/get/ ⠈⠳⣄⠀⠀⠀⠀ Debian Long Term Support: https://deb.li/LTS