Best regards,
-Andrew
Richard Hansen <rhansen@rhansen.org <mailto: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 <mailto: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 <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 <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 <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,