##// END OF EJS Templates
builddeb: new script for building a deb package...
builddeb: new script for building a deb package Future work will allow us to use docker to build debs. Right now this doesn't install any config files. I plan to do that as a followup, but getting something basic and working checked in seems like more of a priority than getting everything done in one big step. This also does not create a source deb yet. I haven't looked into that process. Note that this declares incompatibility with the `mercurial-common` package. It's typical for debian packages to be split between architecture-independent bits and native bits, meaning the python bits downstream live in mercurial-common and the c extension bits live in mercurial. We don't do that because we want to (ideally) give users a single deb file to install.

File last commit:

r24839:6e38b6fc stable
r24971:ab75baaf default
Show More
mercurial.wxs
161 lines | 7.0 KiB | text/plain | TextLexer
<?xml version='1.0' encoding='windows-1252'?>
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
<!-- Copyright 2010 Steve Borho <steve@borho.org>
This software may be used and distributed according to the terms of the
GNU General Public License version 2 or any later version. -->
<?include guids.wxi ?>
<?include defines.wxi ?>
<?if $(var.Platform) = "x64" ?>
<?define PFolder = ProgramFiles64Folder ?>
<?else?>
<?define PFolder = ProgramFilesFolder ?>
<?endif?>
<Product Id='*'
Name='Mercurial $(var.Version) ($(var.Platform))'
UpgradeCode='$(var.ProductUpgradeCode)'
Language='1033' Codepage='1252' Version='$(var.Version)'
Manufacturer='Matt Mackall and others'>
<Package Id='*'
Keywords='Installer'
Description="Mercurial distributed SCM (version $(var.Version))"
Comments='$(var.Comments)'
Platform='$(var.Platform)'
Manufacturer='Matt Mackall and others'
InstallerVersion='300' Languages='1033' Compressed='yes' SummaryCodepage='1252' />
<Media Id='1' Cabinet='mercurial.cab' EmbedCab='yes' DiskPrompt='CD-ROM #1'
CompressionLevel='high' />
<Property Id='DiskPrompt' Value="Mercurial $(var.Version) Installation [1]" />
<Condition Message='Mercurial MSI installers require Windows XP or higher'>
VersionNT >= 501
</Condition>
<Property Id="INSTALLDIR">
<ComponentSearch Id='SearchForMainExecutableComponent'
Guid='$(var.ComponentMainExecutableGUID)' />
</Property>
<!--Property Id='ARPCOMMENTS'>any comments</Property-->
<Property Id='ARPCONTACT'>mercurial@selenic.com</Property>
<Property Id='ARPHELPLINK'>http://mercurial.selenic.com/wiki/</Property>
<Property Id='ARPURLINFOABOUT'>http://mercurial.selenic.com/about/</Property>
<Property Id='ARPURLUPDATEINFO'>http://mercurial.selenic.com/downloads/</Property>
<Property Id='ARPHELPTELEPHONE'>http://mercurial.selenic.com/wiki/Support</Property>
<Property Id='ARPPRODUCTICON'>hgIcon.ico</Property>
<Property Id='INSTALLEDMERCURIALPRODUCTS' Secure='yes'></Property>
<Property Id='REINSTALLMODE'>amus</Property>
<!--Auto-accept the license page-->
<Property Id='LicenseAccepted'>1</Property>
<Directory Id='TARGETDIR' Name='SourceDir'>
<Directory Id='$(var.PFolder)' Name='PFiles'>
<Directory Id='INSTALLDIR' Name='Mercurial'>
<Component Id='MainExecutable' Guid='$(var.ComponentMainExecutableGUID)' Win64='$(var.IsX64)'>
<File Id='hgEXE' Name='hg.exe' Source='dist\hg.exe' KeyPath='yes' />
<Environment Id="Environment" Name="PATH" Part="last" System="yes"
Permanent="no" Value="[INSTALLDIR]" Action="set" />
</Component>
<Component Id='ReadMe' Guid='$(var.ReadMe.guid)' Win64='$(var.IsX64)'>
<File Id='ReadMe' Name='ReadMe.html' Source='contrib\win32\ReadMe.html'
KeyPath='yes'/>
</Component>
<Component Id='COPYING' Guid='$(var.COPYING.guid)' Win64='$(var.IsX64)'>
<File Id='COPYING' Name='COPYING.rtf' Source='contrib\wix\COPYING.rtf'
KeyPath='yes'/>
</Component>
<Directory Id='HGRCD' Name='hgrc.d'>
<Component Id='mercurial.rc' Guid='$(var.mercurial.rc.guid)' Win64='$(var.IsX64)'>
<File Id='mercurial.rc' Name='Mercurial.rc' Source='contrib\win32\mercurial.ini'
ReadOnly='yes' KeyPath='yes'/>
</Component>
<Component Id='mergetools.rc' Guid='$(var.mergetools.rc.guid)' Win64='$(var.IsX64)'>
<File Id='mergetools.rc' Name='MergeTools.rc' Source='mercurial\default.d\mergetools.rc'
ReadOnly='yes' KeyPath='yes'/>
</Component>
</Directory>
</Directory>
</Directory>
<Directory Id="ProgramMenuFolder" Name="Programs">
<Directory Id="ProgramMenuDir" Name="Mercurial $(var.Version)">
<Component Id="ProgramMenuDir" Guid="$(var.ProgramMenuDir.guid)" Win64='$(var.IsX64)'>
<RemoveFolder Id='ProgramMenuDir' On='uninstall' />
<RegistryValue Root='HKCU' Key='Software\Mercurial\InstallDir' Type='string'
Value='[INSTALLDIR]' KeyPath='yes' />
<Shortcut Id='UrlShortcut' Directory='ProgramMenuDir' Name='Mercurial Web Site'
Target='[ARPHELPLINK]' Icon="hgIcon.ico" IconIndex='0' />
</Component>
</Directory>
</Directory>
<?if $(var.Platform) = "x86" ?>
<Merge Id='VCRuntime' DiskId='1' Language='1033'
SourceFile='$(var.VCRedistSrcDir)\microsoft.vcxx.crt.x86_msm.msm' />
<Merge Id='VCRuntimePolicy' DiskId='1' Language='1033'
SourceFile='$(var.VCRedistSrcDir)\policy.x.xx.microsoft.vcxx.crt.x86_msm.msm' />
<?else?>
<Merge Id='VCRuntime' DiskId='1' Language='1033'
SourceFile='$(var.VCRedistSrcDir)\microsoft.vcxx.crt.x64_msm.msm' />
<Merge Id='VCRuntimePolicy' DiskId='1' Language='1033'
SourceFile='$(var.VCRedistSrcDir)\policy.x.xx.microsoft.vcxx.crt.x64_msm.msm' />
<?endif?>
</Directory>
<Feature Id='Complete' Title='Mercurial' Description='The complete package'
Display='expand' Level='1' ConfigurableDirectory='INSTALLDIR' >
<Feature Id='MainProgram' Title='Program' Description='Mercurial command line app'
Level='1' Absent='disallow' >
<ComponentRef Id='MainExecutable' />
<ComponentRef Id='distOutput' />
<ComponentRef Id='ProgramMenuDir' />
<ComponentRef Id='ReadMe' />
<ComponentRef Id='COPYING' />
<ComponentRef Id='mercurial.rc' />
<ComponentRef Id='mergetools.rc' />
<ComponentRef Id='helpFolder' />
<ComponentGroupRef Id='templatesFolder' />
<MergeRef Id='VCRuntime' />
<MergeRef Id='VCRuntimePolicy' />
</Feature>
<Feature Id='Locales' Title='Translations' Description='Translations' Level='1'>
<ComponentGroupRef Id='localeFolder' />
<ComponentRef Id='i18nFolder' />
</Feature>
<Feature Id='Documentation' Title='Documentation' Description='HTML man pages' Level='1'>
<ComponentGroupRef Id='docFolder' />
</Feature>
<Feature Id='Misc' Title='Miscellaneous' Description='Contributed scripts' Level='1'>
<ComponentGroupRef Id='contribFolder' />
</Feature>
</Feature>
<UIRef Id="WixUI_FeatureTree" />
<UIRef Id="WixUI_ErrorProgressText" />
<WixVariable Id="WixUILicenseRtf" Value="contrib\wix\COPYING.rtf" />
<Icon Id="hgIcon.ico" SourceFile="contrib/win32/mercurial.ico" />
<Upgrade Id='$(var.ProductUpgradeCode)'>
<UpgradeVersion
IncludeMinimum='yes' Minimum='0.0.0' IncludeMaximum='no' OnlyDetect='no'
Property='INSTALLEDMERCURIALPRODUCTS' />
</Upgrade>
<InstallExecuteSequence>
<RemoveExistingProducts After='InstallInitialize'/>
</InstallExecuteSequence>
</Product>
</Wix>