<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>https://wiki.ovidentia.fr/index.php?action=history&amp;feed=atom&amp;title=Scripts</id>
		<title>Scripts - Historique des versions</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.ovidentia.fr/index.php?action=history&amp;feed=atom&amp;title=Scripts"/>
		<link rel="alternate" type="text/html" href="https://wiki.ovidentia.fr/index.php?title=Scripts&amp;action=history"/>
		<updated>2026-04-18T14:07:38Z</updated>
		<subtitle>Historique pour cette page sur le wiki</subtitle>
		<generator>MediaWiki 1.26.4</generator>

	<entry>
		<id>https://wiki.ovidentia.fr/index.php?title=Scripts&amp;diff=5453&amp;oldid=prev</id>
		<title>Paul : Nouvelle page : == install_addon.sh ==  Ce script permet d'installer un module dans Ovidentia en utilisant des liens symboliques. Cette méthode permet d'utiliser dans ovidentia un module en cours d...</title>
		<link rel="alternate" type="text/html" href="https://wiki.ovidentia.fr/index.php?title=Scripts&amp;diff=5453&amp;oldid=prev"/>
				<updated>2014-07-30T05:56:53Z</updated>
		
		<summary type="html">&lt;p&gt;Nouvelle page : == install_addon.sh ==  Ce script permet d&amp;#039;installer un module dans Ovidentia en utilisant des liens symboliques. Cette méthode permet d&amp;#039;utiliser dans ovidentia un module en cours d...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== install_addon.sh ==&lt;br /&gt;
