Provide only single binary xtrabackup
I do not think we should provide several binaries, i.e.
xtrabackup
xtrabackup_51
xtrabackup_55
It seems that having single binary xtrabackup, based on most advanced version of Percona Server,
will be enough.
This should be properly tested, and if there is no problem, we should ship only single binary file.
Blueprint information
- Status:
- Complete
- Approver:
- Alexey Kopytov
- Priority:
- High
- Drafter:
- Alexey Kopytov
- Direction:
- Approved
- Assignee:
- Alexey Kopytov
- Definition:
- Approved
- Series goal:
- Accepted for 2.2
- Implementation:
- Implemented
- Milestone target:
- 2.2.1-alpha1
- Started by
- Alexey Kopytov
- Completed by
- Alexey Kopytov
Related branches
Related bugs
Sprints
Whiteboard
The goals are to:
1. Get rid of multiple xtrabackup binaries (xtrabackup, xtrabackup_55,
xtrabackup_56, etc.)
2. Make the XtraBackup source tree self-contained (without having to
download server source tarballs).
3. Get rid of patches.
This obviously required a lot of small changes all over the source tree,
here’s a description of the major ones:
- merged patches/
5.6.11, will be rebased as a separate step);
- merged relevant bits from XtraDB 5.1/5.5/5.6 to be able to backup
all versions of Percona Server with a MySQL 5.6-based binary
- cleaned up the code, removed tons of #ifdef
XTRADB55/
as we are building from a single tree;
- moved the xtrabackup subdirectory to storage/
was the only reliable way I could find to automatically inherit InnoDB
compiler flags;
- kewpie is gone (unmaintained, wouldn’t work with single binary anyway)
- innodb_int.[ch] are gone;
- build.sh is gone (one can use regular cmake commands to build in
various configurations)
- AUTO_DOWNLOAD is gone
- insane hand-written Makefiles to support all kinds of tricks to build
with external tarballs + patches are gone
- run.sh -c does not have any effect (but is still supported for Jenkins
compatibility)
- the xtrabackup_binary file in the backup directory is no longer created
- innobackupex-1.5.1 symlink is gone
What needs further work:
- packaging scripts are likely broken. Should be modified to use “make
install” (short-term), and replaced with CPack (long-term)
- documentation needs updating to reflect user-visible changes from above
- documentation still uses its own build system (and thus is not
installed on “make install”)
Work Items
Dependency tree
* Blueprints in grey have been implemented.