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

Switch from explicit "stable" / "unstable" to "latest" and "latest-1"… #161

Merged
merged 1 commit into from
Jan 5, 2023

Conversation

tianon
Copy link
Member

@tianon tianon commented Jan 4, 2023

… based on major.minor releases

This refactor will more closely match how BusyBox does releases -- they always call x.y.0 "unstable" but if it doesn't require any further fixes it never gets a .1 "stable" release (like 1.35 suffered from). Additionally, they don't seem to really ever have more than two simultaneous release branches (but if they did, we could trivially add a new latest-2 and be covered):

$ wget -qO- 'https://busybox.net' | grep -ioE '[0-9a-zA-Z ]+ -- BusyBox [0-9.]+ [(](un)?stable[)]' | sed -re 's/(.*) -- (.*)/\2\t\1/' | column -ts$'\t' -R2
BusyBox 1.36.0 (unstable)     3 January 2023
BusyBox 1.35.0 (unstable)   26 December 2021
BusyBox 1.33.2 (stable)     30 November 2021
BusyBox 1.34.1 (stable)    30 September 2021
BusyBox 1.34.0 (unstable)     19 August 2021
BusyBox 1.33.1 (stable)           3 May 2021
BusyBox 1.32.1 (stable)       1 January 2021
BusyBox 1.33.0 (unstable)   29 December 2020
BusyBox 1.32.0 (unstable)       26 June 2020
BusyBox 1.31.1 (stable)      25 October 2019
BusyBox 1.31.0 (unstable)       10 June 2019
BusyBox 1.30.1 (stable)     14 February 2019
BusyBox 1.30.0 (unstable)   31 December 2018
BusyBox 1.29.3 (stable)     9 September 2018
BusyBox 1.29.2 (stable)         31 July 2018
BusyBox 1.29.1 (stable)         15 July 2018
BusyBox 1.29.0 (unstable)        1 July 2018
BusyBox 1.28.4 (stable)          22 May 2018
BusyBox 1.28.3 (stable)         3 April 2018
BusyBox 1.28.2 (stable)        26 March 2018
BusyBox 1.28.1 (stable)     15 February 2018
BusyBox 1.28.0 (unstable)     2 January 2018
BusyBox 1.27.2 (stable)       17 August 2017
BusyBox 1.27.1 (stable)         18 July 2017
BusyBox 1.27.0 (unstable)        3 July 2017
BusyBox 1.26.2 (stable)      10 January 2017
BusyBox 1.26.1 (stable)       2 January 2017
BusyBox 1.26.0 (unstable)   20 December 2016
BusyBox 1.25.1 (stable)       7 October 2016
BusyBox 1.25.0 (unstable)       22 June 2016
BusyBox 1.24.2 (stable)        24 March 2016
BusyBox 1.24.1 (stable)      24 October 2015
BusyBox 1.24.0 (unstable)    12 October 2015
BusyBox 1.23.2 (stable)        23 March 2015
BusyBox 1.23.1 (stable)      27 January 2015
BusyBox 1.23.0 (unstable)   23 December 2014
BusyBox 1.22.1 (stable)      20 January 2014
BusyBox 1.22.0 (unstable)     1 January 2014
BusyBox 1.21.1 (stable)         29 June 2013
BusyBox 1.21.0 (unstable)    21 January 2013
BusyBox 1.20.2 (stable)          2 July 2012

See also discussion in #127 (comment)

… based on major.minor releases

This refactor will more closely match how BusyBox does releases -- they always call x.y.0 "unstable" but if it doesn't require any further fixes it never gets a .1 "stable" release (like 1.35 suffered from).  Additionally, they don't seem to really ever have more than two simultaneous release branches (but if they did, we could trivially add a new `latest-2` and be covered):