&lt;br /&gt;
Ce script permet d'installer un module dans Ovidentia en utilisant des liens symboliques. Cette méthode permet d'utiliser dans ovidentia un module en cours de développement et pouvant être directement utilisé par un outil de suivi du code source comme git ou cvs.&lt;br /&gt;
&lt;br /&gt;
pour obtenir la liste des paramètres, utiliser ./install_addon.sh --help&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
copyDirectory()&lt;br /&gt;
{&lt;br /&gt;
	echo -e &amp;quot;${BOLD}Copying${OFF} '${1}'&amp;quot;&lt;br /&gt;
	echo -e &amp;quot;     =&amp;gt; '${2}'&amp;quot;&lt;br /&gt;
	if [ -d &amp;quot;${1}&amp;quot; ]&lt;br /&gt;
	then&lt;br /&gt;
		if [ -h &amp;quot;${2}&amp;quot; ]&lt;br /&gt;
		then&lt;br /&gt;
			rm &amp;quot;${2}&amp;quot;&lt;br /&gt;
		else &lt;br /&gt;
			rm -R &amp;quot;${2}&amp;quot;&lt;br /&gt;
		fi&lt;br /&gt;
		cp -vR &amp;quot;${1}&amp;quot; &amp;quot;${2}&amp;quot; | grep addonini&lt;br /&gt;
		find &amp;quot;${2}&amp;quot; -name &amp;quot;CVS&amp;quot; -exec rm -R {} \;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
symlinkDirectory()&lt;br /&gt;
{&lt;br /&gt;
	echo -e &amp;quot;${BOLD}Linking${OFF} '${1}'&amp;quot;&lt;br /&gt;
	echo -e &amp;quot;     =&amp;gt; '${2}'&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	if [ -h &amp;quot;${2}&amp;quot; ]&lt;br /&gt;
	then&lt;br /&gt;
		rm &amp;quot;${2}&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	ln -sf &amp;quot;${1}&amp;quot; &amp;quot;${2}&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
removeDirectory()&lt;br /&gt;
{&lt;br /&gt;
	echo -e &amp;quot;${BOLD}Unlinking${OFF} '${2}'&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	if [ -h &amp;quot;${2}&amp;quot; ]&lt;br /&gt;
	then&lt;br /&gt;
		rm &amp;quot;${2}&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		if [ ! -d &amp;quot;${2}&amp;quot; ]&lt;br /&gt;
		then&lt;br /&gt;
			echo -e &amp;quot;****** ${BOLD}Directory does not exist${OFF}&amp;quot;&lt;br /&gt;
			return&lt;br /&gt;
		fi&lt;br /&gt;
		rm -R &amp;quot;${2}&amp;quot;;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
linkDirectory()&lt;br /&gt;
{&lt;br /&gt;
	if [ &amp;quot;${INSTALL_MODE}&amp;quot; = &amp;quot;copy&amp;quot; ]&lt;br /&gt;
	then&lt;br /&gt;
		copyDirectory &amp;quot;${1}&amp;quot; &amp;quot;${2}&amp;quot;&lt;br /&gt;
		return&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	if [ &amp;quot;${INSTALL_MODE}&amp;quot; = &amp;quot;remove&amp;quot; ]&lt;br /&gt;
	then&lt;br /&gt;
		removeDirectory &amp;quot;${1}&amp;quot; &amp;quot;${2}&amp;quot;&lt;br /&gt;
		return&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	symlinkDirectory &amp;quot;${1}&amp;quot; &amp;quot;${2}&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
linkDirectories()&lt;br /&gt;
{&lt;br /&gt;
	linkDirectory &amp;quot;${addonPath}/${addonName}/${addonSrc}&amp;quot; &amp;quot;${kernelSrc}/${addonName}&amp;quot;&lt;br /&gt;
	linkDirectory &amp;quot;${addonPath}/${addonName}/${addonTemplates}&amp;quot; &amp;quot;${kernelTemplates}/${addonName}&amp;quot;&lt;br /&gt;
	linkDirectory &amp;quot;${addonPath}/${addonName}/${addonOvml}&amp;quot; &amp;quot;${kernelOvml}/${addonName}&amp;quot;&lt;br /&gt;
	linkDirectory &amp;quot;${addonPath}/${addonName}/${addonLang}&amp;quot; &amp;quot;${kernelLang}/${addonName}&amp;quot;&lt;br /&gt;
	linkDirectory &amp;quot;${addonPath}/${addonName}/${addonStyles}&amp;quot; &amp;quot;${kernelStyles}/${addonName}&amp;quot;&lt;br /&gt;
	linkDirectory &amp;quot;${addonPath}/${addonName}/${addonImages}&amp;quot; &amp;quot;${kernelImages}/${addonName}&amp;quot;&lt;br /&gt;
	linkDirectory &amp;quot;${addonPath}/${addonName}/${addonTheme}&amp;quot; &amp;quot;${kernelTheme}/${addonName}&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
showUsage()&lt;br /&gt;
{&lt;br /&gt;
	echo &amp;quot;&amp;quot;&lt;br /&gt;
	echo &amp;quot;install_addon.sh&amp;quot; &lt;br /&gt;
	echo &amp;quot;	[-a|--addonpath=path/to/addon/dir] 	(default : ${defaultWorkspace})&amp;quot;&lt;br /&gt;
	echo &amp;quot;	[-k|--kernelpath=path/to/kernel/dir] 	(default : ${defaultWorkspace}/ovidentia)&amp;quot;&lt;br /&gt;
	echo &amp;quot;	[-s|--skinpath=path/to/skin/dir] 	(default : /var/www/ovhead/skins)&amp;quot;&lt;br /&gt;
	echo &amp;quot;	[-m|--mode=(link|copy|remove)]		(default : link)&amp;quot;&lt;br /&gt;
	echo &amp;quot; 	addon1 [addon2 ...]&amp;quot;&lt;br /&gt;
	echo &amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
listAddons()&lt;br /&gt;
{&lt;br /&gt;
	echo -e &amp;quot;\nAddons in addons directory:\n&amp;quot;&lt;br /&gt;
	cd &amp;quot;${addonPath}&amp;quot;&lt;br /&gt;
	 ls  */programs/addonini.php 2&amp;gt; /dev/null | cut -d &amp;quot;/&amp;quot; -f 1&lt;br /&gt;
	echo -e &amp;quot;\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if [ -d &amp;quot;${HOME}/sources&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
	defaultWorkspace=&amp;quot;${HOME}/sources&amp;quot;&lt;br /&gt;
elif [ -d &amp;quot;${HOME}/workspace&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
	defaultWorkspace=&amp;quot;${HOME}/workspace&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
	defaultWorkspace=&amp;quot;${HOME}&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOLD=$(tput bold)&lt;br /&gt;
OFF=$(tput sgr0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TEMP=`getopt -o a:k:s:m: --long addonpath:,kernelpath:,skinpath:,mode:,help -- &amp;quot;$@&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
if [ $? != 0 ]&lt;br /&gt;
then&lt;br /&gt;
	showUsage&lt;br /&gt;
	echo &amp;quot;Terminating...&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
	exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
eval set -- &amp;quot;$TEMP&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
while true&lt;br /&gt;
do&lt;br /&gt;
	case &amp;quot;$1&amp;quot; in&lt;br /&gt;
		-a|--addonpath)&lt;br /&gt;
			BAB_ADDON_PATH=&amp;quot;$2&amp;quot;&lt;br /&gt;
			shift 2&lt;br /&gt;
			;;&lt;br /&gt;
		-k|--kernelpath)&lt;br /&gt;
			BAB_KERNEL_PATH=&amp;quot;$2&amp;quot;&lt;br /&gt;
			shift 2&lt;br /&gt;
			;;&lt;br /&gt;
		-s|--skinpath)&lt;br /&gt;
			BAB_SKIN_PATH=&amp;quot;$2&amp;quot;&lt;br /&gt;
			shift 2&lt;br /&gt;
			;;&lt;br /&gt;
		-m|--mode)&lt;br /&gt;
			INSTALL_MODE=&amp;quot;$2&amp;quot;&lt;br /&gt;
			shift 2&lt;br /&gt;
			;;&lt;br /&gt;
		--help)&lt;br /&gt;
			showUsage&lt;br /&gt;
			exit 0&lt;br /&gt;
			;;&lt;br /&gt;
		--)&lt;br /&gt;
			shift&lt;br /&gt;
			break&lt;br /&gt;
			;;&lt;br /&gt;
		-*)&lt;br /&gt;
			showUsage&lt;br /&gt;
			exit 1&lt;br /&gt;
			;;&lt;br /&gt;
		&lt;br /&gt;
	esac&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addonPath=&amp;quot;${BAB_ADDON_PATH:-${defaultWorkspace}}&amp;quot;&lt;br /&gt;
kernelPath=&amp;quot;${BAB_KERNEL_PATH:-${defaultWorkspace}/ovidentia}&amp;quot;&lt;br /&gt;
skinPath=&amp;quot;${BAB_SKIN_PATH:-/var/www/ovhead/skins}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [ ! -d &amp;quot;${addonPath}&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
	echo &amp;quot;${BOLD}Addonpath '${addonPath}' does not exists${OFF}&amp;quot;&lt;br /&gt;
	exit 1&lt;br /&gt;
fi	&lt;br /&gt;
&lt;br /&gt;
if [ ! -d &amp;quot;${kernelPath}&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
	echo &amp;quot;${BOLD}kernelPath '${kernelPath}' does not exists${OFF}&amp;quot;&lt;br /&gt;
	exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Addon path: ${BOLD}${addonPath}${OFF}&amp;quot;&lt;br /&gt;
echo &amp;quot;Kernel path: ${BOLD}${kernelPath}${OFF}&amp;quot;&lt;br /&gt;
echo &amp;quot;Skins path: ${BOLD}${skinPath}${OFF}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
addonSrc=&amp;quot;programs&amp;quot;&lt;br /&gt;
addonImages=&amp;quot;skins/ovidentia/images&amp;quot;&lt;br /&gt;
addonTemplates=&amp;quot;skins/ovidentia/templates&amp;quot;&lt;br /&gt;
addonOvml=&amp;quot;skins/ovidentia/ovml&amp;quot;&lt;br /&gt;
addonStyles=&amp;quot;styles&amp;quot;&lt;br /&gt;
addonLang=&amp;quot;langfiles&amp;quot;&lt;br /&gt;
addonTheme=&amp;quot;theme&amp;quot;&lt;br /&gt;
&lt;br /&gt;
kernelRoot=&amp;quot;${kernelPath}&amp;quot;&lt;br /&gt;
kernelSrc=&amp;quot;${kernelPath}/addons&amp;quot;&lt;br /&gt;
kernelImages=&amp;quot;${kernelPath}/${addonImages}/addons&amp;quot;&lt;br /&gt;
kernelTemplates=&amp;quot;${kernelPath}/${addonTemplates}/addons&amp;quot;&lt;br /&gt;
kernelOvml=&amp;quot;${kernelPath}/${addonOvml}/addons&amp;quot;&lt;br /&gt;
kernelStyles=&amp;quot;${kernelPath}/${addonStyles}/addons&amp;quot;&lt;br /&gt;
kernelLang=&amp;quot;${kernelPath}/lang/addons&amp;quot;&lt;br /&gt;
kernelTheme=&amp;quot;${skinPath}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for addonName&lt;br /&gt;
do&lt;br /&gt;
	addonRoot=&amp;quot;${addonPath}/${addonName}&amp;quot;&lt;br /&gt;
	if [ ! -d &amp;quot;${addonRoot}&amp;quot; ]&lt;br /&gt;
	then&lt;br /&gt;
		echo &amp;quot;${BOLD}Addon '${addonName}' not present in ${addonPath}${OFF}&amp;quot;&lt;br /&gt;
		listAddons&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi	&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for addonName&lt;br /&gt;
do&lt;br /&gt;
	if [ &amp;quot;${INSTALL_MODE}&amp;quot; = &amp;quot;remove&amp;quot; ]&lt;br /&gt;
	then&lt;br /&gt;
		echo &amp;quot;${BOLD}Removing addon '${addonName}'${OFF}&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		echo &amp;quot;${BOLD}Installing addon '${addonName}'${OFF}&amp;quot;	&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	addonRoot=&amp;quot;${addonPath}/${addonName}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	linkDirectories&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Paul</name></author>	</entry>

	</feed>