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