tags +patch Thanks
OK, i forward your mail to the Debian BTS, with your patch. It will be included in next upload. Regard Sylvain Le Gall ---------- Forwarded message ---------- Subject: Re: bashishms dans le Debian rules d'Unison From: Lionel Porcheron <[EMAIL PROTECTED]> To: Sylvain Le Gall <[EMAIL PROTECTED]> Date: Thu, 28 Dec 2006 01:05:17 +0100 Message-Id: <[EMAIL PROTECTED]> Bonsoir, Concernant les bashisms dans le Debian rules, merci pour les indications, ce sont les lignes DST=$${DST/unison/$(UNISON_PACKAGE)}; qui posent souci. Après une recherche sur google, ces substitutions sont des spécificités du bash... Je ne suis pas sûr que ce soit le plus élégant, je ne sais pas trop si on peut faire mieux, mais j'ai contourné le problème avec sed. Le patch des modifications apportées est en pièce jointe, ça build correctement et ça ressemble au contenu du paquet précédent :-). En ce qui concerne le patch Ubuntu (avec l'icône et le .desktop), il est disponible ici : http://patches.ubuntu.com/u/unison/unison_2.13.16-4ubuntu1.patch Lionel Le mardi 26 décembre 2006 à 00:07 +0100, Sylvain Le Gall a écrit :
Hello, On Mon, Dec 25, 2006 at 07:52:49PM +0100, Lionel Porcheron wrote: > Bonjour, > > En faisant le merge de la dernière version d'Unison pour Ubuntu, je suis > tombé sur ce bug: > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=376362 > > Comme Ubuntu utilise Dash comme shell pour /bin/sh, ça FTBFS sous > Ubuntu :(. En cherchant un peu, j'ai localisé les lignes qui posent > problème, ce sont les lignes du type: > DST=$$i; \ > DST=$${DST/unison/$(UNISON_PACKAGE)}; \ > DST=$${DST%%.in}; \ > > Je ne suis pas spécialiste des substitions en bash, mais je n'ai pas > trouvé de doc sur le rôle du double $ dans les scripts shell :-(. Je ne > sais pas si tu as une idée pour résoudre le problème, mais si oui, ça > m'intéresse. > C'est normal, ca n'a pas de rapport avec sh mais avec make. $$ est le caractère d'échappement pour $, donc sh comprendra DST=$i DST=${DST/unison/$(UNISON_PACKAGE)}; \ DST=${DST%%.in}; \ > Je ne sais pas si tu as vu le patch proposé par Ubuntu pour Unison, il > s'agit juste d'inclure une icône Unison et un fichier .desktop. Je pense > que ça peut bénéficier également à Debian. > Oui, je suis entrain d'écrire les fichiers desktop pour tout mes paquets et je regarder sur Ubuntu pour voir ceux qu'ils ont pu faire. Je ne suis pas sure de savoir pour le patch pour l'icone unison... Je suis intéressé par ce dernier, si vous pouvez me l'envoyer (je ne suis pas du tout les choses qui ont trait à ubuntu, sauf pour les patchs automatique qui ont été mis en place). > Merci pour ton aide, a+ Cordialement Sylvain Le Gall
--- unison-2.13.16/debian/rules 2006-12-19 11:21:07.000000000 +0100 +++ unison-2.13.16.ubuntu/debian/rules 2006-12-28 00:57:09.000000000 +0100 @@ -64,7 +64,7 @@ build-stamp: patch-stamp # string for i in $(RENAME); do \ DST=$$i; \ - DST=$${DST/unison/$(UNISON_PACKAGE)}; \ + DST=`echo $$DST | sed "s/unison/${UNISON_PACKAGE}/"`; \ DST=$${DST%%.in}; \ sed -e "\ s/@VERSION@/$(VERSION)/g; \ @@ -107,7 +107,7 @@ clean: unpatch # remove the renamed files -for i in $(RENAME); do \ DST=$$i; \ - DST=$${DST/unison/$(UNISON_PACKAGE)}; \ + DST=`echo $$DST | sed "s/unison/$(UNISON_PACKAGE)/"`; \ DST=$${DST%%.in}; \ $(RM) $$DST; \ done @@ -132,8 +137,8 @@ install: build $(CURDIR)/debian/$(UNISON_GTK_PACKAGE)/usr/share/man/man1/$(UNISON_GTK_ALTERNATIVE).1.gz \ ; do \ FILENAME=$${i##*/}; \ - FILENAME=$${FILENAME/$(UNISON_ALTERNATIVE)/$(UNISON)}; \ - FILENAME=$${FILENAME/$(UNISON_GTK_ALTERNATIVE)/$(UNISON_GTK)}; \ + FILENAME=`echo $$FILENAME | sed "s/$(UNISON_ALTERNATIVE)/$(UNISON)/"`; \ + FILENAME=`echo $$FILENAME | sed "s/$(UNISON_GTK_ALTERNATIVE)/$(UNISON_GTK)/"`; \ if ! [ -e $$i ] && ! [ -L $$i ]; then \ ln -s $$FILENAME \ $$i; \