packaging stuff

This commit is contained in:
Mike Dilger 2023-09-15 14:19:28 +12:00
parent f225fe8bf4
commit 81ee73534b
6 changed files with 136 additions and 0 deletions

View File

@ -91,3 +91,6 @@ assets = [
["packaging/debian/gossip.desktop", "/usr/share/applications/gossip.desktop", "644"],
]
features = [ "lang-cjk" ]
[package.metadata.appimage]
auto_link = true

1
icon.png Symbolic link
View File

@ -0,0 +1 @@
gossip.png

View File

@ -1,3 +1,56 @@
0. DON'T update dependencies. DON'T 'cargo update'. Do that kind of stuff right after
releasing. Because that stuff presents risk.
1. Update the documentation including:
README.md
help page in the UI
2. Stabilize the code. Make all these happy:
$ cargo clippy
$ cargo fmt
$ cargo test
3. Edit Cargo.toml and change the version (remove the -unstable).
Compile so you get a new Cargo.lock
Commit these 2 new Cargo files as a commit named after the version.
4. Tag this as vVERSION, and push the tag
5. Build the debian:
$ cd debian
$ ./deb.sh
6. Build the appimage
$ cd appimage
$ cargo appimage --features="lang-cjk,video-ffmpeg"
7. Build the windows
$ cd windows
Follow the windows/README.txt
8. Build the macos
$ cd macos
$ ./build_macos.sh
$ ./build_macos_intel.sh
9. Bundle the files, create SHA256 hashes
10. Upload release to github
11. Announce release on nostr under gossip account
-----------------
This is a draft of the steps taken to make a release.
I intend to flesh this out as I actually make releases.

View File

@ -0,0 +1,15 @@
AppImage:
Do not do this (it is broken):
(cargo-appimage 2.0.1 has a severe bug)
$ cargo install cargo-appimage
Instead do this:
$ git clone https://github.com/mikedilger/cargo-appimage
$ cd cargo-appimage
$ cargo install --path .
Then use it in gossip:
$ cargo appimage --features="lang-cjk,video-ffmpeg"

View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
<Package Codepage="1252" Manufacturer="Gossip" ProductCode="{704f1353-b05c-46a5-82d4-7ec8913fd199}" Language="1033" Name="Gossip" Version="0.7.0" UpgradeCode="{F1794F78-CFB1-4056-A1F7-DA48B956456C}" InstallerVersion="200">
<StandardDirectory Id="DesktopFolder" />
<StandardDirectory Id="ProgramFilesFolder">
<Directory Id="Gossip" Name="Gossip">
<Directory Id="INSTALLDIR" Name="Gossip">
<Component Id="MainExecutable" Guid="{1B8CD459-FB86-42B1-8A42-B4D9848179DD}" Bitness="always32">
<Shortcut Id="startmenuShortcut" Directory="ProgramMenuDir" Icon="gossip.ico" IconIndex="0" WorkingDirectory="INSTALLDIR" Name="Gossip" Advertise="yes" />
<Shortcut Id="desktopShortcut" Directory="DesktopFolder" Icon="gossip.ico" IconIndex="0" WorkingDirectory="INSTALLDIR" Name="Gossip" Advertise="yes" />
<File Id="GossipEXE" Name="gossip.exe" KeyPath="yes" Source="gossip.exe" />
</Component>
</Directory>
</Directory>
</StandardDirectory>
<StandardDirectory Id="ProgramMenuFolder">
<Directory Id="ProgramMenuDir" Name="Gossip">
<Component Id="ProgramMenuDir" Guid="{508C7945-FD8F-429D-AF84-6CDBA5AAC575}" Bitness="always32">
<RemoveFolder Id="ProgramMenuDir" On="uninstall" Directory="ProgramMenuDir" />
<RegistryValue Id="regfVKS7tdq5lPRijYcmmmk_.ClslQ" Key="Software\Gossip\gossip" Root="HKCU" Type="string" Value="" KeyPath="yes" />
</Component>
</Directory>
</StandardDirectory>
<Icon Id="gossip.ico" SourceFile="gossip.ico" />
<Feature Id="Complete" Level="1">
<ComponentRef Id="ProgramMenuDir" />
<ComponentRef Id="MainExecutable" Primary="yes" />
</Feature>
<Media Id="1" EmbedCab="yes" Cabinet="cab1.cab" />
<SummaryInformation Description="Gossip 0.7.0 Installer" />
</Package>
</Wix>

View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
<Package Codepage="1252" Manufacturer="Gossip" ProductCode="{d9c51143-248f-4ddd-83a9-3290a25a4da8}" Language="1033" Name="Gossip" Version="0.8.0" UpgradeCode="{F1794F78-CFB1-4056-A1F7-DA48B956456C}" InstallerVersion="200">
<StandardDirectory Id="DesktopFolder" />
<StandardDirectory Id="ProgramFilesFolder">
<Directory Id="Gossip" Name="Gossip">
<Directory Id="INSTALLDIR" Name="Gossip">
<Component Id="MainExecutable" Guid="{1B8CD459-FB86-42B1-8A42-B4D9848179DD}" Bitness="always32">
<Shortcut Id="startmenuShortcut" Directory="ProgramMenuDir" Icon="gossip.ico" IconIndex="0" WorkingDirectory="INSTALLDIR" Name="Gossip" Advertise="yes" />
<Shortcut Id="desktopShortcut" Directory="DesktopFolder" Icon="gossip.ico" IconIndex="0" WorkingDirectory="INSTALLDIR" Name="Gossip" Advertise="yes" />
<File Id="GossipEXE" Name="gossip.exe" KeyPath="yes" Source="gossip.exe" />
</Component>
</Directory>
</Directory>
</StandardDirectory>
<StandardDirectory Id="ProgramMenuFolder">
<Directory Id="ProgramMenuDir" Name="Gossip">
<Component Id="ProgramMenuDir" Guid="{508C7945-FD8F-429D-AF84-6CDBA5AAC575}" Bitness="always32">
<RemoveFolder Id="ProgramMenuDir" On="uninstall" Directory="ProgramMenuDir" />
<RegistryValue Id="regfVKS7tdq5lPRijYcmmmk_.ClslQ" Key="Software\Gossip\gossip" Root="HKCU" Type="string" Value="" KeyPath="yes" />
</Component>
</Directory>
</StandardDirectory>
<Icon Id="gossip.ico" SourceFile="gossip.ico" />
<Feature Id="Complete" Level="1">
<ComponentRef Id="ProgramMenuDir" />
<ComponentRef Id="MainExecutable" Primary="yes" />
</Feature>
<Media Id="1" EmbedCab="yes" Cabinet="cab1.cab" />
<SummaryInformation Description="Gossip 0.8.0 Installer" />
</Package>
</Wix>