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; \

Reply via email to