Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

alpine: builds from new upstream #5516

Merged
merged 1 commit into from
Mar 7, 2019

Conversation

ncopa
Copy link
Contributor

@ncopa ncopa commented Mar 6, 2019

Builds are now only generated from upstream minirootfs taballs. The
release and update scripts have been refactored and moved to
https://github.com/alpinelinux/docker-alpine

This commit also include update of all supported images:

  • edge (20190228 snapshot)
  • v3.9.2
  • v3.8.4
  • v3.7.3
  • v3.6.5

This commit also introduces v3.9 armv7 image and remove unsupported
branches v3.5 and older.

fixes at least the following issues:

@ncopa
Copy link
Contributor Author

ncopa commented Mar 6, 2019

The scripts for generating the build has been completely refactored. Please be extra careful before merging this. I would appreciate a review of the scripts too.

@tianon

This comment has been minimized.

@tianon
Copy link
Member

tianon commented Mar 6, 2019

Looking over the diff, the main filesystem changes appear to be the removal of /etc/localtime, but the utc test still passes so that's totally harmless. I think the only concern I see is the change in the tag naming convention (the added v prefix on the version numbers).

Additionally, since these tarballs are now coming from explicit Alpine releases, I think it would also make sense to consider minor version tags too, right? (like alpine:3.9.2, for example)

library/alpine Outdated
amd64-GitFetch: refs/heads/rootfs/library-3.4
amd64-GitCommit: 3943f4dedc41b7c6144610d3e99ad0f7083c2138
amd64-Directory: versions/library-3.4
Architecture: arm64v8, arm32v6, arm32v7, ppc64le, s390x, i386, amd64
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These need to be Architectures. 😉

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good catch. will fix

@ncopa
Copy link
Contributor Author

ncopa commented Mar 7, 2019

Looking over the diff, the main filesystem changes appear to be the removal of /etc/localtime, but the utc test still passes so that's totally harmless.

This was intentional. The UTC issue is fixed in musl.

I think the only concern I see is the change in the tag naming convention (the added v prefix on the version numbers).

This was not intentional. I will fix this.

Additionally, since these tarballs are now coming from explicit Alpine releases, I think it would also make sense to consider minor version tags too, right? (like alpine:3.9.2, for example)

Do you mean that I should add all the older releases or only add another tag:

diff --git a/library/alpine b/library/alpine
index a2e49734..cccba95d 100644
--- a/library/alpine
+++ b/library/alpine
@@ -13,7 +13,7 @@ s390x-Directory: s390x/
 i386-Directory: x86/
 amd64-Directory: x86_64/
 
-Tags: v3.9, latest
+Tags: 3.9.2, 3.9, latest
 Architecture: arm64v8, arm32v6, arm32v7, ppc64le, s390x, i386, amd64
 GitFetch: refs/heads/v3.9
 GitCommit: 847dd9a734df631555265ccf598ce635d3fe1453
@@ -25,7 +25,7 @@ s390x-Directory: s390x/
 i386-Directory: x86/
 amd64-Directory: x86_64/
 
-Tags: v3.8
+Tags: 3.8.4, 3.8
 Architecture: arm64v8, arm32v6, ppc64le, s390x, i386, amd64
 GitFetch: refs/heads/v3.8
 GitCommit: dc10be162e9d2c3f799fde73e25ad30f78ff479b

@tianon
Copy link
Member

tianon commented Mar 7, 2019

Do you mean that I should add all the older releases or only add another tag:

I was meaning the latter (exactly the diff you included there) -- it's something to consider, since they'd be semantically meaningful now (and there are quite a few folks asking for such a thing over on the gliderlabs repo).

Also the Architecture: to Architectures: change @yosifkit noted. 👍

Builds are now only generated from upstream minirootfs taballs. The
release and update scripts have been refactored and moved to
https://github.com/alpinelinux/docker-alpine

This commit also include update of all supported images:
- edge (20190228 snapshot)
- v3.9.2
- v3.8.4
- v3.7.3
- v3.6.5

