Show whole topic Nov 17, 2010 2:32 pm
MickeyKnox Offline
Mitglied
Registered since: Nov 08, 2010
Location: -


Subject: Re: maxr-resinstaller
I have 0.2.6. I installed the debian package, because the one for ubuntu seemed outdated.
But i used the ubuntu package for the resinstaller (version 0.5).

I managed to run the resinstaller directly, and it worked. Now i'm having sound problems
however, some crackling, and some graphics look broken (the Mine was just some red splash).
Maybe the versions i mixed aren't compatible?

As for the svn version: I couldn't find the address of the svn repository on your website.
Haven't i looked deep enough?

Finally, here comes the script:

DownloadSource code (Text):
  1. #!/usr/bin/env python
  2.  
  3. import readline
  4. import os
  5. import tempfile
  6. import sys
  7.  
  8. PATHNOTSET = True
  9. LANGNOTSET = True
  10.  
  11. def getDirectorySize(directory):
  12.     dir_size = 0
  13.     for (path, dirs, files) in os.walk(directory):
  14.         for file in files:
  15.             filename = os.path.join(path, file)
  16.             dir_size += os.path.getsize(filename)
  17.     return dir_size
  18.  
  19. def controlFile(dir_size):
  20.     controlFileData = """Package: maxr-original
  21. Version: 0.2.5-2
  22. Architecture: all
  23. Maintainer: maxr-resinstaller
  24. Installed-Size: """ + str(dir_size) + """
  25. Depends: maxr
  26. Replaces: maxr
  27. Section: games
  28. Priority: extra
  29. Homepage: http://www.maxr.org
  30. Description: M.A.X.R. - M.A.X. Original Data
  31.  Set of M.A.X. files to provide the original look & feel
  32. """
  33.     return controlFileData
  34.  
  35. def raw_input_with_default(prompt, default):
  36.     def pre_input_hook():
  37.         readline.insert_text(default)
  38.         readline.redisplay()
  39.  
  40.     readline.set_pre_input_hook(pre_input_hook)
  41.     try:
  42.         return raw_input(prompt)
  43.     finally:
  44.         readline.set_pre_input_hook(None)
  45.  
  46. print ""
  47. print "------------------------------------"
  48. print "M.A.X.R. Original Resource Installer"
  49. print "------------------------------------"
  50. print ""
  51. while PATHNOTSET:
  52.   ORIGMAX_PATH = raw_input_with_default("Specify the path containing the original data (f.e. CDROM): ", "/media/MAX")
  53.   print ""
  54.   if (os.path.isfile(ORIGMAX_PATH + "/max.res")):
  55.     FOUNDRES = True
  56.     PATHNOTSET = False
  57.   else:
  58.     if (os.path.isfile(ORIGMAX_PATH + "/max/max.res")):
  59.       FOUNDRES = True
  60.       ORIGMAX_PATH = ORIGMAX_PATH + "/max"
  61.       PATHNOTSET = False
  62.     else:
  63.       FOUNDRES = False
  64.       ORIGMAX_PATH = False
  65.  
  66. LANGUAGES = ['english']
  67.  
  68. if (os.path.isdir(ORIGMAX_PATH + "/german")):
  69.   LANGUAGES.append('german')
  70. if (os.path.isdir(ORIGMAX_PATH + "/french")):
  71.   LANGUAGES.append('french')
  72. if (os.path.isdir(ORIGMAX_PATH + "/italian")):
  73.   LANGUAGES.append('italian')
  74.  
  75. if (len(LANGUAGES) > 1):
  76.   while LANGNOTSET:
  77.     LANGUAGESTRING = ""
  78.     for x in LANGUAGES:
  79.        LANGUAGESTRING = LANGUAGESTRING + x + ", "
  80.  
  81.     LANGUAGE = raw_input_with_default("Specify language (" + LANGUAGESTRING[:-2] + "): ", "english")
  82.     if LANGUAGE in LANGUAGES:
  83.       if (LANGUAGE != 'english'):
  84.         ORIGMAXL_PATH = ORIGMAX_PATH + "/" + LANGUAGE
  85.       LANGNOTSET = False
  86.  
  87. TEMP_PATH=tempfile.mkdtemp()
  88. os.makedirs(TEMP_PATH + "/usr/share/maxr")
  89. os.makedirs(TEMP_PATH + "/usr/share/maxr/gfx")
  90. os.makedirs(TEMP_PATH + "/usr/share/maxr/fx")
  91. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings")
  92. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/platform")
  93. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/energy_big")
  94. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/storage_metal")
  95. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/gun_missel")
  96. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/storage_oil")
  97. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/gun_ari")
  98. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/training")
  99. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/goldraff")
  100. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/landmine")
  101. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/energy_small")
  102. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/habitat")
  103. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/storage_gold")
  104. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/fac_big")
  105. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/dock")
  106. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/gun_turret")
  107. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/fac_alien")
  108. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/mine")
  109. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/barracks")
  110. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/fac_air")
  111. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/pad")
  112. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/hangar")
  113. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/mine_deep")
  114. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/radar")
  115. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/fac_small")
  116. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/block")
  117. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/connector")
  118. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/seamine")
  119. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/shield")
  120. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/road")
  121. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/gun_aa")
  122. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/research")
  123. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/bridge")
  124. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/fac_ship")
  125. os.makedirs(TEMP_PATH + "/usr/share/maxr/buildings/depot")
  126. os.makedirs(TEMP_PATH + "/usr/share/maxr/mve")
  127. os.makedirs(TEMP_PATH + "/usr/share/maxr/fonts")
  128. os.makedirs(TEMP_PATH + "/usr/share/maxr/save")
  129. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles")
  130. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/commando")
  131. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/alien_plane")
  132. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/cargoship")
  133. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/konstrukt")
  134. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/sea_minelayer")
  135. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/missel")
  136. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/fighter")
  137. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/alien_tank")
  138. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/alien_ship")
  139. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/sub")
  140. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/sub/sub")
  141. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/missel_ship")
  142. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/sea_transport")
  143. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/trans_gold")
  144. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/alien_assault")
  145. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/air_transport")
  146. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/mobile_aa")
  147. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/apc")
  148. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/scanner")
  149. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/cluster")
  150. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/infantery")
  151. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/corvet")
  152. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/surveyor")
  153. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/scout")
  154. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/escort")
  155. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/tank")
  156. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/pionier")
  157. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/minelayer")
  158. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/assault")
  159. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/trans_oil")
  160. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/gunboat")
  161. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/bomber")
  162. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/repair")
  163. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/bulldozer")
  164. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/trans_metal")
  165. os.makedirs(TEMP_PATH + "/usr/share/maxr/vehicles/awac")
  166. os.makedirs(TEMP_PATH + "/usr/share/maxr/voices")
  167. os.makedirs(TEMP_PATH + "/usr/share/maxr/languages")
  168. os.makedirs(TEMP_PATH + "/usr/share/maxr/sounds")
  169. os.makedirs(TEMP_PATH + "/usr/share/maxr/maps")
  170. os.makedirs(TEMP_PATH + "/usr/share/maxr/music")
  171. os.system("/usr/share/maxr/resinstaller " + ORIGMAX_PATH + " " + TEMP_PATH + "/usr/share/maxr/")
  172. os.system("/usr/share/maxr/resinstaller " + ORIGMAXL_PATH + " " + TEMP_PATH + "/usr/share/maxr/")
  173. print ""
  174. print "------------------------"
  175. print "Calculate directory size"
  176. print "------------------------"
  177. print ""
  178. os.makedirs(TEMP_PATH + "/DEBIAN")
  179.  
  180. fout = open(TEMP_PATH + "/DEBIAN/control", "w")
  181. fout.write(controlFile(getDirectorySize(TEMP_PATH +"/usr")))
  182. fout.close()
  183. print ""
  184. print "------------------------------------------"
  185. print "Generateing MD5SUMS (Could take some time)"
  186. print "------------------------------------------"
  187. print ""
  188.  
  189. os.system("cd " + TEMP_PATH + " >/dev/null ; find . -type f ! -regex '.*/DEBIAN/.*' -printf '%P\\0' | xargs -r0 md5sum > DEBIAN/md5sums")
  190.  
  191. print ""
  192. print "-----------------------"
  193. print "Generateing DEB package"
  194. print "-----------------------"
  195. print ""
  196.  
  197. os.system("cd " + TEMP_PATH + " >/dev/null ; dpkg-deb -b . ../maxr-original_0.2.5-2_all.deb")
  198. os.system("rm -rf TEMP_PATH")
  199.  
  200. print ""
  201. print "------------------------------------------------------------"
  202. print "Your package is ready at /tmp/maxr-original_0.2.5-2_all.deb "
  203. print ""
  204. print " Install it with dpkg -i /tmp/maxr-original_0.2.5-2_all.deb"
  205. print "------------------------------------------------------------"
  206. print ""