r2703 - packages/trunk/fretsonfire/debian

Miriam Ruiz baby-guest at alioth.debian.org
Tue May 22 18:49:31 UTC 2007


Author: baby-guest
Date: 2007-05-22 18:49:31 +0000 (Tue, 22 May 2007)
New Revision: 2703

Modified:
   packages/trunk/fretsonfire/debian/rules
Log:
extract original .po files from the binary .mo files



Modified: packages/trunk/fretsonfire/debian/rules
===================================================================
--- packages/trunk/fretsonfire/debian/rules	2007-05-22 17:39:11 UTC (rev 2702)
+++ packages/trunk/fretsonfire/debian/rules	2007-05-22 18:49:31 UTC (rev 2703)
@@ -133,15 +133,15 @@
 get-orig-source: ../FretsOnFire-$(ORIG_VERSION)-linux.tar.gz ../FretsOnFire-src-$(ORIG_VERSION).tar.gz
 	# clean old builds;
 	rm -rf "FretsOnFire-src-$(ORIG_VERSION)/" "FretsOnFire/" "fretsonfire-$(ORIG_VERSION).dfsg"
-	
+
 	# extract source and data
 	tar xvfz "../FretsOnFire-src-$(ORIG_VERSION).tar.gz"
 	tar xvfz "../FretsOnFire-$(ORIG_VERSION)-linux.tar.gz"
-	
+
 	# we want all the source 
 	mv "FretsOnFire-src-$(ORIG_VERSION)" "fretsonfire-$(ORIG_VERSION).dfsg"
 	mkdir -p "fretsonfire-$(ORIG_VERSION).dfsg/data"
-	
+
 	# copy the data, without the songs, but with the tutorial
 	cp -v "FretsOnFire/data"/* "fretsonfire-$(ORIG_VERSION).dfsg/data/" || true
 	rm -f "fretsonfire-$(ORIG_VERSION).dfsg/data"/*.ttf
@@ -149,10 +149,39 @@
 	cp -va "FretsOnFire/data/translations" "fretsonfire-$(ORIG_VERSION).dfsg/data/"
 	mkdir -p "fretsonfire-$(ORIG_VERSION).dfsg/data/songs"
 	cp -av "FretsOnFire/data/songs/tutorial" "fretsonfire-$(ORIG_VERSION).dfsg/data/songs/"
-	
+
+	# Start extracting original .po files from the binary .mo files
+
+	# get the translation template (needs gettext)
+	cd fretsonfire-$(ORIG_VERSION).dfsg/src && \
+		xgettext -o ../data/translations/fretsonfire.pot \
+			`grep -r "_(\".*\")" * | awk -F: '{print $$1}' | sort --unique`
+
+	cat fretsonfire-$(ORIG_VERSION).dfsg/data/songs/tutorial/script.txt | \
+		awk '{ print NR "|" $$0 }' | grep " text " | sed 's/ text */|/g' | \
+		awk -F"|" '{ print "\n#: data/songs/tutorial/script.txt:" $$1 " \nmsgid \"" $$3 "\"\nmsgstr \"\""}' \
+			>> fretsonfire-$(ORIG_VERSION).dfsg/data/translations/fretsonfire.pot
+
+	msguniq -o fretsonfire-$(ORIG_VERSION).dfsg/data/translations/fretsonfire.pot \
+		fretsonfire-$(ORIG_VERSION).dfsg/data/translations/fretsonfire.pot
+
+	# get the source from the translation files (needs gettext)
+	cd fretsonfire-$(ORIG_VERSION).dfsg/data/translations && \
+		for i in *.mo; do \
+			msgunfmt $$i > `echo $$i | sed -e "s/.mo/.po/"` ; \
+		done
+
+	# merge the obtained the translation files with the template (needs gettext)
+	cd fretsonfire-$(ORIG_VERSION).dfsg/data/translations && \
+		for i in *.po; do \
+			msgmerge -o $$i $$i fretsonfire.pot ; \
+		done
+
+	# Finished extracting original .po files from the binary .mo files
+
 	# turn off the execute bit on all the random files
 	find "fretsonfire-$(ORIG_VERSION).dfsg" -type f | xargs chmod -x
-	
+
 	# build the tarball and clean up
 	tar cvfz "../fretsonfire_$(ORIG_VERSION).dfsg.orig.tar.gz" "fretsonfire-$(ORIG_VERSION).dfsg"
 	rm -rf "FretsOnFire-src-$(ORIG_VERSION)/" "FretsOnFire/" "fretsonfire-$(ORIG_VERSION).dfsg"




More information about the Pkg-games-commits mailing list