This commit also introduces v3.9 armv7 image and remove unsupported
branches v3.5 and older.

fixes at least the following issues:
- gliderlabs/docker-alpine#495
- gliderlabs/docker-alpine#471
- gliderlabs/docker-alpine#463
- gliderlabs/docker-alpine#460
- gliderlabs/docker-alpine#455
- gliderlabs/docker-alpine#430 (security)
- gliderlabs/docker-alpine#375
@ncopa
Copy link
Contributor Author

ncopa commented Mar 7, 2019

should be fixed now

@yosifkit
Copy link
Member

yosifkit commented Mar 7, 2019

Diff:
diff --git a/_bashbrew-arches b/_bashbrew-arches
index 8a9550b..a30bf93 100644
--- a/_bashbrew-arches
+++ b/_bashbrew-arches
@@ -1,8 +1,3 @@
-alpine:3.1 @ amd64
-alpine:3.2 @ amd64
-alpine:3.3 @ amd64
-alpine:3.4 @ amd64
-alpine:3.5 @ amd64
 alpine:3.6 @ amd64
 alpine:3.6 @ arm32v6
 alpine:3.6 @ arm64v8
@@ -23,12 +18,14 @@ alpine:3.8 @ ppc64le
 alpine:3.8 @ s390x
 alpine:edge @ amd64
 alpine:edge @ arm32v6
+alpine:edge @ arm32v7
 alpine:edge @ arm64v8
 alpine:edge @ i386
 alpine:edge @ ppc64le
 alpine:edge @ s390x
 alpine:latest @ amd64
 alpine:latest @ arm32v6
+alpine:latest @ arm32v7
 alpine:latest @ arm64v8
 alpine:latest @ i386
 alpine:latest @ ppc64le
diff --git a/_bashbrew-list b/_bashbrew-list
index 6305ea0..a69bef8 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -1,11 +1,11 @@
-alpine:3.1
-alpine:3.2
-alpine:3.3
-alpine:3.4
-alpine:3.5
 alpine:3.6
+alpine:3.6.5
 alpine:3.7
+alpine:3.7.3
 alpine:3.8
+alpine:3.8.4
 alpine:3.9
+alpine:3.9.2
+alpine:20190228
 alpine:edge
 alpine:latest
diff --git a/alpine_3.1/Dockerfile b/alpine_3.1/Dockerfile
deleted file mode 100644
index 94cb030..0000000
diff --git a/alpine_3.1/rootfs.tar.xz b/alpine_3.1/rootfs.tar.xz
deleted file mode 100644
index 3c5218d..0000000
diff --git a/alpine_3.1/rootfs.tar.xz  'tar -t' b/alpine_3.1/rootfs.tar.xz  'tar -t'
deleted file mode 100644
index 6ef6399..0000000
diff --git a/alpine_3.2/Dockerfile b/alpine_3.2/Dockerfile
deleted file mode 100644
index 94cb030..0000000
diff --git a/alpine_3.2/rootfs.tar.xz  'tar -t' b/alpine_3.2/rootfs.tar.xz  'tar -t'
deleted file mode 100644
index 3b9598d..0000000
diff --git a/alpine_3.3/Dockerfile b/alpine_3.3/Dockerfile
deleted file mode 100644
index 94cb030..0000000
diff --git a/alpine_3.3/rootfs.tar.xz  'tar -t' b/alpine_3.3/rootfs.tar.xz  'tar -t'
deleted file mode 100644
index 77de5d7..0000000
diff --git a/alpine_3.4/Dockerfile b/alpine_3.4/Dockerfile
deleted file mode 100644
index 94cb030..0000000
diff --git a/alpine_3.4/rootfs.tar.xz  'tar -t' b/alpine_3.4/rootfs.tar.xz  'tar -t'
deleted file mode 100644
index 1339b2a..0000000
diff --git a/alpine_3.5/Dockerfile b/alpine_3.5/Dockerfile
deleted file mode 100644
index 94cb030..0000000
diff --git a/alpine_3.5/rootfs.tar.xz b/alpine_3.5/rootfs.tar.xz
deleted file mode 100644
index 0d6a61f..0000000
diff --git a/alpine_3.5/rootfs.tar.xz  'tar -t' b/alpine_3.5/rootfs.tar.xz  'tar -t'
deleted file mode 100644
index 0b99d48..0000000
diff --git a/alpine_3.6/Dockerfile b/alpine_3.6/Dockerfile
index 94cb030..502af7d 100644
--- a/alpine_3.6/Dockerfile
+++ b/alpine_3.6/Dockerfile
@@ -1,3 +1,3 @@
 FROM scratch
