[Lsb-infrastructure] procedure for doing a db-related update
Mats Wichmann
mats.d.wichmann at intel.com
Mon Apr 19 10:18:08 PDT 2010
I think this will all be familiar stuff, but just for the
sake of being complete:
Steps for applying DB-related update:
1. On an LF machine, apply patch for live database (this will
require access as the "lsbdbadmin" user or other suitably
authorized user, check with David Ames for that)
If it's just a patch, any machine is okay, but you will need:
export LSBDBHOST=db2.linuxfoundation.org
In case it's a major update that requires a complete reload, it
should be done from the db2 machine (otherwise known as 'banner')
or it will be too slow.
2. in a branch of specdb, "make dump", commit the change, and
push back to the master branch. mysqldump on spidey is usually
used to keep from seeing extra changes to the .sql files.
3. on a regular work machine, pull the specdb branch and "make restore"
4. a. if there are changes in build_env/stub_libs, rebuild there by
doing "make distclean gensrc".
b. if there are changes in headers, I tend not to clean-and-build as
it's very slow (well over an hour for me). It's not wrong to do so,
but now that we have the target I tend to just manually do
"make foo.h-defs" for each affected header foo.h. However, if using
this method, if there are NEW headers, it is necessary to also remove
and regenerate core_filelist in headers (which does desktop_filelist
as a side effect). The full clean and rebuild will pick this step
up automatically.
c. if there are any added files, either headers or libraries,
remove and remake core_filelist in the package directory.
d. update the makefile in package to give this build a new version.
I tend to bump RPM_PACKAGE_RELEASE for smaller changes and
SUB_VERSION for larger ones, such as the addition/removal of
headers or such, no really formal versioning scheme.
e. commit to bzr and push the build_env branch up to the master:
bzr push
bzr+ssh://spidey.linuxfoundation.org/srv/www/bzr/lsb/devel/build_env/
If there were new files, "bzr add" them first before committing.
5. in misc_test, usually only elfchk, libchk and devchk need
regeneration, in each case "make distclean gensrc" is fine.
However, the complication here is that bumping package versions
for affected packages needs to happen in the separate packaging
branch. if there are new files, "bzr add" them, then commit and
push up (both branches)
6. in lsbspec, do "make gensrc" and "make" to generate out the changes
if they affect the spec. If new files "bzr add" them, commit,
and push up.
Some changes ought to be backported to 4.0, but perhaps we'll not
need to worry so much about that.
one can always ask on irc to get consensus on something.
More information about the lsb-infrastructure
mailing list