def testIsDirectory(self): from pisi.actionsapi.shelltools import isDirectory assert not isDirectory('doc/dependency.pdf') assert isDirectory('/usr/lib') assert isDirectory('/etc/pisi') assert not isDirectory('/tests/shelltest.py')
def testIsDirectory(self): from pisi.actionsapi.shelltools import isDirectory assert not isDirectory('doc/dependency.pdf') assert isDirectory('/usr/lib') assert isDirectory('/etc/pisi') assert not isDirectory('tests/shelltest.py')
def testShelltoolsIsDirectory(self): from pisi.actionsapi.shelltools import isDirectory self.assert_(not isDirectory("tests/actionsapitests/linktoadirectory")) self.assert_(not isDirectory("tests/actionsapitests/linktoafile")) self.assert_(not isDirectory("tests/actionsapitests/brokenlink")) self.assert_(not isDirectory("tests/actionsapitests/file")) self.assert_(isDirectory("tests/actionsapitests/adirectory"))
def setup(): if not shelltools.isDirectory("tools/clang"): pisitools.dosed("tools/cfe-3.5.0.src/lib/Driver/ToolChains.cpp", '"ld"', '"ld.gold"') shelltools.move("tools/cfe-%s.src" % get.srcVERSION(), "tools/clang") shelltools.move("tools/lldb-%s.src" % get.srcVERSION(), "tools/lldb") shelltools.move("tools/clang-tools-extra-3.5.0.src", "tools/clang/extra") if not shelltools.isDirectory("projects/compiler-rt"): shelltools.move("projects/compiler-rt-3.5.0.src", "projects/compiler-rt") shelltools.move("projects/libcxxabi-3.5.0.src", "projects/libcxxabi") shelltools.move("projects/libcxx-3.5.0.src", "projects/libcxx") # dosed does nothing on internal makefile. Patch doesn't work. So I added this externally. Because without this change, build fails. shelltools.system("rm -f tools/lldb/scripts/Python/modules/readline/Makefile") shelltools.move("Makefile_", "tools/lldb/scripts/Python/modules/readline/Makefile") pisitools.dosed("utils/llvm-build/llvm-build", "python", "python2.7") pisitools.dosed("bindings/ocaml/Makefile.ocaml", '\$\(PROJ_libdir\)', libdir) pisitools.dosed("Makefile.config.in", "\$\(PROJ_prefix\)/etc/llvm", "/etc/llvm") pisitools.dosed("Makefile.config.in", "\$\(PROJ_prefix\)/lib", "$(PROJ_prefix)/%s/llvm" % lib) pisitools.dosed("Makefile.config.in", "\$\(PROJ_prefix\)/docs/llvm", "$(PROJ_prefix)/share/doc/llvm") pisitools.dosed("tools/llvm-config/llvm-config.cpp", '(ActiveLibDir\s=\sActivePrefix\s\+\s\"\/lib)(.*)', r'\1/llvm\2') pisitools.dosed("autoconf/configure.ac", '\LLVM_LIBDIR="\$\{prefix\}/lib"', 'LLVM_LIBDIR="${prefix}/%s/llvm"' % lib) # pisitools.dosed("tools/lldb/scripts/Python/modules/readline/Makefile", '$(Verb) $(RM) "$(DESTDIR)$(prefix)/lib/$(LIBRARYNAME)$(SHLIBEXT)"', '$(Verb) $(RM) "$(DESTDIR)$(prefix)/lib/python2.7/site-packages/$(LIBRARYNAME)$(SHLIBEXT)"') pisitools.dosed("Makefile.rules", "\$\(RPATH\)\s-Wl,\$\(ExmplDir\)\s\$\(DynamicFlag\)", "$(DynamicFlag)") pisitools.dosed("Makefile.rules", "\$\(RPATH\)\s-Wl,\$\(ToolDir\)\s\$\(DynamicFlag\)", "$(DynamicFlag)") shelltools.export("CPPFLAGS","%s %s" % (get.CXXFLAGS(),pkgconfig.getLibraryCFLAGS("libffi"))) pic_option = "enable" if get.ARCH() == "x86_64" else "disable" # Build fails with GCC, with clang it is ok. shelltools.export("CC", "clang") shelltools.export("CXX", "clang++") options = "--libdir=%s \ --datadir=/usr/share/llvm \ --sysconfdir=/etc \ --enable-shared \ --enable-libffi \ --enable-targets=all \ --disable-expensive-checks \ --disable-debug-runtime \ --disable-assertions \ --enable-jit \ --enable-threads \ --disable-assertions \ --%s-pic \ --with-binutils-include=/usr/include \ " % (libdir, pic_option) autotools.configure(options)
def setup(): if not shelltools.isDirectory("tools/clang"): pisitools.dosed("tools/cfe-3.3.src/lib/Driver/ToolChains.cpp", '"ld"', '"ld.gold"') shelltools.move("tools/cfe-%s.src" % get.srcVERSION(), "tools/clang") if not shelltools.isDirectory("projects/compiler-rt"): shelltools.move("projects/compiler-rt-%s.src" % get.srcVERSION(), "projects/compiler-rt") pisitools.dosed("utils/llvm-build/llvm-build", "python", "python2.7") pisitools.dosed("bindings/ocaml/Makefile.ocaml", '\$\(PROJ_libdir\)', libdir) pisitools.dosed("Makefile.config.in", "\$\(PROJ_prefix\)/etc/llvm", "/etc/llvm") pisitools.dosed("Makefile.config.in", "\$\(PROJ_prefix\)/lib", "$(PROJ_prefix)/%s/llvm" % lib) pisitools.dosed("Makefile.config.in", "\$\(PROJ_prefix\)/docs/llvm", "$(PROJ_prefix)/share/doc/llvm") pisitools.dosed("tools/llvm-config/llvm-config.cpp", '(ActiveLibDir\s=\sActivePrefix\s\+\s\"\/lib)(.*)', r'\1/llvm\2') pisitools.dosed("autoconf/configure.ac", '\LLVM_LIBDIR="\$\{prefix\}/lib"', 'LLVM_LIBDIR="${prefix}/%s/llvm"' % lib) pisitools.dosed("Makefile.rules", "\$\(RPATH\)\s-Wl,\$\(ExmplDir\)\s\$\(DynamicFlag\)", "$(DynamicFlag)") pisitools.dosed("Makefile.rules", "\$\(RPATH\)\s-Wl,\$\(ToolDir\)\s\$\(DynamicFlag\)", "$(DynamicFlag)") shelltools.export( "CPPFLAGS", "%s %s" % (get.CXXFLAGS(), pkgconfig.getLibraryCFLAGS("libffi"))) pic_option = "enable" if get.ARCH() == "x86_64" else "disable" options = "--libdir=%s \ --datadir=/usr/share/llvm \ --sysconfdir=/etc \ --enable-shared \ --enable-libffi \ --enable-targets=all \ --enable-experimental-targets=R600 \ --disable-expensive-checks \ --disable-debug-runtime \ --disable-assertions \ --enable-jit \ --enable-threads \ --disable-assertions \ --%s-pic \ --with-binutils-include=/usr/include \ " % (libdir, pic_option) autotools.configure(options)
def install(): libcInstall(config["system"]) # localedata can be shared between archs shelltools.cd(config["system"]["builddir"]) autotools.rawInstall("install_root=%s localedata/install-locales" % get.installDIR()) # now we do generic stuff shelltools.cd(pkgworkdir) # We'll take care of the cache ourselves if shelltools.isFile("%s/etc/ld.so.cache" % get.installDIR()): pisitools.remove("/etc/ld.so.cache") # Prevent overwriting of the /etc/localtime symlink if shelltools.isFile("%s/etc/localtime" % get.installDIR()): pisitools.remove("/etc/localtime") # Nscd needs this to work pisitools.dodir("/var/run/nscd") pisitools.dodir("/var/db/nscd") if shelltools.isDirectory("%s/usr/share/zoneinfo" % get.installDIR()): pisitools.removeDir("/usr/share/zoneinfo") for i in ["zdump"]: if shelltools.isFile("%s/usr/sbin/%s" % (get.installDIR(), i)): pisitools.remove("/usr/sbin/%s" % i) pisitools.dodoc("BUGS", "ChangeLog*", "CONFORMANCE", "NAMESPACE", "NEWS", "PROJECTS", "README*", "LICENSES")
def setup(): if not shelltools.isDirectory("tools/clang"): shelltools.move("tools/clang-%s.src" % get.srcVERSION(), "tools/clang") pisitools.dosed("utils/llvm-build/llvm-build", "python", "python2.7") pisitools.dosed("bindings/ocaml/Makefile.ocaml", '\$\(PROJ_libdir\)', "/usr/lib/llvm") pisitools.dosed("Makefile.config.in", "\$\(PROJ_prefix\)/etc/llvm", "/etc/llvm") pisitools.dosed("Makefile.config.in", "\$\(PROJ_prefix\)/lib", "$(PROJ_prefix)/lib/llvm") pisitools.dosed("Makefile.config.in", "\$\(PROJ_prefix\)/docs/llvm", "$(PROJ_prefix)/share/doc/llvm") pisitools.dosed("tools/llvm-config/llvm-config.cpp", '(ActiveLibDir\s=\sActivePrefix\s\+\s\"\/lib)(.*)', r'\1/llvm\2') pisitools.dosed("autoconf/configure.ac", '\LLVM_LIBDIR="\$\{prefix\}/lib"', 'LLVM_LIBDIR="${prefix}/lib/llvm"') pisitools.dosed("Makefile.rules", "\$\(RPATH\)\s-Wl,\$\(ExmplDir\)\s\$\(DynamicFlag\)", "$(DynamicFlag)") pisitools.dosed("Makefile.rules", "\$\(RPATH\)\s-Wl,\$\(ToolDir\)\s\$\(DynamicFlag\)", "$(DynamicFlag)") shelltools.export("CPPFLAGS","%s %s" % (get.CXXFLAGS(),pkgconfig.getLibraryCFLAGS("libffi"))) pic_option = "enable" if get.ARCH() == "x86_64" else "disable" options = "--libdir=%s \ --datadir=/usr/share/llvm \ --sysconfdir=/etc \ --enable-jit \ --enable-threads \ --disable-assertions \ --%s-pic \ " % (libdir, pic_option) autotools.configure(options)
def install(): pisitools.dodir("/usr/share") wanteddirs = [] for file_ in shelltools.ls('.'): if shelltools.isDirectory(file_) and not "texmf" in file_: wanteddirs.append(file_) for folder in wanteddirs: pisitools.insinto("/usr/share/texmf-dist", folder) if shelltools.can_access_directory("texmf-dist"): # Recursively copy on directory on top of another, overwrite duplicate files too copy_tree("texmf-dist", "%s/usr/share/texmf-dist" % get.installDIR()) ## chmod of script files script_dir = get.installDIR() + "/usr/share/texmf-dist/scripts" if shelltools.can_access_directory(script_dir): for root, dirs, files in os.walk(script_dir): for name in files: shelltools.chmod(os.path.join(root, name), 0755) pisitools.dosym("/usr/share/texmf-dist/scripts/bibexport/bibexport.sh", "/usr/bin/bibexport") pisitools.removeDir("/usr/bin") pisitools.remove("/usr/share/texmf-dist/scripts/urlbst/urlbst") pisitools.remove( "/usr/share/texmf-dist/scripts/multibibliography/multibibliography.pl") pisitools.remove("/usr/share/texmf-dist/scripts/listbib/listbib") pisitools.remove("/usr/share/texmf-dist/scripts/bibexport/bibexport.sh")
def install(): pisitools.dodir("/usr/share") wanteddirs = [] for file_ in shelltools.ls('.'): if shelltools.isDirectory(file_) and not "texmf" in file_: wanteddirs.append(file_) for folder in wanteddirs: pisitools.insinto("/usr/share/texmf-dist", folder) if shelltools.can_access_directory("texmf-dist"): # Recursively copy on directory on top of another, overwrite duplicate files too copy_tree("texmf-dist", "%s/usr/share/texmf-dist" % get.installDIR()) ## chmod of script files script_dir = get.installDIR() + "/usr/share/texmf-dist/scripts" if shelltools.can_access_directory(script_dir): for root, dirs, files in os.walk(script_dir): for name in files: shelltools.chmod(os.path.join(root, name), 0755) pisitools.dosym("/usr/share/texmf-dist/scripts/bibexport/bibexport.sh", "/usr/bin/bibexport") pisitools.removeDir("/usr/bin") pisitools.remove("/usr/share/texmf-dist/scripts/urlbst/urlbst") pisitools.remove("/usr/share/texmf-dist/scripts/multibibliography/multibibliography.pl") pisitools.remove("/usr/share/texmf-dist/scripts/listbib/listbib") pisitools.remove("/usr/share/texmf-dist/scripts/bibexport/bibexport.sh")
def setup(): pisitools.flags.sub("-ggdb3", "-g") pisitools.ldflags.add("-Wl,-rpath,/usr/lib/thunderbird") # configure script misdetects the preprocessor without an optimization level # https://bugs.archlinux.org/task/34644 shelltools.system("sed -i '/ac_cpp=/s/$CPPFLAGS/& -O2/' mozilla/configure") # LOCALE shelltools.system("rm -rf langpack-tb/*/browser/defaults") if not shelltools.isDirectory(xpidir): shelltools.makedirs(xpidir) for locale in locales: shelltools.system( "wget -c -P %s ftp://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/%s/linux-%s/xpi/%s.xpi" % (xpidir, ver, arch, locale)) shelltools.makedirs("langpack-tb/langpack-%[email protected]" % locale) shelltools.system( "unzip -uo %s/%s.xpi -d langpack-tb/langpack-%[email protected]" % (xpidir, locale, locale)) pisitools.dosed(".pisilinux-default-prefs.js", "DISTRIB_ID", get.lsbINFO()["DISTRIB_ID"]) pisitools.dosed(".pisilinux-default-prefs.js", "DISTRIB_RELEASE", get.lsbINFO()["DISTRIB_RELEASE"])
def setup(): for d in shelltools.ls("./"): if shelltools.isDirectory(d): fixperms(d) dos2unix("mk") shelltools.chmod("autogen.sh", 0755) shelltools.system("./autogen.sh") shelltools.unlink("glest_map_editor") dos2unix("../") # pisitools.dosed("Jamrules", "^COMPILER_CFLAGS_optimize \+=.*", "COMPILER_CFLAGS_optimize += %s ;" % get.CFLAGS()) # pisitools.dosed("Jamrules", "^COMPILER_C\+\+FLAGS_optimize \+=.*", "COMPILER_C++FLAGS_optimize += %s ;" % get.CXXFLAGS()) # pisitools.dosed("Jamrules", "^COMPILER_LFLAGS_optimize \+=.*", "COMPILER_LFLAGS_optimize += %s ;" % get.LDFLAGS()) # pisitools.dosed("Jamrules", "-O3 -DNDEBUG", "-DNDEBUG") pisitools.dosed("glest_game/main/main.cpp", "PARDUS_DATADIR", "/usr/share/glest/") autotools.configure( "--with-ogg \ --with-vorbis \ --with-wx-config=disabled_wx \ --with-x" )
def install(): pisitools.dodir("/usr/share") wanteddirs = [] for file_ in shelltools.ls('.'): if shelltools.isDirectory(file_) and not "texmf" in file_: wanteddirs.append(file_) for folder in wanteddirs: pisitools.insinto("/usr/share/texmf-dist", folder) if shelltools.can_access_directory("texmf-dist"): # Recursively copy on directory on top of another, overwrite duplicate files too copy_tree("texmf-dist", "%s/usr/share/texmf-dist" % get.installDIR()) ## chmod of script files script_dir = get.installDIR() + "/usr/share/texmf-dist/scripts" if shelltools.can_access_directory(script_dir): for root, dirs, files in os.walk(script_dir): for name in files: shelltools.chmod(os.path.join(root, name), 0755) pisitools.dosym("/usr/share/texmf-dist/scripts/authorindex/authorindex" ,"/usr/bin/authorindex") pisitools.dosym("/usr/share/texmf-dist/scripts/glossaries/makeglossaries" ,"/usr/bin/makeglossaries") pisitools.dosym("/usr/share/texmf-dist/scripts/pax/pdfannotextractor.pl" ,"/usr/bin/pdfannotextractor") pisitools.dosym("/usr/share/texmf-dist/scripts/ppower4/pdfthumb.tlu" ,"/usr/bin/pdfthumb") pisitools.dosym("/usr/share/texmf-dist/scripts/perltex/perltex.pl" ,"/usr/bin/perltex") pisitools.dosym("/usr/share/texmf-dist/scripts/pst-pdf/ps4pdf" ,"/usr/bin/ps4pdf") pisitools.dosym("/usr/share/texmf-dist/scripts/splitindex/perl/splitindex.pl" ,"/usr/bin/splitindex") pisitools.dosym("/usr/share/texmf-dist/scripts/svn-multi/svn-multi.pl" ,"/usr/bin/svn-multi") pisitools.dosym("/usr/share/texmf-dist/scripts/vpe/vpe.pl" ,"/usr/bin/vpe") pisitools.remove("/usr/share/texmf-dist/scripts/glossaries/makeglossaries.bat") pisitools.remove("/usr/share/texmf-dist/scripts/pst-pdf/ps4pdf.bat*") pisitools.remove("/usr/share/texmf-dist/scripts/shipunov/biokey2html.bat")
def install(): pisitools.dodir("/usr/share") wanteddirs = [] for file_ in shelltools.ls(get.workDIR()): if shelltools.isDirectory(file_) and not "texmf" in file_: wanteddirs.append(file_) for folder in wanteddirs: pisitools.insinto("/usr/share/texmf-dist", folder) if shelltools.can_access_directory("texmf-dist"): # Recursively copy on directory on top of another, overwrite duplicate files too copy_tree("texmf-dist", "%s/usr/share/texmf-dist" % get.installDIR()) ## chmod of script files script_dir = get.installDIR() + "/usr/share/texmf-dist/scripts" if shelltools.can_access_directory(script_dir): for root, dirs, files in os.walk(script_dir): for name in files: shelltools.chmod(os.path.join(root, name), 0755) # copy config file to texmf-config pisitools.dodir("/etc/texmf/tex/context/config") shelltools.copy("%s/usr/share/texmf-dist/tex/context/config/cont-usr.tex" % get.installDIR(), \ "%s/etc/texmf/tex/context/config/cont-usr.tex" % get.installDIR()) # old packages, we will not provide them pisitools.remove("/usr/share/texmf-dist/tex/plain/config/omega.ini") pisitools.remove("/usr/share/texmf-dist/tex/plain/config/aleph.ini") pisitools.removeDir("/usr/share/texmf-dist/scripts/context/stubs/mswin/")
def install(parameters = '', argument = 'install'): '''install source into install directory with given parameters''' # Set clang as compiler if supported if get.canClang(): export ("CC", "clang") export ("CXX", "clang++") args = 'make prefix=%(prefix)s/%(defaultprefix)s \ datadir=%(prefix)s/%(data)s \ infodir=%(prefix)s/%(info)s \ localstatedir=%(prefix)s/%(localstate)s \ mandir=%(prefix)s/%(man)s \ sysconfdir=%(prefix)s/%(conf)s \ %(parameters)s \ %(argument)s' % { 'prefix': get.installDIR(), 'defaultprefix': get.defaultprefixDIR(), 'man': get.manDIR(), 'info': get.infoDIR(), 'localstate': get.localstateDIR(), 'conf': get.confDIR(), 'data': get.dataDIR(), 'parameters': parameters, 'argument':argument, } if system(args): raise InstallError(_('Install failed.')) else: fixInfoDir() if get.buildTYPE() == "emul32": fixpc() if isDirectory("%s/emul32" % get.installDIR()): removeDir("/emul32")
def install(): for i in ["data", "external", "lib", "modules", "plugins", "scripts", "tools"]: pisitools.insinto(datadir, i) if shelltools.isDirectory("%s/%s/external/source" % (get.installDIR(), datadir)): pisitools.removeDir("%s/external/source" % datadir) executables = shelltools.ls("msf*") # is it really necessary ? # executables.append("armitage") # needs ruby gtk, and it is said it is kind of bad #executables.remove("msfgui") # msfweb disabled until Rails is packaged # executables.remove("msfweb") for i in executables: pisitools.insinto(bindir, i) # FHS patch obsoletes this # pisitools.dosym("/usr/bin/metasploit", i) # Cleanup gui # FIXME: We leave gui components since they are checked by cli, but we don't support them # until necessary packages hit the repos, or the user installs them with gems #for i in ["meterpreter", "msfgui", "templates"]: # if shelltools.isDirectory("%s/%s/data/%s" % (get.installDIR(), datadir, i)): # pisitools.removeDir("%s/data/%s" % (datadir, i)) # pisitools.dodoc("documentation/*.txt", "documentation/*.pdf", "documentation/COPYING") pisitools.insinto("/%s" % get.docDIR(), "documentation", get.srcNAME()) pisitools.insinto("/%s/%s" % (get.docDIR(), get.srcNAME()), "test") pisitools.dodoc("HACKING")
def setup(): # Google API key shelltools.echo("google_api_key", "AIzaSyBINKL31ZYd8W5byPuwTXYK6cEyoceGh6Y") pisitools.dosed(".mozconfig", "%%PWD%%", get.curDIR()) pisitools.dosed(".mozconfig", "%%FILE%%", "google_api_key") pisitools.dosed(".mozconfig", "##JOBCOUNT##", get.makeJOBS()) # LOCALE shelltools.system("rm -rf langpack-ff/*/browser/defaults") if not shelltools.isDirectory(xpidir): shelltools.makedirs(xpidir) for locale in locales: shelltools.system( "wget -c -P %s http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/%s/linux-%s/xpi/%s.xpi" % (xpidir, ver, arch, locale)) #shelltools.makedirs("langpack-ff/langpack-%[email protected]" % locale) shelltools.makedirs("langpack-ff") #shelltools.system("unzip -uo %s/%s.xpi -d langpack-ff/langpack-%[email protected]" % (xpidir, locale, locale)) shelltools.system( "cp %s/%s.xpi langpack-ff/langpack-%[email protected]" % (xpidir, locale, locale)) print "Replacing browser.properties for %s locale" % locale #shelltools.copy("browserconfig.properties", "langpack-ff/langpack-%[email protected]/browser/chrome/%s/locale/branding/" % (locale, locale)) shelltools.copy("browserconfig.properties", "browser/branding/official/locales/") shelltools.makedirs(ObjDir) shelltools.cd(ObjDir) shelltools.system( "../configure --prefix=/usr --libdir=/usr/lib --disable-strip --disable-install-strip" )
def install(): pisitools.dodir("/usr/share") wanteddirs = [] for file_ in shelltools.ls('.'): if shelltools.isDirectory(file_) and not "texmf" in file_: wanteddirs.append(file_) for folder in wanteddirs: pisitools.insinto("/usr/share/texmf-dist", folder) if shelltools.can_access_directory("texmf-dist"): # Recursively copy on directory on top of another, overwrite duplicate files too copy_tree("texmf-dist", "%s/usr/share/texmf-dist" % get.installDIR()) ## chmod of script files script_dir = get.installDIR() + "/usr/share/texmf-dist/scripts" if shelltools.can_access_directory(script_dir): for root, dirs, files in os.walk(script_dir): for name in files: shelltools.chmod(os.path.join(root, name), 0755) pisitools.dosym("/usr/share/texmf-dist/scripts/cachepic/cachepic.tlu", "/usr/bin/cachepic") pisitools.dosym("/usr/share/texmf-dist/scripts/epspdf/epspdftk", "/usr/bin/epspdftk") pisitools.dosym("/usr/share/texmf-dist/scripts/epspdf/epspdf", "/usr/bin/epspdf") pisitools.dosym("/usr/share/texmf-dist/scripts/fig4latex/fig4latex", "/usr/bin/fig4latex") pisitools.dosym("/usr/share/texmf-dist/scripts/mathspic/mathspic.pl", "/usr/bin/mathspic")
def setup(): for i in ["SDL12", "AL", "libcurl", "libspeex", "libs"]: if shelltools.isDirectory("src/%s" % i): shelltools.unlinkDir("src/%s" % i) pisitools.dosed("misc/server.cfg", "set sv_hostname.*", 'set sv_hostname "Tremulous Server on PisiLinux"')
def install(): shelltools.cd("build") # Do the 'make install' from the build directory autotools.rawInstall('prefix=/usr \ bindir="%s" \ includedir="%s/include" \ datadir="%s" \ mandir="%s/man" \ infodir="%s/info" \ DESTDIR="%s" \ LIBPATH="%s"' % (BINPATH, LIBPATH, DATAPATH, DATAPATH, DATAPATH, get.installDIR(), LIBPATH), "install-target-libstdc++-v3") confdirbase = ldconfig["system"][0].rsplit("/", 1)[0] pisitools.dodir(confdirbase) # we'll move this into a directory we can put at the end of ld.so.conf # other than the normal versioned directory, so that it doesnt conflict # with gcc 3.3.3 pisitools.domove("/%s/lib*.so.*" % LIBPATH, "/usr/lib/libstdc++-v3/") shelltools.echo("%s/%s" % (get.installDIR(), ldconfig["system"][0]), ldconfig["system"][1]) if multilib: pisitools.domove("/%s/32/lib*.so.*" % LIBPATH, "/usr/lib32/libstdc++-v3/") shelltools.echo("%s/%s" % (get.installDIR(), ldconfig["multilib"][0]), ldconfig["multilib"][1]) # somehow /usr/share is left in farm, but not on my system for i in ["/usr/lib/gcc-lib", "/usr/share/gcc-data", "/usr/share"]: if shelltools.isDirectory("%s/%s" % (get.installDIR(), i)): pisitools.removeDir(i)
def install(): pisitools.dodir("/usr/share") wanteddirs = [] for file_ in shelltools.ls('.'): if shelltools.isDirectory(file_) and not "texmf" in file_: wanteddirs.append(file_) for folder in wanteddirs: pisitools.insinto("/usr/share/texmf-dist", folder) if shelltools.can_access_directory("texmf-dist"): # Recursively copy on directory on top of another, overwrite duplicate files too copy_tree("texmf-dist", "%s/usr/share/texmf-dist" % get.installDIR()) ## chmod of script files script_dir = get.installDIR() + "/usr/share/texmf-dist/scripts" if shelltools.can_access_directory(script_dir): for root, dirs, files in os.walk(script_dir): for name in files: shelltools.chmod(os.path.join(root, name), 0755) pisitools.remove("/usr/share/texmf-dist/scripts/m-tx/m-tx.lua") pisitools.remove("/usr/share/texmf-dist/scripts/musixtex/musixtex.lua") pisitools.remove("/usr/share/texmf-dist/scripts/musixtex/musixflx.lua") pisitools.remove("/usr/share/texmf-dist/scripts/pmx/pmx2pdf.lua")
def setup(): for d in shelltools.ls("./"): if shelltools.isDirectory(d): fixperms(d) dos2unix("mk") shelltools.chmod("autogen.sh", 0755) shelltools.system("./autogen.sh") shelltools.unlink("glest_map_editor") dos2unix("../") #pisitools.dosed("Jamrules", "^COMPILER_CFLAGS_optimize \+=.*", "COMPILER_CFLAGS_optimize += %s ;" % get.CFLAGS()) #pisitools.dosed("Jamrules", "^COMPILER_C\+\+FLAGS_optimize \+=.*", "COMPILER_C++FLAGS_optimize += %s ;" % get.CXXFLAGS()) #pisitools.dosed("Jamrules", "^COMPILER_LFLAGS_optimize \+=.*", "COMPILER_LFLAGS_optimize += %s ;" % get.LDFLAGS()) #pisitools.dosed("Jamrules", "-O3 -DNDEBUG", "-DNDEBUG") pisitools.dosed("glest_game/main/main.cpp", "PARDUS_DATADIR", "/usr/share/glest/") autotools.configure("--with-ogg \ --with-vorbis \ --with-wx-config=disabled_wx \ --with-x")
def install(): shelltools.cd("%s/build" % get.workDIR()) # Do the 'make install' from the build directory autotools.rawInstall( 'prefix=/usr \ bindir=%s \ includedir=%s/include \ datadir=%s \ mandir=%s/man \ infodir=%s/info \ DESTDIR="%s" \ LIBPATH="%s"' % (BINPATH, LIBPATH, DATAPATH, DATAPATH, DATAPATH, get.installDIR(), LIBPATH), "install-target-libstdc++-v3", ) # we'll move this into a directory we can put at the end of ld.so.conf # other than the normal versioned directory, so that it doesnt conflict # with gcc 3.3.3 pisitools.domove("/%s/lib*" % LIBPATH, "/usr/lib/libstdc++-v3/") # we dont want the headers... pisitools.removeDir("/usr/lib/gcc*") # or locales... if shelltools.isDirectory("%s/usr/share" % get.installDIR()): pisitools.removeDir("/usr/share") # or anything other than the .so files, really. pisitools.remove("/usr/lib/libstdc++-v3/*.la") pisitools.remove("/usr/lib/libstdc++-v3/*.a") # we dont even want the un-versioned .so symlink, as it confuses some # apps and also causes others to link against the old libstdc++... pisitools.remove("/usr/lib/libstdc++-v3/libstdc++.so")
def install(): pisitools.dodir("/usr/share") wanteddirs = [] for file_ in shelltools.ls('.'): if shelltools.isDirectory(file_) and not "texmf" in file_: wanteddirs.append(file_) for folder in wanteddirs: pisitools.insinto("/usr/share/texmf-dist", folder) if shelltools.can_access_directory("texmf-dist"): # Recursively copy on directory on top of another, overwrite duplicate files too copy_tree("texmf-dist", "%s/usr/share/texmf-dist" % get.installDIR()) ## chmod of script files script_dir = get.installDIR() + "/usr/share/texmf-dist/scripts" if shelltools.can_access_directory(script_dir): for root, dirs, files in os.walk(script_dir): for name in files: shelltools.chmod(os.path.join(root, name), 0755) pisitools.remove("/usr/share/texmf-dist/scripts/splitindex/splitindex.pl") pisitools.remove("/usr/share/texmf-dist/scripts/authorindex/authorindex") pisitools.remove("/usr/share/texmf-dist/scripts/glossaries/makeglossaries") pisitools.remove("/usr/share/texmf-dist/scripts/pax/pdfannotextractor.pl") pisitools.remove("/usr/share/texmf-dist/scripts/pst-pdf/ps4pdf") pisitools.remove("/usr/share/texmf-dist/scripts/perltex/perltex.pl") pisitools.remove("/usr/share/texmf-dist/scripts/svn-multi/svn-multi.pl") pisitools.remove("/usr/share/texmf-dist/scripts/vpe/vpe.pl") pisitools.remove("/usr/share/texmf-dist/scripts/exceltex/exceltex")
def install(): shelltools.cd("%s/build" % get.workDIR()) # Do the 'make install' from the build directory autotools.rawInstall( "prefix=/usr \ bindir=%s \ includedir=%s/include \ datadir=%s \ mandir=%s/man \ infodir=%s/info \ DESTDIR=\"%s\" \ LIBPATH=\"%s\"" % (BINPATH, LIBPATH, DATAPATH, DATAPATH, DATAPATH, get.installDIR(), LIBPATH), "install-target-libstdc++-v3") # we'll move this into a directory we can put at the end of ld.so.conf # other than the normal versioned directory, so that it doesnt conflict # with gcc 3.3.3 pisitools.domove("/%s/lib*" % LIBPATH, "/usr/lib/libstdc++-v3/") # we dont want the headers... pisitools.removeDir("/usr/lib/gcc*") # or locales... if shelltools.isDirectory("%s/usr/share" % get.installDIR()): pisitools.removeDir("/usr/share") # or anything other than the .so files, really. pisitools.remove("/usr/lib/libstdc++-v3/*.la") pisitools.remove("/usr/lib/libstdc++-v3/*.a") # we dont even want the un-versioned .so symlink, as it confuses some # apps and also causes others to link against the old libstdc++... pisitools.remove("/usr/lib/libstdc++-v3/libstdc++.so")
def setup(): shelltools.system( "wget http://sourceforge.net/p/irrlicht/code/4600/tree/trunk/source/Irrlicht/COpenGLExtensionHandler.h?format=raw --output-document COpenGLExtensionHandler.h" ) shelltools.system( "wget http://sourceforge.net/p/irrlicht/code/4600/tree/trunk/source/Irrlicht/glext.h?format=raw --output-document glext.h" ) shelltools.system( "wget http://sourceforge.net/p/irrlicht/code/4600/tree/trunk/source/Irrlicht/glxext.h?format=raw --output-document glxext.h" ) shelltools.system( "wget http://sourceforge.net/p/irrlicht/code/4600/tree/trunk/source/Irrlicht/wglext.h?format=raw --output-document wglext.h" ) for i in ["jpeglib", "zlib", "libpng"]: unwanteddir = "%s/%s" % (mainsrcdir, i) if shelltools.isDirectory(unwanteddir): shelltools.unlinkDir(unwanteddir) for i in [ "include/*.h", "doc/upgrade-guide.txt", "%s/*.cpp" % mainsrcdir, "%s/*.h" % mainsrcdir ]: pisitools.dosed(i, "\r") shelltools.chmod(i, 0644)
def setup(): for d in shelltools.ls("./"): if shelltools.isDirectory(d): fixperms(d) dos2unix("mk") shelltools.chmod("autogen.sh", 0755) shelltools.system("./autogen.sh") shelltools.unlink("glest_map_editor") dos2unix("../") pisitools.dosed("Jamrules", "^COMPILER_CFLAGS_optimize \+=.*", "COMPILER_CFLAGS_optimize += %s ;" % get.CFLAGS()) pisitools.dosed("Jamrules", "^COMPILER_C\+\+FLAGS_optimize \+=.*", "COMPILER_C++FLAGS_optimize += %s ;" % get.CXXFLAGS()) pisitools.dosed("Jamrules", "^COMPILER_LFLAGS_optimize \+=.*", "COMPILER_LFLAGS_optimize += %s ;" % get.LDFLAGS()) autotools.configure("--with-ogg \ --with-vorbis \ --with-libOpenAL \ --with-wx-config=disabled_wx \ --with-x")
def install(): pisitools.dodir("/usr/share") wanteddirs = [] for file_ in shelltools.ls('.'): if shelltools.isDirectory(file_) and not "texmf" in file_: wanteddirs.append(file_) for folder in wanteddirs: pisitools.insinto("/usr/share/texmf-dist", folder) if shelltools.can_access_directory("texmf-dist"): # Recursively copy on directory on top of another, overwrite duplicate files too copy_tree("texmf-dist", "%s/usr/share/texmf-dist" % get.installDIR()) ## chmod of script files script_dir = get.installDIR() + "/usr/share/texmf-dist/scripts" if shelltools.can_access_directory(script_dir): for root, dirs, files in os.walk(script_dir): for name in files: shelltools.chmod(os.path.join(root, name), 0755) pisitools.dosym("/usr/share/texmf-dist/scripts/tex4ht/ht.sh" ,"/usr/bin/ht") pisitools.dosym("/usr/share/texmf-dist/scripts/tex4ht/htcontext.sh" ,"/usr/bin/htcontext") pisitools.dosym("/usr/share/texmf-dist/scripts/tex4ht/htlatex.sh" ,"/usr/bin/htlatex") pisitools.dosym("/usr/share/texmf-dist/scripts/tex4ht/htmex.sh" ,"/usr/bin/htmex") pisitools.dosym("/usr/share/texmf-dist/scripts/tex4ht/httex.sh" ,"/usr/bin/httex") pisitools.dosym("/usr/share/texmf-dist/scripts/tex4ht/httexi.sh" ,"/usr/bin/httexi") pisitools.dosym("/usr/share/texmf-dist/scripts/tex4ht/htxelatex.sh" ,"/usr/bin/htxelatex") pisitools.dosym("/usr/share/texmf-dist/scripts/tex4ht/htxetex.sh" ,"/usr/bin/htxetex") pisitools.dosym("/usr/share/texmf-dist/scripts/tex4ht/mk4ht.pl" ,"/usr/bin/mk4ht")
def setup(): for i in shelltools.ls("."): if shelltools.isDirectory(i) and shelltools.isFile("%s/Makefile.am" % i): pisitools.dosed("%s/Makefile.am" % i, "-Werror") autotools.autoreconf("-fi") autotools.configure("--enable-python --disable-debug --enable-engine --enable-tools")
def install(): shelltools.system('rake install DESTDIR="%s"' % get.installDIR()) for f in ["examples", "doc/mkvmerge-gui.html", "doc/images"]: if shelltools.isFile(f) or shelltools.isDirectory(f): pisitools.insinto(docdir, f) pisitools.dodoc("AUTHORS", "ChangeLog", "README", "TODO")
def install(): pisitools.dodir(data) for d in os.listdir("./"): if shelltools.isDirectory(d): fixperms(d) pisitools.insinto(data, d) for f in docs: pisitools.dodoc(f, destDir="egoboo")
def install(): # we do second arch first, to allow first arch to overwrite headers, etc. # stubs-32.h, elf.h, vm86.h comes only with 32bit if multibuild: libcInstall(config["multiarch"]) pisitools.dosym("../lib32/ld-linux.so.2", "/lib/ld-linux.so.2") # FIXME: these should be added as additional file, when we can define pkg per arch pisitools.dodir("/etc/ld.so.conf.d") shelltools.echo( "%s/etc/ld.so.conf.d/60-glibc-32bit.conf" % get.installDIR(), ldconf32bit) libcInstall(config["system"]) # localedata can be shared between archs shelltools.cd(config["system"]["builddir"]) autotools.rawInstall("install_root=%s localedata/install-locales" % get.installDIR()) # now we do generic stuff shelltools.cd(pkgworkdir) # We'll take care of the cache ourselves if shelltools.isFile("%s/etc/ld.so.cache" % get.installDIR()): pisitools.remove("/etc/ld.so.cache") # It previously has 0755 perms which was killing things shelltools.chmod( "%s/usr/%s/misc/pt_chown" % (get.installDIR(), config["system"]["libdir"]), 04711) # Prevent overwriting of the /etc/localtime symlink if shelltools.isFile("%s/etc/localtime" % get.installDIR()): pisitools.remove("/etc/localtime") # Nscd needs this to work pisitools.dodir("/var/run/nscd") pisitools.dodir("/var/db/nscd") #we need this headers #2013 #pisitools.dodir("/usr/include/rpc") #pisitools.dodir("/usr/include/rpcsvc") #~ shelltools.copy("sunrpc/rpc/*.h","%s/usr/include/rpc" % get.installDIR()) #~ shelltools.copy("nis/rpcsvc/*.h","%s/usr/include/rpcsvc" % get.installDIR()) # remove zoneinfo files since they are coming from timezone packages # we disable timezone build with a patch, keeping these lines for easier maintenance if shelltools.isDirectory("%s/usr/share/zoneinfo" % get.installDIR()): pisitools.removeDir("/usr/share/zoneinfo") #while bootstrapping whole system zic should not be removed. timezone package does not build without it. # 2013 for i in ["zdump"]: if shelltools.isFile("%s/usr/sbin/%s" % (get.installDIR(), i)): pisitools.remove("/usr/sbin/%s" % i) pisitools.dodoc("BUGS", "ChangeLog*", "CONFORMANCE", "NAMESPACE", "NEWS", "PROJECTS", "README*", "LICENSES")
def setup(): pisitools.ldflags.add("-Wl,-rpath,/usr/lib/firefox") # Google API key shelltools.echo("google_api_key", "AIzaSyBINKL31ZYd8W5byPuwTXYK6cEyoceGh6Y") pisitools.dosed(".mozconfig", "%%PWD%%", get.curDIR()) pisitools.dosed(".mozconfig", "%%FILE%%", "google_api_key") # Fix build with new freetype #pisitools.dosed(".", "freetype\/(.*\.h)", r"\1", filePattern="system-headers") #pisitools.dosed("gfx/", "freetype\/(.*\.h)", r"\1", filePattern=".*\.cpp$") #pisitools.dosed("gfx/", "freetype\/(.*\.h)", r"\1", filePattern=".*\.h$") # LOCALE shelltools.system("rm -rf langpack-ff/*/browser/defaults") if not shelltools.isDirectory(xpidir): shelltools.makedirs(xpidir) for locale in locales: shelltools.system( "wget -c -P %s ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/%s/linux-%s/xpi/%s.xpi" % (xpidir, ver, arch, locale)) shelltools.makedirs("langpack-ff/langpack-%[email protected]" % locale) shelltools.system( "unzip -uo %s/%s.xpi -d langpack-ff/langpack-%[email protected]" % (xpidir, locale, locale)) # replace browserconfig.properties print "Replacing browser.properties for %s locale" % locale shelltools.copy( "browserconfig.properties", "langpack-ff/langpack-%[email protected]/browser/chrome/%s/locale/branding/" % (locale, locale)) shelltools.copy("browserconfig.properties", "browser/branding/official/locales/") # Mozilla sticks on with autoconf-213 shelltools.chmod("autoconf-213/autoconf-2.13", 0755) # configure script misdetects the preprocessor without an optimization level # https://bugs.archlinux.org/task/34644 shelltools.system("sed -i '/ac_cpp=/s/$CPPFLAGS/& -O2/' configure") # Set job count for make pisitools.dosed(".mozconfig", "%%JOBS%%", get.makeJOBS()) shelltools.system( "/bin/bash ./autoconf-213/autoconf-2.13 --macro-dir=autoconf-213/m4") shelltools.cd("js/src") shelltools.system( "/bin/bash ../../autoconf-213/autoconf-2.13 --macro-dir=../../autoconf-213/m4" ) shelltools.cd("../..") shelltools.makedirs(ObjDir) shelltools.cd(ObjDir) #shelltools.export("DISPLAY", "99") shelltools.system( "../configure --prefix=/usr --libdir=/usr/lib --disable-strip --disable-install-strip" )
def setup(): for i in ["jpeglib", "zlib", "libpng", "aesGladman"]: unwanteddir = "%s/%s" % (mainsrcdir, i) if shelltools.isDirectory(unwanteddir): shelltools.unlinkDir(unwanteddir) for i in ["include/*.h", "doc/upgrade-guide.txt", "%s/*.cpp" % mainsrcdir, "%s/*.h" % mainsrcdir]: pisitools.dosed(i, "\r") shelltools.chmod(i, 0644)
def install(): autotools.rawInstall('DESTDIR="%s" STRIP="true"' % get.installDIR()) for f in ["examples", "doc/mkvmerge-gui.html", "doc/images"]: if shelltools.isFile(f) or shelltools.isDirectory(f): pisitools.insinto(docdir, f) # pisitools.insinto("/usr/share/pixmaps", "src/mmg/matroskalogo_big.xpm", "mmg.xpm") pisitools.dodoc("AUTHORS", "ChangeLog", "README", "TODO")
def rawInstall(parameters = '', argument = 'install'): '''install source into install directory with given parameters = PREFIX=%s % get.installDIR()''' if system('make %s %s' % (parameters, argument)): raise InstallError(_('Install failed.')) else: fixInfoDir() if get.buildTYPE() == "emul32": fixpc() if isDirectory("%s/emul32" % get.installDIR()): removeDir("/emul32")
def setup(): pisitools.dosed("Dbus/interfaces/python/PythonInstall.cmake.in", "\@ROOT_PREFIX\@", get.installDIR()) pisitools.dosed("Dbus/interfaces/bash/BashInstall.cmake.in", "\@ROOT_PREFIX\@", get.installDIR()) cmaketools.configure() if not shelltools.isDirectory("weblets/src/webkit"): shelltools.makedirs("weblets/src/webkit") shelltools.sym("%s/weblets/src/webkit" % get.curDIR(), "weblets/src/webkit/webkit") for file in shelltools.ls("/usr/include/webkit-1.0/webkit"): shelltools.sym("/usr/include/webkit-1.0/webkit/%s" % file, "weblets/src/webkit/%s" % file) pisitools.dosed("weblets/src/applet-struct.h", "<webkit\/webkit.h>", '"webkit/webkit.h"')
def setup(): pisitools.dosed(".mozconfig", "##JOBCOUNT##", get.makeJOBS()) # LOCALE shelltools.system("rm -rf langpack-tb/*/browser/defaults") if not shelltools.isDirectory(xpidir): shelltools.makedirs(xpidir) for locale in locales: shelltools.system("wget -c -P %s http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/%s/linux-%s/xpi/%s.xpi" % (xpidir, ver, arch, locale)) shelltools.makedirs("langpack-tb/langpack-%[email protected]" % locale) shelltools.system("unzip -uo %s/%s.xpi -d langpack-tb/langpack-%[email protected]" % (xpidir, locale, locale))
def rawInstall(parameters='', argument='install'): '''install source into install directory with given parameters = PREFIX=%s % get.installDIR()''' if system('make %s %s' % (parameters, argument)): raise InstallError(_('Install failed.')) else: fixInfoDir() if get.buildTYPE() == "emul32": fixpc() if isDirectory("%s/emul32" % get.installDIR()): removeDir("/emul32")
def install(): if get.buildTYPE() == "emul32": qt4.install("INSTALL_ROOT=%s32" % get.installDIR()) shelltools.move("%s32/usr/lib32" % get.installDIR(), "%s/usr" % get.installDIR()) return qt4.install() pisitools.dodir(qt4.bindir) #Remove phonon, we use KDE's phonon but we have to build Qt with Phonon support for webkit and some other stuff pisitools.remove("%s/libphonon*" % qt4.libdir) pisitools.removeDir("%s/phonon" % qt4.includedir) if shelltools.isDirectory("%s/%s/phonon_backend" % (get.installDIR(), qt4.plugindir)): pisitools.removeDir("%s/phonon_backend" % qt4.plugindir) pisitools.remove("%s/pkgconfig/phonon*" % qt4.libdir) # Phonon 4.5 provides libphononwidgets.so file pisitools.remove("%s/designer/libphononwidgets.so" % qt4.plugindir) #Remove lost /usr/tests directory pisitools.removeDir("usr/tests") # Turkish translations shelltools.export("LD_LIBRARY_PATH", "%s%s" % (get.installDIR(), qt4.libdir)) shelltools.system("%s%s/lrelease l10n-tr/*.ts" % (get.installDIR(), qt4.bindir)) pisitools.insinto(qt4.translationdir, "l10n-tr/*.qm") # Fix all occurances of WorkDir in pc files pisitools.dosed( "%s%s/pkgconfig/*.pc" % (get.installDIR(), qt4.libdir), "%s/qt-x11-opensource-src-%s" % (get.workDIR(), get.srcVERSION()), qt4.prefix) mkspecPath = "%s/mkspecs" % qtbase for root, dirs, files in os.walk("%s%s" % (get.installDIR(), qtbase)): # Remove unnecessary spec files.. if root.endswith(mkspecPath): for dir in dirs: if not dir.startswith("linux") and dir not in [ "common", "qws", "features", "default" ]: pisitools.removeDir(os.path.join(mkspecPath, dir)) for name in files: if name.endswith(".prl"): pisitools.dosed(os.path.join(root, name), "^QMAKE_PRL_BUILD_DIR.*", "") # Remove useless image directory, images of HTML docs are in doc/html/images pisitools.removeDir("%s/src" % qt4.docdir) pisitools.dodoc("changes-*", "LGPL_EXCEPTION.txt", "LICENSE.*", "README")
def setup(): if not shelltools.isDirectory("tools/clang"): pisitools.dosed("tools/cfe-3.6.0.src/lib/Driver/ToolChains.cpp", '"ld"', '"ld.gold"') shelltools.move("tools/cfe-%s.src" % get.srcVERSION(), "tools/clang") shelltools.move("tools/clang-tools-extra-*", "tools/clang/extra") if not shelltools.isDirectory("projects/compiler-rt"): shelltools.move("projects/compiler-rt-3.6*", "projects/compiler-rt") pisitools.dosed("utils/llvm-build/llvm-build", "python", "python2.7") pisitools.dosed("bindings/ocaml/Makefile.ocaml", '\$\(PROJ_libdir\)', libdir) pisitools.dosed("Makefile.config.in", "\$\(PROJ_prefix\)/etc/llvm", "/etc/llvm") pisitools.dosed("Makefile.config.in", "\$\(PROJ_prefix\)/lib", "$(PROJ_prefix)/%s/llvm" % lib) pisitools.dosed("Makefile.config.in", "\$\(PROJ_prefix\)/docs/llvm", "$(PROJ_prefix)/share/doc/llvm") pisitools.dosed("tools/llvm-config/llvm-config.cpp", '(ActiveLibDir\s=\sActivePrefix\s\+\s\"\/lib)(.*)', r'\1/llvm\2') pisitools.dosed("autoconf/configure.ac", '\LLVM_LIBDIR="\$\{prefix\}/lib"', 'LLVM_LIBDIR="${prefix}/%s/llvm"' % lib) pisitools.dosed("Makefile.rules", "\$\(RPATH\)\s-Wl,\$\(ExmplDir\)\s\$\(DynamicFlag\)", "$(DynamicFlag)") pisitools.dosed("Makefile.rules", "\$\(RPATH\)\s-Wl,\$\(ToolDir\)\s\$\(DynamicFlag\)", "$(DynamicFlag)") shelltools.export("CPPFLAGS","%s %s" % (get.CXXFLAGS(),pkgconfig.getLibraryCFLAGS("libffi"))) #pic_option = "enable" if get.ARCH() == "x86_64" else "disable" shelltools.export("CC", "gcc") shelltools.export("CXX", "g++") options = "--libdir=%s \ --datadir=/usr/share/llvm \ --sysconfdir=/etc \ --enable-shared \ --enable-libffi \ --enable-targets=all \ --disable-expensive-checks \ --disable-debug-runtime \ --disable-assertions \ --disable-bindings \ --with-python=/usr/bin/python2.7 \ --with-binutils-include=/usr/include \ --with-gcc-toolchain=/usr \ --disable-expensive-checks \ " % libdir autotools.configure(options)
def setup(): # FIXME: do it by hand until pisi actions api change is packaged # for i in `find -name "Makefile*"|xargs grep games|sed 's/:.*//g' |cut -c3-|sort -u`;do sed -i -e 's/\/games//g' $i;done # removegames("./") if shelltools.isDirectory(enetsrc): shelltools.unlinkDir(enetsrc) shelltools.sym(".", "m4") autotools.autoreconf("-vfi") autotools.configure()
def install(): shelltools.touch("%s/etc/ld.so.conf" % get.installDIR()) pisitools.dodir("/etc/ld.so.conf.d") shelltools.cd("build") autotools.rawInstall("install_root=%s" % get.installDIR()) if get.buildTYPE() != "emul32": #Install locales once. autotools.rawInstall("install_root=%s localedata/install-locales" % get.installDIR()) # Remove our options section from crt stuff removePisiLinuxSection("%s/usr/lib/" % get.installDIR()) if get.buildTYPE() == "emul32": pisitools.dosym("/lib32/ld-linux.so.2", "/lib/ld-linux.so.2") shelltools.echo( "%s/etc/ld.so.conf.d/60-glibc-32bit.conf" % get.installDIR(), ldconf32bit) # Remove our options section from crt stuff removePisiLinuxSection("%s/usr/lib32/" % get.installDIR()) pisitools.removeDir("/tmp32") # We'll take care of the cache ourselves if shelltools.isFile("%s/etc/ld.so.cache" % get.installDIR()): pisitools.remove("/etc/ld.so.cache") if shelltools.isFile("%s/etc/ld.so.conf" % get.installDIR()): pisitools.remove("/etc/ld.so.conf") # Prevent overwriting of the /etc/localtime symlink if shelltools.isFile("%s/etc/localtime" % get.installDIR()): pisitools.remove("/etc/localtime") # Nscd needs this to work pisitools.dodir("/var/run/nscd") pisitools.dodir("/var/db/nscd") # remove zoneinfo files since they are coming from timezone packages # we disable timezone build with a patch, keeping these lines for easier maintenance if shelltools.isDirectory("%s/usr/share/zoneinfo" % get.installDIR()): pisitools.removeDir("/usr/share/zoneinfo") #while bootstrapping whole system zic should not be removed. timezone package does not build without it. # 2013 #for i in ["zdump","zic"]: #if shelltools.isFile("%s/usr/sbin/%s" % (get.installDIR(), i)): #pisitools.remove("/usr/sbin/%s" % i) shelltools.cd("..") pisitools.dodoc("BUGS", "ChangeLog*", "CONFORMANCE", "NAMESPACE", "NEWS", "PROJECTS", "README*", "LICENSES")
def setup(): for i in shelltools.ls("."): if shelltools.isDirectory(i) and shelltools.isFile("%s/Makefile.am" % i): pisitools.dosed("%s/Makefile.am" % i, "-Werror") autotools.autoreconf("-fi") #Do not create pyo/pyc pisitools.dosed("wrapper/Makefile.in", "^py_compile.*=.*", "py_compile = /bin/true") autotools.configure("--enable-python --disable-debug --enable-engine --enable-tools")
def setup(): for i in ["src/sqstdlib", "src/squirrel"]: if shelltools.isDirectory(i): shelltools.unlinkDir(i) pisitools.dosed("configure.in", "libpng12", "libpng14") autotools.autoreconf("-vfi") autotools.configure("--disable-dependency-tracking \ --with-data-dir=/usr/share/ppracer \ --with-tcl=/usr/lib \ --with-x")
def setup(): d = "usr/share/cups/model" shelltools.makedirs("%s/C" % d) for f in shelltools.ls(d): if not shelltools.isDirectory("%s/%s" % (d,f)): shelltools.move("%s/%s" % (d,f), "%s/C/" % d) for f in shelltools.ls("usr/share/cups/model/C/*.ppd.gz"): shelltools.system("gunzip -f %s" % f) fixperms("usr")
def install(): if shelltools.isDirectory("install"): shelltools.unlinkDir("install") autotools.rawInstall("DESTDIR=%s/install" % get.curDIR(), "altinstall") shelltools.cd("install") pisitools.dobin("usr/bin/idle") pisitools.insinto("/usr/lib/%s/lib-dynload" % get.curPYTHON(), "usr/lib/%s/lib-dynload/_tkinter.so" % get.curPYTHON()) for pkg in ("idlelib", "lib-tk"): pisitools.insinto("/usr/lib/%s" % get.curPYTHON(), "usr/lib/%s/%s" % (get.curPYTHON(), pkg))
def install(): shelltools.touch("%s/etc/ld.so.conf" % get.installDIR()) pisitools.dodir("/etc/ld.so.conf.d") shelltools.cd("build") autotools.rawInstall("install_root=%s" % get.installDIR()) if get.buildTYPE() != "emul32": #Install locales once. autotools.rawInstall("install_root=%s localedata/install-locales" % get.installDIR()) # Remove our options section from crt stuff removePisiLinuxSection("%s/usr/lib/" % get.installDIR()) if get.buildTYPE() == "emul32": pisitools.dosym("/lib32/ld-linux.so.2", "/lib/ld-linux.so.2") shelltools.echo("%s/etc/ld.so.conf.d/60-glibc-32bit.conf" % get.installDIR(), ldconf32bit) # Remove our options section from crt stuff removePisiLinuxSection("%s/usr/lib32/" % get.installDIR()) pisitools.removeDir("/tmp32") # We'll take care of the cache ourselves if shelltools.isFile("%s/etc/ld.so.cache" % get.installDIR()): pisitools.remove("/etc/ld.so.cache") if shelltools.isFile("%s/etc/ld.so.conf" % get.installDIR()): pisitools.remove("/etc/ld.so.conf") # Prevent overwriting of the /etc/localtime symlink if shelltools.isFile("%s/etc/localtime" % get.installDIR()): pisitools.remove("/etc/localtime") # Nscd needs this to work pisitools.dodir("/var/run/nscd") pisitools.dodir("/var/db/nscd") # remove zoneinfo files since they are coming from timezone packages # we disable timezone build with a patch, keeping these lines for easier maintenance if shelltools.isDirectory("%s/usr/share/zoneinfo" % get.installDIR()): pisitools.removeDir("/usr/share/zoneinfo") #while bootstrapping whole system zic should not be removed. timezone package does not build without it. # 2013 #for i in ["zdump","zic"]: #if shelltools.isFile("%s/usr/sbin/%s" % (get.installDIR(), i)): #pisitools.remove("/usr/sbin/%s" % i) shelltools.cd("..") pisitools.dodoc("BUGS", "ChangeLog*", "CONFORMANCE", "NAMESPACE", "NEWS", "PROJECTS", "README*", "LICENSES")