@@ -56,6 +56,14 @@ build i386:
56
56
script :
57
57
- *autobake-deb-steps
58
58
59
+ build bullseye-backports :
60
+ extends : .build-package
61
+ variables :
62
+ RELEASE : bullseye-backports
63
+
64
+ # Buster only has libfmt 6.1 but 7.0 is required, so backport build for Buster
65
+ # is not possible unless somebody packages libfmt7-dev for Buster.
66
+
59
67
build sid :
60
68
extends : .build-package
61
69
script :
@@ -112,35 +120,64 @@ blhc:
112
120
mysql --table -e "SELECT * FROM plugin;" mysql
113
121
mysql --table -e "SHOW PLUGINS;" mysql
114
122
123
+ # Readline was removed from Debian Sid (and Bullseye) in Feb 2021. To be able to install older
124
+ # versions of MariaDB that depend on it, fetch and install it from Buster.
125
+ .test-install-readline-in-sid-for-backwards-compat : &test-install-readline-in-sid-for-backwards-compat |
126
+ curl -sS -O http://ftp.de.debian.org/debian/pool/main/r/readline5/libreadline5_5.2+dfsg-3+b13_amd64.deb
127
+ apt-get -qq install --no-install-recommends --yes ./libreadline5_5.2+dfsg-3+b13_amd64.deb
128
+
115
129
.test-enable-bullseye-repos : &test-enable-bullseye-repos
116
130
# Replace any old repos with just Sid
117
131
- echo 'deb http://deb.debian.org/debian bullseye main' > /etc/apt/sources.list
118
132
# Upgrade minimal stack first
119
133
- apt-get update -qq
120
134
- apt-get install -y apt
121
135
122
- .test-enable-bullseye -backports-repos : &test-enable-bullseye -backports-repos |
123
- # Enable bullseye -backports (assumes environment already Debian Bullseye )
124
- echo 'deb http://deb.debian.org/debian bullseye -backports main' > /etc/apt/sources.list.d/bullseye -backports.list
136
+ .test-enable-buster -backports-repos : &test-enable-buster -backports-repos |
137
+ # Enable buster -backports (assumes environment already Debian Buster )
138
+ echo 'deb http://deb.debian.org/debian buster -backports main' > /etc/apt/sources.list.d/buster -backports.list
125
139
# Increase default backports priority policy from '100' to '500' so it can actually be used
126
140
cat << EOF > /etc/apt/preferences.d/enable-backports-to-satisfy-dependencies
127
141
Package : *
128
- Pin : release n=bullseye -*
142
+ Pin : release n=buster -*
129
143
Pin-Priority : 500
130
144
EOF
131
145
apt-get update -qq
132
146
133
- .test-enable-buster -backports-repos : &test-enable-buster -backports-repos |
134
- # Enable buster -backports (assumes environment already Debian Buster )
135
- echo 'deb http://deb.debian.org/debian buster -backports main' > /etc/apt/sources.list.d/buster -backports.list
147
+ .test-enable-bullseye -backports-repos : &test-enable-bullseye -backports-repos |
148
+ # Enable bullseye -backports (assumes environment already Debian Bullseye )
149
+ echo 'deb http://deb.debian.org/debian bullseye -backports main' > /etc/apt/sources.list.d/bullseye -backports.list
136
150
# Increase default backports priority policy from '100' to '500' so it can actually be used
137
151
cat << EOF > /etc/apt/preferences.d/enable-backports-to-satisfy-dependencies
138
152
Package : *
139
- Pin : release n=buster -*
153
+ Pin : release n=bullseye -*
140
154
Pin-Priority : 500
141
155
EOF
142
156
apt-get update -qq
143
157
158
+ .test-enable-sid-repos : &test-enable-sid-repos
159
+ # Apply usrmerge workaround for Stretch/Buster/Bullseye to Bookworm/Sid upgrades
160
+ - echo 'this system will not be supported in the future' > /etc/unsupported-skip-usrmerge-conversion
161
+ # Replace any old repos with just Sid
162
+ - echo 'deb http://deb.debian.org/debian sid main' > /etc/apt/sources.list
163
+ # Upgrade minimal stack first
164
+ - apt-get update -qq
165
+ # Next step will fail on https://bugs.debian.org/993755
166
+ # /usr/bin/perl: error while loading shared libraries: libcrypt.so.1: cannot
167
+ # open shared object file: No such file or directory
168
+ # dpkg: error processing package libc6:amd64 (--configure):
169
+ - apt-get install -y apt || true
170
+ # Apply workaround
171
+ - cd $(mktemp -d) # Use temp dir where apt can download and unpack files
172
+ - apt-get -y download libcrypt1
173
+ - dpkg-deb -x libcrypt1_*.deb .
174
+ - cp -ra lib/* /lib/
175
+ - cd - # Back to /builds/$USER/mariadb-server/debian/output
176
+ - find /lib/*/libcrypt.* -ls # Show that new libcrypt is there
177
+ - apt-get -y --fix-broken install
178
+ # Complete upgrade of minimal stack
179
+ - apt-get install -y apt
180
+
144
181
.test-install : &test-install
145
182
# Install MariaDB built in this commit
146
183
- apt-get install -y ./*.deb
@@ -252,35 +289,6 @@ mariadb-10.5 Bullseye upgrade:
252
289
variables :
253
290
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
254
291
255
- mariadb-10.3 with Buster backports upgrade :
256
- stage : upgrade extras
257
- needs :
258
- - job : build buster-backports
259
- image : debian:buster
260
- artifacts :
261
- when : always
262
- name : " $CI_BUILD_NAME"
263
- paths :
264
- - ${WORKING_DIR}/debug
265
- script :
266
- - *test-prepare-container
267
- # Install everything MariaDB 10.3 currently in Debian Buster
268
- - apt-get install -y 'default-mysql*' 'mariadb-*' 'libmariadb*'
269
- # Verify installation of MariaDB from Buster
270
- - *test-verify-initial
271
- # Buster backports is needed for liburing1 (>= 0.7) and galera-4 (>= 26.4)
272
- - *test-enable-buster-backports-repos
273
- - *test-install
274
- # mariadb-10.3 in Buster ships a /etc/init.d/mysql so it should continue to work
275
- - service mysql status
276
- - service mariadb status
277
- - *test-verify-final
278
- variables :
279
- GIT_STRATEGY : none
280
- except :
281
- variables :
282
- - $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
283
-
284
292
mariadb-10.3 Buster upgrade :
285
293
stage : upgrade from Buster
286
294
needs :
@@ -490,7 +498,9 @@ mysql-8.0 from Ubuntu 22.04 upgrade:
490
498
variables :
491
499
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
492
500
493
- mariadb.org 10.9 to mariadb upgrade :
501
+ # Upgrading from MySQL 8.0 with datadir in place is not possible. Users need to do a data dump.
502
+ # The Debian maintainer scripts detect this situation and simply moves old datadir aside and start fresh.
503
+ mysql-community-cluster-8.0 from MySQL.com upgrade :
494
504
stage : upgrade extras
495
505
needs :
496
506
- job : build
@@ -502,28 +512,30 @@ mariadb.org 10.9 to mariadb upgrade:
502
512
- ${WORKING_DIR}/debug
503
513
script :
504
514
- *test-prepare-container
505
- - apt install -y curl
506
- - curl -sS https://mariadb.org/mariadb_release_signing_key.asc -o /etc/apt/trusted.gpg.d/mariadb.asc
507
- - echo "deb https://deb.mariadb.org/10.9/debian ${RELEASE} main" > /etc/apt/sources.list.d/mariadb.list
508
- - apt-get update
509
- - apt-get install -y mariadb-server-10.9
510
- - *test-verify-initial
511
- # Install MariaDB built in this commit
512
- # Force downgrades so our version installs on top of upstream revision, e.g. 1:10.9.1-1 vs 1:10.9.1+mariadb~sid
513
- - apt-get install -y --allow-downgrades ./*.deb
514
- # Verify installation of MariaDB built in this commit
515
- - dpkg -l | grep -iE 'maria|mysql|galera' || true # List installed
516
- - mariadb --version # Client version
517
- - service mariadb status # There is no init.d/mysql in MariaDB 10.5+
515
+ - apt-get install --no-install-recommends --yes ca-certificates curl systemctl
516
+ - curl -sS "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x859be8d7c586f538430b19c2467b942d3a79bd29" -o /etc/apt/trusted.gpg.d/mysql.asc
517
+ - echo "deb https://repo.mysql.com/apt/debian/ bullseye mysql-cluster-8.0" > /etc/apt/sources.list.d/mysql.list
518
+ - apt-get update -qq
519
+ - apt-get install -y mysql-cluster-community-server
520
+ - sed 's/ExecStartPre=+/ExecStartPre=/' -i /lib/systemd/system/mysql.service # Hack to make file compatible with systemctl shim
521
+ - systemctl start mysql
522
+ - dpkg -l | grep -iE 'maria|mysql|galera'
523
+ - systemctl status mysql; mysql -e 'SELECT VERSION()'
524
+ - systemctl stop mysql # Stop manually as maintainer scripts don't handle this with systemctl shim
525
+ - *test-install
526
+ # Ignore systemctl shim result as MariaDB systemd file is incompatible with it and yields:
527
+ # ERROR:systemctl:the ExecStartPre control process exited with error code
528
+ - systemctl status mysql || true
529
+ - mysql -e 'SELECT VERSION()' || true
530
+ - sleep 5 # Give the mysql_upgrade a bit of time to complete before querying the server
518
531
- *test-verify-final
519
532
variables :
520
533
GIT_STRATEGY : none
521
534
except :
522
535
variables :
523
536
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
524
- allow_failure : true
525
537
526
- mariadb.org- 10.8 to mariadb upgrade :
538
+ mariadb.org 10.9 to mariadb upgrade :
527
539
stage : upgrade extras
528
540
needs :
529
541
- job : build
@@ -537,9 +549,9 @@ mariadb.org-10.8 to mariadb upgrade:
537
549
- *test-prepare-container
538
550
- apt install -y curl
539
551
- curl -sS https://mariadb.org/mariadb_release_signing_key.asc -o /etc/apt/trusted.gpg.d/mariadb.asc
540
- - echo "deb https://deb.mariadb.org/10.8 /debian ${RELEASE} main" > /etc/apt/sources.list.d/mariadb.list
552
+ - echo "deb https://deb.mariadb.org/10.9 /debian ${RELEASE} main" > /etc/apt/sources.list.d/mariadb.list
541
553
- apt-get update
542
- - apt-get install -y mariadb-server-10.8
554
+ - apt-get install -y mariadb-server-10.9 mariadb-client-10.9
543
555
- *test-verify-initial
544
556
# Install MariaDB built in this commit
545
557
# Force downgrades so our version installs on top of upstream revision, e.g. 1:10.9.1-1 vs 1:10.9.1+mariadb~sid
@@ -556,9 +568,7 @@ mariadb.org-10.8 to mariadb upgrade:
556
568
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
557
569
allow_failure : true
558
570
559
- # Upgrading from MySQL 8.0 with datadir in place is not possible. Users need to do a data dump.
560
- # The Debian maintainer scripts detect this situation and simply moves old datadir aside and start fresh.
561
- mysql-community-cluster-8.0 from MySQL.com upgrade :
571
+ mariadb.org-10.8 to mariadb upgrade :
562
572
stage : upgrade extras
563
573
needs :
564
574
- job : build
@@ -570,28 +580,26 @@ mysql-community-cluster-8.0 from MySQL.com upgrade:
570
580
- ${WORKING_DIR}/debug
571
581
script :
572
582
- *test-prepare-container
573
- - apt-get install --no-install-recommends --yes ca-certificates curl systemctl
574
- - curl -sS "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x859be8d7c586f538430b19c2467b942d3a79bd29" -o /etc/apt/trusted.gpg.d/mysql.asc
575
- - echo "deb https://repo.mysql.com/apt/debian/ bullseye mysql-cluster-8.0" > /etc/apt/sources.list.d/mysql.list
576
- - apt-get update -qq
577
- - apt-get install -y mysql-cluster-community-server
578
- - sed 's/ExecStartPre=+/ExecStartPre=/' -i /lib/systemd/system/mysql.service # Hack to make file compatible with systemctl shim
579
- - systemctl start mysql
580
- - dpkg -l | grep -iE 'maria|mysql|galera'
581
- - systemctl status mysql; mysql -e 'SELECT VERSION()'
582
- - systemctl stop mysql # Stop manually as maintainer scripts don't handle this with systemctl shim
583
- - *test-install
584
- # Ignore systemctl shim result as MariaDB systemd file is incompatible with it and yields:
585
- # ERROR:systemctl:the ExecStartPre control process exited with error code
586
- - systemctl status mysql || true
587
- - mysql -e 'SELECT VERSION()' || true
588
- - sleep 5 # Give the mysql_upgrade a bit of time to complete before querying the server
583
+ - apt install -y curl
584
+ - curl -sS https://mariadb.org/mariadb_release_signing_key.asc -o /etc/apt/trusted.gpg.d/mariadb.asc
585
+ - echo "deb https://deb.mariadb.org/10.8/debian ${RELEASE} main" > /etc/apt/sources.list.d/mariadb.list
586
+ - apt-get update
587
+ - apt-get install -y mariadb-server-10.8
588
+ - *test-verify-initial
589
+ # Install MariaDB built in this commit
590
+ # Force downgrades so our version installs on top of upstream revision, e.g. 1:10.9.1-1 vs 1:10.9.1+mariadb~sid
591
+ - apt-get install -y --allow-downgrades ./*.deb
592
+ # Verify installation of MariaDB built in this commit
593
+ - dpkg -l | grep -iE 'maria|mysql|galera' || true # List installed
594
+ - mariadb --version # Client version
595
+ - service mariadb status # There is no init.d/mysql in MariaDB 10.5+
589
596
- *test-verify-final
590
597
variables :
591
598
GIT_STRATEGY : none
592
599
except :
593
600
variables :
594
601
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
602
+ allow_failure : true
595
603
596
604
mariadb.org-10.7 to mariadb upgrade :
597
605
stage : upgrade extras
@@ -685,11 +693,11 @@ mariadb.org-10.5 to mariadb upgrade:
685
693
variables :
686
694
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
687
695
688
- mariadb.org-10.4 to mariadb with Buster backports upgrade :
696
+ mariadb.org-10.4 to mariadb upgrade :
689
697
stage : upgrade extras
690
698
needs :
691
- - job : build buster-backports
692
- image : debian:buster
699
+ - job : build
700
+ image : debian:${RELEASE}
693
701
artifacts :
694
702
when : always
695
703
name : " $CI_BUILD_NAME"
@@ -701,6 +709,7 @@ mariadb.org-10.4 to mariadb with Buster backports upgrade:
701
709
- curl -sS https://mariadb.org/mariadb_release_signing_key.asc -o /etc/apt/trusted.gpg.d/mariadb.asc
702
710
- echo "deb https://archive.mariadb.org/mariadb-10.4/repo/debian buster main" > /etc/apt/sources.list.d/mariadb.list
703
711
- apt-get update -qq
712
+ - *test-install-readline-in-sid-for-backwards-compat
704
713
- apt-get install -y mariadb-server-10.4
705
714
# MariaDB.org version of 10.4 and early 10.5 do not install an init file, so
706
715
# it must be installed here manually
@@ -719,11 +728,11 @@ mariadb.org-10.4 to mariadb with Buster backports upgrade:
719
728
variables :
720
729
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
721
730
722
- mariadb.org-10.3 to mariadb with Buster backports upgrade :
731
+ mariadb.org-10.3 to mariadb upgrade :
723
732
stage : upgrade extras
724
733
needs :
725
- - job : build bullseye-backports
726
- image : debian:bullseye
734
+ - job : build
735
+ image : debian:${RELEASE}
727
736
artifacts :
728
737
when : always
729
738
name : " $CI_BUILD_NAME"
@@ -735,6 +744,7 @@ mariadb.org-10.3 to mariadb with Buster backports upgrade:
735
744
- curl -sS https://mariadb.org/mariadb_release_signing_key.asc -o /etc/apt/trusted.gpg.d/mariadb.asc
736
745
- echo "deb https://archive.mariadb.org/mariadb-10.3/repo/debian buster main" > /etc/apt/sources.list.d/mariadb.list
737
746
- apt-get update -qq
747
+ - *test-install-readline-in-sid-for-backwards-compat
738
748
- apt-get install -y mariadb-server-10.3
739
749
- *test-verify-initial
740
750
# Buster backports is needed for liburing1 (>= 0.7) and galera-4 (>= 26.4)
0 commit comments