modular: Changes to 'master'
Gaetan Nadon
gnadon at kemper.freedesktop.org
Wed Apr 25 14:33:46 PDT 2012
release.sh | 904 ++++++++++++++++++++++++++++++++++++++++++-------------------
1 file changed, 629 insertions(+), 275 deletions(-)
New commits:
commit cc5c629163ce7cf1f72da4a39bcb3b2233ed930a
Author: Alan Coopersmith <alan.coopersmith at oracle.com>
Date: Fri Mar 9 14:49:03 2012 -0800
fix new release.sh to work on Solaris, where /bin/grep is missing several options
Signed-off-by: Gaetan Nadon <memsize at videotron.ca>
commit f81fa9310aab5fcdc9190ca744aced4788508da9
Author: Gaetan Nadon <memsize at videotron.ca>
Date: Fri Dec 16 09:43:46 2011 -0500
Release.sh: batch release and autotagging of modules
Features:
- Visit the supplied paths to git modules
- Accepts a list of paths in the format produced by build.sh -L
- Tag and version names picked-up from Makefile
- Determine the web section from the module git URL
- It only releases tarballs it has created from the git module
- Timely feedback, extensive error checking and final report
- Leave module untouched if already released
- Preview what will happen with --dry-run
- Generate the announce e-mail
- Update the jhbuild moduleset
Caveats:
- Autotagging is mandatory to implement project policies
and gracefully ignores additional tags.
- Cmd line interface not backward compatible mainly for autotagging
- Intel video driver and xcb will use conforming tags from now on
- Local changes in the module are not tolerated
- For jhbuild moduleset, readlink has been removed as it is not portable
Alternative solutions are considered.
Usage examples:
util/modular/release.sh app/xdm lib/libX11-1.1.3 xserver
In this example, libX11-1.1.3 would be at branch 1.1.3 and could be released
in the same batch run with libX11 master.
Design
-------
The development process ends with a module whose last commit is a
version bump in the fdo repository. All testing is assumed to have been done,
including distcheck.
The user is not asked to do anything with git tags. No harm done if user tags
the module with the correct tag name. Any non conforming tag will be ignored.
Modules can have multiple tags, only the conforming one will be used to
generate and release tarballs.
The srcipt runs 'make dist' to create the tarball. We don't have to prompt
the user for the tar name, the version number or the web section name.
The web section is determined from the git module URL. Special cases like
mesa or xcb are handled.
Interface
---------
Where "path" is a relative path to a git module, including '.'.
Options:
--distcheck Use 'distcheck' rather than 'dist' to create tarballs
--dry-run Does everything except tagging and uploading tarballs
--force Force overwriting an existing release
--help Display this help and exit successfully
--modfile <file> Release the git modules specified in <file>
--moduleset <file> The jhbuild moduleset full pathname to be updated
--no-quit Do not quit after error; just print error message
--user <name> Username of your fdo account if not configured in ssh
Environment variables defined by the "make" program and used by release.sh:
MAKE The name of the make command [make]
MAKEFLAGS: Options to pass to all \$(MAKE) invocations
Usage Scenarios
----------------
Due to a change to the m4 macro, all font packages need to released.
util/modular/build.sh -L | grep font/ > myList.txt
util/modular/release.sh --modfile myList.txt
A developer is asking a buddy to relase a few protocols and libraries.
He sends the list in an e-mail. Once all is done on disk:
edit myList.txt (or save from e-mail)
util/modular/release.sh --no-quit --modfile myList.txt
A single app needs to be released for an important bug fix
cd app/xdm
../../util/modular/release.sh .
Supports libdrm and xkeybboard-config:
util/modular/release.sh xkeyboard-config mesa/drm
Reviewed-by: Jeremy Huddleston <jeremyhu at apple.com>
Tested-by: Jeremy Huddleston <jeremyhu at apple.com>
Tested-by: Alan Coopersmith <alan.coopersmith at oracle.com>
Signed-off-by: Gaetan Nadon <memsize at videotron.ca>
More information about the xorg-commit
mailing list