diff --git a/bootstrap/Makefile.package b/bootstrap/Makefile.package index 4ee2bb1d..3a703750 100644 --- a/bootstrap/Makefile.package +++ b/bootstrap/Makefile.package @@ -1,51 +1,83 @@ # Mimicking the behavior of a top-level autotool generated Makefile. - tools = "vlsisapd hurricane crlcore knik katabatic kite equinox solstice unicorn" - prefix = "/usr" + tools = bootstrap vlsisapd hurricane crlcore nimbus metis mauka knik katabatic kite \ + equinox solstice cumulus stratus1 unicorn + prefix = /usr DESTDIR = + BUILD_DESTDIR = $(shell pwd)/install.dir + BOOTSTRAP_TOP = $(prefix) VLSISAPD_TOP = $(prefix) CORIOLIS_TOP = $(prefix) - environment = VLSISAPD_TOP=$(VLSISAPD_TOP); export VLSISAPD_TOP; \ - CORIOLIS_TOP=$(CORIOLIS_TOP); export CORIOLIS_TOP + environment = BOOTSTRAP_TOP=$(BOOTSTRAP_TOP); export BOOTSTRAP_TOP; \ + VLSISAPD_TOP=$(VLSISAPD_TOP); export VLSISAPD_TOP; \ + CORIOLIS_TOP=$(CORIOLIS_TOP); export CORIOLIS_TOP + +.PHONY: build install FORCE all: build -build: +clean: + rm -rf build.dir install.dir \ + crlcore/doc/doxygen/html \ + hurricane/doc/hurricane/html \ + hurricane/doc/hurricane/latex \ + hurricane/doc/viewer/html \ + hurricane/doc/viewer/latex + +build: FORCE $(environment); \ - for tool in $(tools); do \ - mkdir -p build/$$tool; \ - pushd build/$$tool; \ - cmake -D CMAKE_BUILD_TYPE:STRING=RELEASE \ - -D BUILD_SHARED_LIBS:STRING=ON \ - -D BUILD_DOC:STRING=OFF \ - -D CMAKE_INSTALL_prefix:STRING=$(CORIOLIS_TOP) \ - -D DESTDIR:STRING=$(DESTDIR) \ - ../../$tool; \ - make DESTDIR=$(DESTDIR) install; \ - popd; \ + case "`uname -m`" in \ + "x86_64") cmakeArgs="-D LIB_SUFFIX:STRING=64";; \ + *) cmakeArgs="";; \ + esac; \ + for tool in $(tools); do \ + mkdir -p build.dir/$$tool; \ + cd build.dir/$$tool; \ + cmake -D CMAKE_BUILD_TYPE:STRING=RELEASE \ + -D BUILD_SHARED_LIBS:STRING=ON \ + -D BUILD_DOC:STRING=OFF \ + -D CMAKE_INSTALL_PREFIX:STRING=$(CORIOLIS_TOP) \ + -D DESTDIR:STRING=$(BUILD_DESTDIR) \ + $${cmakeArgs} \ + ../../$$tool \ + || exit 1; \ + make DESTDIR=$(BUILD_DESTDIR) install \ + || exit 1; \ + cd ../..; \ done -install: +install: FORCE $(environment); \ - for tool in $(tools); do \ - pushd build/$$tool; \ - makeArgs=""; \ - cmakeArgs=""; \ - if [ "$$tool" = "crlcore" ]; then \ - makeArgs="dvi safepdf html"; \ - cmakeArgs="-D BUILD_DOC:STRING=ON"; \ - else \ - cmakeArgs="-D BUILD_DOC:STRING=OFF"; \ - fi; \ - cmake -D CMAKE_BUILD_TYPE:STRING=RELEASE \ - -D BUILD_SHARED_LIBS:STRING=ON \ - -D CMAKE_INSTALL_prefix:STRING=${CORIOLIS_TOP} \ - -D DESTDIR:STRING=$(DESTDIR) \ - $${cmakeArgs} \ - ../../$tool; \ - make DESTDIR=${DESTDIR} -j1 $${makeArgs} install; \ - popd; \ - done; \ - rm -f $(DESTDIR)$(CORIOLIS_TOP)/bin/{cx2y,kite-text} + case "`uname -m`" in \ + "x86_64") commonCMakeArgs="-D LIB_SUFFIX:STRING=64";; \ + *) commonCMakeArgs="";; \ + esac; \ + for tool in $(tools); do \ + cd build.dir/$$tool; \ + makeArgs=""; \ + cmakeArgs="$$commonCMakeArgs -D BUILD_DOC:STRING=OFF"; \ + if [ "$$tool" = "crlcore" \ + -o "$$tool" = "stratus1" ]; then \ + makeArgs="dvi safepdf html"; \ + cmakeArgs="$$commonCMakeArgs -D BUILD_DOC:STRING=ON"; \ + fi; \ + if [ "$$tool" = "hurricane" ]; then \ + cmakeArgs="$$commonCMakeArgs -D BUILD_DOC:STRING=ON"; \ + fi; \ + cmake -D CMAKE_BUILD_TYPE:STRING=RELEASE \ + -D BUILD_SHARED_LIBS:STRING=ON \ + -D CMAKE_INSTALL_PREFIX:STRING=${CORIOLIS_TOP} \ + -D DESTDIR:STRING=$(DESTDIR) \ + $${cmakeArgs} \ + ../../$$tool \ + || exit 1; \ + make DESTDIR=$(DESTDIR) -j1 $${makeArgs} install \ + || exit 1; \ + cd ../..; \ + done; \ + rm -f $(DESTDIR)$(CORIOLIS_TOP)/bin/cx2y \ + $(DESTDIR)$(CORIOLIS_TOP)/bin/kite-text + +FORCE: diff --git a/bootstrap/buildCoriolis.py b/bootstrap/buildCoriolis.py index 03cc7426..ee88dc1f 100755 --- a/bootstrap/buildCoriolis.py +++ b/bootstrap/buildCoriolis.py @@ -101,6 +101,7 @@ class ProjectBuilder: def _updateSecondary ( self ): self._rpmbuildDir = os.path.join ( self._rootDir, "rpmbuild" ) + self._debbuildDir = os.path.join ( self._rootDir, "debbuild" ) self._tmppathDir = os.path.join ( self._rpmbuildDir, "tmp" ) self._tarballDir = os.path.join ( self._rootDir, "tarball" ) self._archiveDir = os.path.join ( self._tarballDir, "coriolis2-1.0.%s" % self._svnTag ) @@ -116,6 +117,7 @@ class ProjectBuilder: self._specFileIn = os.path.join ( self._sourceDir, "bootstrap", "coriolis2.spec.in" ) self._specFile = os.path.join ( self._sourceDir, "bootstrap", "coriolis2.spec" ) + self._debianDir = os.path.join ( self._sourceDir, "bootstrap", "debian" ) self._sourceTarBz2 = "coriolis2-1.0.%s.tar.bz2" % self._svnTag self._binaryTarBz2 = "coriolis2-binary-1.0.%s-1.el5_soc.tar.bz2" % self._svnTag self._distribPatch = os.path.join ( self._sourceDir, "bootstrap", "coriolis2-for-distribution.patch" ) @@ -469,6 +471,12 @@ class ProjectBuilder: command = [ "/bin/cp", "-r", os.path.join(self._sourceDir ,"bootstrap","Makefile.package") , os.path.join(self._archiveDir,"Makefile") ] self._execute ( command, "copy of %s failed" % "boostrap/Makefile.package") + + command = [ "/bin/cp", self._specFile, self._archiveDir ] + self._execute ( command, "Copying RPM spec file" ) + + command = [ "/bin/cp", "-r", self._debianDir, self._archiveDir ] + self._execute ( command, "Copying Debian/Ubuntu package control files" ) os.chdir ( self._archiveDir ) #command = [ "/usr/bin/patch", "--remove-empty-files" @@ -496,13 +504,13 @@ class ProjectBuilder: if not os.path.isdir(rpmFullDir): os.makedirs ( rpmFullDir ) - rpmSpecFile = os.path.join ( self._rpmbuildDir, "SPECS" , "coriolis2.spec" ) + #rpmSpecFile = os.path.join ( self._rpmbuildDir, "SPECS" , "coriolis2.spec" ) rpmSourceFile = os.path.join ( self._rpmbuildDir, "SOURCES", self._sourceTarBz2 ) sourceFile = os.path.join ( self._tarballDir, self._sourceTarBz2 ) - if os.path.isfile ( rpmSpecFile ): - os.unlink ( rpmSpecFile ) - os.symlink ( self._specFile, rpmSpecFile ) + #if os.path.isfile ( rpmSpecFile ): + # os.unlink ( rpmSpecFile ) + #os.symlink ( self._specFile, rpmSpecFile ) if not os.path.islink ( rpmSourceFile ): os.symlink ( sourceFile, rpmSourceFile ) @@ -513,13 +521,39 @@ class ProjectBuilder: , "--define", "_topdir %s" % self._rpmbuildDir , "--define", "_tmppath %s" % self._tmppathDir , "--define", "_enable_debug_packages 0" - , "-ba", "--with", "binarytar", rpmSpecFile ] + , "-ta", "--with", "binarytar", rpmSourceFile ] self._execute ( command, "Rebuild rpm packages" ) return + def doDeb ( self, tools, projects ): + self.tarball ( tools, projects ) + + if not os.path.isdir(self._debbuildDir): + os.makedirs ( self._debbuildDir ) + + os.chdir ( self._debbuildDir ) + sourceFile = os.path.join ( self._tarballDir, self._sourceTarBz2 ) + + command = [ "/bin/tar", "jxf", sourceFile ] + self._execute ( command, "Unpacking pristine sources" ) + + #command = [ "/bin/cp", "-r", self._debianDir, "." ] + #self._execute ( command, "Copying Debian/Ubuntu package control files" ) + + packageDir = os.path.join ( self._debbuildDir, "coriolis2-1.0.%s" % self._svnTag ) + os.chdir ( packageDir ) + + self._environment["CFLAGS" ] = "-O2" + self._environment["CXXFLAGS"] = "-O2" + command = [ "/usr/bin/debuild", "-us", "-uc" ] + self._execute ( command, "Rebuild Debian packages" ) + + return + + if __name__ == "__main__": bootstrap = Project ( name = "bootstrap" @@ -588,6 +622,7 @@ if __name__ == "__main__": # Miscellaneous. parser.add_option ( "--tarball" , action="store_true", dest="tarball" ) parser.add_option ( "--do-rpm" , action="store_true", dest="doRpm" ) + parser.add_option ( "--do-deb" , action="store_true", dest="doDeb" ) ( options, args ) = parser.parse_args () builder = ProjectBuilder () @@ -617,6 +652,7 @@ if __name__ == "__main__": elif options.svnCheckout: builder.svnCheckout ( tools=options.tools, projects=options.projects ) elif options.tarball: builder.tarball ( tools=options.tools, projects=options.projects ) elif options.doRpm: builder.doRpm ( tools=options.tools, projects=options.projects ) + elif options.doDeb: builder.doDeb ( tools=options.tools, projects=options.projects ) else: builder.build ( tools=options.tools, projects=options.projects ) sys.exit ( 0 ) diff --git a/bootstrap/cmake_modules/FindBootstrap.cmake b/bootstrap/cmake_modules/FindBootstrap.cmake index a468b0ed..83044158 100644 --- a/bootstrap/cmake_modules/FindBootstrap.cmake +++ b/bootstrap/cmake_modules/FindBootstrap.cmake @@ -14,6 +14,28 @@ endmacro(set_cmake_policies) +# +# Check for the Distribution: RedHat/Scientific/Ubuntu/OSX. +# Currently OSX is assimilated to RedHat. +# + macro(check_distribution) + if(NOT APPLE) + execute_process(COMMAND "lsb_release" "-d" OUTPUT_VARIABLE LSB_RELEASE) + if(LSB_RELEASE MATCHES "[Uu]buntu|[Dd]ebian") + set(DISTRIBUTION "Debian" CACHE STRING "Distribution Type/Vendor" FORCE) + add_definitions(-DDEBIAN) + endif(LSB_RELEASE MATCHES "[Uu]buntu|[Dd]ebian") + if(LSB_RELEASE MATCHES "Scientific|RedHat") + set(DISTRIBUTION "RedHat" CACHE STRING "Distribution Type/Vendor" FORCE) + add_definitions(-DREDHAT) + endif(LSB_RELEASE MATCHES "Scientific|RedHat") + else(NOT APPLE) + set(DISTRIBUTION "RedHat" CACHE STRING "Distribution Type/Vendor" FORCE) + add_definitions(-DREDHAT) + endif(NOT APPLE) + message("-- Distribution is ${DISTRIBUTION}") + endmacro(check_distribution) + # # Specific Apple OSX setup # @@ -169,13 +191,14 @@ # otherwise we install under the tool INSTALLDIR/etc. # macro(setup_sysconfdir INSTALLDIR) - string(REGEX MATCH "^/usr" IS_USR INSTALLDIR) - string(REGEX MATCH "^/opt" IS_OPT INSTALLDIR) + message("-- Checking installation directory <${INSTALLDIR}>") + string(REGEX MATCH "^/usr" IS_USR ${INSTALLDIR}) + string(REGEX MATCH "^/opt" IS_OPT ${INSTALLDIR}) if(IS_USR OR IS_OPT) message("-- Using system-wide /etc.") set(SYS_CONF_DIR "/etc" CACHE STRING "System configuration directory (/etc)" FORCE) else(IS_USR OR IS_OPT) - message("-- Using install tree /etc.") + message("-- Using install tree /etc.") set(SYS_CONF_DIR "etc" CACHE STRING "System configuration directory (/etc)" FORCE) endif(IS_USR OR IS_OPT) endmacro(setup_sysconfdir) diff --git a/bootstrap/cmake_modules/FindPythonSitePackages.cmake b/bootstrap/cmake_modules/FindPythonSitePackages.cmake index a5ceb1ee..841d0003 100644 --- a/bootstrap/cmake_modules/FindPythonSitePackages.cmake +++ b/bootstrap/cmake_modules/FindPythonSitePackages.cmake @@ -1,33 +1,33 @@ -if ( UNIX ) +if(UNIX) + # This way avoids newline in the script string. + set(SCRIPT "import os.path,distutils.sysconfig") + set(SCRIPT "${SCRIPT}; pathes = distutils.sysconfig.get_python_lib().split('/')") + set(SCRIPT "${SCRIPT}; print os.path.join(pathes[-2],pathes[-1])") + + execute_process(COMMAND "python" "-c" "${SCRIPT}" + RESULT_VARIABLE RETURN_CODE + OUTPUT_VARIABLE PYTHON_SITE_PACKAGES + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + + if(RETURN_CODE EQUAL 0) + set(FindPythonSitePackages_FOUND TRUE) + else(RETURN_CODE EQUAL 0) + set(FindPythonSitePackages_FOUND FALSE) + endif(RETURN_CODE EQUAL 0) - execute_process(COMMAND echo "import os.path,distutils.sysconfig;pathes = distutils.sysconfig.get_python_lib().split('/');print os.path.join ( pathes[-2], pathes[-1] )" - OUTPUT_FILE /tmp/site.py) - execute_process ( COMMAND python /tmp/site.py - OUTPUT_VARIABLE PYTHON_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE - RESULT_VARIABLE RCODE) - execute_process ( COMMAND rm -f /tmp/site.py) + set(PYTHON_SITE_PACKAGES "lib${LIB_SUFFIX}/${PYTHON_SITE_PACKAGES}" + CACHE STRING "Python site packages directory." FORCE) + mark_as_advanced(PYTHON_SITE_PACKAGES) - if ( RCODE EQUAL 0 ) - set ( FindPythonSitePackages_FOUND TRUE ) - else ( RCODE EQUAL 0 ) - set ( FindPythonSitePackages_FOUND FALSE ) - endif ( RCODE EQUAL 0 ) - - set ( PYTHON_SITE_PACKAGES "lib${LIB_SUFFIX}/${PYTHON_SITE_PACKAGES}" - CACHE STRING "Python site packages directory." FORCE ) - mark_as_advanced ( PYTHON_SITE_PACKAGES ) - - if ( FindPythonSitePackages_FOUND ) - if ( NOT FindPythonSitePackages_FIND_QUIETLY ) - if ( FindPythonSitePackages_FOUND ) - message ( STATUS "Found FindPythonSitePackages : ${PYTHON_SITE_PACKAGES}" ) - endif ( FindPythonSitePackages_FOUND ) - endif ( NOT FindPythonSitePackages_FIND_QUIETLY ) - else ( FindPythonSitePackages_FOUND ) - #if ( FindPythonSitePackages_FIND_REQUIRED ) - message ( FATAL_ERROR "Python site packages directory was not found (pythonV.R/site-packages/)." ) - #endif ( FindPythonSitePackages_FIND_REQUIRED ) - endif ( FindPythonSitePackages_FOUND ) - -endif ( UNIX ) + if(FindPythonSitePackages_FOUND) + if(NOT FindPythonSitePackages_FIND_QUIETLY) + if(FindPythonSitePackages_FOUND) + message(STATUS "Found FindPythonSitePackages : ${PYTHON_SITE_PACKAGES}") + endif(FindPythonSitePackages_FOUND) + endif(NOT FindPythonSitePackages_FIND_QUIETLY) + else(FindPythonSitePackages_FOUND) + message ( FATAL_ERROR "Python site packages directory was not found (pythonV.R/site-packages/)." ) + endif(FindPythonSitePackages_FOUND) +endif(UNIX) diff --git a/bootstrap/coriolis2.spec.in b/bootstrap/coriolis2.spec.in index 3e86b516..85cea662 100644 --- a/bootstrap/coriolis2.spec.in +++ b/bootstrap/coriolis2.spec.in @@ -64,70 +64,26 @@ Development files for the Coriolis 2 package. %build if [ -d %{buildroot} ]; then rm -r %{buildroot}; fi - VLSISAPD_TOP=%{coriolisTop}; export VLSISAPD_TOP - CORIOLIS_TOP=%{coriolisTop}; export CORIOLIS_TOP + BOOTSTRAP_TOP=%{coriolisTop}; export BOOTSTRAP_TOP + VLSISAPD_TOP=%{coriolisTop}; export VLSISAPD_TOP + CORIOLIS_TOP=%{coriolisTop}; export CORIOLIS_TOP # Do build & install in one step, except for documentation. - tools="vlsisapd hurricane crlcore knik katabatic kite equinox solstice unicorn" - for tool in $tools; do - %__mkdir_p build/$tool - pushd build/$tool; - - cmake -D CMAKE_BUILD_TYPE:STRING=RELEASE \ - -D BUILD_SHARED_LIBS:STRING=ON \ - -D BUILD_DOC:STRING=OFF \ - -D CMAKE_INSTALL_PREFIX:STRING=%{coriolisTop} \ - -D DESTDIR:STRING=%{buildroot} \ -%if %{with_staticlink} - -D BUILD_SHARED_LIBS:STRING=OFF \ -%endif -%ifarch x86_64 - -D LIB_SUFFIX:STRING=64 \ -%endif - ../../$tool - make DESTDIR=%{buildroot} %{_smp_mflags} install - popd - done + make DESTDIR=%{buildroot} BUILD_DESTDIR=install.dir %{_smp_mflags} install %install - VLSISAPD_TOP=%{coriolisTop}; export VLSISAPD_TOP - CORIOLIS_TOP=%{coriolisTop}; export CORIOLIS_TOP + BOOTSTRAP_TOP=%{coriolisTop}; export BOOTSTRAP_TOP + VLSISAPD_TOP=%{coriolisTop}; export VLSISAPD_TOP + CORIOLIS_TOP=%{coriolisTop}; export CORIOLIS_TOP # Install & build documentation, in -j1. - tools="vlsisapd hurricane crlcore knik katabatic kite equinox solstice unicorn" - for tool in $tools; do - pushd build/$tool; - - makeArgs="" - cmakeArgs="" - if [ "$tool" = "crlcore" ]; then - makeArgs="dvi safepdf html" - cmakeArgs="-D BUILD_DOC:STRING=ON" - else - cmakeArgs="-D BUILD_DOC:STRING=OFF" - fi - - cmake -D CMAKE_BUILD_TYPE:STRING=RELEASE \ - -D BUILD_SHARED_LIBS:STRING=ON \ - -D CMAKE_INSTALL_PREFIX:STRING=%{coriolisTop} \ - -D DESTDIR:STRING=%{buildroot} \ -%if %{with_staticlink} - -D BUILD_SHARED_LIBS:STRING=OFF \ -%endif -%ifarch x86_64 - -D LIB_SUFFIX:STRING=64 \ -%endif - ${cmakeArgs} \ - ../../$tool - make DESTDIR=%{buildroot} -j1 ${makeArgs} install - popd - done + make DESTDIR=%{buildroot} BUILD_DESTDIR=install.dir -j1 install %__rm -rf %{buildroot}%{coriolisTop}/share/doc/coriolis2 # Removing undistributed binaries. - %__rm -f %{buildroot}%{coriolisTop}/bin/{cx2y,kite-text} +#%__rm -f %{buildroot}%{coriolisTop}/bin/{cx2y,kite-text} # %{__mkdir} -p %{buildroot}%{_sysconfdir}/ld.so.conf.d/ # cat > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}.conf << EOF @@ -154,13 +110,14 @@ Development files for the Coriolis 2 package. %files %defattr(-,root,root,-) -#%doc %{_docdir}/coriolis2/README.* -%doc build/crlcore/doc/README.{tex,dvi,pdf} build/crlcore/doc/README +%doc install.dir/share/doc/coriolis2 %dir %{_sysconfdir}/coriolis2 %dir %{coriolisTop}/share/coriolis2/flute-2.4 %dir %{coriolisTop}/bin %dir %{coriolisTop}/%{_lib} %dir %{coriolisTop}/%{python_sitedir} +%dir %{coriolisTop}/%{python_sitedir}/cumulus +%dir %{coriolisTop}/%{python_sitedir}/stratus %{coriolisTop}/bin/* %if %{with_staticlink} %{coriolisTop}/%{_lib}/*.a @@ -168,6 +125,8 @@ Development files for the Coriolis 2 package. %{coriolisTop}/%{_lib}/*.so %endif %{coriolisTop}/%{python_sitedir}/*.so +%{coriolisTop}/%{python_sitedir}/cumulus/*.py +%{coriolisTop}/%{python_sitedir}/stratus/*.py #%config(noreplace) %{_sysconfdir}/ld.so.conf.d/* %config(noreplace) %{_sysconfdir}/coriolis2/*.xml %config(noreplace) %{coriolisTop}/share/coriolis2/flute-2.4/*.dat @@ -187,11 +146,15 @@ Development files for the Coriolis 2 package. %dir %{coriolisTop}/include/coriolis2/hurricane/isobar %dir %{coriolisTop}/include/coriolis2 %dir %{coriolisTop}/include/coriolis2/crlcore +%dir %{coriolisTop}/include/coriolis2/nimbus +%dir %{coriolisTop}/include/coriolis2/metis +%dir %{coriolisTop}/include/coriolis2/mauka %dir %{coriolisTop}/include/coriolis2/knik %dir %{coriolisTop}/include/coriolis2/katabatic %dir %{coriolisTop}/include/coriolis2/kite %dir %{coriolisTop}/include/coriolis2/equinox %dir %{coriolisTop}/include/coriolis2/solstice +%dir %{coriolisTop}/include/coriolis2/unicorn %{coriolisTop}/share/cmake/Modules/*.cmake %{coriolisTop}/include/vlsisapd/agds/*.h %{coriolisTop}/include/vlsisapd/cif/*.h @@ -201,11 +164,15 @@ Development files for the Coriolis 2 package. %{coriolisTop}/include/coriolis2/hurricane/viewer/*.h %{coriolisTop}/include/coriolis2/hurricane/isobar/*.h %{coriolisTop}/include/coriolis2/crlcore/*.h +%{coriolisTop}/include/coriolis2/nimbus/*.h +%{coriolisTop}/include/coriolis2/metis/*.h +%{coriolisTop}/include/coriolis2/mauka/*.h %{coriolisTop}/include/coriolis2/knik/*.h %{coriolisTop}/include/coriolis2/katabatic/*.h %{coriolisTop}/include/coriolis2/kite/*.h %{coriolisTop}/include/coriolis2/equinox/*.h %{coriolisTop}/include/coriolis2/solstice/*.h +%{coriolisTop}/include/coriolis2/unicorn/*.h %changelog diff --git a/bootstrap/coriolisEnv.py b/bootstrap/coriolisEnv.py index f69da5ba..c07619b4 100755 --- a/bootstrap/coriolisEnv.py +++ b/bootstrap/coriolisEnv.py @@ -32,11 +32,13 @@ def stripPath ( pathName ): def guessOs (): - osSLSoC5x_64 = re.compile (".*Linux.*el5.*x86_64.*") - osSLSoC5x = re.compile (".*Linux.*(el5|2.6.23.13.*SoC).*") - osLinux_64 = re.compile (".*Linux.*x86_64.*") - osLinux = re.compile (".*Linux.*") - osDarwin = re.compile (".*Darwin.*") + osSLSoC5x_64 = re.compile (".*Linux.*el5.*x86_64.*") + osSLSoC5x = re.compile (".*Linux.*(el5|2.6.23.13.*SoC).*") + osLinux_64 = re.compile (".*Linux.*x86_64.*") + osLinux = re.compile (".*Linux.*") + osDarwin = re.compile (".*Darwin.*") + osUbuntu1004 = re.compile (".*Linux.*ubuntu.*") + osUbuntu1004_64 = re.compile (".*Linux.*ubuntu.*x86_64.*") uname = subprocess.Popen ( ["uname", "-srm"], stdout=subprocess.PIPE ) lines = uname.stdout.readlines() @@ -49,8 +51,13 @@ def guessOs (): elif osLinux_64 .match(lines[0]): osType = "Linux.x86_64" libDir = "lib64" - elif osLinux .match(lines[0]): osType = "Linux.i386" - elif osDarwin .match(lines[0]): osType = "Darwin" + elif osLinux .match(lines[0]): osType = "Linux.i386" + elif osDarwin.match(lines[0]): osType = "Darwin" + elif osUbuntu1004_64.match(lines[0]): + osType = "Linux.Ubuntu1004" + libDir = "lib64" + elif osUbuntu1004.match(lines[0]): + osType = "Linux.Ubuntu1004" else: uname = subprocess.Popen ( ["uname", "-sr"], stdout=subprocess.PIPE ) osType = uname.stdout.readlines()[0][:-1] @@ -138,9 +145,13 @@ fi strippedLibraryPath = "%s:%s" % ( absLibDir, strippedLibraryPath ) if options.python: - pyVersion = sys.version_info - version = "%d.%d" % (pyVersion[0],pyVersion[1]) - sitePackagesDir = "%s/python%s/site-packages" % (absLibDir,version) + pyVersion = sys.version_info + version = "%d.%d" % (pyVersion[0],pyVersion[1]) + if osType[8] == "Linux.SL": + sitePackagesDir = "%s/python%s/site-packages" % (absLibDir,version) + else: + sitePackagesDir = "%s/python%s/dist-packages" % (absLibDir,version) + strippedPythonPath = "%s:" % (sitePackagesDir) + strippedPythonPath strippedPythonPath = "%s/cumulus:" % (sitePackagesDir) + strippedPythonPath strippedPythonPath = "%s/stratus:" % (sitePackagesDir) + strippedPythonPath diff --git a/bootstrap/debian/changelog b/bootstrap/debian/changelog new file mode 100644 index 00000000..575873f9 --- /dev/null +++ b/bootstrap/debian/changelog @@ -0,0 +1,5 @@ +coriolis2 (1.0.1881-1) unstable; urgency=low + + * Initial release. Closes: #00001 + + -- Jean-Paul Chaput Mon, 31 Jan 2011 18:03:55 +0100 diff --git a/bootstrap/debian/compat b/bootstrap/debian/compat new file mode 100644 index 00000000..7f8f011e --- /dev/null +++ b/bootstrap/debian/compat @@ -0,0 +1 @@ +7 diff --git a/bootstrap/debian/control b/bootstrap/debian/control new file mode 100644 index 00000000..27644056 --- /dev/null +++ b/bootstrap/debian/control @@ -0,0 +1,21 @@ +Source: coriolis2 +Section: electronics +Priority: optional +Maintainer: Jean-Paul Chaput +Build-Depends: debhelper (>= 7), quilt, bison, flex, libboost-all-dev, libxml2-dev, qt4-dev-tools, + texlive-full, doxygen, python-all-dev (>= 2.4), python-central (>= 0.5.6) +XS-Python-Version: >= 2.4 +Standards-Version: 3.8.4 +Homepage: http://www-soc.lip6.fr/recherche/cian/coriolis-2/ + +Package: coriolis2 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends} +XB-Python-Version: ${python:Versions} +Description: VLSI Place & Route CAD Tools + Coriolis is the new CAD tool suite intended to replace the + physical backend (P&R) flow of Alliance. + . + The Knik global router makes use of FLUTE, which is redistributed + under is own license. FLUTE is copyrighted by Dr. Chris C. N. Chu + from the Iowa State University . diff --git a/bootstrap/debian/copyright b/bootstrap/debian/copyright new file mode 100644 index 00000000..76825c84 --- /dev/null +++ b/bootstrap/debian/copyright @@ -0,0 +1,25 @@ +This work was packaged for Debian by: + + Jean-Paul Chaput on Mon, 20 Dec 2010 16:53:46 +0100 + +It was downloaded from + +Upstream Author(s): + + The Coriolis Team + +Copyright: + + Copyright (C) 2000-2010 Bull S.A. All rigths reserved + Copyright (C) 2000-2010 Universite Pierre & Marie Curie (UPMC) + +License: + + GPL version 2 + +The Debian packaging is: + + Copyright (C) 2010 Universite Pierre & Marie Curie (UPMC) + +and is licensed under the GPL version 2, +see `/usr/share/common-licenses/GPL-2'. diff --git a/bootstrap/debian/coriolis2.doc-base b/bootstrap/debian/coriolis2.doc-base new file mode 100644 index 00000000..915a1645 --- /dev/null +++ b/bootstrap/debian/coriolis2.doc-base @@ -0,0 +1,34 @@ +Document: coriolis2 +Title: Coriolis2 Documentation +Abstract: VLSI Place & Route CAD Tools Documentation +Section: electronics + +Format: text +Files: /usr/share/doc/coriolis2/README.tex.gz + /usr/share/doc/coriolis2/en/latex/hurricane/* + /usr/share/doc/coriolis2/en/latex/stratus/stratus.tex.gz + /usr/share/doc/coriolis2/en/latex/dpgen/dpgen.tex + /usr/share/doc/coriolis2/en/latex/patterns/patterns.tex.gz + /usr/share/doc/coriolis2/en/latex/stratus_developper/stratus_developper.tex + +Format: DVI +Files: /usr/share/doc/coriolis2/README.dvi.gz + /usr/share/doc/coriolis2/en/latex/stratus/stratus.dvi.gz + /usr/share/doc/coriolis2/en/latex/dpgen/dpgen.dvi.gz + /usr/share/doc/coriolis2/en/latex/patterns/patterns.dvi.gz + /usr/share/doc/coriolis2/en/latex/stratus_developper/stratus_developper.dvi.gz + +Format: PDF +Files: /usr/share/doc/coriolis2/README.pdf.gz + /usr/share/doc/coriolis2/en/latex/stratus/stratus.pdf.gz + /usr/share/doc/coriolis2/en/latex/dpgen/dpgen.pdf.gz + /usr/share/doc/coriolis2/en/latex/patterns/patterns.pdf.gz + /usr/share/doc/coriolis2/en/latex/stratus_developper/stratus_developper.pdf.gz + +Format: HTML +Index: /usr/share/doc/coriolis2/en/index.html +Files: /usr/share/doc/coriolis2/en/html/hurricane/*.html + /usr/share/doc/coriolis2/en/html/stratus/*.html + /usr/share/doc/coriolis2/en/html/dpgen/*.html + /usr/share/doc/coriolis2/en/html/patterns/*.html + /usr/share/doc/coriolis2/en/html/stratus_developper/*.html diff --git a/bootstrap/debian/coriolis2.postinst b/bootstrap/debian/coriolis2.postinst new file mode 100644 index 00000000..a3029d87 --- /dev/null +++ b/bootstrap/debian/coriolis2.postinst @@ -0,0 +1,40 @@ +#!/bin/sh +# postinst script for coriolis2 +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + configure) + ldconfig + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/bootstrap/debian/coriolis2.postrm b/bootstrap/debian/coriolis2.postrm new file mode 100644 index 00000000..66e92a9e --- /dev/null +++ b/bootstrap/debian/coriolis2.postrm @@ -0,0 +1,38 @@ +#!/bin/sh +# postrm script for coriolis2 +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ldconfig + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/bootstrap/debian/docs b/bootstrap/debian/docs new file mode 100644 index 00000000..e69de29b diff --git a/bootstrap/debian/rules b/bootstrap/debian/rules new file mode 100755 index 00000000..101e6cc4 --- /dev/null +++ b/bootstrap/debian/rules @@ -0,0 +1,13 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# Sample debian/rules that uses debhelper. +# This file was originally written by Joey Hess and Craig Small. +# As a special exception, when this file is copied by dh-make into a +# dh-make output file, you may use that output file without restriction. +# This special exception was added by Craig Small in version 0.37 of dh-make. + +# Uncomment this to turn on verbose mode. +export DH_VERBOSE=1 + +%: + dh $@ --with python-central diff --git a/bootstrap/debian/source/format b/bootstrap/debian/source/format new file mode 100644 index 00000000..163aaf8d --- /dev/null +++ b/bootstrap/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt)