Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package docker-compose for openSUSE:Factory checked in at 2024-01-28 19:39:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/docker-compose (Old) and /work/SRC/openSUSE:Factory/.docker-compose.new.1815 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "docker-compose" Sun Jan 28 19:39:43 2024 rev:33 rq:1141804 version:2.24.3 Changes: -------- --- /work/SRC/openSUSE:Factory/docker-compose/docker-compose.changes 2024-01-22 20:34:47.366456242 +0100 +++ /work/SRC/openSUSE:Factory/.docker-compose.new.1815/docker-compose.changes 2024-01-28 19:39:47.262397266 +0100 @@ -1,0 +2,18 @@ +Fri Jan 26 19:47:46 UTC 2024 - opensuse_buildserv...@ojkastl.de + +- Update to version 2.24.3: + * use a custom version of fsutils that fixes a bug on Windows + causing all Compose builds to fail + * introduce stopAndRemoveContainer to share logic scaling down + +------------------------------------------------------------------- +Tue Jan 23 17:45:14 UTC 2024 - opensuse_buildserv...@ojkastl.de + +- Update to version 2.24.2: + * bump compose-go to v2.0.0-rc.2 + * ci(deps): upgrade to Moby v25.0.0 GA (#11381) + * docs: update link to use canonical URL for command + * go.mod: github.com/moby/sys/mountinfo v0.7.1 + * go.mod: github.com/google/uuid v1.5.0 + +------------------------------------------------------------------- Old: ---- compose-2.24.1.obscpio New: ---- compose-2.24.3.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ docker-compose.spec ++++++ --- /var/tmp/diff_new_pack.DjO39m/_old 2024-01-28 19:39:49.558479964 +0100 +++ /var/tmp/diff_new_pack.DjO39m/_new 2024-01-28 19:39:49.562480108 +0100 @@ -19,7 +19,7 @@ %define __arch_install_post export NO_BRP_STRIP_DEBUG=true Name: docker-compose -Version: 2.24.1 +Version: 2.24.3 Release: 0 Summary: Define and run multi-container applications with Docker License: Apache-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.DjO39m/_old 2024-01-28 19:39:49.594481261 +0100 +++ /var/tmp/diff_new_pack.DjO39m/_new 2024-01-28 19:39:49.598481405 +0100 @@ -3,7 +3,7 @@ <param name="url">https://github.com/docker/compose</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="revision">v2.24.1</param> + <param name="revision">v2.24.3</param> <param name="versionformat">@PARENT_TAG@</param> <param name="changesgenerate">enable</param> <param name="versionrewrite-pattern">v(.*)</param> @@ -17,7 +17,7 @@ <param name="compression">gz</param> </service> <service name="go_modules" mode="manual"> - <param name="archive">compose-2.24.1.obscpio</param> + <param name="archive">compose-2.24.3.obscpio</param> </service> </services> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.DjO39m/_old 2024-01-28 19:39:49.618482126 +0100 +++ /var/tmp/diff_new_pack.DjO39m/_new 2024-01-28 19:39:49.622482270 +0100 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/docker/compose</param> - <param name="changesrevision">83e020734d65afac40525e2fa42f02f81cf70e99</param></service></servicedata> + <param name="changesrevision">bef8785fc230d48c1225ab5aedfdb943e0ce2a33</param></service></servicedata> (No newline at EOF) ++++++ compose-2.24.1.obscpio -> compose-2.24.3.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/compose-2.24.1/.github/workflows/ci.yml new/compose-2.24.3/.github/workflows/ci.yml --- old/compose-2.24.1/.github/workflows/ci.yml 2024-01-18 10:47:24.000000000 +0100 +++ new/compose-2.24.3/.github/workflows/ci.yml 2024-01-24 18:39:58.000000000 +0100 @@ -19,7 +19,7 @@ default: "false" env: - DOCKER_CLI_VERSION: "24.0.7" + DOCKER_CLI_VERSION: "25.0.0" permissions: contents: read # to fetch code (actions/checkout) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/compose-2.24.1/docs/reference/compose_events.md new/compose-2.24.3/docs/reference/compose_events.md --- old/compose-2.24.1/docs/reference/compose_events.md 2024-01-18 10:47:24.000000000 +0100 +++ new/compose-2.24.3/docs/reference/compose_events.md 2024-01-24 18:39:58.000000000 +0100 @@ -33,4 +33,4 @@ } ``` -The events that can be received using this can be seen [here](https://docs.docker.com/engine/reference/commandline/events/#object-types). +The events that can be received using this can be seen [here](https://docs.docker.com/engine/reference/commandline/system_events/#object-types). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/compose-2.24.1/docs/reference/docker_compose_events.yaml new/compose-2.24.3/docs/reference/docker_compose_events.yaml --- old/compose-2.24.1/docs/reference/docker_compose_events.yaml 2024-01-18 10:47:24.000000000 +0100 +++ new/compose-2.24.3/docs/reference/docker_compose_events.yaml 2024-01-24 18:39:58.000000000 +0100 @@ -19,7 +19,7 @@ } ``` - The events that can be received using this can be seen [here](/engine/reference/commandline/events/#object-types). + The events that can be received using this can be seen [here](/engine/reference/commandline/system_events/#object-types). usage: docker compose events [OPTIONS] [SERVICE...] pname: docker compose plink: docker_compose.yaml diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/compose-2.24.1/go.mod new/compose-2.24.3/go.mod --- old/compose-2.24.1/go.mod 2024-01-18 10:47:24.000000000 +0100 +++ new/compose-2.24.3/go.mod 2024-01-24 18:39:58.000000000 +0100 @@ -6,15 +6,15 @@ github.com/AlecAivazis/survey/v2 v2.3.7 github.com/Microsoft/go-winio v0.6.1 github.com/buger/goterm v1.0.4 - github.com/compose-spec/compose-go/v2 v2.0.0-rc.1 + github.com/compose-spec/compose-go/v2 v2.0.0-rc.2 github.com/containerd/console v1.0.3 github.com/containerd/containerd v1.7.12 github.com/davecgh/go-spew v1.1.1 github.com/distribution/reference v0.5.0 github.com/docker/buildx v0.12.0-rc2.0.20231219140829-617f538cb315 - github.com/docker/cli v25.0.0-rc.3+incompatible + github.com/docker/cli v25.0.0+incompatible github.com/docker/cli-docs-tool v0.6.0 - github.com/docker/docker v25.0.0-rc.3+incompatible + github.com/docker/docker v25.0.0+incompatible github.com/docker/go-connections v0.5.0 github.com/docker/go-units v0.5.0 github.com/fsnotify/fsevents v0.1.1 @@ -94,7 +94,7 @@ github.com/google/gnostic v0.5.7-v3refs // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect - github.com/google/uuid v1.3.1 // indirect + github.com/google/uuid v1.5.0 // indirect github.com/gorilla/mux v1.8.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect @@ -118,7 +118,7 @@ github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/moby/locker v1.0.1 // indirect github.com/moby/spdystream v0.2.0 // indirect - github.com/moby/sys/mountinfo v0.6.2 // indirect + github.com/moby/sys/mountinfo v0.7.1 // indirect github.com/moby/sys/sequential v0.5.0 // indirect github.com/moby/sys/signal v0.7.0 // indirect github.com/moby/sys/symlink v0.2.0 // indirect @@ -182,3 +182,7 @@ sigs.k8s.io/yaml v1.3.0 // indirect tags.cncf.io/container-device-interface v0.6.2 // indirect ) + +// Fix an issue with fsutil v0.0.0-20230825212630-f09800878302 on Windows +// See https://github.com/docker/buildx/issues/2207#issuecomment-1908460460 +replace github.com/tonistiigi/fsutil v0.0.0-20230825212630-f09800878302 => github.com/crazy-max/fsutil v0.0.0-20240124164449-376dc28ff40f diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/compose-2.24.1/go.sum new/compose-2.24.3/go.sum --- old/compose-2.24.1/go.sum 2024-01-18 10:47:24.000000000 +0100 +++ new/compose-2.24.3/go.sum 2024-01-24 18:39:58.000000000 +0100 @@ -86,8 +86,8 @@ github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb h1:EDmT6Q9Zs+SbUoc7Ik9EfrFqcylYqgPZ9ANSbTAntnE= github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb/go.mod h1:ZjrT6AXHbDs86ZSdt/osfBi5qfexBrKUdONk989Wnk4= -github.com/compose-spec/compose-go/v2 v2.0.0-rc.1 h1:0nnSpdYg29uaQOU/YJ1YSgYgwkQr/XNZ0QAFtEPTtIA= -github.com/compose-spec/compose-go/v2 v2.0.0-rc.1/go.mod h1:IVsvFyGVhw4FASzUtlWNVaAOhYmakXAFY9IlZ7LAuD8= +github.com/compose-spec/compose-go/v2 v2.0.0-rc.2 h1:eJ01FpliL/02KvsaPyH1bSLbM1S70yWQUojHVRbyvy4= +github.com/compose-spec/compose-go/v2 v2.0.0-rc.2/go.mod h1:IVsvFyGVhw4FASzUtlWNVaAOhYmakXAFY9IlZ7LAuD8= github.com/containerd/cgroups v1.1.0 h1:v8rEWFl6EoqHB+swVNjVoCJE8o3jX7e8nqBGPLaDFBM= github.com/containerd/cgroups v1.1.0/go.mod h1:6ppBcbh/NOOUU+dMKrykgaBnK9lCIBxHqJDGwsa1mIw= github.com/containerd/console v1.0.3 h1:lIr7SlA5PxZyMV30bDW0MGbiOPXwc63yRuCP0ARubLw= @@ -110,6 +110,8 @@ github.com/containerd/typeurl/v2 v2.1.1 h1:3Q4Pt7i8nYwy2KmQWIw2+1hTvwTE/6w9FqcttATPO/4= github.com/containerd/typeurl/v2 v2.1.1/go.mod h1:IDp2JFvbwZ31H8dQbEIY7sDl2L3o3HZj1hsSQlywkQ0= github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/crazy-max/fsutil v0.0.0-20240124164449-376dc28ff40f h1:f+sk5oEeSYL/2tjWraiDlR/JHJVwtqKYpGtMkfJ7MTc= +github.com/crazy-max/fsutil v0.0.0-20240124164449-376dc28ff40f/go.mod h1:9kMVqMyQ/Sx2df5LtnGG+nbrmiZzCS7V6gjW3oGHsvI= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.17/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= @@ -122,15 +124,15 @@ github.com/distribution/reference v0.5.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= github.com/docker/buildx v0.12.0-rc2.0.20231219140829-617f538cb315 h1:UZxx9xBADdf/9UmSdEUi+pdJoPKpgcf9QUAY5gEIYmY= github.com/docker/buildx v0.12.0-rc2.0.20231219140829-617f538cb315/go.mod h1:X8ZHhuW6ncwtoJ36TlU+gyaROTcBkTE01VHYmTStQCE= -github.com/docker/cli v25.0.0-rc.3+incompatible h1:pk9OUWCVWtxZC5n9n4heCBSJq2IT6nixGUFDznbMtwo= -github.com/docker/cli v25.0.0-rc.3+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v25.0.0+incompatible h1:zaimaQdnX7fYWFqzN88exE9LDEvRslexpFowZBX6GoQ= +github.com/docker/cli v25.0.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/cli-docs-tool v0.6.0 h1:Z9x10SaZgFaB6jHgz3OWooynhSa40CsWkpe5hEnG/qA= github.com/docker/cli-docs-tool v0.6.0/go.mod h1:zMjqTFCU361PRh8apiXzeAZ1Q/xupbIwTusYpzCXS/o= github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk= github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v25.0.0-rc.3+incompatible h1:f2YaukI/rOEueLwmDGAVcES5E8Y+BT/e7pQWLu/WZSk= -github.com/docker/docker v25.0.0-rc.3+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v25.0.0+incompatible h1:g9b6wZTblhMgzOT2tspESstfw6ySZ9kdm94BLDKaZac= +github.com/docker/docker v25.0.0+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.8.0 h1:YQFtbBQb4VrpoPxhFuzEBPQ9E16qz5SpHLS+uswaCp8= github.com/docker/docker-credential-helpers v0.8.0/go.mod h1:UGFXcuoQ5TxPiB54nHOZ32AWRqQdECoh/Mg0AlEYb40= github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c h1:lzqkGL9b3znc+ZUgi7FlLnqjQhcXxkNM/quxIjBVMD0= @@ -235,8 +237,8 @@ github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= -github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= -github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= +github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/mux v1.7.0/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= @@ -342,8 +344,8 @@ github.com/moby/patternmatcher v0.6.0/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc= github.com/moby/spdystream v0.2.0 h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8= github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= -github.com/moby/sys/mountinfo v0.6.2 h1:BzJjoreD5BMFNmD9Rus6gdd1pLuecOFPt8wC+Vygl78= -github.com/moby/sys/mountinfo v0.6.2/go.mod h1:IJb6JQeOklcdMU9F5xQ8ZALD+CUr5VlGpwtX+VE0rpI= +github.com/moby/sys/mountinfo v0.7.1 h1:/tTvQaSJRr2FshkhXiIpux6fQ2Zvc4j7tAhMTStAG2g= +github.com/moby/sys/mountinfo v0.7.1/go.mod h1:IJb6JQeOklcdMU9F5xQ8ZALD+CUr5VlGpwtX+VE0rpI= github.com/moby/sys/sequential v0.5.0 h1:OPvI35Lzn9K04PBbCLW0g4LcFAJgHsvXsRyewg5lXtc= github.com/moby/sys/sequential v0.5.0/go.mod h1:tH2cOOs5V9MlPiXcQzRC+eEyab644PWKGRYaaV5ZZlo= github.com/moby/sys/signal v0.7.0 h1:25RW3d5TnQEoKvRbEKUGay6DCQ46IxAVTT9CUMgmsSI= @@ -470,8 +472,6 @@ github.com/theupdateframework/notary v0.7.0/go.mod h1:c9DRxcmhHmVLDay4/2fUYdISnHqbFDGRSlXPO0AhYWw= github.com/tilt-dev/fsnotify v1.4.8-0.20220602155310-fff9c274a375 h1:QB54BJwA6x8QU9nHY3xJSZR2kX9bgpZekRKGkLTmEXA= github.com/tilt-dev/fsnotify v1.4.8-0.20220602155310-fff9c274a375/go.mod h1:xRroudyp5iVtxKqZCrA6n2TLFRBf8bmnjr1UD4x+z7g= -github.com/tonistiigi/fsutil v0.0.0-20230825212630-f09800878302 h1:ZT8ibgassurSISJ1Pj26NsM3vY2jxFZn63Nd/TpHmRw= -github.com/tonistiigi/fsutil v0.0.0-20230825212630-f09800878302/go.mod h1:9kMVqMyQ/Sx2df5LtnGG+nbrmiZzCS7V6gjW3oGHsvI= github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea h1:SXhTLE6pb6eld/v/cCndK0AMpt1wiVFb/YYmqB3/QG0= github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea/go.mod h1:WPnis/6cRcDZSUvVmezrxJPkiO87ThFYsoUiMwWNDJk= github.com/tonistiigi/vt100 v0.0.0-20230623042737-f9a4f7ef6531 h1:Y/M5lygoNPKwVNLMPXgVfsRT40CSFKXCxuU8LoHySjs= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/compose-2.24.1/pkg/compose/convergence.go new/compose-2.24.3/pkg/compose/convergence.go --- old/compose-2.24.1/pkg/compose/convergence.go 2024-01-18 10:47:24.000000000 +0100 +++ new/compose-2.24.3/pkg/compose/convergence.go 2024-01-24 18:39:58.000000000 +0100 @@ -134,14 +134,7 @@ container := container traceOpts := append(tracing.ServiceOptions(service), tracing.ContainerOptions(container)...) eg.Go(tracing.SpanWrapFuncForErrGroup(ctx, "service/scale/down", traceOpts, func(ctx context.Context) error { - timeoutInSecond := utils.DurationSecondToInt(timeout) - err := c.service.apiClient().ContainerStop(ctx, container.ID, containerType.StopOptions{ - Timeout: timeoutInSecond, - }) - if err != nil { - return err - } - return c.service.apiClient().ContainerRemove(ctx, container.ID, containerType.RemoveOptions{}) + return c.service.stopAndRemoveContainer(ctx, container, timeout, false) })) continue } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/compose-2.24.1/pkg/compose/create.go new/compose-2.24.3/pkg/compose/create.go --- old/compose-2.24.1/pkg/compose/create.go 2024-01-18 10:47:24.000000000 +0100 +++ new/compose-2.24.3/pkg/compose/create.go 2024-01-24 18:39:58.000000000 +0100 @@ -99,8 +99,7 @@ orphans := observedState.filter(isNotService(allServiceNames...)) if len(orphans) > 0 && !options.IgnoreOrphans { if options.RemoveOrphans { - w := progress.ContextWriter(ctx) - err := s.removeContainers(ctx, w, orphans, nil, false) + err := s.removeContainers(ctx, orphans, nil, false) if err != nil { return err } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/compose-2.24.1/pkg/compose/down.go new/compose-2.24.3/pkg/compose/down.go --- old/compose-2.24.1/pkg/compose/down.go 2024-01-18 10:47:24.000000000 +0100 +++ new/compose-2.24.3/pkg/compose/down.go 2024-01-24 18:39:58.000000000 +0100 @@ -76,7 +76,7 @@ err = InReverseDependencyOrder(ctx, project, func(c context.Context, service string) error { serviceContainers := containers.filter(isService(service)) - err := s.removeContainers(ctx, w, serviceContainers, options.Timeout, options.Volumes) + err := s.removeContainers(ctx, serviceContainers, options.Timeout, options.Volumes) return err }, WithRootNodesAndDown(options.Services)) if err != nil { @@ -85,7 +85,7 @@ orphans := containers.filter(isOrphaned(project)) if options.RemoveOrphans && len(orphans) > 0 { - err := s.removeContainers(ctx, w, orphans, options.Timeout, false) + err := s.removeContainers(ctx, orphans, options.Timeout, false) if err != nil { return err } @@ -303,32 +303,37 @@ return eg.Wait() } -func (s *composeService) removeContainers(ctx context.Context, w progress.Writer, containers []moby.Container, timeout *time.Duration, volumes bool) error { +func (s *composeService) removeContainers(ctx context.Context, containers []moby.Container, timeout *time.Duration, volumes bool) error { eg, _ := errgroup.WithContext(ctx) for _, container := range containers { container := container eg.Go(func() error { - eventName := getContainerProgressName(container) - err := s.stopContainer(ctx, w, container, timeout) - if err != nil { - return err - } - w.Event(progress.RemovingEvent(eventName)) - err = s.apiClient().ContainerRemove(ctx, container.ID, containerType.RemoveOptions{ - Force: true, - RemoveVolumes: volumes, - }) - if err != nil && !errdefs.IsNotFound(err) && !errdefs.IsConflict(err) { - w.Event(progress.ErrorMessageEvent(eventName, "Error while Removing")) - return err - } - w.Event(progress.RemovedEvent(eventName)) - return nil + return s.stopAndRemoveContainer(ctx, container, timeout, volumes) }) } return eg.Wait() } +func (s *composeService) stopAndRemoveContainer(ctx context.Context, container moby.Container, timeout *time.Duration, volumes bool) error { + w := progress.ContextWriter(ctx) + eventName := getContainerProgressName(container) + err := s.stopContainer(ctx, w, container, timeout) + if err != nil { + return err + } + w.Event(progress.RemovingEvent(eventName)) + err = s.apiClient().ContainerRemove(ctx, container.ID, containerType.RemoveOptions{ + Force: true, + RemoveVolumes: volumes, + }) + if err != nil && !errdefs.IsNotFound(err) && !errdefs.IsConflict(err) { + w.Event(progress.ErrorMessageEvent(eventName, "Error while Removing")) + return err + } + w.Event(progress.RemovedEvent(eventName)) + return nil +} + func (s *composeService) getProjectWithResources(ctx context.Context, containers Containers, projectName string) (*types.Project, error) { containers = containers.filter(isNotOneOff) project, err := s.projectFromName(containers, projectName) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/compose-2.24.1/pkg/remote/git.go new/compose-2.24.3/pkg/remote/git.go --- old/compose-2.24.1/pkg/remote/git.go 2024-01-18 10:47:24.000000000 +0100 +++ new/compose-2.24.3/pkg/remote/git.go 2024-01-24 18:39:58.000000000 +0100 @@ -48,11 +48,13 @@ func NewGitRemoteLoader(offline bool) loader.ResourceLoader { return gitRemoteLoader{ offline: offline, + known: map[string]string{}, } } type gitRemoteLoader struct { offline bool + known map[string]string } func (g gitRemoteLoader) Accept(path string) bool { @@ -76,31 +78,34 @@ return "", err } - if ref.Commit == "" { - ref.Commit = "HEAD" // default branch - } - - err = g.resolveGitRef(ctx, path, ref) - if err != nil { - return "", err - } - - cache, err := cacheDir() - if err != nil { - return "", fmt.Errorf("initializing remote resource cache: %w", err) - } - - local := filepath.Join(cache, ref.Commit) - if _, err := os.Stat(local); os.IsNotExist(err) { - if g.offline { - return "", nil + local, ok := g.known[path] + if !ok { + if ref.Commit == "" { + ref.Commit = "HEAD" // default branch } - err = g.checkout(ctx, local, ref) + + err = g.resolveGitRef(ctx, path, ref) if err != nil { return "", err } - } + cache, err := cacheDir() + if err != nil { + return "", fmt.Errorf("initializing remote resource cache: %w", err) + } + + local = filepath.Join(cache, ref.Commit) + if _, err := os.Stat(local); os.IsNotExist(err) { + if g.offline { + return "", nil + } + err = g.checkout(ctx, local, ref) + if err != nil { + return "", err + } + } + g.known[path] = local + } if ref.SubDir != "" { local = filepath.Join(local, ref.SubDir) } @@ -114,6 +119,10 @@ return local, err } +func (g gitRemoteLoader) Dir(path string) string { + return g.known[path] +} + func (g gitRemoteLoader) resolveGitRef(ctx context.Context, path string, ref *gitutil.GitRef) error { if !commitSHA.MatchString(ref.Commit) { cmd := exec.CommandContext(ctx, "git", "ls-remote", "--exit-code", ref.Remote, ref.Commit) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/compose-2.24.1/pkg/remote/oci.go new/compose-2.24.3/pkg/remote/oci.go --- old/compose-2.24.1/pkg/remote/oci.go 2024-01-18 10:47:24.000000000 +0100 +++ new/compose-2.24.3/pkg/remote/oci.go 2024-01-24 18:39:58.000000000 +0100 @@ -50,12 +50,14 @@ return ociRemoteLoader{ dockerCli: dockerCli, offline: offline, + known: map[string]string{}, } } type ociRemoteLoader struct { dockerCli command.Cli offline bool + known map[string]string } const prefix = "oci://" @@ -77,42 +79,51 @@ return "", nil } - ref, err := reference.ParseDockerRef(path[len(prefix):]) - if err != nil { - return "", err - } - - opt, err := storeutil.GetImageConfig(g.dockerCli, nil) - if err != nil { - return "", err - } - resolver := imagetools.New(opt) - - content, descriptor, err := resolver.Get(ctx, ref.String()) - if err != nil { - return "", err - } + local, ok := g.known[path] + if !ok { + ref, err := reference.ParseDockerRef(path[len(prefix):]) + if err != nil { + return "", err + } - cache, err := cacheDir() - if err != nil { - return "", fmt.Errorf("initializing remote resource cache: %w", err) - } + opt, err := storeutil.GetImageConfig(g.dockerCli, nil) + if err != nil { + return "", err + } + resolver := imagetools.New(opt) - local := filepath.Join(cache, descriptor.Digest.Hex()) - composeFile := filepath.Join(local, "compose.yaml") - if _, err = os.Stat(local); os.IsNotExist(err) { - var manifest v1.Manifest - err = json.Unmarshal(content, &manifest) + content, descriptor, err := resolver.Get(ctx, ref.String()) if err != nil { return "", err } - err2 := g.pullComposeFiles(ctx, local, composeFile, manifest, ref, resolver) - if err2 != nil { - return "", err2 + cache, err := cacheDir() + if err != nil { + return "", fmt.Errorf("initializing remote resource cache: %w", err) + } + + local = filepath.Join(cache, descriptor.Digest.Hex()) + composeFile := filepath.Join(local, "compose.yaml") + if _, err = os.Stat(local); os.IsNotExist(err) { + var manifest v1.Manifest + err = json.Unmarshal(content, &manifest) + if err != nil { + return "", err + } + + err2 := g.pullComposeFiles(ctx, local, composeFile, manifest, ref, resolver) + if err2 != nil { + return "", err2 + } } + g.known[path] = local } - return composeFile, nil + + return filepath.Join(local, "compose.yaml"), nil +} + +func (g ociRemoteLoader) Dir(path string) string { + return g.known[path] } func (g ociRemoteLoader) pullComposeFiles(ctx context.Context, local string, composeFile string, manifest v1.Manifest, ref reference.Named, resolver *imagetools.Resolver) error { ++++++ compose.obsinfo ++++++ --- /var/tmp/diff_new_pack.DjO39m/_old 2024-01-28 19:39:49.866491059 +0100 +++ /var/tmp/diff_new_pack.DjO39m/_new 2024-01-28 19:39:49.866491059 +0100 @@ -1,5 +1,5 @@ name: compose -version: 2.24.1 -mtime: 1705571244 -commit: 83e020734d65afac40525e2fa42f02f81cf70e99 +version: 2.24.3 +mtime: 1706117998 +commit: bef8785fc230d48c1225ab5aedfdb943e0ce2a33 ++++++ vendor.tar.gz ++++++ /work/SRC/openSUSE:Factory/docker-compose/vendor.tar.gz /work/SRC/openSUSE:Factory/.docker-compose.new.1815/vendor.tar.gz differ: char 5, line 1