-ADD rootfs.tar.xz /
+ADD alpine-minirootfs-3.6.5-x86_64.tar.gz /
 CMD ["/bin/sh"]
diff --git a/alpine_3.4/rootfs.tar.xz b/alpine_3.6/alpine-minirootfs-3.6.5-x86_64.tar.gz
similarity index 21%
rename from alpine_3.4/rootfs.tar.xz
rename to alpine_3.6/alpine-minirootfs-3.6.5-x86_64.tar.gz
index 8dcb6e0..02c8895 100644
Binary files a/alpine_3.4/rootfs.tar.xz and b/alpine_3.6/alpine-minirootfs-3.6.5-x86_64.tar.gz differ
diff --git a/alpine_3.6/rootfs.tar.xz  'tar -t' b/alpine_3.6/alpine-minirootfs-3.6.5-x86_64.tar.gz  'tar -t'
similarity index 99%
rename from alpine_3.6/rootfs.tar.xz  'tar -t'
rename to alpine_3.6/alpine-minirootfs-3.6.5-x86_64.tar.gz  'tar -t'
index 7e56a9e..ffc88bb 100644
--- a/alpine_3.6/rootfs.tar.xz  'tar -t'	
+++ b/alpine_3.6/alpine-minirootfs-3.6.5-x86_64.tar.gz  'tar -t'	
@@ -102,7 +102,6 @@ etc/hosts
 etc/init.d/
 etc/inittab
 etc/issue
-etc/localtime
 etc/logrotate.d/
 etc/logrotate.d/acpid
 etc/modprobe.d/
diff --git a/alpine_3.6/rootfs.tar.xz b/alpine_3.6/rootfs.tar.xz
deleted file mode 100644
index b61ddad..0000000
diff --git a/alpine_3.7/Dockerfile b/alpine_3.7/Dockerfile
index 94cb030..83fa414 100644
--- a/alpine_3.7/Dockerfile
+++ b/alpine_3.7/Dockerfile
@@ -1,3 +1,3 @@
 FROM scratch
-ADD rootfs.tar.xz /
+ADD alpine-minirootfs-3.7.3-x86_64.tar.gz /
 CMD ["/bin/sh"]
diff --git a/alpine_3.2/rootfs.tar.xz b/alpine_3.7/alpine-minirootfs-3.7.3-x86_64.tar.gz
similarity index 23%
rename from alpine_3.2/rootfs.tar.xz
rename to alpine_3.7/alpine-minirootfs-3.7.3-x86_64.tar.gz
index ccda6cc..90369a1 100644
Binary files a/alpine_3.2/rootfs.tar.xz and b/alpine_3.7/alpine-minirootfs-3.7.3-x86_64.tar.gz differ
diff --git a/alpine_3.7/rootfs.tar.xz  'tar -t' b/alpine_3.7/alpine-minirootfs-3.7.3-x86_64.tar.gz  'tar -t'
similarity index 99%
rename from alpine_3.7/rootfs.tar.xz  'tar -t'
rename to alpine_3.7/alpine-minirootfs-3.7.3-x86_64.tar.gz  'tar -t'
index 23712ee..749b3c9 100644
--- a/alpine_3.7/rootfs.tar.xz  'tar -t'	
+++ b/alpine_3.7/alpine-minirootfs-3.7.3-x86_64.tar.gz  'tar -t'	
@@ -103,7 +103,6 @@ etc/hosts
 etc/init.d/
 etc/inittab
 etc/issue
