From mboxrd@z Thu Jan 1 00:00:00 1970 From: Danny Milosavljevic Subject: Re: [PATCH] gnu: doxygen: Use sh from the store. Date: Tue, 3 Jan 2017 13:28:37 +0100 Message-ID: <20170103132837.3fdb6b1e@scratchpost.org> References: <20170103.130923.1460950191504126664.thomas.danckaert@aeronomie.be> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:50698) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cOOCr-0003vE-0R for guix-devel@gnu.org; Tue, 03 Jan 2017 07:28:46 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cOOCn-0003lh-TF for guix-devel@gnu.org; Tue, 03 Jan 2017 07:28:44 -0500 Received: from dd1012.kasserver.com ([85.13.128.8]:41671) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cOOCn-0003lI-N2 for guix-devel@gnu.org; Tue, 03 Jan 2017 07:28:41 -0500 In-Reply-To: <20170103.130923.1460950191504126664.thomas.danckaert@aeronomie.be> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Thomas Danckaert Cc: guix-devel@gnu.org Thanks for the patch! Looks good to me. In any case, if we search for "portable_system", we find that there are lots of other things that don't use in-store names: ./cite.cpp: if ((exitCode=portable_system("perl","\""+bib2xhtmlFile+"\" "+bibOutputFiles+" \""+ ./dia.cpp: if ((exitCode=portable_system(diaExe,diaArgs,FALSE))!=0) // from config ./dia.cpp: if (portable_system("epstopdf",epstopdfArgs)!=0) ./diagram.cpp: if (portable_system("epstopdf",epstopdfArgs)!=0) ./docparser.cpp: if (portable_system("epstopdf",epstopdfArgs)!=0) ./dot.cpp: if ((exitCode=portable_system(m_dotExe.data(),dotArgs,FALSE))!=0) // from config ./dot.cpp: if ((exitCode=portable_system(m_dotExe.data(),dotArgs,FALSE))!=0) // from config ./dot.cpp: if (!m_postCmd.isEmpty() && portable_system(m_postCmd.data(),m_postArgs.data())!=0) // seems to be not set anywhere ./doxygen.cpp: if (portable_system(Config_getString("HHC_LOCATION"), "index.hhp", Debug::isFlagSet(Debug::ExtCmd))) // from config ./doxygen.cpp: if (portable_system(Config_getString("QHG_LOCATION"), args.data(), FALSE)) // from config ./formula.cpp: if (portable_system(latexCmd,"_formulas.tex")!=0) // from config ./formula.cpp: if (portable_system("dvips",dviArgs)!=0) ./formula.cpp: if (portable_system(portable_ghostScriptCommand(),gsArgs)!=0) // portable_ghostScriptCommand body hardcodes executable name ./htags.cpp: bool result=portable_system("htags",commandLine,FALSE)==0; ./msc.cpp: if ((exitCode=portable_system(mscExe,mscArgs,FALSE))!=0) // from config ./msc.cpp: if (portable_system("epstopdf",epstopdfArgs)!=0) ./msc.cpp: if ((exitCode=portable_system(mscExe,mscArgs,FALSE))!=0) // from config ./plantuml.cpp: if ((exitCode=portable_system(pumlExe,pumlArgs,TRUE))!=0) // java, hardcoded ./plantuml.cpp: if ((exitCode=portable_system("epstopdf",epstopdfArgs))!=0) ./portable.cpp:int portable_system(const char *command,const char *args,bool commandHasConsole) // should have argument list, not huge string ./portable.h:int portable_system(const char *command,const char *args,bool commandHasConsole=TRUE); ./vhdldocgen.cpp: if (portable_system("dot",vlargs)!=0) ./vhdldocgen.cpp: if (portable_system("dot",vlargs)!=0) Aaaah found sprintf without max length specifier. Dear god is doxygen unsafe. I should refrain from reading the source code of some popular packages - it doesn't end well. If someone is motivated, could also fix the above executable names later.