Skip to content

Commit 3d35f03

Browse files
committed
Version 1.9.1 changes
1 parent 6c1a452 commit 3d35f03

File tree

5 files changed

+50
-33
lines changed

5 files changed

+50
-33
lines changed

CHANGES

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
+ 1.9.1; 2025-11-05
2+
- BugFix: RPM build failing to copy artifacts at end of build process.
3+
14
+ 1.9.0; 2025-07-05
25
- BREAKING CHANGE: Embedded appimagetool removed in this release. Now requires appimagetool-x86_64.AppImage, appimagetool-aarch64.AppImage etc. to be in the $PATH.
36
- IMPORTANT: Newer external appimagetool releases now resolve issue with fuse3 on some systems inc. Ubuntu.

KuiperZone.PupNet/Builders/RpmBuilder.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,10 @@ public RpmBuilder(ConfigurationReader conf)
5858
// https://stackoverflow.com/questions/64563386/how-do-i-package-up-go-code-as-an-arm-rpm
5959
// https://cmake.cmake.narkive.com/uDOFCNJ3/rpmbuild-architecture
6060
// https://stackoverflow.com/questions/2777737/how-to-set-the-rpmbuild-destination-folder
61-
var cmd = $"rpmbuild -bb \"{ManifestBuildPath}\"";
61+
62+
// Note. v1.9.1 -- added "--noclean" option.
63+
64+
var cmd = $"rpmbuild -bb --noclean \"{ManifestBuildPath}\"";
6265
cmd += $" --define \"_topdir {buildDir}\" --buildroot=\"{BuildRoot}\"";
6366
cmd += $" --define \"_rpmdir {_buildOutputDirectory}\" --define \"_build_id_links none\"";
6467

@@ -376,4 +379,3 @@ private string GetSpec()
376379
}
377380

378381
}
379-

KuiperZone.PupNet/PackageBuilder.cs

Lines changed: 25 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -606,25 +606,35 @@ public override string ToString()
606606
/// </summary>
607607
protected virtual void CopyArtifacts()
608608
{
609-
// Ensure empty
610-
Operations.RemoveDirectory(OutputArtifactsDirectory);
611-
612-
if (ManifestBuildPath != null)
609+
try
613610
{
614-
var dest = Path.Combine(OutputArtifactsDirectory, Path.GetFileName(ManifestBuildPath));
615-
Operations.CopyFile(ManifestBuildPath, dest, true);
616-
}
611+
// Ensure empty
612+
Operations.RemoveDirectory(OutputArtifactsDirectory);
617613

618-
if (DesktopBuildPath != null)
619-
{
620-
var dest = Path.Combine(OutputArtifactsDirectory, Path.GetFileName(DesktopBuildPath));
621-
Operations.CopyFile(DesktopBuildPath, dest, true);
622-
}
614+
if (ManifestBuildPath != null)
615+
{
616+
var dest = Path.Combine(OutputArtifactsDirectory, Path.GetFileName(ManifestBuildPath));
617+
Operations.CopyFile(ManifestBuildPath, dest, true);
618+
}
623619

624-
if (MetaBuildPath != null)
620+
if (DesktopBuildPath != null)
621+
{
622+
var dest = Path.Combine(OutputArtifactsDirectory, Path.GetFileName(DesktopBuildPath));
623+
Operations.CopyFile(DesktopBuildPath, dest, true);
624+
}
625+
626+
if (MetaBuildPath != null)
627+
{
628+
var dest = Path.Combine(OutputArtifactsDirectory, Path.GetFileName(MetaBuildPath));
629+
Operations.CopyFile(MetaBuildPath, dest, true);
630+
}
631+
}
632+
catch (Exception e)
625633
{
626-
var dest = Path.Combine(OutputArtifactsDirectory, Path.GetFileName(MetaBuildPath));
627-
Operations.CopyFile(MetaBuildPath, dest, true);
634+
// Catch this on failure. We've had cases where copying artifacts fail,
635+
// preventing the process from completing, when in fact the output is
636+
// built and this stage provides only additional associated content.
637+
WarningSink.Add($"WARNING. Failed to copy artifacts to: {OutputArtifactsDirectory}\n{e}");
628638
}
629639
}
630640

@@ -845,4 +855,3 @@ private Dictionary<string, string> GetShareIconPaths(IReadOnlyCollection<string>
845855
}
846856

847857
}
848-

PupNet.pupnet.conf

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
1-
# PUPNET DEPLOY: 1.8.0
1+
# PUPNET DEPLOY: 1.9.1
22
# Use: 'pupnet --help conf' for information.
33

44
# APP PREAMBLE
55
AppBaseName = KuiperZone.PupNet
66
AppFriendlyName = PupNet Deploy
77
AppId = zone.kuiper.pupnet
8-
AppVersionRelease = 1.9.0
8+
AppVersionRelease = 1.9.1
99
AppShortSummary = Cross-platform deployment utility
1010
AppDescription = """
1111
PupNet Deploy is a cross-platform deployment utility which packages your .NET project as a ready-to-ship
1212
installation file in a single step.
13-
13+
1414
It has been possible to cross-compile console C# applications for sometime now. More recently, the cross-platform
1515
Avalonia replacement for WPF allows fully-featured GUI applications to target a range of platforms, including:
1616
Linux and Windows.
17-
17+
1818
Now, PupNet Deploy allows you to ship your dotnet application as:
1919
* AppImage for Linux
2020
* Flatpak
2121
* Debian Binary Package
2222
* RPM Binary Package
2323
* Setup File for Windows
2424
* Plain old Zip
25-
25+
2626
PupNet has good support for internationalization, desktop icons, publisher metadata and custom build operations.
2727
Although developed for .NET, it is possible to use it to deploy C++ and other kinds of applications.
2828
PupNet is unrelated to 'puppet'.
@@ -33,6 +33,7 @@ AppChangeFile = CHANGES
3333

3434
# PUBLISHER
3535
PublisherName = Kuiper Zone
36+
PublisherId = zone.kuiper
3637
PublisherCopyright = Copyright (C) Andy Thomas 2022-25
3738
PublisherLinkName = Project Page
3839
PublisherLinkUrl = https://github.com/kuiperzone
@@ -41,7 +42,7 @@ PublisherEmail = [email protected]
4142
# DESKTOP INTEGRATION
4243
DesktopNoDisplay = true
4344
DesktopTerminal = true
44-
DesktopFile =
45+
DesktopFile =
4546
StartCommand = pupnet
4647
PrimeCategory = Development
4748
MetaFile = Deploy/PupNet.metainfo.xml
@@ -60,15 +61,16 @@ IconFiles = """
6061
# DOTNET PUBLISH
6162
DotnetProjectPath = KuiperZone.PupNet
6263
DotnetPublishArgs = -p:Version=${APP_VERSION} --self-contained true -p:PublishReadyToRun=true -p:DebugType=None -p:DebugSymbols=false
63-
DotnetPostPublish =
64-
DotnetPostPublishOnWindows =
64+
DotnetPostPublish =
65+
DotnetPostPublishOnWindows =
6566

6667
# PACKAGE OUTPUT
6768
PackageName = PupNet-Deploy
6869
OutputDirectory = Deploy/OUT
6970

7071
# APPIMAGE OPTIONS
71-
AppImageArgs =
72+
AppImageArgs =
73+
AppImageRuntimePath =
7274
AppImageVersionOutput = true
7375

7476
# FLATPAK OPTIONS
@@ -79,7 +81,7 @@ FlatpakFinishArgs = """
7981
--filesystem=host
8082
--filesystem=/mnt
8183
"""
82-
FlatpakBuilderArgs =
84+
FlatpakBuilderArgs =
8385

8486
# RPM OPTIONS
8587
RpmAutoReq = false
@@ -102,10 +104,11 @@ DebianRecommends = """
102104
"""
103105

104106
# WINDOWS SETUP OPTIONS
105-
SetupGroupName =
107+
SetupGroupName =
106108
SetupAdminInstall = false
107109
SetupCommandPrompt = PupNet Console
108110
SetupMinWindowsVersion = 10
109-
SetupSignTool =
110-
SetupSuffixOutput =
111-
SetupVersionOutput = true
111+
SetupSignTool =
112+
SetupSuffixOutput =
113+
SetupVersionOutput = true
114+
SetupUninstallScript =

publish.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
dotnet pack -c Release -o ./Deploy/OUT -p:Version=1.9.0
1+
dotnet pack -c Release -o ./Deploy/OUT -p:Version=1.9.1
22
pupnet -k appimage -y

0 commit comments

Comments
 (0)