```console
$ wget -qO- 'https://busybox.net' | grep -ioE '[0-9a-zA-Z ]+ -- BusyBox [0-9.]+ [(](un)?stable[)]' | sed -re 's/(.*) -- (.*)/\2\t\1/' | column -ts$'\t' -R2
BusyBox 1.36.0 (unstable)     3 January 2023
BusyBox 1.35.0 (unstable)   26 December 2021
BusyBox 1.33.2 (stable)     30 November 2021
BusyBox 1.34.1 (stable)    30 September 2021
BusyBox 1.34.0 (unstable)     19 August 2021
BusyBox 1.33.1 (stable)           3 May 2021
BusyBox 1.32.1 (stable)       1 January 2021
BusyBox 1.33.0 (unstable)   29 December 2020
BusyBox 1.32.0 (unstable)       26 June 2020
BusyBox 1.31.1 (stable)      25 October 2019
BusyBox 1.31.0 (unstable)       10 June 2019
BusyBox 1.30.1 (stable)     14 February 2019
BusyBox 1.30.0 (unstable)   31 December 2018
BusyBox 1.29.3 (stable)     9 September 2018
BusyBox 1.29.2 (stable)         31 July 2018
BusyBox 1.29.1 (stable)         15 July 2018
BusyBox 1.29.0 (unstable)        1 July 2018
BusyBox 1.28.4 (stable)          22 May 2018
BusyBox 1.28.3 (stable)         3 April 2018
BusyBox 1.28.2 (stable)        26 March 2018
BusyBox 1.28.1 (stable)     15 February 2018
BusyBox 1.28.0 (unstable)     2 January 2018
BusyBox 1.27.2 (stable)       17 August 2017
BusyBox 1.27.1 (stable)         18 July 2017
BusyBox 1.27.0 (unstable)        3 July 2017
BusyBox 1.26.2 (stable)      10 January 2017
BusyBox 1.26.1 (stable)       2 January 2017
BusyBox 1.26.0 (unstable)   20 December 2016
BusyBox 1.25.1 (stable)       7 October 2016
BusyBox 1.25.0 (unstable)       22 June 2016
BusyBox 1.24.2 (stable)        24 March 2016
BusyBox 1.24.1 (stable)      24 October 2015
BusyBox 1.24.0 (unstable)    12 October 2015
BusyBox 1.23.2 (stable)        23 March 2015
BusyBox 1.23.1 (stable)      27 January 2015
BusyBox 1.23.0 (unstable)   23 December 2014
BusyBox 1.22.1 (stable)      20 January 2014
BusyBox 1.22.0 (unstable)     1 January 2014
BusyBox 1.21.1 (stable)         29 June 2013
BusyBox 1.21.0 (unstable)    21 January 2013
BusyBox 1.20.2 (stable)          2 July 2012
```
@tianon
Copy link
Member Author

tianon commented Jan 4, 2023

Made some tiny hacks to my local generate-stackbrew-library.sh (since it looks at the remote dist-* branches for the supported architectures lists), and managed to generate the following diff to demonstrate the effects of this change:

$ diff -u --color <(bashbrew cat busybox) <(bashbrew cat <(./generate-stackbrew-library.sh))
--- /dev/fd/63	2023-01-04 13:14:36.355494132 -0800
+++ /dev/fd/62	2023-01-04 13:14:36.355494132 -0800
@@ -1,6 +1,6 @@
 Maintainers: Tianon Gravi <[email protected]> (@tianon), Joseph Ferguson <[email protected]> (@yosifkit)
 GitRepo: https://github.com/docker-library/busybox.git
-GitCommit: fc0294a74da0206958940ac75c2dfbdd95fc07a5
+GitCommit: c7a767edfab481398176baca5cd3d799fe82b3ff
 amd64-GitCommit: 31d342ad033e27c18723a516a2274ab39547be27
 amd64-GitFetch: refs/heads/dist-amd64
 arm32v5-GitCommit: 96ea82ea25565f78b50bd032d5768d64985d6e11
@@ -22,52 +22,52 @@
 s390x-GitCommit: a03814d21bcf97767121bb9422a742ec237a09e2
 s390x-GitFetch: refs/heads/dist-s390x
 
-Tags: 1.34.1-glibc, 1.34-glibc, 1-glibc, stable-glibc, glibc
+Tags: 1.36.0-glibc, 1.36-glibc, 1-glibc, unstable-glibc, glibc
 Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
-Directory: stable/glibc
+Directory: latest/glibc
 
