Skip to content

Commit 57fd2f0

Browse files
committed
feat: update to github.com/opencontainers/[email protected]
This allows us to switch away from our umoci fork now that upstream supports OverlayfsRootfs and the various features we need. Signed-off-by: Aleksa Sarai <[email protected]>
1 parent f7e243f commit 57fd2f0

File tree

4 files changed

+44
-65
lines changed

4 files changed

+44
-65
lines changed

go.mod

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ require (
2020
github.com/moby/buildkit v0.11.4
2121
github.com/opencontainers/go-digest v1.0.0
2222
github.com/opencontainers/image-spec v1.1.1
23-
github.com/opencontainers/umoci v0.4.8-0.20220412065115-12453f247749
23+
github.com/opencontainers/umoci v0.5.0
2424
github.com/pkg/errors v0.9.1
2525
github.com/pkg/xattr v0.4.10
2626
github.com/sirupsen/logrus v1.9.3
@@ -29,9 +29,9 @@ require (
2929
github.com/twmb/algoimpl v0.0.0-20170717182524-076353e90b94
3030
github.com/udhos/equalfile v0.3.0
3131
github.com/urfave/cli/v2 v2.27.6
32-
github.com/vbatts/go-mtree v0.5.3
33-
golang.org/x/sys v0.31.0
34-
golang.org/x/term v0.27.0
32+
github.com/vbatts/go-mtree v0.5.4
33+
golang.org/x/sys v0.33.0
34+
golang.org/x/term v0.31.0
3535
gopkg.in/yaml.v2 v2.4.0
3636
sigs.k8s.io/bom v0.6.0
3737
sigs.k8s.io/yaml v1.3.0
@@ -42,7 +42,8 @@ require (
4242
github.com/Masterminds/semver/v3 v3.2.1 // indirect
4343
github.com/freddierice/go-losetup v0.0.0-20220711213114-2a14873012db // indirect
4444
github.com/martinjungblut/go-cryptsetup v0.0.0-20220520180014-fd0874fd07a6 // indirect
45-
github.com/moby/sys/user v0.3.0 // indirect
45+
github.com/moby/sys/user v0.4.0 // indirect
46+
github.com/moby/sys/userns v0.1.0 // indirect
4647
github.com/smarty/assertions v1.15.0 // indirect
4748
)
4849

@@ -94,7 +95,7 @@ require (
9495
github.com/containers/storage v1.45.3 // indirect
9596
github.com/cpuguy83/go-md2man/v2 v2.0.5 // indirect
9697
github.com/cyberphone/json-canonicalization v0.0.0-20220623050100-57a0ce2678a7 // indirect
97-
github.com/cyphar/filepath-securejoin v0.3.5 // indirect
98+
github.com/cyphar/filepath-securejoin v0.4.1 // indirect
9899
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
99100
github.com/deitch/magic v0.0.0-20230404182410-1ff89d7342da // indirect
100101
github.com/distribution/reference v0.5.0 // indirect
@@ -109,7 +110,7 @@ require (
109110
github.com/edsrzf/mmap-go v1.1.0 // indirect
110111
github.com/emirpasic/gods v1.18.1 // indirect
111112
github.com/facebookincubator/nvdtools v0.1.5 // indirect
112-
github.com/fatih/color v1.14.1 // indirect
113+
github.com/fatih/color v1.17.0 // indirect
113114
github.com/felixge/fgprof v0.9.3 // indirect
114115
github.com/fsnotify/fsnotify v1.7.0 // indirect
115116
github.com/gabriel-vasile/mimetype v1.4.2 // indirect
@@ -261,19 +262,19 @@ require (
261262
go.opentelemetry.io/otel/metric v1.21.0 // indirect
262263
go.opentelemetry.io/otel/trace v1.21.0 // indirect
263264
go.uber.org/multierr v1.11.0 // indirect
264-
golang.org/x/crypto v0.31.0 // indirect
265+
golang.org/x/crypto v0.37.0 // indirect
265266
golang.org/x/exp v0.0.0-20231206192017-f3f8817b8deb // indirect
266267
golang.org/x/mod v0.17.0 // indirect
267268
golang.org/x/net v0.33.0 // indirect
268-
golang.org/x/sync v0.10.0 // indirect
269-
golang.org/x/text v0.21.0 // indirect
269+
golang.org/x/sync v0.13.0 // indirect
270+
golang.org/x/text v0.24.0 // indirect
270271
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect
271272
golang.org/x/tools/go/vcs v0.1.0-deprecated // indirect
272273
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
273274
google.golang.org/genproto v0.0.0-20231211222908-989df2bf70f3 // indirect
274275
google.golang.org/genproto/googleapis/rpc v0.0.0-20231212172506-995d672761c0 // indirect
275276
google.golang.org/grpc v1.60.0 // indirect
276-
google.golang.org/protobuf v1.36.1 // indirect
277+
google.golang.org/protobuf v1.36.6 // indirect
277278
gopkg.in/ini.v1 v1.67.0 // indirect
278279
gopkg.in/square/go-jose.v2 v2.6.0 // indirect
279280
gopkg.in/warnings.v0 v0.1.2 // indirect
@@ -288,7 +289,4 @@ require (
288289
sigs.k8s.io/release-utils v0.7.7 // indirect
289290
)
290291

291-
replace (
292-
github.com/opencontainers/umoci => github.com/project-stacker/umoci v0.0.0-20240906174318-e9397ba4ced0
293-
stackerbuild.io/stacker-bom => github.com/project-stacker/stacker-bom v0.0.0-20240509203427-4d685e046780
294-
)
292+
replace stackerbuild.io/stacker-bom => github.com/project-stacker/stacker-bom v0.0.0-20240509203427-4d685e046780

go.sum

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -230,8 +230,8 @@ github.com/cpuguy83/go-md2man/v2 v2.0.5/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46t
230230
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
231231
github.com/cyberphone/json-canonicalization v0.0.0-20220623050100-57a0ce2678a7 h1:vU+EP9ZuFUCYE0NYLwTSob+3LNEJATzNfP/DC7SWGWI=
232232
github.com/cyberphone/json-canonicalization v0.0.0-20220623050100-57a0ce2678a7/go.mod h1:uzvlm1mxhHkdfqitSA92i7Se+S9ksOn3a3qmv/kyOCw=
233-
github.com/cyphar/filepath-securejoin v0.3.5 h1:L81NHjquoQmcPgXcttUS9qTSR/+bXry6pbSINQGpjj4=
234-
github.com/cyphar/filepath-securejoin v0.3.5/go.mod h1:edhVd3c6OXKjUmSrVa/tGJRS9joFTxlslFCAyaxigkE=
233+
github.com/cyphar/filepath-securejoin v0.4.1 h1:JyxxyPEaktOD+GAnqIqTf9A8tHyAG22rowi7HkoSU1s=
234+
github.com/cyphar/filepath-securejoin v0.4.1/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI=
235235
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
236236
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
237237
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
@@ -290,8 +290,8 @@ github.com/facebookincubator/nvdtools v0.1.5/go.mod h1:Kh55SAWnjckS96TBSrXI99KrE
290290
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
291291
github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
292292
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
293-
github.com/fatih/color v1.14.1 h1:qfhVLaG5s+nCROl1zJsZRxFeYrHLqWroPOQ8BWiNb4w=
294-
github.com/fatih/color v1.14.1/go.mod h1:2oHN61fhTpgcxD3TSWCgKDiH1+x4OiDVVGH8WlgGZGg=
293+
github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4=
294+
github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI=
295295
github.com/fatih/set v0.2.1 h1:nn2CaJyknWE/6txyUDGwysr3G5QC6xWB/PtVjPBbeaA=
296296
github.com/fatih/set v0.2.1/go.mod h1:+RKtMCH+favT2+3YecHGxcc0b4KyVWA1QWWJUs4E0CI=
297297
github.com/felixge/fgprof v0.9.3 h1:VvyZxILNuCiUCSXtPtYmmtGvb65nqXh2QFWc0Wpf2/g=
@@ -722,8 +722,10 @@ github.com/moby/sys/sequential v0.5.0 h1:OPvI35Lzn9K04PBbCLW0g4LcFAJgHsvXsRyewg5
722722
github.com/moby/sys/sequential v0.5.0/go.mod h1:tH2cOOs5V9MlPiXcQzRC+eEyab644PWKGRYaaV5ZZlo=
723723
github.com/moby/sys/signal v0.7.0 h1:25RW3d5TnQEoKvRbEKUGay6DCQ46IxAVTT9CUMgmsSI=
724724
github.com/moby/sys/signal v0.7.0/go.mod h1:GQ6ObYZfqacOwTtlXvcmh9A26dVRul/hbOZn88Kg8Tg=
725-
github.com/moby/sys/user v0.3.0 h1:9ni5DlcW5an3SvRSx4MouotOygvzaXbaSrc/wGDFWPo=
726-
github.com/moby/sys/user v0.3.0/go.mod h1:bG+tYYYJgaMtRKgEmuueC0hJEAZWwtIbZTB+85uoHjs=
725+
github.com/moby/sys/user v0.4.0 h1:jhcMKit7SA80hivmFJcbB1vqmw//wU61Zdui2eQXuMs=
726+
github.com/moby/sys/user v0.4.0/go.mod h1:bG+tYYYJgaMtRKgEmuueC0hJEAZWwtIbZTB+85uoHjs=
727+
github.com/moby/sys/userns v0.1.0 h1:tVLXkFOxVu9A64/yh59slHVv9ahO9UIev4JZusOLG/g=
728+
github.com/moby/sys/userns v0.1.0/go.mod h1:IHUYgu/kao6N8YZlp9Cf444ySSvCmDlmzUcYfDHOl28=
727729
github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0=
728730
github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y=
729731
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
@@ -764,6 +766,8 @@ github.com/opencontainers/runtime-spec v1.2.0 h1:z97+pHb3uELt/yiAWD691HNHQIF07bE
764766
github.com/opencontainers/runtime-spec v1.2.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
765767
github.com/opencontainers/selinux v1.11.0 h1:+5Zbo97w3Lbmb3PeqQtpmTkMwsW5nRI3YaLpt7tQ7oU=
766768
github.com/opencontainers/selinux v1.11.0/go.mod h1:E5dMC3VPuVvVHDYmi78qvhJp8+M586T4DlDRYpFkyec=
769+
github.com/opencontainers/umoci v0.5.0 h1:/cevW4k2m1CxyJhtJlzYVri1MwbD+dnYtgIbnNozIt8=
770+
github.com/opencontainers/umoci v0.5.0/go.mod h1:2+qvgmRYcFzHboDe2T+oKq3dl/QVtyzfp2Ox2afk5aA=
767771
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
768772
github.com/package-url/packageurl-go v0.1.2 h1:0H2DQt6DHd/NeRlVwW4EZ4oEI6Bn40XlNPRqegcxuo4=
769773
github.com/package-url/packageurl-go v0.1.2/go.mod h1:uQd4a7Rh3ZsVg5j0lNyAfyxIeGde9yrlhjF78GzeW0c=
@@ -800,8 +804,6 @@ github.com/proglottis/gpgme v0.1.3 h1:Crxx0oz4LKB3QXc5Ea0J19K/3ICfy3ftr5exgUK1AU
800804
github.com/proglottis/gpgme v0.1.3/go.mod h1:fPbW/EZ0LvwQtH8Hy7eixhp1eF3G39dtx7GUN+0Gmy0=
801805
github.com/project-stacker/stacker-bom v0.0.0-20240509203427-4d685e046780 h1:VJQ/G6xlNQqEvdzTdtXJ/XNvxv9LQTDJORik1wuxXJU=
802806
github.com/project-stacker/stacker-bom v0.0.0-20240509203427-4d685e046780/go.mod h1:S7hlUdKwPKIMNx2ceiqmLKyXq+FOVaVnAuk77AzdhtI=
803-
github.com/project-stacker/umoci v0.0.0-20240906174318-e9397ba4ced0 h1:XtoreGqiTF0FXUWG6aWFpYt0/lgOX8+DCkiduC/E1nE=
804-
github.com/project-stacker/umoci v0.0.0-20240906174318-e9397ba4ced0/go.mod h1:XUXUpCpA/Y8aJWezK1i8o4WDR0Y/vhMcWg+FUNQkKMQ=
805807
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
806808
github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
807809
github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU=
@@ -985,8 +987,8 @@ github.com/urfave/cli v1.22.14/go.mod h1:X0eDS6pD6Exaclxm99NJ3FiCDRED7vIHpx2mDOH
985987
github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI=
986988
github.com/urfave/cli/v2 v2.27.6 h1:VdRdS98FNhKZ8/Az8B7MTyGQmpIr36O1EHybx/LaZ4g=
987989
github.com/urfave/cli/v2 v2.27.6/go.mod h1:3Sevf16NykTbInEnD0yKkjDAeZDS0A6bzhBH5hrMvTQ=
988-
github.com/vbatts/go-mtree v0.5.3 h1:S/jYlfG8rZ+a0bhZd+RANXejy7M4Js8fq9U+XoWTd5w=
989-
github.com/vbatts/go-mtree v0.5.3/go.mod h1:eXsdoPMdL2jcJx6HweWi9lYQxBsTp4lNhqqAjgkZUg8=
990+
github.com/vbatts/go-mtree v0.5.4 h1:OMAb8jaCyiFA7zXj0Zc/oARcxBDBoeu2LizjB8BVJl0=
991+
github.com/vbatts/go-mtree v0.5.4/go.mod h1:5GqJbVhm9BBiCc4K5uc/c42FPgXulHaQs4sFUEfIWMo=
990992
github.com/vbatts/tar-split v0.11.3 h1:hLFqsOLQ1SsppQNTMpkpPXClLDfC2A3Zgy9OUU+RVck=
991993
github.com/vbatts/tar-split v0.11.3/go.mod h1:9QlHN18E+fEH7RdG+QAJJcuya3rqT7eXSTY7wGrAokY=
992994
github.com/vbauerster/mpb/v7 v7.5.3 h1:BkGfmb6nMrrBQDFECR/Q7RkKCw7ylMetCb4079CGs4w=
@@ -1088,8 +1090,8 @@ golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0
10881090
golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
10891091
golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
10901092
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
1091-
golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U=
1092-
golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
1093+
golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE=
1094+
golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc=
10931095
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
10941096
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
10951097
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -1214,8 +1216,8 @@ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJ
12141216
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
12151217
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
12161218
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
1217-
golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ=
1218-
golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
1219+
golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
1220+
golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
12191221
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
12201222
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
12211223
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -1301,16 +1303,16 @@ golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
13011303
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
13021304
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
13031305
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
1304-
golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik=
1305-
golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
1306+
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
1307+
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
13061308
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
13071309
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
13081310
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
13091311
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
13101312
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
13111313
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
1312-
golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q=
1313-
golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM=
1314+
golang.org/x/term v0.31.0 h1:erwDkOK1Msy6offm1mOgvspSkslFnIGsFnxOKoufg3o=
1315+
golang.org/x/term v0.31.0/go.mod h1:R4BeIy7D95HzImkxGkTW1UQTtP54tio2RyHz7PwK0aw=
13141316
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
13151317
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
13161318
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -1323,8 +1325,8 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
13231325
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
13241326
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
13251327
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
1326-
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
1327-
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
1328+
golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
1329+
golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
13281330
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
13291331
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
13301332
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -1550,8 +1552,8 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba
15501552
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
15511553
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
15521554
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
1553-
google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk=
1554-
google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
1555+
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
1556+
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
15551557
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
15561558
gopkg.in/alexcesaro/statsd.v2 v2.0.0 h1:FXkZSCZIH17vLCO5sO2UucTHsH9pc+17F6pl3JVCwMc=
15571559
gopkg.in/alexcesaro/statsd.v2 v2.0.0/go.mod h1:i0ubccKGzBVNBpdGV5MocxyA/XlLUJzA7SLonnE4drU=

pkg/overlay/overlay-dirs.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ func generateOverlayDirLayer(name string, layerType types.LayerType, overlayDir
4848
defer oci.Close()
4949

5050
contents := path.Join(config.RootFSDir, name, "overlay_dirs", path.Base(overlayDir.Source))
51-
blob, mediaType, rootHash, err := generateBlob(layerType, contents, config.OCIDir, nil)
51+
blob, mediaType, rootHash, err := generateBlob(layerType, contents, config.OCIDir)
5252
if err != nil {
5353
return ispec.Descriptor{}, err
5454
}

pkg/overlay/pack.go

Lines changed: 6 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,6 @@ import (
3434

3535
var tarEx sync.Mutex
3636

37-
// Container image layers are often tar.gz, however there is nothing in the
38-
// spec or documentation which standardizes compression params which can cause
39-
// different layer hashes even for the same tar. So picking compression params
40-
// that most tooling appears to be using.
41-
const gzipBlockSize = mutate.GzipBlockSize(256 << 12)
42-
4337
func safeOverlayName(d digest.Digest) string {
4438
// dirs used in overlay lowerdir args can't have : in them, so lets
4539
// sanitize it
@@ -137,7 +131,7 @@ func ConvertAndOutput(config types.StackerConfig, tag, name string, layerType ty
137131
bundlePath := overlayPath(config.RootFSDir, theLayer.Digest)
138132
overlayDir := path.Join(bundlePath, "overlay")
139133
// generate blob
140-
blob, mediaType, rootHash, err := generateBlob(layerType, overlayDir, config.OCIDir, nil)
134+
blob, mediaType, rootHash, err := generateBlob(layerType, overlayDir, config.OCIDir)
141135
if err != nil {
142136
return err
143137
}
@@ -272,13 +266,13 @@ func (o *overlay) Repack(name string, layer types.Layer, layerTypes []types.Laye
272266
}
273267

274268
// generateBlob generates either a tar blob or a squashfs blob based on layerType
275-
func generateBlob(layerType types.LayerType, contents string, ociDir string, lowerDirs []string) (io.ReadCloser, string, string, error) {
269+
func generateBlob(layerType types.LayerType, contents string, ociDir string) (io.ReadCloser, string, string, error) {
276270
var blob io.ReadCloser
277271
var err error
278272
var mediaType string
279273
var rootHash string
280274
if layerType.Type == "tar" {
281-
packOptions := layer.RepackOptions{TranslateOverlayWhiteouts: true, OverlayLowerDirs: lowerDirs}
275+
packOptions := layer.RepackOptions{OnDiskFormat: layer.OverlayfsRootfs{UserXattr: true}}
282276
blob = layer.GenerateInsertLayer(contents, "/", false, &packOptions)
283277
mediaType = ispec.MediaTypeImageLayer
284278
} else {
@@ -412,34 +406,19 @@ func generateLayer(config types.StackerConfig, _ casext.Engine, mutators []*muta
412406
return false, err
413407
}
414408

415-
var ovl overlayMetadata
416-
if layer.From.Type != types.BuiltLayer {
417-
ovl, err = readOverlayMetadata(config.RootFSDir, name)
418-
} else {
419-
ovl, err = readOverlayMetadata(config.RootFSDir, layer.From.Tag)
420-
}
421-
if err != nil {
422-
return false, err
423-
}
424-
425409
descs := []ispec.Descriptor{}
426410
for i, layerType := range layerTypes {
427411
mutator := mutators[i]
428412
var desc ispec.Descriptor
429413

430-
lowerDirs := []string{}
431-
for i := len(ovl.Manifests[layerType].Layers) - 1; i >= 0; i-- {
432-
lowerDirs = append(lowerDirs, overlayPath(config.RootFSDir, ovl.Manifests[layerType].Layers[i].Digest))
433-
}
434-
435-
blob, mediaType, rootHash, err := generateBlob(layerType, dir, config.OCIDir, lowerDirs)
414+
blob, mediaType, rootHash, err := generateBlob(layerType, dir, config.OCIDir)
436415
if err != nil {
437416
return false, err
438417
}
439418
defer blob.Close()
440419

441420
if layerType.Type == "tar" {
442-
desc, err = mutator.Add(context.Background(), mediaType, blob, history, mutate.GzipCompressor.WithOpt(gzipBlockSize), nil)
421+
desc, err = mutator.Add(context.Background(), mediaType, blob, history, mutate.GzipCompressor, nil)
443422
if err != nil {
444423
return false, err
445424
}
@@ -725,7 +704,7 @@ func unpackOne(l ispec.Descriptor, ociDir string, extractDir string) error {
725704

726705
// always unpack with Overlay whiteout mode to prevent ignoring whiteouts in tar layers
727706
// see test/publish.bats: "building from published images with whiteouts" for more details
728-
err = layer.UnpackLayer(extractDir, uncompressed, &layer.UnpackOptions{WhiteoutMode: layer.OverlayFSWhiteout})
707+
err = layer.UnpackLayer(extractDir, uncompressed, &layer.UnpackOptions{OnDiskFormat: layer.OverlayfsRootfs{UserXattr: true}})
729708
if err != nil {
730709
if rmErr := os.RemoveAll(extractDir); rmErr != nil {
731710
log.Errorf("Failed to remove dir '%s' after failed extraction: %v", extractDir, rmErr)

0 commit comments

Comments
 (0)