Opened 11 years ago

Closed 11 years ago

#5160 closed enhancement (duplicate)

New Win32Packager - compiles and creates stand-alone setup.exe

Reported by: arnonm@… Owned by: Isaac Richards
Priority: minor Milestone: 0.21.1
Component: mythtv Version: 0.21-fixes
Severity: medium Keywords: win32
Cc: Ticket locked: no

Description

This is a upgrade/new version of Win32packager. It consists of three files which should be in mythtv/contrib/win32

MythInstaller?.bat - which sould replace Win32packager.pl eventually. It is an uprade of the perl script wrapped in a batch file. mythsetup.iss - Innosetup script for the installer configuremysql.vbs - internal script to configure mysql mysql.gif - pretty obvious

Interested parties will probably be testers/developers of Win32, and packagers of the setup.

The new version has a number of key features:

  • re-packaged as a batch file, requiring only ActivePerl? installed on the machine
  • Support for head/revisions, trunk and release-fixes
  • Compiles mythtv, mythplugins and myththemes
  • Supports various options through command line options
  • Creates a Win32 setup package, based on innosetup, which is completely standalone for distribution.

Although still work in progress, it allows a frontend only, or full backend/frontend installation, including download of requirements (MySQL). A sample is available here based on release-021-fixes svn 16468

The script has been tested on a vanilla machine for a few configurations

  • trunk 16468, trunk head
  • release-021-fixes head and 16468

Some usages: MythInstaller?.bat -h

  • Print usage

MythInstaller?.bat -v

  • Compile mythtv based on trunk svn 16468

MythInstaller?.bat -v -r head

  • Compile mythtv based on trunk head

MythInstaller?.bat -v -b

  • Compile mythtv based on release-021-fixes svn 16468

MythInstaller?.bat -v -b -t

  • include some patches which are still not accepted and needed for Win32

MythInstaller?.bat -v -b -t -t

  • Same but package and create setup at the end

To download:

  • Until it is accepted into svn, download all the files in the patch and place in the same directory.

The script will temporarly move them into svn

Once I get some feedback, I will write up a wiki page, with some details of the scripts created on the way, and TODOs left

Attachments (5)

mysql.gif (1.2 KB) - added by arnonm@… 11 years ago.
mysql gif used by instaler
configuremysql.vbs (38 bytes) - added by arnonm@… 11 years ago.
Script used to configure mysql by win32 installer
ticket_1560.rar (30.6 KB) - added by arnonm@… 11 years ago.
Zip containing 4 required files
Mythinstaller.diff (5.4 KB) - added by arnonm@… 11 years ago.
Diff to Mythinstaller.bat as compared to changeset 16768 (minor spelling corrections)
files_16990.rar (6.8 KB) - added by arnonm@… 11 years ago.
Three files required for 16990 changes - placed in contrib/win32

Download all attachments as: .zip

Change History (22)

Changed 11 years ago by arnonm@…

Attachment: mysql.gif added

mysql gif used by instaler

Changed 11 years ago by arnonm@…

Attachment: configuremysql.vbs added

Script used to configure mysql by win32 installer

comment:1 Changed 11 years ago by arnonm@…

Two more files need to be added, but I keep on getting blocked

Arnon

comment:2 in reply to:  1 Changed 11 years ago by Matt S <skd5aner@…>

Replying to arnonm@gmail.com:

Two more files need to be added, but I keep on getting blocked

Arnon

ZIP them up then upload.

Changed 11 years ago by arnonm@…

Attachment: ticket_1560.rar added

Zip containing 4 required files

comment:3 Changed 11 years ago by arnonm@…

Done- all files required in zip (1560.rar) - typo in name

comment:4 Changed 11 years ago by davidbuzz@…

Arnonm, I notice that your revised perl code (now inside the .bat file ) is actally based apon an older version of the win32-packager.pl script, and is missing a number of improvements that exist in the latest SVN version (like speling corrections, limiting comments to 80chrs, and other assorted fixes) .

