[Player-cvs] installer/common common.py,1.8,1.9

[Player-cvs] installer/common common.py,1.8,1.9

dyek at helixcommunity.org dyek at helixcommunity.org
Thu Oct 2 22:54:51 PDT 2008


Update of /cvsroot/player/installer/common
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv12033/player/installer/common

Modified Files:
	common.py 
Log Message:
Merge from 310Atlas.
Installer Changes: Package Names And Package File Names Made Consistent.
The player rpm package, that had been around for a few years, was using RealPlayer package name.

There is no way to make a .deb package to use RealPlayer as its package name.
Debian package names are lower case and cannot use Camel Case or upper case.

To make package names between the two consistent, we adopted hxplay and realplay as the package name.

The current installer and package file names created by the packaging tools are as follow:
hxplay-11.0.1.1056-linux-2.2-libc6-gcc32-i586.bin
HelixPlayer-11.0.1.1056-20081001.i586.rpm
hxplay_11.0.1.1056_i386.deb

To make the package filenames consistent, several changes and tricks are needed.

The SetInstallerName() method in installer/common/scripts/installer.py used by the player is changed by replacing sysinfo.id (SYSTEM_ID) with date as the release number.
The .bin extension for the console installer is removed, so that the installer_name can be shared among all 3 kinds of installers.
This is done in a way not to affect other project using MakeInstaller(), for example.

There is no documented way for the rpm build process to specify the output filename.
The player rpm module now defines the _rpmfilename custom macro as a trick to specify the output package filename.

For .deb packaging system, the packagefilename is specified in the following command:
dh_builddeb --filename packagefilename

However, once --filename is used, the outer dpkg-buildpackage script and dpkg-genchanges script failed when it cannot find the original package filename.

dpkg-buildpackage is simply not written to handle package filename being set explicitly.
There is no good solution except to create a symbolic link providing the expected package filename.

Now, the package filenames are:
hxplay-11.3.0.13-20081002.i586.rpm
hxplay-11.3.0.13-20081002.i586.deb
hxplay-11.3.0.13-20081002.i586.bin

Files Modified:
installer/common/scripts/installer.py   - Changed SetInstallerName()
installer/common/scripts/unixinstaller.py - Moved ext block from installer.py
player/installer/common/common.py       - Move inst.target block from Umakefil
player/installer/rpm/Umakefil           - Specify rpm filename explicitly
player/installer/rpm/HelixPlayer.spec   - Change package name to hxplay
player/installer/rpm/RealPlayer-rn.spec - Change package name to realplay
player/installer/deb/Umakefil           - Specify deb filename.
player/installer/deb/common_deb/rules   - Pull package filename from installer.py

Refer to the following URLs for more information:
http://lists.helixcommunity.org/pipermail/installer-dev/2008-October/000069.html
http://lists.helixcommunity.org/pipermail/player-dev/2008-October/003935.html



Index: common.py
===================================================================
RCS file: /cvsroot/player/installer/common/common.py,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- common.py	30 Jun 2008 21:53:41 -0000	1.8
+++ common.py	3 Oct 2008 05:54:48 -0000	1.9
@@ -69,7 +69,22 @@
 
 inst.SetVersionFromFile(os.path.join(project.src_root_path, "player", "app",
                                      "gtk", verfile))
-inst.SetInstallerName()
+
+# XXXNH: a bit of a hack, but if we build for i586 we want to use that arch,
+# not the i386 reported by sysinfo.arch
+package_arch = ''
+if string.find(sysinfo.distribution_id,"i486") >= 0:
+    package_arch = "i486"
+elif string.find(sysinfo.distribution_id,"i586") >= 0:
+    package_arch = "i586"
+elif string.find(sysinfo.distribution_id,"i686") >= 0:
+    target = "i686" # ditto for i686
+elif sysinfo.arch == "powerpc":
+    package_arch = "ppc"
+else:
+    package_arch = sysinfo.arch
+
+inst.SetInstallerName(package_arch)
 inst.tarball = os.path.join(project.src_root_path, "player", "installer",
                             "archive", "install.tar")
 inst.archive_file = os.path.join(project.src_root_path, "player", "installer",
@@ -80,7 +95,7 @@
 #    execfile("common_win32.py")
 #elif (platform.type == "unix"):
 #    execfile("common_unix.py")
-                
+
 project.writeln("")
 #######################################################################
 




More information about the Player-cvs mailing list
 

Site Map   |   Terms of Use   |   Privacy Policy   |   Contact Us

Copyright © 1995-2007 RealNetworks, Inc. All rights reserved. RealNetworks and Helix are trademarks of RealNetworks.
All other trademarks or registered trademarks are the property of their respective holders.