Project:PostgreSQL/Slot Bump

From Gentoo Wiki
Jump to: navigation, search

When to Bump

Slot bumping happens in parallel with the beta release of a new major version. The new slot will match the major version of the next anticipated version beyond the current beta.

This document will walk through the changes required when upstream does the fictional beta release of version 11 -- this will probably be a reality some day, but not at the time of this writing -- and it anticipates the next major version will be 12.

What needs to be bumped

Everything that follows must be committed individually without pushing.

Copy postgresql-10.*.ebuild to postgresql-11_beta?.ebuild

Copy the highest versioned ebuild to be the beta ebuild. The live version (postgresql-9999.ebuild) is not suitable for this as it does not support building just the client programs and libraries.

You will most likely need to create a new no-server.patch file.

Beta and RC packages must be masked. Add the following to profiles/package.mask:

FILE profiles/package.mask
# Dev E. Loper <developer@gentoo.org> (09 Sep 2018)
# PostgreSQL beta and release candidate releases are pre-release testing
# versions, not meant for production use. They are feature-frozen, and are
# released to the public for testing before final release
#
# NOTE: Successive beta or candidate releases may not be backwards compatible,
# so it is important that you review the release notes before upgrading.
#
# For more information about beta and release candidate versions, see:
#     https://www.postgresql.org/developer/beta/
dev-db/postgresql:11

dev-db/postgresql-9999

Bump slot to the next anticipated major version

FILE dev-db/postgresql/postgresql-9999.ebuild
-SLOT="11"
+SLOT="12"

profiles/base/make.defaults

Change the default POSTGRES_TARGETS to the highest slot with a stable version.

FILE profiles/base/make.defaults
-POSTGRES_TARGETS="postgres9_5"
+POSTGRES_TARGETS="postgres10"

profiles/desc/postgres_targets.desc

Add to the new slot to the description file

FILE profiles/desc/postgres_targets.desc
postgres11 - Build against PostgreSQL 11
+postgres12 - Build against PostgreSQL 12

eclass/postgres.eclass

Add the new slot to the eclass so simple sorting can keep working. This change of the eclass does not require permission or checking in with anyone.

FILE eclass/postgres.eclass
-_POSTGRES_ALL_VERSIONS=( 11 10 9.6 9.5 9.4 9.3 9.2 )
+_POSTGRES_ALL_VERSIONS=( 12 11 10 9.6 9.5 9.4 9.3 9.2 )

Push it!

Once you have completed all the changes, you can push the changes.