Can you please resubmit as patches against the latest version, or if you desire I can merge them, and upload a revised version (agains HEAD) of the .pl file for review. (email me personally, ta.).

Buzz.

Changed 11 years ago by arnonm@…

Attachment: Mythinstaller.diff added

Diff to Mythinstaller.bat as compared to changeset 16768 (minor spelling corrections)

comment:5 Changed 11 years ago by Nigel

  1. Having a .bat file to bootstrap this is a good idea
  1. It fails on an (empty) XP machine for me:
    C:\Documents and Settings\nigel\Desktop>MythInstaller.bat
    'Could' is not recognized as an internal or external command,
    operable program or batch file.
    The system cannot find the batch label specified - end
    
    C:\Documents and Settings\nigel\Desktop>
    

but I think I know enough about DOS to put an echo in there.

  1. It would be even better if it downloaded and installed Perl. I haven't managed to find a short URL on ActivePerl.com to do the download, but http://strawberryperl.com/download/strawberry-perl-5.10.0-final.exe will probably work.
  1. I think having a batch file which contains a perl script is a bit ugly and high maintenance. If I can get it to work, I will take all that out, and get the .bat to download and run the latest one from http://svn.mythtv.org/svn/trunk/mythtv/contrib/Win32/build/win32-packager.pl

comment:6 Changed 11 years ago by Nigel

Strawberry Perl installs at c:\strawberry\bin, so I tried ActivePerl?. When trying to install config-inifiles, it fails to find ppm.bat, because the DOS shell doesn't have C:\Perl\bin in its path. Correct that path in the script, then it does:

Downloading ActiveState Package Repository packlist...failed 500 Can't connect to ppm4.activestate.com:80 (Bad hostname 'ppm4.activestate.com')
Syncing site PPM database with .packlists...done
ppm.bat install failed: Can't find any package that provides Config-inifiles

because this machine is firewalled. Sigh. Will comment out all those sections.

comment:7 Changed 11 years ago by Nigel

(In [16984]) Windows build wrapper script, slightly based on original by Arnon Meshoulam. See #5160

comment:8 Changed 11 years ago by anonymous

Arnonm, I have integrated the majority of your remaining changes into a patch (v22) to win32-packager.pl that I've just uploaded to #4397, which also includes my initial QT4 support. Once that is in SVN, and you are happy I haven't missed any features that you added, this ticket can then be flagged for closure.

comment:9 Changed 11 years ago by Nigel

(In [16990]) Patch from David, based on patch by Arnon. See #4397, See #5160. Note that I made some formatting changes, changed the paths for the extra packaging files to contrib/Win32/build, and took out all Config::IniFiles?

comment:10 Changed 11 years ago by arnonm@…

Ok, thanks for that work - lets commit this and test it out. I think the $HOME\.mythtv is unnecessary on Win32 since we had a patch to move home to a more logical location.

Changed 11 years ago by arnonm@…

Attachment: files_16990.rar added

Three files required for 16990 changes - placed in contrib/win32

comment:11 Changed 11 years ago by anonymous

The build fails at the configure part, complaining about a broken shell.

Using the package script from fixes does not have this problem.

comment:12 Changed 11 years ago by andrei@…

anonymous: you are probably using old version of bash. Try bash --version and make sure you have version 3.1.0 (download from mingw site).

comment:13 Changed 11 years ago by Riz

It's 3.1 and was downloaded and installed by the script.

comment:14 Changed 11 years ago by Buzz <davidbuzz@…>

( please close this ticket - the issue you were having should be solved by the v23 patch in #4397 )

comment:15 Changed 11 years ago by Nigel

(In [17020]) Data file for creating a package using Inno Setup Script. From Arnon Meshoulam. See #5160.

comment:16 Changed 11 years ago by Nigel

Remaining work (two files) are documented in #5207

comment:17 Changed 11 years ago by Nigel

Resolution: duplicate
Status: newclosed
Note: See TracTickets for help on using tickets.