@@ -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,6 +498,43 @@ 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
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 :
504
+ stage : upgrade extras
505
+ needs :
506
+ - job : build
507
+ image : debian:${RELEASE}
508
+ artifacts :
509
+ when : always
510
+ name : " $CI_BUILD_NAME"
511
+ paths :
512
+ - ${WORKING_DIR}/debug
513
+ script :
514
+ - *test-prepare-container
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
531
+ - *test-verify-final
532
+ variables :
533
+ GIT_STRATEGY : none
534
+ except :
535
+ variables :
536
+ - $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
537
+
493
538
mariadb.org 10.11 to mariadb upgrade :
494
539
stage : upgrade extras
495
540
needs :
@@ -570,7 +615,7 @@ mariadb.org 10.9 to mariadb upgrade:
570
615
- curl -sS https://mariadb.org/mariadb_release_signing_key.asc -o /etc/apt/trusted.gpg.d/mariadb.asc
571
616
- echo "deb https://deb.mariadb.org/10.9/debian ${RELEASE} main" > /etc/apt/sources.list.d/mariadb.list
572
617
- apt-get update
573
- - apt-get install -y mariadb-server
618
+ - apt-get install -y mariadb-server-10.9 mariadb-client-10.9
574
619
- *test-verify-initial
575
620
# Install MariaDB built in this commit
576
621
# 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
@@ -618,43 +663,6 @@ mariadb.org-10.8 to mariadb upgrade:
618
663
variables :
619
664
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
620
665
621
- # Upgrading from MySQL 8.0 with datadir in place is not possible. Users need to do a data dump.
622
- # The Debian maintainer scripts detect this situation and simply moves old datadir aside and start fresh.
623
- mysql-community-cluster-8.0 from MySQL.com upgrade :
624
- stage : upgrade extras
625
- needs :
626
- - job : build
627
- image : debian:${RELEASE}
628
- artifacts :
629
- when : always
630
- name : " $CI_BUILD_NAME"
631
- paths :
632
- - ${WORKING_DIR}/debug
633
- script :
634
- - *test-prepare-container
635
- - apt-get install --no-install-recommends --yes ca-certificates curl systemctl
636
- - curl -sS "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x859be8d7c586f538430b19c2467b942d3a79bd29" -o /etc/apt/trusted.gpg.d/mysql.asc
637
- - echo "deb https://repo.mysql.com/apt/debian/ bullseye mysql-cluster-8.0" > /etc/apt/sources.list.d/mysql.list
638
- - apt-get update -qq
639
- - apt-get install -y mysql-cluster-community-server
640
- - sed 's/ExecStartPre=+/ExecStartPre=/' -i /lib/systemd/system/mysql.service # Hack to make file compatible with systemctl shim
641
- - systemctl start mysql
642
- - dpkg -l | grep -iE 'maria|mysql|galera'
643
- - systemctl status mysql; mysql -e 'SELECT VERSION()'
644
- - systemctl stop mysql # Stop manually as maintainer scripts don't handle this with systemctl shim
645
- - *test-install
646
- # Ignore systemctl shim result as MariaDB systemd file is incompatible with it and yields:
647
- # ERROR:systemctl:the ExecStartPre control process exited with error code
648
- - systemctl status mysql || true
649
- - mysql -e 'SELECT VERSION()' || true
650
- - sleep 5 # Give the mysql_upgrade a bit of time to complete before querying the server
651
- - *test-verify-final
652
- variables :
653
- GIT_STRATEGY : none
654
- except :
655
- variables :
656
- - $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
657
-
658
666
mariadb.org-10.7 to mariadb upgrade :
659
667
stage : upgrade extras
660
668
needs :
@@ -746,11 +754,11 @@ mariadb.org-10.5 to mariadb upgrade:
746
754
variables :
747
755
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
748
756
749
- mariadb.org-10.4 to mariadb with Buster backports upgrade :
757
+ mariadb.org-10.4 to mariadb upgrade :
750
758
stage : upgrade extras
751
759
needs :
752
- - job : build buster-backports
753
- image : debian:buster
760
+ - job : build
761
+ image : debian:${RELEASE}
754
762
artifacts :
755
763
when : always
756
764
name : " $CI_BUILD_NAME"
@@ -762,6 +770,7 @@ mariadb.org-10.4 to mariadb with Buster backports upgrade:
762
770
- curl -sS https://mariadb.org/mariadb_release_signing_key.asc -o /etc/apt/trusted.gpg.d/mariadb.asc
763
771
- echo "deb https://archive.mariadb.org/mariadb-10.4/repo/debian buster main" > /etc/apt/sources.list.d/mariadb.list
764
772
- apt-get update -qq
773
+ - *test-install-readline-in-sid-for-backwards-compat
765
774
- apt-get install -y mariadb-server-10.4
766
775
# MariaDB.org version of 10.4 and early 10.5 do not install an init file, so
767
776
# it must be installed here manually
@@ -780,11 +789,11 @@ mariadb.org-10.4 to mariadb with Buster backports upgrade:
780
789
variables :
781
790
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
782
791
783
- mariadb.org-10.3 to mariadb with Buster backports upgrade :
792
+ mariadb.org-10.3 to mariadb upgrade :
784
793
stage : upgrade extras
785
794
needs :
786
- - job : build bullseye-backports
787
- image : debian:bullseye
795
+ - job : build
796
+ image : debian:${RELEASE}
788
797
artifacts :
789
798
when : always
790
799
name : " $CI_BUILD_NAME"
@@ -796,6 +805,7 @@ mariadb.org-10.3 to mariadb with Buster backports upgrade:
796
805
- curl -sS https://mariadb.org/mariadb_release_signing_key.asc -o /etc/apt/trusted.gpg.d/mariadb.asc
797
806
- echo "deb https://archive.mariadb.org/mariadb-10.3/repo/debian buster main" > /etc/apt/sources.list.d/mariadb.list
798
807
- apt-get update -qq
808
+ - *test-install-readline-in-sid-for-backwards-compat
799
809
- apt-get install -y mariadb-server-10.3
800
810
- *test-verify-initial
801
811
# Buster backports is needed for liburing1 (>= 0.7) and galera-4 (>= 26.4)
0 commit comments