-Tags: 1.34.1-uclibc, 1.34-uclibc, 1-uclibc, stable-uclibc, uclibc
+Tags: 1.36.0-uclibc, 1.36-uclibc, 1-uclibc, unstable-uclibc, uclibc
 Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, riscv64
-Directory: stable/uclibc
+Directory: latest/uclibc
 
-Tags: 1.34.1-musl, 1.34-musl, 1-musl, stable-musl, musl
+Tags: 1.36.0-musl, 1.36-musl, 1-musl, unstable-musl, musl
 Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, s390x
-Directory: stable/musl
+Directory: latest/musl
 
-Tags: 1.34.1, 1.34, 1, stable, latest
+Tags: 1.36.0, 1.36, 1, unstable, latest
 Architectures: amd64, arm32v5, arm32v6, arm32v7, arm64v8, i386, mips64le, ppc64le, riscv64, s390x
-amd64-Directory: stable/glibc
-arm32v5-Directory: stable/glibc
-arm32v6-Directory: stable/musl
-arm32v7-Directory: stable/glibc
-arm64v8-Directory: stable/glibc
-i386-Directory: stable/glibc
-mips64le-Directory: stable/glibc
-ppc64le-Directory: stable/glibc
-riscv64-Directory: stable/uclibc
-s390x-Directory: stable/glibc
+amd64-Directory: latest/glibc
+arm32v5-Directory: latest/glibc
+arm32v6-Directory: latest/musl
+arm32v7-Directory: latest/glibc
+arm64v8-Directory: latest/glibc
+i386-Directory: latest/glibc
+mips64le-Directory: latest/glibc
+ppc64le-Directory: latest/glibc
+riscv64-Directory: latest/uclibc
+s390x-Directory: latest/glibc
 
-Tags: 1.36.0-glibc, 1.36-glibc, unstable-glibc
+Tags: 1.35.0-glibc, 1.35-glibc
 Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
-Directory: unstable/glibc
+Directory: latest-1/glibc
 
-Tags: 1.36.0-uclibc, 1.36-uclibc, unstable-uclibc
+Tags: 1.35.0-uclibc, 1.35-uclibc
 Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, riscv64
-Directory: unstable/uclibc
+Directory: latest-1/uclibc
 
-Tags: 1.36.0-musl, 1.36-musl, unstable-musl
+Tags: 1.35.0-musl, 1.35-musl
 Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, s390x
-Directory: unstable/musl
+Directory: latest-1/musl
 
-Tags: 1.36.0, 1.36, unstable
+Tags: 1.35.0, 1.35
 Architectures: amd64, arm32v5, arm32v6, arm32v7, arm64v8, i386, mips64le, ppc64le, riscv64, s390x
-amd64-Directory: unstable/glibc
-arm32v5-Directory: unstable/glibc
-arm32v6-Directory: unstable/musl
-arm32v7-Directory: unstable/glibc
-arm64v8-Directory: unstable/glibc
-i386-Directory: unstable/glibc
-mips64le-Directory: unstable/glibc
-ppc64le-Directory: unstable/glibc
-riscv64-Directory: unstable/uclibc
-s390x-Directory: unstable/glibc
+amd64-Directory: latest-1/glibc
+arm32v5-Directory: latest-1/glibc
+arm32v6-Directory: latest-1/musl
+arm32v7-Directory: latest-1/glibc
+arm64v8-Directory: latest-1/glibc
+i386-Directory: latest-1/glibc
+mips64le-Directory: latest-1/glibc
+ppc64le-Directory: latest-1/glibc
+riscv64-Directory: latest-1/uclibc
+s390x-Directory: latest-1/glibc

@tianon tianon merged commit b9ecc06 into docker-library:master Jan 5, 2023
@tianon tianon deleted the latest-1 branch January 5, 2023 16:47
docker-library-bot added a commit to docker-library-bot/official-images that referenced this pull request Jan 5, 2023
Changes:

- docker-library/busybox@b9ecc06: Merge pull request docker-library/busybox#161 from infosiftr/latest-1
- docker-library/busybox@c7a767e: Switch from explicit "stable" / "unstable" to "latest" and "latest-1" based on major.minor releases
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants