[SCM] Samba Shared Repository - branch v3-3-test updated - release-3-2-0pre2-2716-g57d5963

Gerald Carter jerry at samba.org
Tue Jun 3 16:21:28 GMT 2008


The branch, v3-3-test has been updated
       via  57d596395db287301eefd34e62c9aaf857c34c69 (commit)
       via  7c96795e5954b6a716beb6f5a30d6c7bb1647717 (commit)
      from  f7bfa1330cef34b1bbe7969bddbce2ff895321ed (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-3-test


- Log -----------------------------------------------------------------
commit 57d596395db287301eefd34e62c9aaf857c34c69
Author: Gerald W. Carter <jerry at samba.org>
Date:   Tue Jun 3 11:18:44 2008 -0500

    winbindd_cm: Replace the use of lp_realm() with our_domain->alt_name.
    
    Reduce the use of config parameters with run time information after discussion
    with Guenther.

commit 7c96795e5954b6a716beb6f5a30d6c7bb1647717
Author: Gerald W. Carter <jerry at samba.org>
Date:   Tue May 27 16:27:21 2008 -0500

    Release scripts: Update create-tarball to include docs and other packaging details.
    
    I've updated the create-tarball script to support command line options,
    docs build (or copy and existing build), and to run the packaging update
    scripts.
    
      $ release-scripts/create-tarball --help
      Usage release-scripts/create-tarball [options]
          --help             Print command usage
          --branch <name>    Specify the branch to to create the archive file from
          --copy-docs <dir>  Copy documentation from <dir> rather than building
          --tag <name>       Tag name for release
          --keyid <email>    The GnuPG key ID used to sign the release tag

-----------------------------------------------------------------------

Summary of changes:
 release-scripts/create-tarball |  314 ++++++++++++++++++++++++++++------------
 source/winbindd/winbindd_cm.c  |    8 +-
 2 files changed, 226 insertions(+), 96 deletions(-)


Changeset truncated at 500 lines:

diff --git a/release-scripts/create-tarball b/release-scripts/create-tarball
index a689e69..3463f01 100755
--- a/release-scripts/create-tarball
+++ b/release-scripts/create-tarball
@@ -1,98 +1,222 @@
 #!/bin/bash
 
-TOPDIR="`dirname $0`/.."
+## option defaults
+OPT_BRANCH=""
+OPT_DOCSDIR=""
+OPT_TAG=""
+OPT_KEYID=""
 
-cd $TOPDIR
-
-echo -n "Please enter branch to cut tarball from: "
-read branch
-
-if [ "x$branch" = "x" ]; then
-   echo "You must enter a name!  Exiting...."
-   exit 1
-fi
-
-git-checkout $branch
-if [ $? -ne 0 ]; then
-   echo "Invalid branch name!  Exiting...."
-   exit 2
-fi
-
-VER_H=source/include/version.h
-(cd source && ./script/mkversion.sh)
-
-if [ ! -f $VER_H ]; then
-   echo "Failed to find $VER_H!  Exiting...."
-   exit 1
-fi
-
-version=`grep SAMBA_VERSION_OFFICIAL_STRING $VER_H | awk '{print $3}'`
-vendor_version=`grep SAMBA_VERSION_VENDOR_SUFFIX $VER_H | awk '{print $3}'`
-if [ -n "$vendor_version" ]; then
-    version="$version-$vendor_version"
-fi
-version=`echo $version | sed 's/\"//g'`
-
-echo "Creating release tarball for Samba $version"
-
-/bin/rm -rf ../samba-${version}
-git-archive --format=tar --prefix=samba-${version}/ HEAD | (cd .. && tar xf -)
-
-pushd ../samba-${version}
-
-echo "Enter the absolute path to the generated Samba docs directory."
-echo -n "Just hit return to exclude the docs from the generate tarball: "
-read docsdir
-
-if [ "x$docsdir" != "x" ]; then
-   if [ ! -d "$docsdir" ]; then
-      echo "$docsdir does not exist!  Exiting...."
-      exit 1
-   fi
-
-   /bin/rm -rf docs
-   mkdir docs
-   rsync -a --exclude=.svn $docsdir/ docs/
-
-   cd docs
-   /bin/rm -rf test.pdf Samba4*pdf htmldocs/Samba4* htmldocs/test
-   /bin/mv manpages-3 manpages
-   /bin/mv htmldocs/manpages-3 htmldocs/manpages
-   cd ..
-fi
-
-cd source
-./autogen.sh
-cd ..
-
-cd ..
-tar cf samba-${version}.tar --exclude=.git* --exclude=CVS --exclude=.svn samba-${version}
-gpg --detach-sign --armor samba-${version}.tar
-gzip -9 samba-${version}.tar
-
-popd
-echo -n "Enter tag name (or hit <enter> to skip): "
-read tagname
-
-if [ "x$tagname" != "x" ]; then
-   if [ "x`git-tag -l $tagname`" != "x" ]; then
-      echo -n "Tag exists.  Do you wish to overwrite? (y/N): "
-      read answer
-
-      if [ "x$answer" != "xy" ]; then
-      	 echo "Tag creation aborted."
-	 exit 1
-      fi
-   fi
-
-   echo -n "Enter the keyid:"
-   read keyid
-   if [ x"$keyid" = x"" ];then
-      echo "no keyid"
-      exit 1
-   fi
-   git-tag -u $keyid ${tagname}
-fi
-
-echo "Done!"
-exit 0
+TOPDIR="`dirname $0`/.."
+VER_H="${TOPDIR}/source/include/version.h"
+
+function exitOnError
+{
+    local _error="$1"
+    local _msg="$2"
+
+    if [ ${_error} -eq 0 ]; then
+	return 0
+    fi
+
+    echo "FAILURE: ${_msg}"
+    exit ${_error}
+}
+
+##
+## Print help usage
+##
+
+function printUsage
+{
+    echo "Usage $0 [options]"
+    echo "    --help             Print command usage"
+    echo "    --branch <name>    Specify the branch to to create the archive file from"
+    echo "    --copy-docs <dir>  Copy documentation from <dir> rather than building"
+    echo "    --tag <name>       Tag name for release"
+    echo "    --keyid <email>    The GnuPG key ID used to sign the release tag"
+    echo ""
+}
+
+##
+## Parse the command line options 
+##
+
+function parseOptions
+{
+    while [ -n "$1" ]; do
+	case "$1" in
+	    --help)
+		printUsage
+		exit 0
+		;;
+	    --branch)
+		shift
+		if [ -z "$1" ]; then
+		    printUsage
+		    return 1
+		fi
+		OPT_BRANCH="$1"
+		shift
+		;;
+	    --copy-docs)
+		shift
+		if [ -z "$1" ]; then
+		    printUsage
+		    return 1
+		fi
+		OPT_DOCSDIR="$1"
+		shift
+		;;
+	    --tag)
+		shift
+		if [ -z "$1" ]; then
+		    printUsage
+		    return 1
+		fi
+		OPT_TAG="$1"
+		shift
+		;;
+	    --keyid)
+		shift
+		if [ -z "$1" ]; then
+		    printUsage
+		    return 1
+		fi
+		OPT_KEYID="$1"
+		shift
+		;;
+	    *)
+		printUsage
+		return 1
+		;;
+	esac
+    done
+
+    if [ -z "${OPT_BRANCH}" ]; then
+	echo "You must specify a branch name!"
+	printUsage
+	return 1
+    fi
+}
+
+##
+## Build the dopcumentation (may be a no-op)
+##
+
+function buildDocs
+{
+    if [ -n "${OPT_DOCSDIR}" ]; then
+	if [ ! -d "${OPT_DOCSDIR}" ]; then
+	    exitOnError 1 "${OPT_DOCSDIR} does not exist.  Please specify the absolute path."
+	fi
+
+	mkdir docs
+	exitOnError $? "Failed to create docs directory"
+
+	rsync -av "${OPT_DOCSDIR}"/ docs/
+	exitOnError $? "Failed top copy docs from ${OPT_DOCSDIR}"
+	
+	return 0
+    fi
+
+    echo "Building documentation.  This may take a while.  Log file in /tmp/docs-build.log.$$"
+
+    ${TOPDIR}/release-scripts/build-docs 2> /tmp/docs-build.log.$$
+    return $?
+
+}
+
+
+##
+## Create a release tag
+##
+function createReleaseTag
+{
+    if [ -z "${OPT_TAG}" ]; then
+	echo "Tagging disabled"
+	return 0
+    fi
+
+    if [ "x`git-tag -l ${OPT_TAG}`" != "x" ]; then
+	echo -n "Tag exists.  Do you wish to overwrite? (y/N): "
+	read answer
+
+	if [ "x$answer" != "xy" ]; then
+      	    echo "Tag creation aborted."
+	    exit 1
+	fi
+    fi
+
+    if [ -z "${OPT_KEYID}" ]; then
+	echo -n "Enter the keyid:"
+	read OPT_KEYID
+	if [ -z "${OPT_KEYID}" ]; then
+	    exitOnError 1 "No keyid specified"
+	fi
+    fi
+
+    git-tag -u ${OPT_KEYID} ${OPT_TAG}
+    exitOnError $? "Failed to create tag"
+
+    return 0
+}
+##
+## Main driver
+##
+function main 
+{
+    parseOptions "$@"
+    exitOnError $? "Failed to parse options"
+    
+    cd $TOPDIR
+
+    git-checkout ${OPT_BRANCH}
+    exitOnError $? "Invalid branch name \"${OPT_BRANCH}\""
+
+    (cd source && ./script/mkversion.sh)
+    if [ ! -f $VER_H ]; then
+	exitOnError 1 "Failed to find ${VER_H}!"
+    fi
+
+    version=`grep SAMBA_VERSION_OFFICIAL_STRING $VER_H | awk '{print $3}'`
+    vendor_version=`grep SAMBA_VERSION_VENDOR_SUFFIX $VER_H | awk '{print $3}'`
+    if [ -n "$vendor_version" ]; then
+	version="$version-$vendor_version"
+    fi
+    version=`echo $version | sed 's/\"//g'`
+
+    echo "Creating release tarball for Samba $version"
+
+    /bin/rm -rf ../samba-${version}
+    git-archive --format=tar --prefix=samba-${version}/ HEAD | (cd .. && tar xf -)
+    exitOnError $? "Failed to create release directory tree"
+
+    pushd ../samba-${version}
+
+    packaging/bin/update-pkginfo ${version} 1 ""
+
+    buildDocs
+    exitOnError $? "Failed to build documentation"
+
+    ( cd source && ./autogen.sh )
+
+    cd ..
+    tar cf samba-${version}.tar --exclude=.git* --exclude=CVS --exclude=.svn samba-${version}
+    exitOnError $? "Failed to create tarball from git tree"
+
+    gpg --detach-sign --armor samba-${version}.tar
+    ## exitOnError $? "Failed to sign tarball"
+
+    gzip -9 samba-${version}.tar
+    exitOnError $? "Failed to compress archive"
+
+    popd
+
+    createReleaseTag
+    exitOnError $? "Failed to create release tag"
+
+    return 0
+}
+
+main "$@"
+exit $?
diff --git a/source/winbindd/winbindd_cm.c b/source/winbindd/winbindd_cm.c
index a1027ce..312d303 100644
--- a/source/winbindd/winbindd_cm.c
+++ b/source/winbindd/winbindd_cm.c
@@ -710,8 +710,14 @@ static NTSTATUS get_trust_creds(const struct winbindd_domain *domain,
 
 	if (machine_krb5_principal != NULL)
 	{
+		struct winbindd_domain *our_domain = find_our_domain();
+
+		if (!our_domain) {
+			return NT_STATUS_CANT_ACCESS_DOMAIN_INFO;			
+		}
+		
 		if (asprintf(machine_krb5_principal, "%s$@%s",
-			     account_name, lp_realm()) == -1)
+			     account_name, our_domain->alt_name) == -1)
 		{
 			return NT_STATUS_NO_MEMORY;
 		}


-- 
Samba Shared Repository


More information about the samba-cvs mailing list