-etc/localtime
 etc/logrotate.d/
 etc/logrotate.d/acpid
 etc/modprobe.d/
diff --git a/alpine_3.7/rootfs.tar.xz b/alpine_3.7/rootfs.tar.xz
deleted file mode 100644
index bc515a2..0000000
diff --git a/alpine_3.8/Dockerfile b/alpine_3.8/Dockerfile
index 94cb030..fe51994 100644
--- a/alpine_3.8/Dockerfile
+++ b/alpine_3.8/Dockerfile
@@ -1,3 +1,3 @@
 FROM scratch
-ADD rootfs.tar.xz /
+ADD alpine-minirootfs-3.8.4-x86_64.tar.gz /
 CMD ["/bin/sh"]
diff --git a/alpine_3.3/rootfs.tar.xz b/alpine_3.8/alpine-minirootfs-3.8.4-x86_64.tar.gz
similarity index 21%
rename from alpine_3.3/rootfs.tar.xz
rename to alpine_3.8/alpine-minirootfs-3.8.4-x86_64.tar.gz
index c4f2298..51c4c3a 100644
Binary files a/alpine_3.3/rootfs.tar.xz and b/alpine_3.8/alpine-minirootfs-3.8.4-x86_64.tar.gz differ
diff --git a/alpine_3.8/rootfs.tar.xz  'tar -t' b/alpine_3.8/alpine-minirootfs-3.8.4-x86_64.tar.gz  'tar -t'
similarity index 99%
rename from alpine_3.8/rootfs.tar.xz  'tar -t'
rename to alpine_3.8/alpine-minirootfs-3.8.4-x86_64.tar.gz  'tar -t'
index 3d853fd..b1afa50 100644
--- a/alpine_3.8/rootfs.tar.xz  'tar -t'	
+++ b/alpine_3.8/alpine-minirootfs-3.8.4-x86_64.tar.gz  'tar -t'	
@@ -104,7 +104,6 @@ etc/hosts
 etc/init.d/
 etc/inittab
 etc/issue
-etc/localtime
 etc/logrotate.d/
 etc/logrotate.d/acpid
 etc/modprobe.d/
diff --git a/alpine_3.8/rootfs.tar.xz b/alpine_3.8/rootfs.tar.xz
deleted file mode 100644
index ed4cc00..0000000
diff --git a/alpine_edge/Dockerfile b/alpine_edge/Dockerfile
index 94cb030..575481a 100644
--- a/alpine_edge/Dockerfile
+++ b/alpine_edge/Dockerfile
@@ -1,3 +1,3 @@
 FROM scratch
-ADD rootfs.tar.xz /
+ADD alpine-minirootfs-20190228-x86_64.tar.gz /
 CMD ["/bin/sh"]
diff --git a/alpine_latest/rootfs.tar.xz b/alpine_edge/alpine-minirootfs-20190228-x86_64.tar.gz
similarity index 26%
rename from alpine_latest/rootfs.tar.xz
rename to alpine_edge/alpine-minirootfs-20190228-x86_64.tar.gz
index 93dc6e4..7fddbe9 100644
Binary files a/alpine_latest/rootfs.tar.xz and b/alpine_edge/alpine-minirootfs-20190228-x86_64.tar.gz differ
diff --git a/alpine_edge/rootfs.tar.xz  'tar -t' b/alpine_edge/alpine-minirootfs-20190228-x86_64.tar.gz  'tar -t'
similarity index 99%
rename from alpine_edge/rootfs.tar.xz  'tar -t'
rename to alpine_edge/alpine-minirootfs-20190228-x86_64.tar.gz  'tar -t'
index 184fc4c..6ed3609 100644
--- a/alpine_edge/rootfs.tar.xz  'tar -t'	
+++ b/alpine_edge/alpine-minirootfs-20190228-x86_64.tar.gz  'tar -t'	
@@ -104,7 +104,6 @@ etc/hosts
 etc/init.d/
 etc/inittab
 etc/issue
-etc/localtime
 etc/logrotate.d/
 etc/logrotate.d/acpid
 etc/modprobe.d/
