[Zope-Checkins] SVN: Zope/branches/philikon-zope32-integration/ start cleaning out the trash; there is more...

Chris McDonough chrism at plope.com
Sun Oct 30 21:11:08 EST 2005


Will there be a way to keep your srcdir "pristine" by running
"../path/to/configure; make; make install" in an empty directory?  This
was a commonly requested feature and lots of people use it, which is why
build-base and friends were in there.

On Sun, 2005-10-30 at 16:01 -0500, Fred L. Drake, Jr. wrote:
> Log message for revision 39755:
>   start cleaning out the trash; there is more...
>   (the Zope 2 makefile does way too much...)
>   
> 
> Changed:
>   U   Zope/branches/philikon-zope32-integration/configure
>   U   Zope/branches/philikon-zope32-integration/inst/Makefile.in
>   U   Zope/branches/philikon-zope32-integration/inst/configure.py
> 
> -=-
> Modified: Zope/branches/philikon-zope32-integration/configure
> ===================================================================
> --- Zope/branches/philikon-zope32-integration/configure	2005-10-30 20:41:09 UTC (rev 39754)
> +++ Zope/branches/philikon-zope32-integration/configure	2005-10-30 21:01:55 UTC (rev 39755)
> @@ -38,8 +38,7 @@
>  {
>      echo
>      echo "configure [--help] [--quiet] [--with-python=path] [--prefix=path] "
> -    echo "          [--build-base=path] [--ignore-largefile] [--ignore-zlib]"
> -    echo "          [--optimize]"
> +    echo "          [--ignore-largefile] [--ignore-zlib] [--optimize]"
>      echo
>      echo " Creates a Makefile suitable for building and installing Zope"
>      echo
> @@ -48,7 +47,6 @@
>      echo "  --quiet             suppress nonessential output"
>      echo "  --with-python       specify a path to a Python interpreter to use"
>      echo "  --prefix            specify an installation path for binary data"
> -    echo "  --build-base        specify a temporary path for build files"
>      echo "  --ignore-largefile  ignore large file support warnings"
>      echo "  --ignore-expat      ignore warnings about expat/pyexpat"
>      echo "  --ignore-zlib       ignore warnings about zlib"
> 
> Modified: Zope/branches/philikon-zope32-integration/inst/Makefile.in
> ===================================================================
> --- Zope/branches/philikon-zope32-integration/inst/Makefile.in	2005-10-30 20:41:09 UTC (rev 39754)
> +++ Zope/branches/philikon-zope32-integration/inst/Makefile.in	2005-10-30 21:01:55 UTC (rev 39755)
> @@ -10,17 +10,14 @@
>  PACKAGE_NAME=${NAME}-${MAJOR_VERSION}.${MINOR_VERSION}-${RELEASE_TAG}
>  
>  PYTHON="<<PYTHON>>"
> +ZPKG=zpkg
>  TMPDIR=/tmp
>  PREFIX=<<PREFIX>>
>  BASE_DIR=<<BASE_DIR>>
> -BUILD_BASE=<<BUILD_BASE>>
>  DISTUTILS_OPTS=<<DISTUTILS_OPTS>>
>  INSTALL_FLAGS=<<INSTALL_FLAGS>>
>  TESTOPTS=-v
> -BUILD_FLAGS=--build-base="${BUILD_BASE}" \
> -            --build-lib="${BUILD_BASE}/build-lib" \
> -            --build-scripts="${BUILD_BASE}/build-scripts"\
> -            --build-temp="${BUILD_BASE}/build-temp"
> +BUILD_FLAGS=-i
>  
>  RM=rm -f
>  RMRF=rm -rf
> @@ -32,7 +29,7 @@
>  TAR=tar
>  MKDIR=mkdir -p
>  
> -.PHONY : clean install instance untestinst testinst build unbuild
> +.PHONY : clean install instance untestinst testinst build
>  .PHONY : default
>  
>  # default:     The default step (invoked when make is called without a target)
> @@ -42,36 +39,22 @@
>  	@echo to run a Zope instance directly from the build directory\).
>  	@echo
>  
> -# build:       Do whatever 'setup.py build' implies
> +# build:
>  build:
>  	${PYTHON} "${BASE_DIR}/setup.py" \
> -           ${DISTUTILS_OPTS} build ${BUILD_FLAGS}
> +           ${DISTUTILS_OPTS} build_ext ${BUILD_FLAGS}
>  
> -# unbuild:     Remove the build directory (undo the make build step)
> -unbuild:
> -	${RMRF} ${BUILD_BASE}
> -
>  # install:     Install a software home.
> -install: build version_txt
> -	${PYTHON} "${BASE_DIR}/setup.py" ${DISTUTILS_OPTS} install \
> -	   --home="${PREFIX}" ${BUILD_FLAGS} ${INSTALL_FLAGS}
> +install: version_txt
> +	${PYTHON} "${BASE_DIR}/setup.py" ${DISTUTILS_OPTS} \
> +	   build_ext ${BUILD_FLAGS} \
> +	   install --skip-build --home="${PREFIX}" ${INSTALL_FLAGS}
>  	[ -f ${PREFIX}/bin/python ] || ${LN} ${PYTHON} ${PREFIX}/bin/python
>  	@echo
>  	@echo Zope binaries installed successfully.
>  	@echo Now run \'${PREFIX}/bin/mkzopeinstance.py\'
>  
>  # inplace:     Install a software home into to the source directory.
> -#
> -# Note: We used to run 'build_ext -i' for 'inplace', but that was
> -# suboptimal because it had a tendency to try to rebuild all of the
> -# (possibly  already-built) extensions that might be built during a
> -# previous 'make' step.  built_ext doesn't understand '--build-base'
> -# and friends so we can't stop it from doing this easily.  So instead,
> -# we rely on the stock install step and name the prefix as the current
> -# directory.  This is a little less efficient than just building the
> -# extensions because it also compiles bytecode, but it's more intuitive and
> -# less expensive in the common case than letting distutils
> -# potentially rebuild the binaries when we've done that already.
>  inplace: PREFIX=${BASE_DIR}
>  inplace: install
>  
> @@ -101,7 +84,7 @@
>  
>  # clean:       Delete the build files and any binaries/bytecode files in
>  #              the source directory for good measure.
> -clean: unbuild
> +clean:
>  	${FIND} "${BASE_DIR}" \
>           -name '*.py[co]' -o -name '*.so' -o -name '*.o' | ${XARGS} ${RM}
>  
> @@ -110,24 +93,10 @@
>  	printf "Zope ${MAJOR_VERSION}.${MINOR_VERSION}-${RELEASE_TAG}" >\
>            "${BASE_DIR}/lib/python/version.txt"
>  
> -# sdist:       Create a source distribution file (implies clobber).
> -#
> -sdist: clobber sdist_tgz
> +# Building a source distribution requires that zpkg be available:
> +sdist:
> +	${ZPKG} -C ${BASE_DIR}/releases/Zope2.cfg
>  
> -# sdist_tgz:   Create a tgz archive file as a source distribution.
> -#
> -sdist_tgz: version_txt
> -	${MKDIR} ${TMPDIR}
> -	${CD} ${TMPDIR} && ${LN} ${BASE_DIR} ${PACKAGE_NAME} && \
> -          ${TAR} czfh ${BASE_DIR}/${PACKAGE_NAME}.tgz \
> -           --exclude=${PACKAGE_NAME}.tgz\
> -           --exclude=.svn\
> -           --exclude=makefile \
> -           --exclude=build-base \
> -           --exclude=*~ \
> -           --exclude=.#* ${PACKAGE_NAME} 
> -	${RMRF} ${TMPDIR}/${PACKAGE_NAME}
> -
>  # clobber:     Make the source tree 'pristine' again.
>  clobber: clean uninstance
>  
> 
> Modified: Zope/branches/philikon-zope32-integration/inst/configure.py
> ===================================================================
> --- Zope/branches/philikon-zope32-integration/inst/configure.py	2005-10-30 20:41:09 UTC (rev 39754)
> +++ Zope/branches/philikon-zope32-integration/inst/configure.py	2005-10-30 21:01:55 UTC (rev 39755)
> @@ -33,7 +33,6 @@
>      # below assumes this script is in the BASE_DIR/inst directory
>      global PREFIX
>      BASE_DIR=os.path.abspath(os.path.dirname(os.path.dirname(sys.argv[0])))
> -    BUILD_BASE=os.path.join(os.getcwd(), 'build-base', 'python-%s.%s' % sys.version_info[:2])
>      PYTHON=sys.executable
>      MAKEFILE=open(os.path.join(BASE_DIR, 'inst', IN_MAKEFILE)).read()
>      REQUIRE_LF_ENABLED = 1
> @@ -66,8 +65,6 @@
>              INSTALL_FLAGS = '--optimize=1 --no-compile'
>          if o == '--no-compile':
>              INSTALL_FLAGS = '--no-compile'
> -        if o == '--build-base':
> -            BUILD_BASE = a
>          if o == '--quiet':
>              DISTUTILS_OPTS = '-q'
>              global QUIET
> @@ -85,7 +82,6 @@
>          '<<PYTHON>>':PYTHON,
>          '<<PREFIX>>':PREFIX,
>          '<<BASE_DIR>>':BASE_DIR,
> -        '<<BUILD_BASE>>':BUILD_BASE,
>          '<<INSTALL_FLAGS>>':INSTALL_FLAGS,
>          '<<ZOPE_MAJOR_VERSION>>':versions.ZOPE_MAJOR_VERSION,
>          '<<ZOPE_MINOR_VERSION>>':versions.ZOPE_MINOR_VERSION,
> 
> _______________________________________________
> Zope-Checkins maillist  -  Zope-Checkins at zope.org
> http://mail.zope.org/mailman/listinfo/zope-checkins
> 



More information about the Zope-Checkins mailing list