[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Are circular dependencies problematic?



Hi Richard,

Wow. Nicely hard work. However, the  merge request is a bit too long but without a simple key example to understand even I have been went through the process for updating -google-api and -google-cloud by myself.

I think it’s best to do a discussion with a small talk to demonstrate how I did it during mini debconf Hamburg.

Possibly some parts for go packing policy and workflow can be optimized. 

Would that be possible that you or anyone else in the team would like to join mini debconf Hamburg to discuss and optimize the workflow? Hopefully we can map it into the documentation for circular build dependencies together?

Best regards,

-Andrew


Richard Hansen <rhansen@rhansen.org>於 2026年3月4日 週三,21:52寫道:
On 3/4/26 03:00, Andrew Lee wrote:
> On Wed, Mar 4, 2026 at 2:02 AM Arnaud Rebillout <arnaudr@debian.org> wrote:
>> I'd think a little code vendoring can be better than a circular
>> dependency. In this particular case, the maintainer of this package
>> knows best.
> I would like to share my experience when I deal with circular
> dependency while updating golang-google-api and go-google-cloud
> packages.
>
> 1. Use vendoring to bootstrap both binary packages.
> 2. Put these binary packages into a local repo where allows pbuilder
> or sbuild to use.
> 3. Do the clean and proper way to updating the package without
> vendoring but use the local repo in pbuilder or sbuild.
> 4. Replace the vendoring binary packages with clean packages in the local repo.
> 5. Rebuild the package with clean binary packages.
>
> This way I can always skip the circular dependency locally. After I
> cleanly updated and built the package, do binary upload first and then
> source upload.

Thank you all for the information!  I opened a merge request for a new
best practice section in
<https://go-team.pages.debian.net/packaging.html> that discusses
circular dependencies:

https://salsa.debian.org/go-team/go-team.pages.debian.net/-/merge_requests/12

A rendered version of that MR can be found by going to:

https://salsa.debian.org/rhansen/go-team.pages.debian.net/-/jobs/artifacts/circular-dependencies/browse/build?job=build

then click on packaging.html, then click on the link on the warning
page, then go to the "Circular Dependencies" subsection.

Reviews would be appreciated.

Thanks,
Richard


>
> Regards,


Reply to: