--- blender-2.45-1~bpo40.orig/debian/blender-wrapper
+++ blender-2.45-1~bpo40/debian/blender-wrapper
@@ -0,0 +1,46 @@
+#!/bin/sh
+#
+# A wrapper script for Blender
+#
+
+# In case user's home directory doesn't contain ~/.blender, copy it
+# from /usr/lib/blender
+
+if [ ! -d ~/.blender ]; then
+    install -d ~/.blender
+    ln -sf /usr/lib/blender/locale ~/.blender
+    ln -sf /usr/lib/blender/.Blanguages ~/.blender
+    ln -sf /usr/lib/blender/.bfont.ttf ~/.blender
+    cp -a /usr/lib/blender/bpydata ~/.blender
+    cp -a /usr/lib/blender/VERSION ~/.blender
+
+    install -d ~/.blender/plugins/sequence
+    install -d ~/.blender/plugins/texture
+
+    install -d ~/.blender/scripts
+    ln -sf /usr/lib/blender/scripts/* ~/.blender/scripts/
+fi
+
+# 
+# In case the user's ~/.blender came from older versions, some files 
+# should be reinstalled.
+#
+
+if [ $(cat ~/.blender/VERSION) != $(cat /usr/lib/blender/VERSION) ]; then
+    cp -a /usr/lib/blender/bpydata ~/.blender
+    ln -sf /usr/lib/blender/scripts/* ~/.blender/scripts/
+    cp -a /usr/lib/blender/VERSION ~/.blender
+fi
+
+#
+# Fully update the plugins every time blender is launched.
+#
+
+for s in /usr/lib/blender/scripts/* ; do
+    s=`basename $s`
+    if [ ! -e ~/.blender/scripts/$s ] ; then
+         ln -sf /usr/lib/blender/scripts/$s ~/.blender/scripts/
+    fi
+done
+
+blender-bin "$@"
--- blender-2.45-1~bpo40.orig/debian/control
+++ blender-2.45-1~bpo40/debian/control
@@ -0,0 +1,27 @@
+Source: blender
+Section: graphics
+Priority: optional
+Maintainer: Debian Blender Maintainers <pkg-blender-maintainers@lists.alioth.debian.org>
+Uploaders: Masayuki Hatta (mhatta) <mhatta@debian.org>, Florian Ernst <florian@debian.org>, Wouter van Heyst <larstiq@larstiq.dyndns.org>, Cyril Brulebois <cyril.brulebois@enst-bretagne.fr>
+Build-Depends: debhelper (>= 5.0.37.2), dpatch, ftgl-dev (>= 2.0.9-1), gettext (>= 0.14.1), libgettextpo-dev, libglut-dev, libjpeg-dev, libpng-dev, libsdl-dev, libz-dev, python2.4-dev, python-central (>= 0.5), scons, libtiff4-dev, libopenexr-dev, libavformat-dev, libxi-dev, autotools-dev, pkg-config
+Build-Conflicts: nvidia-glx
+XS-Python-Version: 2.4
+Standards-Version: 3.7.2
+Homepage: http://blender.org/
+
+Package: blender
+Architecture: any
+Depends: ${shlibs:Depends}, ${python:Depends}, ${misc:Depends}
+XB-Python-Version: ${python:Versions}
+Suggests: yafray, libtiff4
+Description: Very fast and versatile 3D modeller/renderer
+ Blender is an integrated 3d suite for modelling, animation, rendering,
+ post-production, interactive creation and playback (games). Blender has its
+ own particular user interface, which is implemented entirely in OpenGL and
+ designed with speed in mind. Python bindings are available for scripting;
+ import/export features for popular file formats like 3D Studio and Wavefront
+ Obj are implemented as scripts by the community. Stills, animations, models
+ for games or other third party engines and interactive content in the form of
+ a standalone binary and/or a web plug-in are common products of Blender use.
+ .
+  Homepage: http://blender.org/
--- blender-2.45-1~bpo40.orig/debian/pot-header.txt
+++ blender-2.45-1~bpo40/debian/pot-header.txt
@@ -0,0 +1,18 @@
+# Blender translation template
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the blender package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: blender VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-03-27 13:42+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
--- blender-2.45-1~bpo40.orig/debian/genpot/return_po.py
+++ blender-2.45-1~bpo40/debian/genpot/return_po.py
@@ -0,0 +1,209 @@
+'''
+for blender\src\buttons_logic.c
+which "return" a string other put the string in a variant
+
+To custom your script, roll down till "if __name__=='__main__'"
+
+If anybody find a bug, or knows how to use re module to search and strip out  the strings, please let me know. Thanx.
+
+Copyright: iced oyster< http://blender.blogchina.com > 2005
+You can use this program freely, but CANNOT claim that you is the author.
+'''
+import os
+import glob
+import re
+import sys
+
+debug_po=0
+
+func_dict={
+'strcpy':[1],
+'strcat':[1],
+}
+
+
+def split_blender_str(s):
+	idx_id=s
+	temp=[]
+
+	if '|' not in idx_id:
+		if (idx_id.endswith(':')==0 and len(idx_id.strip())>1) \
+			or (idx_id.endswith(':') and len(idx_id[:-1].strip())>1):
+			temp.append(s)
+	else:
+		idx_id=idx_id.split('|')
+		idx_id=filter(lambda e:e not in ('','""'),idx_id)
+		idx_id=filter(lambda e:(e.endswith(':')==0 and len(e.strip())>1) or \
+								(e.endswith(':') and len(e[:-1].strip())>1),idx_id)
+		for i in idx_id:
+			'''
+			from source\blender\src\buttons_editing.c
+			but=uiDefButS(block, MENU, REDRAWVIEW3D,
+				"Skinnable %x0|" "Unskinnable %x1|" "Head %x2|"
+				"Neck %x3|" "Back %x4|" "Shoulder %x5|" "Arm %x6|"
+				"Hand %x7|" "Finger %x8|" "Thumb %x9|" "Pelvis %x10|"
+				"Leg %x11|" "Foot %x12|" "Toe %x13|" "Tentacle %x14",
+				bx-10,by-19,117,18, &curBone->boneclass, 0.0, 0.0, 0.0, 0.0,
+				"Classification of armature element");
+			'''
+
+			temp.append(i)
+
+	for kbd in [ 'ctrl ', 'alt ', 		#'shift '
+				'shift+', 'ctrl+', 'alt+', \
+				'numpad',			#'emualte numpad'\
+				'leftarrow','rightarrow','uparrow','downarrow',\
+				'left arrow','right arrow','up arrow','down arrow',\
+				'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', 'f10', 'f11', 'f12',\
+				'pageup', 'page up', 'pgup', 'pg up',
+				'pagedown','page down', 'pgdn','pg dn',
+				]:
+		temp=filter(lambda e:e.lower().startswith(kbd)==0,temp)
+
+	shift_except=map(lambda e:'f%0i'%e, range(1,13))
+	shift_except+=['ctrl ', 'alt ',
+					'numpad',
+					'leftarrow','rightarrow','uparrow','downarrow',\
+					'left arrow','right arrow','up arrow','down arrow',\
+					'pageup', 'page up', 'pgup', 'pg up',
+					'pagedown','page down', 'pgdn','pg dn',
+				]
+	shift_except=map(lambda e:'shift '+e,shift_except)
+	for kbd in shift_except:
+		temp=filter(lambda e:e.lower().startswith(kbd)==0,temp)
+	temp=filter(lambda e:e.lower() not in ['tab','shift tab'],temp)
+	temp=filter(lambda e:e.lower().startswith('shift')==0 or\
+				(e.lower().startswith('shift') and len(e)>7) ,temp)
+
+	if temp:
+		temp=map(lambda e:e.split('%t')[0],temp)
+
+	#msgid "Add Sequence Strip%t|Images%x1|Movie%x102|Audio%x103|Scene%x101|Plugin%x10|Cross%x2|Gamma Cross%x3|Add%x4|Sub%x5|Mul%x6|Alpha Over%x7|Alpha Under%x8|Alpha Over Drop%x9|Wipe%x13|Glow%x14"
+	##"GiQuality %t|None %x0|Low %x1|Medium %x2 |High %x3|Higher %x4|Best %x5|Use Blender AO settings %x6"
+	if temp:
+		temp=map(lambda e:e.split('%x')[0],temp)
+
+	temp=filter(lambda e:e!='',temp)
+	return temp
+
+
+func_dict_key=func_dict.keys()
+
+def genpo(files):
+	all_msgid=[]
+	for file in files:
+		current_msgid=[]
+
+		if os.path.isfile(file):
+			if os.path.splitext(file)[-1].upper() in ['.C', 'CPP']:	#.H, .HPP?
+
+				f_in=open(file)
+				line=f_in.readline()
+
+				while line:
+					if line!=None:
+						line=line.strip()
+
+						line_temp=' '
+
+						while line.endswith(';')!=1 and line_temp:
+							line_temp=f_in.readline()
+							if line_temp:
+								line_temp=line_temp.strip()
+								if line_temp.endswith('\\'):
+									line_temp=line_temp[:-1]
+								line+=line_temp
+
+						line=line.replace(',""',',NIL_NULL')
+						line=line.replace(', ""',',NIL_NULL')
+						line=line.replace(',\t""',',NIL_NULL')
+						line=line.replace('"",','NIL_NULL,')
+						line=line.replace('"" ,',',NIL_NULL ,')
+						line=line.replace('""\t,',',NIL_NULL\t,')
+						line=line.replace('," "',',NIL_NULL')
+						line=line.replace(', " "',',NIL_NULL')
+						line=line.replace(',\t" "',',NIL_NULL')
+						line=line.replace('" ",','NIL_NULL,')
+						line=line.replace('" " ,',',NIL_NULL ,')
+						line=line.replace('" "\t,',',NIL_NULL\t,')
+						line=line.replace(',"\t"',',NIL_NULL')
+						line=line.replace(', "\t"',',NIL_NULL')
+						line=line.replace(',\t"\t"',',NIL_NULL')
+						line=line.replace('"\t",','NIL_NULL,')
+						line=line.replace('"\t" ,',',NIL_NULL ,')
+						line=line.replace('"\t"\t,',',NIL_NULL\t,')
+
+						line=line.replace('""','')
+						line=line.replace('" "','')
+						line=line.replace('"\t"','')
+
+						line_temp=line
+						line_temp=line_temp.strip()
+						line_temp=line_temp.replace(r'\"',r"\'")
+						line_temp=re.split('([^,"]+|"[^"]*")',line_temp)
+						line_temp=map(lambda e:e.replace(r"\'",r'\"'), line_temp)
+
+						line_temp=map(lambda e:e.strip(),line_temp)
+						line_temp=filter(lambda e:e not in ['',',','"','\\n'],line_temp)
+
+						if line_temp and line_temp[0].startswith('#'):
+							line_temp=[]
+
+						for idx_id in line_temp:
+							if idx_id.startswith('"') and idx_id.endswith('"')  and idx_id!='""':
+								idx_id=idx_id[1:-1]
+								idx_id_split=split_blender_str(idx_id)
+
+								idx_id_split=filter(lambda e:'%' not in e,idx_id_split)
+
+								if len(idx_id_split)==1:
+									if debug_po:
+										current_msgid+=['msgid "'+idx_id_split[0]+'"\n'+'msgstr "blahblah"\n']
+										#all_msgid_dict[idx_id_split[0]]='blahblah'
+									else:
+										current_msgid+=['msgid "'+idx_id_split[0]+'"\n'+'msgstr ""\n']
+
+								elif len(idx_id_split)>1:
+									current_msgid+=['#'*59+'\n'+
+													'###  must break down the following line at "|"\n'+
+													'###  msgid "'+idx_id+'"\n'+
+													'###  msgstr ""\n'
+													]
+									for i in idx_id_split:
+										if debug_po:
+											current_msgid+=['msgid "'+i+'"\n'+'msgstr "blahblah"\n']
+															#all_msgid_dict[i]='blahblah'
+										else:
+											current_msgid+=['msgid "'+i+'"\n'+'msgstr ""\n']
+									current_msgid+=['###  breakdown ends\n'+
+												'#'*59+'\n'
+												]
+					line=f_in.readline()
+
+				if  current_msgid:
+					current_msgid=['#'*59+'\n'+'###  from file %s\n' % file+'#'*59+'\n']+current_msgid
+
+				if  current_msgid:
+					all_msgid+=current_msgid
+
+	#return all_msgid
+
+	for i in all_msgid:
+		print i
+
+if __name__=='__main__':
+	blender_src_path=r'L:\blender src\source'
+
+	fnames=[
+			blender_src_path+r'\blender\src\buttons_logic.c',
+			blender_src_path+r'\blender\src\buttons_editing.c',
+			blender_src_path+r'\blender\src\buttons_scene.c'
+		]
+
+	fout=open('return.po','w')
+	sys.stdout=fout
+
+	genpo(fnames)
+
+	fout.close()
+	sys.stdout=sys.__stdout__
--- blender-2.45-1~bpo40.orig/debian/genpot/case_po.py
+++ blender-2.45-1~bpo40/debian/genpot/case_po.py
@@ -0,0 +1,208 @@
+'''
+strip isolated string in C/CPP src, eg
+source\blender\src\toolbox.c
+case 0: tbstr= "Add Strip";  tbstr1= "A"; keystr= "Shift A"; break;
+static TBitem tb_mesh_edit_normal[]= {
+{	0, "Recalculate Outside|Ctrl N", 	2, 		NULL},
+{	0, "Recalculate Inside|Ctrl Shift N", 	1, 		NULL},
+{	0, "SEPR",					0, NULL},
+{	0, "Flip|W, 9", 				0, 		NULL},
+{  -1, "", 			0, do_view3d_edit_mesh_normalsmenu}};
+
+it reads and ananlyze the src line by line, 
+this is a quick and dirty method
+
+To custom your script, roll down till "if __name__=='__main__'"
+
+If anybody find a bug, or knows how to use re module to search and strip out  the strings, please let me know. Thanx.
+
+Copyright: iced oyster< http://blender.blogchina.com > 2005
+You can use this program freely, but CANNOT claim that you is the author.
+'''
+
+import os
+import glob
+import re
+import sys
+
+debug_po=0
+
+
+def split_blender_str(s):
+	idx_id=s
+	temp=[]
+
+	if '|' not in idx_id:
+		if (idx_id.endswith(':')==0 and len(idx_id.strip())>1) \
+			or (idx_id.endswith(':') and len(idx_id[:-1].strip())>1):
+			temp.append(s)
+	else:
+		idx_id=idx_id.split('|')
+		idx_id=filter(lambda e:e not in ('','""'),idx_id)
+		idx_id=filter(lambda e:(e.endswith(':')==0 and len(e.strip())>1) or \
+								(e.endswith(':') and len(e[:-1].strip())>1),idx_id)
+		for i in idx_id:
+			'''
+			from source\blender\src\buttons_editing.c
+			but=uiDefButS(block, MENU, REDRAWVIEW3D,
+				"Skinnable %x0|" "Unskinnable %x1|" "Head %x2|"
+				"Neck %x3|" "Back %x4|" "Shoulder %x5|" "Arm %x6|"
+				"Hand %x7|" "Finger %x8|" "Thumb %x9|" "Pelvis %x10|"
+				"Leg %x11|" "Foot %x12|" "Toe %x13|" "Tentacle %x14",
+				bx-10,by-19,117,18, &curBone->boneclass, 0.0, 0.0, 0.0, 0.0,
+				"Classification of armature element");
+			'''
+
+			temp.append(i)
+
+	for kbd in [ 'ctrl ', 'alt ', 		#'shift '
+				'shift+', 'ctrl+', 'alt+', \
+				'numpad',			#'emualte numpad'\
+				'leftarrow','rightarrow','uparrow','downarrow',\
+				'left arrow','right arrow','up arrow','down arrow',\
+				'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', 'f10', 'f11', 'f12',\
+				'pageup', 'page up', 'pgup', 'pg up',
+				'pagedown','page down', 'pgdn','pg dn',
+				]:
+		temp=filter(lambda e:e.lower().startswith(kbd)==0,temp)
+
+	shift_except=map(lambda e:'f%0i'%e, range(1,13))
+	shift_except+=['ctrl ', 'alt ',
+					'numpad',
+					'leftarrow','rightarrow','uparrow','downarrow',\
+					'left arrow','right arrow','up arrow','down arrow',\
+					'pageup', 'page up', 'pgup', 'pg up',
+					'pagedown','page down', 'pgdn','pg dn',
+				]
+	shift_except=map(lambda e:'shift '+e,shift_except)
+	for kbd in shift_except:
+		temp=filter(lambda e:e.lower().startswith(kbd)==0,temp)
+	temp=filter(lambda e:e.lower() not in ['tab','shift tab'],temp)
+	temp=filter(lambda e:e.lower().startswith('shift')==0 or\
+				(e.lower().startswith('shift') and len(e)>7) ,temp)
+
+	if temp:
+		temp=map(lambda e:e.split('%t')[0],temp)
+
+	#msgid "Add Sequence Strip%t|Images%x1|Movie%x102|Audio%x103|Scene%x101|Plugin%x10|Cross%x2|Gamma Cross%x3|Add%x4|Sub%x5|Mul%x6|Alpha Over%x7|Alpha Under%x8|Alpha Over Drop%x9|Wipe%x13|Glow%x14"
+	##"GiQuality %t|None %x0|Low %x1|Medium %x2 |High %x3|Higher %x4|Best %x5|Use Blender AO settings %x6"
+	if temp:
+		temp=map(lambda e:e.split('%x')[0],temp)
+
+	temp=filter(lambda e:e!='',temp)
+	return temp
+
+def genpo(files):
+	all_msgid=[]
+	for file in files:
+		current_msgid=[]
+
+		if os.path.isfile(file):
+			if os.path.splitext(file)[-1].upper() in ['.C', 'CPP']:	#.H, .HPP?
+
+				f_in=open(file)
+				line=f_in.readline()
+
+				while line:
+					if line!=None:
+						line=line.strip()
+
+						line=line.replace(',""',',NIL_NULL')
+						line=line.replace(', ""',',NIL_NULL')
+						line=line.replace(',\t""',',NIL_NULL')
+						line=line.replace('"",','NIL_NULL,')
+						line=line.replace('"" ,',',NIL_NULL ,')
+						line=line.replace('""\t,',',NIL_NULL\t,')
+						line=line.replace('," "',',NIL_NULL')
+						line=line.replace(', " "',',NIL_NULL')
+						line=line.replace(',\t" "',',NIL_NULL')
+						line=line.replace('" ",','NIL_NULL,')
+						line=line.replace('" " ,',',NIL_NULL ,')
+						line=line.replace('" "\t,',',NIL_NULL\t,')
+						line=line.replace(',"\t"',',NIL_NULL')
+						line=line.replace(', "\t"',',NIL_NULL')
+						line=line.replace(',\t"\t"',',NIL_NULL')
+						line=line.replace('"\t",','NIL_NULL,')
+						line=line.replace('"\t" ,',',NIL_NULL ,')
+						line=line.replace('"\t"\t,',',NIL_NULL\t,')
+
+						line=line.replace('""','')
+						line=line.replace('" "','')
+						line=line.replace('"\t"','')
+						line=line.replace('"\\"','')
+
+
+						line_temp=line
+						line_temp=line_temp.replace(r'\"',r"\'")
+						line_temp=re.split('([^,"]+|"[^"]*")',line_temp)
+						line_temp=map(lambda e:e.replace(r"\'",r'\"'), line_temp)
+
+						line_temp=map(lambda e:e.strip(),line_temp)
+						line_temp=filter(lambda e:e not in ['',',','"','\\n'],line_temp)
+
+						if line_temp and line_temp[0].startswith('#'):
+							line_temp=[]
+
+						for idx_id in line_temp:
+							if idx_id.startswith('"') and idx_id.endswith('"')  and idx_id!='""':
+								idx_id=idx_id[1:-1]
+								idx_id_split=split_blender_str(idx_id)
+
+								idx_id_split=filter(lambda e:'%' not in e,idx_id_split)
+
+								if len(idx_id_split)==1:
+									if debug_po:
+										current_msgid+=['msgid "'+idx_id_split[0]+'"\n'+'msgstr "blahblah"\n']
+										#all_msgid_dict[idx_id_split[0]]='blahblah'
+									else:
+										current_msgid+=['msgid "'+idx_id_split[0]+'"\n'+'msgstr ""\n']
+
+								elif len(idx_id_split)>1:
+									current_msgid+=['#'*59+'\n'+
+													'###  must break down the following line at "|"\n'+
+													'###  msgid "'+idx_id+'"\n'+
+													'###  msgstr ""\n'
+													]
+									for i in idx_id_split:
+										if debug_po:
+											current_msgid+=['msgid "'+i+'"\n'+'msgstr "blahblah"\n']
+											#all_msgid_dict[i]='blahblah'
+										else:
+											current_msgid+=['msgid "'+i+'"\n'+'msgstr ""\n']
+
+									current_msgid+=['###  breakdown ends\n'+
+													'#'*59+'\n'
+													]
+						line=f_in.readline()
+
+				if  current_msgid:
+					current_msgid=['#'*59+'\n'+'###  from file %s\n' % file+'#'*59+'\n']+current_msgid
+
+				if  current_msgid:
+					all_msgid+=current_msgid
+
+	#return all_msgid
+
+	for i in all_msgid:
+		print i
+
+if __name__=='__main__':
+	#path to your Blender src
+	blender_src_path=r'L:\blender src\source'
+
+	fnames=[
+			blender_src_path+r'\blender\src\toolbox.c',
+			blender_src_path+r'\blender\src\buttons_shading.c',
+			blender_src_path+r'\blender\python\api2_2x\Texture.c',
+			blender_src_path+r'\blender\src\editmesh_tools.c',
+			blender_src_path+r'\blender\src\headerbuttons.c',
+		]
+
+	#output file
+	fout=open('case.po','w')
+	sys.stdout=fout
+
+	genpo(fnames)
+
+	fout.close()
+	sys.stdout=sys.__stdout__
--- blender-2.45-1~bpo40.orig/debian/genpot/near_all_po.py
+++ blender-2.45-1~bpo40/debian/genpot/near_all_po.py
@@ -0,0 +1,231 @@
+'''
+Because Blender src does not put character strings in function "_", the GETTEXT application can not strip out the strings.
+
+This script writes almost all of the msgids into PO file in a clean structure. Thus we can translate it easily.
+
+
+To custom your script, roll down till "if __name__=='__main__'"
+
+Note, if a string is stored in a variant, no program knows and then write it's value to PO file. So we always have to search the unfound msgid manually.
+
+If anybody find a bug, or knows how to use re module to search and strip out  the strings, please let me know. Thanx.
+
+Copyright: iced oyster< http://blender.blogchina.com > 2005
+You can use this program freely, but CANNOT claim that you is the author.
+'''
+
+
+import os
+import glob
+import re
+import sys
+
+debug_po=0
+
+from func_dict import *
+
+'''
+func_dict={
+#'uiSetButLock': [1],
+#'uiDefIconButI':  [13],
+#'uiDefBlockBut':  [3,8],
+'uiDefIconButS':  [13],
+#'uiDefBut':[3,13],
+'uiDefButS':[3,13],
+#'uiDefButI':[3,13],
+#'uiDefButBitS':[4,14],
+'uiSetButLock':[1],
+}
+'''
+
+
+def split_blender_str(s):
+	idx_id=s
+	temp=[]
+
+	if '|' not in idx_id:
+		if (idx_id.endswith(':')==0 and len(idx_id.strip())>1) \
+			or (idx_id.endswith(':') and len(idx_id[:-1].strip())>1):
+			temp.append(s)
+	else:
+		idx_id=idx_id.split('|')
+		idx_id=filter(lambda e:e not in ('','""'),idx_id)
+		idx_id=filter(lambda e:(e.endswith(':')==0 and len(e.strip())>1) or \
+								(e.endswith(':') and len(e[:-1].strip())>1),idx_id)
+		for i in idx_id:
+			'''
+			from source\blender\src\buttons_editing.c
+			but=uiDefButS(block, MENU, REDRAWVIEW3D,
+				"Skinnable %x0|" "Unskinnable %x1|" "Head %x2|"
+				"Neck %x3|" "Back %x4|" "Shoulder %x5|" "Arm %x6|"
+				"Hand %x7|" "Finger %x8|" "Thumb %x9|" "Pelvis %x10|"
+				"Leg %x11|" "Foot %x12|" "Toe %x13|" "Tentacle %x14",
+				bx-10,by-19,117,18, &curBone->boneclass, 0.0, 0.0, 0.0, 0.0,
+				"Classification of armature element");
+			'''
+
+			temp.append(i)
+
+	for kbd in [ 'ctrl ', 'alt ', 		#'shift '
+				'shift+', 'ctrl+', 'alt+', \
+				'numpad',			#'emualte numpad'\
+				'leftarrow','rightarrow','uparrow','downarrow',\
+				'left arrow','right arrow','up arrow','down arrow',\
+				'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', 'f10', 'f11', 'f12',\
+				'pageup', 'page up', 'pgup', 'pg up',
+				'pagedown','page down', 'pgdn','pg dn',
+				]:
+		temp=filter(lambda e:e.lower().startswith(kbd)==0,temp)
+
+	shift_except=map(lambda e:'f%0i'%e, range(1,13))
+	shift_except+=['ctrl ', 'alt ',
+					'numpad',
+					'leftarrow','rightarrow','uparrow','downarrow',\
+					'left arrow','right arrow','up arrow','down arrow',\
+					'pageup', 'page up', 'pgup', 'pg up',
+					'pagedown','page down', 'pgdn','pg dn',
+				]					
+	shift_except=map(lambda e:'shift '+e,shift_except)
+	for kbd in shift_except:
+		temp=filter(lambda e:e.lower().startswith(kbd)==0,temp)
+	temp=filter(lambda e:e.lower() not in ['tab','shift tab'],temp)
+	temp=filter(lambda e:e.lower().startswith('shift')==0 or\
+				(e.lower().startswith('shift') and len(e)>7) ,temp)
+	
+	if temp:
+		temp=map(lambda e:e.split('%t')[0],temp)
+
+	#msgid "Add Sequence Strip%t|Images%x1|Movie%x102|Audio%x103|Scene%x101|Plugin%x10|Cross%x2|Gamma Cross%x3|Add%x4|Sub%x5|Mul%x6|Alpha Over%x7|Alpha Under%x8|Alpha Over Drop%x9|Wipe%x13|Glow%x14"
+	##"GiQuality %t|None %x0|Low %x1|Medium %x2 |High %x3|Higher %x4|Best %x5|Use Blender AO settings %x6"
+	if temp:
+		temp=map(lambda e:e.split('%x')[0],temp)
+
+	temp=filter(lambda e:e!='',temp)
+	return temp
+
+func_dict_key=func_dict.keys()
+
+def genpo(arg, dirname,fname):
+	files= [os.path.normpath(os.path.join(dirname, file)) for file in fname]
+	#files= ['butspace.c']
+	all_msgid=[]
+	for file in files:
+		current_msgid=[]
+
+		if os.path.isfile(file):
+			if os.path.splitext(file)[-1].upper() in ['.C', 'CPP']:	#.H, .HPP?
+
+				f_in=open(file)
+				line=f_in.readline()
+
+				while line:
+					if line!=None:
+						line=line.strip()
+
+						line_temp=' '
+
+						while line.endswith(';')!=1 and line_temp:
+							line_temp=f_in.readline()
+							if line_temp:
+								line_temp=line_temp.strip()
+								if line_temp.endswith('\\'):
+									line_temp=line_temp[:-1]
+								line+=line_temp
+
+						line=line.replace(',""',',NIL_NULL')
+						line=line.replace(', ""',',NIL_NULL')
+						line=line.replace(',\t""',',NIL_NULL')
+						line=line.replace('"",','NIL_NULL,')
+						line=line.replace('"" ,',',NIL_NULL ,')
+						line=line.replace('""\t,',',NIL_NULL\t,')
+						line=line.replace('," "',',NIL_NULL')
+						line=line.replace(', " "',',NIL_NULL')
+						line=line.replace(',\t" "',',NIL_NULL')
+						line=line.replace('" ",','NIL_NULL,')
+						line=line.replace('" " ,',',NIL_NULL ,')
+						line=line.replace('" "\t,',',NIL_NULL\t,')
+						line=line.replace(',"\t"',',NIL_NULL')
+						line=line.replace(', "\t"',',NIL_NULL')
+						line=line.replace(',\t"\t"',',NIL_NULL')
+						line=line.replace('"\t",','NIL_NULL,')
+						line=line.replace('"\t" ,',',NIL_NULL ,')
+						line=line.replace('"\t"\t,',',NIL_NULL\t,')
+
+						line=line.replace('""','')
+						line=line.replace('" "','')
+						line=line.replace('"\t"','')
+
+						for funcname in func_dict_key:
+							line_temp=line
+							found=re.search('%s[ \t]*\('%funcname,line_temp)
+							if found!=None:
+
+								line_temp=line_temp[found.start()+len(found.group()):-1]
+								line_temp=line_temp.strip()
+								line_temp=line_temp.replace(r'\"',r"\'")
+								line_temp=re.split('([^,"]+|"[^"]*")',line_temp)
+								line_temp=map(lambda e:e.replace(r"\'",r'\"'), line_temp)
+
+								line_temp=map(lambda e:e.strip(),line_temp)
+								line_temp=filter(lambda e:e not in ['',',','"','\\n'],line_temp)
+
+
+								for idx in func_dict[funcname]:
+									try:
+										idx_id=line_temp[idx]
+										if idx_id.startswith('"') and idx_id.endswith('"')  and idx_id!='""':
+											idx_id=idx_id[1:-1]
+											idx_id_split=split_blender_str(idx_id)
+											
+											idx_id_split=filter(lambda e:'%' not in e,idx_id_split)
+
+											if len(idx_id_split)==1:
+												if debug_po:
+													current_msgid+=['msgid "'+idx_id_split[0]+'"\n'+'msgstr "blahblah"\n']
+													#all_msgid_dict[idx_id_split[0]]='blahblah'
+												else:
+													current_msgid+=['msgid "'+idx_id_split[0]+'"\n'+'msgstr ""\n']
+
+											elif len(idx_id_split)>1:
+												current_msgid+=['#'*59+'\n'+
+															'###  must break down the following line at "|"\n'+
+															'###  msgid "'+idx_id+'"\n'+
+															'###  msgstr ""\n'
+															]
+												for i in idx_id_split:
+													if debug_po:
+														current_msgid+=['msgid "'+i+'"\n'+'msgstr "blahblah"\n']
+														#all_msgid_dict[i]='blahblah'
+													else:
+														current_msgid+=['msgid "'+i+'"\n'+'msgstr ""\n']
+												current_msgid+=['###  breakdown ends\n'+
+															'#'*59+'\n'
+															]
+									except:
+										pass
+
+						line=f_in.readline()
+
+				if  current_msgid:
+					current_msgid=['#'*59+'\n'+'###  from file %s\n' % file+'#'*59+'\n']+current_msgid
+
+				if  current_msgid:
+					all_msgid+=current_msgid
+
+	#return all_msgid
+
+	for i in all_msgid:
+		print i
+
+if __name__=='__main__':
+	#the fold of your Blender src
+	blender_src_path=r'.'
+	
+	#the output file
+	fout=open('almost_all.po','w')
+	sys.stdout=fout
+	
+	os.path.walk(blender_src_path,genpo,None)
+	
+	fout.close()
+	sys.stdout=sys.__stdout__
--- blender-2.45-1~bpo40.orig/debian/genpot/func_dict.py
+++ blender-2.45-1~bpo40/debian/genpot/func_dict.py
@@ -0,0 +1,245 @@
+#dict's key: the function name
+#dict's value: a list containts the position info, 
+#              which tells to strip out which argument( count it from 0!)
+#you may find most of the function declarations in source\blender\include\BIF_interface.h
+
+func_dict={
+#uiSetButLock(int val, char *lockstr);
+'uiSetButLock': [1],
+
+#uiNewBlock(struct ListBase *lb, char *name, short dt, short font, short win);
+#used for program internal?
+
+#uiGetBlock(char *name, struct ScrArea *sa);
+#used for program internal?
+
+#uiBlockPickerButtons(struct uiBlock *block, float *col, float *hsv, float *old, char mode, short retval);
+#have nothing to do with po?
+
+#uiDefBut(uiBlock *block, 
+#					   int type, int retval, char *str, 
+#					   short x1, short y1, 
+#					   short x2, short y2, 
+#					   void *poin, 
+#					   float min, float max, 
+#					   float a1, float a2,  char *tip);
+'uiDefBut':[3,13],
+
+#uiDefButF(uiBlock *block, int type, int retval, char *str, short x1, short y1, short x2, short y2, float *poin, float min, float max, float a1, float a2,  char *tip);
+'uiDefButF':[3,13],
+
+#uiDefButBitF(uiBlock *block, int type, int bit, int retval, char *str, short x1, short y1, short x2, short y2, float *poin, float min, float max, float a1, float a2,  char *tip);
+'uiDefButBitF':[4,14],
+
+#uiDefButI(uiBlock *block, int type, int retval, char *str, short x1, short y1, short x2, short y2, int *poin, float min, float max, float a1, float a2,  char *tip);
+'uiDefButI':[3,13],
+
+#uiDefButBitI(uiBlock *block, int type, int bit, int retval, char *str, short x1, short y1, short x2, short y2, int *poin, float min, float max, float a1, float a2,  char *tip);
+'uiDefButBitI':[4,14],
+
+#uiDefButS(uiBlock *block, int type, int retval, char *str, short x1, short y1, short x2, short y2, short *poin, float min, float max, float a1, float a2,  char *tip);
+'uiDefButS':[3,13],
+
+#uiDefButBitS(uiBlock *block, int type, int bit, int retval, char *str, short x1, short y1, short x2, short y2, short *poin, float min, float max, float a1, float a2,  char *tip);
+'uiDefButBitS':[4,14],
+
+#uiDefButC(uiBlock *block, int type, int retval, char *str, short x1, short y1, short x2, short y2, char *poin, float min, float max, float a1, float a2,  char *tip);
+'uiDefButC':[3,13],
+
+#uiDefButBitC(uiBlock *block, int type, int bit, int retval, char *str, short x1, short y1, short x2, short y2, char *poin, float min, float max, float a1, float a2,  char *tip);
+'uiDefButBitC':[4,14],
+
+
+#uiDefIconBut(uiBlock *block,
+#					   int type, int retval, int icon,
+#					   short x1, short y1,
+#					   short x2, short y2,
+#					   void *poin,
+#					   float min, float max,
+#					   float a1, float a2,  char *tip);
+'uiDefIconBut': [13],
+
+#uiDefIconButF(uiBlock *block, int type, int retval, int icon, short x1, short y1, short x2, short y2, float *poin, float min, float max, float a1, float a2,  char *tip);
+'uiDefIconButF':  [13],
+
+#uiDefIconButBitF(uiBlock *block, int type, int bit, int retval, int icon, short x1, short y1, short x2, short y2, float *poin, float min, float max, float a1, float a2,  char *tip);
+'uiDefIconButBitF':  [14],
+
+#uiDefIconButI(uiBlock *block, int type, int retval, int icon, short x1, short y1, short x2, short y2, int *poin, float min, float max, float a1, float a2,  char *tip);
+'uiDefIconButI':  [13],
+
+#uiDefIconButBitI(uiBlock *block, int type, int bit, int retval, int icon, short x1, short y1, short x2, short y2, int *poin, float min, float max, float a1, float a2,  char *tip);
+'uiDefIconButBitI':  [14],
+
+#uiDefIconButS(uiBlock *block, int type, int retval, int icon, short x1, short y1, short x2, short y2, short *poin, float min, float max, float a1, float a2,  char *tip);
+'uiDefIconButS':  [13],
+
+
+#uiDefIconButBitS(uiBlock *block, int type, int bit, int retval, int icon, short x1, short y1, short x2, short y2, short *poin, float min, float max, float a1, float a2,  char *tip);
+'uiDefIconButBitS':  [14],
+
+#uiDefIconButC(uiBlock *block, int type, int retval, int icon, short x1, short y1, short x2, short y2, char *poin, float min, float max, float a1, float a2,  char *tip);
+'uiDefIconButC':  [13],
+
+#uiDefIconButBitC(uiBlock *block, int type, int bit, int retval, int icon, short x1, short y1, short x2, short y2, char *poin, float min, float max, float a1, float a2,  char *tip);
+'uiDefIconButBitC':  [14],
+
+
+#uiDefIconTextBut(uiBlock *block, int type, int retval, int icon, char *str, short x1, short y1, short x2, short y2, void *poin, float min, float max, float a1, float a2,  char *tip);
+'uiDefIconTextBut':  [4,14],
+
+#uiDefIconTextButF(uiBlock *block, int type, int retval, int icon, char *str, short x1, short y1, short x2, short y2, float *poin, float min, float max, float a1, float a2,  char *tip);
+'uiDefIconTextButF':  [4,14],
+
+#uiDefIconTextButBitF(uiBlock *block, int type, int bit, int retval, int icon, char *str, short x1, short y1, short x2, short y2, float *poin, float min, float max, float a1, float a2,  char *tip);
+'uiDefIconTextButBitF':  [5,15],
+
+#uiDefIconTextButI(uiBlock *block, int type, int retval, int icon, char *str, short x1, short y1, short x2, short y2, int *poin, float min, float max, float a1, float a2,  char *tip);
+'uiDefIconTextButI':  [4,14],
+
+#uiDefIconTextButBitI(uiBlock *block, int type, int bit, int retval, int icon, char *str, short x1, short y1, short x2, short y2, int *poin, float min, float max, float a1, float a2,  char *tip);
+'uiDefIconTextButBitI':  [5,15],
+
+#uiDefIconTextButS(uiBlock *block, int type, int retval, int icon, char *str, short x1, short y1, short x2, short y2, short *poin, float min, float max, float a1, float a2,  char *tip);
+'uiDefIconTextButS':  [4,14],
+
+#uiDefIconTextButBitS(uiBlock *block, int type, int bit, int retval, int icon, char *str, short x1, short y1, short x2, short y2, short *poin, float min, float max, float a1, float a2,  char *tip);
+'uiDefIconTextButBitS':  [5,15],
+
+#uiDefIconTextButC(uiBlock *block, int type, int retval, int icon, char *str, short x1, short y1, short x2, short y2, char *poin, float min, float max, float a1, float a2,  char *tip);
+'uiDefIconTextButC':  [4,14],
+
+#uiDefIconTextButBitC(uiBlock *block, int type, int bit, int retval, int icon, char *str, short x1, short y1, short x2, short y2, char *poin, float min, float max, float a1, float a2,  char *tip);
+'uiDefIconTextButBitC':  [5,15],
+
+#typedef void		(*uiIDPoinFuncFP)	(char *str, struct ID **idpp);
+#shoud not to be.
+
+#uiDefIDPoinBut(struct uiBlock *block,
+#						uiIDPoinFuncFP func, int retval, char *str,
+#						short x1, short y1,
+#						short x2, short y2,
+#						void *idpp, char *tip);
+'uiDefIDPoinBut':  [3,9],
+
+#uiDefBlockBut(uiBlock *block, uiBlockFuncFP func, void *func_arg1, char *str, short x1, short y1, short x2, short y2, char *tip);
+'uiDefBlockBut':  [3,8],
+
+#uiDefPulldownBut(uiBlock *block, uiBlockFuncFP func, void *func_arg1, char *str, short x1, short y1, short x2, short y2, char *tip);
+'uiDefPulldownBut':  [3,8],
+
+#uiDefIconTextBlockBut(uiBlock *block, uiBlockFuncFP func, void *arg, int icon, char *str, short x1, short y1, short x2, short y2, char *tip);
+'uiDefIconTextBlockBut':  [4,9],
+
+#uiDefKeyevtButS(uiBlock *block, int retval, char *str, short x1, short y1, short x2, short y2, short *spoin, char *tip);
+'uiDefKeyevtButS':  [2,8],
+
+#pupmenu(char *instr);
+'pupmenu':  [0],
+
+#pupmenu_col(char *instr, int maxrow);
+'pupmenu_col':  [0],
+
+
+#uiNewPanelTabbed(char *, char *);
+'uiNewPanelTabbed':  [0,1],
+
+#uiNewPanel(struct ScrArea *sa, struct uiBlock *block, char *panelname, char *tabname, int ofsx, int ofsy, int sizex, int sizey);
+'uiNewPanel':[2,3],
+
+#uiFindOpenPanelBlockName(ListBase *lb, char *name);
+#not this one
+
+########################################
+##void BIF_undo_push(char *str)  from source\blender\src\space.c
+'BIF_undo_push':[0],
+##source\blender\src\space.c ends
+########################################
+
+
+########################################
+##from source\blender\src\toolbox.c
+##in fact, only the string to be showed on screen can be translated
+##all of these function can take the varible parameters
+##so this is only a quick and dirty solution
+##static int vconfirm(char *title, char *itemfmt, va_list ap)
+'vconfirm':[0],
+
+##static int confirm(char *title, char *itemfmt, ...)
+'confirm':[0],
+
+##int okee(char *str, ...)
+'okee':[0],
+
+##void notice(char *str, ...)
+'notice':[0],
+
+##void error(char *fmt, ...) 
+##read error_po.py for details
+
+##short button(short *var, short min, short max, char *str)
+'button':[3],
+
+##short sbutton(char *var, float min, float max, char *str)
+'sbutton':[3],
+
+##short fbutton(float *var, float min, float max, float a1, float a2, char *str)
+'fbutton':[5],
+
+##void draw_numbuts_tip(char *str, int x1, int y1, int x2, int y2)
+'draw_numbuts_tip':[0],
+
+##int do_clever_numbuts(char *name, int tot, int winevent)
+'do_clever_numbuts':[0],
+
+##void add_numbut(int nr, int type, char *str, float min, float max, void *poin, char *tip)
+'add_numbut':[2,6],
+
+
+##source\blender\src\toolbox.c ends
+########################################
+
+########################################
+##from source\blender\include\BSE_filesel.h
+
+##void activate_fileselect(int type, char *title, char *file, void (*func)(char *));
+'activate_fileselect':[1,2],
+
+##void activate_imageselect(int type, char *title, char *file, void (*func)(char *));
+'activate_imageselect':[1,2],
+
+##source\blender\include\BSE_filesel.h ends
+########################################
+
+#sprintf(naam, "header %d", curarea->headwin);
+#sprintf(tmpstr,formatstring,"Object",ID_OB, ICON_OBJECT);
+'sprintf':[0,1,2],
+
+##we can not translate the info on console?
+##2 methods in Blender, any more? it is not uniform!
+##
+##fprintf(stderr, "Unknown fileformat\n");
+#'fprintf':[1],
+##printf("Can't duplicate Nurb\n");
+#'printf':[0],
+
+########################################
+##source\blender\python\api2_2x\gen_utils.c
+
+##PyObject *EXPP_ReturnPyObjError( PyObject * type, char *error_msg );
+#'EXPP_ReturnPyObjError':[1],
+
+##int EXPP_ReturnIntError( PyObject * type, char *error_msg );
+#'EXPP_ReturnIntError':[1],
+
+##source\blender\python\api2_2x\gen_utils.c ends
+########################################
+
+########################################
+##source\blender\blenlib\BLI_dynstr.h
+##void	BLI_dynstr_append(DynStr *ds, char *cstr);
+'BLI_dynstr_append':[1],
+##source\blender\blenlib\BLI_dynstr.h ends
+########################################
+
+}
--- blender-2.45-1~bpo40.orig/debian/genpot/error_po.py
+++ blender-2.45-1~bpo40/debian/genpot/error_po.py
@@ -0,0 +1,213 @@
+'''
+in Blender, error("some string") yields "ERROR: "+"some string"
+
+To custom your script, roll down till "if __name__=='__main__'"
+
+If anybody find a bug, or knows how to use re module to search and strip out  the strings, please let me know. Thanx.
+
+Copyright: iced oyster< http://blender.blogchina.com > 2005
+You can use this program freely, but CANNOT claim that you is the author.
+'''
+import os
+import glob
+import re
+import sys
+
+debug_po=1
+
+func_dict={
+'error':[0],
+}
+
+
+def split_blender_str(s):
+	idx_id=s
+	temp=[]
+
+	if '|' not in idx_id:
+		if (idx_id.endswith(':')==0 and len(idx_id.strip())>1) \
+			or (idx_id.endswith(':') and len(idx_id[:-1].strip())>1):
+			temp.append(s)
+	else:
+		idx_id=idx_id.split('|')
+		idx_id=filter(lambda e:e not in ('','""'),idx_id)
+		idx_id=filter(lambda e:(e.endswith(':')==0 and len(e.strip())>1) or \
+								(e.endswith(':') and len(e[:-1].strip())>1),idx_id)
+		for i in idx_id:
+			'''
+			from source\blender\src\buttons_editing.c
+			but=uiDefButS(block, MENU, REDRAWVIEW3D,
+				"Skinnable %x0|" "Unskinnable %x1|" "Head %x2|"
+				"Neck %x3|" "Back %x4|" "Shoulder %x5|" "Arm %x6|"
+				"Hand %x7|" "Finger %x8|" "Thumb %x9|" "Pelvis %x10|"
+				"Leg %x11|" "Foot %x12|" "Toe %x13|" "Tentacle %x14",
+				bx-10,by-19,117,18, &curBone->boneclass, 0.0, 0.0, 0.0, 0.0,
+				"Classification of armature element");
+			'''
+
+			temp.append(i)
+
+	for kbd in [ 'ctrl ', 'alt ', 		#'shift '
+				'shift+', 'ctrl+', 'alt+', \
+				'numpad',			#'emualte numpad'\
+				'leftarrow','rightarrow','uparrow','downarrow',\
+				'left arrow','right arrow','up arrow','down arrow',\
+				'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', 'f10', 'f11', 'f12',\
+				'pageup', 'page up', 'pgup', 'pg up',
+				'pagedown','page down', 'pgdn','pg dn',
+				]:
+		temp=filter(lambda e:e.lower().startswith(kbd)==0,temp)
+
+	shift_except=map(lambda e:'f%0i'%e, range(1,13))
+	shift_except+=['ctrl ', 'alt ',
+					'numpad',
+					'leftarrow','rightarrow','uparrow','downarrow',\
+					'left arrow','right arrow','up arrow','down arrow',\
+					'pageup', 'page up', 'pgup', 'pg up',
+					'pagedown','page down', 'pgdn','pg dn',
+				]
+	shift_except=map(lambda e:'shift '+e,shift_except)
+	for kbd in shift_except:
+		temp=filter(lambda e:e.lower().startswith(kbd)==0,temp)
+	temp=filter(lambda e:e.lower() not in ['tab','shift tab'],temp)
+	temp=filter(lambda e:e.lower().startswith('shift')==0 or\
+				(e.lower().startswith('shift') and len(e)>7) ,temp)
+
+	if temp:
+		temp=map(lambda e:e.split('%t')[0],temp)
+
+	#msgid "Add Sequence Strip%t|Images%x1|Movie%x102|Audio%x103|Scene%x101|Plugin%x10|Cross%x2|Gamma Cross%x3|Add%x4|Sub%x5|Mul%x6|Alpha Over%x7|Alpha Under%x8|Alpha Over Drop%x9|Wipe%x13|Glow%x14"
+	##"GiQuality %t|None %x0|Low %x1|Medium %x2 |High %x3|Higher %x4|Best %x5|Use Blender AO settings %x6"
+	if temp:
+		temp=map(lambda e:e.split('%x')[0],temp)
+
+	temp=filter(lambda e:e!='',temp)
+	return temp
+
+func_dict_key=func_dict.keys()
+
+def genpo(arg, dirname,fname):
+	files= [os.path.normpath(os.path.join(dirname, file)) for file in fname]
+	all_msgid=[]
+	for file in files:
+		current_msgid=[]
+
+		if os.path.isfile(file):
+			if os.path.splitext(file)[-1].upper() in ['.C', 'CPP']:	#.H, .HPP?
+
+				f_in=open(file)
+				line=f_in.readline()
+
+				while line:
+					if line!=None:
+						line=line.strip()
+
+						line_temp=' '
+
+						while line.endswith(';')!=1 and line_temp:
+							line_temp=f_in.readline()
+							if line_temp:
+								line_temp=line_temp.strip()
+								if line_temp.endswith('\\'):
+									line_temp=line_temp[:-1]
+								line+=line_temp
+
+						line=line.replace(',""',',NIL_NULL')
+						line=line.replace(', ""',',NIL_NULL')
+						line=line.replace(',\t""',',NIL_NULL')
+						line=line.replace('"",','NIL_NULL,')
+						line=line.replace('"" ,',',NIL_NULL ,')
+						line=line.replace('""\t,',',NIL_NULL\t,')
+						line=line.replace('," "',',NIL_NULL')
+						line=line.replace(', " "',',NIL_NULL')
+						line=line.replace(',\t" "',',NIL_NULL')
+						line=line.replace('" ",','NIL_NULL,')
+						line=line.replace('" " ,',',NIL_NULL ,')
+						line=line.replace('" "\t,',',NIL_NULL\t,')
+						line=line.replace(',"\t"',',NIL_NULL')
+						line=line.replace(', "\t"',',NIL_NULL')
+						line=line.replace(',\t"\t"',',NIL_NULL')
+						line=line.replace('"\t",','NIL_NULL,')
+						line=line.replace('"\t" ,',',NIL_NULL ,')
+						line=line.replace('"\t"\t,',',NIL_NULL\t,')
+
+						line=line.replace('""','')
+						line=line.replace('" "','')
+						line=line.replace('"\t"','')
+
+						for funcname in func_dict_key:
+							line_temp=line
+							
+							found=re.search('%s[ \t]*\('%funcname,line_temp)
+							if found!=None:
+
+								line_temp=line_temp[found.start()+len(found.group()):-1]
+								line_temp=line_temp.strip()
+								line_temp=line_temp.replace(r'\"',r"\'")
+								line_temp=re.split('([^,"]+|"[^"]*")',line_temp)
+								line_temp=map(lambda e:e.replace(r"\'",r'\"'), line_temp)
+
+								line_temp=map(lambda e:e.strip(),line_temp)
+								line_temp=filter(lambda e:e not in ['',',','"','\\n'],line_temp)
+
+
+								for idx in func_dict[funcname]:
+									try:
+										idx_id=line_temp[idx]
+										if idx_id.startswith('"') and idx_id.endswith('"')  and idx_id!='""':
+											idx_id=idx_id[1:-1]
+											idx_id_split=split_blender_str(idx_id)
+
+											idx_id_split=filter(lambda e:'%' not in e,idx_id_split)
+
+											if len(idx_id_split)==1:
+												if debug_po:
+													current_msgid+=['msgid "ERROR: '+idx_id_split[0]+'"\n'+'msgstr "'+idx_id_split[0]+'"\n']
+													#all_msgid_dict[idx_id_split[0]]='blahblah'
+												else:
+													current_msgid+=['msgid "ERROR: '+idx_id_split[0]+'"\n'+'msgstr ""\n']
+
+											elif len(idx_id_split)>1:
+												current_msgid+=['#'*59+'\n'+
+															'###  must break down the following line at "|"\n'+
+															'###  msgid "'+idx_id+'"\n'+
+															'###  msgstr ""\n'
+															]
+												for i in idx_id_split:
+													if debug_po:
+														current_msgid+=['msgid "'+i+'"\n'+'msgstr "'+idx_id_split[0]+'"\n']
+														#all_msgid_dict[i]='blahblah'
+													else:
+														current_msgid+=['msgid "'+i+'"\n'+'msgstr ""\n']
+												current_msgid+=['###  breakdown ends\n'+
+															'#'*59+'\n'
+															]
+									except:
+										pass
+
+						line=f_in.readline()
+
+				if  current_msgid:
+					current_msgid=['#'*59+'\n'+'###  from file %s\n' % file+'#'*59+'\n']+current_msgid
+
+				if  current_msgid:
+					all_msgid+=current_msgid
+
+	#return all_msgid
+
+	for i in all_msgid:
+		print i
+
+if __name__=='__main__':
+	#path to your Blender src
+	blender_src_path=r'L:\blender src\source'
+
+	#output file
+	fout=open('error.po','w')
+	sys.stdout=fout
+
+	os.path.walk(blender_src_path,genpo,None)
+	#genpo(1,2,3)
+
+	fout.close()
+	sys.stdout=sys.__stdout__
--- blender-2.45-1~bpo40.orig/debian/genpot/strfunc_po.py
+++ blender-2.45-1~bpo40/debian/genpot/strfunc_po.py
@@ -0,0 +1,235 @@
+'''
+strip out arguments from function strcat and strcpy in specified src files
+
+Because clouds of strcat and strcpy are used, I do not put it in near_all_po.py
+
+To custom your script, roll down till "if __name__=='__main__'"
+
+Note, if a string is stored in a variant, no program knows and then write it's value to PO file. So we always have to search the unfound msgid manually.
+
+If anybody find a bug, or knows how to use re module to search and strip out  the strings, please let me know. Thanx.
+
+Copyright: iced oyster< http://blender.blogchina.com > 2005
+You can use this program freely, but CANNOT claim that you is the author.
+'''
+
+import os
+import glob
+import re
+import sys
+
+debug_po=0
+
+func_dict={
+'strcpy':[1],
+'strcat':[1],
+}
+
+
+def split_blender_str(s):
+	idx_id=s
+	temp=[]
+
+	if '|' not in idx_id:
+		if (idx_id.endswith(':')==0 and len(idx_id.strip())>1) \
+			or (idx_id.endswith(':') and len(idx_id[:-1].strip())>1):
+			temp.append(s)
+	else:
+		idx_id=idx_id.split('|')
+		idx_id=filter(lambda e:e not in ('','""'),idx_id)
+		idx_id=filter(lambda e:(e.endswith(':')==0 and len(e.strip())>1) or \
+								(e.endswith(':') and len(e[:-1].strip())>1),idx_id)
+		for i in idx_id:
+			'''
+			from source\blender\src\buttons_editing.c
+			but=uiDefButS(block, MENU, REDRAWVIEW3D,
+				"Skinnable %x0|" "Unskinnable %x1|" "Head %x2|"
+				"Neck %x3|" "Back %x4|" "Shoulder %x5|" "Arm %x6|"
+				"Hand %x7|" "Finger %x8|" "Thumb %x9|" "Pelvis %x10|"
+				"Leg %x11|" "Foot %x12|" "Toe %x13|" "Tentacle %x14",
+				bx-10,by-19,117,18, &curBone->boneclass, 0.0, 0.0, 0.0, 0.0,
+				"Classification of armature element");
+			'''
+
+			temp.append(i)
+
+	for kbd in [ 'ctrl ', 'alt ', 		#'shift '
+				'shift+', 'ctrl+', 'alt+', \
+				'numpad',			#'emualte numpad'\
+				'leftarrow','rightarrow','uparrow','downarrow',\
+				'left arrow','right arrow','up arrow','down arrow',\
+				'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', 'f10', 'f11', 'f12',\
+				'pageup', 'page up', 'pgup', 'pg up',
+				'pagedown','page down', 'pgdn','pg dn',
+				]:
+		temp=filter(lambda e:e.lower().startswith(kbd)==0,temp)
+
+	shift_except=map(lambda e:'f%0i'%e, range(1,13))
+	shift_except+=['ctrl ', 'alt ',
+					'numpad',
+					'leftarrow','rightarrow','uparrow','downarrow',\
+					'left arrow','right arrow','up arrow','down arrow',\
+					'pageup', 'page up', 'pgup', 'pg up',
+					'pagedown','page down', 'pgdn','pg dn',
+				]
+	shift_except=map(lambda e:'shift '+e,shift_except)
+	for kbd in shift_except:
+		temp=filter(lambda e:e.lower().startswith(kbd)==0,temp)
+	temp=filter(lambda e:e.lower() not in ['tab','shift tab'],temp)
+	temp=filter(lambda e:e.lower().startswith('shift')==0 or\
+				(e.lower().startswith('shift') and len(e)>7) ,temp)
+
+	if temp:
+		temp=map(lambda e:e.split('%t')[0],temp)
+
+	#msgid "Add Sequence Strip%t|Images%x1|Movie%x102|Audio%x103|Scene%x101|Plugin%x10|Cross%x2|Gamma Cross%x3|Add%x4|Sub%x5|Mul%x6|Alpha Over%x7|Alpha Under%x8|Alpha Over Drop%x9|Wipe%x13|Glow%x14"
+	##"GiQuality %t|None %x0|Low %x1|Medium %x2 |High %x3|Higher %x4|Best %x5|Use Blender AO settings %x6"
+	if temp:
+		temp=map(lambda e:e.split('%x')[0],temp)
+
+	temp=filter(lambda e:e!='',temp)
+	return temp
+
+func_dict_key=func_dict.keys()
+
+def genpo(files):
+	all_msgid=[]
+	for file in files:
+		current_msgid=[]
+
+		if os.path.isfile(file):
+			if os.path.splitext(file)[-1].upper() in ['.C', 'CPP']:	#.H, .HPP?
+
+				f_in=open(file)
+				line=f_in.readline()
+
+				while line:
+					if line!=None:
+						line=line.strip()
+
+						line_temp=' '
+
+						while line.endswith(';')!=1 and line_temp:
+							line_temp=f_in.readline()
+							if line_temp:
+								line_temp=line_temp.strip()
+								if line_temp.endswith('\\'):
+									line_temp=line_temp[:-1]
+								line+=line_temp
+
+						line=line.replace(',""',',NIL_NULL')
+						line=line.replace(', ""',',NIL_NULL')
+						line=line.replace(',\t""',',NIL_NULL')
+						line=line.replace('"",','NIL_NULL,')
+						line=line.replace('"" ,',',NIL_NULL ,')
+						line=line.replace('""\t,',',NIL_NULL\t,')
+						line=line.replace('," "',',NIL_NULL')
+						line=line.replace(', " "',',NIL_NULL')
+						line=line.replace(',\t" "',',NIL_NULL')
+						line=line.replace('" ",','NIL_NULL,')
+						line=line.replace('" " ,',',NIL_NULL ,')
+						line=line.replace('" "\t,',',NIL_NULL\t,')
+						line=line.replace(',"\t"',',NIL_NULL')
+						line=line.replace(', "\t"',',NIL_NULL')
+						line=line.replace(',\t"\t"',',NIL_NULL')
+						line=line.replace('"\t",','NIL_NULL,')
+						line=line.replace('"\t" ,',',NIL_NULL ,')
+						line=line.replace('"\t"\t,',',NIL_NULL\t,')
+
+						line=line.replace('""','')
+						line=line.replace('" "','')
+						line=line.replace('"\t"','')
+
+						for funcname in func_dict_key:
+							line_temp=line
+							found=re.search('%s[ \t]*\('%funcname,line_temp)
+							if found!=None:
+
+								line_temp=line_temp[found.start()+len(found.group()):-1]
+								line_temp=line_temp.strip()
+								line_temp=line_temp.replace(r'\"',r"\'")
+								line_temp=re.split('([^,"]+|"[^"]*")',line_temp)
+								line_temp=map(lambda e:e.replace(r"\'",r'\"'), line_temp)
+
+								line_temp=map(lambda e:e.strip(),line_temp)
+								line_temp=filter(lambda e:e not in ['',',','"','\\n'],line_temp)
+
+
+								for idx in func_dict[funcname]:
+									try:
+										idx_id=line_temp[idx]
+										if idx_id.startswith('"') and idx_id.endswith('"')  and idx_id!='""':
+											idx_id=idx_id[1:-1]
+											idx_id_split=split_blender_str(idx_id)
+
+											idx_id_split=filter(lambda e:'%' not in e,idx_id_split)
+
+											if len(idx_id_split)==1:
+												if debug_po:
+													current_msgid+=['msgid "'+idx_id_split[0]+'"\n'+'msgstr "blahblah"\n']
+													#all_msgid_dict[idx_id_split[0]]='blahblah'
+												else:
+													current_msgid+=['msgid "'+idx_id_split[0]+'"\n'+'msgstr ""\n']
+
+											elif len(idx_id_split)>1:
+												current_msgid+=['#'*59+'\n'+
+															'###  must break down the following line at "|"\n'+
+															'###  msgid "'+idx_id+'"\n'+
+															'###  msgstr ""\n'
+															]
+												for i in idx_id_split:
+													if debug_po:
+														current_msgid+=['msgid "'+i+'"\n'+'msgstr "blahblah"\n']
+														#all_msgid_dict[i]='blahblah'
+													else:
+														current_msgid+=['msgid "'+i+'"\n'+'msgstr ""\n']
+												current_msgid+=['###  breakdown ends\n'+
+															'#'*59+'\n'
+															]
+									except:
+										pass
+
+						line=f_in.readline()
+
+				if  current_msgid:
+					current_msgid=['#'*59+'\n'+'###  from file %s\n' % file+'#'*59+'\n']+current_msgid
+
+				if  current_msgid:
+					all_msgid+=current_msgid
+
+	#return all_msgid
+
+	for i in all_msgid:
+		print i
+
+if __name__=='__main__':
+	#the fold of your Blender src
+	blender_src_path=r'L:\blender src\source'
+
+	
+	#
+	#Q: How to know which src file should be place here?
+	#A: 1.run near_all_po.py, replace msgstr "" with msgstr "blahblah"
+	#   2.launch Blender, and use your new mo file
+	#   3.if you find anything else other than "blahblah", write it down
+	#   4.search it in Blender src
+	#   5.if you find it in function strcat or strcpy, 
+	#     write the name of the C/CPP file here.
+	#
+	#   generally, if you find one untranslated msgid, 
+	#   you can find more in the same C/CPP file.
+	fnames=glob.glob(blender_src_path+r'\blender\src\header*.c')
+	fnames+=glob.glob(blender_src_path+r'\blender\src\button*.c')
+	fnames+=[
+			blender_src_path+r'\blender\src\space.c',
+			blender_src_path+r'blender\src\toolbox.c',
+		]
+	
+	#the output file
+	fout=open('spec.po','w')
+	sys.stdout=fout
+
+	genpo(fnames)
+	
+	fout.close()
+	sys.stdout=sys.__stdout__
--- blender-2.45-1~bpo40.orig/debian/copyright
+++ blender-2.45-1~bpo40/debian/copyright
@@ -0,0 +1,65 @@
+This package was debianized by Masayuki Hatta (mhatta) <mhatta@debian.org> on
+Mon,  3 May 2004 15:16:26 +0900.
+
+It was downloaded from http://download.blender.org/source/
+
+Upstream Authors: Blender Foundation
+
+Copyright:
+
+Basically, Blender is now GPL'd:
+
+  Copyright (C) 2002-2005 Blender Foundation.
+  
+  Blender is free software; you can redistribute it and/or modify it
+  under the terms of the GNU General Public License as published by
+  the Free Software Foundation; either version 2, or (at your option)
+  any later version.
+	    
+  Blender is distributed in the hope that it will be useful, but WITHOUT
+  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+  or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+  License for more details.
+		                    
+On Debian GNU/Linux systems, the complete text of the GNU General
+Public License can be found in /usr/share/common-licenses/GPL'.
+
+
+However, the following license is offered as an alternative:
+
+  Blender License (the "BL", see http://www.blender.org/BL/ ).
+  
+  Copyright (C) 2002-2005 Blender Foundation. All Rights Reserved.
+  
+  This text supersedes the previous BL description, called Blender License 1.0.
+  
+  When the Blender source code was released in 2002, the Blender Foundation reserved 
+  the right to offer licenses outside of the GNU GPL. This so-called "dual license" 
+  model was chosen to provide potential revenues for the Blender Foundation. 
+  
+  The BL has not been activated yet. Partially because;
+  
+  - there has to be a clear benefit for Blender itself and its community of 
+    developers and users.
+  - the developers who have copyrighted additions to the source code need to approve 
+    the decision.
+  - the (c) holder NaN Holding has to approve on a standard License Contract
+  
+  But most important; 
+  
+  - the Blender Foundation is financially healthy, based on community support
+    (e-shop sales), sponsoring and subsidy grants
+  - current focus for the Blender Foundation is to not set up any commercial
+    activity related to Blender development.
+  - the GNU GPL provides sufficient freedom for third parties to conduct business
+    with Blender
+  
+  For these reasons we've decided to cancel the BL offering for an indefinite period.
+  
+  Third parties interested to discuss usage or exploitation of Blender can email 
+  license@blender.org for further information.
+  
+  Ton Roosendaal
+  Chairman Blender Foundation.
+  June 2005
+
--- blender-2.45-1~bpo40.orig/debian/README.Alioth-CVS
+++ blender-2.45-1~bpo40/debian/README.Alioth-CVS
@@ -0,0 +1,13 @@
+blender (2.40-1) unstable; urgency=low
+
+ As of this version blender maintenance takes place on Alioth,
+ http://alioth.debian.org/scm/?group_id=30852 details how to get at the
+ cvs repository for pkg-blender, which is basically:
+
+  cvs -d:pserver:anonymous@cvs.alioth.debian.org:/cvsroot/pkg-blender login
+  cvs -z3 -d:pserver:anonymous@cvs.alioth.debian.org:/cvsroot/pkg-blender co blender
+
+ The "blender" module contains a "debian/" subdir, which should be all you
+ need (plus an upstream tarball) to build a blender package.
+
+ -- Florian Ernst <florian@debian.org>  Mon,  9 Jan 2006 10:11:34 +0100
--- blender-2.45-1~bpo40.orig/debian/README.Debian
+++ blender-2.45-1~bpo40/debian/README.Debian
@@ -0,0 +1,52 @@
+blender (2.44-1) unstable; urgency=low
+
+  * As of this version blender is 64 bits safe again.
+
+ -- Florian Ernst <florian@debian.org>  Thu, 17 May 2007 11:47:23 +0200
+
+blender (2.42a-6) unstable; urgency=high
+
+  * As of 2.43, one needs to use a ``YESIAMSTUPID'' macro in
+    source/creator/creator.c to be able to compile Blender on a 64-bit system.
+    This matter has not been advertised, but it mainly resides in the fact
+    that Blender is not 64-bit safe, in particular with respect to saved and
+    loaded files, especially when that happens between 32-bit and 64-bit
+    systems. Attention was paid to 64-bit systems, efforts were made, but not
+    enough to get a releasable version on those systems.
+
+  * So, be aware that there might be issues with files manipulated on 64-bit
+    systems, although everything could be or look fine. The file format might
+    also change in further releases to make it 64-bit safe, which might lead
+    to incompatibilities with the files saved with the current 64-bit builds.
+
+  * After the 2.43 release, the lead developer also promised (on Freenode, on
+    the #blendercoders chan):
+      ``We won't do another release without 64 bits blender!''
+    This problem is a priority, and it will be addressed in CVS as soon as
+    possible, possibly for 2.44.
+
+  * Interested readers might want to refer to the following thread on
+    upstream's bf-committers list:
+      http://projects.blender.org/pipermail/bf-committers/2007-January/017258.html
+
+ -- Cyril Brulebois <cyril.brulebois@enst-bretagne.fr>  Mon, 14 Mar 2007 11:46:00 +0100
+
+blender (2.40-1) unstable; urgency=low
+
+  * As blender is generally trying to get the most out of your graphics
+    hardware it might trigger bugs in the corresponding drivers without
+    actually being responsible for any malfunctioning.  If you experience
+    strange crashes please always try checking your setup first as outlined in
+      http://dri.freedesktop.org/wiki/TestingAndDebugging
+
+    as well as the Debian bugreport
+      http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=273651
+
+    I.e., try running blender via "LIBGL_ALWAYS_INDIRECT=1 blender" and see
+    whether this will resolve the problem for you.
+
+  * Furthermore, please note that starting with the 2.40-1 release blender
+    will quit writing its autosave files to /tmp but it will use
+    $HOME/.blender/ instead by default.
+ 
+ -- Florian Ernst <florian@debian.org>  Tue, 10 Jan 2006 13:26:43 +0100
--- blender-2.45-1~bpo40.orig/debian/TODO
+++ blender-2.45-1~bpo40/debian/TODO
@@ -0,0 +1,15 @@
+Some items to work on:
+ * Adjust the manpage, if needed.
+ * Maybe add nvidia-glx-legacy as Build-Conflicts. Bartosz Feński has
+   been mailed to get more info about the nvidia-glx problem. (Is there
+   a less intrusive way to get the appropriate symbols without
+   conflicting?)
+ * Add explanations about what to do when X crashes, and point to
+   HowToGetAnXBacktrace on wiki.debian.org once this part is updated to
+   Xorg.
+
+More items have been mentioned on the list, see the thread beginning at:
+  http://lists.alioth.debian.org/pipermail/pkg-blender-maintainers/2007-April/000229.html
+
+ -- Cyril Brulebois <cyril.brulebois@enst-bretagne.fr>  Fri, 13 Apr 2007 23:17:41 +0200
+
--- blender-2.45-1~bpo40.orig/debian/compat
+++ blender-2.45-1~bpo40/debian/compat
@@ -0,0 +1 @@
+5
--- blender-2.45-1~bpo40.orig/debian/docs
+++ blender-2.45-1~bpo40/debian/docs
@@ -0,0 +1,3 @@
+README
+release/text/release_*.txt
+debian/README.Alioth-CVS
--- blender-2.45-1~bpo40.orig/debian/pycompat
+++ blender-2.45-1~bpo40/debian/pycompat
@@ -0,0 +1 @@
+2
--- blender-2.45-1~bpo40.orig/debian/source.lintian-overrides
+++ blender-2.45-1~bpo40/debian/source.lintian-overrides
@@ -0,0 +1,54 @@
+# Homepage: is being accepted and implemented
+
+blender source: unknown-field-in-dsc homepage
+
+
+# svn export...
+
+blender source: source-contains-svn-control-dir bin/.blender/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/nl/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/nl/LC_MESSAGES/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/sv/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/sv/LC_MESSAGES/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/ru/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/ru/LC_MESSAGES/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/bg/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/bg/LC_MESSAGES/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/ca/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/ca/LC_MESSAGES/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/it/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/it/LC_MESSAGES/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/fi/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/fi/LC_MESSAGES/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/pl/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/pl/LC_MESSAGES/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/sr/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/sr/LC_MESSAGES/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/ja/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/ja/LC_MESSAGES/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/zh_cn/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/zh_cn/LC_MESSAGES/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/cs/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/cs/LC_MESSAGES/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/ro/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/ro/LC_MESSAGES/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/hr_HR/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/hr_HR/LC_MESSAGES/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/es/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/es/LC_MESSAGES/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/pt_br/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/pt_br/LC_MESSAGES/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/hr/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/hr/LC_MESSAGES/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/fr/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/fr/LC_MESSAGES/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/uk/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/uk/LC_MESSAGES/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/ar/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/ar/LC_MESSAGES/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/sr@Latn/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/sr@Latn/LC_MESSAGES/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/de/.svn
+blender source: source-contains-svn-control-dir bin/.blender/locale/de/LC_MESSAGES/.svn
+
--- blender-2.45-1~bpo40.orig/debian/patches/20_gcc4.3_support.dpatch
+++ blender-2.45-1~bpo40/debian/patches/20_gcc4.3_support.dpatch
@@ -0,0 +1,120 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_gcc4.3_support.dpatch by Cyril Brulebois <cyril.brulebois@enst-bretagne.fr>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Add support for GCC 4.3, see bug #417491
+
+@DPATCH@
+
+--- a/intern/elbeem/intern/simulation_object.cpp
++++ b/intern/elbeem/intern/simulation_object.cpp
+@@ -15,6 +15,7 @@
+ #include "solver_interface.h"
+ #include "particletracer.h"
+ #include "elbeem.h"
++#include <cstdlib>
+ 
+ #ifdef _WIN32
+ #else
+--- a/intern/elbeem/intern/solver_interface.cpp
++++ b/intern/elbeem/intern/solver_interface.cpp
+@@ -16,6 +16,7 @@
+ #include "ntl_ray.h"
+ #include "ntl_world.h"
+ #include "elbeem.h"
++#include <cstdlib>
+ 
+ 
+ 
+--- a/intern/elbeem/intern/solver_main.cpp
++++ b/intern/elbeem/intern/solver_main.cpp
+@@ -11,6 +11,7 @@
+ #include "solver_relax.h"
+ #include "particletracer.h"
+ #include "loop_tools.h"
++#include <cstdlib>
+ 
+ /*****************************************************************************/
+ /*! perform a single LBM step */
+--- a/intern/elbeem/intern/solver_util.cpp
++++ b/intern/elbeem/intern/solver_util.cpp
+@@ -10,6 +10,7 @@
+ #include "solver_class.h"
+ #include "solver_relax.h"
+ #include "particletracer.h"
++#include <cstdlib>
+ 
+ // MPT
+ #include "ntl_world.h"
+--- a/intern/elbeem/intern/utilities.cpp
++++ b/intern/elbeem/intern/utilities.cpp
+@@ -8,6 +8,7 @@
+  *****************************************************************************/
+ 
+ 
++#include <cstdlib>
+ #include <iostream>
+ #include <sstream>
+ #ifdef WIN32
+--- a/intern/ghost/intern/GHOST_WindowX11.cpp
++++ b/intern/ghost/intern/GHOST_WindowX11.cpp
+@@ -37,6 +37,7 @@
+ // For standard X11 cursors
+ #include <X11/cursorfont.h>
+ #include <X11/Xatom.h>
++#include <cstdio>
+ 
+ // For obscure full screen mode stuuf
+ // lifted verbatim from blut.
+--- a/source/blender/yafray/intern/export_File.cpp
++++ b/source/blender/yafray/intern/export_File.cpp
+@@ -1,6 +1,7 @@
+ #include "export_File.h"
+ 
+ #include <math.h>
++#include <cstring>
+ 
+ using namespace std;
+ 
+--- a/source/blender/yafray/intern/export_Plugin.cpp
++++ b/source/blender/yafray/intern/export_Plugin.cpp
+@@ -1,6 +1,7 @@
+ #include "export_Plugin.h"
+ 
+ #include <math.h>
++#include <cstring>
+ using namespace std;
+ 
+ 
+--- a/source/blender/yafray/intern/yafray_Render.cpp
++++ b/source/blender/yafray/intern/yafray_Render.cpp
+@@ -7,6 +7,7 @@
+ #include "yafray_Render.h"
+ 
+ #include <math.h>
++#include <cstring>
+ 
+ using namespace std;
+ 
+--- a/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
++++ b/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
+@@ -663,4 +663,5 @@ extern "C" void StartKetsjiShellSimulation(struct ScrArea *area,
+ 
+ 	} while (exitrequested == KX_EXIT_REQUEST_RESTART_GAME || exitrequested == KX_EXIT_REQUEST_START_OTHER_GAME);
+ 	if (bfd) BLO_blendfiledata_free(bfd);
+-}
+\ No newline at end of file
++}
++
+--- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/glext.h
++++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/glext.h
+@@ -54,7 +54,9 @@ extern "C" {
+ /* Header file version number, required by OpenGL ABI for Linux */
+ /* glext.h last updated 2005/06/20 */
+ /* Current version at http://oss.sgi.com/projects/ogl-sample/registry/ */
++#ifndef GL_GLEXT_VERSION
+ #define GL_GLEXT_VERSION 29
++#endif
+ 
+ #ifndef GL_VERSION_1_2
+ #define GL_UNSIGNED_BYTE_3_3_2            0x8032
--- blender-2.45-1~bpo40.orig/debian/patches/00list
+++ blender-2.45-1~bpo40/debian/patches/00list
@@ -0,0 +1,4 @@
+02_tmp_in_HOME
+04_de_po_fix
+10_gnukfreebsd_support
+#20_gcc4.3_support
--- blender-2.45-1~bpo40.orig/debian/patches/04_de_po_fix.dpatch
+++ blender-2.45-1~bpo40/debian/patches/04_de_po_fix.dpatch
@@ -0,0 +1,174 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 04_de_po_fix.dpatch by Florian Ernst <florian@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: A little fix for de.po by Jens Seidel (bug#313676), extended by me
+
+@DPATCH@
+diff -urNad blender-2.40~/po/de.po blender-2.40/po/de.po
+--- blender-2.40~/po/de.po	2003-05-14 17:04:27.000000000 +0200
++++ blender-2.40/po/de.po	2006-01-09 12:40:43.000000000 +0100
+@@ -8,13 +8,13 @@
+ ###
+ ###########################################################
+ msgid "Start the rendering"
+-msgstr "Starte das rendern"
++msgstr "Starte das Rendern"
+ msgid "Display edge settings"
+-msgstr "Zeige Kanten Eintellungen"
++msgstr "Zeige Kanten-Einstellungen"
+ msgid "Enable shadow calculation"
+ msgstr "Rendere mit Schatten"
+ msgid "Start rendering a sequence"
+-msgstr "Starte das rendern einer Sequenz"
++msgstr "Starte das Rendern einer Sequenz"
+ 
+ 
+ ###########################################################
+@@ -49,7 +49,7 @@
+ ###
+ ###########################################################
+ msgid "QUIT BLENDER"
+-msgstr "STOP BLENDER !"
++msgstr "STOP BLENDER"
+ msgid "Not allowed"
+ msgstr "Nicht erlaubt"
+ msgid "ERASE ALL"
+@@ -102,9 +102,9 @@
+ msgid "&gt;Cube"
+ msgstr "&gt;Würfel"
+ msgid "&gt;UVsphere"
+-msgstr "&gt;UV Kugel"
++msgstr "&gt;UV-Kugel"
+ msgid "&gt;Icosphere"
+-msgstr "&gt;Ico Kugel"
++msgstr "&gt;Ico-Kugel"
+ msgid "&gt;Cylinder"
+ msgstr "&gt;Zylinder"
+ msgid "&gt;Tube"
+@@ -123,13 +123,13 @@
+ ###
+ ###########################################################
+ msgid "&gt;Bezier Curve"
+-msgstr "&gt;Bezier Kurve"
++msgstr "&gt;Bezier-Kurve"
+ msgid "&gt;Bezier Circle"
+-msgstr "&gt;Bezier Kreis"
++msgstr "&gt;Bezier-Kreis"
+ msgid "&gt;Nurbs Curve"
+-msgstr "&gt;Nurbs Kurve"
++msgstr "&gt;Nurbs-Kurve"
+ msgid "&gt;Nurbs Circle"
+-msgstr "&gt;Nurbs Kreis"
++msgstr "&gt;Nurbs-Kreis"
+ msgid "&gt;Path"
+ msgstr "&gt;Pfad"
+ 
+@@ -179,7 +179,7 @@
+ msgid "Save VideoScape"
+ msgstr "Speichere VideoScape"
+ msgid "Save UserPrefs"
+-msgstr "Speichere Benutzer Einstellungen"
++msgstr "Speichere Benutzereinstellungen"
+ msgid "Quit"
+ msgstr "Beenden"
+ 
+@@ -202,7 +202,7 @@
+ msgid "Delete"
+ msgstr "Lösche"
+ msgid "Edit Mode"
+-msgstr "Bearbeitungs Modus"
++msgstr "Bearbeitungsmodus"
+ msgid "Grabber"
+ msgstr "Grabber"
+ msgid "Rotate"
+@@ -241,11 +241,11 @@
+ msgid "Clear Track"
+ msgstr "Lösche Spur"
+ msgid "Image Displist"
+-msgstr "Bild Displiste"
++msgstr "Bild-Displiste"
+ msgid "Image Aspect"
+-msgstr "Bild Aspekt"
++msgstr "Bild-Aspekt"
+ msgid "Vect Paint"
+-msgstr "Vektor Zeichnen"
++msgstr "Vektorzeichnen"
+ 
+ 
+ ###########################################################
+@@ -260,7 +260,7 @@
+ msgid "Apply Size/Rot"
+ msgstr "Wende Größe/Drehung an"
+ msgid "Apply Deform"
+-msgstr "Wende deformation an"
++msgstr "Wende Deformation an"
+ msgid "Join"
+ msgstr "Verbinde"
+ #msgid "Make Local"
+@@ -274,7 +274,7 @@
+ #msgid "Convert Menu"
+ #msgstr "Menü Konvertieren"
+ msgid "Boolean Op"
+-msgstr "Boolsche Operation"
++msgstr "Boole'sche Operation"
+ 
+ 
+ ###########################################################
+@@ -354,7 +354,7 @@
+ msgid "Set Border"
+ msgstr "Setze Rand"
+ msgid "Image Zoom"
+-msgstr "Bild Zoom"
++msgstr "Bild-Zoom"
+ 
+ 
+ ###########################################################
+@@ -431,9 +431,9 @@
+ msgid "Circle"
+ msgstr "Kreis"
+ msgid "UVsphere"
+-msgstr "UV Kugel"
++msgstr "UV-Kugel"
+ msgid "IcoSphere"
+-msgstr "Ico Kugel"
++msgstr "Ico-Kugel"
+ msgid "Cylinder"
+ msgstr "Zylinder"
+ msgid "Tube"
+@@ -450,13 +450,13 @@
+ ###
+ ###########################################################
+ msgid "Bezier Curve"
+-msgstr "Bezier Kurve"
++msgstr "Bezier-Kurve"
+ msgid "Bezier Circle"
+-msgstr "Bezier Kreis"
++msgstr "Bezier-Kreis"
+ msgid "NURBS Curve"
+-msgstr "NURBS Kurve"
++msgstr "NURBS-Kurve"
+ msgid "NURBS Circle"
+-msgstr "NURBS Kreis"
++msgstr "NURBS-Kreis"
+ msgid "Path"
+ msgstr "Pfad"
+ 
+@@ -467,13 +467,13 @@
+ ###
+ ###########################################################
+ msgid "NURBS Suface"
+-msgstr "NURBS Oberfläche"
++msgstr "NURBS-Oberfläche"
+ msgid "NURBS Tube"
+-msgstr "NURBS Rohr"
++msgstr "NURBS-Rohr"
+ msgid "NURBS Sphere"
+-msgstr "NURBS Kugel"
++msgstr "NURBS-Kugel"
+ msgid "NURBS Donut"
+-msgstr "NURBS Donut"
++msgstr "NURBS-Donut"
+ 
+ 
+ ###########################################################
--- blender-2.45-1~bpo40.orig/debian/patches/02_tmp_in_HOME.dpatch
+++ blender-2.45-1~bpo40/debian/patches/02_tmp_in_HOME.dpatch
@@ -0,0 +1,26 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 02_tmp_in_HOME.dpatch by Florian Ernst <florian@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Create all temporaray user data (such as e.g. autosave files) in
+## DP: $HOME/.blender, this will prevent various symlink attacks, see bug#298167
+
+@DPATCH@
+diff -urNad blender-2.40~/source/blender/src/usiblender.c blender-2.40/source/blender/src/usiblender.c
+--- blender-2.40~/source/blender/src/usiblender.c	2005-11-23 17:33:19.000000000 +0100
++++ blender-2.40/source/blender/src/usiblender.c	2006-01-12 11:13:07.000000000 +0100
+@@ -150,10 +150,12 @@
+ 		U.tb_rightmouse= 5;
+ 	}
+ 	if(U.mixbufsize==0) U.mixbufsize= 2048;
+-	if (BLI_streq(U.tempdir, "/")) {
++	if (BLI_streq(U.tempdir, "/") || BLI_streq(U.tempdir, "/tmp/")) {
+ 		char *tmp= getenv("TEMP");
++		char *home= getenv("HOME");
+ 		
+-		strcpy(U.tempdir, tmp?tmp:"/tmp/");
++		strcpy(U.tempdir, tmp?tmp:home);
++		if (!tmp) strcat(U.tempdir, "/.blender");
+ 	}
+ 	if (U.savetime <= 0) {
+ 		U.savetime = 1;
--- blender-2.45-1~bpo40.orig/debian/patches/10_gnukfreebsd_support.dpatch
+++ blender-2.45-1~bpo40/debian/patches/10_gnukfreebsd_support.dpatch
@@ -0,0 +1,129 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 10_gnukfreebsd_support.dpatch by Cyril Brulebois <cyril.brulebois@enst-bretagne.fr>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Add support for GNU/kFreeBSD in upstream files, see bug#388349
+
+@DPATCH@
+
+--- blender-2.43.orig/SConstruct	2007-02-19 22:31:36.265969000 +0100
++++ blender-2.43/SConstruct	2007-02-19 22:38:03.000000000 +0100
+@@ -224,7 +224,7 @@
+ 
+ # see if this linux distro has libalut
+ 
+-if env['OURPLATFORM'] == 'linux2' :
++if env['OURPLATFORM'] == 'linux2' or env['OURPLATFORM'].startswith('gnukfreebsd'):
+     if env['WITH_BF_OPENAL']:
+         mylib_test_source_file = """
+         #include "AL/alut.h"
+--- blender-2.43.orig/extern/bullet2/src/SConscript	2007-02-19 22:39:28.319537000 +0100
++++ blender-2.43/extern/bullet2/src/SConscript	2007-02-19 22:41:04.000000000 +0100
+@@ -14,7 +14,7 @@
+ elif env['OURPLATFORM']=='win32-mingw':
+     defs += ' NDEBUG'
+     cflags += ['-O2']
+-elif sys.platform=='linux2' or sys.platform=='linux-i386' or sys.platform=='freebsd4' or sys.platform=='freebsd5':
++elif sys.platform=='linux2' or sys.platform=='linux-i386' or sys.platform=='freebsd4' or sys.platform=='freebsd5' or sys.platform.startswith('gnukfreebsd'):
+     defs += ' NDEBUG'
+     cflags += ['-O2']
+ elif sys.platform=='darwin':
+--- blender-2.43.orig/extern/qhull/SConscript	2007-02-19 22:39:28.537707000 +0100
++++ blender-2.43/extern/qhull/SConscript	2007-02-19 22:41:20.000000000 +0100
+@@ -5,7 +5,7 @@
+ Import('env')
+ defs = ''
+ cflags = []
+-if sys.platform=='linux2' or sys.platform=='linux-i386':
++if sys.platform=='linux2' or sys.platform=='linux-i386' or sys.platform.startswith('gnukfreebsd'):
+    cflags += ['-O2','-ansi']
+ elif env['OURPLATFORM']=='win32-vc':
+    cflags += ['/O2']
+--- blender-2.43.orig/extern/solid/SConscript	2007-02-19 22:39:28.753844000 +0100
++++ blender-2.43/extern/solid/SConscript	2007-02-19 22:41:33.000000000 +0100
+@@ -12,7 +12,7 @@
+ elif env['OURPLATFORM']=='win32-mingw':
+     defs += ' NDEBUG'
+     cflags += ['-O2']
+-elif sys.platform=='linux2' or sys.platform=='linux-i386' or sys.platform=='freebsd4' or sys.platform=='freebsd5' or sys.platform=='openbsd3' or sys.platform=='sunos5':
++elif sys.platform=='linux2' or sys.platform=='linux-i386' or sys.platform=='freebsd4' or sys.platform=='freebsd5' or sys.platform=='openbsd3' or sys.platform=='sunos5' or sys.platform.startswith('gnukfreebsd'):
+     defs += ' NDEBUG'
+     cflags += ['-O2']
+ elif sys.platform=='darwin' :
+--- blender-2.43.orig/extern/verse/dist/SConstruct	2007-02-19 22:39:28.976373000 +0100
++++ blender-2.43/extern/verse/dist/SConstruct	2007-02-19 22:41:51.000000000 +0100
+@@ -38,7 +38,7 @@
+ elif ourplatform == 'win32-mingw':
+     defines += ['_WIN32', 'WIN32']
+     platform_libs = ['shell32', 'kernel32', 'gdi32', 'user32', 'ws2_32']
+-elif ourplatform == 'linux2':
++elif ourplatform == 'linux2' or ourplatform.startswith('gnukfreebsd'):
+     print "Building on linux2"
+ elif ourplatform == 'openbsd3':
+     print "Building on openbsd3"
+--- blender-2.43.orig/intern/ghost/SConscript	2007-02-19 22:39:29.217443000 +0100
++++ blender-2.43/intern/ghost/SConscript	2007-02-19 22:42:28.000000000 +0100
+@@ -10,7 +10,7 @@
+ 
+ pf = ['GHOST_DisplayManager', 'GHOST_System', 'GHOST_Window']
+ 
+-if window_system in ('linux2', 'openbsd3', 'sunos5', 'freebsd6'):
++if window_system in ('linux2', 'openbsd3', 'sunos5', 'freebsd6') or window_system.startswith('gnukfreebsd'):
+     for f in pf:
+         sources.remove('intern' + os.sep + f + 'Win32.cpp')
+         sources.remove('intern' + os.sep + f + 'Carbon.cpp')
+--- blender-2.43.orig/source/blender/blenlib/SConscript	2007-02-19 22:39:29.439668000 +0100
++++ blender-2.43/source/blender/blenlib/SConscript	2007-02-19 22:42:37.000000000 +0100
+@@ -17,7 +17,7 @@
+ 	defs += ' WITH_VERSE'
+ 	incs += ' ' + env['BF_VERSE_INCLUDE']
+ 
+-if env['OURPLATFORM'] == 'linux2':
++if env['OURPLATFORM'] == 'linux2' or env['OURPLATFORM'].startswith('gnukfreebsd'):
+     cflags='-pthread'
+ 
+ if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw'):
+--- blender-2.43.orig/source/blender/render/SConscript	2007-02-19 22:39:29.661686000 +0100
++++ blender-2.43/source/blender/render/SConscript	2007-02-19 22:42:45.000000000 +0100
+@@ -25,7 +25,7 @@
+ if env['WITH_BF_OPENEXR']:
+     defs.append('WITH_OPENEXR')
+ 
+-if env['OURPLATFORM']=='linux2':
++if env['OURPLATFORM']=='linux2' or env['OURPLATFORM'].startswith('gnukfreebsd'):
+     cflags='-pthread'
+ 
+ env.BlenderLib ( libname = 'blender_render', sources = sources, includes = Split(incs), defines=defs, libtype='core', priority=45, compileflags=cflags )
+--- blender-2.43.orig/extern/bFTGL/src/FTVectoriser.cpp	2007-02-19 23:21:27.374524000 +0100
++++ blender-2.43/extern/bFTGL/src/FTVectoriser.cpp	2007-02-19 23:21:41.000000000 +0100
+@@ -7,7 +7,7 @@
+ 
+ #ifdef __APPLE_CC__    
+     typedef GLvoid (*GLUTesselatorFunction)(...);
+-#elif defined( __mips ) || defined( __linux__ ) || defined( __FreeBSD__ ) || defined( __OpenBSD__ ) || defined( __sun ) || defined (__CYGWIN__)
++#elif defined( __mips ) || defined( __linux__ ) || defined( __FreeBSD__ ) || defined( __OpenBSD__ ) || defined( __sun ) || defined (__CYGWIN__) || defined (__FreeBSD_kernel__)
+     typedef GLvoid (*GLUTesselatorFunction)();
+ #elif defined ( WIN32)
+     typedef GLvoid (CALLBACK *GLUTesselatorFunction)( );
+--- blender-2.43.orig/source/blender/blenlib/intern/storage.c	2007-02-19 23:43:09.787523000 +0100
++++ blender-2.43/source/blender/blenlib/intern/storage.c	2007-02-19 23:44:24.000000000 +0100
+@@ -54,7 +54,7 @@
+ #include <sys/statfs.h>
+ #endif
+ 
+-#if defined (__FreeBSD__) || defined (__OpenBSD__) || defined (__NetBSD__)
++#if defined (__FreeBSD__) || defined (__OpenBSD__) || defined (__NetBSD__) || defined(__FreeBSD_kernel__)
+ #include <sys/param.h>
+ #include <sys/mount.h>
+ #endif
+--- blender-2.43.orig/release/plugins/bmake	2007-02-20 13:51:37.206421000 +0100
++++ blender-2.43/release/plugins/bmake	2007-02-20 13:52:28.000000000 +0100
+@@ -58,7 +58,7 @@
+ 
+ 	LD="ld";
+ 	LDFLAGS="-Bshareable";
+-elif ( test $UNAME = "Linux" ) then
++elif ( test $UNAME = "Linux" -o $UNAME = "GNU/kFreeBSD" ) then
+ 	CC="gcc";
+ 	CFLAGS="-fPIC -funsigned-char -O2";
+ 
--- blender-2.45-1~bpo40.orig/debian/blender.lintian-overrides
+++ blender-2.45-1~bpo40/debian/blender.lintian-overrides
@@ -0,0 +1,7 @@
+blender: shared-lib-without-dependency-information
+blender: image-file-in-usr-lib usr/lib/blender/scripts/bpymodules/colladaImEx/logo.png
+
+
+# Homepage: is being accepted and implemented
+
+blender: unknown-field-in-control homepage
--- blender-2.45-1~bpo40.orig/debian/dirs
+++ blender-2.45-1~bpo40/debian/dirs
@@ -0,0 +1,6 @@
+usr/bin
+usr/lib/blender
+usr/share/pixmaps
+usr/share/applications
+usr/share/lintian/overrides
+usr/share/linda/overrides
--- blender-2.45-1~bpo40.orig/debian/blender.linda-overrides
+++ blender-2.45-1~bpo40/debian/blender.linda-overrides
@@ -0,0 +1,8 @@
+Tag: image-in-usr-lib
+Data: /usr/lib/blender/scripts/bpymodules/colladaImEx/logo.png
+
+Tag: binary-libc6
+Data: /usr/lib/blender/plugins/*
+
+Tag: shared-binary
+Data: /usr/lib/blender/plugins/*
--- blender-2.45-1~bpo40.orig/debian/misc/blender-windowed.desktop
+++ blender-2.45-1~bpo40/debian/misc/blender-windowed.desktop
@@ -0,0 +1,14 @@
+[Desktop Entry]
+Name=Blender 3D modeller (windowed)
+Name[ru]=Редактор 3D-моделей Blender (windowed)
+Name[fr]=Blender - modeleur 3D (fenêtré)
+Comment=Create and edit 3D models and animations
+Comment[ru]=Создание и редактирование трёхмерных моделей и анимаций
+Comment[fr]=Création et édition d'objets 3D et animations
+Exec=blender -w
+Icon=blender.svg
+Terminal=false
+Type=Application
+Categories=Graphics;3DGraphics;
+StartupNotify=false
+MimeType=application/x-blender
--- blender-2.45-1~bpo40.orig/debian/misc/blender-fullscreen.desktop
+++ blender-2.45-1~bpo40/debian/misc/blender-fullscreen.desktop
@@ -0,0 +1,14 @@
+[Desktop Entry]
+Name=Blender 3D modeller (fullscreen)
+Name[ru]=Редактор 3D-моделей Blender (fullscreen)
+Name[fr]=Blender - modeleur 3D (plein écran)
+Comment=Create and edit 3D models and animations
+Comment[ru]=Создание и редактирование трёхмерных моделей и анимаций
+Comment[fr]=Création et édition d'objets 3D et animations
+Exec=blender
+Icon=blender.svg
+Terminal=false
+Type=Application
+Categories=Graphics;3DGraphics;
+StartupNotify=false
+MimeType=application/x-blender
--- blender-2.45-1~bpo40.orig/debian/misc/blender.xpm
+++ blender-2.45-1~bpo40/debian/misc/blender.xpm
@@ -0,0 +1,181 @@
+/* XPM */
+static char *blender2[] = {
+/* columns rows colors chars-per-pixel */
+"32 26 149 2",
+"   c #001900190019",
+".  c #0C5B0C680C5B",
+"X  c #142014311420",
+"o  c #1BAB1BC81BAA",
+"O  c #22B322DA22B3",
+"+  c #2E902EBF2E8D",
+"@  c #353935713538",
+"#  c #3CFD3D563D37",
+"$  c #00002DCF7C89",
+"%  c #0000303E7B6C",
+"&  c #45F6463C45F0",
+"*  c #4AF54B3F4AF4",
+"=  c #5036508B5037",
+"-  c #52A852F852A8",
+";  c #5B4E5BA65B50",
+":  c #6512659B65C1",
+">  c #6D626DA06D71",
+",  c #774177BB7756",
+"<  c #7A4D7AC87A5A",
+"1  c #00002F058169",
+"2  c #00613157831F",
+"3  c #04DC391F8767",
+"4  c #05BA39608897",
+"5  c #0E7943CC8E9F",
+"6  c #26005B84A09B",
+"7  c #44BE740DB1DF",
+"8  c #417679B9B212",
+"9  c #4B9A7B2EB59C",
+"0  c #52128494BBBA",
+"q  c #59168DD4BEDF",
+"w  c #804480AB8096",
+"e  c #640E941DC26A",
+"r  c #7368A227CC2A",
+"t  c #7E0EA5ADCFC8",
+"y  c #7D3BA997CF8A",
+"u  c #EFA077C6013C",
+"i  c #EFD57A33051B",
+"p  c #EEC17CCC0BAA",
+"a  c #EF877FAF1068",
+"s  c #F1F276790090",
+"d  c #F5C87C7F042F",
+"f  c #F3EC7F030AC5",
+"g  c #FAA17E07034A",
+"h  c #EE8B82791700",
+"j  c #F68B81CD0D40",
+"k  c #FC3181820726",
+"l  c #FB3C82A40AF7",
+"z  c #F53383FB1356",
+"x  c #F56C8A2F1E55",
+"c  c #FAFA86D9137D",
+"v  c #FC7B88F315D5",
+"b  c #FCA58CD71D08",
+"n  c #F07D88B72171",
+"m  c #F0778F6A2E53",
+"M  c #F4858BB022CD",
+"N  c #F31B8E2D28A5",
+"B  c #FC2A8F24215A",
+"V  c #F27C90952E29",
+"C  c #FCB5961E2F3C",
+"Z  c #F76895F134B8",
+"A  c #F47698103BCA",
+"S  c #F5DA9A703E97",
+"D  c #FCAE981C31D7",
+"F  c #FC5F9C0A3B5C",
+"G  c #F3439E454800",
+"H  c #F3489EDF4AE2",
+"J  c #FB52A03F44DC",
+"K  c #F6F0A2B64C97",
+"L  c #FC93A24346B6",
+"P  c #FA05A3D74C40",
+"I  c #F85CA61552A9",
+"U  c #F84CAC135E48",
+"Y  c #FB19A8575392",
+"T  c #FD04AACB571C",
+"R  c #FC93ADC55C8C",
+"E  c #F53FAD39649F",
+"W  c #F605B07D6A10",
+"Q  c #F55CB2286E8F",
+"!  c #FDF7B25E63D4",
+"~  c #FC83B5526B6A",
+"^  c #F4B1B7A07899",
+"/  c #F796BB808022",
+"(  c #FE03BB6474AD",
+")  c #FD2BBD867BF5",
+"_  c #FF82C12E7F21",
+"`  c #839C84278405",
+"'  c #8DCA8E678DE9",
+"]  c #944C954F9567",
+"[  c #A02FA0C9A05C",
+"{  c #A783A7F2A82A",
+"}  c #A899AA80AB11",
+"|  c #AAEBAB8EAB4D",
+" . c #B635B707B715",
+".. c #B87CB974B9AD",
+"X. c #BA35BB70BB51",
+"o. c #8AB6AC9CCF8E",
+"O. c #85F8AB08D26F",
+"+. c #A14FC290DE1B",
+"@. c #A76FC821E139",
+"#. c #B37FD04EE5C6",
+"$. c #BA64D536E858",
+"%. c #F766BE0A851F",
+"&. c #FDB8C6198BE4",
+"*. c #FEE7C9E18DC7",
+"=. c #F7F7CAE49D20",
+"-. c #FDA8C84C9190",
+";. c #FE64CAD994E5",
+":. c #FD2FD00B9EC7",
+">. c #FEC6D505A4B3",
+",. c #FE58D5D0AB2F",
+"<. c #FEBAD967AFB0",
+"1. c #FDB5DA2CB4C6",
+"2. c #FE27DECCBDE8",
+"3. c #C38BC59DC626",
+"4. c #CBD9CD1DCD11",
+"5. c #D014D18CD1B5",
+"6. c #D398D5E8D6BF",
+"7. c #D64BD88FD9C6",
+"8. c #D707D940D9DB",
+"9. c #DC87DD11DD2A",
+"0. c #C26EDBCFEF6F",
+"q. c #C508DE6BF1FD",
+"w. c #E09CEEB1F92F",
+"e. c #FD61E0D0C296",
+"r. c #FD9DE286C4FD",
+"t. c #FE96E64ECBE6",
+"y. c #FF72EA33D069",
+"u. c #FF8EECC1D6EA",
+"i. c #FF71EF26DC62",
+"p. c #FFF8F1F3DF02",
+"a. c #E666E71EE706",
+"s. c #E8E5E9E5E9D8",
+"d. c #ED77EE94EEB1",
+"f. c #E73DF4EBFD2F",
+"g. c #EFCFF12FF202",
+"h. c #E9EDF60DFB90",
+"j. c #EFA7FA82FFFF",
+"k. c #FC70F0B6E178",
+"l. c #FF4AF448E40A",
+"z. c #FFCBF846ED31",
+"x. c #FFFFF929E63A",
+"c. c #FFFFF934EED2",
+"v. c #F54DF657F648",
+"b. c #F7B1F8C7F981",
+"n. c #F612FCD9FE41",
+"m. c #FAE7F88FF3B6",
+"M. c #FFBBFC80F567",
+"N. c #FE98FF4DFEAA",
+"B. c None",
+/* pixels */
+"B.B.B.B.B.B.B.B.B.B.B.B.B.B.. * ` ; . B.B.B.B.B.B.B.B.B.B.B.B.B.",
+"B.B.B.B.B.B.B.B.B.B.B.B.B.X { d.N.v. .=   B.B.B.B.B.B.B.B.B.B.B.",
+"B.B.B.B.B.B.B.B.B.B.B.B.B.& N.r.~ -.M.b.< . B.B.B.B.B.B.B.B.B.B.",
+"B.B.B.B.B.B.B.B.B.B.B.B.B.# m.U s d U u.b...@ B.B.B.B.B.B.B.B.B.",
+"B.B.B.B.B.B.B.B.B.B.B.B.B.# N.r.A u s Z 2.N.8.& . B.B.B.B.B.B.B.",
+"B.B.B.B.B.X ` ] ] ] ] ] ] | N.N.k.W f s M ;.M.b.] . B.B.B.B.B.B.",
+"B.B.B.B.. } N.M.x.x.l.l.l.l.k.k.k.u.E f d c ! i.N.{ &   B.B.B.B.",
+"B.B.B.B.- v.p.R B B x x M N M N N N x f f g g F 1.N.a.= B.B.B.B.",
+"B.B.B.B.] N.>.l g s s u i p p f f d d k k k g g b *.M.s.-   B.B.",
+"B.B.B.B.# d.c.;.( / / %.E h f f f D ! ) _ ! D l g l ~ c.d.@ B.B.",
+"B.B.B.B.. *  .9.N.N.N.r.H z f c ) p.N.j.j.N.k.) v g g ( M.{ X B.",
+"B.B.B.B.B.B.X > N.M.=.m f f z &.M.f.y 9 7 e q.N.*.l g l ,.N.; B.",
+"B.B.B.B.B.X ] b.l.Q h p a a P z.h.0 2 $ $ $ 6 q.c.T g g I M.:   ",
+"B.B.B.  * | N.e.G p p p a a *.N.+.4 $ $ % $ $ q N.*.g s M u.4.. ",
+"B.B.  ; d.M.;.M u i p a f c <.N.o.$ $ % % % $ 8 n.,.l s p r.6.. ",
+"B.o | v.i.~ f u u m ^ n p f &.N.#.5 $ $ $ $ 1 r N.*.l u u 2.6.X ",
+"  , N.t.F s u s A r.l.N f d J z.n.y 5 $ $ 4 9 w.M.T g u z y.6.. ",
+"X 5.p.C g s g U l.N.m.K d f z *.M.N.$.O.t @.h.N.*.c g s J z.`   ",
+". 6.r.k g c &.z.5.` v.:.f f g b ) i.N.N.N.N.p./ v g g d &.N.; B.",
+". 4.M.*.! <.M.5.+ . X.z.T d g f g D ~ *.*.~ C l g f d P l.6.@ B.",
+"  & 9.N.N.N.4.+ B.B.= g.u.J g g f g s g k d d k g g F u.N.= B.B.",
+"B.B.O w { > o B.B.B.  ; d.u.R v d d d f d d d u f Y u.b.' . B.B.",
+"B.B.B.B.B.B.B.B.B.B.B.  ; d.M.>.I N f s i p M P >.M.N.' . B.B.B.",
+"B.B.B.B.B.B.B.B.B.B.B.B.B.; 5.N.M.u.e.1.1.2.u.M.b...* . B.B.B.B.",
+"B.B.B.B.B.B.B.B.B.B.B.B.B.B.o ; : #.7.7.7.7.{ : * . B.B.B.B.B.B.",
+"B.B.B.B.B.B.B.B.B.B.B.B.B.B.B.B.B.. X X X . . B.B.B.B.B.B.B.B.B."
+};
--- blender-2.45-1~bpo40.orig/debian/misc/user-config.py
+++ blender-2.45-1~bpo40/debian/misc/user-config.py
@@ -0,0 +1,156 @@
+LCGDIR = './lib/linux2'
+BF_PYTHON = '/usr'
+BF_PYTHON_VERSION = '2.4'
+BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}'
+BF_PYTHON_BINARY = '${BF_PYTHON}/bin/python${BF_PYTHON_VERSION}'
+BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION}' #BF_PYTHON+'/lib/python'+BF_PYTHON_VERSION+'/config/libpython'+BF_PYTHON_VERSION+'.a'
+BF_PYTHON_LINKFLAGS = ['-Xlinker', '-export-dynamic']
+
+WITH_BF_OPENAL = 'false'
+BF_OPENAL = '/usr'
+BF_OPENAL_INC = '${BF_OPENAL}/include'
+BF_OPENAL_LIB = 'openal'
+
+WITH_BF_SDL = 'true'
+BF_SDL = '/usr' #$(shell sdl-config --prefix)
+BF_SDL_INC = '${BF_SDL}/include/SDL' #$(shell $(BF_SDL)/bin/sdl-config --cflags)
+BF_SDL_LIB = 'SDL' #BF_SDL #$(shell $(BF_SDL)/bin/sdl-config --libs) -lSDL_mixer
+
+WITH_BF_FMOD = 'false'
+BF_FMOD = LCGDIR + '/fmod'
+
+WITH_BF_OPENEXR = 'true'
+BF_OPENEXR = '/usr'
+BF_OPENEXR_INC = '${BF_OPENEXR}/include/OpenEXR'
+BF_OPENEXR_LIB = 'Half IlmImf Iex Imath '
+
+WITH_BF_JPEG = 'true'
+BF_JPEG = '/usr'
+BF_JPEG_INC = '${BF_JPEG}/include'
+BF_JPEG_LIB = 'jpeg'
+
+WITH_BF_PNG = 'true'
+BF_PNG = '/usr'
+BF_PNG_INC = '${BF_PNG}/include'
+BF_PNG_LIB = 'png'
+
+BF_TIFF = '/usr'
+BF_TIFF_INC = '${BF_TIFF}/include'
+
+WITH_BF_ZLIB = 'true'
+BF_ZLIB = '/usr'
+BF_ZLIB_INC = '${BF_ZLIB}/include'
+BF_ZLIB_LIB = 'z'
+
+WITH_BF_INTERNATIONAL = 'true'
+
+BF_GETTEXT = '/usr'
+BF_GETTEXT_INC = '${BF_GETTEXT}/include'
+BF_GETTEXT_LIB = 'gettextpo'
+BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
+
+WITH_BF_FTGL = 'true'
+BF_FTGL = '/usr'
+BF_FTGL_INC = '${BF_FTGL}/include/FTGL'
+BF_FTGL_LIB = 'ftgl'
+
+WITH_BF_GAMEENGINE='true'
+
+WITH_BF_ODE = 'false'
+BF_ODE = LCGDIR + '/ode'
+BF_ODE_INC = BF_ODE + '/include'
+BF_ODE_LIB = BF_ODE + '/lib/libode.a'
+
+# Adjustments by Cyril Brulebois -- 2006/01/22
+WITH_BF_BULLET = 'true'
+BF_BULLET = '#extern/bullet2/src'
+BF_BULLET_INC = '${BF_BULLET}/LinearMath ${BF_BULLET}/BulletDynamics ${BF_BULLET}'
+BF_BULLET_LIB = 'extern_bullet'
+
+BF_SOLID = '#extern/solid'
+BF_SOLID_INC = '${BF_SOLID}'
+BF_SOLID_LIB = 'extern_solid'
+
+#WITH_BF_NSPR = 'true'
+#BF_NSPR = $(LCGDIR)/nspr
+#BF_NSPR_INC = -I$(BF_NSPR)/include -I$(BF_NSPR)/include/nspr
+#BF_NSPR_LIB = 
+
+# Uncomment the following line to use Mozilla inplace of netscape
+#CPPFLAGS += -DMOZ_NOT_NET
+# Location of MOZILLA/Netscape header files...
+#BF_MOZILLA = $(LCGDIR)/mozilla
+#BF_MOZILLA_INC = -I$(BF_MOZILLA)/include/mozilla/nspr -I$(BF_MOZILLA)/include/mozilla -I$(BF_MOZILLA)/include/mozilla/xpcom -I$(BF_MOZILLA)/include/mozilla/idl
+#BF_MOZILLA_LIB =
+# Will fall back to look in BF_MOZILLA_INC/nspr and BF_MOZILLA_LIB
+# if this is not set.
+#
+# Be paranoid regarding library creation (do not update archives)
+#BF_PARANOID = 'true'
+
+# enable freetype2 support for text objects
+BF_FREETYPE = '/usr'
+BF_FREETYPE_INC = '${BF_FREETYPE}/include ${BF_FREETYPE}/include/freetype2'
+BF_FREETYPE_LIB = 'freetype'
+
+WITH_BF_QUICKTIME = 'false' # -DWITH_QUICKTIME
+BF_QUICKTIME = '/usr/local'
+BF_QUICKTIME_INC = '${BF_QUICKTIME}/include'
+
+# enable ffmpeg  support
+WITH_BF_FFMPEG = 'true'  # -DWITH_FFMPEG
+BF_FFMPEG = '/usr'
+BF_FFMPEG_INC = '${BF_FFMPEG}/include'
+BF_FFMPEG_LIBPATH='${BF_FFMPEG}/lib'
+import commands
+BF_FFMPEG_LIB = commands.getoutput('pkg-config libavformat vorbisenc libdc1394 --libs') + '-lgsm'
+
+# Mesa Libs should go here if your using them as well....
+WITH_BF_STATICOPENGL = 'false'
+BF_OPENGL = '/usr'
+BF_OPENGL_INC = '${BF_OPENGL}/include'
+BF_OPENGL_LIB = 'GL GLU X11 Xi'
+BF_OPENGL_LIBPATH = '/usr/X11R6/lib'
+BF_OPENGL_LIB_STATIC = '${BF_OPENGL}/libGL.a ${BF_OPENGL}/libGLU.a ${BF_OPENGL}/libXxf86vm.a ${BF_OPENGL}/libX11.a ${BF_OPENGL}/libXi.a ${BF_OPENGL}/libXext.a ${BF_OPENGL}/libXxf86vm.a'
+
+##
+CC = 'gcc'
+CXX = 'g++'
+##ifeq ($CPU),alpha)
+##   CFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing -mieee
+
+CCFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing']
+
+CPPFLAGS = ['-DXP_UNIX']
+CXXFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing']
+REL_CFLAGS = ['-O2']
+REL_CCFLAGS = ['-O2']
+##BF_DEPEND = 'true'
+##
+##AR = ar
+##ARFLAGS = ruv
+##ARFLAGSQUIET = ru
+##
+C_WARN = '-Wall -Wno-char-subscripts'
+
+CC_WARN = '-Wall'
+
+##FIX_STUBS_WARNINGS = -Wno-unused
+
+LINK = CXX
+LLIBS = 'util m dl pthread'
+##LOPTS = --dynamic
+##DYNLDFLAGS = -shared $(LDFLAGS)
+
+BF_PROFILE_FLAGS = ['-pg','-g']
+BF_PROFILE = 'false'
+
+BF_DEBUG = 'false'
+BF_DEBUG_FLAGS = ''
+
+BF_BUILDDIR = './build/linux2'
+BF_INSTALLDIR='./install/linux2'
+
+
+#Link against pthread
+PLATFORM_LINKFLAGS = ['-pthread']
--- blender-2.45-1~bpo40.orig/debian/menu
+++ blender-2.45-1~bpo40/debian/menu
@@ -0,0 +1,9 @@
+?package(blender):needs="X11" section="Applications/Graphics" hints="Modeler"\
+  longtitle="Very fast and versatile 3D modeler / renderer"\
+  icon="/usr/share/pixmaps/blender.xpm"\
+  title="Blender (full screen)" command="/usr/bin/blender"
+
+?package(blender):needs="X11" section="Applications/Graphics" hints="Modeler"\
+  longtitle="Very fast and versatile 3D modeler / renderer"\
+  icon="/usr/share/pixmaps/blender.xpm"\
+  title="Blender (windowed)" command="/usr/bin/blender -w"
--- blender-2.45-1~bpo40.orig/debian/changelog
+++ blender-2.45-1~bpo40/debian/changelog
@@ -0,0 +1,631 @@
+blender (2.45-1~bpo40-1) etch-backports; urgency=low
+
+  * Rebuild for Etch backports.
+
+ -- Cyril Brulebois <cyril.brulebois@enst-bretagne.fr>  Sun, 21 Oct 2007 19:13:57 +0200
+
+blender (2.45-1) unstable; urgency=low
+
+  * New upstream release (Closes: #443278).
+  * Menu transition: move from Apps/Graphics to Applications/Graphics.
+  * Dropped patch (merged upstream):
+     - 20_gcc4.3_support.dpatch.
+  * Disabled genpot in debian/rules. It is very time consuming, and apparently
+    not needed. If a regression happens, it should be fixed upstream, and not
+    using such a hack (that nobody knows about anymore). The genpot/ folder
+    hadn't be deleted (yet), just in case. Since these scripts aren't called
+    anymore, no .pyc file should appear, which fixes the double-build failure
+    (Closes: #442511).
+  * Added a “Homepage:” field, and kept the URL in the long description,
+    until packages.debian.org, aptitude, and so on support this field.
+  * Modified debian/rules to detect when DEB_BUILD_OPTIONS contains
+    “ccache”, so as to speed up maintainer rebuilds.
+  * Updated lintian source overrides so that only the following ones remain:
+     - “unknown-field-in-dsc homepage” (see above);
+     - .svn files in the upstream source.
+  * Updated lintian binary overrides:
+     - deleted unused ones;
+     - added “unknown-field-in-control homepage”;
+  * Updated desktop files:
+     - removed unneeded “Encoding” field;
+     - updated “Category” field “Application;Graphics;” to
+       “Graphics;3DGraphics;”.
+
+ -- Cyril Brulebois <cyril.brulebois@enst-bretagne.fr>  Thu, 20 Sep 2007 19:14:58 +0200
+
+blender (2.44-2) unstable; urgency=low
+
+  * Added debian/patches/20_gcc4.3_support.dpatch to fix FTBFS with GCC 4.3.
+    Solves:
+     - many missing includes;
+     - one missing newline;
+     - one redefinition.
+    (Closes: #417491)
+  * Rebuild will turn libav{codec,format}0d Depends: into libav{codec,format}1d,
+    thus fixing the impossibility to install blender (Closes: #427567).
+
+ -- Cyril Brulebois <cyril.brulebois@enst-bretagne.fr>  Tue, 05 Jun 2007 00:48:46 +0000
+
+blender (2.44-1) unstable; urgency=low
+
+  * New upstream release.
+  * Drop debian/patches/01_64bits_stupidity, not needed anymore: as of this
+    version blender is 64 bits safe again. Adjust README.Debian accordingly.
+
+ -- Florian Ernst <florian@debian.org>  Thu, 17 May 2007 11:47:59 +0200
+
+blender (2.43-1) UNRELEASED; urgency=low
+
+  [ Cyril Brulebois ]
+  * New upstream release (Closes: #414409).
+  * Refreshed 10_gnukfreebsd_support.dpatch:
+     - it should now support each FreeBSD kernel version, using startswith()
+       instead of an hardcoded kernel version string;
+     - nan_compile.mk and some other files are no longer patched, although the
+       compilation is OK; adjustments might be needed.
+  * Updated user-config.py:
+     - fixed () vs {} for FFMPEG;
+     - switched from 'bullet' to 'bullet2' and adjusted some paths.
+  * Added a Build-Conflicts against nvidia-glx. When trying to build with that
+    package installed, a ``-lGL not found otherwise'' occurs, and without it,
+    everything looks fine. That should also avoid situations like in #282071
+    and #285946.
+  * Added debian/patches/01_64bits_stupidity.dpatch to enable blender on
+    64-bit systems. Please read the README.Debian file for more info. A
+    NEWS.Debian file has been added to ensure that users don't miss this
+    point.
+  * Adjusted README.Debian file so that it has the very same structure as a
+    debian changelog file.
+  * Adjusted the clean target since many binary files remained after the
+    cleanup, reported by dpkg-buildpackage when trying to update the Debian
+    diff after a build (Closes: #424145).
+  * Adjusted the width of the lines in the long description to get a possibly
+    beautiful paragraph.
+  * Updated and improved desktop integration (Closes: #417901):
+     - switched from a single desktop file to two versions: one for windowed
+       and one for fullscreen execution, thanks to Lukas Fittl for the
+       suggestion!
+     - added the missing dh_desktop call;
+     - added the installation of all the icons in release/freedesktop/icons;
+     - adapted the icon name in the .desktop files accordingly.
+  * Dropped insecure script removal introduced in 2.42a-6, since the insecure
+    script is no longer shipped upstream.
+  * Added a TODO(.Debian) file to list items to work on for further revisions.
+
+  [ Florian Ernst ]
+  * debian/control:
+    + drop g++-3.3 from B-D. Actually, we don't need it anymore.
+    + bump B-D on python-central to 0.5 to make lintian happy.
+
+ -- Cyril Brulebois <cyril.brulebois@enst-bretagne.fr>  Fri, 13 Apr 2007 23:17:41 +0200
+
+blender (2.42a-7) unstable; urgency=high
+
+  * Dropped the erroneous -lstdc++ and -lc linking options, which caused the
+    FTBFS on mips and sparc; let g++ do the job instead, using CXX. Many
+    thanks to Sam Hocevar <sam@zoy.org> for having found the cause of the
+    FTBFS and for the patch (Closes: #417889).
+  * Urgency set to high accordingly, since it is a serious bug.
+
+ -- Cyril Brulebois <cyril.brulebois@enst-bretagne.fr>  Thu, 05 Apr 2007 11:34:46 +0200
+
+blender (2.42a-6) unstable; urgency=high
+
+  * Security: No longer ship the kmz_ImportWithMesh.py script since it allows
+    user-assisted remote attackers to execute arbitrary Python code by
+    importing a crafted (1) KML or (2) KMZ file [CVE-2007-1253].
+  * Updated copyright to reflect the actual license (Closes: #407917).
+  * Added documentation (NEWS, README.Debian) about 64-bit related risks.
+  * Added myself to the Uploaders.
+
+ -- Cyril Brulebois <cyril.brulebois@enst-bretagne.fr>  Wed, 14 Mar 2007 11:06:13 +0100
+
+blender (2.42a-5) unstable; urgency=high
+
+  * urgency=high due to RC bugfix targetted at testing
+  * debian/control: add explicit Build-Depends on pkg-config which was
+    previously pulled in automatically via a dependency chain, thus
+    resolving a FTBFS (Closes: #397560)
+
+  * debian/rules: remove dh_python call as dh_pycentral should do the work
+  * debian/genpot/*.py: convert DOS to Unix line endings, thanks to Jens
+    Seidel for the pointer
+  * debian/blender.1: update by Cyril Brulebois, many thanks (Closes: #394224)
+
+ -- Florian Ernst <florian@debian.org>  Fri, 10 Nov 2006 20:43:47 +0100
+
+blender (2.42a-4) unstable; urgency=low
+
+  * Well, instead of using a different compiler let's try lowering the
+    optimization again on mips{,el}. Many thanks to Jens Seidel for all
+    his work!
+
+ -- Florian Ernst <florian@debian.org>  Tue, 10 Oct 2006 07:46:20 +0200
+
+blender (2.42a-3) unstable; urgency=low
+
+  * Fall back to using gcc-3.3/g++-3.3 on mips and mipsel in order to
+    circumvent ICE, see bug#354439 and the previous changelog entry.
+  * debian/rules: delete config.{guess,sub} in clean
+
+ -- Florian Ernst <florian@debian.org>  Tue,  3 Oct 2006 11:29:35 +0200
+
+blender (2.42a-2) unstable; urgency=low
+
+  [ Cyril Brulebois ]
+  * Add support for GNU/kFreeBSD (kfreebsd-i386 at least, closes: #388349):
+    - Add 10_gnukfreebsd_support.dpatch to solve GNU/kFreeBSD detection in
+      SConstruct files and other #define's.
+    - Conditionalize the removal of "libdc1394" in debian/rules because it is
+      Linux-specific and used unconditionally. Should be more easy to maintain
+      this way than having multiple user-config.py files.
+
+  [ Florian Ernst ]
+  * Fall back to using gcc-3.4/g++-3.4 on mips and mipsel in order to
+    circumvent ICE, see bug#354439.
+  * Merge changes from Ubuntu:
+    - debian/genpot: Add python scripts from Lee June <blender@eyou.com> to
+      generate a reasonable PO template from the sources. Since gettext is used
+      in a highly nonstandard way, xgettext does not work for this job.
+    - debian/rules: Call the scripts, generate po/blender.pot, and clean it up
+      in the clean target.
+    - Add a proper header to the generated PO template.
+  * Readd B-D on autotools-dev for auto-updating of config.{sub,guess},
+    GNU/kFreeBSD seems to need it.
+
+ -- Florian Ernst <florian@debian.org>  Tue, 26 Sep 2006 20:58:09 +0200
+
+blender (2.42a-1) unstable; urgency=low
+
+  [ Wouter van Heyst ]
+  * Don't use fancy colours polluting build logs.
+
+  [ Antonio Ospite ]
+  * New upstream release
+  * Drop 05_mesh_skin_py23.dpatch, not needed anymore
+  * Update regexp in debian/watch file and added the call to uupdate
+  * Add a source lintian override for outdated-autotools-helper-file, since we
+    do not use autotools at all
+
+  [ Florian Ernst ]
+  * Link against libgettextpo, not libgettextlib. Thanks to Santiago Vila
+    for clarification (Closes: #381809, #382246)
+  * Quote arguments properly in wrapper script, thanks to Wesley J. Landaker
+    (Closes: #380580)
+
+ -- Florian Ernst <florian@debian.org>  Fri, 11 Aug 2006 17:50:59 +0200
+
+blender (2.42-1) unstable; urgency=low
+
+  [ Antonio Ospite ]
+  * New upstream release
+  * Adapt to use the refactored blender build system based on scons
+  * Remove the build-dependecy on autotools-dev
+  * Build-Depend on libopenexr-dev to enable support for EXR output format
+  * Build-Depend on libavformat-dev to enable FFMPEG output format
+  * Add some lintian and linda overrides, for both source and binary package
+  * Update Standards-Versions to 3.7.2
+  * Build using python 2.4 (build-depends on python2.4-dev for now)
+  * Update to Build-Depend on debhelper (>= 5.0.37.2)
+  * Other updates to follow the python policy as asked in
+    http://wiki.debian.org/DebianPython/NewPolicy
+  * Fix a problem with mesh_skin.py script not being compatible with python
+    2.3 (even if we build for 2.4, this make backporting easier), see the file
+    patches/05_mesh_skin_py23.dpatch
+
+  [ Florian Ernst ]
+  * Drop 05_bevel_center.py_fix.dpatch, not needed anymore
+  * Upgrade debhelper compatiblity level to 5
+  * Add French translations in .desktop, thanks to VETSEL Patrice
+    (Closes: #354936)
+  * New upstream
+    + Finds libtiff easily (Closes: #364473)
+    + lightwave_export.py works with newer Python (Closes: #348374)
+  * General cleanup to reflect new build system
+  * Drop old and unneeded patches
+
+ -- Florian Ernst <florian@debian.org>  Mon, 17 Jul 2006 20:32:26 +0200
+
+blender (2.41-1) unstable; urgency=low
+
+  [ Florian Ernst ]
+  * New upstream release
+    + adjust 01_SConstruct_debian.dpatch accordingly
+    + uses openal again, but we don't, see bug#323527
+  * Remove mips{,el} patching from 2.40-2 as it didn't solve the FTBFS
+
+  [ Antonio Ospite ]
+  * Fixed a Syntax Error in bevel_center.py script when using python 2.3,
+    see the file debian/patches/05_bevel_center.py_fix.dpatch
+
+ -- Florian Ernst <florian@debian.org>  Tue,  7 Feb 2006 11:36:11 +0100
+
+blender (2.40-2) unstable; urgency=low
+
+  * Lower optimization on mips{,el} only in order to avoid a compiler error,
+    adjusting dpatch setup accordingly
+  * debian/rules: use "scons clean" to speed up clean target as recommended
+    by upstream
+
+ -- Florian Ernst <florian@debian.org>  Tue, 17 Jan 2006 14:45:33 +0100
+
+blender (2.40-1) unstable; urgency=high
+
+  [ Wouter van Heyst ]
+  * Switch to team based maintenance
+  * New upstream release - closes: #345442, #346144
+    + fixes CVE-2005-4470: Integer overhead in header parser for .blend import
+      - closes: #344398, urgency=high
+  * Acknowledge NMU - closes: #333958
+
+  [ Florian Ernst ]
+  * New upstream release includes own fixes for building on amd64/gcc4.0;
+    adjusting debian/patches/03_amd64_gcc40_fix.dpatch and then stop applying
+    it as it is apparently not needed anymore
+  * Add debian/patches/SConstruct.diff as well as debian/README.Alioth-CVS
+    explaining how to use it when building from upstream source + Alioth-CVS
+  * Add missing build-dependency on libgettextpo-dev, drop hardcoded Depends
+    on gettext - closes: #307811
+  * Add Build-Depends on libtiff4-dev for building and Suggests on libtiff4
+    for dlopen()'ing
+  * Add README.Debian explaining graphics issues such as random crashes and
+    interface weirdness, this might eventually be sufficient for resolving
+    bugs like #299441 and friends...
+  * Substitute 02_tmp_in_HOME.dpatch for 02_quit_blend_in_homedir.dpatch to
+    make sure all temporary user data (such as e.g. autosave files) is put
+    in $HOME/.blender in order to avoid a symlink attack, see bug#298167
+  * Extend 04_de_po_fix.dpatch
+  * Remove Conflicts/Replaces on blender-powerpc as this package only exists
+    in oldstable
+  * Streamline debian/rules, removing some unneeded cruft
+  * debian/control: add upstream homepage
+  * README.Debian: added note about quit.blend now being found in
+    $HOME/.blender
+  * debian/watch: added
+  * Merge (and extend) Ubuntu adjustments as applied by Daniel Holbach
+    + ${python:Depends} and dh_python
+    + auto-update config.guess via autotools-dev
+  * debian/source.lintian-overrides: added
+  * debian/blender.1: escape hyphens where necessary
+
+ -- Florian Ernst <florian@debian.org>  Mon, 16 Jan 2006 16:44:39 +0100
+
+blender (2.37a-1.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Split out parts of 01_SConstruct_debian.dpatch again: root_build_dir
+    really needs to get adjusted before the clean target runs - closes: #333958,
+    see #288882 for reference
+
+ -- Florian Ernst <florian@debian.org>  Sun,  6 Nov 2005 12:40:03 +0100
+
+blender (2.37a-1) unstable; urgency=low
+
+  * Works had been done at Codefest Asia 2005 in Colombo, Sri Lanka. 
+  * New upstream release - closes: #316524
+  * Bumped Standards-Version 3.6.2.1 (no physical changes).
+  * Now the package include blenderplayer - closes: #304567
+  * Now it should be built on amd64 with gcc-4.0 - closes: #285577, #319307
+  * Now quit.blend is created in the user's homedir - closes: #298167
+  * Fixed de.po - closes: #313676
+
+ -- Masayuki Hatta (mhatta) <mhatta@debian.org>  Tue,  6 Sep 2005 17:52:51 +0900
+
+blender (2.36-1) unstable; urgency=high
+
+  * The "Back From The Gig" release.
+  * Urgency is set to high, since this release fixes a security issue.  Woody doesn't have free Blender.
+  * [02_fix_insecure_writing_to_quit_blend] added a dpatch to prevent a symlinkattack - closes: #298167
+  * New upstream release - closes: #288883
+  * Acknowledged NMU, sorry for delay and thanks guys - closes: #288882
+  * Now fully updates the plugins every time blender is launched - closes: #285578
+
+ -- Masayuki Hatta (mhatta) <mhatta@debian.org>  Fri, 11 Mar 2005 00:55:14 +0900
+
+blender (2.35-1.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Split out parts of 01_SConstruct_debian.dpatch: root_build_dir
+    needs to get adjusted before the clean target runs - closes: #288882
+
+ -- Florian Ernst <florian@debian.org>  Thu, 10 Feb 2005 02:45:38 +0100
+
+blender (2.35-1) unstable; urgency=low
+
+  * The "Brief Return From The Hell, Pt. 2" release.
+  * New upstream release - closes: #282702
+  * Added MimeType field to .desktop - closes: #280925
+  * Fixed a typo in description - closes: #268498, #277229
+  * Changed the size of blender.xpm to 32x32.
+  * Now installs manpage, even if it's somewhat dated - closes: #277886
+  * Now installs blenderplayer.
+
+ -- Masayuki Hatta (mhatta) <mhatta@debian.org>  Wed,  8 Dec 2004 01:52:53 +0900
+
+blender (2.34-1) unstable; urgency=high
+
+  * The "Brief Return From The Hell" release.
+  * New upstream release.
+  * Put .desktop and .xpm into the right place - closes: #257935
+  * [patches/01_SConstruct_debian.dpatch] fixed pathes for FTGL stuff - closes: #262547
+  * [blender-wrapper]: now reinstall some files when the user's ~/.blender
+    came from the older versions.
+
+ -- Masayuki Hatta (mhatta) <mhatta@debian.org>  Sun,  8 Aug 2004 01:10:13 +0900
+
+blender (2.33a-1) unstable; urgency=low
+
+  * New upstream release
+  * Fixed a typo in /usr/bin/blender wrapper - closes: #248485
+
+ -- Masayuki Hatta (mhatta) <mhatta@debian.org>  Sat, 15 May 2004 00:32:02 +0900
+
+blender (2.33-3) unstable; urgency=low
+
+  * Fixed gettext dependency - closes: #247624
+
+ -- Masayuki Hatta (mhatta) <mhatta@debian.org>  Sun,  9 May 2004 13:26:44 +0900
+
+blender (2.33-2) unstable; urgency=low
+
+  * Oops, I messed menu entry up and also forgot to install it, Fixed...
+
+ -- Masayuki Hatta (mhatta) <mhatta@debian.org>  Mon,  3 May 2004 21:11:31 +0900
+
+blender (2.33-1) unstable; urgency=low
+
+  * New upstream release.
+  * Re-packaged.
+  * Now uses SCons-based build system.
+  * Sorted out build-dependencies.
+  * Fixed menu hint, uses "Modeler" - closes: #246201
+
+ -- Masayuki Hatta (mhatta) <mhatta@debian.org>  Mon,  3 May 2004 15:16:26 +0900
+
+blender (2.32-4) unstable; urgency=low
+
+  * Added a menu entry to run blender with -w - closes: #223602
+
+ -- Masayuki Hatta (mhatta) <mhatta@debian.org>  Mon, 23 Feb 2004 17:22:36 +0900
+
+blender (2.32-3) unstable; urgency=low
+
+  * Made bmake executable, so plugins should be built when built by buildd.
+  * 02_sparc_linux.dpatch: removed.
+  * 02_defs_for_debian.doatch: dpatch'd changes on nan_definitions.mk.
+  * Added Suggests: yafray
+
+ -- Masayuki Hatta (mhatta) <mhatta@debian.org>  Sat, 21 Feb 2004 16:03:02 +0900
+
+blender (2.32-2) unstable; urgency=low
+
+  * [control] changed Maintainer field.
+  * Fixed build on SPARC, thanks Petter Reinholdt - closes: #229420, #221802
+  * Now installs ~/.blender - closes: #232654
+      - I know this is a kludgy solution, but seems there is no better way to go for now...
+  * Now ships with plugins - closes: #221584
+  * Now ships with python scripts - closes: #221586
+  * Fixed SECTION of manpage - closes: #231847
+  * Listed povray(1) instead of too general X(1) in manpage - closes: #231843
+
+ -- Masayuki Hatta (mhatta) <mhatta@debian.org>  Wed, 18 Feb 2004 02:13:03 +0900
+
+blender (2.32-1) unstable; urgency=low
+
+  * New upstream release - closes: #231499
+
+ -- Masayuki Hatta (mhatta) <mhatta@debian.org>  Sat,  7 Feb 2004 16:29:18 +0900
+
+blender (2.30-1) unstable; urgency=low
+
+  * New upstream release - closes: #219531
+
+ -- Masayuki Hatta <mhatta@debian.org>  Fri, 14 Nov 2003 00:41:07 +0900
+
+blender (2.28c-1) unstable; urgency=low
+
+  * New upstream release - closes: #209913
+  * Added Build-Depends: libesd0-dev - closes: #207520
+
+ -- Masayuki Hatta <mhatta@debian.org>  Sun, 26 Oct 2003 14:31:01 +0900
+
+blender (2.28a-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Masayuki Hatta <mhatta@debian.org>  Thu, 21 Aug 2003 01:24:28 +0900
+
+blender (2.28-1) unstable; urgency=low
+
+  * New upstream release - closes: #203714, #204460
+  * Acknowledged NMU, thanks David and Paul - closes: #194373
+  * Removes tmp-makefile on clean - closes: #194374
+  * Now uses dpatch.
+  * Bumped Standards-Version to 3.5.10.
+  * Added some Build-Depends.
+  * Removed TODO.
+
+ -- Masayuki Hatta <mhatta@debian.org>  Sat,  9 Aug 2003 15:43:54 +0900
+
+blender (2.27-1.1) unstable; urgency=low
+
+  * Non Maintainer Upload
+  * Fix multi-line strings for gcc 3.3 (Closes: #194373)
+    Patch by Paul Hampson <Paul.Hampson@anu.edu.au>
+
+ -- David Pashley <david@davidpashley.com>  Tue, 15 Jul 2003 15:22:33 +0200
+
+blender (2.27-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Masayuki Hatta <mhatta@debian.org>  Fri, 16 May 2003 13:19:53 +0900
+
+blender (2.26-3) unstable; urgency=low
+
+  * Thanks again LarstiQ for preparing this release.
+  * Bumped to Standards-Version: 3.5.9.
+  * Tightened Build-Depends - closes: #185719
+  * Improved description - closes: #180358
+  * Now conflicts with blender-powerpc - closes: #183944
+  * Fixed upsteram URL in manpage - closes: #184919
+
+ -- Masayuki Hatta <mhatta@debian.org>  Sat, 22 Mar 2003 20:42:19 +0900
+
+blender (2.26-2) unstable; urgency=low
+
+  * Build-Depends: libpng12-0-dev, instead of libpng-dev.
+
+ -- Masayuki Hatta <mhatta@debian.org>  Wed,  5 Mar 2003 13:25:58 +0900
+
+blender (2.26-1) unstable; urgency=low
+
+  * Thanks Wouter van Heyst <larstiq@larstiq.dyndns.org> for preparing this release.
+  * New upstream release.
+  * Uses NaN makefiles instead of GNU Auto*.
+  * Removed post*.
+
+ -- Masayuki Hatta <mhatta@debian.org>  Mon, 24 Feb 2003 22:55:57 +0900
+
+blender (2.25b+cvs.2003.02.17-1) unstable; urgency=low
+
+  * New upstream release (CVS snapshot) - closes: #165581
+  * This is actually 2.26+, but I postpone to bump the version until 
+    LarstiQ send me his changes.
+
+ -- Masayuki Hatta <mhatta@debian.org>  Mon, 17 Feb 2003 20:44:43 +0900
+
+blender (2.25b+cvs.2003.02.05-1) unstable; urgency=low
+
+  * The "At Last We Are Free" release.
+  * Free Blender, finally!
+  * New upstream release (CVS snapshot).
+
+ -- Masayuki Hatta <mhatta@debian.org>  Wed,  5 Feb 2003 02:34:24 +0900
+
+blender (2.23-2) unstable; urgency=low
+
+  * Updated to Standards-Version: 3.5.6.
+
+ -- Masayuki Hatta <mhatta@debian.org>  Thu, 29 Aug 2002 18:01:57 +0900
+
+blender (2.23-1) unstable; urgency=low
+
+  * The "Waiting For Another $50k" release.
+  * New maintainer - no response from Daniel, hijacked.
+  * www.blender.nl -> www.blender3d.com
+  * Tweaked debian/rules.
+  * Moved /usr/lib/python2.0/* into /usr/lib/python2.2/blender and made it
+    recommend python2.2.  I'm not sure this is right, though...
+  * Acknowledged NMU fixed bugs - closes: #55376, #72018, #116063, #79934, #121989, #138301, #139249, #147421, #150390, #151542, #55495, #112040
+
+ -- Masayuki Hatta <mhatta@debian.org>  Tue, 30 Jul 2002 16:37:13 +0900
+
+blender (2.23-0.2) unstable; urgency=low
+
+  * NMU (Daniel seems to be an MIA, I guess someone should take this over).
+  * Fixed Python scripts (suggested by Thimo) - closes: #138301
+  * Added appropriate dependencies - closes: #139249, #147421, #150390, #151542
+  * Added Build-Depends.
+  * Updated to Standards-Version: 3.5.2.
+
+ -- Masayuki Hatta <mhatta@debian.org>  Wed, 24 Jul 2002 05:37:09 +0900
+
+blender (2.23-0.1) unstable; urgency=low
+
+  * NMU upload for bug fixes
+  * New upstream version. I had to get the static binary to fix the bug, but
+    all they had available was the latest version, which is 2.23.
+    Closes: #116063, #112040
+  * Install python libs into directory where blender expects it.
+    Closes: #121989
+
+ -- Ben Collins <bcollins@debian.org>  Sun, 10 Feb 2002 15:52:06 -0500
+
+blender (2.12-1) unstable; urgency=low
+
+  * NMU to bring package up-to-date. (closes: #79934)
+  * Blender now ships with headers and bmake (closes: #55495)
+
+ -- Sean 'Shaleh' Perry <shaleh@debian.org>  Tue, 10 Apr 2001 11:46:23 -0700
+
+blender (1.80-1) unstable; urgency=low
+
+  * New upstream release (everything is now free of charge) (closes: Bug#57315)
+  * Closing NMU-Fixed Bugs (closes: Bug# 55376, Bug#57319, Bug#59973)
+  * First own upload after I became official maintainer
+
+ -- Daniel Mester <mester@uni-bremen.de>  Wed,  5 Jul 2000 16:46:43 +0200
+
+blender (1.74-1) unstable; urgency=low
+
+  * Sponsor upload.
+  * Due a sponsor mistake Blender did not depend on libgl, 
+    hopefully it does now. (closes: Bug#59973, Bug#55376, Bug#57135)
+  * closing upstream fixed bugs (closes: Bug#57319)
+        
+ -- Daniel Mester <mester@uni-bremen.de>  Tue, 11 Apr 2000 12:56:49 +0200
+
+blender (1.73-1) unstable; urgency=low
+
+  * Sponsor upload.
+  * closing NMU-fixed bugs (closes: Bug#52349, Bug#51114, Bug#51240)
+  * Blender depends on libgl1 instead of mesag3 (closes: Bug#55815, Bug#55376)
+
+ -- Daniel Mester <mester@uni-bremen.de>  Mon, 21 Feb 2000 17:02:15 +0100
+
+blender (1.72-1) unstable; urgency=low
+
+  * Sources are i386 only (closes: Bug#52349)
+  * Sponsor upload
+  * New upstream version (closes: Bug#51114, Bug#51240)  
+
+ -- Daniel Mester <mester@uni-bremen.de>  Wed,  5 Jan 2000 10:38:38 +0100
+
+blender (1.71-2) unstable; urgency=low
+
+  * Sponsor upload.
+  * debian/control: Reformatted description.
+  * debian/rules: Moved plug-ins to /usr/lib instead of /usr/include (!?)
+  * debian/dirs: Patched to conform to previous change.
+  * debian/blender1.1: Removed as it was installed by debhelper and does 
+    not belong into the package.
+  * debian/blender.menu: Changed "needs=X11|text|..." to "needs=X11". 
+    Thanks again to the lintian maintainers :)
+
+ -- Torsten Landschoff <torsten@debian.org>  Tue,  4 Jan 2000 18:09:44 +0100
+
+blender (1.71-1) unstable; urgency=low
+
+  * Installed docs into /usr/share/doc/blender
+  * debian/blender.1: Wrote small manpage (not the best, but nice)
+  * Completely redone the package
+  * New maintainer
+  * New upstream version
+	
+ -- Daniel Mester <mester@uni-bremen.de>  Wed,  8 Dec 1999 14:17:58 +0100
+
+blender (1.61-1) unstable; urgency=low
+
+  * New upstream version.
+  * Removed wrapper script, it is no longer necessary.
+
+ -- Stephen Crowley <crow@debian.org>  Sun, 16 May 1999 16:02:39 -0500
+
+blender (1.58-1) unstable; urgency=low
+
+  * New upstream.
+
+ -- Stephen Crowley <crow@debian.org>  Wed, 17 Mar 1999 21:03:53 -0600
+
+blender (1.53a-2) unstable; urgency=low
+
+  * Fixed the wrapper script. It now exports BLENDERDIR
+
+ -- Stephen Crowley <crow@debian.org>  Fri,  1 Jan 1999 15:58:35 -0600
+
+blender (1.53a-1) unstable; urgency=low
+
+  * Initial Release.
+
+ -- Stephen Crowley <crow@debian.org>  Fri,  1 Jan 1999 13:47:44 -0600
--- blender-2.45-1~bpo40.orig/debian/blender.1
+++ blender-2.45-1~bpo40/debian/blender.1
@@ -0,0 +1,123 @@
+.TH BLENDER 1 "July 25, 2006"
+.SH NAME
+blender \- a 3D modelling and rendering package
+.SH SYNOPSIS
+.B blender [options...] [file]
+
+
+.br
+.SH DESCRIPTION
+.PP
+.B blender
+is a 3D modelling and rendering package. It is the in-house software of a high quality animation studio, Blender has proven to be an extremely fast and versatile design instrument. The software has a personal touch, offering a unique approach to the world of Three Dimensions.
+
+Use Blender to create TV commercials, to make technical visualizations, business graphics, to do some morphing, or design user interfaces. You can easy build and manage complex environments. The renderer is versatile and extremely fast. All basic animation principles (curves & keys) are well implemented.
+
+http://www.blender3d.org
+.SH OPTIONS
+.SS "Render options:"
+.TP
+.B \-b <file>
+Render <file> in background
+.TP
+.B \-S <name>
+Set scene <name>
+.TP
+.B \-f <frame>
+Render frame <frame> and save it
+.TP
+.B \-s <frame>
+Set start to frame <frame> (can also be used with \-a)
+.TP
+.B \-e <frame>
+Set end to frame <frame> (can also be used with \-a)
+.TP
+.B \-o <path>
+Set the render path and file name.
+.IP
+Use // at the start of the path to render relative to the blend file.
+.IP
+Use # in the filename to be replaced with the frame number
+.IP
+Example: blender \-b foobar.blender \-o //render_# \-F PNG \-x 1
+.HP
+.B \-F <format>
+Set the render format, valid options are...
+.IP
+TGA IRIS HAMX FTYPE JPEG MOVIE IRIZ RAWTGA
+AVIRAW AVIJPEG PNG BMP FRAMESERVER
+.IP
+(formats that can be compiled into blender, not available on all systems)
+.IP
+HDR TIFF EXR MPEG AVICODEC QUICKTIME CINEON DPX
+.TP
+.B \-x <bool>
+Set option to add the file extension to the end of the file.
+.SS "Animation options:"
+.TP
+.B \-a <file(s)>
+Playback <file(s)>
+.TP
+.B \-p <sx> <sy>
+Open with lower left corner at <sx>, <sy>
+.TP
+.B \-m
+Read from disk (Don't buffer)
+.SS "Window options:"
+.TP
+.B \-w
+Force opening with borders
+.TP
+.B \-p <sx> <sy> <w> <h>
+Open with lower left corner at <sx>, <sy> and width and height <w>, <h>
+
+.SS "Game Engine specific options:"
+.TP
+.B \-g fixedtime
+Run on 50 hertz without dropping frames
+.TP
+.B \-g vertexarrays
+Use Vertex Arrays for rendering (usually faster)
+.TP
+.B \-g noaudio
+No audio in Game Engine
+.TP
+.B \-g nomipmap
+No Texture Mipmapping
+.TP
+.B \-g linearmipmap
+Linear Texture Mipmapping instead of Nearest (default)
+.SS "Misc options:"
+.TP
+.B \-d
+Turn debugging on
+.TP
+.B \-noaudio
+Disable audio on systems that support audio
+.TP
+.B \-H
+Patch for versions with hardware accelerated Mesa
+.TP
+.B \-y
+Disable script links, use \-Y to find out why its \-y
+.HP
+.B \-P <filename>
+Run the given Python script (filename or Blender Text)
+.TP
+.B \-h, \-\-help 
+Show a summary of options.
+.TP
+.B \-f
+Prevent forking in foreground mode
+
+.br
+.SH SEE ALSO
+.B yafray(1)
+
+.br
+.SH AUTHORS
+This manpage was written for a Debian GNU/Linux system by Daniel Mester
+<mester@uni-bremen.de> and updated by Cyril Brulebois
+<cyril.brulebois@enst-bretagne.fr>.
+
+
--- blender-2.45-1~bpo40.orig/debian/watch
+++ blender-2.45-1~bpo40/debian/watch
@@ -0,0 +1,3 @@
+version=3
+http://download.blender.org/source/blender-([\.\d]+[a-z]{0,1})\.tar\.gz \
+  debian uupdate
--- blender-2.45-1~bpo40.orig/debian/links
+++ blender-2.45-1~bpo40/debian/links
@@ -0,0 +1,2 @@
+usr/share/man/man1/blender.1 usr/share/man/man1/blender-bin.1
+usr/share/man/man1/blender.1 usr/share/man/man1/blenderplayer.1
--- blender-2.45-1~bpo40.orig/debian/rules
+++ blender-2.45-1~bpo40/debian/rules
@@ -0,0 +1,165 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+# GNU copyright 1997 to 1999 by Joey Hess.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+# Include dpatch stuff.
+include /usr/share/dpatch/dpatch.make
+
+# Lower optimization on mips and mispel in order to
+# circumvent ICE, see bug#354439.
+DEB_HOST_ARCH	?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
+ifneq (,$(findstring $(DEB_HOST_ARCH),mips mipsel))
+	COMPILER ?= REL_CFLAGS=-O1 REL_CCFLAGS=-O1
+endif
+
+# Accept a "ccache" option to speed up maintainer rebuilds
+ifneq (,$(findstring $(DEB_BUILD_OPTIONS),ccache))
+	CC = "ccache gcc"
+	CXX = "ccache g++"
+endif
+
+CFLAGS = -Wall -g
+
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+	CFLAGS += -O0
+else
+	CFLAGS += -O2
+endif
+
+build: build-stamp
+build-stamp: patch-stamp
+	dh_testdir
+	ln -sf /usr/share/misc/config.guess	source/tools/guess/config.guess
+	ln -sf /usr/share/misc/config.guess	extern/bFTGL/unix/config.guess
+	ln -sf /usr/share/misc/config.sub	extern/bFTGL/unix/config.sub
+
+	# Add user specific config (without patching)
+	cp $(CURDIR)/debian/misc/user-config.py $(CURDIR)
+
+	# Remove libdc1394 on non-Linux arch
+ifeq ($(DEB_HOST_ARCH_OS),kfreebsd)
+	sed -i -e 's/libdc1394//' $(CURDIR)/user-config.py
+endif
+
+	# Add here commands to compile the package.
+	scons WITH_BF_PLAYER=1 WITH_BF_OPENAL=0 BF_FANCY=0 $(COMPILER) CC=$(CC) CXX=$(CXX)
+
+	# Build plugins by hand
+	install -d $(CURDIR)/install/linux2/plugins/include
+	install -m 644 source/blender/blenpluginapi/*.h $(CURDIR)/install/linux2/plugins/include
+	chmod +x $(CURDIR)/install/linux2/plugins/bmake
+	$(MAKE) -C $(CURDIR)/install/linux2/plugins $(COMPILER)
+
+	touch $@
+
+clean: unpatch
+	dh_testdir
+	dh_testroot
+	rm -f build-stamp configure-stamp \
+		source/tools/guess/config.guess \
+		extern/bFTGL/unix/config.guess \
+		extern/bFTGL/unix/config.sub
+
+	# Add here commands to clean up after the build process.
+	cp $(CURDIR)/debian/misc/user-config.py $(CURDIR)
+	-scons clean BF_FANCY=0
+	rm -f $(CURDIR)/user-config.py
+
+	# Remove *.pycs
+	dh_clean tools/*.pyc tools/scons/*.pyc tools/scons/bs/*.pyc
+
+	# Clean plugins (non needed? done by scons now ??)
+	#-$(MAKE) -C $(CURDIR)/install/linux2/plugins clean
+	rm -rf $(CURDIR)/install/linux2/plugins/include
+
+        # Ensure that the clean target does its job
+	rm -rf $(CURDIR)/build
+	rm -rf $(CURDIR)/install
+	rm -rf $(CURDIR)/intern/guardedalloc/intern/mallocn.o
+	rm -rf $(CURDIR)/linux2
+	rm -rf $(CURDIR)/obj/*
+
+install: build
+	dh_testdir
+	dh_testroot
+	dh_clean -k 
+	dh_installdirs
+
+	# Add here commands to install the package into debian/blender.
+	install -m 755 $(CURDIR)/install/linux2/blender $(CURDIR)/debian/blender/usr/bin/blender-bin
+	install -m 755 $(CURDIR)/debian/blender-wrapper $(CURDIR)/debian/blender/usr/bin/blender
+	install -m 755 $(CURDIR)/install/linux2/blenderplayer $(CURDIR)/debian/blender/usr/bin/blenderplayer
+
+	# Install menus & icons
+	install -m 644 $(CURDIR)/debian/misc/blender-*.desktop $(CURDIR)/debian/blender/usr/share/applications
+	install -m 644 $(CURDIR)/debian/misc/blender.xpm $(CURDIR)/debian/blender/usr/share/pixmaps
+
+	# Install all (freedesktop) icon sizes
+	install -d $(CURDIR)/debian/blender/usr/share/icons/hicolor/16x16/apps
+	install -d $(CURDIR)/debian/blender/usr/share/icons/hicolor/22x22/apps
+	install -d $(CURDIR)/debian/blender/usr/share/icons/hicolor/32x32/apps
+	install -d $(CURDIR)/debian/blender/usr/share/icons/hicolor/scalable/apps
+	install -m 644 $(CURDIR)/release/freedesktop/icons/16x16/blender.png $(CURDIR)/debian/blender/usr/share/icons/hicolor/16x16/apps
+	install -m 644 $(CURDIR)/release/freedesktop/icons/22x22/blender.png $(CURDIR)/debian/blender/usr/share/icons/hicolor/22x22/apps
+	install -m 644 $(CURDIR)/release/freedesktop/icons/32x32/blender.png $(CURDIR)/debian/blender/usr/share/icons/hicolor/32x32/apps
+	install -m 644 $(CURDIR)/release/freedesktop/icons/32x32/blender.svg $(CURDIR)/debian/blender/usr/share/icons/hicolor/32x32/apps
+	install -m 644 $(CURDIR)/release/freedesktop/icons/scalable/blender.svg $(CURDIR)/debian/blender/usr/share/icons/hicolor/scalable/apps
+
+	# Install plugins
+	install -d $(CURDIR)/debian/blender/usr/lib/blender/plugins/sequence
+	install -d $(CURDIR)/debian/blender/usr/lib/blender/plugins/texture
+	install -m 644 $(CURDIR)/install/linux2/plugins/sequence/*.so $(CURDIR)/debian/blender/usr/lib/blender/plugins/sequence
+	install -m 644 $(CURDIR)/install/linux2/plugins/texture/*.so $(CURDIR)/debian/blender/usr/lib/blender/plugins/texture
+
+	# Install miscellaneous files under /usr/lib/blender
+	cp -a $(CURDIR)/release/scripts/bpydata $(CURDIR)/debian/blender/usr/lib/blender
+	cp -a $(CURDIR)/release/scripts $(CURDIR)/debian/blender/usr/lib/blender
+	cp -a $(CURDIR)/install/linux2/.blender/locale $(CURDIR)/debian/blender/usr/lib/blender
+	install -m 644 $(CURDIR)/release/VERSION $(CURDIR)/debian/blender/usr/lib/blender
+	install -m 644 $(CURDIR)/install/linux2/.blender/.Blanguages $(CURDIR)/debian/blender/usr/lib/blender
+	install -m 644 $(CURDIR)/install/linux2/.blender/.bfont.ttf $(CURDIR)/debian/blender/usr/lib/blender
+
+	# Fix permissions for python scripts
+	find $(CURDIR)/debian/blender/usr/lib/blender/scripts/ -name "*.py" -exec chmod -R 644 '{}' \;
+
+	# Remove CVS dirs in package directory
+	-find $(CURDIR)/debian/blender -name CVS -type d -exec rm -rf '{}' \;
+
+	# Install lintian overrides file
+	cp $(CURDIR)/debian/blender.lintian-overrides \
+	   $(CURDIR)/debian/blender/usr/share/lintian/overrides/blender
+
+	cp $(CURDIR)/debian/blender.linda-overrides \
+	   $(CURDIR)/debian/blender/usr/share/linda/overrides/blender
+
+
+# Build architecture-independent files here.
+binary-indep: build install
+# We have nothing to do by default.
+
+# Build architecture-dependent files here.
+binary-arch: build install
+	dh_testdir
+	dh_testroot
+	dh_installchangelogs 
+	dh_installdocs
+	dh_installmenu
+	dh_installman $(CURDIR)/debian/blender.1
+	dh_desktop
+	dh_link
+	dh_strip
+	dh_compress
+	dh_fixperms
+	dh_pycentral
+	dh_installdeb
+	dh_shlibdeps
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install
--- blender-2.45-1~bpo40.orig/debian/NEWS
+++ blender-2.45-1~bpo40/debian/NEWS
@@ -0,0 +1,16 @@
+blender (2.42a-6) unstable; urgency=high
+
+  * Blender is not 64-bit safe (yet), in particular with respect to saved and
+    loaded files, especially when that happens between 32-bit and 64-bit
+    systems. Attention was paid to 64-bit systems, efforts were made, but not
+    enough to get a releasable version on those systems.
+
+  * So, be aware that there might be issues with files manipulated on 64-bit
+    systems, although everything could be or look fine. The file format might
+    also change in further releases to make it 64-bit safe, which might lead
+    to incompatibilities with the files saved with the current 64-bit builds.
+
+  * More information is available in the README.Debian file, available under
+    /usr/share/doc/blender/.
+
+ -- Cyril Brulebois <cyril.brulebois@enst-bretagne.fr>  Mon, 14 Mar 2007 12:01:01 +0100