@@ -254,6 +253,7 @@ usr/bin/[
 usr/bin/[[
 usr/bin/awk
 usr/bin/basename
+usr/bin/bc
 usr/bin/beep
 usr/bin/blkdiscard
 usr/bin/bunzip2
diff --git a/alpine_latest/Dockerfile b/alpine_latest/Dockerfile
index 94cb030..9d7ecd1 100644
--- a/alpine_latest/Dockerfile
+++ b/alpine_latest/Dockerfile
@@ -1,3 +1,3 @@
 FROM scratch
-ADD rootfs.tar.xz /
+ADD alpine-minirootfs-3.9.2-x86_64.tar.gz /
 CMD ["/bin/sh"]
diff --git a/alpine_edge/rootfs.tar.xz b/alpine_latest/alpine-minirootfs-3.9.2-x86_64.tar.gz
similarity index 26%
rename from alpine_edge/rootfs.tar.xz
rename to alpine_latest/alpine-minirootfs-3.9.2-x86_64.tar.gz
index a394961..8c93d6b 100644
Binary files a/alpine_edge/rootfs.tar.xz and b/alpine_latest/alpine-minirootfs-3.9.2-x86_64.tar.gz differ
diff --git a/alpine_latest/rootfs.tar.xz  'tar -t' b/alpine_latest/alpine-minirootfs-3.9.2-x86_64.tar.gz  'tar -t'
similarity index 99%
rename from alpine_latest/rootfs.tar.xz  'tar -t'
rename to alpine_latest/alpine-minirootfs-3.9.2-x86_64.tar.gz  'tar -t'
index 184fc4c..a65fac6 100644
--- a/alpine_latest/rootfs.tar.xz  'tar -t'	
+++ b/alpine_latest/alpine-minirootfs-3.9.2-x86_64.tar.gz  'tar -t'	
@@ -104,7 +104,6 @@ etc/hosts
 etc/init.d/
 etc/inittab
 etc/issue
-etc/localtime
 etc/logrotate.d/
 etc/logrotate.d/acpid
 etc/modprobe.d/

@yosifkit
Copy link
Member

yosifkit commented Mar 7, 2019

Build test of #5516; 889772f; amd64 (alpine):

$ bashbrew build alpine:20190228
Using bashbrew/cache:04092d104ae0b84184793c3272900170ee9cc93e2403e091a9460436ce3492a9 (alpine:20190228)
Tagging alpine:20190228
Tagging alpine:edge

$ test/run.sh alpine:20190228
testing alpine:20190228
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build alpine:3.9.2
Using bashbrew/cache:112037b5851c75ae44404ba17565ca8e6a61878eeb2517b6e587845d1bc71cbd (alpine:3.9.2)
Tagging alpine:3.9.2
Tagging alpine:3.9
Tagging alpine:latest

$ test/run.sh alpine:3.9.2
testing alpine:3.9.2
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build alpine:3.8.4
Using bashbrew/cache:ce250b371f409b12f9fb336600d44cce010cf691c7100a95b1b5560256bc0412 (alpine:3.8.4)
Tagging alpine:3.8.4
Tagging alpine:3.8

$ test/run.sh alpine:3.8.4
testing alpine:3.8.4
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build alpine:3.7.3
Using bashbrew/cache:a8205b9687855982c5923ee8a4c80c1b8b5684e60817751ccb97d0819f66468a (alpine:3.7.3)
Tagging alpine:3.7.3
Tagging alpine:3.7

$ test/run.sh alpine:3.7.3
testing alpine:3.7.3
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build alpine:3.6.5
Using bashbrew/cache:38313153ac3a8a88102881779277ed973743c2f82b7d5a0d05d51c62f4b8e074 (alpine:3.6.5)
Tagging alpine:3.6.5
Tagging alpine:3.6

$ test/run.sh alpine:3.6.5
testing alpine:3.6.5
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed

@yosifkit yosifkit merged commit 4880370 into docker-library:master Mar 7, 2019
@ncopa ncopa deleted the alpine-updates branch April 8, 2019 13:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants