From dbf88615910fa5e6e1518b7e9f266090e25b2792 Mon Sep 17 00:00:00 2001 From: Clemens Vasters Date: Sat, 11 Aug 2018 04:31:27 -0700 Subject: [PATCH 01/40] Patching pre/post install/remove scripts from RPM task to packager equivalent to DEB packaging. --- .../Rpm/RpmPackageCreatorTests.cs | 36 ++++++++++++--- Packaging.Targets/Rpm/RpmPackageCreator.cs | 44 +++++++++++++++++-- Packaging.Targets/RpmTask.cs | 40 +++++++++++++++++ 3 files changed, 110 insertions(+), 10 deletions(-) diff --git a/Packaging.Targets.Tests/Rpm/RpmPackageCreatorTests.cs b/Packaging.Targets.Tests/Rpm/RpmPackageCreatorTests.cs index 738d8bd0..805081ca 100644 --- a/Packaging.Targets.Tests/Rpm/RpmPackageCreatorTests.cs +++ b/Packaging.Targets.Tests/Rpm/RpmPackageCreatorTests.cs @@ -242,8 +242,16 @@ public void CreatePackageTest() var secretKeyRing = krgen.GenerateSecretKeyRing(); var privateKey = secretKeyRing.GetSecretKey().ExtractPrivateKey("dotnet".ToCharArray()); var publicKey = secretKeyRing.GetPublicKey(); - - using (Stream stream = File.OpenRead(@"Rpm/libplist-2.0.1.151-1.1.x86_64.rpm")) + const string preInstScript = "echo preinst\n"; + const string postInstScript = "echo postinst\n"; + const string preRemoveScript = "echo preremove\n"; + const string postRemoveScript = "echo postremove\n"; + const string nameString = "libplist"; + const string versionString = "2.0.1.151"; + const string releaseString = "1.1"; + const string archString = "x86_64"; + + using (Stream stream = File.OpenRead($"Rpm/{nameString}-{versionString}-{releaseString}.{archString}.rpm")) using (var targetStream = File.Open(@"RpmPackageCreatorTests_CreateTest.rpm", FileMode.Create, FileAccess.ReadWrite, FileShare.None)) { var originalPackage = RpmPackageReader.Read(stream); @@ -266,14 +274,18 @@ public void CreatePackageTest() creator.CreatePackage( archive, payloadStream, - "libplist", - "2.0.1.151", - "x86_64", - "1.1", + nameString, + versionString, + archString, + releaseString, false, null, false, null, + preInstScript, + postInstScript, + preRemoveScript, + postRemoveScript, null, null, (metadata) => PlistMetadata.ApplyDefaultMetadata(metadata), @@ -287,6 +299,14 @@ public void CreatePackageTest() var package = RpmPackageReader.Read(targetStream); var metadata = new RpmMetadata(package); + Assert.Equal(metadata.Version, versionString); + Assert.Equal(metadata.Name, nameString); + Assert.Equal(metadata.Arch, archString); + Assert.Equal(metadata.Release, releaseString); + Assert.StartsWith(preInstScript, metadata.PreIn); + Assert.StartsWith(postInstScript, metadata.PostIn); + Assert.StartsWith(preRemoveScript, metadata.PreUn); + Assert.StartsWith(postRemoveScript, metadata.PostUn); var signature = new RpmSignature(package); Assert.True(signature.Verify(publicKey)); @@ -337,6 +357,10 @@ public void CreatePackageBinaryTest() null, null, null, + null, + null, + null, + null, (metadata) => PlistMetadata.ApplyDefaultMetadata(metadata), signer, targetStream, diff --git a/Packaging.Targets/Rpm/RpmPackageCreator.cs b/Packaging.Targets/Rpm/RpmPackageCreator.cs index 93255fff..49e97c3b 100644 --- a/Packaging.Targets/Rpm/RpmPackageCreator.cs +++ b/Packaging.Targets/Rpm/RpmPackageCreator.cs @@ -84,6 +84,18 @@ public RpmPackageCreator(IFileAnalyzer analyzer) /// /// A prefix to use. /// + /// + /// Pre-Install script + /// + /// + /// Post-Install script + /// + /// + /// Pre-Remove script + /// + /// + /// Post-Remove script + /// /// /// Additional dependencies to add to the RPM package. /// @@ -108,6 +120,10 @@ public void CreatePackage( bool installService, string serviceName, string prefix, + string preInstallScript, + string postInstallScript, + string preRemoveScript, + string postRemoveScript, IEnumerable additionalDependencies, Action additionalMetadata, PgpPrivateKey privateKey, @@ -125,6 +141,10 @@ public void CreatePackage( installService, serviceName, prefix, + preInstallScript, + postInstallScript, + preRemoveScript, + postRemoveScript, additionalDependencies, additionalMetadata, new PackageSigner(privateKey), @@ -167,6 +187,18 @@ public void CreatePackage( /// /// A prefix to use. /// + /// + /// Pre-Install script + /// + /// + /// Post-Install script + /// + /// + /// Pre-Remove script + /// + /// + /// Post-Remove script + /// /// /// Additional dependencies to add to the RPM package. /// @@ -201,6 +233,10 @@ public void CreatePackage( bool installService, string serviceName, string prefix, + string preInstallScript, + string postInstallScript, + string preRemoveScript, + string postRemoveScript, IEnumerable additionalDependencies, Action additionalMetadata, IPackageSigner signer, @@ -255,10 +291,10 @@ public void CreatePackage( metadata.SourceRpm = $"{name}-{version}-{release}.src.rpm"; // Scripts which run before & after installation and removal. - var preIn = string.Empty; - var postIn = string.Empty; - var preUn = string.Empty; - var postUn = string.Empty; + var preIn = preInstallScript ?? string.Empty; + var postIn = postInstallScript ?? string.Empty; + var preUn = preRemoveScript ?? string.Empty; + var postUn = postRemoveScript ?? string.Empty; if (createUser) { diff --git a/Packaging.Targets/RpmTask.cs b/Packaging.Targets/RpmTask.cs index 6928d917..391fe9f9 100644 --- a/Packaging.Targets/RpmTask.cs +++ b/Packaging.Targets/RpmTask.cs @@ -124,6 +124,42 @@ public string ServiceName set; } + /// + /// Gets or sets an additional pre-installation script to execute. + /// + /// + /// This variable must contain the script itself, and not a path to a file + /// which contains the script. + /// + public string PreInstallScript { get; set; } + + /// + /// Gets or sets an additional post-installation script to execute. + /// + /// + /// This variable must contain the script itself, and not a path to a file + /// which contains the script. + /// + public string PostInstallScript { get; set; } + + /// + /// Gets or sets an additional pre-removal script to execute. + /// + /// + /// This variable must contain the script itself, and not a path to a file + /// which contains the script. + /// + public string PreRemoveScript { get; set; } + + /// + /// Gets or sets an additional post-removal script to execute. + /// + /// + /// This variable must contain the script itself, and not a path to a file + /// which contains the script. + /// + public string PostRemoveScript { get; set; } + public override bool Execute() { this.Log.LogMessage(MessageImportance.Normal, "Creating RPM package '{0}' from folder '{1}'", this.RpmPath, this.PublishDir); @@ -179,6 +215,10 @@ public override bool Execute() this.InstallService, this.ServiceName, this.Prefix, + this.PreInstallScript, + this.PostInstallScript, + this.PreRemoveScript, + this.PostRemoveScript, dependencies, null, privateKey, From ebc904516949e295e18097d609c0b6976a0f9213 Mon Sep 17 00:00:00 2001 From: Clemens Vasters Date: Sat, 11 Aug 2018 06:54:10 -0700 Subject: [PATCH 02/40] updated to current (8 years old) file color scheme and classifying .NET assemblies as "mono". Removed flagging of all non-executable files as docs, which leads to breaking installs on container platforms. --- Packaging.Targets/ArchiveBuilder.cs | 20 ++++++++++++-- Packaging.Targets/IO/ArchiveEntryType.cs | 12 +++++++- Packaging.Targets/Packaging.Targets.csproj | 1 + Packaging.Targets/Rpm/FileAnalyzer.cs | 14 ++++++---- Packaging.Targets/Rpm/RpmFileColor.cs | 32 ++++------------------ 5 files changed, 44 insertions(+), 35 deletions(-) diff --git a/Packaging.Targets/ArchiveBuilder.cs b/Packaging.Targets/ArchiveBuilder.cs index 381be485..f9e4bbe2 100644 --- a/Packaging.Targets/ArchiveBuilder.cs +++ b/Packaging.Targets/ArchiveBuilder.cs @@ -6,6 +6,8 @@ using System.Collections.ObjectModel; using System.IO; using System.Linq; +using System.Reflection; +using System.Runtime.Loader; using System.Security.Cryptography; using System.Text; @@ -277,8 +279,20 @@ protected void AddFile(string entry, string relativePath, string prefix, List /// The file is a 64-bit executable. /// - Executable64 = 2 + Executable64 = 2, + + /// + /// The file is a module (like a .NET assembly) + /// + NetAssembly = 3, + + /// + /// This file is a documentation entry + /// + Doc = 4 } } diff --git a/Packaging.Targets/Packaging.Targets.csproj b/Packaging.Targets/Packaging.Targets.csproj index f60f0068..1b2e1669 100644 --- a/Packaging.Targets/Packaging.Targets.csproj +++ b/Packaging.Targets/Packaging.Targets.csproj @@ -50,6 +50,7 @@ all + diff --git a/Packaging.Targets/Rpm/FileAnalyzer.cs b/Packaging.Targets/Rpm/FileAnalyzer.cs index e08ff5e2..963957d8 100644 --- a/Packaging.Targets/Rpm/FileAnalyzer.cs +++ b/Packaging.Targets/Rpm/FileAnalyzer.cs @@ -33,8 +33,6 @@ public virtual Collection DetermineProvides(ArchiveEntry entr /// public virtual RpmFileFlags DetermineFlags(ArchiveEntry entry) { - // The only custom flags which are supported for now are the RPMFILE_DOC flags for non-executable - // files. if (entry.Mode.HasFlag(LinuxFileMode.S_IFDIR)) { return RpmFileFlags.None; @@ -43,9 +41,7 @@ public virtual RpmFileFlags DetermineFlags(ArchiveEntry entry) { return RpmFileFlags.None; } - else if (!entry.Mode.HasFlag(LinuxFileMode.S_IXGRP) - && !entry.Mode.HasFlag(LinuxFileMode.S_IXOTH) - && !entry.Mode.HasFlag(LinuxFileMode.S_IXUSR)) + else if (entry.Type == ArchiveEntryType.Doc) { return RpmFileFlags.RPMFILE_DOC; } @@ -67,6 +63,9 @@ public virtual RpmFileColor DetermineColor(ArchiveEntry entry) case ArchiveEntryType.Executable64: return RpmFileColor.RPMFC_ELF64; + case ArchiveEntryType.NetAssembly: + return RpmFileColor.RPMFC_INCLUDE; + default: return RpmFileColor.RPMFC_BLACK; } @@ -92,6 +91,11 @@ public virtual string DetermineClass(ArchiveEntry entry) return string.Empty; } + if (entry.Type == ArchiveEntryType.NetAssembly) + { + return "mono"; + } + if (entry.TargetPath.EndsWith(".svg")) { return "SVG Scalable Vector Graphics image"; diff --git a/Packaging.Targets/Rpm/RpmFileColor.cs b/Packaging.Targets/Rpm/RpmFileColor.cs index f81dbdff..a4ac3e9a 100644 --- a/Packaging.Targets/Rpm/RpmFileColor.cs +++ b/Packaging.Targets/Rpm/RpmFileColor.cs @@ -2,41 +2,21 @@ namespace Packaging.Targets.Rpm { + /* + * from https://github.com/rpm-software-management/rpm/blob/master/build/rpmfc.h + */ + /// /// Determines the type of the file. /// [Flags] - internal enum RpmFileColor + internal enum RpmFileColor : int { RPMFC_BLACK = 0, RPMFC_ELF32 = 1 << 0, RPMFC_ELF64 = 1 << 1, RPMFC_ELFMIPSN32 = 1 << 2, - RPMFC_PKGCONFIG = 1 << 4, - RPMFC_LIBTOOL = 1 << 5, - RPMFC_BOURNE = 1 << 6, - RPMFC_MODULE = 1 << 7, - RPMFC_EXECUTABLE = 1 << 8, - RPMFC_SCRIPT = 1 << 9, - RPMFC_TEXT = 1 << 10, - RPMFC_DATA = 1 << 11, - RPMFC_DOCUMENT = 1 << 12, - RPMFC_STATIC = 1 << 13, - RPMFC_NOTSTRIPPED = 1 << 14, - RPMFC_COMPRESSED = 1 << 15, - RPMFC_DIRECTORY = 1 << 16, - RPMFC_SYMLINK = 1 << 17, - RPMFC_DEVICE = 1 << 18, - RPMFC_LIBRARY = 1 << 19, - RPMFC_ARCHIVE = 1 << 20, - RPMFC_FONT = 1 << 21, - RPMFC_IMAGE = 1 << 22, - RPMFC_MANPAGE = 1 << 23, - RPMFC_PERL = 1 << 24, - RPMFC_JAVA = 1 << 25, - RPMFC_PYTHON = 1 << 26, - RPMFC_PHP = 1 << 27, - RPMFC_TCL = 1 << 28, + RPMFC_ELF = RPMFC_ELF32 | RPMFC_ELF64 | RPMFC_ELFMIPSN32, RPMFC_WHITE = 1 << 29, RPMFC_INCLUDE = 1 << 30, RPMFC_ERROR = 1 << 31 From cfc1ea5a9c3e5da33906787d0c68af1d354b0a43 Mon Sep 17 00:00:00 2001 From: Clemens Vasters Date: Sun, 12 Aug 2018 01:57:38 -0700 Subject: [PATCH 03/40] read metadata from RPM instead of guessing it. introducing Documentation task item flag. --- .vscode/launch.json | 28 +++++ .vscode/tasks.json | 15 +++ .../Rpm/RpmMetadataTests.cs | 4 +- .../Rpm/RpmPackageCreatorTests.cs | 10 +- Packaging.Targets/ArchiveBuilder.cs | 103 +++++++++++++----- Packaging.Targets/Rpm/FileAnalyzer.cs | 10 +- Packaging.Targets/TaskItemExtensions.cs | 20 ++++ 7 files changed, 149 insertions(+), 41 deletions(-) create mode 100644 .vscode/launch.json create mode 100644 .vscode/tasks.json diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000..c3a19234 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,28 @@ +{ + // Use IntelliSense to find out which attributes exist for C# debugging + // Use hover for the description of the existing attributes + // For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md + "version": "0.2.0", + "configurations": [ + { + "name": ".NET Core Launch (console)", + "type": "coreclr", + "request": "launch", + "preLaunchTask": "build", + // If you have changed target frameworks, make sure to update the program path. + "program": "${workspaceFolder}/dotnet-deb/bin/Debug/netcoreapp1.0/dotnet-deb.dll", + "args": [], + "cwd": "${workspaceFolder}/dotnet-deb", + // For more information about the 'console' field, see https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md#console-terminal-window + "console": "internalConsole", + "stopAtEntry": false, + "internalConsoleOptions": "openOnSessionStart" + }, + { + "name": ".NET Core Attach", + "type": "coreclr", + "request": "attach", + "processId": "${command:pickProcess}" + } + ,] +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 00000000..bca61a0f --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,15 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "build", + "command": "dotnet", + "type": "process", + "args": [ + "build", + "${workspaceFolder}/dotnet-deb/dotnet-deb.csproj" + ], + "problemMatcher": "$msCompile" + } + ] +} \ No newline at end of file diff --git a/Packaging.Targets.Tests/Rpm/RpmMetadataTests.cs b/Packaging.Targets.Tests/Rpm/RpmMetadataTests.cs index b76eab4a..cb39b88e 100644 --- a/Packaging.Targets.Tests/Rpm/RpmMetadataTests.cs +++ b/Packaging.Targets.Tests/Rpm/RpmMetadataTests.cs @@ -117,7 +117,7 @@ public void SetFilesTest() { ArchiveBuilder builder = new ArchiveBuilder(new PlistFileAnalyzer()); RpmPackageCreator creator = new RpmPackageCreator(new PlistFileAnalyzer()); - var entries = builder.FromCpio(cpio); + var entries = builder.FromCpio(originalPackage, cpio); var files = creator.CreateFiles(entries); var metadata = new PublicRpmMetadata(package); @@ -186,7 +186,7 @@ public void CreatePackageMetadata() { ArchiveBuilder builder = new ArchiveBuilder(new PlistFileAnalyzer()); RpmPackageCreator creator = new RpmPackageCreator(new PlistFileAnalyzer()); - var entries = builder.FromCpio(cpio); + var entries = builder.FromCpio(originalPackage, cpio); var files = creator.CreateFiles(entries); // Core routine to populate files and dependencies diff --git a/Packaging.Targets.Tests/Rpm/RpmPackageCreatorTests.cs b/Packaging.Targets.Tests/Rpm/RpmPackageCreatorTests.cs index 738d8bd0..cdb319d3 100644 --- a/Packaging.Targets.Tests/Rpm/RpmPackageCreatorTests.cs +++ b/Packaging.Targets.Tests/Rpm/RpmPackageCreatorTests.cs @@ -46,7 +46,7 @@ public void CreateFiles(string rpm, string analyzerName) RpmPackageCreator creator = new RpmPackageCreator(analyzer); ArchiveBuilder builder = new ArchiveBuilder(analyzer); - var entries = builder.FromCpio(cpio); + var entries = builder.FromCpio(originalPackage, cpio); var files = creator.CreateFiles(entries); var originalMetadata = new RpmMetadata(originalPackage); @@ -98,7 +98,7 @@ public void CalculateOffsetTest() { ArchiveBuilder builder = new ArchiveBuilder(new PlistFileAnalyzer()); RpmPackageCreator creator = new RpmPackageCreator(new PlistFileAnalyzer()); - var entries = builder.FromCpio(cpio); + var entries = builder.FromCpio(originalPackage, cpio); var files = creator.CreateFiles(entries); // Core routine to populate files and dependencies @@ -151,7 +151,7 @@ public void CalculateSignatureTest() using (var cpio = new CpioFile(payloadStream, false)) { ArchiveBuilder builder = new ArchiveBuilder(new PlistFileAnalyzer()); - var entries = builder.FromCpio(cpio); + var entries = builder.FromCpio(originalPackage, cpio); files = creator.CreateFiles(entries); } @@ -253,7 +253,7 @@ public void CreatePackageTest() using (CpioFile cpio = new CpioFile(decompressedPayloadStream, leaveOpen: false)) { ArchiveBuilder builder = new ArchiveBuilder(); - archive = builder.FromCpio(cpio); + archive = builder.FromCpio(originalPackage, cpio); } using (var decompressedPayloadStream = RpmPayloadReader.GetDecompressedPayloadStream(originalPackage)) @@ -318,7 +318,7 @@ public void CreatePackageBinaryTest() using (CpioFile cpio = new CpioFile(decompressedPayloadStream, leaveOpen: false)) { ArchiveBuilder builder = new ArchiveBuilder(); - archive = builder.FromCpio(cpio); + archive = builder.FromCpio(originalPackage, cpio); } using (var compressedPayloadStream = RpmPayloadReader.GetCompressedPayloadStream(originalPackage)) diff --git a/Packaging.Targets/ArchiveBuilder.cs b/Packaging.Targets/ArchiveBuilder.cs index f9e4bbe2..93a48b6d 100644 --- a/Packaging.Targets/ArchiveBuilder.cs +++ b/Packaging.Targets/ArchiveBuilder.cs @@ -48,20 +48,23 @@ public ArchiveBuilder(IFileAnalyzer analyzer) /// /// Extracts the objects from a CPIO file. /// + /// /// - /// The CPIO file from which to extract the entries. + /// The CPIO file from which to extract the entries. /// /// /// A list of objects representing the data in the CPIO file. /// - public List FromCpio(CpioFile file) + public List FromCpio(RpmPackage rpmPackage, CpioFile file) { List value = new List(); byte[] buffer = new byte[1024]; byte[] fileHeader = null; + int currentEntry = -1; while (file.Read()) { + currentEntry++; fileHeader = null; ArchiveEntry entry = new ArchiveEntry() @@ -77,9 +80,40 @@ public List FromCpio(CpioFile file) LinkTo = string.Empty, Sha256 = Array.Empty(), SourceFilename = null, - IsAscii = true + IsAscii = true, + }; + + var fileColor = (RpmFileColor)(rpmPackage.Header.Records[IndexTag.RPMTAG_FILECOLORS]?.Value as Collection)?[currentEntry]; + var fileFlag = (RpmFileFlags)(rpmPackage.Header.Records[IndexTag.RPMTAG_FILEFLAGS]?.Value as Collection)?[currentEntry]; + var fileClassIndex = (int)(rpmPackage.Header.Records[IndexTag.RPMTAG_FILECLASS]?.Value as Collection)?[currentEntry]; + var fileClass = (rpmPackage.Header.Records[IndexTag.RPMTAG_CLASSDICT]?.Value as Collection)?[fileClassIndex]; + + entry.Group = (rpmPackage.Header.Records[IndexTag.RPMTAG_FILEGROUPNAME]?.Value as Collection)?[currentEntry]; + entry.Owner = (rpmPackage.Header.Records[IndexTag.RPMTAG_FILEUSERNAME]?.Value as Collection)?[currentEntry]; + entry.LinkTo = (rpmPackage.Header.Records[IndexTag.RPMTAG_FILELINKTOS]?.Value as Collection)?[currentEntry]; + + if ((fileFlag & RpmFileFlags.RPMFILE_DOC) == RpmFileFlags.RPMFILE_DOC) + { + entry.Type = ArchiveEntryType.Doc; + } + + if ((fileColor & RpmFileColor.RPMFC_ELF32) == RpmFileColor.RPMFC_ELF32) + { + entry.Type = ArchiveEntryType.Executable32; + } + + if ((fileColor & RpmFileColor.RPMFC_ELF64) == RpmFileColor.RPMFC_ELF64) + { + entry.Type = ArchiveEntryType.Executable64; + } + + if (fileClass.Contains("mono")) + { + entry.Type = ArchiveEntryType.NetAssembly; + } + if (entry.Mode.HasFlag(LinuxFileMode.S_IFREG) && !entry.Mode.HasFlag(LinuxFileMode.S_IFLNK)) { using (var fileStream = file.Open()) @@ -108,8 +142,6 @@ public List FromCpio(CpioFile file) entry.Sha256 = hasher.GetHashAndReset(); } - - entry.Type = this.GetArchiveEntryType(fileHeader); } else if (entry.Mode.HasFlag(LinuxFileMode.S_IFLNK)) { @@ -279,37 +311,58 @@ protected void AddFile(string entry, string relativePath, string prefix, List DetermineProvides(ArchiveEntry entr /// public virtual RpmFileFlags DetermineFlags(ArchiveEntry entry) { - if (entry.Mode.HasFlag(LinuxFileMode.S_IFDIR)) - { - return RpmFileFlags.None; - } - else if (entry.Mode.HasFlag(LinuxFileMode.S_IFLNK)) - { - return RpmFileFlags.None; - } - else if (entry.Type == ArchiveEntryType.Doc) + if (entry.Type == ArchiveEntryType.Doc) { return RpmFileFlags.RPMFILE_DOC; } diff --git a/Packaging.Targets/TaskItemExtensions.cs b/Packaging.Targets/TaskItemExtensions.cs index a16876a2..b192f4a6 100644 --- a/Packaging.Targets/TaskItemExtensions.cs +++ b/Packaging.Targets/TaskItemExtensions.cs @@ -93,6 +93,26 @@ public static string GetLinuxFileMode(this ITaskItem item) return TryGetValue(item, "LinuxFileMode"); } + /// + /// Gets the file mode of the file in the Linux filesystem. + /// + /// + /// The item for which to get the file mode. + /// + /// + /// The file mode of the file on the Linux file system. + /// + public static bool GetDocumentation(this ITaskItem item) + { + var docValue = TryGetValue(item, "Documentation"); + if (docValue != null) + { + return docValue.ToLower().Equals("true"); + } + + return false; + } + /// /// Gets the Linux owner of the file. /// From f13682a8ba38056444c0ce832be33b6b2403d5d8 Mon Sep 17 00:00:00 2001 From: Clemens Vasters Date: Sun, 12 Aug 2018 02:02:10 -0700 Subject: [PATCH 04/40] fix parameter bug in test RpmPackageCreatorTests.CreatePackageTest --- Packaging.Targets.Tests/Rpm/RpmPackageCreatorTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Packaging.Targets.Tests/Rpm/RpmPackageCreatorTests.cs b/Packaging.Targets.Tests/Rpm/RpmPackageCreatorTests.cs index 805081ca..383bdc9e 100644 --- a/Packaging.Targets.Tests/Rpm/RpmPackageCreatorTests.cs +++ b/Packaging.Targets.Tests/Rpm/RpmPackageCreatorTests.cs @@ -282,12 +282,12 @@ public void CreatePackageTest() null, false, null, + null, preInstScript, postInstScript, preRemoveScript, postRemoveScript, null, - null, (metadata) => PlistMetadata.ApplyDefaultMetadata(metadata), privateKey, targetStream); From 1e758f134a863537fd11f641c63cef79adcf9b19 Mon Sep 17 00:00:00 2001 From: darkneil14 <17267051+darkneil14@users.noreply.github.com> Date: Thu, 30 Aug 2018 07:59:51 -0500 Subject: [PATCH 05/40] Update Packaging.Targets.targets Added installs script on RpmTask --- Packaging.Targets/build/Packaging.Targets.targets | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Packaging.Targets/build/Packaging.Targets.targets b/Packaging.Targets/build/Packaging.Targets.targets index 9fcc15e7..02ecb85d 100644 --- a/Packaging.Targets/build/Packaging.Targets.targets +++ b/Packaging.Targets/build/Packaging.Targets.targets @@ -49,7 +49,11 @@ CreateUser="$(CreateUser)" UserName="$(UserName)" InstallService="$(InstallService)" - ServiceName="$(ServiceName)"/> + ServiceName="$(ServiceName)" + PreInstallScript="$(PreInstallScript)" + PostInstallScript="$(PostInstallScript)" + PreRemoveScript="$(PreRemoveScript)" + PostRemoveScript="$(PostRemoveScript)"/> @@ -166,4 +170,4 @@ - \ No newline at end of file + From d80ddbdd5f4fcec55c6416ff9b629b866a1fefe3 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Thu, 30 Aug 2018 22:05:17 +0200 Subject: [PATCH 06/40] Use NerdBank.GitVersioning to assign build numbers --- Packaging.Targets/Packaging.Targets.csproj | 3 +++ dotnet-deb/dotnet-deb.csproj | 3 +++ dotnet-rpm/dotnet-rpm.csproj | 3 +++ dotnet-tarball/dotnet-tarball.csproj | 3 +++ dotnet-zip/dotnet-zip.csproj | 3 +++ version.json | 4 ++++ 6 files changed, 19 insertions(+) create mode 100644 version.json diff --git a/Packaging.Targets/Packaging.Targets.csproj b/Packaging.Targets/Packaging.Targets.csproj index f60f0068..ed2d44e8 100644 --- a/Packaging.Targets/Packaging.Targets.csproj +++ b/Packaging.Targets/Packaging.Targets.csproj @@ -50,6 +50,9 @@ all + + all + diff --git a/dotnet-deb/dotnet-deb.csproj b/dotnet-deb/dotnet-deb.csproj index 8dd59010..55f35932 100644 --- a/dotnet-deb/dotnet-deb.csproj +++ b/dotnet-deb/dotnet-deb.csproj @@ -22,6 +22,9 @@ See https://github.com/qmfrederik/dotnet-packaging/ for more information on how + + all + diff --git a/dotnet-rpm/dotnet-rpm.csproj b/dotnet-rpm/dotnet-rpm.csproj index 82aaaeb5..a93463df 100644 --- a/dotnet-rpm/dotnet-rpm.csproj +++ b/dotnet-rpm/dotnet-rpm.csproj @@ -22,6 +22,9 @@ See https://github.com/qmfrederik/dotnet-packaging/ for more information on how + + all + diff --git a/dotnet-tarball/dotnet-tarball.csproj b/dotnet-tarball/dotnet-tarball.csproj index aafdbf9e..0511fc5b 100644 --- a/dotnet-tarball/dotnet-tarball.csproj +++ b/dotnet-tarball/dotnet-tarball.csproj @@ -22,6 +22,9 @@ See https://github.com/qmfrederik/dotnet-packaging/ for more information on how + + all + diff --git a/dotnet-zip/dotnet-zip.csproj b/dotnet-zip/dotnet-zip.csproj index 0ee6076b..d4319bf3 100644 --- a/dotnet-zip/dotnet-zip.csproj +++ b/dotnet-zip/dotnet-zip.csproj @@ -22,6 +22,9 @@ See https://github.com/qmfrederik/dotnet-packaging/ for more information on how + + all + diff --git a/version.json b/version.json new file mode 100644 index 00000000..7b132acd --- /dev/null +++ b/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/AArnott/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.1" +} \ No newline at end of file From 693c8fa7bf14c26d316f91129e2251f71ef5b4f4 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Thu, 30 Aug 2018 22:06:40 +0200 Subject: [PATCH 07/40] Update AppVeyor file to use NB.GV-produced assets --- appveyor.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 262ba95f..05a8b5a7 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -6,7 +6,7 @@ before_build: - dotnet restore dotnet-packaging.sln build_script: - - dotnet pack dotnet-packaging.sln -c Release --version-suffix r%APPVEYOR_BUILD_NUMBER% + - dotnet pack dotnet-packaging.sln -c Release test_script: - cmd: cd %APPVEYOR_BUILD_FOLDER%\Packaging.Targets.Tests\ @@ -17,11 +17,11 @@ test_script: - cmd: cd .. artifacts: - - path: dotnet-tarball\bin\Release\dotnet-tarball.0.1.1-r$(APPVEYOR_BUILD_NUMBER).nupkg - - path: dotnet-zip\bin\Release\dotnet-zip.0.1.1-r$(APPVEYOR_BUILD_NUMBER).nupkg - - path: dotnet-rpm\bin\Release\dotnet-rpm.0.1.1-r$(APPVEYOR_BUILD_NUMBER).nupkg - - path: dotnet-deb\bin\Release\dotnet-deb.0.1.1-r$(APPVEYOR_BUILD_NUMBER).nupkg - - path: Packaging.Targets\bin\Release\Packaging.Targets.0.1.1-r$(APPVEYOR_BUILD_NUMBER).nupkg + - path: dotnet-tarball\bin\Release\dotnet-tarball.*.nupkg + - path: dotnet-zip\bin\Release\dotnet-zip.*.nupkg + - path: dotnet-rpm\bin\Release\dotnet-rpm.*.nupkg + - path: dotnet-deb\bin\Release\dotnet-deb.*.nupkg + - path: Packaging.Targets\bin\Release\Packaging.Targets.*.nupkg deploy: provider: NuGet From fc8c94932a4ab0a92e2ee79db1f174e5b8e53bfc Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Thu, 30 Aug 2018 22:08:03 +0200 Subject: [PATCH 08/40] Don't start branch builds if a PR is active --- appveyor.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/appveyor.yml b/appveyor.yml index 262ba95f..e1b98afa 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,6 +1,7 @@ image: Visual Studio 2017 version: '0.1.{build}' +skip_branch_with_pr: true before_build: - dotnet restore dotnet-packaging.sln From 333273c4996229439724cf87f7c121dbe5fbcc89 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Thu, 30 Aug 2018 22:53:15 +0200 Subject: [PATCH 09/40] Add Travis CI build (#69) --- .travis.yml | 11 +++++++++++ Packaging.Targets.Tests/ArchiveBuilderTests.cs | 9 +++++---- Packaging.Targets/Packaging.Targets.csproj | 9 ++++----- dotnet-deb/dotnet-deb.csproj | 3 +-- dotnet-rpm/dotnet-rpm.csproj | 3 +-- dotnet-tarball/dotnet-tarball.csproj | 3 +-- dotnet-zip/dotnet-zip.csproj | 3 +-- 7 files changed, 24 insertions(+), 17 deletions(-) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..051df87c --- /dev/null +++ b/.travis.yml @@ -0,0 +1,11 @@ +language: csharp +mono: none +dotnet: 2.1.400 + +git: + depth: false + +script: + - dotnet restore dotnet-packaging.sln + - dotnet pack dotnet-packaging.sln -c Release + - dotnet test Packaging.Targets.Tests/Packaging.Targets.Tests.csproj \ No newline at end of file diff --git a/Packaging.Targets.Tests/ArchiveBuilderTests.cs b/Packaging.Targets.Tests/ArchiveBuilderTests.cs index 152e5860..05c56956 100644 --- a/Packaging.Targets.Tests/ArchiveBuilderTests.cs +++ b/Packaging.Targets.Tests/ArchiveBuilderTests.cs @@ -3,6 +3,7 @@ using Packaging.Targets.IO; using System; using System.Collections.Generic; +using System.IO; using Xunit; namespace Packaging.Targets.Tests @@ -31,7 +32,7 @@ public void FromDirectoryTest() Assert.Equal(LinuxFileMode.S_IROTH | LinuxFileMode.S_IRGRP | LinuxFileMode.S_IRUSR | LinuxFileMode.S_IFREG, readme.Mode); Assert.Equal("root", readme.Owner); Assert.False(readme.RemoveOnUninstall); - Assert.Equal("archive\\README.md", readme.SourceFilename); + Assert.Equal(Path.Combine("archive", "README.md"), readme.SourceFilename); Assert.Equal("/opt/demo/README.md", readme.TargetPath); Assert.Equal("/opt/demo/README.md", readme.TargetPathWithFinalSlash); Assert.Equal(ArchiveEntryType.None, readme.Type); @@ -44,7 +45,7 @@ public void FromDirectoryTest() Assert.Equal(LinuxFileMode.S_IROTH | LinuxFileMode.S_IRGRP | LinuxFileMode.S_IRUSR | LinuxFileMode.S_IFREG, script.Mode); Assert.Equal("root", script.Owner); Assert.False(script.RemoveOnUninstall); - Assert.Equal("archive\\script.sh", script.SourceFilename); + Assert.Equal(Path.Combine("archive", "script.sh"), script.SourceFilename); Assert.Equal("/opt/demo/script.sh", script.TargetPath); Assert.Equal("/opt/demo/script.sh", script.TargetPathWithFinalSlash); Assert.Equal(ArchiveEntryType.None, script.Type); @@ -79,7 +80,7 @@ public void FromDirectoryWithMetadataTest() Assert.Equal(LinuxFileMode.S_IROTH | LinuxFileMode.S_IRGRP | LinuxFileMode.S_IRUSR | LinuxFileMode.S_IFREG, readme.Mode); Assert.Equal("root", readme.Owner); Assert.False(readme.RemoveOnUninstall); - Assert.Equal("archive\\README.md", readme.SourceFilename); + Assert.Equal(Path.Combine("archive", "README.md"), readme.SourceFilename); Assert.Equal("/opt/demo/README.md", readme.TargetPath); Assert.Equal("/opt/demo/README.md", readme.TargetPathWithFinalSlash); Assert.Equal(ArchiveEntryType.None, readme.Type); @@ -94,7 +95,7 @@ public void FromDirectoryWithMetadataTest() Assert.Equal(LinuxFileMode.S_IXOTH | LinuxFileMode.S_IROTH | LinuxFileMode.S_IXGRP | LinuxFileMode.S_IRGRP | LinuxFileMode.S_IXUSR | LinuxFileMode.S_IWUSR | LinuxFileMode.S_IRUSR, script.Mode); Assert.Equal("root", script.Owner); Assert.False(script.RemoveOnUninstall); - Assert.Equal("archive\\script.sh", script.SourceFilename); + Assert.Equal(Path.Combine("archive", "script.sh"), script.SourceFilename); Assert.Equal("/bin/script.sh", script.TargetPath); Assert.Equal("/bin/script.sh", script.TargetPathWithFinalSlash); Assert.Equal(ArchiveEntryType.None, script.Type); diff --git a/Packaging.Targets/Packaging.Targets.csproj b/Packaging.Targets/Packaging.Targets.csproj index ed2d44e8..ff93a865 100644 --- a/Packaging.Targets/Packaging.Targets.csproj +++ b/Packaging.Targets/Packaging.Targets.csproj @@ -2,7 +2,6 @@ netstandard1.5;netstandard2.0 0.1.1 - $(USERPROFILE)\.nuget\packages Frederik Carlier Quamotion Packaging Tools for .NET CLI @@ -65,21 +64,21 @@ - + true tools\netstandard1.5\ - + true tools\netstandard2.0\ - + true tools\netstandard1.5\ - + true tools\netstandard2.0\ diff --git a/dotnet-deb/dotnet-deb.csproj b/dotnet-deb/dotnet-deb.csproj index 55f35932..adc0d48c 100644 --- a/dotnet-deb/dotnet-deb.csproj +++ b/dotnet-deb/dotnet-deb.csproj @@ -17,7 +17,6 @@ Once you've installed this package as a .NET CLI tool, run dotnet deb to generat See https://github.com/qmfrederik/dotnet-packaging/ for more information on how to use dotnet deb. Packaging Tools for .NET CLI - $(USERPROFILE)\.nuget\packages @@ -28,7 +27,7 @@ See https://github.com/qmfrederik/dotnet-packaging/ for more information on how - + true lib\$(TargetFramework)\ diff --git a/dotnet-rpm/dotnet-rpm.csproj b/dotnet-rpm/dotnet-rpm.csproj index a93463df..bc55e0bf 100644 --- a/dotnet-rpm/dotnet-rpm.csproj +++ b/dotnet-rpm/dotnet-rpm.csproj @@ -17,7 +17,6 @@ Once you've installed this package as a .NET CLI tool, run dotnet rpm to generat See https://github.com/qmfrederik/dotnet-packaging/ for more information on how to use dotnet rpm. Packaging Tools for .NET CLI - $(USERPROFILE)\.nuget\packages @@ -28,7 +27,7 @@ See https://github.com/qmfrederik/dotnet-packaging/ for more information on how - + true lib\$(TargetFramework)\ diff --git a/dotnet-tarball/dotnet-tarball.csproj b/dotnet-tarball/dotnet-tarball.csproj index 0511fc5b..263557fb 100644 --- a/dotnet-tarball/dotnet-tarball.csproj +++ b/dotnet-tarball/dotnet-tarball.csproj @@ -17,7 +17,6 @@ Once you've installed this package as a .NET CLI tool, run dotnet tar to generat See https://github.com/qmfrederik/dotnet-packaging/ for more information on how to use dotnet tarball. Packaging Tools for .NET CLI - $(USERPROFILE)\.nuget\packages @@ -28,7 +27,7 @@ See https://github.com/qmfrederik/dotnet-packaging/ for more information on how - + true lib\$(TargetFramework)\ diff --git a/dotnet-zip/dotnet-zip.csproj b/dotnet-zip/dotnet-zip.csproj index d4319bf3..2968d4a9 100644 --- a/dotnet-zip/dotnet-zip.csproj +++ b/dotnet-zip/dotnet-zip.csproj @@ -17,7 +17,6 @@ Once you've installed this package as a .NET CLI tool, run dotnet zip to generat See https://github.com/qmfrederik/dotnet-packaging/ for more information on how to use dotnet tarball. Packaging Tools for .NET CLI - $(USERPROFILE)\.nuget\packages @@ -28,7 +27,7 @@ See https://github.com/qmfrederik/dotnet-packaging/ for more information on how - + true lib\$(TargetFramework)\ From 85e3bb2abe20fb785e92466280eed8e90e191382 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Fri, 31 Aug 2018 11:03:02 +0200 Subject: [PATCH 10/40] Release from master --- version.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/version.json b/version.json index 7b132acd..88f0ce90 100644 --- a/version.json +++ b/version.json @@ -1,4 +1,8 @@ { "$schema": "https://raw.githubusercontent.com/AArnott/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", - "version": "0.1" + "version": "0.1", + "publicReleaseRefSpec": [ + "^refs/heads/master$", // we release out of master + "^refs/tags/v\\d+\\.\\d+" // we also release tags starting with vN.N + ], } \ No newline at end of file From 614bdbf6d346c0fa8e33a7b91560b4004e514766 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Fri, 31 Aug 2018 10:47:35 +0000 Subject: [PATCH 11/40] Move the demo project to demo/aspnetcore, so we can have multiple demo projects --- demo/.gitignore | 1 + demo/{ => aspnetcore}/.bowerrc | 0 demo/{ => aspnetcore}/Controllers/HomeController.cs | 0 demo/{ => aspnetcore}/Program.cs | 0 demo/{ => aspnetcore}/Startup.cs | 0 demo/{ => aspnetcore}/Views/Home/About.cshtml | 0 demo/{ => aspnetcore}/Views/Home/Contact.cshtml | 0 demo/{ => aspnetcore}/Views/Home/Index.cshtml | 0 demo/{ => aspnetcore}/Views/Shared/Error.cshtml | 0 demo/{ => aspnetcore}/Views/Shared/_Layout.cshtml | 0 demo/{ => aspnetcore}/Views/_ViewImports.cshtml | 0 demo/{ => aspnetcore}/Views/_ViewStart.cshtml | 0 demo/{ => aspnetcore}/appsettings.json | 0 demo/{ => aspnetcore}/bower.json | 0 demo/{ => aspnetcore}/bundleconfig.json | 0 demo/{ => aspnetcore}/demo.csproj | 0 demo/{ => aspnetcore}/demo.service | 0 demo/{ => aspnetcore}/version.json | 0 demo/{ => aspnetcore}/web.config | 0 demo/{ => aspnetcore}/wwwroot/_references.js | 0 demo/{ => aspnetcore}/wwwroot/css/site.css | 0 demo/{ => aspnetcore}/wwwroot/css/site.min.css | 0 demo/{ => aspnetcore}/wwwroot/favicon.ico | Bin demo/{ => aspnetcore}/wwwroot/images/banner1.svg | 0 demo/{ => aspnetcore}/wwwroot/images/banner2.svg | 0 demo/{ => aspnetcore}/wwwroot/images/banner3.svg | 0 demo/{ => aspnetcore}/wwwroot/images/banner4.svg | 0 demo/{ => aspnetcore}/wwwroot/js/site.js | 0 demo/{ => aspnetcore}/wwwroot/js/site.min.js | 0 .../wwwroot/lib/bootstrap/.bower.json | 0 demo/{ => aspnetcore}/wwwroot/lib/bootstrap/LICENSE | 0 .../lib/bootstrap/dist/css/bootstrap-theme.css | 0 .../lib/bootstrap/dist/css/bootstrap-theme.css.map | 0 .../lib/bootstrap/dist/css/bootstrap-theme.min.css | 0 .../bootstrap/dist/css/bootstrap-theme.min.css.map | 0 .../wwwroot/lib/bootstrap/dist/css/bootstrap.css | 0 .../lib/bootstrap/dist/css/bootstrap.css.map | 0 .../lib/bootstrap/dist/css/bootstrap.min.css | 0 .../lib/bootstrap/dist/css/bootstrap.min.css.map | 0 .../dist/fonts/glyphicons-halflings-regular.eot | Bin .../dist/fonts/glyphicons-halflings-regular.svg | 0 .../dist/fonts/glyphicons-halflings-regular.ttf | Bin .../dist/fonts/glyphicons-halflings-regular.woff | Bin .../dist/fonts/glyphicons-halflings-regular.woff2 | Bin .../wwwroot/lib/bootstrap/dist/js/bootstrap.js | 0 .../wwwroot/lib/bootstrap/dist/js/bootstrap.min.js | 0 .../wwwroot/lib/bootstrap/dist/js/npm.js | 0 .../lib/jquery-validation-unobtrusive/.bower.json | 0 .../jquery.validate.unobtrusive.js | 0 .../jquery.validate.unobtrusive.min.js | 0 .../wwwroot/lib/jquery-validation/.bower.json | 0 .../wwwroot/lib/jquery-validation/LICENSE.md | 0 .../jquery-validation/dist/additional-methods.js | 0 .../dist/additional-methods.min.js | 0 .../lib/jquery-validation/dist/jquery.validate.js | 0 .../jquery-validation/dist/jquery.validate.min.js | 0 .../{ => aspnetcore}/wwwroot/lib/jquery/.bower.json | 0 .../{ => aspnetcore}/wwwroot/lib/jquery/LICENSE.txt | 0 .../wwwroot/lib/jquery/dist/jquery.js | 0 .../wwwroot/lib/jquery/dist/jquery.min.js | 0 .../wwwroot/lib/jquery/dist/jquery.min.map | 0 61 files changed, 1 insertion(+) create mode 100644 demo/.gitignore rename demo/{ => aspnetcore}/.bowerrc (100%) rename demo/{ => aspnetcore}/Controllers/HomeController.cs (100%) rename demo/{ => aspnetcore}/Program.cs (100%) rename demo/{ => aspnetcore}/Startup.cs (100%) rename demo/{ => aspnetcore}/Views/Home/About.cshtml (100%) rename demo/{ => aspnetcore}/Views/Home/Contact.cshtml (100%) rename demo/{ => aspnetcore}/Views/Home/Index.cshtml (100%) rename demo/{ => aspnetcore}/Views/Shared/Error.cshtml (100%) rename demo/{ => aspnetcore}/Views/Shared/_Layout.cshtml (100%) rename demo/{ => aspnetcore}/Views/_ViewImports.cshtml (100%) rename demo/{ => aspnetcore}/Views/_ViewStart.cshtml (100%) rename demo/{ => aspnetcore}/appsettings.json (100%) rename demo/{ => aspnetcore}/bower.json (100%) rename demo/{ => aspnetcore}/bundleconfig.json (100%) rename demo/{ => aspnetcore}/demo.csproj (100%) rename demo/{ => aspnetcore}/demo.service (100%) rename demo/{ => aspnetcore}/version.json (100%) rename demo/{ => aspnetcore}/web.config (100%) rename demo/{ => aspnetcore}/wwwroot/_references.js (100%) rename demo/{ => aspnetcore}/wwwroot/css/site.css (100%) rename demo/{ => aspnetcore}/wwwroot/css/site.min.css (100%) rename demo/{ => aspnetcore}/wwwroot/favicon.ico (100%) rename demo/{ => aspnetcore}/wwwroot/images/banner1.svg (100%) rename demo/{ => aspnetcore}/wwwroot/images/banner2.svg (100%) rename demo/{ => aspnetcore}/wwwroot/images/banner3.svg (100%) rename demo/{ => aspnetcore}/wwwroot/images/banner4.svg (100%) rename demo/{ => aspnetcore}/wwwroot/js/site.js (100%) rename demo/{ => aspnetcore}/wwwroot/js/site.min.js (100%) rename demo/{ => aspnetcore}/wwwroot/lib/bootstrap/.bower.json (100%) rename demo/{ => aspnetcore}/wwwroot/lib/bootstrap/LICENSE (100%) rename demo/{ => aspnetcore}/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css (100%) rename demo/{ => aspnetcore}/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css.map (100%) rename demo/{ => aspnetcore}/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.min.css (100%) rename demo/{ => aspnetcore}/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.min.css.map (100%) rename demo/{ => aspnetcore}/wwwroot/lib/bootstrap/dist/css/bootstrap.css (100%) rename demo/{ => aspnetcore}/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map (100%) rename demo/{ => aspnetcore}/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css (100%) rename demo/{ => aspnetcore}/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map (100%) rename demo/{ => aspnetcore}/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot (100%) rename demo/{ => aspnetcore}/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.svg (100%) rename demo/{ => aspnetcore}/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf (100%) rename demo/{ => aspnetcore}/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff (100%) rename demo/{ => aspnetcore}/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 (100%) rename demo/{ => aspnetcore}/wwwroot/lib/bootstrap/dist/js/bootstrap.js (100%) rename demo/{ => aspnetcore}/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js (100%) rename demo/{ => aspnetcore}/wwwroot/lib/bootstrap/dist/js/npm.js (100%) rename demo/{ => aspnetcore}/wwwroot/lib/jquery-validation-unobtrusive/.bower.json (100%) rename demo/{ => aspnetcore}/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js (100%) rename demo/{ => aspnetcore}/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js (100%) rename demo/{ => aspnetcore}/wwwroot/lib/jquery-validation/.bower.json (100%) rename demo/{ => aspnetcore}/wwwroot/lib/jquery-validation/LICENSE.md (100%) rename demo/{ => aspnetcore}/wwwroot/lib/jquery-validation/dist/additional-methods.js (100%) rename demo/{ => aspnetcore}/wwwroot/lib/jquery-validation/dist/additional-methods.min.js (100%) rename demo/{ => aspnetcore}/wwwroot/lib/jquery-validation/dist/jquery.validate.js (100%) rename demo/{ => aspnetcore}/wwwroot/lib/jquery-validation/dist/jquery.validate.min.js (100%) rename demo/{ => aspnetcore}/wwwroot/lib/jquery/.bower.json (100%) rename demo/{ => aspnetcore}/wwwroot/lib/jquery/LICENSE.txt (100%) rename demo/{ => aspnetcore}/wwwroot/lib/jquery/dist/jquery.js (100%) rename demo/{ => aspnetcore}/wwwroot/lib/jquery/dist/jquery.min.js (100%) rename demo/{ => aspnetcore}/wwwroot/lib/jquery/dist/jquery.min.map (100%) diff --git a/demo/.gitignore b/demo/.gitignore new file mode 100644 index 00000000..bf083423 --- /dev/null +++ b/demo/.gitignore @@ -0,0 +1 @@ +Directory.Build.props diff --git a/demo/.bowerrc b/demo/aspnetcore/.bowerrc similarity index 100% rename from demo/.bowerrc rename to demo/aspnetcore/.bowerrc diff --git a/demo/Controllers/HomeController.cs b/demo/aspnetcore/Controllers/HomeController.cs similarity index 100% rename from demo/Controllers/HomeController.cs rename to demo/aspnetcore/Controllers/HomeController.cs diff --git a/demo/Program.cs b/demo/aspnetcore/Program.cs similarity index 100% rename from demo/Program.cs rename to demo/aspnetcore/Program.cs diff --git a/demo/Startup.cs b/demo/aspnetcore/Startup.cs similarity index 100% rename from demo/Startup.cs rename to demo/aspnetcore/Startup.cs diff --git a/demo/Views/Home/About.cshtml b/demo/aspnetcore/Views/Home/About.cshtml similarity index 100% rename from demo/Views/Home/About.cshtml rename to demo/aspnetcore/Views/Home/About.cshtml diff --git a/demo/Views/Home/Contact.cshtml b/demo/aspnetcore/Views/Home/Contact.cshtml similarity index 100% rename from demo/Views/Home/Contact.cshtml rename to demo/aspnetcore/Views/Home/Contact.cshtml diff --git a/demo/Views/Home/Index.cshtml b/demo/aspnetcore/Views/Home/Index.cshtml similarity index 100% rename from demo/Views/Home/Index.cshtml rename to demo/aspnetcore/Views/Home/Index.cshtml diff --git a/demo/Views/Shared/Error.cshtml b/demo/aspnetcore/Views/Shared/Error.cshtml similarity index 100% rename from demo/Views/Shared/Error.cshtml rename to demo/aspnetcore/Views/Shared/Error.cshtml diff --git a/demo/Views/Shared/_Layout.cshtml b/demo/aspnetcore/Views/Shared/_Layout.cshtml similarity index 100% rename from demo/Views/Shared/_Layout.cshtml rename to demo/aspnetcore/Views/Shared/_Layout.cshtml diff --git a/demo/Views/_ViewImports.cshtml b/demo/aspnetcore/Views/_ViewImports.cshtml similarity index 100% rename from demo/Views/_ViewImports.cshtml rename to demo/aspnetcore/Views/_ViewImports.cshtml diff --git a/demo/Views/_ViewStart.cshtml b/demo/aspnetcore/Views/_ViewStart.cshtml similarity index 100% rename from demo/Views/_ViewStart.cshtml rename to demo/aspnetcore/Views/_ViewStart.cshtml diff --git a/demo/appsettings.json b/demo/aspnetcore/appsettings.json similarity index 100% rename from demo/appsettings.json rename to demo/aspnetcore/appsettings.json diff --git a/demo/bower.json b/demo/aspnetcore/bower.json similarity index 100% rename from demo/bower.json rename to demo/aspnetcore/bower.json diff --git a/demo/bundleconfig.json b/demo/aspnetcore/bundleconfig.json similarity index 100% rename from demo/bundleconfig.json rename to demo/aspnetcore/bundleconfig.json diff --git a/demo/demo.csproj b/demo/aspnetcore/demo.csproj similarity index 100% rename from demo/demo.csproj rename to demo/aspnetcore/demo.csproj diff --git a/demo/demo.service b/demo/aspnetcore/demo.service similarity index 100% rename from demo/demo.service rename to demo/aspnetcore/demo.service diff --git a/demo/version.json b/demo/aspnetcore/version.json similarity index 100% rename from demo/version.json rename to demo/aspnetcore/version.json diff --git a/demo/web.config b/demo/aspnetcore/web.config similarity index 100% rename from demo/web.config rename to demo/aspnetcore/web.config diff --git a/demo/wwwroot/_references.js b/demo/aspnetcore/wwwroot/_references.js similarity index 100% rename from demo/wwwroot/_references.js rename to demo/aspnetcore/wwwroot/_references.js diff --git a/demo/wwwroot/css/site.css b/demo/aspnetcore/wwwroot/css/site.css similarity index 100% rename from demo/wwwroot/css/site.css rename to demo/aspnetcore/wwwroot/css/site.css diff --git a/demo/wwwroot/css/site.min.css b/demo/aspnetcore/wwwroot/css/site.min.css similarity index 100% rename from demo/wwwroot/css/site.min.css rename to demo/aspnetcore/wwwroot/css/site.min.css diff --git a/demo/wwwroot/favicon.ico b/demo/aspnetcore/wwwroot/favicon.ico similarity index 100% rename from demo/wwwroot/favicon.ico rename to demo/aspnetcore/wwwroot/favicon.ico diff --git a/demo/wwwroot/images/banner1.svg b/demo/aspnetcore/wwwroot/images/banner1.svg similarity index 100% rename from demo/wwwroot/images/banner1.svg rename to demo/aspnetcore/wwwroot/images/banner1.svg diff --git a/demo/wwwroot/images/banner2.svg b/demo/aspnetcore/wwwroot/images/banner2.svg similarity index 100% rename from demo/wwwroot/images/banner2.svg rename to demo/aspnetcore/wwwroot/images/banner2.svg diff --git a/demo/wwwroot/images/banner3.svg b/demo/aspnetcore/wwwroot/images/banner3.svg similarity index 100% rename from demo/wwwroot/images/banner3.svg rename to demo/aspnetcore/wwwroot/images/banner3.svg diff --git a/demo/wwwroot/images/banner4.svg b/demo/aspnetcore/wwwroot/images/banner4.svg similarity index 100% rename from demo/wwwroot/images/banner4.svg rename to demo/aspnetcore/wwwroot/images/banner4.svg diff --git a/demo/wwwroot/js/site.js b/demo/aspnetcore/wwwroot/js/site.js similarity index 100% rename from demo/wwwroot/js/site.js rename to demo/aspnetcore/wwwroot/js/site.js diff --git a/demo/wwwroot/js/site.min.js b/demo/aspnetcore/wwwroot/js/site.min.js similarity index 100% rename from demo/wwwroot/js/site.min.js rename to demo/aspnetcore/wwwroot/js/site.min.js diff --git a/demo/wwwroot/lib/bootstrap/.bower.json b/demo/aspnetcore/wwwroot/lib/bootstrap/.bower.json similarity index 100% rename from demo/wwwroot/lib/bootstrap/.bower.json rename to demo/aspnetcore/wwwroot/lib/bootstrap/.bower.json diff --git a/demo/wwwroot/lib/bootstrap/LICENSE b/demo/aspnetcore/wwwroot/lib/bootstrap/LICENSE similarity index 100% rename from demo/wwwroot/lib/bootstrap/LICENSE rename to demo/aspnetcore/wwwroot/lib/bootstrap/LICENSE diff --git a/demo/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css b/demo/aspnetcore/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css similarity index 100% rename from demo/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css rename to demo/aspnetcore/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css diff --git a/demo/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css.map b/demo/aspnetcore/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css.map similarity index 100% rename from demo/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css.map rename to demo/aspnetcore/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css.map diff --git a/demo/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.min.css b/demo/aspnetcore/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.min.css similarity index 100% rename from demo/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.min.css rename to demo/aspnetcore/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.min.css diff --git a/demo/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.min.css.map b/demo/aspnetcore/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.min.css.map similarity index 100% rename from demo/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.min.css.map rename to demo/aspnetcore/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.min.css.map diff --git a/demo/wwwroot/lib/bootstrap/dist/css/bootstrap.css b/demo/aspnetcore/wwwroot/lib/bootstrap/dist/css/bootstrap.css similarity index 100% rename from demo/wwwroot/lib/bootstrap/dist/css/bootstrap.css rename to demo/aspnetcore/wwwroot/lib/bootstrap/dist/css/bootstrap.css diff --git a/demo/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map b/demo/aspnetcore/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map similarity index 100% rename from demo/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map rename to demo/aspnetcore/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map diff --git a/demo/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css b/demo/aspnetcore/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css similarity index 100% rename from demo/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css rename to demo/aspnetcore/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css diff --git a/demo/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map b/demo/aspnetcore/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map similarity index 100% rename from demo/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map rename to demo/aspnetcore/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map diff --git a/demo/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot b/demo/aspnetcore/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot similarity index 100% rename from demo/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot rename to demo/aspnetcore/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot diff --git a/demo/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.svg b/demo/aspnetcore/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.svg similarity index 100% rename from demo/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.svg rename to demo/aspnetcore/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.svg diff --git a/demo/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf b/demo/aspnetcore/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf similarity index 100% rename from demo/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf rename to demo/aspnetcore/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf diff --git a/demo/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff b/demo/aspnetcore/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff similarity index 100% rename from demo/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff rename to demo/aspnetcore/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff diff --git a/demo/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 b/demo/aspnetcore/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 similarity index 100% rename from demo/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 rename to demo/aspnetcore/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 diff --git a/demo/wwwroot/lib/bootstrap/dist/js/bootstrap.js b/demo/aspnetcore/wwwroot/lib/bootstrap/dist/js/bootstrap.js similarity index 100% rename from demo/wwwroot/lib/bootstrap/dist/js/bootstrap.js rename to demo/aspnetcore/wwwroot/lib/bootstrap/dist/js/bootstrap.js diff --git a/demo/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js b/demo/aspnetcore/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js similarity index 100% rename from demo/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js rename to demo/aspnetcore/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js diff --git a/demo/wwwroot/lib/bootstrap/dist/js/npm.js b/demo/aspnetcore/wwwroot/lib/bootstrap/dist/js/npm.js similarity index 100% rename from demo/wwwroot/lib/bootstrap/dist/js/npm.js rename to demo/aspnetcore/wwwroot/lib/bootstrap/dist/js/npm.js diff --git a/demo/wwwroot/lib/jquery-validation-unobtrusive/.bower.json b/demo/aspnetcore/wwwroot/lib/jquery-validation-unobtrusive/.bower.json similarity index 100% rename from demo/wwwroot/lib/jquery-validation-unobtrusive/.bower.json rename to demo/aspnetcore/wwwroot/lib/jquery-validation-unobtrusive/.bower.json diff --git a/demo/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js b/demo/aspnetcore/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js similarity index 100% rename from demo/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js rename to demo/aspnetcore/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js diff --git a/demo/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js b/demo/aspnetcore/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js similarity index 100% rename from demo/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js rename to demo/aspnetcore/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js diff --git a/demo/wwwroot/lib/jquery-validation/.bower.json b/demo/aspnetcore/wwwroot/lib/jquery-validation/.bower.json similarity index 100% rename from demo/wwwroot/lib/jquery-validation/.bower.json rename to demo/aspnetcore/wwwroot/lib/jquery-validation/.bower.json diff --git a/demo/wwwroot/lib/jquery-validation/LICENSE.md b/demo/aspnetcore/wwwroot/lib/jquery-validation/LICENSE.md similarity index 100% rename from demo/wwwroot/lib/jquery-validation/LICENSE.md rename to demo/aspnetcore/wwwroot/lib/jquery-validation/LICENSE.md diff --git a/demo/wwwroot/lib/jquery-validation/dist/additional-methods.js b/demo/aspnetcore/wwwroot/lib/jquery-validation/dist/additional-methods.js similarity index 100% rename from demo/wwwroot/lib/jquery-validation/dist/additional-methods.js rename to demo/aspnetcore/wwwroot/lib/jquery-validation/dist/additional-methods.js diff --git a/demo/wwwroot/lib/jquery-validation/dist/additional-methods.min.js b/demo/aspnetcore/wwwroot/lib/jquery-validation/dist/additional-methods.min.js similarity index 100% rename from demo/wwwroot/lib/jquery-validation/dist/additional-methods.min.js rename to demo/aspnetcore/wwwroot/lib/jquery-validation/dist/additional-methods.min.js diff --git a/demo/wwwroot/lib/jquery-validation/dist/jquery.validate.js b/demo/aspnetcore/wwwroot/lib/jquery-validation/dist/jquery.validate.js similarity index 100% rename from demo/wwwroot/lib/jquery-validation/dist/jquery.validate.js rename to demo/aspnetcore/wwwroot/lib/jquery-validation/dist/jquery.validate.js diff --git a/demo/wwwroot/lib/jquery-validation/dist/jquery.validate.min.js b/demo/aspnetcore/wwwroot/lib/jquery-validation/dist/jquery.validate.min.js similarity index 100% rename from demo/wwwroot/lib/jquery-validation/dist/jquery.validate.min.js rename to demo/aspnetcore/wwwroot/lib/jquery-validation/dist/jquery.validate.min.js diff --git a/demo/wwwroot/lib/jquery/.bower.json b/demo/aspnetcore/wwwroot/lib/jquery/.bower.json similarity index 100% rename from demo/wwwroot/lib/jquery/.bower.json rename to demo/aspnetcore/wwwroot/lib/jquery/.bower.json diff --git a/demo/wwwroot/lib/jquery/LICENSE.txt b/demo/aspnetcore/wwwroot/lib/jquery/LICENSE.txt similarity index 100% rename from demo/wwwroot/lib/jquery/LICENSE.txt rename to demo/aspnetcore/wwwroot/lib/jquery/LICENSE.txt diff --git a/demo/wwwroot/lib/jquery/dist/jquery.js b/demo/aspnetcore/wwwroot/lib/jquery/dist/jquery.js similarity index 100% rename from demo/wwwroot/lib/jquery/dist/jquery.js rename to demo/aspnetcore/wwwroot/lib/jquery/dist/jquery.js diff --git a/demo/wwwroot/lib/jquery/dist/jquery.min.js b/demo/aspnetcore/wwwroot/lib/jquery/dist/jquery.min.js similarity index 100% rename from demo/wwwroot/lib/jquery/dist/jquery.min.js rename to demo/aspnetcore/wwwroot/lib/jquery/dist/jquery.min.js diff --git a/demo/wwwroot/lib/jquery/dist/jquery.min.map b/demo/aspnetcore/wwwroot/lib/jquery/dist/jquery.min.map similarity index 100% rename from demo/wwwroot/lib/jquery/dist/jquery.min.map rename to demo/aspnetcore/wwwroot/lib/jquery/dist/jquery.min.map From 114f34cd31f3034a9f0ba15f79018feee64510b8 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Fri, 31 Aug 2018 10:50:08 +0000 Subject: [PATCH 12/40] Use the latest version of dotnet-packaging in the demo projects --- Packaging.Targets/Packaging.Targets.csproj | 18 +++++++++++++++++- demo/aspnetcore/demo.csproj | 13 +++++++------ 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/Packaging.Targets/Packaging.Targets.csproj b/Packaging.Targets/Packaging.Targets.csproj index ff93a865..701b3d08 100644 --- a/Packaging.Targets/Packaging.Targets.csproj +++ b/Packaging.Targets/Packaging.Targets.csproj @@ -100,4 +100,20 @@ - \ No newline at end of file + + + + <!-- This file is auto-generated. Do not edit manually --> + <Project> + <PropertyGroup> + <PackagingNuGetVersion>$(NuGetPackageVersion)</PackagingNuGetVersion> + </PropertyGroup> + </Project> + + + + + diff --git a/demo/aspnetcore/demo.csproj b/demo/aspnetcore/demo.csproj index 47180e0d..b7c41e25 100644 --- a/demo/aspnetcore/demo.csproj +++ b/demo/aspnetcore/demo.csproj @@ -6,6 +6,7 @@ true true true + true @@ -21,13 +22,13 @@ - - - - - + + + + + - \ No newline at end of file + From bba3266017cfcd639ae5574daa2f51b6766b6ad4 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Fri, 31 Aug 2018 10:50:30 +0000 Subject: [PATCH 13/40] Use Release config --- demo/NuGet.config | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/demo/NuGet.config b/demo/NuGet.config index 4ee39f12..0255bd5e 100644 --- a/demo/NuGet.config +++ b/demo/NuGet.config @@ -1,10 +1,10 @@ - - - - + + + + - \ No newline at end of file + From 667f91d3e821d23a768d966c9846931e08fbfb0b Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Fri, 31 Aug 2018 10:52:07 +0000 Subject: [PATCH 14/40] Run dotnet deb, dotnet rpm as part of the build --- .travis.yml | 7 ++++++- appveyor.yml | 7 +++++++ demo/NuGet.config | 1 + demo/aspnetcore/demo.csproj | 1 + 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 051df87c..775857de 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,4 +8,9 @@ git: script: - dotnet restore dotnet-packaging.sln - dotnet pack dotnet-packaging.sln -c Release - - dotnet test Packaging.Targets.Tests/Packaging.Targets.Tests.csproj \ No newline at end of file + - dotnet test Packaging.Targets.Tests/Packaging.Targets.Tests.csproj + + - cd demo/aspnetcore + - dotnet restore + - dotnet rpm -c Release -r rhel.7-x64 -f netcoreapp2.0 + - dotnet deb -c Release -r ubuntu.16.04-x64 -f netcoreapp2.0 diff --git a/appveyor.yml b/appveyor.yml index fcaafbed..caf8161f 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -17,12 +17,19 @@ test_script: - ps: '& (Join-Path $env:APPVEYOR_BUILD_FOLDER "appveyor-testresults.ps1")' - cmd: cd .. + - cmd: cd demo/aspnetcore + - cmd: dotnet restore + - cmd: dotnet rpm -c Release -r rhel.7-x64 -f netcoreapp2.0 + - cmd: dotnet deb -c Release -r ubuntu.16.04-x64 -f netcoreapp2.0 + artifacts: - path: dotnet-tarball\bin\Release\dotnet-tarball.*.nupkg - path: dotnet-zip\bin\Release\dotnet-zip.*.nupkg - path: dotnet-rpm\bin\Release\dotnet-rpm.*.nupkg - path: dotnet-deb\bin\Release\dotnet-deb.*.nupkg - path: Packaging.Targets\bin\Release\Packaging.Targets.*.nupkg + - path: demo\**\*.deb + - path: demo\**\*.rpm deploy: provider: NuGet diff --git a/demo/NuGet.config b/demo/NuGet.config index 0255bd5e..4057ba83 100644 --- a/demo/NuGet.config +++ b/demo/NuGet.config @@ -5,6 +5,7 @@ + diff --git a/demo/aspnetcore/demo.csproj b/demo/aspnetcore/demo.csproj index b7c41e25..49f52182 100644 --- a/demo/aspnetcore/demo.csproj +++ b/demo/aspnetcore/demo.csproj @@ -27,6 +27,7 @@ + From 2f0673457ff1c1d8587fe76dcaf2df2a823342dd Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Fri, 31 Aug 2018 14:16:20 +0000 Subject: [PATCH 15/40] Bump libicu versions to add support for Ubuntu 18.04 --- Packaging.Targets/build/Packaging.Targets.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Packaging.Targets/build/Packaging.Targets.targets b/Packaging.Targets/build/Packaging.Targets.targets index 02ecb85d..0e8c0b18 100644 --- a/Packaging.Targets/build/Packaging.Targets.targets +++ b/Packaging.Targets/build/Packaging.Targets.targets @@ -83,7 +83,7 @@ - + Date: Tue, 28 Aug 2018 21:19:48 +0200 Subject: [PATCH 16/40] docker test updates --- test/NuGet.config | 10 +++ test/docker/.dockerignore | 10 +++ test/docker/Directory.Build.props | 3 + test/docker/README.md | 1 + test/docker/Test.proj | 18 +++++ test/docker/_scripts/removeimage.cmd | 4 ++ test/docker/_scripts/removeimage.sh | 3 + test/docker/_scripts/runtest.cmd | 26 +++++++ test/docker/_scripts/runtest.sh | 18 +++++ test/docker/images/centos/Dockerfile | 2 + test/docker/images/centos/Test.proj | 30 ++++++++ test/docker/images/centos/build.cmd | 5 ++ test/docker/images/centos/build.sh | 5 ++ test/docker/images/centos/clean.cmd | 4 ++ test/docker/images/centos/clean.sh | 4 ++ test/docker/images/centos/test-cli-fdd.sh | 6 ++ test/docker/images/centos/test-cli-scd.sh | 6 ++ test/docker/images/centos/test.cmd | 7 ++ test/docker/images/centos/test.sh | 7 ++ test/docker/images/debian/Dockerfile | 2 + test/docker/images/debian/Test.proj | 23 ++++++ test/docker/images/debian/build.cmd | 5 ++ test/docker/images/debian/build.sh | 5 ++ test/docker/images/debian/clean.cmd | 4 ++ test/docker/images/debian/clean.sh | 4 ++ test/docker/images/debian/test-cli-fdd.sh | 6 ++ test/docker/images/debian/test-cli-scd.sh | 6 ++ test/docker/images/debian/test.cmd | 7 ++ test/docker/images/debian/test.sh | 7 ++ test/docker/images/fedora/Dockerfile | 2 + test/docker/images/fedora/Test.proj | 23 ++++++ test/docker/images/fedora/build.cmd | 5 ++ test/docker/images/fedora/build.sh | 5 ++ test/docker/images/fedora/clean.cmd | 4 ++ test/docker/images/fedora/clean.sh | 4 ++ test/docker/images/fedora/test-cli-fdd.sh | 6 ++ test/docker/images/fedora/test-cli-scd.sh | 6 ++ test/docker/images/fedora/test.cmd | 7 ++ test/docker/images/fedora/test.sh | 7 ++ test/docker/images/ubuntu/Dockerfile | 2 + test/docker/images/ubuntu/NULL | 3 + test/docker/images/ubuntu/Test.proj | 32 +++++++++ test/docker/images/ubuntu/build.cmd | 11 +++ test/docker/images/ubuntu/build.sh | 5 ++ test/docker/images/ubuntu/clean.cmd | 4 ++ test/docker/images/ubuntu/clean.sh | 4 ++ .../images/ubuntu/test-cli-fdd.reference.txt | 1 + test/docker/images/ubuntu/test-cli-fdd.sh | 5 ++ .../images/ubuntu/test-cli-scd.reference.txt | 1 + test/docker/images/ubuntu/test-cli-scd.sh | 5 ++ test/docker/images/ubuntu/test.cmd | 14 ++++ test/docker/images/ubuntu/test.sh | 7 ++ .../docker/testprojects/clifdd/src/Program.cs | 12 ++++ .../testprojects/clifdd/src/clifdd.csproj | 38 ++++++++++ .../clifdd/src/clifdd.machine.config | 0 .../clifdd/src/clifdd.user.config | 0 .../docker/testprojects/clifdd/src/readme.txt | 1 + .../docker/testprojects/cliscd/src/Program.cs | 12 ++++ .../testprojects/cliscd/src/cliscd.csproj | 70 +++++++++++++++++++ .../cliscd/src/cliscd.machine.config | 0 .../cliscd/src/cliscd.user.config | 0 .../docker/testprojects/cliscd/src/readme.txt | 1 + 62 files changed, 535 insertions(+) create mode 100644 test/NuGet.config create mode 100644 test/docker/.dockerignore create mode 100644 test/docker/Directory.Build.props create mode 100644 test/docker/README.md create mode 100644 test/docker/Test.proj create mode 100644 test/docker/_scripts/removeimage.cmd create mode 100644 test/docker/_scripts/removeimage.sh create mode 100644 test/docker/_scripts/runtest.cmd create mode 100644 test/docker/_scripts/runtest.sh create mode 100644 test/docker/images/centos/Dockerfile create mode 100644 test/docker/images/centos/Test.proj create mode 100644 test/docker/images/centos/build.cmd create mode 100644 test/docker/images/centos/build.sh create mode 100644 test/docker/images/centos/clean.cmd create mode 100644 test/docker/images/centos/clean.sh create mode 100644 test/docker/images/centos/test-cli-fdd.sh create mode 100644 test/docker/images/centos/test-cli-scd.sh create mode 100644 test/docker/images/centos/test.cmd create mode 100644 test/docker/images/centos/test.sh create mode 100644 test/docker/images/debian/Dockerfile create mode 100644 test/docker/images/debian/Test.proj create mode 100644 test/docker/images/debian/build.cmd create mode 100644 test/docker/images/debian/build.sh create mode 100644 test/docker/images/debian/clean.cmd create mode 100644 test/docker/images/debian/clean.sh create mode 100644 test/docker/images/debian/test-cli-fdd.sh create mode 100644 test/docker/images/debian/test-cli-scd.sh create mode 100644 test/docker/images/debian/test.cmd create mode 100644 test/docker/images/debian/test.sh create mode 100644 test/docker/images/fedora/Dockerfile create mode 100644 test/docker/images/fedora/Test.proj create mode 100644 test/docker/images/fedora/build.cmd create mode 100644 test/docker/images/fedora/build.sh create mode 100644 test/docker/images/fedora/clean.cmd create mode 100644 test/docker/images/fedora/clean.sh create mode 100644 test/docker/images/fedora/test-cli-fdd.sh create mode 100644 test/docker/images/fedora/test-cli-scd.sh create mode 100644 test/docker/images/fedora/test.cmd create mode 100644 test/docker/images/fedora/test.sh create mode 100644 test/docker/images/ubuntu/Dockerfile create mode 100644 test/docker/images/ubuntu/NULL create mode 100644 test/docker/images/ubuntu/Test.proj create mode 100644 test/docker/images/ubuntu/build.cmd create mode 100644 test/docker/images/ubuntu/build.sh create mode 100644 test/docker/images/ubuntu/clean.cmd create mode 100644 test/docker/images/ubuntu/clean.sh create mode 100644 test/docker/images/ubuntu/test-cli-fdd.reference.txt create mode 100644 test/docker/images/ubuntu/test-cli-fdd.sh create mode 100644 test/docker/images/ubuntu/test-cli-scd.reference.txt create mode 100644 test/docker/images/ubuntu/test-cli-scd.sh create mode 100644 test/docker/images/ubuntu/test.cmd create mode 100644 test/docker/images/ubuntu/test.sh create mode 100644 test/docker/testprojects/clifdd/src/Program.cs create mode 100644 test/docker/testprojects/clifdd/src/clifdd.csproj create mode 100644 test/docker/testprojects/clifdd/src/clifdd.machine.config create mode 100644 test/docker/testprojects/clifdd/src/clifdd.user.config create mode 100644 test/docker/testprojects/clifdd/src/readme.txt create mode 100644 test/docker/testprojects/cliscd/src/Program.cs create mode 100644 test/docker/testprojects/cliscd/src/cliscd.csproj create mode 100644 test/docker/testprojects/cliscd/src/cliscd.machine.config create mode 100644 test/docker/testprojects/cliscd/src/cliscd.user.config create mode 100644 test/docker/testprojects/cliscd/src/readme.txt diff --git a/test/NuGet.config b/test/NuGet.config new file mode 100644 index 00000000..4ee39f12 --- /dev/null +++ b/test/NuGet.config @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/test/docker/.dockerignore b/test/docker/.dockerignore new file mode 100644 index 00000000..6975847e --- /dev/null +++ b/test/docker/.dockerignore @@ -0,0 +1,10 @@ +node_modules +npm-debug.log +Dockerfile* +docker-compose* +.dockerignore +.git +.gitignore +README.md +LICENSE +.vscode \ No newline at end of file diff --git a/test/docker/Directory.Build.props b/test/docker/Directory.Build.props new file mode 100644 index 00000000..a88b8587 --- /dev/null +++ b/test/docker/Directory.Build.props @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/test/docker/README.md b/test/docker/README.md new file mode 100644 index 00000000..f73f6223 --- /dev/null +++ b/test/docker/README.md @@ -0,0 +1 @@ +This directory contains docker-based test projectsand verification scripts executed against various versions of Linux. \ No newline at end of file diff --git a/test/docker/Test.proj b/test/docker/Test.proj new file mode 100644 index 00000000..1be5c4b0 --- /dev/null +++ b/test/docker/Test.proj @@ -0,0 +1,18 @@ + + + None + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/docker/_scripts/removeimage.cmd b/test/docker/_scripts/removeimage.cmd new file mode 100644 index 00000000..0a904547 --- /dev/null +++ b/test/docker/_scripts/removeimage.cmd @@ -0,0 +1,4 @@ +set _IMAGE_ID= +for /f %%i in ('docker images %IMAGE_NAME% -q') do set _IMAGE_ID=%%i +if "%_IMAGE_ID%"=="" exit /b +docker rmi -f %IMAGE_NAME%:latest \ No newline at end of file diff --git a/test/docker/_scripts/removeimage.sh b/test/docker/_scripts/removeimage.sh new file mode 100644 index 00000000..0b204061 --- /dev/null +++ b/test/docker/_scripts/removeimage.sh @@ -0,0 +1,3 @@ +if [ ! -z `docker images "$IMAGE_NAME" -q` ]; then + docker rmi -f $IMAGE_NAME:latest +fi \ No newline at end of file diff --git a/test/docker/_scripts/runtest.cmd b/test/docker/_scripts/runtest.cmd new file mode 100644 index 00000000..ff9341e3 --- /dev/null +++ b/test/docker/_scripts/runtest.cmd @@ -0,0 +1,26 @@ +rem @echo off + +set _IMAGENAME=%1 +set _TESTNAME=%2 +set _PACKAGENAME=%3 + + +echo Running %_TESTNAME% +set _OUTFILE=%temp%\tests-%_TESTNAME%.output.txt +docker run -v %_MOUNTPATH%:/tests --rm %_IMAGENAME%:latest bash /tests/%_TESTNAME%.sh %_PACKAGENAME% > %_OUTFILE% + +IF EXIST %_MOUNTPATH%\%_TESTNAME%.reference.txt ( + comp /M %_MOUNTPATH%\%_TESTNAME%.reference.txt %_OUTFILE% > NULL + if errorlevel 1 ( + type %_OUTFILE% + set _RESULT=1 + ) else ( + echo OK + set _RESULT=0 + ) +) ELSE ( + set _RESULT=0 + copy /y %_OUTFILE% %_MOUNTPATH%\%_TESTNAME%.reference.txt +) +del %_OUTFILE% +exit /b %_RESULT% \ No newline at end of file diff --git a/test/docker/_scripts/runtest.sh b/test/docker/_scripts/runtest.sh new file mode 100644 index 00000000..6592f315 --- /dev/null +++ b/test/docker/_scripts/runtest.sh @@ -0,0 +1,18 @@ +#!/bin/bash +echo Running $_TESTNAME +_OUTFILE=$(mktemp) +docker run -v $_MOUNTPATH:/tests -e AZBRIDGE_TEST_CXNSTRING="$_CXNSTRING" --rm $IMAGE_NAME:latest bash /tests/$_TESTNAME.sh > $_OUTFILE +if [ -f $_MOUNTPATH/$_TESTNAME.reference.txt ]; then + diff -w $_MOUNTPATH/$_TESTNAME.reference.txt $_OUTFILE > /dev/null 2>&1 + _RESULT=$? + if [ $_RESULT -eq 0 ]; then + echo OK + else + diff -w $_MOUNTPATH/$_TESTNAME.reference.txt $_OUTFILE + fi +else + cp $_OUTFILE $_MOUNTPATH/$_TESTNAME.reference.txt > /dev/null 2>&1 + _RESULT=0 +fi +rm $_OUTFILE +echo $_TESTNAME done. diff --git a/test/docker/images/centos/Dockerfile b/test/docker/images/centos/Dockerfile new file mode 100644 index 00000000..43117a83 --- /dev/null +++ b/test/docker/images/centos/Dockerfile @@ -0,0 +1,2 @@ +FROM centos AS build +USER root \ No newline at end of file diff --git a/test/docker/images/centos/Test.proj b/test/docker/images/centos/Test.proj new file mode 100644 index 00000000..80ffed70 --- /dev/null +++ b/test/docker/images/centos/Test.proj @@ -0,0 +1,30 @@ + + + + None + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/docker/images/centos/build.cmd b/test/docker/images/centos/build.cmd new file mode 100644 index 00000000..89c23d0a --- /dev/null +++ b/test/docker/images/centos/build.cmd @@ -0,0 +1,5 @@ +@echo off + +pushd "%~dp0" +docker build -f Dockerfile . --tag dotnet_packaging_centos_test +popd \ No newline at end of file diff --git a/test/docker/images/centos/build.sh b/test/docker/images/centos/build.sh new file mode 100644 index 00000000..9866cea8 --- /dev/null +++ b/test/docker/images/centos/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +pushd "${0%/*}" > /dev/null +docker build -f Dockerfile . --tag dotnet_packaging_centos_test +popd \ No newline at end of file diff --git a/test/docker/images/centos/clean.cmd b/test/docker/images/centos/clean.cmd new file mode 100644 index 00000000..f15266f2 --- /dev/null +++ b/test/docker/images/centos/clean.cmd @@ -0,0 +1,4 @@ +@echo off + +set IMAGE_NAME=dotnet_packaging_centos_test +call ../../_scripts/removeimage.cmd \ No newline at end of file diff --git a/test/docker/images/centos/clean.sh b/test/docker/images/centos/clean.sh new file mode 100644 index 00000000..b8b7a151 --- /dev/null +++ b/test/docker/images/centos/clean.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +IMAGE_NAME=dotnet_packaging_centos_test +source ../../_scripts/removeimage.sh \ No newline at end of file diff --git a/test/docker/images/centos/test-cli-fdd.sh b/test/docker/images/centos/test-cli-fdd.sh new file mode 100644 index 00000000..3cc6e5d7 --- /dev/null +++ b/test/docker/images/centos/test-cli-fdd.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +rm -f ~/testoutput.log + +echo "pong" > ~/testoutputres.log 2>&1 & +cat ~/testoutput.log diff --git a/test/docker/images/centos/test-cli-scd.sh b/test/docker/images/centos/test-cli-scd.sh new file mode 100644 index 00000000..3cc6e5d7 --- /dev/null +++ b/test/docker/images/centos/test-cli-scd.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +rm -f ~/testoutput.log + +echo "pong" > ~/testoutputres.log 2>&1 & +cat ~/testoutput.log diff --git a/test/docker/images/centos/test.cmd b/test/docker/images/centos/test.cmd new file mode 100644 index 00000000..b47de99d --- /dev/null +++ b/test/docker/images/centos/test.cmd @@ -0,0 +1,7 @@ +@echo off + +pushd "%~dp0" +SET IMAGE_NAME=dotnet_packaging_centos_test +call ..\..\_scripts\imagetests.cmd %* +popd +exit /b %ERRORLEVEL% diff --git a/test/docker/images/centos/test.sh b/test/docker/images/centos/test.sh new file mode 100644 index 00000000..de2ae335 --- /dev/null +++ b/test/docker/images/centos/test.sh @@ -0,0 +1,7 @@ +#!/bin/bash +pushd "${0%/*}" > /dev/null + +IMAGE_NAME=dotnet_packaging_centos_test +source ../../_scripts/imagetests.sh +popd +exit $_RESULT \ No newline at end of file diff --git a/test/docker/images/debian/Dockerfile b/test/docker/images/debian/Dockerfile new file mode 100644 index 00000000..2cef9f71 --- /dev/null +++ b/test/docker/images/debian/Dockerfile @@ -0,0 +1,2 @@ +FROM debian:jessie AS build +USER root \ No newline at end of file diff --git a/test/docker/images/debian/Test.proj b/test/docker/images/debian/Test.proj new file mode 100644 index 00000000..d03c6bf8 --- /dev/null +++ b/test/docker/images/debian/Test.proj @@ -0,0 +1,23 @@ + + + + None + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/docker/images/debian/build.cmd b/test/docker/images/debian/build.cmd new file mode 100644 index 00000000..bf12b43a --- /dev/null +++ b/test/docker/images/debian/build.cmd @@ -0,0 +1,5 @@ +rem @echo off + +pushd "%~dp0" +docker build -f Dockerfile . --tag dotnet_packaging_debian8_test +popd \ No newline at end of file diff --git a/test/docker/images/debian/build.sh b/test/docker/images/debian/build.sh new file mode 100644 index 00000000..ceb492ef --- /dev/null +++ b/test/docker/images/debian/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +pushd "${0%/*}" > /dev/null +docker build -f Dockerfile . --tag dotnet_packaging_debian8_test +popd \ No newline at end of file diff --git a/test/docker/images/debian/clean.cmd b/test/docker/images/debian/clean.cmd new file mode 100644 index 00000000..b69effc7 --- /dev/null +++ b/test/docker/images/debian/clean.cmd @@ -0,0 +1,4 @@ +@echo off + +set IMAGE_NAME=dotnet_packaging_debian8_test +call ..\..\_scripts\removeimage.cmd \ No newline at end of file diff --git a/test/docker/images/debian/clean.sh b/test/docker/images/debian/clean.sh new file mode 100644 index 00000000..15841ee0 --- /dev/null +++ b/test/docker/images/debian/clean.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +IMAGE_NAME=dotnet_packaging_debian8_test +source ../../_scripts/removeimage.sh \ No newline at end of file diff --git a/test/docker/images/debian/test-cli-fdd.sh b/test/docker/images/debian/test-cli-fdd.sh new file mode 100644 index 00000000..5a9c98b6 --- /dev/null +++ b/test/docker/images/debian/test-cli-fdd.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +rm -f ~/testoutput.log + +echo "pong" > ~/testoutput.log 2>&1 & +cat ~/testoutput.log diff --git a/test/docker/images/debian/test-cli-scd.sh b/test/docker/images/debian/test-cli-scd.sh new file mode 100644 index 00000000..3cc6e5d7 --- /dev/null +++ b/test/docker/images/debian/test-cli-scd.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +rm -f ~/testoutput.log + +echo "pong" > ~/testoutputres.log 2>&1 & +cat ~/testoutput.log diff --git a/test/docker/images/debian/test.cmd b/test/docker/images/debian/test.cmd new file mode 100644 index 00000000..6459daab --- /dev/null +++ b/test/docker/images/debian/test.cmd @@ -0,0 +1,7 @@ +@echo off + +pushd "%~dp0" +SET IMAGE_NAME=dotnet_packaging_debian8_test +call ..\..\_scripts\imagetests.cmd %* +popd +exit /b %ERRORLEVEL% diff --git a/test/docker/images/debian/test.sh b/test/docker/images/debian/test.sh new file mode 100644 index 00000000..282d1f6a --- /dev/null +++ b/test/docker/images/debian/test.sh @@ -0,0 +1,7 @@ +#!/bin/bash +pushd "${0%/*}" > /dev/null + +IMAGE_NAME=dotnet_packaging_debian8_test +source ../../_scripts/imagetests.sh +popd +exit $_RESULT \ No newline at end of file diff --git a/test/docker/images/fedora/Dockerfile b/test/docker/images/fedora/Dockerfile new file mode 100644 index 00000000..25f510ee --- /dev/null +++ b/test/docker/images/fedora/Dockerfile @@ -0,0 +1,2 @@ +FROM fedora AS build +USER root diff --git a/test/docker/images/fedora/Test.proj b/test/docker/images/fedora/Test.proj new file mode 100644 index 00000000..fe9785e9 --- /dev/null +++ b/test/docker/images/fedora/Test.proj @@ -0,0 +1,23 @@ + + + + None + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/docker/images/fedora/build.cmd b/test/docker/images/fedora/build.cmd new file mode 100644 index 00000000..b59a1aba --- /dev/null +++ b/test/docker/images/fedora/build.cmd @@ -0,0 +1,5 @@ +@echo off + +pushd "%~dp0" +docker build -f Dockerfile . --tag dotnet_packaging_fedora_test +popd \ No newline at end of file diff --git a/test/docker/images/fedora/build.sh b/test/docker/images/fedora/build.sh new file mode 100644 index 00000000..506454f2 --- /dev/null +++ b/test/docker/images/fedora/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +pushd "${0%/*}" > /dev/null +docker build -f Dockerfile . --tag dotnet_packaging_fedora_test +popd \ No newline at end of file diff --git a/test/docker/images/fedora/clean.cmd b/test/docker/images/fedora/clean.cmd new file mode 100644 index 00000000..576cc820 --- /dev/null +++ b/test/docker/images/fedora/clean.cmd @@ -0,0 +1,4 @@ +@echo off + +set IMAGE_NAME=dotnet_packaging_fedora_test +call ..\..\_scripts\removeimage.cmd \ No newline at end of file diff --git a/test/docker/images/fedora/clean.sh b/test/docker/images/fedora/clean.sh new file mode 100644 index 00000000..aa61b721 --- /dev/null +++ b/test/docker/images/fedora/clean.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +IMAGE_NAME=dotnet_packaging_fedora_test +source ../../_scripts/removeimage.sh \ No newline at end of file diff --git a/test/docker/images/fedora/test-cli-fdd.sh b/test/docker/images/fedora/test-cli-fdd.sh new file mode 100644 index 00000000..3cc6e5d7 --- /dev/null +++ b/test/docker/images/fedora/test-cli-fdd.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +rm -f ~/testoutput.log + +echo "pong" > ~/testoutputres.log 2>&1 & +cat ~/testoutput.log diff --git a/test/docker/images/fedora/test-cli-scd.sh b/test/docker/images/fedora/test-cli-scd.sh new file mode 100644 index 00000000..3cc6e5d7 --- /dev/null +++ b/test/docker/images/fedora/test-cli-scd.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +rm -f ~/testoutput.log + +echo "pong" > ~/testoutputres.log 2>&1 & +cat ~/testoutput.log diff --git a/test/docker/images/fedora/test.cmd b/test/docker/images/fedora/test.cmd new file mode 100644 index 00000000..8957283b --- /dev/null +++ b/test/docker/images/fedora/test.cmd @@ -0,0 +1,7 @@ +@echo off + +pushd "%~dp0" +SET IMAGE_NAME=dotnet_packaging_fedora_test +call ..\..\_scripts\imagetests.cmd %* +popd +exit /b %ERRORLEVEL% diff --git a/test/docker/images/fedora/test.sh b/test/docker/images/fedora/test.sh new file mode 100644 index 00000000..04e9bdb9 --- /dev/null +++ b/test/docker/images/fedora/test.sh @@ -0,0 +1,7 @@ +#!/bin/bash +pushd "${0%/*}" > /dev/null + +IMAGE_NAME=dotnet_packaging_fedora_test +source ../../_scripts/imagetests.sh +popd +exit $_RESULT diff --git a/test/docker/images/ubuntu/Dockerfile b/test/docker/images/ubuntu/Dockerfile new file mode 100644 index 00000000..e59f1356 --- /dev/null +++ b/test/docker/images/ubuntu/Dockerfile @@ -0,0 +1,2 @@ +FROM ubuntu:xenial AS build +USER root \ No newline at end of file diff --git a/test/docker/images/ubuntu/NULL b/test/docker/images/ubuntu/NULL new file mode 100644 index 00000000..dde85a0d --- /dev/null +++ b/test/docker/images/ubuntu/NULL @@ -0,0 +1,3 @@ +Vergleichen von E:\Code\dotnet-packaging\test\docker\images\ubuntu\test-cli-scd.reference.txt und C:\Users\CLEMEN~1.RED\AppData\Local\Temp\tests-test-cli-scd.output.txt... +Dateien sind identisch + diff --git a/test/docker/images/ubuntu/Test.proj b/test/docker/images/ubuntu/Test.proj new file mode 100644 index 00000000..97563165 --- /dev/null +++ b/test/docker/images/ubuntu/Test.proj @@ -0,0 +1,32 @@ + + + + None + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/docker/images/ubuntu/build.cmd b/test/docker/images/ubuntu/build.cmd new file mode 100644 index 00000000..a6b36b40 --- /dev/null +++ b/test/docker/images/ubuntu/build.cmd @@ -0,0 +1,11 @@ +@echo off + +pushd "%~dp0" + +if not exist "packages" mkdir packages +copy /y "%1" packages > NUL +copy /y "%2" packages > NUL +docker build -f Dockerfile . --tag dotnet_packaging_ubuntu1604_test +rd /s /q packages + +popd \ No newline at end of file diff --git a/test/docker/images/ubuntu/build.sh b/test/docker/images/ubuntu/build.sh new file mode 100644 index 00000000..e7a7ae99 --- /dev/null +++ b/test/docker/images/ubuntu/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +pushd "${0%/*}" > /dev/null +docker build -f Dockerfile . --tag dotnet_packaging_ubuntu1604_test +popd \ No newline at end of file diff --git a/test/docker/images/ubuntu/clean.cmd b/test/docker/images/ubuntu/clean.cmd new file mode 100644 index 00000000..5e3b0a5e --- /dev/null +++ b/test/docker/images/ubuntu/clean.cmd @@ -0,0 +1,4 @@ +@echo off + +set IMAGE_NAME=dotnet_packaging_ubuntu1604_test +call ..\..\_scripts\removeimage.cmd \ No newline at end of file diff --git a/test/docker/images/ubuntu/clean.sh b/test/docker/images/ubuntu/clean.sh new file mode 100644 index 00000000..626c7345 --- /dev/null +++ b/test/docker/images/ubuntu/clean.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +IMAGE_NAME=dotnet_packaging_ubuntu1604_test +source ../../_scripts/removeimage.sh \ No newline at end of file diff --git a/test/docker/images/ubuntu/test-cli-fdd.reference.txt b/test/docker/images/ubuntu/test-cli-fdd.reference.txt new file mode 100644 index 00000000..8e554694 --- /dev/null +++ b/test/docker/images/ubuntu/test-cli-fdd.reference.txt @@ -0,0 +1 @@ +pong diff --git a/test/docker/images/ubuntu/test-cli-fdd.sh b/test/docker/images/ubuntu/test-cli-fdd.sh new file mode 100644 index 00000000..796282d8 --- /dev/null +++ b/test/docker/images/ubuntu/test-cli-fdd.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +rm -f ~/testoutput.log +echo "pong" > ~/testoutput.log 2>&1 +cat ~/testoutput.log diff --git a/test/docker/images/ubuntu/test-cli-scd.reference.txt b/test/docker/images/ubuntu/test-cli-scd.reference.txt new file mode 100644 index 00000000..8e554694 --- /dev/null +++ b/test/docker/images/ubuntu/test-cli-scd.reference.txt @@ -0,0 +1 @@ +pong diff --git a/test/docker/images/ubuntu/test-cli-scd.sh b/test/docker/images/ubuntu/test-cli-scd.sh new file mode 100644 index 00000000..796282d8 --- /dev/null +++ b/test/docker/images/ubuntu/test-cli-scd.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +rm -f ~/testoutput.log +echo "pong" > ~/testoutput.log 2>&1 +cat ~/testoutput.log diff --git a/test/docker/images/ubuntu/test.cmd b/test/docker/images/ubuntu/test.cmd new file mode 100644 index 00000000..f7ce6c6b --- /dev/null +++ b/test/docker/images/ubuntu/test.cmd @@ -0,0 +1,14 @@ +rem @echo off + +pushd "%~dp0" +SET FDD_PACKAGE=%~n1%~x1 +SET SCD_PACKAGE=%~n2%~x2 +SET _IMAGENAME=dotnet_packaging_ubuntu1604_test +SET _MOUNTPATH=%cd% +call ..\..\_scripts\runtest.cmd %_IMAGENAME% test-cli-fdd %FDD_PACKAGE% +if ERRORLEVEL 1 goto end +call ..\..\_scripts\runtest.cmd %_IMAGENAME% test-cli-scd %SCD_PACKAGE% + +:end +popd +exit /b %ERRORLEVEL% diff --git a/test/docker/images/ubuntu/test.sh b/test/docker/images/ubuntu/test.sh new file mode 100644 index 00000000..bfede710 --- /dev/null +++ b/test/docker/images/ubuntu/test.sh @@ -0,0 +1,7 @@ +#!/bin/bash +pushd "${0%/*}" > /dev/null + +IMAGE_NAME=dotnet_packaging_ubuntu1604_test +source ../../_scripts/imagetests.sh +popd +exit $_RESULT diff --git a/test/docker/testprojects/clifdd/src/Program.cs b/test/docker/testprojects/clifdd/src/Program.cs new file mode 100644 index 00000000..5d7b3775 --- /dev/null +++ b/test/docker/testprojects/clifdd/src/Program.cs @@ -0,0 +1,12 @@ +using System; + +namespace CliFdd +{ + class Program + { + static void Main(string[] args) + { + Console.WriteLine("Hello World!"); + } + } +} diff --git a/test/docker/testprojects/clifdd/src/clifdd.csproj b/test/docker/testprojects/clifdd/src/clifdd.csproj new file mode 100644 index 00000000..e589afea --- /dev/null +++ b/test/docker/testprojects/clifdd/src/clifdd.csproj @@ -0,0 +1,38 @@ + + + + Exe + win7-x64;win7-x86;win10-x64;win10-x86;osx-x64;debian.8-x64;ubuntu.16.10-x64;ubuntu.16.04-x64;opensuse-x64;ol-x64;rhel-x64;fedora-x64;centos-x64 + netcoreapp2.1 + + + + + /etc/clifdd + PreserveNewest + + + ~/.clifdd + PreserveNewest + + + true + + + + + + + + + + + + + + + + + + + diff --git a/test/docker/testprojects/clifdd/src/clifdd.machine.config b/test/docker/testprojects/clifdd/src/clifdd.machine.config new file mode 100644 index 00000000..e69de29b diff --git a/test/docker/testprojects/clifdd/src/clifdd.user.config b/test/docker/testprojects/clifdd/src/clifdd.user.config new file mode 100644 index 00000000..e69de29b diff --git a/test/docker/testprojects/clifdd/src/readme.txt b/test/docker/testprojects/clifdd/src/readme.txt new file mode 100644 index 00000000..1045cf25 --- /dev/null +++ b/test/docker/testprojects/clifdd/src/readme.txt @@ -0,0 +1 @@ +Test Test \ No newline at end of file diff --git a/test/docker/testprojects/cliscd/src/Program.cs b/test/docker/testprojects/cliscd/src/Program.cs new file mode 100644 index 00000000..08f82dcc --- /dev/null +++ b/test/docker/testprojects/cliscd/src/Program.cs @@ -0,0 +1,12 @@ +using System; + +namespace CliScd +{ + class Program + { + static void Main(string[] args) + { + Console.WriteLine("Hello World!"); + } + } +} diff --git a/test/docker/testprojects/cliscd/src/cliscd.csproj b/test/docker/testprojects/cliscd/src/cliscd.csproj new file mode 100644 index 00000000..c8f137ee --- /dev/null +++ b/test/docker/testprojects/cliscd/src/cliscd.csproj @@ -0,0 +1,70 @@ + + + + Exe + netcoreapp2.1 + + + + + /etc/clifdd + PreserveNewest + + + ~/.clifdd + PreserveNewest + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/docker/testprojects/cliscd/src/cliscd.machine.config b/test/docker/testprojects/cliscd/src/cliscd.machine.config new file mode 100644 index 00000000..e69de29b diff --git a/test/docker/testprojects/cliscd/src/cliscd.user.config b/test/docker/testprojects/cliscd/src/cliscd.user.config new file mode 100644 index 00000000..e69de29b diff --git a/test/docker/testprojects/cliscd/src/readme.txt b/test/docker/testprojects/cliscd/src/readme.txt new file mode 100644 index 00000000..1045cf25 --- /dev/null +++ b/test/docker/testprojects/cliscd/src/readme.txt @@ -0,0 +1 @@ +Test Test \ No newline at end of file From 2030f61fbd6435cf77b8b494f2e6c31f0e329dfb Mon Sep 17 00:00:00 2001 From: clemensv Date: Wed, 29 Aug 2018 12:30:08 +0200 Subject: [PATCH 17/40] docker tests --- test/Directory.Build.props | 3 + test/Test.proj | 21 ++ test/docker/Test.proj | 5 +- test/docker/_scripts/runtest.cmd | 4 +- test/docker/images/Test.proj | 21 ++ test/docker/images/centos/.gitignore | 1 + test/docker/images/centos/Test.proj | 28 +-- test/docker/images/centos/build.sh | 9 +- test/docker/images/debian/.gitignore | 1 + test/docker/images/debian/Test.proj | 27 ++- test/docker/images/debian/build.sh | 9 +- test/docker/images/fedora/.gitignore | 1 + test/docker/images/fedora/Test.proj | 29 ++- test/docker/images/fedora/build.sh | 9 +- test/docker/images/ubuntu/.gitignore | 1 + test/docker/images/ubuntu/NULL | 3 - test/docker/images/ubuntu/Test.proj | 12 +- test/docker/images/ubuntu/build.cmd | 3 +- test/docker/images/ubuntu/build.sh | 9 +- .../images/ubuntu/test-cli-fdd.reference.txt | 188 ++++++++++++++++- test/docker/images/ubuntu/test-cli-fdd.sh | 17 +- .../images/ubuntu/test-cli-scd.reference.txt | 195 +++++++++++++++++- test/docker/images/ubuntu/test-cli-scd.sh | 17 +- .../docker/testprojects/Directory.Build.props | 3 + test/docker/testprojects/Test.proj | 21 ++ .../testprojects/clifdd/{src => }/Program.cs | 0 .../clifdd/{src => }/clifdd.csproj | 0 .../clifdd/{src => }/clifdd.machine.config | 0 .../clifdd/{src => }/clifdd.user.config | 0 .../testprojects/clifdd/{src => }/readme.txt | 0 .../testprojects/cliscd/{src => }/Program.cs | 0 .../cliscd/{src => }/cliscd.csproj | 1 + .../cliscd/{src => }/cliscd.machine.config | 0 .../cliscd/{src => }/cliscd.user.config | 0 .../testprojects/cliscd/{src => }/readme.txt | 0 35 files changed, 582 insertions(+), 56 deletions(-) create mode 100644 test/Directory.Build.props create mode 100644 test/Test.proj create mode 100644 test/docker/images/Test.proj create mode 100644 test/docker/images/centos/.gitignore create mode 100644 test/docker/images/debian/.gitignore create mode 100644 test/docker/images/fedora/.gitignore create mode 100644 test/docker/images/ubuntu/.gitignore delete mode 100644 test/docker/images/ubuntu/NULL create mode 100644 test/docker/testprojects/Directory.Build.props create mode 100644 test/docker/testprojects/Test.proj rename test/docker/testprojects/clifdd/{src => }/Program.cs (100%) rename test/docker/testprojects/clifdd/{src => }/clifdd.csproj (100%) rename test/docker/testprojects/clifdd/{src => }/clifdd.machine.config (100%) rename test/docker/testprojects/clifdd/{src => }/clifdd.user.config (100%) rename test/docker/testprojects/clifdd/{src => }/readme.txt (100%) rename test/docker/testprojects/cliscd/{src => }/Program.cs (100%) rename test/docker/testprojects/cliscd/{src => }/cliscd.csproj (94%) rename test/docker/testprojects/cliscd/{src => }/cliscd.machine.config (100%) rename test/docker/testprojects/cliscd/{src => }/cliscd.user.config (100%) rename test/docker/testprojects/cliscd/{src => }/readme.txt (100%) diff --git a/test/Directory.Build.props b/test/Directory.Build.props new file mode 100644 index 00000000..a88b8587 --- /dev/null +++ b/test/Directory.Build.props @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/test/Test.proj b/test/Test.proj new file mode 100644 index 00000000..cfd36cb9 --- /dev/null +++ b/test/Test.proj @@ -0,0 +1,21 @@ + + + None + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/docker/Test.proj b/test/docker/Test.proj index 1be5c4b0..7ca93a3e 100644 --- a/test/docker/Test.proj +++ b/test/docker/Test.proj @@ -4,7 +4,7 @@ - + @@ -15,4 +15,7 @@ + + + \ No newline at end of file diff --git a/test/docker/_scripts/runtest.cmd b/test/docker/_scripts/runtest.cmd index ff9341e3..49800eac 100644 --- a/test/docker/_scripts/runtest.cmd +++ b/test/docker/_scripts/runtest.cmd @@ -7,10 +7,10 @@ set _PACKAGENAME=%3 echo Running %_TESTNAME% set _OUTFILE=%temp%\tests-%_TESTNAME%.output.txt -docker run -v %_MOUNTPATH%:/tests --rm %_IMAGENAME%:latest bash /tests/%_TESTNAME%.sh %_PACKAGENAME% > %_OUTFILE% +docker run -v %_MOUNTPATH%:/tests --rm %_IMAGENAME%:latest bash -c "/tests/%_TESTNAME%.sh %_PACKAGENAME%" > %_OUTFILE% IF EXIST %_MOUNTPATH%\%_TESTNAME%.reference.txt ( - comp /M %_MOUNTPATH%\%_TESTNAME%.reference.txt %_OUTFILE% > NULL + comp /M %_MOUNTPATH%\%_TESTNAME%.reference.txt %_OUTFILE% > NUL if errorlevel 1 ( type %_OUTFILE% set _RESULT=1 diff --git a/test/docker/images/Test.proj b/test/docker/images/Test.proj new file mode 100644 index 00000000..bc09b805 --- /dev/null +++ b/test/docker/images/Test.proj @@ -0,0 +1,21 @@ + + + None + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/docker/images/centos/.gitignore b/test/docker/images/centos/.gitignore new file mode 100644 index 00000000..bea64c8e --- /dev/null +++ b/test/docker/images/centos/.gitignore @@ -0,0 +1 @@ +packages/ \ No newline at end of file diff --git a/test/docker/images/centos/Test.proj b/test/docker/images/centos/Test.proj index 80ffed70..3f9d837e 100644 --- a/test/docker/images/centos/Test.proj +++ b/test/docker/images/centos/Test.proj @@ -1,30 +1,32 @@ - + None - - + - - + - - - + + + - - - + + + + + \ No newline at end of file diff --git a/test/docker/images/centos/build.sh b/test/docker/images/centos/build.sh index 9866cea8..83446707 100644 --- a/test/docker/images/centos/build.sh +++ b/test/docker/images/centos/build.sh @@ -1,5 +1,12 @@ #!/bin/bash pushd "${0%/*}" > /dev/null -docker build -f Dockerfile . --tag dotnet_packaging_centos_test + +if [ ! -d "packages" ]; then mkdir packages; fi +cp "$1" packages/ > /dev/null +cp "$2" packages/ > /dev/null + +if [ -z `docker images "dotnet_packaging_centos_test" -q` ]; then + docker build -f Dockerfile . --tag dotnet_packaging_centos_test +fi popd \ No newline at end of file diff --git a/test/docker/images/debian/.gitignore b/test/docker/images/debian/.gitignore new file mode 100644 index 00000000..bea64c8e --- /dev/null +++ b/test/docker/images/debian/.gitignore @@ -0,0 +1 @@ +packages/ \ No newline at end of file diff --git a/test/docker/images/debian/Test.proj b/test/docker/images/debian/Test.proj index d03c6bf8..7fccc046 100644 --- a/test/docker/images/debian/Test.proj +++ b/test/docker/images/debian/Test.proj @@ -4,20 +4,29 @@ None - + + + + + + - - - + + + - - - + + + + + \ No newline at end of file diff --git a/test/docker/images/debian/build.sh b/test/docker/images/debian/build.sh index ceb492ef..6ac2fd73 100644 --- a/test/docker/images/debian/build.sh +++ b/test/docker/images/debian/build.sh @@ -1,5 +1,12 @@ #!/bin/bash pushd "${0%/*}" > /dev/null -docker build -f Dockerfile . --tag dotnet_packaging_debian8_test + +if [ ! -d "packages" ]; then mkdir packages; fi +cp "$1" packages/ > /dev/null +cp "$2" packages/ > /dev/null + +if [ -z `docker images "dotnet_packaging_debian8_test" -q` ]; then + docker build -f Dockerfile . --tag dotnet_packaging_debian8_test +fi popd \ No newline at end of file diff --git a/test/docker/images/fedora/.gitignore b/test/docker/images/fedora/.gitignore new file mode 100644 index 00000000..bea64c8e --- /dev/null +++ b/test/docker/images/fedora/.gitignore @@ -0,0 +1 @@ +packages/ \ No newline at end of file diff --git a/test/docker/images/fedora/Test.proj b/test/docker/images/fedora/Test.proj index fe9785e9..43aba45c 100644 --- a/test/docker/images/fedora/Test.proj +++ b/test/docker/images/fedora/Test.proj @@ -1,23 +1,32 @@ - + None - + + + + + + - - - + + + - - - + + + + + \ No newline at end of file diff --git a/test/docker/images/fedora/build.sh b/test/docker/images/fedora/build.sh index 506454f2..71d71133 100644 --- a/test/docker/images/fedora/build.sh +++ b/test/docker/images/fedora/build.sh @@ -1,5 +1,12 @@ #!/bin/bash pushd "${0%/*}" > /dev/null -docker build -f Dockerfile . --tag dotnet_packaging_fedora_test + +if [ ! -d "packages" ]; then mkdir packages; fi +cp "$1" packages/ > /dev/null +cp "$2" packages/ > /dev/null + +if [ -z `docker images "dotnet_packaging_fedora_test" -q` ]; then + docker build -f Dockerfile . --tag dotnet_packaging_fedora_test +fi popd \ No newline at end of file diff --git a/test/docker/images/ubuntu/.gitignore b/test/docker/images/ubuntu/.gitignore new file mode 100644 index 00000000..bea64c8e --- /dev/null +++ b/test/docker/images/ubuntu/.gitignore @@ -0,0 +1 @@ +packages/ \ No newline at end of file diff --git a/test/docker/images/ubuntu/NULL b/test/docker/images/ubuntu/NULL deleted file mode 100644 index dde85a0d..00000000 --- a/test/docker/images/ubuntu/NULL +++ /dev/null @@ -1,3 +0,0 @@ -Vergleichen von E:\Code\dotnet-packaging\test\docker\images\ubuntu\test-cli-scd.reference.txt und C:\Users\CLEMEN~1.RED\AppData\Local\Temp\tests-test-cli-scd.output.txt... -Dateien sind identisch - diff --git a/test/docker/images/ubuntu/Test.proj b/test/docker/images/ubuntu/Test.proj index 97563165..e9b409f7 100644 --- a/test/docker/images/ubuntu/Test.proj +++ b/test/docker/images/ubuntu/Test.proj @@ -4,18 +4,16 @@ None - - - - @@ -29,4 +27,6 @@ + + \ No newline at end of file diff --git a/test/docker/images/ubuntu/build.cmd b/test/docker/images/ubuntu/build.cmd index a6b36b40..37d5d77a 100644 --- a/test/docker/images/ubuntu/build.cmd +++ b/test/docker/images/ubuntu/build.cmd @@ -2,10 +2,9 @@ pushd "%~dp0" -if not exist "packages" mkdir packages +if not exist packages mkdir packages copy /y "%1" packages > NUL copy /y "%2" packages > NUL docker build -f Dockerfile . --tag dotnet_packaging_ubuntu1604_test -rd /s /q packages popd \ No newline at end of file diff --git a/test/docker/images/ubuntu/build.sh b/test/docker/images/ubuntu/build.sh index e7a7ae99..0631062f 100644 --- a/test/docker/images/ubuntu/build.sh +++ b/test/docker/images/ubuntu/build.sh @@ -1,5 +1,12 @@ #!/bin/bash pushd "${0%/*}" > /dev/null -docker build -f Dockerfile . --tag dotnet_packaging_ubuntu1604_test + +if [ ! -d "packages" ]; then mkdir packages; fi +cp "$1" packages/ > /dev/null +cp "$2" packages/ > /dev/null + +if [ -z `docker images "dotnet_packaging_ubuntu1604_test" -q` ]; then + docker build -f Dockerfile . --tag dotnet_packaging_ubuntu1604_test +fi popd \ No newline at end of file diff --git a/test/docker/images/ubuntu/test-cli-fdd.reference.txt b/test/docker/images/ubuntu/test-cli-fdd.reference.txt index 8e554694..b5557d1a 100644 --- a/test/docker/images/ubuntu/test-cli-fdd.reference.txt +++ b/test/docker/images/ubuntu/test-cli-fdd.reference.txt @@ -1 +1,187 @@ -pong +installing /tests/packages/clifdd.1.0.0.ubuntu.16.04-x64.deb +Microsoft.CSharp.dll +Microsoft.VisualBasic.dll +Microsoft.Win32.Primitives.dll +Microsoft.Win32.Registry.dll +SOS.NETCore.dll +System.AppContext.dll +System.Buffers.dll +System.Collections.Concurrent.dll +System.Collections.Immutable.dll +System.Collections.NonGeneric.dll +System.Collections.Specialized.dll +System.Collections.dll +System.ComponentModel.Annotations.dll +System.ComponentModel.DataAnnotations.dll +System.ComponentModel.EventBasedAsync.dll +System.ComponentModel.Primitives.dll +System.ComponentModel.TypeConverter.dll +System.ComponentModel.dll +System.Configuration.dll +System.Console.dll +System.Core.dll +System.Data.Common.dll +System.Data.dll +System.Diagnostics.Contracts.dll +System.Diagnostics.Debug.dll +System.Diagnostics.DiagnosticSource.dll +System.Diagnostics.FileVersionInfo.dll +System.Diagnostics.Process.dll +System.Diagnostics.StackTrace.dll +System.Diagnostics.TextWriterTraceListener.dll +System.Diagnostics.Tools.dll +System.Diagnostics.TraceSource.dll +System.Diagnostics.Tracing.dll +System.Drawing.Primitives.dll +System.Drawing.dll +System.Dynamic.Runtime.dll +System.Globalization.Calendars.dll +System.Globalization.Extensions.dll +System.Globalization.Native.so +System.Globalization.dll +System.IO.Compression.Brotli.dll +System.IO.Compression.FileSystem.dll +System.IO.Compression.Native.a +System.IO.Compression.Native.so +System.IO.Compression.ZipFile.dll +System.IO.Compression.dll +System.IO.FileSystem.AccessControl.dll +System.IO.FileSystem.DriveInfo.dll +System.IO.FileSystem.Primitives.dll +System.IO.FileSystem.Watcher.dll +System.IO.FileSystem.dll +System.IO.IsolatedStorage.dll +System.IO.MemoryMappedFiles.dll +System.IO.Pipes.AccessControl.dll +System.IO.Pipes.dll +System.IO.UnmanagedMemoryStream.dll +System.IO.dll +System.Linq.Expressions.dll +System.Linq.Parallel.dll +System.Linq.Queryable.dll +System.Linq.dll +System.Memory.dll +System.Native.a +System.Native.so +System.Net.Http.Native.a +System.Net.Http.Native.so +System.Net.Http.dll +System.Net.HttpListener.dll +System.Net.Mail.dll +System.Net.NameResolution.dll +System.Net.NetworkInformation.dll +System.Net.Ping.dll +System.Net.Primitives.dll +System.Net.Requests.dll +System.Net.Security.Native.a +System.Net.Security.Native.so +System.Net.Security.dll +System.Net.ServicePoint.dll +System.Net.Sockets.dll +System.Net.WebClient.dll +System.Net.WebHeaderCollection.dll +System.Net.WebProxy.dll +System.Net.WebSockets.Client.dll +System.Net.WebSockets.dll +System.Net.dll +System.Numerics.Vectors.dll +System.Numerics.dll +System.ObjectModel.dll +System.Private.CoreLib.dll +System.Private.DataContractSerialization.dll +System.Private.Uri.dll +System.Private.Xml.Linq.dll +System.Private.Xml.dll +System.Reflection.DispatchProxy.dll +System.Reflection.Emit.ILGeneration.dll +System.Reflection.Emit.Lightweight.dll +System.Reflection.Emit.dll +System.Reflection.Extensions.dll +System.Reflection.Metadata.dll +System.Reflection.Primitives.dll +System.Reflection.TypeExtensions.dll +System.Reflection.dll +System.Resources.Reader.dll +System.Resources.ResourceManager.dll +System.Resources.Writer.dll +System.Runtime.CompilerServices.VisualC.dll +System.Runtime.Extensions.dll +System.Runtime.Handles.dll +System.Runtime.InteropServices.RuntimeInformation.dll +System.Runtime.InteropServices.WindowsRuntime.dll +System.Runtime.InteropServices.dll +System.Runtime.Loader.dll +System.Runtime.Numerics.dll +System.Runtime.Serialization.Formatters.dll +System.Runtime.Serialization.Json.dll +System.Runtime.Serialization.Primitives.dll +System.Runtime.Serialization.Xml.dll +System.Runtime.Serialization.dll +System.Runtime.dll +System.Security.AccessControl.dll +System.Security.Claims.dll +System.Security.Cryptography.Algorithms.dll +System.Security.Cryptography.Cng.dll +System.Security.Cryptography.Csp.dll +System.Security.Cryptography.Encoding.dll +System.Security.Cryptography.Native.OpenSsl.a +System.Security.Cryptography.Native.OpenSsl.so +System.Security.Cryptography.OpenSsl.dll +System.Security.Cryptography.Primitives.dll +System.Security.Cryptography.X509Certificates.dll +System.Security.Principal.Windows.dll +System.Security.Principal.dll +System.Security.SecureString.dll +System.Security.dll +System.ServiceModel.Web.dll +System.ServiceProcess.dll +System.Text.Encoding.Extensions.dll +System.Text.Encoding.dll +System.Text.RegularExpressions.dll +System.Threading.Overlapped.dll +System.Threading.Tasks.Dataflow.dll +System.Threading.Tasks.Extensions.dll +System.Threading.Tasks.Parallel.dll +System.Threading.Tasks.dll +System.Threading.Thread.dll +System.Threading.ThreadPool.dll +System.Threading.Timer.dll +System.Threading.dll +System.Transactions.Local.dll +System.Transactions.dll +System.ValueTuple.dll +System.Web.HttpUtility.dll +System.Web.dll +System.Windows.dll +System.Xml.Linq.dll +System.Xml.ReaderWriter.dll +System.Xml.Serialization.dll +System.Xml.XDocument.dll +System.Xml.XPath.XDocument.dll +System.Xml.XPath.dll +System.Xml.XmlDocument.dll +System.Xml.XmlSerializer.dll +System.Xml.dll +System.dll +WindowsBase.dll +clifdd +clifdd.deps.json +clifdd.dll +clifdd.pdb +clifdd.runtimeconfig.json +createdump +libclrjit.so +libcoreclr.so +libcoreclrtraceptprovider.so +libdbgshim.so +libhostfxr.so +libhostpolicy.so +libmscordaccore.so +libmscordbi.so +libsos.so +libsosplugin.so +mscorlib.dll +netstandard.dll +sosdocsunix.txt +ls: cannot access '/etc/clifdd': No such file or directory +ls: cannot access '/root/.clifdd': No such file or directory diff --git a/test/docker/images/ubuntu/test-cli-fdd.sh b/test/docker/images/ubuntu/test-cli-fdd.sh index 796282d8..66647d9f 100644 --- a/test/docker/images/ubuntu/test-cli-fdd.sh +++ b/test/docker/images/ubuntu/test-cli-fdd.sh @@ -1,5 +1,18 @@ #!/bin/bash +# this script assumes that we already run as root +# we're installing with apt so that we get all the dependencies installed, too + rm -f ~/testoutput.log -echo "pong" > ~/testoutput.log 2>&1 -cat ~/testoutput.log + +echo installing /tests/packages/$1 > ~/testoutput.log 2>&1 + +apt-get update -q -y > /dev/nul +apt-get install -q -y apt-utils > /dev/nul +apt-get install -q -y /tests/packages/$1 > /dev/nul + +ls -a /usr/share/clifdd >> ~/testoutput.log 2>&1 +ls -a /etc/clifdd >> ~/testoutput.log 2>&1 +ls -a ~/.clifdd >> ~/testoutput.log 2>&1 + +cat ~/testoutput.log \ No newline at end of file diff --git a/test/docker/images/ubuntu/test-cli-scd.reference.txt b/test/docker/images/ubuntu/test-cli-scd.reference.txt index 8e554694..af0b41e3 100644 --- a/test/docker/images/ubuntu/test-cli-scd.reference.txt +++ b/test/docker/images/ubuntu/test-cli-scd.reference.txt @@ -1 +1,194 @@ -pong +installing /tests/packages/cliscd.1.0.0.ubuntu.16.04-x64.deb +Microsoft.Build.Framework.dll +Microsoft.Build.Utilities.Core.dll +Microsoft.CSharp.dll +Microsoft.VisualBasic.dll +Microsoft.Win32.Primitives.dll +Microsoft.Win32.Registry.dll +Packaging.Targets.dll +SOS.NETCore.dll +SharpZipLib.NETStandard.dll +System.AppContext.dll +System.Buffers.dll +System.Collections.Concurrent.dll +System.Collections.Immutable.dll +System.Collections.NonGeneric.dll +System.Collections.Specialized.dll +System.Collections.dll +System.ComponentModel.Annotations.dll +System.ComponentModel.DataAnnotations.dll +System.ComponentModel.EventBasedAsync.dll +System.ComponentModel.Primitives.dll +System.ComponentModel.TypeConverter.dll +System.ComponentModel.dll +System.Configuration.dll +System.Console.dll +System.Core.dll +System.Data.Common.dll +System.Data.dll +System.Diagnostics.Contracts.dll +System.Diagnostics.Debug.dll +System.Diagnostics.DiagnosticSource.dll +System.Diagnostics.FileVersionInfo.dll +System.Diagnostics.Process.dll +System.Diagnostics.StackTrace.dll +System.Diagnostics.TextWriterTraceListener.dll +System.Diagnostics.Tools.dll +System.Diagnostics.TraceSource.dll +System.Diagnostics.Tracing.dll +System.Drawing.Primitives.dll +System.Drawing.dll +System.Dynamic.Runtime.dll +System.Globalization.Calendars.dll +System.Globalization.Extensions.dll +System.Globalization.Native.so +System.Globalization.dll +System.IO.Compression.Brotli.dll +System.IO.Compression.FileSystem.dll +System.IO.Compression.Native.a +System.IO.Compression.Native.so +System.IO.Compression.ZipFile.dll +System.IO.Compression.dll +System.IO.FileSystem.AccessControl.dll +System.IO.FileSystem.DriveInfo.dll +System.IO.FileSystem.Primitives.dll +System.IO.FileSystem.Watcher.dll +System.IO.FileSystem.dll +System.IO.IsolatedStorage.dll +System.IO.MemoryMappedFiles.dll +System.IO.Pipes.AccessControl.dll +System.IO.Pipes.dll +System.IO.UnmanagedMemoryStream.dll +System.IO.dll +System.Linq.Expressions.dll +System.Linq.Parallel.dll +System.Linq.Queryable.dll +System.Linq.dll +System.Memory.dll +System.Native.a +System.Native.so +System.Net.Http.Native.a +System.Net.Http.Native.so +System.Net.Http.dll +System.Net.HttpListener.dll +System.Net.Mail.dll +System.Net.NameResolution.dll +System.Net.NetworkInformation.dll +System.Net.Ping.dll +System.Net.Primitives.dll +System.Net.Requests.dll +System.Net.Security.Native.a +System.Net.Security.Native.so +System.Net.Security.dll +System.Net.ServicePoint.dll +System.Net.Sockets.dll +System.Net.WebClient.dll +System.Net.WebHeaderCollection.dll +System.Net.WebProxy.dll +System.Net.WebSockets.Client.dll +System.Net.WebSockets.dll +System.Net.dll +System.Numerics.Vectors.dll +System.Numerics.dll +System.ObjectModel.dll +System.Private.CoreLib.dll +System.Private.CoreLib.ni.dll +System.Private.DataContractSerialization.dll +System.Private.Uri.dll +System.Private.Xml.Linq.dll +System.Private.Xml.dll +System.Reflection.DispatchProxy.dll +System.Reflection.Emit.ILGeneration.dll +System.Reflection.Emit.Lightweight.dll +System.Reflection.Emit.dll +System.Reflection.Extensions.dll +System.Reflection.Metadata.dll +System.Reflection.Primitives.dll +System.Reflection.TypeExtensions.dll +System.Reflection.dll +System.Resources.Reader.dll +System.Resources.ResourceManager.dll +System.Resources.Writer.dll +System.Runtime.CompilerServices.VisualC.dll +System.Runtime.Extensions.dll +System.Runtime.Handles.dll +System.Runtime.InteropServices.RuntimeInformation.dll +System.Runtime.InteropServices.WindowsRuntime.dll +System.Runtime.InteropServices.dll +System.Runtime.Loader.dll +System.Runtime.Numerics.dll +System.Runtime.Serialization.Formatters.dll +System.Runtime.Serialization.Json.dll +System.Runtime.Serialization.Primitives.dll +System.Runtime.Serialization.Xml.dll +System.Runtime.Serialization.dll +System.Runtime.dll +System.Security.AccessControl.dll +System.Security.Claims.dll +System.Security.Cryptography.Algorithms.dll +System.Security.Cryptography.Cng.dll +System.Security.Cryptography.Csp.dll +System.Security.Cryptography.Encoding.dll +System.Security.Cryptography.Native.OpenSsl.a +System.Security.Cryptography.Native.OpenSsl.so +System.Security.Cryptography.OpenSsl.dll +System.Security.Cryptography.Primitives.dll +System.Security.Cryptography.X509Certificates.dll +System.Security.Principal.Windows.dll +System.Security.Principal.dll +System.Security.SecureString.dll +System.Security.dll +System.ServiceModel.Web.dll +System.ServiceModel.dll +System.ServiceProcess.dll +System.Text.Encoding.Extensions.dll +System.Text.Encoding.dll +System.Text.RegularExpressions.dll +System.Threading.Overlapped.dll +System.Threading.Tasks.Dataflow.dll +System.Threading.Tasks.Extensions.dll +System.Threading.Tasks.Parallel.dll +System.Threading.Tasks.dll +System.Threading.Thread.dll +System.Threading.ThreadPool.dll +System.Threading.Timer.dll +System.Threading.dll +System.Transactions.Local.dll +System.Transactions.dll +System.ValueTuple.dll +System.Web.HttpUtility.dll +System.Web.dll +System.Windows.dll +System.Xml.Linq.dll +System.Xml.ReaderWriter.dll +System.Xml.Serialization.dll +System.Xml.XDocument.dll +System.Xml.XPath.XDocument.dll +System.Xml.XPath.dll +System.Xml.XmlDocument.dll +System.Xml.XmlSerializer.dll +System.Xml.dll +System.dll +WindowsBase.dll +cliscd +cliscd.deps.json +cliscd.dll +cliscd.pdb +cliscd.runtimeconfig.json +createdump +libclrjit.so +libcoreclr.so +libcoreclrtraceptprovider.so +libdbgshim.so +libhostfxr.so +libhostpolicy.so +libmscordaccore.so +libmscordbi.so +libsos.so +libsosplugin.so +mscorlib.dll +mscorlib.ni.dll +netstandard.dll +sosdocsunix.txt +ls: cannot access '/etc/cliscd': No such file or directory +ls: cannot access '/root/.cliscd': No such file or directory diff --git a/test/docker/images/ubuntu/test-cli-scd.sh b/test/docker/images/ubuntu/test-cli-scd.sh index 796282d8..decc7f6b 100644 --- a/test/docker/images/ubuntu/test-cli-scd.sh +++ b/test/docker/images/ubuntu/test-cli-scd.sh @@ -1,5 +1,18 @@ #!/bin/bash +# this script assumes that we already run as root +# we're installing with apt so that we get all the dependencies installed, too + rm -f ~/testoutput.log -echo "pong" > ~/testoutput.log 2>&1 -cat ~/testoutput.log + +echo installing /tests/packages/$1 > ~/testoutput.log 2>&1 + +apt-get update -q -y > /dev/nul +apt-get install -q -y apt-utils > /dev/nul +apt-get install -q -y /tests/packages/$1 > /dev/nul + +ls -a /usr/share/cliscd >> ~/testoutput.log 2>&1 +ls -a /etc/cliscd >> ~/testoutput.log 2>&1 +ls -a ~/.cliscd >> ~/testoutput.log 2>&1 + +cat ~/testoutput.log \ No newline at end of file diff --git a/test/docker/testprojects/Directory.Build.props b/test/docker/testprojects/Directory.Build.props new file mode 100644 index 00000000..a88b8587 --- /dev/null +++ b/test/docker/testprojects/Directory.Build.props @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/test/docker/testprojects/Test.proj b/test/docker/testprojects/Test.proj new file mode 100644 index 00000000..4951a31e --- /dev/null +++ b/test/docker/testprojects/Test.proj @@ -0,0 +1,21 @@ + + + None + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/docker/testprojects/clifdd/src/Program.cs b/test/docker/testprojects/clifdd/Program.cs similarity index 100% rename from test/docker/testprojects/clifdd/src/Program.cs rename to test/docker/testprojects/clifdd/Program.cs diff --git a/test/docker/testprojects/clifdd/src/clifdd.csproj b/test/docker/testprojects/clifdd/clifdd.csproj similarity index 100% rename from test/docker/testprojects/clifdd/src/clifdd.csproj rename to test/docker/testprojects/clifdd/clifdd.csproj diff --git a/test/docker/testprojects/clifdd/src/clifdd.machine.config b/test/docker/testprojects/clifdd/clifdd.machine.config similarity index 100% rename from test/docker/testprojects/clifdd/src/clifdd.machine.config rename to test/docker/testprojects/clifdd/clifdd.machine.config diff --git a/test/docker/testprojects/clifdd/src/clifdd.user.config b/test/docker/testprojects/clifdd/clifdd.user.config similarity index 100% rename from test/docker/testprojects/clifdd/src/clifdd.user.config rename to test/docker/testprojects/clifdd/clifdd.user.config diff --git a/test/docker/testprojects/clifdd/src/readme.txt b/test/docker/testprojects/clifdd/readme.txt similarity index 100% rename from test/docker/testprojects/clifdd/src/readme.txt rename to test/docker/testprojects/clifdd/readme.txt diff --git a/test/docker/testprojects/cliscd/src/Program.cs b/test/docker/testprojects/cliscd/Program.cs similarity index 100% rename from test/docker/testprojects/cliscd/src/Program.cs rename to test/docker/testprojects/cliscd/Program.cs diff --git a/test/docker/testprojects/cliscd/src/cliscd.csproj b/test/docker/testprojects/cliscd/cliscd.csproj similarity index 94% rename from test/docker/testprojects/cliscd/src/cliscd.csproj rename to test/docker/testprojects/cliscd/cliscd.csproj index c8f137ee..3adce098 100644 --- a/test/docker/testprojects/cliscd/src/cliscd.csproj +++ b/test/docker/testprojects/cliscd/cliscd.csproj @@ -2,6 +2,7 @@ Exe + win7-x64;win7-x86;win10-x64;win10-x86;osx-x64;debian.8-x64;ubuntu.16.10-x64;ubuntu.16.04-x64;opensuse-x64;ol-x64;rhel-x64;fedora-x64;centos-x64 netcoreapp2.1 diff --git a/test/docker/testprojects/cliscd/src/cliscd.machine.config b/test/docker/testprojects/cliscd/cliscd.machine.config similarity index 100% rename from test/docker/testprojects/cliscd/src/cliscd.machine.config rename to test/docker/testprojects/cliscd/cliscd.machine.config diff --git a/test/docker/testprojects/cliscd/src/cliscd.user.config b/test/docker/testprojects/cliscd/cliscd.user.config similarity index 100% rename from test/docker/testprojects/cliscd/src/cliscd.user.config rename to test/docker/testprojects/cliscd/cliscd.user.config diff --git a/test/docker/testprojects/cliscd/src/readme.txt b/test/docker/testprojects/cliscd/readme.txt similarity index 100% rename from test/docker/testprojects/cliscd/src/readme.txt rename to test/docker/testprojects/cliscd/readme.txt From 7e9d088f7b3f61daa3ff9911312dcf8c7a7b55fd Mon Sep 17 00:00:00 2001 From: clemensv Date: Wed, 29 Aug 2018 13:06:20 +0200 Subject: [PATCH 18/40] only build the images branch from root --- test/docker/Test.proj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/docker/Test.proj b/test/docker/Test.proj index 7ca93a3e..fcc6472b 100644 --- a/test/docker/Test.proj +++ b/test/docker/Test.proj @@ -4,7 +4,7 @@ - + From 4de2cf5e92d2b91e0c7f804746f98b83e8dbbbb0 Mon Sep 17 00:00:00 2001 From: clemensv Date: Wed, 29 Aug 2018 14:45:03 +0200 Subject: [PATCH 19/40] call tests --- test/docker/images/ubuntu/test.sh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/test/docker/images/ubuntu/test.sh b/test/docker/images/ubuntu/test.sh index bfede710..9aad8cc4 100644 --- a/test/docker/images/ubuntu/test.sh +++ b/test/docker/images/ubuntu/test.sh @@ -2,6 +2,14 @@ pushd "${0%/*}" > /dev/null IMAGE_NAME=dotnet_packaging_ubuntu1604_test -source ../../_scripts/imagetests.sh + +FDD_PACKAGE=${1##*/} +SCD_PACKAGE=${2##*/} +_IMAGENAME=dotnet_packaging_ubuntu1604_test +_MOUNTPATH=%cd% +call ..\..\_scripts\runtest.cmd %_IMAGENAME% test-cli-fdd %FDD_PACKAGE% +if ERRORLEVEL 1 goto end +call ..\..\_scripts\runtest.cmd %_IMAGENAME% test-cli-scd %SCD_PACKAGE% + popd exit $_RESULT From a0f9d7b5e756af8f6f94d0c116919b0a2dabc45a Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Fri, 31 Aug 2018 12:01:08 +0000 Subject: [PATCH 20/40] Move demo projects to demo/ --- .travis.yml | 13 ++++++++++++- appveyor.yml | 13 ++++++++++++- .../docker/testprojects => demo}/clifdd/Program.cs | 0 .../testprojects => demo}/clifdd/clifdd.csproj | 4 +++- .../clifdd/clifdd.machine.config | 0 .../testprojects => demo}/clifdd/clifdd.user.config | 0 .../docker/testprojects => demo}/clifdd/readme.txt | 0 .../docker/testprojects => demo}/cliscd/Program.cs | 0 .../testprojects => demo}/cliscd/cliscd.csproj | 5 ++++- .../cliscd/cliscd.machine.config | 0 .../testprojects => demo}/cliscd/cliscd.user.config | 0 .../docker/testprojects => demo}/cliscd/readme.txt | 0 12 files changed, 31 insertions(+), 4 deletions(-) rename {test/docker/testprojects => demo}/clifdd/Program.cs (100%) rename {test/docker/testprojects => demo}/clifdd/clifdd.csproj (83%) rename {test/docker/testprojects => demo}/clifdd/clifdd.machine.config (100%) rename {test/docker/testprojects => demo}/clifdd/clifdd.user.config (100%) rename {test/docker/testprojects => demo}/clifdd/readme.txt (100%) rename {test/docker/testprojects => demo}/cliscd/Program.cs (100%) rename {test/docker/testprojects => demo}/cliscd/cliscd.csproj (91%) rename {test/docker/testprojects => demo}/cliscd/cliscd.machine.config (100%) rename {test/docker/testprojects => demo}/cliscd/cliscd.user.config (100%) rename {test/docker/testprojects => demo}/cliscd/readme.txt (100%) diff --git a/.travis.yml b/.travis.yml index 775857de..192375d1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,18 @@ script: - dotnet pack dotnet-packaging.sln -c Release - dotnet test Packaging.Targets.Tests/Packaging.Targets.Tests.csproj - - cd demo/aspnetcore + - cd $TRAVIS_BUILD_DIR/demo/aspnetcore - dotnet restore - dotnet rpm -c Release -r rhel.7-x64 -f netcoreapp2.0 - dotnet deb -c Release -r ubuntu.16.04-x64 -f netcoreapp2.0 + + - cd $TRAVIS_BUILD_DIR/demo/cliscd/ + - dotnet restore + - dotnet deb -c Release -r debian.8-x64 -f netcoreapp2.1 + - dotnet deb -c Release -r ubuntu.16.10-x64 -f netcoreapp2.1 + - dotnet deb -c Release -r ubuntu.16.04-x64 -f netcoreapp2.1 + - dotnet rpm -c Release -r opensuse-x64 -f netcoreapp2.1 + - dotnet rpm -c Release -r ol-x64 -f netcoreapp2.1 + - dotnet rpm -c Release -r rhel-x64 -f netcoreapp2.1 + - dotnet rpm -c Release -r fedora-x64 -f netcoreapp2.1 + - dotnet rpm -c Release -r centos-x64 -f netcoreapp2.1 diff --git a/appveyor.yml b/appveyor.yml index caf8161f..36957e5f 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -17,11 +17,22 @@ test_script: - ps: '& (Join-Path $env:APPVEYOR_BUILD_FOLDER "appveyor-testresults.ps1")' - cmd: cd .. - - cmd: cd demo/aspnetcore + - cmd: cd %APPVEYOR_BUILD_FOLDER%/demo/aspnetcore - cmd: dotnet restore - cmd: dotnet rpm -c Release -r rhel.7-x64 -f netcoreapp2.0 - cmd: dotnet deb -c Release -r ubuntu.16.04-x64 -f netcoreapp2.0 + - cmd: cd %APPVEYOR_BUILD_FOLDER%/demo/cliscd/ + - cmd: dotnet restore + - cmd: dotnet deb -c Release -r debian.8-x64 -f netcoreapp2.1 + - cmd: dotnet deb -c Release -r ubuntu.16.10-x64 -f netcoreapp2.1 + - cmd: dotnet deb -c Release -r ubuntu.16.04-x64 -f netcoreapp2.1 + - cmd: dotnet rpm -c Release -r opensuse-x64 -f netcoreapp2.1 + - cmd: dotnet rpm -c Release -r ol-x64 -f netcoreapp2.1 + - cmd: dotnet rpm -c Release -r rhel-x64 -f netcoreapp2.1 + - cmd: dotnet rpm -c Release -r fedora-x64 -f netcoreapp2.1 + - cmd: dotnet rpm -c Release -r centos-x64 -f netcoreapp2.1 + artifacts: - path: dotnet-tarball\bin\Release\dotnet-tarball.*.nupkg - path: dotnet-zip\bin\Release\dotnet-zip.*.nupkg diff --git a/test/docker/testprojects/clifdd/Program.cs b/demo/clifdd/Program.cs similarity index 100% rename from test/docker/testprojects/clifdd/Program.cs rename to demo/clifdd/Program.cs diff --git a/test/docker/testprojects/clifdd/clifdd.csproj b/demo/clifdd/clifdd.csproj similarity index 83% rename from test/docker/testprojects/clifdd/clifdd.csproj rename to demo/clifdd/clifdd.csproj index e589afea..bcb824a4 100644 --- a/test/docker/testprojects/clifdd/clifdd.csproj +++ b/demo/clifdd/clifdd.csproj @@ -21,7 +21,9 @@ - + + + diff --git a/test/docker/testprojects/clifdd/clifdd.machine.config b/demo/clifdd/clifdd.machine.config similarity index 100% rename from test/docker/testprojects/clifdd/clifdd.machine.config rename to demo/clifdd/clifdd.machine.config diff --git a/test/docker/testprojects/clifdd/clifdd.user.config b/demo/clifdd/clifdd.user.config similarity index 100% rename from test/docker/testprojects/clifdd/clifdd.user.config rename to demo/clifdd/clifdd.user.config diff --git a/test/docker/testprojects/clifdd/readme.txt b/demo/clifdd/readme.txt similarity index 100% rename from test/docker/testprojects/clifdd/readme.txt rename to demo/clifdd/readme.txt diff --git a/test/docker/testprojects/cliscd/Program.cs b/demo/cliscd/Program.cs similarity index 100% rename from test/docker/testprojects/cliscd/Program.cs rename to demo/cliscd/Program.cs diff --git a/test/docker/testprojects/cliscd/cliscd.csproj b/demo/cliscd/cliscd.csproj similarity index 91% rename from test/docker/testprojects/cliscd/cliscd.csproj rename to demo/cliscd/cliscd.csproj index 3adce098..120a0412 100644 --- a/test/docker/testprojects/cliscd/cliscd.csproj +++ b/demo/cliscd/cliscd.csproj @@ -4,6 +4,7 @@ Exe win7-x64;win7-x86;win10-x64;win10-x86;osx-x64;debian.8-x64;ubuntu.16.10-x64;ubuntu.16.04-x64;opensuse-x64;ol-x64;rhel-x64;fedora-x64;centos-x64 netcoreapp2.1 + true @@ -21,7 +22,9 @@ - + + + diff --git a/test/docker/testprojects/cliscd/cliscd.machine.config b/demo/cliscd/cliscd.machine.config similarity index 100% rename from test/docker/testprojects/cliscd/cliscd.machine.config rename to demo/cliscd/cliscd.machine.config diff --git a/test/docker/testprojects/cliscd/cliscd.user.config b/demo/cliscd/cliscd.user.config similarity index 100% rename from test/docker/testprojects/cliscd/cliscd.user.config rename to demo/cliscd/cliscd.user.config diff --git a/test/docker/testprojects/cliscd/readme.txt b/demo/cliscd/readme.txt similarity index 100% rename from test/docker/testprojects/cliscd/readme.txt rename to demo/cliscd/readme.txt From c27b07f905519b01ea0dfa60138493dabd973428 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Fri, 31 Aug 2018 13:10:46 +0000 Subject: [PATCH 21/40] Install Debian 8 package in a Docker container --- .gitignore | 6 + .travis.yml | 3 + appveyor.yml | 6 + demo/cliscd/debian.8-x64/Dockerfile | 15 ++ demo/cliscd/debian.8-x64/reference.txt | 188 +++++++++++++++++++++++++ 5 files changed, 218 insertions(+) create mode 100644 demo/cliscd/debian.8-x64/Dockerfile create mode 100644 demo/cliscd/debian.8-x64/reference.txt diff --git a/.gitignore b/.gitignore index b5469cab..68f1105f 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,9 @@ obj/ .vs/ .idea/ .vagrant/ +*.deb +*.rpm +*.msi +*.pkg +*.zip +*.tar.gz diff --git a/.travis.yml b/.travis.yml index 192375d1..aac6b651 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,6 +18,9 @@ script: - cd $TRAVIS_BUILD_DIR/demo/cliscd/ - dotnet restore - dotnet deb -c Release -r debian.8-x64 -f netcoreapp2.1 + - cp bin/Release/netcoreapp2.1/debian.8-x64/cliscd.1.0.0.debian.8-x64.deb debian.8-x64/ + - sudo docker build -t clisc:debian.8-x64 debian.8-x64 + - sudo docker run clisc:debian.8-x64 - dotnet deb -c Release -r ubuntu.16.10-x64 -f netcoreapp2.1 - dotnet deb -c Release -r ubuntu.16.04-x64 -f netcoreapp2.1 - dotnet rpm -c Release -r opensuse-x64 -f netcoreapp2.1 diff --git a/appveyor.yml b/appveyor.yml index 36957e5f..951d5750 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -24,7 +24,13 @@ test_script: - cmd: cd %APPVEYOR_BUILD_FOLDER%/demo/cliscd/ - cmd: dotnet restore + + # Test on Debian 8 - cmd: dotnet deb -c Release -r debian.8-x64 -f netcoreapp2.1 + - cmd: copy bin\Release\netcoreapp2.1\debian.8-x64\cliscd.1.0.0.debian.8-x64.deb debian.8-x64\ + - cmd: docker build -t clisc:debian.8-x64 debian.8-x64 + - cmd: docker run clisc:debian.8-x64 + - cmd: dotnet deb -c Release -r ubuntu.16.10-x64 -f netcoreapp2.1 - cmd: dotnet deb -c Release -r ubuntu.16.04-x64 -f netcoreapp2.1 - cmd: dotnet rpm -c Release -r opensuse-x64 -f netcoreapp2.1 diff --git a/demo/cliscd/debian.8-x64/Dockerfile b/demo/cliscd/debian.8-x64/Dockerfile new file mode 100644 index 00000000..6b28d431 --- /dev/null +++ b/demo/cliscd/debian.8-x64/Dockerfile @@ -0,0 +1,15 @@ +FROM debian:8 + +COPY cliscd.1.0.0.debian.8-x64.deb /pkg/ +COPY reference.txt /pkg/ + +RUN apt-get update \ +&& dpkg -i /pkg/cliscd.1.0.0.debian.8-x64.deb || apt-get install -f -y + +RUN ls -a /usr/share/cliscd >> ~/testoutput.log 2>&1 || exit 0 +RUN ls -a /etc/cliscd >> ~/testoutput.log 2>&1 || exit 0 +RUN ls -a ~/.cliscd >> ~/testoutput.log 2>&1 || exit 0 + +RUN diff -w /pkg/reference.txt ~/testoutput.log + +CMD [ "/usr/share/cliscd/cliscd" ] diff --git a/demo/cliscd/debian.8-x64/reference.txt b/demo/cliscd/debian.8-x64/reference.txt new file mode 100644 index 00000000..fddf788e --- /dev/null +++ b/demo/cliscd/debian.8-x64/reference.txt @@ -0,0 +1,188 @@ +. +.. +Microsoft.CSharp.dll +Microsoft.VisualBasic.dll +Microsoft.Win32.Primitives.dll +Microsoft.Win32.Registry.dll +SOS.NETCore.dll +System.AppContext.dll +System.Buffers.dll +System.Collections.Concurrent.dll +System.Collections.Immutable.dll +System.Collections.NonGeneric.dll +System.Collections.Specialized.dll +System.Collections.dll +System.ComponentModel.Annotations.dll +System.ComponentModel.DataAnnotations.dll +System.ComponentModel.EventBasedAsync.dll +System.ComponentModel.Primitives.dll +System.ComponentModel.TypeConverter.dll +System.ComponentModel.dll +System.Configuration.dll +System.Console.dll +System.Core.dll +System.Data.Common.dll +System.Data.dll +System.Diagnostics.Contracts.dll +System.Diagnostics.Debug.dll +System.Diagnostics.DiagnosticSource.dll +System.Diagnostics.FileVersionInfo.dll +System.Diagnostics.Process.dll +System.Diagnostics.StackTrace.dll +System.Diagnostics.TextWriterTraceListener.dll +System.Diagnostics.Tools.dll +System.Diagnostics.TraceSource.dll +System.Diagnostics.Tracing.dll +System.Drawing.Primitives.dll +System.Drawing.dll +System.Dynamic.Runtime.dll +System.Globalization.Calendars.dll +System.Globalization.Extensions.dll +System.Globalization.Native.so +System.Globalization.dll +System.IO.Compression.Brotli.dll +System.IO.Compression.FileSystem.dll +System.IO.Compression.Native.a +System.IO.Compression.Native.so +System.IO.Compression.ZipFile.dll +System.IO.Compression.dll +System.IO.FileSystem.AccessControl.dll +System.IO.FileSystem.DriveInfo.dll +System.IO.FileSystem.Primitives.dll +System.IO.FileSystem.Watcher.dll +System.IO.FileSystem.dll +System.IO.IsolatedStorage.dll +System.IO.MemoryMappedFiles.dll +System.IO.Pipes.AccessControl.dll +System.IO.Pipes.dll +System.IO.UnmanagedMemoryStream.dll +System.IO.dll +System.Linq.Expressions.dll +System.Linq.Parallel.dll +System.Linq.Queryable.dll +System.Linq.dll +System.Memory.dll +System.Native.a +System.Native.so +System.Net.Http.Native.a +System.Net.Http.Native.so +System.Net.Http.dll +System.Net.HttpListener.dll +System.Net.Mail.dll +System.Net.NameResolution.dll +System.Net.NetworkInformation.dll +System.Net.Ping.dll +System.Net.Primitives.dll +System.Net.Requests.dll +System.Net.Security.Native.a +System.Net.Security.Native.so +System.Net.Security.dll +System.Net.ServicePoint.dll +System.Net.Sockets.dll +System.Net.WebClient.dll +System.Net.WebHeaderCollection.dll +System.Net.WebProxy.dll +System.Net.WebSockets.Client.dll +System.Net.WebSockets.dll +System.Net.dll +System.Numerics.Vectors.dll +System.Numerics.dll +System.ObjectModel.dll +System.Private.CoreLib.dll +System.Private.DataContractSerialization.dll +System.Private.Uri.dll +System.Private.Xml.Linq.dll +System.Private.Xml.dll +System.Reflection.DispatchProxy.dll +System.Reflection.Emit.ILGeneration.dll +System.Reflection.Emit.Lightweight.dll +System.Reflection.Emit.dll +System.Reflection.Extensions.dll +System.Reflection.Metadata.dll +System.Reflection.Primitives.dll +System.Reflection.TypeExtensions.dll +System.Reflection.dll +System.Resources.Reader.dll +System.Resources.ResourceManager.dll +System.Resources.Writer.dll +System.Runtime.CompilerServices.VisualC.dll +System.Runtime.Extensions.dll +System.Runtime.Handles.dll +System.Runtime.InteropServices.RuntimeInformation.dll +System.Runtime.InteropServices.WindowsRuntime.dll +System.Runtime.InteropServices.dll +System.Runtime.Loader.dll +System.Runtime.Numerics.dll +System.Runtime.Serialization.Formatters.dll +System.Runtime.Serialization.Json.dll +System.Runtime.Serialization.Primitives.dll +System.Runtime.Serialization.Xml.dll +System.Runtime.Serialization.dll +System.Runtime.dll +System.Security.AccessControl.dll +System.Security.Claims.dll +System.Security.Cryptography.Algorithms.dll +System.Security.Cryptography.Cng.dll +System.Security.Cryptography.Csp.dll +System.Security.Cryptography.Encoding.dll +System.Security.Cryptography.Native.OpenSsl.a +System.Security.Cryptography.Native.OpenSsl.so +System.Security.Cryptography.OpenSsl.dll +System.Security.Cryptography.Primitives.dll +System.Security.Cryptography.X509Certificates.dll +System.Security.Principal.Windows.dll +System.Security.Principal.dll +System.Security.SecureString.dll +System.Security.dll +System.ServiceModel.Web.dll +System.ServiceProcess.dll +System.Text.Encoding.Extensions.dll +System.Text.Encoding.dll +System.Text.RegularExpressions.dll +System.Threading.Overlapped.dll +System.Threading.Tasks.Dataflow.dll +System.Threading.Tasks.Extensions.dll +System.Threading.Tasks.Parallel.dll +System.Threading.Tasks.dll +System.Threading.Thread.dll +System.Threading.ThreadPool.dll +System.Threading.Timer.dll +System.Threading.dll +System.Transactions.Local.dll +System.Transactions.dll +System.ValueTuple.dll +System.Web.HttpUtility.dll +System.Web.dll +System.Windows.dll +System.Xml.Linq.dll +System.Xml.ReaderWriter.dll +System.Xml.Serialization.dll +System.Xml.XDocument.dll +System.Xml.XPath.XDocument.dll +System.Xml.XPath.dll +System.Xml.XmlDocument.dll +System.Xml.XmlSerializer.dll +System.Xml.dll +System.dll +WindowsBase.dll +cliscd +cliscd.deps.json +cliscd.dll +cliscd.pdb +cliscd.runtimeconfig.json +createdump +libclrjit.so +libcoreclr.so +libcoreclrtraceptprovider.so +libdbgshim.so +libhostfxr.so +libhostpolicy.so +libmscordaccore.so +libmscordbi.so +libsos.so +libsosplugin.so +mscorlib.dll +netstandard.dll +sosdocsunix.txt +ls: cannot access /etc/cliscd: No such file or directory +ls: cannot access /root/.cliscd: No such file or directory From 375b24d43136812bf9430e0e01e760d577955497 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Fri, 31 Aug 2018 13:45:08 +0000 Subject: [PATCH 22/40] Run tests on CentOS 7 --- .travis.yml | 8 +++++++- demo/cliscd/centos.7-x64/Dockerfile | 15 +++++++++++++++ demo/cliscd/centos.7-x64/reference.txt | 22 ++++++++++++++++++++++ demo/cliscd/cliscd.csproj | 2 +- 4 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 demo/cliscd/centos.7-x64/Dockerfile create mode 100644 demo/cliscd/centos.7-x64/reference.txt diff --git a/.travis.yml b/.travis.yml index aac6b651..f231d999 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,14 +17,20 @@ script: - cd $TRAVIS_BUILD_DIR/demo/cliscd/ - dotnet restore + - dotnet deb -c Release -r debian.8-x64 -f netcoreapp2.1 - cp bin/Release/netcoreapp2.1/debian.8-x64/cliscd.1.0.0.debian.8-x64.deb debian.8-x64/ - sudo docker build -t clisc:debian.8-x64 debian.8-x64 - sudo docker run clisc:debian.8-x64 + - dotnet deb -c Release -r ubuntu.16.10-x64 -f netcoreapp2.1 - dotnet deb -c Release -r ubuntu.16.04-x64 -f netcoreapp2.1 - dotnet rpm -c Release -r opensuse-x64 -f netcoreapp2.1 - dotnet rpm -c Release -r ol-x64 -f netcoreapp2.1 - dotnet rpm -c Release -r rhel-x64 -f netcoreapp2.1 - dotnet rpm -c Release -r fedora-x64 -f netcoreapp2.1 - - dotnet rpm -c Release -r centos-x64 -f netcoreapp2.1 + + - dotnet rpm -c Release -r centos.7-x64 -f netcoreapp2.1 + - cp bin/Release/netcoreapp2.1/centos.7-x64/cliscd.1.0.0.centos.7-x64.rpm centos.7-x64 + - sudo docker build -t clisc:centos.7-x64 centos.7-x64 +# - sudo docker run clisc:centos.7-x64 diff --git a/demo/cliscd/centos.7-x64/Dockerfile b/demo/cliscd/centos.7-x64/Dockerfile new file mode 100644 index 00000000..ec69a09f --- /dev/null +++ b/demo/cliscd/centos.7-x64/Dockerfile @@ -0,0 +1,15 @@ +FROM centos:7 + +COPY cliscd.1.0.0.centos.7-x64.rpm /pkg/ +COPY reference.txt /pkg/ + +RUN yum update -y \ +&& yum install -y /pkg/cliscd.1.0.0.centos.7-x64.rpm + +RUN ls -a /usr/share/cliscd >> ~/testoutput.log 2>&1 || exit 0 +RUN ls -a /etc/cliscd >> ~/testoutput.log 2>&1 || exit 0 +RUN ls -a ~/.cliscd >> ~/testoutput.log 2>&1 || exit 0 + +RUN diff -w /pkg/reference.txt ~/testoutput.log + +CMD [ "/usr/share/cliscd/cliscd" ] diff --git a/demo/cliscd/centos.7-x64/reference.txt b/demo/cliscd/centos.7-x64/reference.txt new file mode 100644 index 00000000..fd87781a --- /dev/null +++ b/demo/cliscd/centos.7-x64/reference.txt @@ -0,0 +1,22 @@ +. +.. +System.Globalization.Native.so +System.IO.Compression.Native.so +System.Native.so +System.Net.Http.Native.so +System.Net.Security.Native.so +System.Security.Cryptography.Native.OpenSsl.so +cliscd +createdump +libclrjit.so +libcoreclr.so +libcoreclrtraceptprovider.so +libdbgshim.so +libhostfxr.so +libhostpolicy.so +libmscordaccore.so +libmscordbi.so +libsos.so +libsosplugin.so +ls: cannot access /etc/cliscd: No such file or directory +ls: cannot access /root/.cliscd: No such file or directory diff --git a/demo/cliscd/cliscd.csproj b/demo/cliscd/cliscd.csproj index 120a0412..19d7721c 100644 --- a/demo/cliscd/cliscd.csproj +++ b/demo/cliscd/cliscd.csproj @@ -2,7 +2,7 @@ Exe - win7-x64;win7-x86;win10-x64;win10-x86;osx-x64;debian.8-x64;ubuntu.16.10-x64;ubuntu.16.04-x64;opensuse-x64;ol-x64;rhel-x64;fedora-x64;centos-x64 + win7-x64;win7-x86;win10-x64;win10-x86;osx-x64;debian.8-x64;ubuntu.16.10-x64;ubuntu.16.04-x64;opensuse-x64;ol-x64;rhel-x64;fedora-x64;centos.7-x64 netcoreapp2.1 true From 11271faf67fb710be450c5e63c991332a85b28a5 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Fri, 31 Aug 2018 13:45:19 +0000 Subject: [PATCH 23/40] Disable Docker on AppVeyor as Linux containers on Windows are available on the Premium tier only --- appveyor.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 951d5750..ed4fd20f 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -28,8 +28,8 @@ test_script: # Test on Debian 8 - cmd: dotnet deb -c Release -r debian.8-x64 -f netcoreapp2.1 - cmd: copy bin\Release\netcoreapp2.1\debian.8-x64\cliscd.1.0.0.debian.8-x64.deb debian.8-x64\ - - cmd: docker build -t clisc:debian.8-x64 debian.8-x64 - - cmd: docker run clisc:debian.8-x64 +# - cmd: docker build -t clisc:debian.8-x64 debian.8-x64 +# - cmd: docker run clisc:debian.8-x64 - cmd: dotnet deb -c Release -r ubuntu.16.10-x64 -f netcoreapp2.1 - cmd: dotnet deb -c Release -r ubuntu.16.04-x64 -f netcoreapp2.1 @@ -37,7 +37,12 @@ test_script: - cmd: dotnet rpm -c Release -r ol-x64 -f netcoreapp2.1 - cmd: dotnet rpm -c Release -r rhel-x64 -f netcoreapp2.1 - cmd: dotnet rpm -c Release -r fedora-x64 -f netcoreapp2.1 - - cmd: dotnet rpm -c Release -r centos-x64 -f netcoreapp2.1 + + # Test on CentOS 7 + - cmd: dotnet rpm -c Release -r centos.7-x64 -f netcoreapp2.1 + - cmd: copy bin\Release\netcoreapp2.1\centos.7-x64\cliscd.1.0.0.centos.7-x64.deb centos.7-x64\ +# - cmd: docker build -t clisc:centos.7-x64 centos.7-x64 +# - cmd: docker run clisc:centos.7-x64 artifacts: - path: dotnet-tarball\bin\Release\dotnet-tarball.*.nupkg From a0bef75e62638d0884e5239305f315e9b2456e41 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Fri, 31 Aug 2018 14:15:59 +0000 Subject: [PATCH 24/40] Add tests for Ubuntu 18.04 --- .travis.yml | 6 +- appveyor.yml | 2 +- demo/cliscd/cliscd.csproj | 2 +- demo/cliscd/ubuntu.18.04-x64/Dockerfile | 16 ++ demo/cliscd/ubuntu.18.04-x64/reference.txt | 188 +++++++++++++++++++++ 5 files changed, 211 insertions(+), 3 deletions(-) create mode 100644 demo/cliscd/ubuntu.18.04-x64/Dockerfile create mode 100644 demo/cliscd/ubuntu.18.04-x64/reference.txt diff --git a/.travis.yml b/.travis.yml index f231d999..7a8ced4d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,7 +23,11 @@ script: - sudo docker build -t clisc:debian.8-x64 debian.8-x64 - sudo docker run clisc:debian.8-x64 - - dotnet deb -c Release -r ubuntu.16.10-x64 -f netcoreapp2.1 + - dotnet deb -c Release -r ubuntu.18.04-x64 -f netcoreapp2.1 + - cp bin/Release/netcoreapp2.1/ubuntu.18.04-x64/cliscd.1.0.0.ubuntu.18.04-x64.deb ubuntu.18.04-x64/ + - sudo docker build -t clisc:ubuntu.18.04-x64 ubuntu.18.04-x64 + - sudo docker run clisc:ubuntu.18.04-x64 + - dotnet deb -c Release -r ubuntu.16.04-x64 -f netcoreapp2.1 - dotnet rpm -c Release -r opensuse-x64 -f netcoreapp2.1 - dotnet rpm -c Release -r ol-x64 -f netcoreapp2.1 diff --git a/appveyor.yml b/appveyor.yml index ed4fd20f..f87ba824 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -31,7 +31,7 @@ test_script: # - cmd: docker build -t clisc:debian.8-x64 debian.8-x64 # - cmd: docker run clisc:debian.8-x64 - - cmd: dotnet deb -c Release -r ubuntu.16.10-x64 -f netcoreapp2.1 + - cmd: dotnet deb -c Release -r ubuntu.18.04-x64 -f netcoreapp2.1 - cmd: dotnet deb -c Release -r ubuntu.16.04-x64 -f netcoreapp2.1 - cmd: dotnet rpm -c Release -r opensuse-x64 -f netcoreapp2.1 - cmd: dotnet rpm -c Release -r ol-x64 -f netcoreapp2.1 diff --git a/demo/cliscd/cliscd.csproj b/demo/cliscd/cliscd.csproj index 19d7721c..f3c4d6c3 100644 --- a/demo/cliscd/cliscd.csproj +++ b/demo/cliscd/cliscd.csproj @@ -2,7 +2,7 @@ Exe - win7-x64;win7-x86;win10-x64;win10-x86;osx-x64;debian.8-x64;ubuntu.16.10-x64;ubuntu.16.04-x64;opensuse-x64;ol-x64;rhel-x64;fedora-x64;centos.7-x64 + win7-x64;win7-x86;win10-x64;win10-x86;osx-x64;debian.8-x64;ubuntu.18.04-x64;ubuntu.16.04-x64;opensuse-x64;ol-x64;rhel-x64;fedora-x64;centos.7-x64 netcoreapp2.1 true diff --git a/demo/cliscd/ubuntu.18.04-x64/Dockerfile b/demo/cliscd/ubuntu.18.04-x64/Dockerfile new file mode 100644 index 00000000..bc744879 --- /dev/null +++ b/demo/cliscd/ubuntu.18.04-x64/Dockerfile @@ -0,0 +1,16 @@ +FROM ubuntu:18.04 + +ENV rid=ubuntu.18.04-x64 +COPY cliscd.1.0.0.$rid.deb /pkg/ +COPY reference.txt /pkg/ + +RUN apt-get update \ +&& apt install -y /pkg/cliscd.1.0.0.$rid.deb + +RUN ls -a /usr/share/cliscd >> ~/testoutput.log 2>&1 || exit 0 +RUN ls -a /etc/cliscd >> ~/testoutput.log 2>&1 || exit 0 +RUN ls -a ~/.cliscd >> ~/testoutput.log 2>&1 || exit 0 + +RUN diff -w /pkg/reference.txt ~/testoutput.log + +CMD [ "/usr/share/cliscd/cliscd" ] diff --git a/demo/cliscd/ubuntu.18.04-x64/reference.txt b/demo/cliscd/ubuntu.18.04-x64/reference.txt new file mode 100644 index 00000000..83cb79c4 --- /dev/null +++ b/demo/cliscd/ubuntu.18.04-x64/reference.txt @@ -0,0 +1,188 @@ +. +.. +Microsoft.CSharp.dll +Microsoft.VisualBasic.dll +Microsoft.Win32.Primitives.dll +Microsoft.Win32.Registry.dll +SOS.NETCore.dll +System.AppContext.dll +System.Buffers.dll +System.Collections.Concurrent.dll +System.Collections.Immutable.dll +System.Collections.NonGeneric.dll +System.Collections.Specialized.dll +System.Collections.dll +System.ComponentModel.Annotations.dll +System.ComponentModel.DataAnnotations.dll +System.ComponentModel.EventBasedAsync.dll +System.ComponentModel.Primitives.dll +System.ComponentModel.TypeConverter.dll +System.ComponentModel.dll +System.Configuration.dll +System.Console.dll +System.Core.dll +System.Data.Common.dll +System.Data.dll +System.Diagnostics.Contracts.dll +System.Diagnostics.Debug.dll +System.Diagnostics.DiagnosticSource.dll +System.Diagnostics.FileVersionInfo.dll +System.Diagnostics.Process.dll +System.Diagnostics.StackTrace.dll +System.Diagnostics.TextWriterTraceListener.dll +System.Diagnostics.Tools.dll +System.Diagnostics.TraceSource.dll +System.Diagnostics.Tracing.dll +System.Drawing.Primitives.dll +System.Drawing.dll +System.Dynamic.Runtime.dll +System.Globalization.Calendars.dll +System.Globalization.Extensions.dll +System.Globalization.Native.so +System.Globalization.dll +System.IO.Compression.Brotli.dll +System.IO.Compression.FileSystem.dll +System.IO.Compression.Native.a +System.IO.Compression.Native.so +System.IO.Compression.ZipFile.dll +System.IO.Compression.dll +System.IO.FileSystem.AccessControl.dll +System.IO.FileSystem.DriveInfo.dll +System.IO.FileSystem.Primitives.dll +System.IO.FileSystem.Watcher.dll +System.IO.FileSystem.dll +System.IO.IsolatedStorage.dll +System.IO.MemoryMappedFiles.dll +System.IO.Pipes.AccessControl.dll +System.IO.Pipes.dll +System.IO.UnmanagedMemoryStream.dll +System.IO.dll +System.Linq.Expressions.dll +System.Linq.Parallel.dll +System.Linq.Queryable.dll +System.Linq.dll +System.Memory.dll +System.Native.a +System.Native.so +System.Net.Http.Native.a +System.Net.Http.Native.so +System.Net.Http.dll +System.Net.HttpListener.dll +System.Net.Mail.dll +System.Net.NameResolution.dll +System.Net.NetworkInformation.dll +System.Net.Ping.dll +System.Net.Primitives.dll +System.Net.Requests.dll +System.Net.Security.Native.a +System.Net.Security.Native.so +System.Net.Security.dll +System.Net.ServicePoint.dll +System.Net.Sockets.dll +System.Net.WebClient.dll +System.Net.WebHeaderCollection.dll +System.Net.WebProxy.dll +System.Net.WebSockets.Client.dll +System.Net.WebSockets.dll +System.Net.dll +System.Numerics.Vectors.dll +System.Numerics.dll +System.ObjectModel.dll +System.Private.CoreLib.dll +System.Private.DataContractSerialization.dll +System.Private.Uri.dll +System.Private.Xml.Linq.dll +System.Private.Xml.dll +System.Reflection.DispatchProxy.dll +System.Reflection.Emit.ILGeneration.dll +System.Reflection.Emit.Lightweight.dll +System.Reflection.Emit.dll +System.Reflection.Extensions.dll +System.Reflection.Metadata.dll +System.Reflection.Primitives.dll +System.Reflection.TypeExtensions.dll +System.Reflection.dll +System.Resources.Reader.dll +System.Resources.ResourceManager.dll +System.Resources.Writer.dll +System.Runtime.CompilerServices.VisualC.dll +System.Runtime.Extensions.dll +System.Runtime.Handles.dll +System.Runtime.InteropServices.RuntimeInformation.dll +System.Runtime.InteropServices.WindowsRuntime.dll +System.Runtime.InteropServices.dll +System.Runtime.Loader.dll +System.Runtime.Numerics.dll +System.Runtime.Serialization.Formatters.dll +System.Runtime.Serialization.Json.dll +System.Runtime.Serialization.Primitives.dll +System.Runtime.Serialization.Xml.dll +System.Runtime.Serialization.dll +System.Runtime.dll +System.Security.AccessControl.dll +System.Security.Claims.dll +System.Security.Cryptography.Algorithms.dll +System.Security.Cryptography.Cng.dll +System.Security.Cryptography.Csp.dll +System.Security.Cryptography.Encoding.dll +System.Security.Cryptography.Native.OpenSsl.a +System.Security.Cryptography.Native.OpenSsl.so +System.Security.Cryptography.OpenSsl.dll +System.Security.Cryptography.Primitives.dll +System.Security.Cryptography.X509Certificates.dll +System.Security.Principal.Windows.dll +System.Security.Principal.dll +System.Security.SecureString.dll +System.Security.dll +System.ServiceModel.Web.dll +System.ServiceProcess.dll +System.Text.Encoding.Extensions.dll +System.Text.Encoding.dll +System.Text.RegularExpressions.dll +System.Threading.Overlapped.dll +System.Threading.Tasks.Dataflow.dll +System.Threading.Tasks.Extensions.dll +System.Threading.Tasks.Parallel.dll +System.Threading.Tasks.dll +System.Threading.Thread.dll +System.Threading.ThreadPool.dll +System.Threading.Timer.dll +System.Threading.dll +System.Transactions.Local.dll +System.Transactions.dll +System.ValueTuple.dll +System.Web.HttpUtility.dll +System.Web.dll +System.Windows.dll +System.Xml.Linq.dll +System.Xml.ReaderWriter.dll +System.Xml.Serialization.dll +System.Xml.XDocument.dll +System.Xml.XPath.XDocument.dll +System.Xml.XPath.dll +System.Xml.XmlDocument.dll +System.Xml.XmlSerializer.dll +System.Xml.dll +System.dll +WindowsBase.dll +cliscd +cliscd.deps.json +cliscd.dll +cliscd.pdb +cliscd.runtimeconfig.json +createdump +libclrjit.so +libcoreclr.so +libcoreclrtraceptprovider.so +libdbgshim.so +libhostfxr.so +libhostpolicy.so +libmscordaccore.so +libmscordbi.so +libsos.so +libsosplugin.so +mscorlib.dll +netstandard.dll +sosdocsunix.txt +ls: cannot access '/etc/cliscd': No such file or directory +ls: cannot access '/root/.cliscd': No such file or directory From 2d9e3588bbed1b2e015ffc6e03cbd396cdb3a2db Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Fri, 31 Aug 2018 14:21:39 +0000 Subject: [PATCH 25/40] Add Ubuntu 16.04 --- .travis.yml | 4 + demo/cliscd/ubuntu.16.04-x64/Dockerfile | 16 ++ demo/cliscd/ubuntu.16.04-x64/reference.txt | 188 +++++++++++++++++++++ 3 files changed, 208 insertions(+) create mode 100644 demo/cliscd/ubuntu.16.04-x64/Dockerfile create mode 100644 demo/cliscd/ubuntu.16.04-x64/reference.txt diff --git a/.travis.yml b/.travis.yml index 7a8ced4d..1f682a40 100644 --- a/.travis.yml +++ b/.travis.yml @@ -29,6 +29,10 @@ script: - sudo docker run clisc:ubuntu.18.04-x64 - dotnet deb -c Release -r ubuntu.16.04-x64 -f netcoreapp2.1 + - cp bin/Release/netcoreapp2.1/ubuntu.16.04-x64/cliscd.1.0.0.ubuntu.16.04-x64.deb ubuntu.16.04-x64/ + - sudo docker build -t clisc:ubuntu.16.04-x64 ubuntu.16.04-x64 + - sudo docker run clisc:ubuntu.16.04-x64 + - dotnet rpm -c Release -r opensuse-x64 -f netcoreapp2.1 - dotnet rpm -c Release -r ol-x64 -f netcoreapp2.1 - dotnet rpm -c Release -r rhel-x64 -f netcoreapp2.1 diff --git a/demo/cliscd/ubuntu.16.04-x64/Dockerfile b/demo/cliscd/ubuntu.16.04-x64/Dockerfile new file mode 100644 index 00000000..68262d04 --- /dev/null +++ b/demo/cliscd/ubuntu.16.04-x64/Dockerfile @@ -0,0 +1,16 @@ +FROM ubuntu:16.04 + +ENV rid=ubuntu.16.04-x64 +COPY cliscd.1.0.0.$rid.deb /pkg/ +COPY reference.txt /pkg/ + +RUN apt-get update \ +&& apt install -y /pkg/cliscd.1.0.0.$rid.deb + +RUN ls -a /usr/share/cliscd >> ~/testoutput.log 2>&1 || exit 0 +RUN ls -a /etc/cliscd >> ~/testoutput.log 2>&1 || exit 0 +RUN ls -a ~/.cliscd >> ~/testoutput.log 2>&1 || exit 0 + +RUN diff -w /pkg/reference.txt ~/testoutput.log + +CMD [ "/usr/share/cliscd/cliscd" ] diff --git a/demo/cliscd/ubuntu.16.04-x64/reference.txt b/demo/cliscd/ubuntu.16.04-x64/reference.txt new file mode 100644 index 00000000..83cb79c4 --- /dev/null +++ b/demo/cliscd/ubuntu.16.04-x64/reference.txt @@ -0,0 +1,188 @@ +. +.. +Microsoft.CSharp.dll +Microsoft.VisualBasic.dll +Microsoft.Win32.Primitives.dll +Microsoft.Win32.Registry.dll +SOS.NETCore.dll +System.AppContext.dll +System.Buffers.dll +System.Collections.Concurrent.dll +System.Collections.Immutable.dll +System.Collections.NonGeneric.dll +System.Collections.Specialized.dll +System.Collections.dll +System.ComponentModel.Annotations.dll +System.ComponentModel.DataAnnotations.dll +System.ComponentModel.EventBasedAsync.dll +System.ComponentModel.Primitives.dll +System.ComponentModel.TypeConverter.dll +System.ComponentModel.dll +System.Configuration.dll +System.Console.dll +System.Core.dll +System.Data.Common.dll +System.Data.dll +System.Diagnostics.Contracts.dll +System.Diagnostics.Debug.dll +System.Diagnostics.DiagnosticSource.dll +System.Diagnostics.FileVersionInfo.dll +System.Diagnostics.Process.dll +System.Diagnostics.StackTrace.dll +System.Diagnostics.TextWriterTraceListener.dll +System.Diagnostics.Tools.dll +System.Diagnostics.TraceSource.dll +System.Diagnostics.Tracing.dll +System.Drawing.Primitives.dll +System.Drawing.dll +System.Dynamic.Runtime.dll +System.Globalization.Calendars.dll +System.Globalization.Extensions.dll +System.Globalization.Native.so +System.Globalization.dll +System.IO.Compression.Brotli.dll +System.IO.Compression.FileSystem.dll +System.IO.Compression.Native.a +System.IO.Compression.Native.so +System.IO.Compression.ZipFile.dll +System.IO.Compression.dll +System.IO.FileSystem.AccessControl.dll +System.IO.FileSystem.DriveInfo.dll +System.IO.FileSystem.Primitives.dll +System.IO.FileSystem.Watcher.dll +System.IO.FileSystem.dll +System.IO.IsolatedStorage.dll +System.IO.MemoryMappedFiles.dll +System.IO.Pipes.AccessControl.dll +System.IO.Pipes.dll +System.IO.UnmanagedMemoryStream.dll +System.IO.dll +System.Linq.Expressions.dll +System.Linq.Parallel.dll +System.Linq.Queryable.dll +System.Linq.dll +System.Memory.dll +System.Native.a +System.Native.so +System.Net.Http.Native.a +System.Net.Http.Native.so +System.Net.Http.dll +System.Net.HttpListener.dll +System.Net.Mail.dll +System.Net.NameResolution.dll +System.Net.NetworkInformation.dll +System.Net.Ping.dll +System.Net.Primitives.dll +System.Net.Requests.dll +System.Net.Security.Native.a +System.Net.Security.Native.so +System.Net.Security.dll +System.Net.ServicePoint.dll +System.Net.Sockets.dll +System.Net.WebClient.dll +System.Net.WebHeaderCollection.dll +System.Net.WebProxy.dll +System.Net.WebSockets.Client.dll +System.Net.WebSockets.dll +System.Net.dll +System.Numerics.Vectors.dll +System.Numerics.dll +System.ObjectModel.dll +System.Private.CoreLib.dll +System.Private.DataContractSerialization.dll +System.Private.Uri.dll +System.Private.Xml.Linq.dll +System.Private.Xml.dll +System.Reflection.DispatchProxy.dll +System.Reflection.Emit.ILGeneration.dll +System.Reflection.Emit.Lightweight.dll +System.Reflection.Emit.dll +System.Reflection.Extensions.dll +System.Reflection.Metadata.dll +System.Reflection.Primitives.dll +System.Reflection.TypeExtensions.dll +System.Reflection.dll +System.Resources.Reader.dll +System.Resources.ResourceManager.dll +System.Resources.Writer.dll +System.Runtime.CompilerServices.VisualC.dll +System.Runtime.Extensions.dll +System.Runtime.Handles.dll +System.Runtime.InteropServices.RuntimeInformation.dll +System.Runtime.InteropServices.WindowsRuntime.dll +System.Runtime.InteropServices.dll +System.Runtime.Loader.dll +System.Runtime.Numerics.dll +System.Runtime.Serialization.Formatters.dll +System.Runtime.Serialization.Json.dll +System.Runtime.Serialization.Primitives.dll +System.Runtime.Serialization.Xml.dll +System.Runtime.Serialization.dll +System.Runtime.dll +System.Security.AccessControl.dll +System.Security.Claims.dll +System.Security.Cryptography.Algorithms.dll +System.Security.Cryptography.Cng.dll +System.Security.Cryptography.Csp.dll +System.Security.Cryptography.Encoding.dll +System.Security.Cryptography.Native.OpenSsl.a +System.Security.Cryptography.Native.OpenSsl.so +System.Security.Cryptography.OpenSsl.dll +System.Security.Cryptography.Primitives.dll +System.Security.Cryptography.X509Certificates.dll +System.Security.Principal.Windows.dll +System.Security.Principal.dll +System.Security.SecureString.dll +System.Security.dll +System.ServiceModel.Web.dll +System.ServiceProcess.dll +System.Text.Encoding.Extensions.dll +System.Text.Encoding.dll +System.Text.RegularExpressions.dll +System.Threading.Overlapped.dll +System.Threading.Tasks.Dataflow.dll +System.Threading.Tasks.Extensions.dll +System.Threading.Tasks.Parallel.dll +System.Threading.Tasks.dll +System.Threading.Thread.dll +System.Threading.ThreadPool.dll +System.Threading.Timer.dll +System.Threading.dll +System.Transactions.Local.dll +System.Transactions.dll +System.ValueTuple.dll +System.Web.HttpUtility.dll +System.Web.dll +System.Windows.dll +System.Xml.Linq.dll +System.Xml.ReaderWriter.dll +System.Xml.Serialization.dll +System.Xml.XDocument.dll +System.Xml.XPath.XDocument.dll +System.Xml.XPath.dll +System.Xml.XmlDocument.dll +System.Xml.XmlSerializer.dll +System.Xml.dll +System.dll +WindowsBase.dll +cliscd +cliscd.deps.json +cliscd.dll +cliscd.pdb +cliscd.runtimeconfig.json +createdump +libclrjit.so +libcoreclr.so +libcoreclrtraceptprovider.so +libdbgshim.so +libhostfxr.so +libhostpolicy.so +libmscordaccore.so +libmscordbi.so +libsos.so +libsosplugin.so +mscorlib.dll +netstandard.dll +sosdocsunix.txt +ls: cannot access '/etc/cliscd': No such file or directory +ls: cannot access '/root/.cliscd': No such file or directory From b2d95266429683fec67f1a06f0e2a09f6481c557 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Fri, 31 Aug 2018 14:30:37 +0000 Subject: [PATCH 26/40] Add OpenSUSE 42.3 --- demo/cliscd/cliscd.csproj | 2 +- demo/cliscd/opensuse.42.3-x64/Dockerfile | 15 ++ demo/cliscd/opensuse.42.3-x64/reference.txt | 188 ++++++++++++++++++++ 3 files changed, 204 insertions(+), 1 deletion(-) create mode 100644 demo/cliscd/opensuse.42.3-x64/Dockerfile create mode 100644 demo/cliscd/opensuse.42.3-x64/reference.txt diff --git a/demo/cliscd/cliscd.csproj b/demo/cliscd/cliscd.csproj index f3c4d6c3..ee914a8a 100644 --- a/demo/cliscd/cliscd.csproj +++ b/demo/cliscd/cliscd.csproj @@ -2,7 +2,7 @@ Exe - win7-x64;win7-x86;win10-x64;win10-x86;osx-x64;debian.8-x64;ubuntu.18.04-x64;ubuntu.16.04-x64;opensuse-x64;ol-x64;rhel-x64;fedora-x64;centos.7-x64 + win7-x64;win7-x86;win10-x64;win10-x86;osx-x64;debian.8-x64;ubuntu.18.04-x64;ubuntu.16.04-x64;opensuse.42.3-x64;ol-x64;rhel-x64;fedora-x64;centos.7-x64 netcoreapp2.1 true diff --git a/demo/cliscd/opensuse.42.3-x64/Dockerfile b/demo/cliscd/opensuse.42.3-x64/Dockerfile new file mode 100644 index 00000000..24e97a13 --- /dev/null +++ b/demo/cliscd/opensuse.42.3-x64/Dockerfile @@ -0,0 +1,15 @@ +FROM opensuse:42.3 + +ENV rid=opensuse.42.3-x64 +COPY cliscd.1.0.0.$rid.rpm /pkg/ +COPY reference.txt /pkg/ + +RUN rpm -i /pkg/cliscd.1.0.0.$rid.rpm + +RUN ls -a /usr/share/cliscd >> ~/testoutput.log 2>&1 || exit 0 +RUN ls -a /etc/cliscd >> ~/testoutput.log 2>&1 || exit 0 +RUN ls -a ~/.cliscd >> ~/testoutput.log 2>&1 || exit 0 + +RUN diff -w /pkg/reference.txt ~/testoutput.log + +CMD [ "/usr/share/cliscd/cliscd" ] diff --git a/demo/cliscd/opensuse.42.3-x64/reference.txt b/demo/cliscd/opensuse.42.3-x64/reference.txt new file mode 100644 index 00000000..83cb79c4 --- /dev/null +++ b/demo/cliscd/opensuse.42.3-x64/reference.txt @@ -0,0 +1,188 @@ +. +.. +Microsoft.CSharp.dll +Microsoft.VisualBasic.dll +Microsoft.Win32.Primitives.dll +Microsoft.Win32.Registry.dll +SOS.NETCore.dll +System.AppContext.dll +System.Buffers.dll +System.Collections.Concurrent.dll +System.Collections.Immutable.dll +System.Collections.NonGeneric.dll +System.Collections.Specialized.dll +System.Collections.dll +System.ComponentModel.Annotations.dll +System.ComponentModel.DataAnnotations.dll +System.ComponentModel.EventBasedAsync.dll +System.ComponentModel.Primitives.dll +System.ComponentModel.TypeConverter.dll +System.ComponentModel.dll +System.Configuration.dll +System.Console.dll +System.Core.dll +System.Data.Common.dll +System.Data.dll +System.Diagnostics.Contracts.dll +System.Diagnostics.Debug.dll +System.Diagnostics.DiagnosticSource.dll +System.Diagnostics.FileVersionInfo.dll +System.Diagnostics.Process.dll +System.Diagnostics.StackTrace.dll +System.Diagnostics.TextWriterTraceListener.dll +System.Diagnostics.Tools.dll +System.Diagnostics.TraceSource.dll +System.Diagnostics.Tracing.dll +System.Drawing.Primitives.dll +System.Drawing.dll +System.Dynamic.Runtime.dll +System.Globalization.Calendars.dll +System.Globalization.Extensions.dll +System.Globalization.Native.so +System.Globalization.dll +System.IO.Compression.Brotli.dll +System.IO.Compression.FileSystem.dll +System.IO.Compression.Native.a +System.IO.Compression.Native.so +System.IO.Compression.ZipFile.dll +System.IO.Compression.dll +System.IO.FileSystem.AccessControl.dll +System.IO.FileSystem.DriveInfo.dll +System.IO.FileSystem.Primitives.dll +System.IO.FileSystem.Watcher.dll +System.IO.FileSystem.dll +System.IO.IsolatedStorage.dll +System.IO.MemoryMappedFiles.dll +System.IO.Pipes.AccessControl.dll +System.IO.Pipes.dll +System.IO.UnmanagedMemoryStream.dll +System.IO.dll +System.Linq.Expressions.dll +System.Linq.Parallel.dll +System.Linq.Queryable.dll +System.Linq.dll +System.Memory.dll +System.Native.a +System.Native.so +System.Net.Http.Native.a +System.Net.Http.Native.so +System.Net.Http.dll +System.Net.HttpListener.dll +System.Net.Mail.dll +System.Net.NameResolution.dll +System.Net.NetworkInformation.dll +System.Net.Ping.dll +System.Net.Primitives.dll +System.Net.Requests.dll +System.Net.Security.Native.a +System.Net.Security.Native.so +System.Net.Security.dll +System.Net.ServicePoint.dll +System.Net.Sockets.dll +System.Net.WebClient.dll +System.Net.WebHeaderCollection.dll +System.Net.WebProxy.dll +System.Net.WebSockets.Client.dll +System.Net.WebSockets.dll +System.Net.dll +System.Numerics.Vectors.dll +System.Numerics.dll +System.ObjectModel.dll +System.Private.CoreLib.dll +System.Private.DataContractSerialization.dll +System.Private.Uri.dll +System.Private.Xml.Linq.dll +System.Private.Xml.dll +System.Reflection.DispatchProxy.dll +System.Reflection.Emit.ILGeneration.dll +System.Reflection.Emit.Lightweight.dll +System.Reflection.Emit.dll +System.Reflection.Extensions.dll +System.Reflection.Metadata.dll +System.Reflection.Primitives.dll +System.Reflection.TypeExtensions.dll +System.Reflection.dll +System.Resources.Reader.dll +System.Resources.ResourceManager.dll +System.Resources.Writer.dll +System.Runtime.CompilerServices.VisualC.dll +System.Runtime.Extensions.dll +System.Runtime.Handles.dll +System.Runtime.InteropServices.RuntimeInformation.dll +System.Runtime.InteropServices.WindowsRuntime.dll +System.Runtime.InteropServices.dll +System.Runtime.Loader.dll +System.Runtime.Numerics.dll +System.Runtime.Serialization.Formatters.dll +System.Runtime.Serialization.Json.dll +System.Runtime.Serialization.Primitives.dll +System.Runtime.Serialization.Xml.dll +System.Runtime.Serialization.dll +System.Runtime.dll +System.Security.AccessControl.dll +System.Security.Claims.dll +System.Security.Cryptography.Algorithms.dll +System.Security.Cryptography.Cng.dll +System.Security.Cryptography.Csp.dll +System.Security.Cryptography.Encoding.dll +System.Security.Cryptography.Native.OpenSsl.a +System.Security.Cryptography.Native.OpenSsl.so +System.Security.Cryptography.OpenSsl.dll +System.Security.Cryptography.Primitives.dll +System.Security.Cryptography.X509Certificates.dll +System.Security.Principal.Windows.dll +System.Security.Principal.dll +System.Security.SecureString.dll +System.Security.dll +System.ServiceModel.Web.dll +System.ServiceProcess.dll +System.Text.Encoding.Extensions.dll +System.Text.Encoding.dll +System.Text.RegularExpressions.dll +System.Threading.Overlapped.dll +System.Threading.Tasks.Dataflow.dll +System.Threading.Tasks.Extensions.dll +System.Threading.Tasks.Parallel.dll +System.Threading.Tasks.dll +System.Threading.Thread.dll +System.Threading.ThreadPool.dll +System.Threading.Timer.dll +System.Threading.dll +System.Transactions.Local.dll +System.Transactions.dll +System.ValueTuple.dll +System.Web.HttpUtility.dll +System.Web.dll +System.Windows.dll +System.Xml.Linq.dll +System.Xml.ReaderWriter.dll +System.Xml.Serialization.dll +System.Xml.XDocument.dll +System.Xml.XPath.XDocument.dll +System.Xml.XPath.dll +System.Xml.XmlDocument.dll +System.Xml.XmlSerializer.dll +System.Xml.dll +System.dll +WindowsBase.dll +cliscd +cliscd.deps.json +cliscd.dll +cliscd.pdb +cliscd.runtimeconfig.json +createdump +libclrjit.so +libcoreclr.so +libcoreclrtraceptprovider.so +libdbgshim.so +libhostfxr.so +libhostpolicy.so +libmscordaccore.so +libmscordbi.so +libsos.so +libsosplugin.so +mscorlib.dll +netstandard.dll +sosdocsunix.txt +ls: cannot access '/etc/cliscd': No such file or directory +ls: cannot access '/root/.cliscd': No such file or directory From c73b8b279119762808e2a240cc786ee90c0b61d1 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Fri, 31 Aug 2018 14:45:53 +0000 Subject: [PATCH 27/40] Add Oracle Linux & Fedora tests --- .travis.yml | 18 +++++++++++++++--- appveyor.yml | 6 +++--- demo/cliscd/cliscd.csproj | 2 +- demo/cliscd/fedora.28-x64/Dockerfile | 17 +++++++++++++++++ demo/cliscd/fedora.28-x64/reference.txt | 22 ++++++++++++++++++++++ demo/cliscd/ol.7-x64/Dockerfile | 17 +++++++++++++++++ demo/cliscd/ol.7-x64/reference.txt | 22 ++++++++++++++++++++++ 7 files changed, 97 insertions(+), 7 deletions(-) create mode 100644 demo/cliscd/fedora.28-x64/Dockerfile create mode 100644 demo/cliscd/fedora.28-x64/reference.txt create mode 100644 demo/cliscd/ol.7-x64/Dockerfile create mode 100644 demo/cliscd/ol.7-x64/reference.txt diff --git a/.travis.yml b/.travis.yml index 1f682a40..2e0c050a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,10 +33,22 @@ script: - sudo docker build -t clisc:ubuntu.16.04-x64 ubuntu.16.04-x64 - sudo docker run clisc:ubuntu.16.04-x64 - - dotnet rpm -c Release -r opensuse-x64 -f netcoreapp2.1 - - dotnet rpm -c Release -r ol-x64 -f netcoreapp2.1 + - dotnet rpm -c Release -r opensuse.42.3-x64 -f netcoreapp2.1 + - cp bin/Release/netcoreapp2.1/opensuse.42.3-x64/cliscd.1.0.0.opensuse.42.3-x64.rpm opensuse.42.3-x64/ + - sudo docker build -t opensuse.42.3-x64 opensuse.42.3-x64 + - sudo docker run clisc:opensuse.42.3-x64 + + - dotnet rpm -c Release -r ol.7-x64 -f netcoreapp2.1 + - cp bin/Release/netcoreapp2.1/ol.7-x64/cliscd.1.0.0.ol.7-x64.rpm ol.7-x64 + - sudo docker build -t clisc:ol.7-x64 ol.7-x64 +# - sudo docker run clisc:ol.7-x64 + - dotnet rpm -c Release -r rhel-x64 -f netcoreapp2.1 - - dotnet rpm -c Release -r fedora-x64 -f netcoreapp2.1 + + - dotnet rpm -c Release -r fedora.28-x64 -f netcoreapp2.1 + - cp bin/Release/netcoreapp2.1/fedora.28-x64/cliscd.1.0.0.fedora.28-x64.rpm fedora.28-x64 + - sudo docker build -t clisc:fedora.28-x64 fedora.28-x64 +# - sudo docker run clisc:fedora.28-x64 - dotnet rpm -c Release -r centos.7-x64 -f netcoreapp2.1 - cp bin/Release/netcoreapp2.1/centos.7-x64/cliscd.1.0.0.centos.7-x64.rpm centos.7-x64 diff --git a/appveyor.yml b/appveyor.yml index f87ba824..230efb27 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -33,10 +33,10 @@ test_script: - cmd: dotnet deb -c Release -r ubuntu.18.04-x64 -f netcoreapp2.1 - cmd: dotnet deb -c Release -r ubuntu.16.04-x64 -f netcoreapp2.1 - - cmd: dotnet rpm -c Release -r opensuse-x64 -f netcoreapp2.1 - - cmd: dotnet rpm -c Release -r ol-x64 -f netcoreapp2.1 + - cmd: dotnet rpm -c Release -r opensuse.42.3-x64 -f netcoreapp2.1 + - cmd: dotnet rpm -c Release -r ol.7-x64 -f netcoreapp2.1 - cmd: dotnet rpm -c Release -r rhel-x64 -f netcoreapp2.1 - - cmd: dotnet rpm -c Release -r fedora-x64 -f netcoreapp2.1 + - cmd: dotnet rpm -c Release -r fedora.28-x64 -f netcoreapp2.1 # Test on CentOS 7 - cmd: dotnet rpm -c Release -r centos.7-x64 -f netcoreapp2.1 diff --git a/demo/cliscd/cliscd.csproj b/demo/cliscd/cliscd.csproj index ee914a8a..dd6052a8 100644 --- a/demo/cliscd/cliscd.csproj +++ b/demo/cliscd/cliscd.csproj @@ -2,7 +2,7 @@ Exe - win7-x64;win7-x86;win10-x64;win10-x86;osx-x64;debian.8-x64;ubuntu.18.04-x64;ubuntu.16.04-x64;opensuse.42.3-x64;ol-x64;rhel-x64;fedora-x64;centos.7-x64 + win7-x64;win7-x86;win10-x64;win10-x86;osx-x64;debian.8-x64;ubuntu.18.04-x64;ubuntu.16.04-x64;opensuse.42.3-x64;ol.7-x64;rhel-x64;fedora.28-x64;centos.7-x64 netcoreapp2.1 true diff --git a/demo/cliscd/fedora.28-x64/Dockerfile b/demo/cliscd/fedora.28-x64/Dockerfile new file mode 100644 index 00000000..8ce18064 --- /dev/null +++ b/demo/cliscd/fedora.28-x64/Dockerfile @@ -0,0 +1,17 @@ +FROM fedora:28 + +ENV rid=fedora.28-x64 + +COPY cliscd.1.0.0.$rid.rpm /pkg/ +COPY reference.txt /pkg/ + +RUN yum update -y \ +&& yum install -y /pkg/cliscd.1.0.0.$rid.rpm + +RUN ls -a /usr/share/cliscd >> ~/testoutput.log 2>&1 || exit 0 +RUN ls -a /etc/cliscd >> ~/testoutput.log 2>&1 || exit 0 +RUN ls -a ~/.cliscd >> ~/testoutput.log 2>&1 || exit 0 + +RUN diff -w /pkg/reference.txt ~/testoutput.log + +CMD [ "/usr/share/cliscd/cliscd" ] diff --git a/demo/cliscd/fedora.28-x64/reference.txt b/demo/cliscd/fedora.28-x64/reference.txt new file mode 100644 index 00000000..b01569c7 --- /dev/null +++ b/demo/cliscd/fedora.28-x64/reference.txt @@ -0,0 +1,22 @@ +. +.. +System.Globalization.Native.so +System.IO.Compression.Native.so +System.Native.so +System.Net.Http.Native.so +System.Net.Security.Native.so +System.Security.Cryptography.Native.OpenSsl.so +cliscd +createdump +libclrjit.so +libcoreclr.so +libcoreclrtraceptprovider.so +libdbgshim.so +libhostfxr.so +libhostpolicy.so +libmscordaccore.so +libmscordbi.so +libsos.so +libsosplugin.so +ls: cannot access '/etc/cliscd': No such file or directory +ls: cannot access '/root/.cliscd': No such file or directory diff --git a/demo/cliscd/ol.7-x64/Dockerfile b/demo/cliscd/ol.7-x64/Dockerfile new file mode 100644 index 00000000..92978b5b --- /dev/null +++ b/demo/cliscd/ol.7-x64/Dockerfile @@ -0,0 +1,17 @@ +FROM oraclelinux:7 + +ENV rid=ol.7-x64 + +COPY cliscd.1.0.0.$rid.rpm /pkg/ +COPY reference.txt /pkg/ + +RUN yum update -y \ +&& yum install -y /pkg/cliscd.1.0.0.$rid.rpm + +RUN ls -a /usr/share/cliscd >> ~/testoutput.log 2>&1 || exit 0 +RUN ls -a /etc/cliscd >> ~/testoutput.log 2>&1 || exit 0 +RUN ls -a ~/.cliscd >> ~/testoutput.log 2>&1 || exit 0 + +RUN diff -w /pkg/reference.txt ~/testoutput.log + +CMD [ "/usr/share/cliscd/cliscd" ] diff --git a/demo/cliscd/ol.7-x64/reference.txt b/demo/cliscd/ol.7-x64/reference.txt new file mode 100644 index 00000000..fd87781a --- /dev/null +++ b/demo/cliscd/ol.7-x64/reference.txt @@ -0,0 +1,22 @@ +. +.. +System.Globalization.Native.so +System.IO.Compression.Native.so +System.Native.so +System.Net.Http.Native.so +System.Net.Security.Native.so +System.Security.Cryptography.Native.OpenSsl.so +cliscd +createdump +libclrjit.so +libcoreclr.so +libcoreclrtraceptprovider.so +libdbgshim.so +libhostfxr.so +libhostpolicy.so +libmscordaccore.so +libmscordbi.so +libsos.so +libsosplugin.so +ls: cannot access /etc/cliscd: No such file or directory +ls: cannot access /root/.cliscd: No such file or directory From a482d7e175064f0cd0a030ccaeb3f3e7a49e930b Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Fri, 31 Aug 2018 14:48:36 +0000 Subject: [PATCH 28/40] Remove test/ directory, everything has been moved to demo/ --- .travis.yml | 2 +- test/Directory.Build.props | 3 - test/NuGet.config | 10 - test/Test.proj | 21 -- test/docker/.dockerignore | 10 - test/docker/Directory.Build.props | 3 - test/docker/README.md | 1 - test/docker/Test.proj | 21 -- test/docker/_scripts/removeimage.cmd | 4 - test/docker/_scripts/removeimage.sh | 3 - test/docker/_scripts/runtest.cmd | 26 --- test/docker/_scripts/runtest.sh | 18 -- test/docker/images/Test.proj | 21 -- test/docker/images/centos/.gitignore | 1 - test/docker/images/centos/Dockerfile | 2 - test/docker/images/centos/Test.proj | 32 --- test/docker/images/centos/build.cmd | 5 - test/docker/images/centos/build.sh | 12 -- test/docker/images/centos/clean.cmd | 4 - test/docker/images/centos/clean.sh | 4 - test/docker/images/centos/test-cli-fdd.sh | 6 - test/docker/images/centos/test-cli-scd.sh | 6 - test/docker/images/centos/test.cmd | 7 - test/docker/images/centos/test.sh | 7 - test/docker/images/debian/.gitignore | 1 - test/docker/images/debian/Dockerfile | 2 - test/docker/images/debian/Test.proj | 32 --- test/docker/images/debian/build.cmd | 5 - test/docker/images/debian/build.sh | 12 -- test/docker/images/debian/clean.cmd | 4 - test/docker/images/debian/clean.sh | 4 - test/docker/images/debian/test-cli-fdd.sh | 6 - test/docker/images/debian/test-cli-scd.sh | 6 - test/docker/images/debian/test.cmd | 7 - test/docker/images/debian/test.sh | 7 - test/docker/images/fedora/.gitignore | 1 - test/docker/images/fedora/Dockerfile | 2 - test/docker/images/fedora/Test.proj | 32 --- test/docker/images/fedora/build.cmd | 5 - test/docker/images/fedora/build.sh | 12 -- test/docker/images/fedora/clean.cmd | 4 - test/docker/images/fedora/clean.sh | 4 - test/docker/images/fedora/test-cli-fdd.sh | 6 - test/docker/images/fedora/test-cli-scd.sh | 6 - test/docker/images/fedora/test.cmd | 7 - test/docker/images/fedora/test.sh | 7 - test/docker/images/ubuntu/.gitignore | 1 - test/docker/images/ubuntu/Dockerfile | 2 - test/docker/images/ubuntu/Test.proj | 32 --- test/docker/images/ubuntu/build.cmd | 10 - test/docker/images/ubuntu/build.sh | 12 -- test/docker/images/ubuntu/clean.cmd | 4 - test/docker/images/ubuntu/clean.sh | 4 - .../images/ubuntu/test-cli-fdd.reference.txt | 187 ----------------- test/docker/images/ubuntu/test-cli-fdd.sh | 18 -- .../images/ubuntu/test-cli-scd.reference.txt | 194 ------------------ test/docker/images/ubuntu/test-cli-scd.sh | 18 -- test/docker/images/ubuntu/test.cmd | 14 -- test/docker/images/ubuntu/test.sh | 15 -- .../docker/testprojects/Directory.Build.props | 3 - test/docker/testprojects/Test.proj | 21 -- 61 files changed, 1 insertion(+), 935 deletions(-) delete mode 100644 test/Directory.Build.props delete mode 100644 test/NuGet.config delete mode 100644 test/Test.proj delete mode 100644 test/docker/.dockerignore delete mode 100644 test/docker/Directory.Build.props delete mode 100644 test/docker/README.md delete mode 100644 test/docker/Test.proj delete mode 100644 test/docker/_scripts/removeimage.cmd delete mode 100644 test/docker/_scripts/removeimage.sh delete mode 100644 test/docker/_scripts/runtest.cmd delete mode 100644 test/docker/_scripts/runtest.sh delete mode 100644 test/docker/images/Test.proj delete mode 100644 test/docker/images/centos/.gitignore delete mode 100644 test/docker/images/centos/Dockerfile delete mode 100644 test/docker/images/centos/Test.proj delete mode 100644 test/docker/images/centos/build.cmd delete mode 100644 test/docker/images/centos/build.sh delete mode 100644 test/docker/images/centos/clean.cmd delete mode 100644 test/docker/images/centos/clean.sh delete mode 100644 test/docker/images/centos/test-cli-fdd.sh delete mode 100644 test/docker/images/centos/test-cli-scd.sh delete mode 100644 test/docker/images/centos/test.cmd delete mode 100644 test/docker/images/centos/test.sh delete mode 100644 test/docker/images/debian/.gitignore delete mode 100644 test/docker/images/debian/Dockerfile delete mode 100644 test/docker/images/debian/Test.proj delete mode 100644 test/docker/images/debian/build.cmd delete mode 100644 test/docker/images/debian/build.sh delete mode 100644 test/docker/images/debian/clean.cmd delete mode 100644 test/docker/images/debian/clean.sh delete mode 100644 test/docker/images/debian/test-cli-fdd.sh delete mode 100644 test/docker/images/debian/test-cli-scd.sh delete mode 100644 test/docker/images/debian/test.cmd delete mode 100644 test/docker/images/debian/test.sh delete mode 100644 test/docker/images/fedora/.gitignore delete mode 100644 test/docker/images/fedora/Dockerfile delete mode 100644 test/docker/images/fedora/Test.proj delete mode 100644 test/docker/images/fedora/build.cmd delete mode 100644 test/docker/images/fedora/build.sh delete mode 100644 test/docker/images/fedora/clean.cmd delete mode 100644 test/docker/images/fedora/clean.sh delete mode 100644 test/docker/images/fedora/test-cli-fdd.sh delete mode 100644 test/docker/images/fedora/test-cli-scd.sh delete mode 100644 test/docker/images/fedora/test.cmd delete mode 100644 test/docker/images/fedora/test.sh delete mode 100644 test/docker/images/ubuntu/.gitignore delete mode 100644 test/docker/images/ubuntu/Dockerfile delete mode 100644 test/docker/images/ubuntu/Test.proj delete mode 100644 test/docker/images/ubuntu/build.cmd delete mode 100644 test/docker/images/ubuntu/build.sh delete mode 100644 test/docker/images/ubuntu/clean.cmd delete mode 100644 test/docker/images/ubuntu/clean.sh delete mode 100644 test/docker/images/ubuntu/test-cli-fdd.reference.txt delete mode 100644 test/docker/images/ubuntu/test-cli-fdd.sh delete mode 100644 test/docker/images/ubuntu/test-cli-scd.reference.txt delete mode 100644 test/docker/images/ubuntu/test-cli-scd.sh delete mode 100644 test/docker/images/ubuntu/test.cmd delete mode 100644 test/docker/images/ubuntu/test.sh delete mode 100644 test/docker/testprojects/Directory.Build.props delete mode 100644 test/docker/testprojects/Test.proj diff --git a/.travis.yml b/.travis.yml index 2e0c050a..7c832881 100644 --- a/.travis.yml +++ b/.travis.yml @@ -35,7 +35,7 @@ script: - dotnet rpm -c Release -r opensuse.42.3-x64 -f netcoreapp2.1 - cp bin/Release/netcoreapp2.1/opensuse.42.3-x64/cliscd.1.0.0.opensuse.42.3-x64.rpm opensuse.42.3-x64/ - - sudo docker build -t opensuse.42.3-x64 opensuse.42.3-x64 + - sudo docker build -t clisc:opensuse.42.3-x64 opensuse.42.3-x64 - sudo docker run clisc:opensuse.42.3-x64 - dotnet rpm -c Release -r ol.7-x64 -f netcoreapp2.1 diff --git a/test/Directory.Build.props b/test/Directory.Build.props deleted file mode 100644 index a88b8587..00000000 --- a/test/Directory.Build.props +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/test/NuGet.config b/test/NuGet.config deleted file mode 100644 index 4ee39f12..00000000 --- a/test/NuGet.config +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/test/Test.proj b/test/Test.proj deleted file mode 100644 index cfd36cb9..00000000 --- a/test/Test.proj +++ /dev/null @@ -1,21 +0,0 @@ - - - None - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/docker/.dockerignore b/test/docker/.dockerignore deleted file mode 100644 index 6975847e..00000000 --- a/test/docker/.dockerignore +++ /dev/null @@ -1,10 +0,0 @@ -node_modules -npm-debug.log -Dockerfile* -docker-compose* -.dockerignore -.git -.gitignore -README.md -LICENSE -.vscode \ No newline at end of file diff --git a/test/docker/Directory.Build.props b/test/docker/Directory.Build.props deleted file mode 100644 index a88b8587..00000000 --- a/test/docker/Directory.Build.props +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/test/docker/README.md b/test/docker/README.md deleted file mode 100644 index f73f6223..00000000 --- a/test/docker/README.md +++ /dev/null @@ -1 +0,0 @@ -This directory contains docker-based test projectsand verification scripts executed against various versions of Linux. \ No newline at end of file diff --git a/test/docker/Test.proj b/test/docker/Test.proj deleted file mode 100644 index fcc6472b..00000000 --- a/test/docker/Test.proj +++ /dev/null @@ -1,21 +0,0 @@ - - - None - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/docker/_scripts/removeimage.cmd b/test/docker/_scripts/removeimage.cmd deleted file mode 100644 index 0a904547..00000000 --- a/test/docker/_scripts/removeimage.cmd +++ /dev/null @@ -1,4 +0,0 @@ -set _IMAGE_ID= -for /f %%i in ('docker images %IMAGE_NAME% -q') do set _IMAGE_ID=%%i -if "%_IMAGE_ID%"=="" exit /b -docker rmi -f %IMAGE_NAME%:latest \ No newline at end of file diff --git a/test/docker/_scripts/removeimage.sh b/test/docker/_scripts/removeimage.sh deleted file mode 100644 index 0b204061..00000000 --- a/test/docker/_scripts/removeimage.sh +++ /dev/null @@ -1,3 +0,0 @@ -if [ ! -z `docker images "$IMAGE_NAME" -q` ]; then - docker rmi -f $IMAGE_NAME:latest -fi \ No newline at end of file diff --git a/test/docker/_scripts/runtest.cmd b/test/docker/_scripts/runtest.cmd deleted file mode 100644 index 49800eac..00000000 --- a/test/docker/_scripts/runtest.cmd +++ /dev/null @@ -1,26 +0,0 @@ -rem @echo off - -set _IMAGENAME=%1 -set _TESTNAME=%2 -set _PACKAGENAME=%3 - - -echo Running %_TESTNAME% -set _OUTFILE=%temp%\tests-%_TESTNAME%.output.txt -docker run -v %_MOUNTPATH%:/tests --rm %_IMAGENAME%:latest bash -c "/tests/%_TESTNAME%.sh %_PACKAGENAME%" > %_OUTFILE% - -IF EXIST %_MOUNTPATH%\%_TESTNAME%.reference.txt ( - comp /M %_MOUNTPATH%\%_TESTNAME%.reference.txt %_OUTFILE% > NUL - if errorlevel 1 ( - type %_OUTFILE% - set _RESULT=1 - ) else ( - echo OK - set _RESULT=0 - ) -) ELSE ( - set _RESULT=0 - copy /y %_OUTFILE% %_MOUNTPATH%\%_TESTNAME%.reference.txt -) -del %_OUTFILE% -exit /b %_RESULT% \ No newline at end of file diff --git a/test/docker/_scripts/runtest.sh b/test/docker/_scripts/runtest.sh deleted file mode 100644 index 6592f315..00000000 --- a/test/docker/_scripts/runtest.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -echo Running $_TESTNAME -_OUTFILE=$(mktemp) -docker run -v $_MOUNTPATH:/tests -e AZBRIDGE_TEST_CXNSTRING="$_CXNSTRING" --rm $IMAGE_NAME:latest bash /tests/$_TESTNAME.sh > $_OUTFILE -if [ -f $_MOUNTPATH/$_TESTNAME.reference.txt ]; then - diff -w $_MOUNTPATH/$_TESTNAME.reference.txt $_OUTFILE > /dev/null 2>&1 - _RESULT=$? - if [ $_RESULT -eq 0 ]; then - echo OK - else - diff -w $_MOUNTPATH/$_TESTNAME.reference.txt $_OUTFILE - fi -else - cp $_OUTFILE $_MOUNTPATH/$_TESTNAME.reference.txt > /dev/null 2>&1 - _RESULT=0 -fi -rm $_OUTFILE -echo $_TESTNAME done. diff --git a/test/docker/images/Test.proj b/test/docker/images/Test.proj deleted file mode 100644 index bc09b805..00000000 --- a/test/docker/images/Test.proj +++ /dev/null @@ -1,21 +0,0 @@ - - - None - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/docker/images/centos/.gitignore b/test/docker/images/centos/.gitignore deleted file mode 100644 index bea64c8e..00000000 --- a/test/docker/images/centos/.gitignore +++ /dev/null @@ -1 +0,0 @@ -packages/ \ No newline at end of file diff --git a/test/docker/images/centos/Dockerfile b/test/docker/images/centos/Dockerfile deleted file mode 100644 index 43117a83..00000000 --- a/test/docker/images/centos/Dockerfile +++ /dev/null @@ -1,2 +0,0 @@ -FROM centos AS build -USER root \ No newline at end of file diff --git a/test/docker/images/centos/Test.proj b/test/docker/images/centos/Test.proj deleted file mode 100644 index 3f9d837e..00000000 --- a/test/docker/images/centos/Test.proj +++ /dev/null @@ -1,32 +0,0 @@ - - - - None - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/docker/images/centos/build.cmd b/test/docker/images/centos/build.cmd deleted file mode 100644 index 89c23d0a..00000000 --- a/test/docker/images/centos/build.cmd +++ /dev/null @@ -1,5 +0,0 @@ -@echo off - -pushd "%~dp0" -docker build -f Dockerfile . --tag dotnet_packaging_centos_test -popd \ No newline at end of file diff --git a/test/docker/images/centos/build.sh b/test/docker/images/centos/build.sh deleted file mode 100644 index 83446707..00000000 --- a/test/docker/images/centos/build.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -pushd "${0%/*}" > /dev/null - -if [ ! -d "packages" ]; then mkdir packages; fi -cp "$1" packages/ > /dev/null -cp "$2" packages/ > /dev/null - -if [ -z `docker images "dotnet_packaging_centos_test" -q` ]; then - docker build -f Dockerfile . --tag dotnet_packaging_centos_test -fi -popd \ No newline at end of file diff --git a/test/docker/images/centos/clean.cmd b/test/docker/images/centos/clean.cmd deleted file mode 100644 index f15266f2..00000000 --- a/test/docker/images/centos/clean.cmd +++ /dev/null @@ -1,4 +0,0 @@ -@echo off - -set IMAGE_NAME=dotnet_packaging_centos_test -call ../../_scripts/removeimage.cmd \ No newline at end of file diff --git a/test/docker/images/centos/clean.sh b/test/docker/images/centos/clean.sh deleted file mode 100644 index b8b7a151..00000000 --- a/test/docker/images/centos/clean.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -IMAGE_NAME=dotnet_packaging_centos_test -source ../../_scripts/removeimage.sh \ No newline at end of file diff --git a/test/docker/images/centos/test-cli-fdd.sh b/test/docker/images/centos/test-cli-fdd.sh deleted file mode 100644 index 3cc6e5d7..00000000 --- a/test/docker/images/centos/test-cli-fdd.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -rm -f ~/testoutput.log - -echo "pong" > ~/testoutputres.log 2>&1 & -cat ~/testoutput.log diff --git a/test/docker/images/centos/test-cli-scd.sh b/test/docker/images/centos/test-cli-scd.sh deleted file mode 100644 index 3cc6e5d7..00000000 --- a/test/docker/images/centos/test-cli-scd.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -rm -f ~/testoutput.log - -echo "pong" > ~/testoutputres.log 2>&1 & -cat ~/testoutput.log diff --git a/test/docker/images/centos/test.cmd b/test/docker/images/centos/test.cmd deleted file mode 100644 index b47de99d..00000000 --- a/test/docker/images/centos/test.cmd +++ /dev/null @@ -1,7 +0,0 @@ -@echo off - -pushd "%~dp0" -SET IMAGE_NAME=dotnet_packaging_centos_test -call ..\..\_scripts\imagetests.cmd %* -popd -exit /b %ERRORLEVEL% diff --git a/test/docker/images/centos/test.sh b/test/docker/images/centos/test.sh deleted file mode 100644 index de2ae335..00000000 --- a/test/docker/images/centos/test.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -pushd "${0%/*}" > /dev/null - -IMAGE_NAME=dotnet_packaging_centos_test -source ../../_scripts/imagetests.sh -popd -exit $_RESULT \ No newline at end of file diff --git a/test/docker/images/debian/.gitignore b/test/docker/images/debian/.gitignore deleted file mode 100644 index bea64c8e..00000000 --- a/test/docker/images/debian/.gitignore +++ /dev/null @@ -1 +0,0 @@ -packages/ \ No newline at end of file diff --git a/test/docker/images/debian/Dockerfile b/test/docker/images/debian/Dockerfile deleted file mode 100644 index 2cef9f71..00000000 --- a/test/docker/images/debian/Dockerfile +++ /dev/null @@ -1,2 +0,0 @@ -FROM debian:jessie AS build -USER root \ No newline at end of file diff --git a/test/docker/images/debian/Test.proj b/test/docker/images/debian/Test.proj deleted file mode 100644 index 7fccc046..00000000 --- a/test/docker/images/debian/Test.proj +++ /dev/null @@ -1,32 +0,0 @@ - - - - None - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/docker/images/debian/build.cmd b/test/docker/images/debian/build.cmd deleted file mode 100644 index bf12b43a..00000000 --- a/test/docker/images/debian/build.cmd +++ /dev/null @@ -1,5 +0,0 @@ -rem @echo off - -pushd "%~dp0" -docker build -f Dockerfile . --tag dotnet_packaging_debian8_test -popd \ No newline at end of file diff --git a/test/docker/images/debian/build.sh b/test/docker/images/debian/build.sh deleted file mode 100644 index 6ac2fd73..00000000 --- a/test/docker/images/debian/build.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -pushd "${0%/*}" > /dev/null - -if [ ! -d "packages" ]; then mkdir packages; fi -cp "$1" packages/ > /dev/null -cp "$2" packages/ > /dev/null - -if [ -z `docker images "dotnet_packaging_debian8_test" -q` ]; then - docker build -f Dockerfile . --tag dotnet_packaging_debian8_test -fi -popd \ No newline at end of file diff --git a/test/docker/images/debian/clean.cmd b/test/docker/images/debian/clean.cmd deleted file mode 100644 index b69effc7..00000000 --- a/test/docker/images/debian/clean.cmd +++ /dev/null @@ -1,4 +0,0 @@ -@echo off - -set IMAGE_NAME=dotnet_packaging_debian8_test -call ..\..\_scripts\removeimage.cmd \ No newline at end of file diff --git a/test/docker/images/debian/clean.sh b/test/docker/images/debian/clean.sh deleted file mode 100644 index 15841ee0..00000000 --- a/test/docker/images/debian/clean.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -IMAGE_NAME=dotnet_packaging_debian8_test -source ../../_scripts/removeimage.sh \ No newline at end of file diff --git a/test/docker/images/debian/test-cli-fdd.sh b/test/docker/images/debian/test-cli-fdd.sh deleted file mode 100644 index 5a9c98b6..00000000 --- a/test/docker/images/debian/test-cli-fdd.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -rm -f ~/testoutput.log - -echo "pong" > ~/testoutput.log 2>&1 & -cat ~/testoutput.log diff --git a/test/docker/images/debian/test-cli-scd.sh b/test/docker/images/debian/test-cli-scd.sh deleted file mode 100644 index 3cc6e5d7..00000000 --- a/test/docker/images/debian/test-cli-scd.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -rm -f ~/testoutput.log - -echo "pong" > ~/testoutputres.log 2>&1 & -cat ~/testoutput.log diff --git a/test/docker/images/debian/test.cmd b/test/docker/images/debian/test.cmd deleted file mode 100644 index 6459daab..00000000 --- a/test/docker/images/debian/test.cmd +++ /dev/null @@ -1,7 +0,0 @@ -@echo off - -pushd "%~dp0" -SET IMAGE_NAME=dotnet_packaging_debian8_test -call ..\..\_scripts\imagetests.cmd %* -popd -exit /b %ERRORLEVEL% diff --git a/test/docker/images/debian/test.sh b/test/docker/images/debian/test.sh deleted file mode 100644 index 282d1f6a..00000000 --- a/test/docker/images/debian/test.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -pushd "${0%/*}" > /dev/null - -IMAGE_NAME=dotnet_packaging_debian8_test -source ../../_scripts/imagetests.sh -popd -exit $_RESULT \ No newline at end of file diff --git a/test/docker/images/fedora/.gitignore b/test/docker/images/fedora/.gitignore deleted file mode 100644 index bea64c8e..00000000 --- a/test/docker/images/fedora/.gitignore +++ /dev/null @@ -1 +0,0 @@ -packages/ \ No newline at end of file diff --git a/test/docker/images/fedora/Dockerfile b/test/docker/images/fedora/Dockerfile deleted file mode 100644 index 25f510ee..00000000 --- a/test/docker/images/fedora/Dockerfile +++ /dev/null @@ -1,2 +0,0 @@ -FROM fedora AS build -USER root diff --git a/test/docker/images/fedora/Test.proj b/test/docker/images/fedora/Test.proj deleted file mode 100644 index 43aba45c..00000000 --- a/test/docker/images/fedora/Test.proj +++ /dev/null @@ -1,32 +0,0 @@ - - - - None - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/docker/images/fedora/build.cmd b/test/docker/images/fedora/build.cmd deleted file mode 100644 index b59a1aba..00000000 --- a/test/docker/images/fedora/build.cmd +++ /dev/null @@ -1,5 +0,0 @@ -@echo off - -pushd "%~dp0" -docker build -f Dockerfile . --tag dotnet_packaging_fedora_test -popd \ No newline at end of file diff --git a/test/docker/images/fedora/build.sh b/test/docker/images/fedora/build.sh deleted file mode 100644 index 71d71133..00000000 --- a/test/docker/images/fedora/build.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -pushd "${0%/*}" > /dev/null - -if [ ! -d "packages" ]; then mkdir packages; fi -cp "$1" packages/ > /dev/null -cp "$2" packages/ > /dev/null - -if [ -z `docker images "dotnet_packaging_fedora_test" -q` ]; then - docker build -f Dockerfile . --tag dotnet_packaging_fedora_test -fi -popd \ No newline at end of file diff --git a/test/docker/images/fedora/clean.cmd b/test/docker/images/fedora/clean.cmd deleted file mode 100644 index 576cc820..00000000 --- a/test/docker/images/fedora/clean.cmd +++ /dev/null @@ -1,4 +0,0 @@ -@echo off - -set IMAGE_NAME=dotnet_packaging_fedora_test -call ..\..\_scripts\removeimage.cmd \ No newline at end of file diff --git a/test/docker/images/fedora/clean.sh b/test/docker/images/fedora/clean.sh deleted file mode 100644 index aa61b721..00000000 --- a/test/docker/images/fedora/clean.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -IMAGE_NAME=dotnet_packaging_fedora_test -source ../../_scripts/removeimage.sh \ No newline at end of file diff --git a/test/docker/images/fedora/test-cli-fdd.sh b/test/docker/images/fedora/test-cli-fdd.sh deleted file mode 100644 index 3cc6e5d7..00000000 --- a/test/docker/images/fedora/test-cli-fdd.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -rm -f ~/testoutput.log - -echo "pong" > ~/testoutputres.log 2>&1 & -cat ~/testoutput.log diff --git a/test/docker/images/fedora/test-cli-scd.sh b/test/docker/images/fedora/test-cli-scd.sh deleted file mode 100644 index 3cc6e5d7..00000000 --- a/test/docker/images/fedora/test-cli-scd.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -rm -f ~/testoutput.log - -echo "pong" > ~/testoutputres.log 2>&1 & -cat ~/testoutput.log diff --git a/test/docker/images/fedora/test.cmd b/test/docker/images/fedora/test.cmd deleted file mode 100644 index 8957283b..00000000 --- a/test/docker/images/fedora/test.cmd +++ /dev/null @@ -1,7 +0,0 @@ -@echo off - -pushd "%~dp0" -SET IMAGE_NAME=dotnet_packaging_fedora_test -call ..\..\_scripts\imagetests.cmd %* -popd -exit /b %ERRORLEVEL% diff --git a/test/docker/images/fedora/test.sh b/test/docker/images/fedora/test.sh deleted file mode 100644 index 04e9bdb9..00000000 --- a/test/docker/images/fedora/test.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -pushd "${0%/*}" > /dev/null - -IMAGE_NAME=dotnet_packaging_fedora_test -source ../../_scripts/imagetests.sh -popd -exit $_RESULT diff --git a/test/docker/images/ubuntu/.gitignore b/test/docker/images/ubuntu/.gitignore deleted file mode 100644 index bea64c8e..00000000 --- a/test/docker/images/ubuntu/.gitignore +++ /dev/null @@ -1 +0,0 @@ -packages/ \ No newline at end of file diff --git a/test/docker/images/ubuntu/Dockerfile b/test/docker/images/ubuntu/Dockerfile deleted file mode 100644 index e59f1356..00000000 --- a/test/docker/images/ubuntu/Dockerfile +++ /dev/null @@ -1,2 +0,0 @@ -FROM ubuntu:xenial AS build -USER root \ No newline at end of file diff --git a/test/docker/images/ubuntu/Test.proj b/test/docker/images/ubuntu/Test.proj deleted file mode 100644 index e9b409f7..00000000 --- a/test/docker/images/ubuntu/Test.proj +++ /dev/null @@ -1,32 +0,0 @@ - - - - None - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/docker/images/ubuntu/build.cmd b/test/docker/images/ubuntu/build.cmd deleted file mode 100644 index 37d5d77a..00000000 --- a/test/docker/images/ubuntu/build.cmd +++ /dev/null @@ -1,10 +0,0 @@ -@echo off - -pushd "%~dp0" - -if not exist packages mkdir packages -copy /y "%1" packages > NUL -copy /y "%2" packages > NUL -docker build -f Dockerfile . --tag dotnet_packaging_ubuntu1604_test - -popd \ No newline at end of file diff --git a/test/docker/images/ubuntu/build.sh b/test/docker/images/ubuntu/build.sh deleted file mode 100644 index 0631062f..00000000 --- a/test/docker/images/ubuntu/build.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -pushd "${0%/*}" > /dev/null - -if [ ! -d "packages" ]; then mkdir packages; fi -cp "$1" packages/ > /dev/null -cp "$2" packages/ > /dev/null - -if [ -z `docker images "dotnet_packaging_ubuntu1604_test" -q` ]; then - docker build -f Dockerfile . --tag dotnet_packaging_ubuntu1604_test -fi -popd \ No newline at end of file diff --git a/test/docker/images/ubuntu/clean.cmd b/test/docker/images/ubuntu/clean.cmd deleted file mode 100644 index 5e3b0a5e..00000000 --- a/test/docker/images/ubuntu/clean.cmd +++ /dev/null @@ -1,4 +0,0 @@ -@echo off - -set IMAGE_NAME=dotnet_packaging_ubuntu1604_test -call ..\..\_scripts\removeimage.cmd \ No newline at end of file diff --git a/test/docker/images/ubuntu/clean.sh b/test/docker/images/ubuntu/clean.sh deleted file mode 100644 index 626c7345..00000000 --- a/test/docker/images/ubuntu/clean.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -IMAGE_NAME=dotnet_packaging_ubuntu1604_test -source ../../_scripts/removeimage.sh \ No newline at end of file diff --git a/test/docker/images/ubuntu/test-cli-fdd.reference.txt b/test/docker/images/ubuntu/test-cli-fdd.reference.txt deleted file mode 100644 index b5557d1a..00000000 --- a/test/docker/images/ubuntu/test-cli-fdd.reference.txt +++ /dev/null @@ -1,187 +0,0 @@ -installing /tests/packages/clifdd.1.0.0.ubuntu.16.04-x64.deb -Microsoft.CSharp.dll -Microsoft.VisualBasic.dll -Microsoft.Win32.Primitives.dll -Microsoft.Win32.Registry.dll -SOS.NETCore.dll -System.AppContext.dll -System.Buffers.dll -System.Collections.Concurrent.dll -System.Collections.Immutable.dll -System.Collections.NonGeneric.dll -System.Collections.Specialized.dll -System.Collections.dll -System.ComponentModel.Annotations.dll -System.ComponentModel.DataAnnotations.dll -System.ComponentModel.EventBasedAsync.dll -System.ComponentModel.Primitives.dll -System.ComponentModel.TypeConverter.dll -System.ComponentModel.dll -System.Configuration.dll -System.Console.dll -System.Core.dll -System.Data.Common.dll -System.Data.dll -System.Diagnostics.Contracts.dll -System.Diagnostics.Debug.dll -System.Diagnostics.DiagnosticSource.dll -System.Diagnostics.FileVersionInfo.dll -System.Diagnostics.Process.dll -System.Diagnostics.StackTrace.dll -System.Diagnostics.TextWriterTraceListener.dll -System.Diagnostics.Tools.dll -System.Diagnostics.TraceSource.dll -System.Diagnostics.Tracing.dll -System.Drawing.Primitives.dll -System.Drawing.dll -System.Dynamic.Runtime.dll -System.Globalization.Calendars.dll -System.Globalization.Extensions.dll -System.Globalization.Native.so -System.Globalization.dll -System.IO.Compression.Brotli.dll -System.IO.Compression.FileSystem.dll -System.IO.Compression.Native.a -System.IO.Compression.Native.so -System.IO.Compression.ZipFile.dll -System.IO.Compression.dll -System.IO.FileSystem.AccessControl.dll -System.IO.FileSystem.DriveInfo.dll -System.IO.FileSystem.Primitives.dll -System.IO.FileSystem.Watcher.dll -System.IO.FileSystem.dll -System.IO.IsolatedStorage.dll -System.IO.MemoryMappedFiles.dll -System.IO.Pipes.AccessControl.dll -System.IO.Pipes.dll -System.IO.UnmanagedMemoryStream.dll -System.IO.dll -System.Linq.Expressions.dll -System.Linq.Parallel.dll -System.Linq.Queryable.dll -System.Linq.dll -System.Memory.dll -System.Native.a -System.Native.so -System.Net.Http.Native.a -System.Net.Http.Native.so -System.Net.Http.dll -System.Net.HttpListener.dll -System.Net.Mail.dll -System.Net.NameResolution.dll -System.Net.NetworkInformation.dll -System.Net.Ping.dll -System.Net.Primitives.dll -System.Net.Requests.dll -System.Net.Security.Native.a -System.Net.Security.Native.so -System.Net.Security.dll -System.Net.ServicePoint.dll -System.Net.Sockets.dll -System.Net.WebClient.dll -System.Net.WebHeaderCollection.dll -System.Net.WebProxy.dll -System.Net.WebSockets.Client.dll -System.Net.WebSockets.dll -System.Net.dll -System.Numerics.Vectors.dll -System.Numerics.dll -System.ObjectModel.dll -System.Private.CoreLib.dll -System.Private.DataContractSerialization.dll -System.Private.Uri.dll -System.Private.Xml.Linq.dll -System.Private.Xml.dll -System.Reflection.DispatchProxy.dll -System.Reflection.Emit.ILGeneration.dll -System.Reflection.Emit.Lightweight.dll -System.Reflection.Emit.dll -System.Reflection.Extensions.dll -System.Reflection.Metadata.dll -System.Reflection.Primitives.dll -System.Reflection.TypeExtensions.dll -System.Reflection.dll -System.Resources.Reader.dll -System.Resources.ResourceManager.dll -System.Resources.Writer.dll -System.Runtime.CompilerServices.VisualC.dll -System.Runtime.Extensions.dll -System.Runtime.Handles.dll -System.Runtime.InteropServices.RuntimeInformation.dll -System.Runtime.InteropServices.WindowsRuntime.dll -System.Runtime.InteropServices.dll -System.Runtime.Loader.dll -System.Runtime.Numerics.dll -System.Runtime.Serialization.Formatters.dll -System.Runtime.Serialization.Json.dll -System.Runtime.Serialization.Primitives.dll -System.Runtime.Serialization.Xml.dll -System.Runtime.Serialization.dll -System.Runtime.dll -System.Security.AccessControl.dll -System.Security.Claims.dll -System.Security.Cryptography.Algorithms.dll -System.Security.Cryptography.Cng.dll -System.Security.Cryptography.Csp.dll -System.Security.Cryptography.Encoding.dll -System.Security.Cryptography.Native.OpenSsl.a -System.Security.Cryptography.Native.OpenSsl.so -System.Security.Cryptography.OpenSsl.dll -System.Security.Cryptography.Primitives.dll -System.Security.Cryptography.X509Certificates.dll -System.Security.Principal.Windows.dll -System.Security.Principal.dll -System.Security.SecureString.dll -System.Security.dll -System.ServiceModel.Web.dll -System.ServiceProcess.dll -System.Text.Encoding.Extensions.dll -System.Text.Encoding.dll -System.Text.RegularExpressions.dll -System.Threading.Overlapped.dll -System.Threading.Tasks.Dataflow.dll -System.Threading.Tasks.Extensions.dll -System.Threading.Tasks.Parallel.dll -System.Threading.Tasks.dll -System.Threading.Thread.dll -System.Threading.ThreadPool.dll -System.Threading.Timer.dll -System.Threading.dll -System.Transactions.Local.dll -System.Transactions.dll -System.ValueTuple.dll -System.Web.HttpUtility.dll -System.Web.dll -System.Windows.dll -System.Xml.Linq.dll -System.Xml.ReaderWriter.dll -System.Xml.Serialization.dll -System.Xml.XDocument.dll -System.Xml.XPath.XDocument.dll -System.Xml.XPath.dll -System.Xml.XmlDocument.dll -System.Xml.XmlSerializer.dll -System.Xml.dll -System.dll -WindowsBase.dll -clifdd -clifdd.deps.json -clifdd.dll -clifdd.pdb -clifdd.runtimeconfig.json -createdump -libclrjit.so -libcoreclr.so -libcoreclrtraceptprovider.so -libdbgshim.so -libhostfxr.so -libhostpolicy.so -libmscordaccore.so -libmscordbi.so -libsos.so -libsosplugin.so -mscorlib.dll -netstandard.dll -sosdocsunix.txt -ls: cannot access '/etc/clifdd': No such file or directory -ls: cannot access '/root/.clifdd': No such file or directory diff --git a/test/docker/images/ubuntu/test-cli-fdd.sh b/test/docker/images/ubuntu/test-cli-fdd.sh deleted file mode 100644 index 66647d9f..00000000 --- a/test/docker/images/ubuntu/test-cli-fdd.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash - -# this script assumes that we already run as root -# we're installing with apt so that we get all the dependencies installed, too - -rm -f ~/testoutput.log - -echo installing /tests/packages/$1 > ~/testoutput.log 2>&1 - -apt-get update -q -y > /dev/nul -apt-get install -q -y apt-utils > /dev/nul -apt-get install -q -y /tests/packages/$1 > /dev/nul - -ls -a /usr/share/clifdd >> ~/testoutput.log 2>&1 -ls -a /etc/clifdd >> ~/testoutput.log 2>&1 -ls -a ~/.clifdd >> ~/testoutput.log 2>&1 - -cat ~/testoutput.log \ No newline at end of file diff --git a/test/docker/images/ubuntu/test-cli-scd.reference.txt b/test/docker/images/ubuntu/test-cli-scd.reference.txt deleted file mode 100644 index af0b41e3..00000000 --- a/test/docker/images/ubuntu/test-cli-scd.reference.txt +++ /dev/null @@ -1,194 +0,0 @@ -installing /tests/packages/cliscd.1.0.0.ubuntu.16.04-x64.deb -Microsoft.Build.Framework.dll -Microsoft.Build.Utilities.Core.dll -Microsoft.CSharp.dll -Microsoft.VisualBasic.dll -Microsoft.Win32.Primitives.dll -Microsoft.Win32.Registry.dll -Packaging.Targets.dll -SOS.NETCore.dll -SharpZipLib.NETStandard.dll -System.AppContext.dll -System.Buffers.dll -System.Collections.Concurrent.dll -System.Collections.Immutable.dll -System.Collections.NonGeneric.dll -System.Collections.Specialized.dll -System.Collections.dll -System.ComponentModel.Annotations.dll -System.ComponentModel.DataAnnotations.dll -System.ComponentModel.EventBasedAsync.dll -System.ComponentModel.Primitives.dll -System.ComponentModel.TypeConverter.dll -System.ComponentModel.dll -System.Configuration.dll -System.Console.dll -System.Core.dll -System.Data.Common.dll -System.Data.dll -System.Diagnostics.Contracts.dll -System.Diagnostics.Debug.dll -System.Diagnostics.DiagnosticSource.dll -System.Diagnostics.FileVersionInfo.dll -System.Diagnostics.Process.dll -System.Diagnostics.StackTrace.dll -System.Diagnostics.TextWriterTraceListener.dll -System.Diagnostics.Tools.dll -System.Diagnostics.TraceSource.dll -System.Diagnostics.Tracing.dll -System.Drawing.Primitives.dll -System.Drawing.dll -System.Dynamic.Runtime.dll -System.Globalization.Calendars.dll -System.Globalization.Extensions.dll -System.Globalization.Native.so -System.Globalization.dll -System.IO.Compression.Brotli.dll -System.IO.Compression.FileSystem.dll -System.IO.Compression.Native.a -System.IO.Compression.Native.so -System.IO.Compression.ZipFile.dll -System.IO.Compression.dll -System.IO.FileSystem.AccessControl.dll -System.IO.FileSystem.DriveInfo.dll -System.IO.FileSystem.Primitives.dll -System.IO.FileSystem.Watcher.dll -System.IO.FileSystem.dll -System.IO.IsolatedStorage.dll -System.IO.MemoryMappedFiles.dll -System.IO.Pipes.AccessControl.dll -System.IO.Pipes.dll -System.IO.UnmanagedMemoryStream.dll -System.IO.dll -System.Linq.Expressions.dll -System.Linq.Parallel.dll -System.Linq.Queryable.dll -System.Linq.dll -System.Memory.dll -System.Native.a -System.Native.so -System.Net.Http.Native.a -System.Net.Http.Native.so -System.Net.Http.dll -System.Net.HttpListener.dll -System.Net.Mail.dll -System.Net.NameResolution.dll -System.Net.NetworkInformation.dll -System.Net.Ping.dll -System.Net.Primitives.dll -System.Net.Requests.dll -System.Net.Security.Native.a -System.Net.Security.Native.so -System.Net.Security.dll -System.Net.ServicePoint.dll -System.Net.Sockets.dll -System.Net.WebClient.dll -System.Net.WebHeaderCollection.dll -System.Net.WebProxy.dll -System.Net.WebSockets.Client.dll -System.Net.WebSockets.dll -System.Net.dll -System.Numerics.Vectors.dll -System.Numerics.dll -System.ObjectModel.dll -System.Private.CoreLib.dll -System.Private.CoreLib.ni.dll -System.Private.DataContractSerialization.dll -System.Private.Uri.dll -System.Private.Xml.Linq.dll -System.Private.Xml.dll -System.Reflection.DispatchProxy.dll -System.Reflection.Emit.ILGeneration.dll -System.Reflection.Emit.Lightweight.dll -System.Reflection.Emit.dll -System.Reflection.Extensions.dll -System.Reflection.Metadata.dll -System.Reflection.Primitives.dll -System.Reflection.TypeExtensions.dll -System.Reflection.dll -System.Resources.Reader.dll -System.Resources.ResourceManager.dll -System.Resources.Writer.dll -System.Runtime.CompilerServices.VisualC.dll -System.Runtime.Extensions.dll -System.Runtime.Handles.dll -System.Runtime.InteropServices.RuntimeInformation.dll -System.Runtime.InteropServices.WindowsRuntime.dll -System.Runtime.InteropServices.dll -System.Runtime.Loader.dll -System.Runtime.Numerics.dll -System.Runtime.Serialization.Formatters.dll -System.Runtime.Serialization.Json.dll -System.Runtime.Serialization.Primitives.dll -System.Runtime.Serialization.Xml.dll -System.Runtime.Serialization.dll -System.Runtime.dll -System.Security.AccessControl.dll -System.Security.Claims.dll -System.Security.Cryptography.Algorithms.dll -System.Security.Cryptography.Cng.dll -System.Security.Cryptography.Csp.dll -System.Security.Cryptography.Encoding.dll -System.Security.Cryptography.Native.OpenSsl.a -System.Security.Cryptography.Native.OpenSsl.so -System.Security.Cryptography.OpenSsl.dll -System.Security.Cryptography.Primitives.dll -System.Security.Cryptography.X509Certificates.dll -System.Security.Principal.Windows.dll -System.Security.Principal.dll -System.Security.SecureString.dll -System.Security.dll -System.ServiceModel.Web.dll -System.ServiceModel.dll -System.ServiceProcess.dll -System.Text.Encoding.Extensions.dll -System.Text.Encoding.dll -System.Text.RegularExpressions.dll -System.Threading.Overlapped.dll -System.Threading.Tasks.Dataflow.dll -System.Threading.Tasks.Extensions.dll -System.Threading.Tasks.Parallel.dll -System.Threading.Tasks.dll -System.Threading.Thread.dll -System.Threading.ThreadPool.dll -System.Threading.Timer.dll -System.Threading.dll -System.Transactions.Local.dll -System.Transactions.dll -System.ValueTuple.dll -System.Web.HttpUtility.dll -System.Web.dll -System.Windows.dll -System.Xml.Linq.dll -System.Xml.ReaderWriter.dll -System.Xml.Serialization.dll -System.Xml.XDocument.dll -System.Xml.XPath.XDocument.dll -System.Xml.XPath.dll -System.Xml.XmlDocument.dll -System.Xml.XmlSerializer.dll -System.Xml.dll -System.dll -WindowsBase.dll -cliscd -cliscd.deps.json -cliscd.dll -cliscd.pdb -cliscd.runtimeconfig.json -createdump -libclrjit.so -libcoreclr.so -libcoreclrtraceptprovider.so -libdbgshim.so -libhostfxr.so -libhostpolicy.so -libmscordaccore.so -libmscordbi.so -libsos.so -libsosplugin.so -mscorlib.dll -mscorlib.ni.dll -netstandard.dll -sosdocsunix.txt -ls: cannot access '/etc/cliscd': No such file or directory -ls: cannot access '/root/.cliscd': No such file or directory diff --git a/test/docker/images/ubuntu/test-cli-scd.sh b/test/docker/images/ubuntu/test-cli-scd.sh deleted file mode 100644 index decc7f6b..00000000 --- a/test/docker/images/ubuntu/test-cli-scd.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash - -# this script assumes that we already run as root -# we're installing with apt so that we get all the dependencies installed, too - -rm -f ~/testoutput.log - -echo installing /tests/packages/$1 > ~/testoutput.log 2>&1 - -apt-get update -q -y > /dev/nul -apt-get install -q -y apt-utils > /dev/nul -apt-get install -q -y /tests/packages/$1 > /dev/nul - -ls -a /usr/share/cliscd >> ~/testoutput.log 2>&1 -ls -a /etc/cliscd >> ~/testoutput.log 2>&1 -ls -a ~/.cliscd >> ~/testoutput.log 2>&1 - -cat ~/testoutput.log \ No newline at end of file diff --git a/test/docker/images/ubuntu/test.cmd b/test/docker/images/ubuntu/test.cmd deleted file mode 100644 index f7ce6c6b..00000000 --- a/test/docker/images/ubuntu/test.cmd +++ /dev/null @@ -1,14 +0,0 @@ -rem @echo off - -pushd "%~dp0" -SET FDD_PACKAGE=%~n1%~x1 -SET SCD_PACKAGE=%~n2%~x2 -SET _IMAGENAME=dotnet_packaging_ubuntu1604_test -SET _MOUNTPATH=%cd% -call ..\..\_scripts\runtest.cmd %_IMAGENAME% test-cli-fdd %FDD_PACKAGE% -if ERRORLEVEL 1 goto end -call ..\..\_scripts\runtest.cmd %_IMAGENAME% test-cli-scd %SCD_PACKAGE% - -:end -popd -exit /b %ERRORLEVEL% diff --git a/test/docker/images/ubuntu/test.sh b/test/docker/images/ubuntu/test.sh deleted file mode 100644 index 9aad8cc4..00000000 --- a/test/docker/images/ubuntu/test.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash -pushd "${0%/*}" > /dev/null - -IMAGE_NAME=dotnet_packaging_ubuntu1604_test - -FDD_PACKAGE=${1##*/} -SCD_PACKAGE=${2##*/} -_IMAGENAME=dotnet_packaging_ubuntu1604_test -_MOUNTPATH=%cd% -call ..\..\_scripts\runtest.cmd %_IMAGENAME% test-cli-fdd %FDD_PACKAGE% -if ERRORLEVEL 1 goto end -call ..\..\_scripts\runtest.cmd %_IMAGENAME% test-cli-scd %SCD_PACKAGE% - -popd -exit $_RESULT diff --git a/test/docker/testprojects/Directory.Build.props b/test/docker/testprojects/Directory.Build.props deleted file mode 100644 index a88b8587..00000000 --- a/test/docker/testprojects/Directory.Build.props +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/test/docker/testprojects/Test.proj b/test/docker/testprojects/Test.proj deleted file mode 100644 index 4951a31e..00000000 --- a/test/docker/testprojects/Test.proj +++ /dev/null @@ -1,21 +0,0 @@ - - - None - - - - - - - - - - - - - - - - - - \ No newline at end of file From 76d933e4febc601d36cc3e6cf70b373549ec2103 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Fri, 31 Aug 2018 15:19:39 +0000 Subject: [PATCH 29/40] Don't run on OpenSUSE for nwo --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 7c832881..5564a94e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,7 +36,7 @@ script: - dotnet rpm -c Release -r opensuse.42.3-x64 -f netcoreapp2.1 - cp bin/Release/netcoreapp2.1/opensuse.42.3-x64/cliscd.1.0.0.opensuse.42.3-x64.rpm opensuse.42.3-x64/ - sudo docker build -t clisc:opensuse.42.3-x64 opensuse.42.3-x64 - - sudo docker run clisc:opensuse.42.3-x64 +# - sudo docker run clisc:opensuse.42.3-x64 - dotnet rpm -c Release -r ol.7-x64 -f netcoreapp2.1 - cp bin/Release/netcoreapp2.1/ol.7-x64/cliscd.1.0.0.ol.7-x64.rpm ol.7-x64 From 0bffc236eacea1fb559fd8b66c79ea187cd109e3 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Fri, 31 Aug 2018 15:20:43 +0000 Subject: [PATCH 30/40] fix typo --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 230efb27..249956c6 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -40,7 +40,7 @@ test_script: # Test on CentOS 7 - cmd: dotnet rpm -c Release -r centos.7-x64 -f netcoreapp2.1 - - cmd: copy bin\Release\netcoreapp2.1\centos.7-x64\cliscd.1.0.0.centos.7-x64.deb centos.7-x64\ + - cmd: copy bin\Release\netcoreapp2.1\centos.7-x64\cliscd.1.0.0.centos.7-x64.rpm centos.7-x64\ # - cmd: docker build -t clisc:centos.7-x64 centos.7-x64 # - cmd: docker run clisc:centos.7-x64 From c47ecd02f12eec03e5c4e85ebcb429b5220496ed Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Fri, 31 Aug 2018 18:58:35 +0200 Subject: [PATCH 31/40] Only mark files in "/usr/share/doc" as documentation files --- Packaging.Targets/Rpm/FileAnalyzer.cs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Packaging.Targets/Rpm/FileAnalyzer.cs b/Packaging.Targets/Rpm/FileAnalyzer.cs index e08ff5e2..70f5f039 100644 --- a/Packaging.Targets/Rpm/FileAnalyzer.cs +++ b/Packaging.Targets/Rpm/FileAnalyzer.cs @@ -43,9 +43,7 @@ public virtual RpmFileFlags DetermineFlags(ArchiveEntry entry) { return RpmFileFlags.None; } - else if (!entry.Mode.HasFlag(LinuxFileMode.S_IXGRP) - && !entry.Mode.HasFlag(LinuxFileMode.S_IXOTH) - && !entry.Mode.HasFlag(LinuxFileMode.S_IXUSR)) + else if (entry.TargetPath.StartsWith("/usr/share/doc")) { return RpmFileFlags.RPMFILE_DOC; } From 5e80a6fcc2ad01e2295befabf5bf0082ba5fb586 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Fri, 31 Aug 2018 17:23:31 +0000 Subject: [PATCH 32/40] Update Docker files with fixes for RPM packages --- .travis.yml | 6 +- demo/cliscd/centos.7-x64/reference.txt | 166 ++++++++++++++++++++++++ demo/cliscd/fedora.28-x64/reference.txt | 166 ++++++++++++++++++++++++ demo/cliscd/ol.7-x64/reference.txt | 166 ++++++++++++++++++++++++ 4 files changed, 501 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5564a94e..1b17ec70 100644 --- a/.travis.yml +++ b/.travis.yml @@ -41,16 +41,16 @@ script: - dotnet rpm -c Release -r ol.7-x64 -f netcoreapp2.1 - cp bin/Release/netcoreapp2.1/ol.7-x64/cliscd.1.0.0.ol.7-x64.rpm ol.7-x64 - sudo docker build -t clisc:ol.7-x64 ol.7-x64 -# - sudo docker run clisc:ol.7-x64 + - sudo docker run clisc:ol.7-x64 - dotnet rpm -c Release -r rhel-x64 -f netcoreapp2.1 - dotnet rpm -c Release -r fedora.28-x64 -f netcoreapp2.1 - cp bin/Release/netcoreapp2.1/fedora.28-x64/cliscd.1.0.0.fedora.28-x64.rpm fedora.28-x64 - sudo docker build -t clisc:fedora.28-x64 fedora.28-x64 -# - sudo docker run clisc:fedora.28-x64 + - sudo docker run clisc:fedora.28-x64 - dotnet rpm -c Release -r centos.7-x64 -f netcoreapp2.1 - cp bin/Release/netcoreapp2.1/centos.7-x64/cliscd.1.0.0.centos.7-x64.rpm centos.7-x64 - sudo docker build -t clisc:centos.7-x64 centos.7-x64 -# - sudo docker run clisc:centos.7-x64 + - sudo docker run clisc:centos.7-x64 diff --git a/demo/cliscd/centos.7-x64/reference.txt b/demo/cliscd/centos.7-x64/reference.txt index fd87781a..fddf788e 100644 --- a/demo/cliscd/centos.7-x64/reference.txt +++ b/demo/cliscd/centos.7-x64/reference.txt @@ -1,12 +1,175 @@ . .. +Microsoft.CSharp.dll +Microsoft.VisualBasic.dll +Microsoft.Win32.Primitives.dll +Microsoft.Win32.Registry.dll +SOS.NETCore.dll +System.AppContext.dll +System.Buffers.dll +System.Collections.Concurrent.dll +System.Collections.Immutable.dll +System.Collections.NonGeneric.dll +System.Collections.Specialized.dll +System.Collections.dll +System.ComponentModel.Annotations.dll +System.ComponentModel.DataAnnotations.dll +System.ComponentModel.EventBasedAsync.dll +System.ComponentModel.Primitives.dll +System.ComponentModel.TypeConverter.dll +System.ComponentModel.dll +System.Configuration.dll +System.Console.dll +System.Core.dll +System.Data.Common.dll +System.Data.dll +System.Diagnostics.Contracts.dll +System.Diagnostics.Debug.dll +System.Diagnostics.DiagnosticSource.dll +System.Diagnostics.FileVersionInfo.dll +System.Diagnostics.Process.dll +System.Diagnostics.StackTrace.dll +System.Diagnostics.TextWriterTraceListener.dll +System.Diagnostics.Tools.dll +System.Diagnostics.TraceSource.dll +System.Diagnostics.Tracing.dll +System.Drawing.Primitives.dll +System.Drawing.dll +System.Dynamic.Runtime.dll +System.Globalization.Calendars.dll +System.Globalization.Extensions.dll System.Globalization.Native.so +System.Globalization.dll +System.IO.Compression.Brotli.dll +System.IO.Compression.FileSystem.dll +System.IO.Compression.Native.a System.IO.Compression.Native.so +System.IO.Compression.ZipFile.dll +System.IO.Compression.dll +System.IO.FileSystem.AccessControl.dll +System.IO.FileSystem.DriveInfo.dll +System.IO.FileSystem.Primitives.dll +System.IO.FileSystem.Watcher.dll +System.IO.FileSystem.dll +System.IO.IsolatedStorage.dll +System.IO.MemoryMappedFiles.dll +System.IO.Pipes.AccessControl.dll +System.IO.Pipes.dll +System.IO.UnmanagedMemoryStream.dll +System.IO.dll +System.Linq.Expressions.dll +System.Linq.Parallel.dll +System.Linq.Queryable.dll +System.Linq.dll +System.Memory.dll +System.Native.a System.Native.so +System.Net.Http.Native.a System.Net.Http.Native.so +System.Net.Http.dll +System.Net.HttpListener.dll +System.Net.Mail.dll +System.Net.NameResolution.dll +System.Net.NetworkInformation.dll +System.Net.Ping.dll +System.Net.Primitives.dll +System.Net.Requests.dll +System.Net.Security.Native.a System.Net.Security.Native.so +System.Net.Security.dll +System.Net.ServicePoint.dll +System.Net.Sockets.dll +System.Net.WebClient.dll +System.Net.WebHeaderCollection.dll +System.Net.WebProxy.dll +System.Net.WebSockets.Client.dll +System.Net.WebSockets.dll +System.Net.dll +System.Numerics.Vectors.dll +System.Numerics.dll +System.ObjectModel.dll +System.Private.CoreLib.dll +System.Private.DataContractSerialization.dll +System.Private.Uri.dll +System.Private.Xml.Linq.dll +System.Private.Xml.dll +System.Reflection.DispatchProxy.dll +System.Reflection.Emit.ILGeneration.dll +System.Reflection.Emit.Lightweight.dll +System.Reflection.Emit.dll +System.Reflection.Extensions.dll +System.Reflection.Metadata.dll +System.Reflection.Primitives.dll +System.Reflection.TypeExtensions.dll +System.Reflection.dll +System.Resources.Reader.dll +System.Resources.ResourceManager.dll +System.Resources.Writer.dll +System.Runtime.CompilerServices.VisualC.dll +System.Runtime.Extensions.dll +System.Runtime.Handles.dll +System.Runtime.InteropServices.RuntimeInformation.dll +System.Runtime.InteropServices.WindowsRuntime.dll +System.Runtime.InteropServices.dll +System.Runtime.Loader.dll +System.Runtime.Numerics.dll +System.Runtime.Serialization.Formatters.dll +System.Runtime.Serialization.Json.dll +System.Runtime.Serialization.Primitives.dll +System.Runtime.Serialization.Xml.dll +System.Runtime.Serialization.dll +System.Runtime.dll +System.Security.AccessControl.dll +System.Security.Claims.dll +System.Security.Cryptography.Algorithms.dll +System.Security.Cryptography.Cng.dll +System.Security.Cryptography.Csp.dll +System.Security.Cryptography.Encoding.dll +System.Security.Cryptography.Native.OpenSsl.a System.Security.Cryptography.Native.OpenSsl.so +System.Security.Cryptography.OpenSsl.dll +System.Security.Cryptography.Primitives.dll +System.Security.Cryptography.X509Certificates.dll +System.Security.Principal.Windows.dll +System.Security.Principal.dll +System.Security.SecureString.dll +System.Security.dll +System.ServiceModel.Web.dll +System.ServiceProcess.dll +System.Text.Encoding.Extensions.dll +System.Text.Encoding.dll +System.Text.RegularExpressions.dll +System.Threading.Overlapped.dll +System.Threading.Tasks.Dataflow.dll +System.Threading.Tasks.Extensions.dll +System.Threading.Tasks.Parallel.dll +System.Threading.Tasks.dll +System.Threading.Thread.dll +System.Threading.ThreadPool.dll +System.Threading.Timer.dll +System.Threading.dll +System.Transactions.Local.dll +System.Transactions.dll +System.ValueTuple.dll +System.Web.HttpUtility.dll +System.Web.dll +System.Windows.dll +System.Xml.Linq.dll +System.Xml.ReaderWriter.dll +System.Xml.Serialization.dll +System.Xml.XDocument.dll +System.Xml.XPath.XDocument.dll +System.Xml.XPath.dll +System.Xml.XmlDocument.dll +System.Xml.XmlSerializer.dll +System.Xml.dll +System.dll +WindowsBase.dll cliscd +cliscd.deps.json +cliscd.dll +cliscd.pdb +cliscd.runtimeconfig.json createdump libclrjit.so libcoreclr.so @@ -18,5 +181,8 @@ libmscordaccore.so libmscordbi.so libsos.so libsosplugin.so +mscorlib.dll +netstandard.dll +sosdocsunix.txt ls: cannot access /etc/cliscd: No such file or directory ls: cannot access /root/.cliscd: No such file or directory diff --git a/demo/cliscd/fedora.28-x64/reference.txt b/demo/cliscd/fedora.28-x64/reference.txt index b01569c7..83cb79c4 100644 --- a/demo/cliscd/fedora.28-x64/reference.txt +++ b/demo/cliscd/fedora.28-x64/reference.txt @@ -1,12 +1,175 @@ . .. +Microsoft.CSharp.dll +Microsoft.VisualBasic.dll +Microsoft.Win32.Primitives.dll +Microsoft.Win32.Registry.dll +SOS.NETCore.dll +System.AppContext.dll +System.Buffers.dll +System.Collections.Concurrent.dll +System.Collections.Immutable.dll +System.Collections.NonGeneric.dll +System.Collections.Specialized.dll +System.Collections.dll +System.ComponentModel.Annotations.dll +System.ComponentModel.DataAnnotations.dll +System.ComponentModel.EventBasedAsync.dll +System.ComponentModel.Primitives.dll +System.ComponentModel.TypeConverter.dll +System.ComponentModel.dll +System.Configuration.dll +System.Console.dll +System.Core.dll +System.Data.Common.dll +System.Data.dll +System.Diagnostics.Contracts.dll +System.Diagnostics.Debug.dll +System.Diagnostics.DiagnosticSource.dll +System.Diagnostics.FileVersionInfo.dll +System.Diagnostics.Process.dll +System.Diagnostics.StackTrace.dll +System.Diagnostics.TextWriterTraceListener.dll +System.Diagnostics.Tools.dll +System.Diagnostics.TraceSource.dll +System.Diagnostics.Tracing.dll +System.Drawing.Primitives.dll +System.Drawing.dll +System.Dynamic.Runtime.dll +System.Globalization.Calendars.dll +System.Globalization.Extensions.dll System.Globalization.Native.so +System.Globalization.dll +System.IO.Compression.Brotli.dll +System.IO.Compression.FileSystem.dll +System.IO.Compression.Native.a System.IO.Compression.Native.so +System.IO.Compression.ZipFile.dll +System.IO.Compression.dll +System.IO.FileSystem.AccessControl.dll +System.IO.FileSystem.DriveInfo.dll +System.IO.FileSystem.Primitives.dll +System.IO.FileSystem.Watcher.dll +System.IO.FileSystem.dll +System.IO.IsolatedStorage.dll +System.IO.MemoryMappedFiles.dll +System.IO.Pipes.AccessControl.dll +System.IO.Pipes.dll +System.IO.UnmanagedMemoryStream.dll +System.IO.dll +System.Linq.Expressions.dll +System.Linq.Parallel.dll +System.Linq.Queryable.dll +System.Linq.dll +System.Memory.dll +System.Native.a System.Native.so +System.Net.Http.Native.a System.Net.Http.Native.so +System.Net.Http.dll +System.Net.HttpListener.dll +System.Net.Mail.dll +System.Net.NameResolution.dll +System.Net.NetworkInformation.dll +System.Net.Ping.dll +System.Net.Primitives.dll +System.Net.Requests.dll +System.Net.Security.Native.a System.Net.Security.Native.so +System.Net.Security.dll +System.Net.ServicePoint.dll +System.Net.Sockets.dll +System.Net.WebClient.dll +System.Net.WebHeaderCollection.dll +System.Net.WebProxy.dll +System.Net.WebSockets.Client.dll +System.Net.WebSockets.dll +System.Net.dll +System.Numerics.Vectors.dll +System.Numerics.dll +System.ObjectModel.dll +System.Private.CoreLib.dll +System.Private.DataContractSerialization.dll +System.Private.Uri.dll +System.Private.Xml.Linq.dll +System.Private.Xml.dll +System.Reflection.DispatchProxy.dll +System.Reflection.Emit.ILGeneration.dll +System.Reflection.Emit.Lightweight.dll +System.Reflection.Emit.dll +System.Reflection.Extensions.dll +System.Reflection.Metadata.dll +System.Reflection.Primitives.dll +System.Reflection.TypeExtensions.dll +System.Reflection.dll +System.Resources.Reader.dll +System.Resources.ResourceManager.dll +System.Resources.Writer.dll +System.Runtime.CompilerServices.VisualC.dll +System.Runtime.Extensions.dll +System.Runtime.Handles.dll +System.Runtime.InteropServices.RuntimeInformation.dll +System.Runtime.InteropServices.WindowsRuntime.dll +System.Runtime.InteropServices.dll +System.Runtime.Loader.dll +System.Runtime.Numerics.dll +System.Runtime.Serialization.Formatters.dll +System.Runtime.Serialization.Json.dll +System.Runtime.Serialization.Primitives.dll +System.Runtime.Serialization.Xml.dll +System.Runtime.Serialization.dll +System.Runtime.dll +System.Security.AccessControl.dll +System.Security.Claims.dll +System.Security.Cryptography.Algorithms.dll +System.Security.Cryptography.Cng.dll +System.Security.Cryptography.Csp.dll +System.Security.Cryptography.Encoding.dll +System.Security.Cryptography.Native.OpenSsl.a System.Security.Cryptography.Native.OpenSsl.so +System.Security.Cryptography.OpenSsl.dll +System.Security.Cryptography.Primitives.dll +System.Security.Cryptography.X509Certificates.dll +System.Security.Principal.Windows.dll +System.Security.Principal.dll +System.Security.SecureString.dll +System.Security.dll +System.ServiceModel.Web.dll +System.ServiceProcess.dll +System.Text.Encoding.Extensions.dll +System.Text.Encoding.dll +System.Text.RegularExpressions.dll +System.Threading.Overlapped.dll +System.Threading.Tasks.Dataflow.dll +System.Threading.Tasks.Extensions.dll +System.Threading.Tasks.Parallel.dll +System.Threading.Tasks.dll +System.Threading.Thread.dll +System.Threading.ThreadPool.dll +System.Threading.Timer.dll +System.Threading.dll +System.Transactions.Local.dll +System.Transactions.dll +System.ValueTuple.dll +System.Web.HttpUtility.dll +System.Web.dll +System.Windows.dll +System.Xml.Linq.dll +System.Xml.ReaderWriter.dll +System.Xml.Serialization.dll +System.Xml.XDocument.dll +System.Xml.XPath.XDocument.dll +System.Xml.XPath.dll +System.Xml.XmlDocument.dll +System.Xml.XmlSerializer.dll +System.Xml.dll +System.dll +WindowsBase.dll cliscd +cliscd.deps.json +cliscd.dll +cliscd.pdb +cliscd.runtimeconfig.json createdump libclrjit.so libcoreclr.so @@ -18,5 +181,8 @@ libmscordaccore.so libmscordbi.so libsos.so libsosplugin.so +mscorlib.dll +netstandard.dll +sosdocsunix.txt ls: cannot access '/etc/cliscd': No such file or directory ls: cannot access '/root/.cliscd': No such file or directory diff --git a/demo/cliscd/ol.7-x64/reference.txt b/demo/cliscd/ol.7-x64/reference.txt index fd87781a..fddf788e 100644 --- a/demo/cliscd/ol.7-x64/reference.txt +++ b/demo/cliscd/ol.7-x64/reference.txt @@ -1,12 +1,175 @@ . .. +Microsoft.CSharp.dll +Microsoft.VisualBasic.dll +Microsoft.Win32.Primitives.dll +Microsoft.Win32.Registry.dll +SOS.NETCore.dll +System.AppContext.dll +System.Buffers.dll +System.Collections.Concurrent.dll +System.Collections.Immutable.dll +System.Collections.NonGeneric.dll +System.Collections.Specialized.dll +System.Collections.dll +System.ComponentModel.Annotations.dll +System.ComponentModel.DataAnnotations.dll +System.ComponentModel.EventBasedAsync.dll +System.ComponentModel.Primitives.dll +System.ComponentModel.TypeConverter.dll +System.ComponentModel.dll +System.Configuration.dll +System.Console.dll +System.Core.dll +System.Data.Common.dll +System.Data.dll +System.Diagnostics.Contracts.dll +System.Diagnostics.Debug.dll +System.Diagnostics.DiagnosticSource.dll +System.Diagnostics.FileVersionInfo.dll +System.Diagnostics.Process.dll +System.Diagnostics.StackTrace.dll +System.Diagnostics.TextWriterTraceListener.dll +System.Diagnostics.Tools.dll +System.Diagnostics.TraceSource.dll +System.Diagnostics.Tracing.dll +System.Drawing.Primitives.dll +System.Drawing.dll +System.Dynamic.Runtime.dll +System.Globalization.Calendars.dll +System.Globalization.Extensions.dll System.Globalization.Native.so +System.Globalization.dll +System.IO.Compression.Brotli.dll +System.IO.Compression.FileSystem.dll +System.IO.Compression.Native.a System.IO.Compression.Native.so +System.IO.Compression.ZipFile.dll +System.IO.Compression.dll +System.IO.FileSystem.AccessControl.dll +System.IO.FileSystem.DriveInfo.dll +System.IO.FileSystem.Primitives.dll +System.IO.FileSystem.Watcher.dll +System.IO.FileSystem.dll +System.IO.IsolatedStorage.dll +System.IO.MemoryMappedFiles.dll +System.IO.Pipes.AccessControl.dll +System.IO.Pipes.dll +System.IO.UnmanagedMemoryStream.dll +System.IO.dll +System.Linq.Expressions.dll +System.Linq.Parallel.dll +System.Linq.Queryable.dll +System.Linq.dll +System.Memory.dll +System.Native.a System.Native.so +System.Net.Http.Native.a System.Net.Http.Native.so +System.Net.Http.dll +System.Net.HttpListener.dll +System.Net.Mail.dll +System.Net.NameResolution.dll +System.Net.NetworkInformation.dll +System.Net.Ping.dll +System.Net.Primitives.dll +System.Net.Requests.dll +System.Net.Security.Native.a System.Net.Security.Native.so +System.Net.Security.dll +System.Net.ServicePoint.dll +System.Net.Sockets.dll +System.Net.WebClient.dll +System.Net.WebHeaderCollection.dll +System.Net.WebProxy.dll +System.Net.WebSockets.Client.dll +System.Net.WebSockets.dll +System.Net.dll +System.Numerics.Vectors.dll +System.Numerics.dll +System.ObjectModel.dll +System.Private.CoreLib.dll +System.Private.DataContractSerialization.dll +System.Private.Uri.dll +System.Private.Xml.Linq.dll +System.Private.Xml.dll +System.Reflection.DispatchProxy.dll +System.Reflection.Emit.ILGeneration.dll +System.Reflection.Emit.Lightweight.dll +System.Reflection.Emit.dll +System.Reflection.Extensions.dll +System.Reflection.Metadata.dll +System.Reflection.Primitives.dll +System.Reflection.TypeExtensions.dll +System.Reflection.dll +System.Resources.Reader.dll +System.Resources.ResourceManager.dll +System.Resources.Writer.dll +System.Runtime.CompilerServices.VisualC.dll +System.Runtime.Extensions.dll +System.Runtime.Handles.dll +System.Runtime.InteropServices.RuntimeInformation.dll +System.Runtime.InteropServices.WindowsRuntime.dll +System.Runtime.InteropServices.dll +System.Runtime.Loader.dll +System.Runtime.Numerics.dll +System.Runtime.Serialization.Formatters.dll +System.Runtime.Serialization.Json.dll +System.Runtime.Serialization.Primitives.dll +System.Runtime.Serialization.Xml.dll +System.Runtime.Serialization.dll +System.Runtime.dll +System.Security.AccessControl.dll +System.Security.Claims.dll +System.Security.Cryptography.Algorithms.dll +System.Security.Cryptography.Cng.dll +System.Security.Cryptography.Csp.dll +System.Security.Cryptography.Encoding.dll +System.Security.Cryptography.Native.OpenSsl.a System.Security.Cryptography.Native.OpenSsl.so +System.Security.Cryptography.OpenSsl.dll +System.Security.Cryptography.Primitives.dll +System.Security.Cryptography.X509Certificates.dll +System.Security.Principal.Windows.dll +System.Security.Principal.dll +System.Security.SecureString.dll +System.Security.dll +System.ServiceModel.Web.dll +System.ServiceProcess.dll +System.Text.Encoding.Extensions.dll +System.Text.Encoding.dll +System.Text.RegularExpressions.dll +System.Threading.Overlapped.dll +System.Threading.Tasks.Dataflow.dll +System.Threading.Tasks.Extensions.dll +System.Threading.Tasks.Parallel.dll +System.Threading.Tasks.dll +System.Threading.Thread.dll +System.Threading.ThreadPool.dll +System.Threading.Timer.dll +System.Threading.dll +System.Transactions.Local.dll +System.Transactions.dll +System.ValueTuple.dll +System.Web.HttpUtility.dll +System.Web.dll +System.Windows.dll +System.Xml.Linq.dll +System.Xml.ReaderWriter.dll +System.Xml.Serialization.dll +System.Xml.XDocument.dll +System.Xml.XPath.XDocument.dll +System.Xml.XPath.dll +System.Xml.XmlDocument.dll +System.Xml.XmlSerializer.dll +System.Xml.dll +System.dll +WindowsBase.dll cliscd +cliscd.deps.json +cliscd.dll +cliscd.pdb +cliscd.runtimeconfig.json createdump libclrjit.so libcoreclr.so @@ -18,5 +181,8 @@ libmscordaccore.so libmscordbi.so libsos.so libsosplugin.so +mscorlib.dll +netstandard.dll +sosdocsunix.txt ls: cannot access /etc/cliscd: No such file or directory ls: cannot access /root/.cliscd: No such file or directory From 03a32b17587459de257fb674c58a5faa6968b88e Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Fri, 31 Aug 2018 19:40:40 +0200 Subject: [PATCH 33/40] Skip distros for which we don't specify libicu dependencies --- .travis.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1b17ec70..e3cd124f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,12 +36,14 @@ script: - dotnet rpm -c Release -r opensuse.42.3-x64 -f netcoreapp2.1 - cp bin/Release/netcoreapp2.1/opensuse.42.3-x64/cliscd.1.0.0.opensuse.42.3-x64.rpm opensuse.42.3-x64/ - sudo docker build -t clisc:opensuse.42.3-x64 opensuse.42.3-x64 -# - sudo docker run clisc:opensuse.42.3-x64 + # Missing libicu dependencies + # - sudo docker run clisc:opensuse.42.3-x64 - dotnet rpm -c Release -r ol.7-x64 -f netcoreapp2.1 - cp bin/Release/netcoreapp2.1/ol.7-x64/cliscd.1.0.0.ol.7-x64.rpm ol.7-x64 - sudo docker build -t clisc:ol.7-x64 ol.7-x64 - - sudo docker run clisc:ol.7-x64 + # Missing libicu dependencies + # - sudo docker run clisc:ol.7-x64 - dotnet rpm -c Release -r rhel-x64 -f netcoreapp2.1 From 12207f6ea616ed718d187d2486bc4a62f79340d3 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Fri, 31 Aug 2018 22:09:45 +0000 Subject: [PATCH 34/40] Expand CI coverage --- .travis.yml | 52 ++--- .../build/Packaging.Targets.targets | 3 +- appveyor.yml | 22 -- demo/cliscd/cliscd.csproj | 25 +-- demo/cliscd/debian.8-x64/Dockerfile | 5 +- demo/cliscd/debian.9-x64/Dockerfile | 16 ++ demo/cliscd/debian.9-x64/reference.txt | 188 ++++++++++++++++++ demo/cliscd/fedora.27-x64/Dockerfile | 17 ++ demo/cliscd/fedora.27-x64/reference.txt | 188 ++++++++++++++++++ demo/cliscd/run-tests.sh | 44 ++++ demo/cliscd/ubuntu.14.04-x64/Dockerfile | 16 ++ demo/cliscd/ubuntu.14.04-x64/reference.txt | 188 ++++++++++++++++++ 12 files changed, 685 insertions(+), 79 deletions(-) create mode 100644 demo/cliscd/debian.9-x64/Dockerfile create mode 100644 demo/cliscd/debian.9-x64/reference.txt create mode 100644 demo/cliscd/fedora.27-x64/Dockerfile create mode 100644 demo/cliscd/fedora.27-x64/reference.txt create mode 100755 demo/cliscd/run-tests.sh create mode 100644 demo/cliscd/ubuntu.14.04-x64/Dockerfile create mode 100644 demo/cliscd/ubuntu.14.04-x64/reference.txt diff --git a/.travis.yml b/.travis.yml index e3cd124f..97bc7564 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,41 +18,17 @@ script: - cd $TRAVIS_BUILD_DIR/demo/cliscd/ - dotnet restore - - dotnet deb -c Release -r debian.8-x64 -f netcoreapp2.1 - - cp bin/Release/netcoreapp2.1/debian.8-x64/cliscd.1.0.0.debian.8-x64.deb debian.8-x64/ - - sudo docker build -t clisc:debian.8-x64 debian.8-x64 - - sudo docker run clisc:debian.8-x64 - - - dotnet deb -c Release -r ubuntu.18.04-x64 -f netcoreapp2.1 - - cp bin/Release/netcoreapp2.1/ubuntu.18.04-x64/cliscd.1.0.0.ubuntu.18.04-x64.deb ubuntu.18.04-x64/ - - sudo docker build -t clisc:ubuntu.18.04-x64 ubuntu.18.04-x64 - - sudo docker run clisc:ubuntu.18.04-x64 - - - dotnet deb -c Release -r ubuntu.16.04-x64 -f netcoreapp2.1 - - cp bin/Release/netcoreapp2.1/ubuntu.16.04-x64/cliscd.1.0.0.ubuntu.16.04-x64.deb ubuntu.16.04-x64/ - - sudo docker build -t clisc:ubuntu.16.04-x64 ubuntu.16.04-x64 - - sudo docker run clisc:ubuntu.16.04-x64 - - - dotnet rpm -c Release -r opensuse.42.3-x64 -f netcoreapp2.1 - - cp bin/Release/netcoreapp2.1/opensuse.42.3-x64/cliscd.1.0.0.opensuse.42.3-x64.rpm opensuse.42.3-x64/ - - sudo docker build -t clisc:opensuse.42.3-x64 opensuse.42.3-x64 - # Missing libicu dependencies - # - sudo docker run clisc:opensuse.42.3-x64 - - - dotnet rpm -c Release -r ol.7-x64 -f netcoreapp2.1 - - cp bin/Release/netcoreapp2.1/ol.7-x64/cliscd.1.0.0.ol.7-x64.rpm ol.7-x64 - - sudo docker build -t clisc:ol.7-x64 ol.7-x64 - # Missing libicu dependencies - # - sudo docker run clisc:ol.7-x64 - - - dotnet rpm -c Release -r rhel-x64 -f netcoreapp2.1 - - - dotnet rpm -c Release -r fedora.28-x64 -f netcoreapp2.1 - - cp bin/Release/netcoreapp2.1/fedora.28-x64/cliscd.1.0.0.fedora.28-x64.rpm fedora.28-x64 - - sudo docker build -t clisc:fedora.28-x64 fedora.28-x64 - - sudo docker run clisc:fedora.28-x64 - - - dotnet rpm -c Release -r centos.7-x64 -f netcoreapp2.1 - - cp bin/Release/netcoreapp2.1/centos.7-x64/cliscd.1.0.0.centos.7-x64.rpm centos.7-x64 - - sudo docker build -t clisc:centos.7-x64 centos.7-x64 - - sudo docker run clisc:centos.7-x64 + - ./run-tests.sh -r centos.7-x64 + - ./run-tests.sh -r ol.7-x64 + + - ./run-tests.sh -r fedora.27-x64 + - ./run-tests.sh -r fedora.28-x64 + + - ./run-tests.sh -r debian.8-x64 + - ./run-tests.sh -r debian.9-x64 + + - ./run-tests.sh -r ubuntu.14.04-x64 + - ./run-tests.sh -r ubuntu.16.04-x64 + - ./run-tests.sh -r ubuntu.18.04-x64 + + - ./run-tests.sh -r opensuse.42.3-x64 diff --git a/Packaging.Targets/build/Packaging.Targets.targets b/Packaging.Targets/build/Packaging.Targets.targets index 0e8c0b18..b70fa837 100644 --- a/Packaging.Targets/build/Packaging.Targets.targets +++ b/Packaging.Targets/build/Packaging.Targets.targets @@ -71,7 +71,8 @@ + and https://github.com/dotnet/dotnet-docker/blob/master/2.0/runtime-deps/stretch/amd64/Dockerfile, + See also https://github.com/dotnet/core-setup/blob/master/src/pkg/packaging/deb/dotnet-runtime-deps-debian_config_debian.9-x64.json --> diff --git a/appveyor.yml b/appveyor.yml index 249956c6..0af3c4e3 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -22,28 +22,6 @@ test_script: - cmd: dotnet rpm -c Release -r rhel.7-x64 -f netcoreapp2.0 - cmd: dotnet deb -c Release -r ubuntu.16.04-x64 -f netcoreapp2.0 - - cmd: cd %APPVEYOR_BUILD_FOLDER%/demo/cliscd/ - - cmd: dotnet restore - - # Test on Debian 8 - - cmd: dotnet deb -c Release -r debian.8-x64 -f netcoreapp2.1 - - cmd: copy bin\Release\netcoreapp2.1\debian.8-x64\cliscd.1.0.0.debian.8-x64.deb debian.8-x64\ -# - cmd: docker build -t clisc:debian.8-x64 debian.8-x64 -# - cmd: docker run clisc:debian.8-x64 - - - cmd: dotnet deb -c Release -r ubuntu.18.04-x64 -f netcoreapp2.1 - - cmd: dotnet deb -c Release -r ubuntu.16.04-x64 -f netcoreapp2.1 - - cmd: dotnet rpm -c Release -r opensuse.42.3-x64 -f netcoreapp2.1 - - cmd: dotnet rpm -c Release -r ol.7-x64 -f netcoreapp2.1 - - cmd: dotnet rpm -c Release -r rhel-x64 -f netcoreapp2.1 - - cmd: dotnet rpm -c Release -r fedora.28-x64 -f netcoreapp2.1 - - # Test on CentOS 7 - - cmd: dotnet rpm -c Release -r centos.7-x64 -f netcoreapp2.1 - - cmd: copy bin\Release\netcoreapp2.1\centos.7-x64\cliscd.1.0.0.centos.7-x64.rpm centos.7-x64\ -# - cmd: docker build -t clisc:centos.7-x64 centos.7-x64 -# - cmd: docker run clisc:centos.7-x64 - artifacts: - path: dotnet-tarball\bin\Release\dotnet-tarball.*.nupkg - path: dotnet-zip\bin\Release\dotnet-zip.*.nupkg diff --git a/demo/cliscd/cliscd.csproj b/demo/cliscd/cliscd.csproj index dd6052a8..5b3ae9aa 100644 --- a/demo/cliscd/cliscd.csproj +++ b/demo/cliscd/cliscd.csproj @@ -2,7 +2,7 @@ Exe - win7-x64;win7-x86;win10-x64;win10-x86;osx-x64;debian.8-x64;ubuntu.18.04-x64;ubuntu.16.04-x64;opensuse.42.3-x64;ol.7-x64;rhel-x64;fedora.28-x64;centos.7-x64 + win7-x64;win7-x86;win10-x64;win10-x86;osx-x64;debian.8-x64;debian.9-x64;ubuntu.18.04-x64;ubuntu.16.04-x64;ubuntu.14.04-x64;opensuse.42.3-x64;ol.7-x64;rhel-x64;fedora.27-x64;fedora.28-x64;centos.7-x64 netcoreapp2.1 true @@ -28,13 +28,20 @@ - + + + + + + + + @@ -46,20 +53,6 @@ - - - - - - - - - - - - - - diff --git a/demo/cliscd/debian.8-x64/Dockerfile b/demo/cliscd/debian.8-x64/Dockerfile index 6b28d431..4bba69ab 100644 --- a/demo/cliscd/debian.8-x64/Dockerfile +++ b/demo/cliscd/debian.8-x64/Dockerfile @@ -1,10 +1,11 @@ FROM debian:8 -COPY cliscd.1.0.0.debian.8-x64.deb /pkg/ +ENV rid=debian.8-x64 +COPY cliscd.1.0.0.$rid.deb /pkg/ COPY reference.txt /pkg/ RUN apt-get update \ -&& dpkg -i /pkg/cliscd.1.0.0.debian.8-x64.deb || apt-get install -f -y +&& dpkg -i /pkg/cliscd.1.0.0.$rid.deb || apt-get install -f -y RUN ls -a /usr/share/cliscd >> ~/testoutput.log 2>&1 || exit 0 RUN ls -a /etc/cliscd >> ~/testoutput.log 2>&1 || exit 0 diff --git a/demo/cliscd/debian.9-x64/Dockerfile b/demo/cliscd/debian.9-x64/Dockerfile new file mode 100644 index 00000000..3ff54d43 --- /dev/null +++ b/demo/cliscd/debian.9-x64/Dockerfile @@ -0,0 +1,16 @@ +FROM debian:9 + +ENV rid=debian.9-x64 +COPY cliscd.1.0.0.$rid.deb /pkg/ +COPY reference.txt /pkg/ + +RUN apt-get update \ +&& dpkg -i /pkg/cliscd.1.0.0.$rid.deb || apt-get install -f -y + +RUN ls -a /usr/share/cliscd >> ~/testoutput.log 2>&1 || exit 0 +RUN ls -a /etc/cliscd >> ~/testoutput.log 2>&1 || exit 0 +RUN ls -a ~/.cliscd >> ~/testoutput.log 2>&1 || exit 0 + +RUN diff -w /pkg/reference.txt ~/testoutput.log + +CMD [ "/usr/share/cliscd/cliscd" ] diff --git a/demo/cliscd/debian.9-x64/reference.txt b/demo/cliscd/debian.9-x64/reference.txt new file mode 100644 index 00000000..83cb79c4 --- /dev/null +++ b/demo/cliscd/debian.9-x64/reference.txt @@ -0,0 +1,188 @@ +. +.. +Microsoft.CSharp.dll +Microsoft.VisualBasic.dll +Microsoft.Win32.Primitives.dll +Microsoft.Win32.Registry.dll +SOS.NETCore.dll +System.AppContext.dll +System.Buffers.dll +System.Collections.Concurrent.dll +System.Collections.Immutable.dll +System.Collections.NonGeneric.dll +System.Collections.Specialized.dll +System.Collections.dll +System.ComponentModel.Annotations.dll +System.ComponentModel.DataAnnotations.dll +System.ComponentModel.EventBasedAsync.dll +System.ComponentModel.Primitives.dll +System.ComponentModel.TypeConverter.dll +System.ComponentModel.dll +System.Configuration.dll +System.Console.dll +System.Core.dll +System.Data.Common.dll +System.Data.dll +System.Diagnostics.Contracts.dll +System.Diagnostics.Debug.dll +System.Diagnostics.DiagnosticSource.dll +System.Diagnostics.FileVersionInfo.dll +System.Diagnostics.Process.dll +System.Diagnostics.StackTrace.dll +System.Diagnostics.TextWriterTraceListener.dll +System.Diagnostics.Tools.dll +System.Diagnostics.TraceSource.dll +System.Diagnostics.Tracing.dll +System.Drawing.Primitives.dll +System.Drawing.dll +System.Dynamic.Runtime.dll +System.Globalization.Calendars.dll +System.Globalization.Extensions.dll +System.Globalization.Native.so +System.Globalization.dll +System.IO.Compression.Brotli.dll +System.IO.Compression.FileSystem.dll +System.IO.Compression.Native.a +System.IO.Compression.Native.so +System.IO.Compression.ZipFile.dll +System.IO.Compression.dll +System.IO.FileSystem.AccessControl.dll +System.IO.FileSystem.DriveInfo.dll +System.IO.FileSystem.Primitives.dll +System.IO.FileSystem.Watcher.dll +System.IO.FileSystem.dll +System.IO.IsolatedStorage.dll +System.IO.MemoryMappedFiles.dll +System.IO.Pipes.AccessControl.dll +System.IO.Pipes.dll +System.IO.UnmanagedMemoryStream.dll +System.IO.dll +System.Linq.Expressions.dll +System.Linq.Parallel.dll +System.Linq.Queryable.dll +System.Linq.dll +System.Memory.dll +System.Native.a +System.Native.so +System.Net.Http.Native.a +System.Net.Http.Native.so +System.Net.Http.dll +System.Net.HttpListener.dll +System.Net.Mail.dll +System.Net.NameResolution.dll +System.Net.NetworkInformation.dll +System.Net.Ping.dll +System.Net.Primitives.dll +System.Net.Requests.dll +System.Net.Security.Native.a +System.Net.Security.Native.so +System.Net.Security.dll +System.Net.ServicePoint.dll +System.Net.Sockets.dll +System.Net.WebClient.dll +System.Net.WebHeaderCollection.dll +System.Net.WebProxy.dll +System.Net.WebSockets.Client.dll +System.Net.WebSockets.dll +System.Net.dll +System.Numerics.Vectors.dll +System.Numerics.dll +System.ObjectModel.dll +System.Private.CoreLib.dll +System.Private.DataContractSerialization.dll +System.Private.Uri.dll +System.Private.Xml.Linq.dll +System.Private.Xml.dll +System.Reflection.DispatchProxy.dll +System.Reflection.Emit.ILGeneration.dll +System.Reflection.Emit.Lightweight.dll +System.Reflection.Emit.dll +System.Reflection.Extensions.dll +System.Reflection.Metadata.dll +System.Reflection.Primitives.dll +System.Reflection.TypeExtensions.dll +System.Reflection.dll +System.Resources.Reader.dll +System.Resources.ResourceManager.dll +System.Resources.Writer.dll +System.Runtime.CompilerServices.VisualC.dll +System.Runtime.Extensions.dll +System.Runtime.Handles.dll +System.Runtime.InteropServices.RuntimeInformation.dll +System.Runtime.InteropServices.WindowsRuntime.dll +System.Runtime.InteropServices.dll +System.Runtime.Loader.dll +System.Runtime.Numerics.dll +System.Runtime.Serialization.Formatters.dll +System.Runtime.Serialization.Json.dll +System.Runtime.Serialization.Primitives.dll +System.Runtime.Serialization.Xml.dll +System.Runtime.Serialization.dll +System.Runtime.dll +System.Security.AccessControl.dll +System.Security.Claims.dll +System.Security.Cryptography.Algorithms.dll +System.Security.Cryptography.Cng.dll +System.Security.Cryptography.Csp.dll +System.Security.Cryptography.Encoding.dll +System.Security.Cryptography.Native.OpenSsl.a +System.Security.Cryptography.Native.OpenSsl.so +System.Security.Cryptography.OpenSsl.dll +System.Security.Cryptography.Primitives.dll +System.Security.Cryptography.X509Certificates.dll +System.Security.Principal.Windows.dll +System.Security.Principal.dll +System.Security.SecureString.dll +System.Security.dll +System.ServiceModel.Web.dll +System.ServiceProcess.dll +System.Text.Encoding.Extensions.dll +System.Text.Encoding.dll +System.Text.RegularExpressions.dll +System.Threading.Overlapped.dll +System.Threading.Tasks.Dataflow.dll +System.Threading.Tasks.Extensions.dll +System.Threading.Tasks.Parallel.dll +System.Threading.Tasks.dll +System.Threading.Thread.dll +System.Threading.ThreadPool.dll +System.Threading.Timer.dll +System.Threading.dll +System.Transactions.Local.dll +System.Transactions.dll +System.ValueTuple.dll +System.Web.HttpUtility.dll +System.Web.dll +System.Windows.dll +System.Xml.Linq.dll +System.Xml.ReaderWriter.dll +System.Xml.Serialization.dll +System.Xml.XDocument.dll +System.Xml.XPath.XDocument.dll +System.Xml.XPath.dll +System.Xml.XmlDocument.dll +System.Xml.XmlSerializer.dll +System.Xml.dll +System.dll +WindowsBase.dll +cliscd +cliscd.deps.json +cliscd.dll +cliscd.pdb +cliscd.runtimeconfig.json +createdump +libclrjit.so +libcoreclr.so +libcoreclrtraceptprovider.so +libdbgshim.so +libhostfxr.so +libhostpolicy.so +libmscordaccore.so +libmscordbi.so +libsos.so +libsosplugin.so +mscorlib.dll +netstandard.dll +sosdocsunix.txt +ls: cannot access '/etc/cliscd': No such file or directory +ls: cannot access '/root/.cliscd': No such file or directory diff --git a/demo/cliscd/fedora.27-x64/Dockerfile b/demo/cliscd/fedora.27-x64/Dockerfile new file mode 100644 index 00000000..7cc0c6e6 --- /dev/null +++ b/demo/cliscd/fedora.27-x64/Dockerfile @@ -0,0 +1,17 @@ +FROM fedora:27 + +ENV rid=fedora.27-x64 + +COPY cliscd.1.0.0.$rid.rpm /pkg/ +COPY reference.txt /pkg/ + +RUN yum update -y \ +&& yum install -y /pkg/cliscd.1.0.0.$rid.rpm + +RUN ls -a /usr/share/cliscd >> ~/testoutput.log 2>&1 || exit 0 +RUN ls -a /etc/cliscd >> ~/testoutput.log 2>&1 || exit 0 +RUN ls -a ~/.cliscd >> ~/testoutput.log 2>&1 || exit 0 + +RUN diff -w /pkg/reference.txt ~/testoutput.log + +CMD [ "/usr/share/cliscd/cliscd" ] diff --git a/demo/cliscd/fedora.27-x64/reference.txt b/demo/cliscd/fedora.27-x64/reference.txt new file mode 100644 index 00000000..83cb79c4 --- /dev/null +++ b/demo/cliscd/fedora.27-x64/reference.txt @@ -0,0 +1,188 @@ +. +.. +Microsoft.CSharp.dll +Microsoft.VisualBasic.dll +Microsoft.Win32.Primitives.dll +Microsoft.Win32.Registry.dll +SOS.NETCore.dll +System.AppContext.dll +System.Buffers.dll +System.Collections.Concurrent.dll +System.Collections.Immutable.dll +System.Collections.NonGeneric.dll +System.Collections.Specialized.dll +System.Collections.dll +System.ComponentModel.Annotations.dll +System.ComponentModel.DataAnnotations.dll +System.ComponentModel.EventBasedAsync.dll +System.ComponentModel.Primitives.dll +System.ComponentModel.TypeConverter.dll +System.ComponentModel.dll +System.Configuration.dll +System.Console.dll +System.Core.dll +System.Data.Common.dll +System.Data.dll +System.Diagnostics.Contracts.dll +System.Diagnostics.Debug.dll +System.Diagnostics.DiagnosticSource.dll +System.Diagnostics.FileVersionInfo.dll +System.Diagnostics.Process.dll +System.Diagnostics.StackTrace.dll +System.Diagnostics.TextWriterTraceListener.dll +System.Diagnostics.Tools.dll +System.Diagnostics.TraceSource.dll +System.Diagnostics.Tracing.dll +System.Drawing.Primitives.dll +System.Drawing.dll +System.Dynamic.Runtime.dll +System.Globalization.Calendars.dll +System.Globalization.Extensions.dll +System.Globalization.Native.so +System.Globalization.dll +System.IO.Compression.Brotli.dll +System.IO.Compression.FileSystem.dll +System.IO.Compression.Native.a +System.IO.Compression.Native.so +System.IO.Compression.ZipFile.dll +System.IO.Compression.dll +System.IO.FileSystem.AccessControl.dll +System.IO.FileSystem.DriveInfo.dll +System.IO.FileSystem.Primitives.dll +System.IO.FileSystem.Watcher.dll +System.IO.FileSystem.dll +System.IO.IsolatedStorage.dll +System.IO.MemoryMappedFiles.dll +System.IO.Pipes.AccessControl.dll +System.IO.Pipes.dll +System.IO.UnmanagedMemoryStream.dll +System.IO.dll +System.Linq.Expressions.dll +System.Linq.Parallel.dll +System.Linq.Queryable.dll +System.Linq.dll +System.Memory.dll +System.Native.a +System.Native.so +System.Net.Http.Native.a +System.Net.Http.Native.so +System.Net.Http.dll +System.Net.HttpListener.dll +System.Net.Mail.dll +System.Net.NameResolution.dll +System.Net.NetworkInformation.dll +System.Net.Ping.dll +System.Net.Primitives.dll +System.Net.Requests.dll +System.Net.Security.Native.a +System.Net.Security.Native.so +System.Net.Security.dll +System.Net.ServicePoint.dll +System.Net.Sockets.dll +System.Net.WebClient.dll +System.Net.WebHeaderCollection.dll +System.Net.WebProxy.dll +System.Net.WebSockets.Client.dll +System.Net.WebSockets.dll +System.Net.dll +System.Numerics.Vectors.dll +System.Numerics.dll +System.ObjectModel.dll +System.Private.CoreLib.dll +System.Private.DataContractSerialization.dll +System.Private.Uri.dll +System.Private.Xml.Linq.dll +System.Private.Xml.dll +System.Reflection.DispatchProxy.dll +System.Reflection.Emit.ILGeneration.dll +System.Reflection.Emit.Lightweight.dll +System.Reflection.Emit.dll +System.Reflection.Extensions.dll +System.Reflection.Metadata.dll +System.Reflection.Primitives.dll +System.Reflection.TypeExtensions.dll +System.Reflection.dll +System.Resources.Reader.dll +System.Resources.ResourceManager.dll +System.Resources.Writer.dll +System.Runtime.CompilerServices.VisualC.dll +System.Runtime.Extensions.dll +System.Runtime.Handles.dll +System.Runtime.InteropServices.RuntimeInformation.dll +System.Runtime.InteropServices.WindowsRuntime.dll +System.Runtime.InteropServices.dll +System.Runtime.Loader.dll +System.Runtime.Numerics.dll +System.Runtime.Serialization.Formatters.dll +System.Runtime.Serialization.Json.dll +System.Runtime.Serialization.Primitives.dll +System.Runtime.Serialization.Xml.dll +System.Runtime.Serialization.dll +System.Runtime.dll +System.Security.AccessControl.dll +System.Security.Claims.dll +System.Security.Cryptography.Algorithms.dll +System.Security.Cryptography.Cng.dll +System.Security.Cryptography.Csp.dll +System.Security.Cryptography.Encoding.dll +System.Security.Cryptography.Native.OpenSsl.a +System.Security.Cryptography.Native.OpenSsl.so +System.Security.Cryptography.OpenSsl.dll +System.Security.Cryptography.Primitives.dll +System.Security.Cryptography.X509Certificates.dll +System.Security.Principal.Windows.dll +System.Security.Principal.dll +System.Security.SecureString.dll +System.Security.dll +System.ServiceModel.Web.dll +System.ServiceProcess.dll +System.Text.Encoding.Extensions.dll +System.Text.Encoding.dll +System.Text.RegularExpressions.dll +System.Threading.Overlapped.dll +System.Threading.Tasks.Dataflow.dll +System.Threading.Tasks.Extensions.dll +System.Threading.Tasks.Parallel.dll +System.Threading.Tasks.dll +System.Threading.Thread.dll +System.Threading.ThreadPool.dll +System.Threading.Timer.dll +System.Threading.dll +System.Transactions.Local.dll +System.Transactions.dll +System.ValueTuple.dll +System.Web.HttpUtility.dll +System.Web.dll +System.Windows.dll +System.Xml.Linq.dll +System.Xml.ReaderWriter.dll +System.Xml.Serialization.dll +System.Xml.XDocument.dll +System.Xml.XPath.XDocument.dll +System.Xml.XPath.dll +System.Xml.XmlDocument.dll +System.Xml.XmlSerializer.dll +System.Xml.dll +System.dll +WindowsBase.dll +cliscd +cliscd.deps.json +cliscd.dll +cliscd.pdb +cliscd.runtimeconfig.json +createdump +libclrjit.so +libcoreclr.so +libcoreclrtraceptprovider.so +libdbgshim.so +libhostfxr.so +libhostpolicy.so +libmscordaccore.so +libmscordbi.so +libsos.so +libsosplugin.so +mscorlib.dll +netstandard.dll +sosdocsunix.txt +ls: cannot access '/etc/cliscd': No such file or directory +ls: cannot access '/root/.cliscd': No such file or directory diff --git a/demo/cliscd/run-tests.sh b/demo/cliscd/run-tests.sh new file mode 100755 index 00000000..1177f8c8 --- /dev/null +++ b/demo/cliscd/run-tests.sh @@ -0,0 +1,44 @@ +#!/bin/bash +set -e + +usage() +{ + echo "Usage: $0 -r [rid]" +} + +while getopts "h?r:" opt; do + case "$opt" in + h|\?) + usage + exit 0 + ;; + r) rid=$OPTARG + ;; + esac +done + +echo Packaging for $rid +format=x + +if [[ $rid == rhel* ]] || [[ $rid == centos* ]] || [[ $rid == ol* ]] || [[ $rid == fedora* ]] || [[ $rid == opensuse* ]] || [[ $rid == sles* ]] ; +then + echo Packaging as RPM + format=rpm +fi + +if [[ $rid == debian* ]] || [[ $rid == ubuntu* ]] || [[ $rid == linuxmint* ]] ; +then + echo Packaging as deb + format=deb +fi + +if [[ $rid == alpine* ]] ; +then + echo Alpine Linux is not supported + exit 0 +fi + +dotnet $format -c Release -r $rid -f netcoreapp2.1 +cp bin/Release/netcoreapp2.1/$rid/cliscd.1.0.0.$rid.$format $rid +sudo docker build -t clisc:$rid $rid +sudo docker run clisc:$rid diff --git a/demo/cliscd/ubuntu.14.04-x64/Dockerfile b/demo/cliscd/ubuntu.14.04-x64/Dockerfile new file mode 100644 index 00000000..113be866 --- /dev/null +++ b/demo/cliscd/ubuntu.14.04-x64/Dockerfile @@ -0,0 +1,16 @@ +FROM ubuntu:14.04 + +ENV rid=ubuntu.14.04-x64 +COPY cliscd.1.0.0.$rid.deb /pkg/ +COPY reference.txt /pkg/ + +RUN apt-get update \ +&& dpkg -i /pkg/cliscd.1.0.0.$rid.deb || apt-get install -f -y + +RUN ls -a /usr/share/cliscd >> ~/testoutput.log 2>&1 || exit 0 +RUN ls -a /etc/cliscd >> ~/testoutput.log 2>&1 || exit 0 +RUN ls -a ~/.cliscd >> ~/testoutput.log 2>&1 || exit 0 + +RUN diff -w /pkg/reference.txt ~/testoutput.log + +CMD [ "/usr/share/cliscd/cliscd" ] diff --git a/demo/cliscd/ubuntu.14.04-x64/reference.txt b/demo/cliscd/ubuntu.14.04-x64/reference.txt new file mode 100644 index 00000000..fddf788e --- /dev/null +++ b/demo/cliscd/ubuntu.14.04-x64/reference.txt @@ -0,0 +1,188 @@ +. +.. +Microsoft.CSharp.dll +Microsoft.VisualBasic.dll +Microsoft.Win32.Primitives.dll +Microsoft.Win32.Registry.dll +SOS.NETCore.dll +System.AppContext.dll +System.Buffers.dll +System.Collections.Concurrent.dll +System.Collections.Immutable.dll +System.Collections.NonGeneric.dll +System.Collections.Specialized.dll +System.Collections.dll +System.ComponentModel.Annotations.dll +System.ComponentModel.DataAnnotations.dll +System.ComponentModel.EventBasedAsync.dll +System.ComponentModel.Primitives.dll +System.ComponentModel.TypeConverter.dll +System.ComponentModel.dll +System.Configuration.dll +System.Console.dll +System.Core.dll +System.Data.Common.dll +System.Data.dll +System.Diagnostics.Contracts.dll +System.Diagnostics.Debug.dll +System.Diagnostics.DiagnosticSource.dll +System.Diagnostics.FileVersionInfo.dll +System.Diagnostics.Process.dll +System.Diagnostics.StackTrace.dll +System.Diagnostics.TextWriterTraceListener.dll +System.Diagnostics.Tools.dll +System.Diagnostics.TraceSource.dll +System.Diagnostics.Tracing.dll +System.Drawing.Primitives.dll +System.Drawing.dll +System.Dynamic.Runtime.dll +System.Globalization.Calendars.dll +System.Globalization.Extensions.dll +System.Globalization.Native.so +System.Globalization.dll +System.IO.Compression.Brotli.dll +System.IO.Compression.FileSystem.dll +System.IO.Compression.Native.a +System.IO.Compression.Native.so +System.IO.Compression.ZipFile.dll +System.IO.Compression.dll +System.IO.FileSystem.AccessControl.dll +System.IO.FileSystem.DriveInfo.dll +System.IO.FileSystem.Primitives.dll +System.IO.FileSystem.Watcher.dll +System.IO.FileSystem.dll +System.IO.IsolatedStorage.dll +System.IO.MemoryMappedFiles.dll +System.IO.Pipes.AccessControl.dll +System.IO.Pipes.dll +System.IO.UnmanagedMemoryStream.dll +System.IO.dll +System.Linq.Expressions.dll +System.Linq.Parallel.dll +System.Linq.Queryable.dll +System.Linq.dll +System.Memory.dll +System.Native.a +System.Native.so +System.Net.Http.Native.a +System.Net.Http.Native.so +System.Net.Http.dll +System.Net.HttpListener.dll +System.Net.Mail.dll +System.Net.NameResolution.dll +System.Net.NetworkInformation.dll +System.Net.Ping.dll +System.Net.Primitives.dll +System.Net.Requests.dll +System.Net.Security.Native.a +System.Net.Security.Native.so +System.Net.Security.dll +System.Net.ServicePoint.dll +System.Net.Sockets.dll +System.Net.WebClient.dll +System.Net.WebHeaderCollection.dll +System.Net.WebProxy.dll +System.Net.WebSockets.Client.dll +System.Net.WebSockets.dll +System.Net.dll +System.Numerics.Vectors.dll +System.Numerics.dll +System.ObjectModel.dll +System.Private.CoreLib.dll +System.Private.DataContractSerialization.dll +System.Private.Uri.dll +System.Private.Xml.Linq.dll +System.Private.Xml.dll +System.Reflection.DispatchProxy.dll +System.Reflection.Emit.ILGeneration.dll +System.Reflection.Emit.Lightweight.dll +System.Reflection.Emit.dll +System.Reflection.Extensions.dll +System.Reflection.Metadata.dll +System.Reflection.Primitives.dll +System.Reflection.TypeExtensions.dll +System.Reflection.dll +System.Resources.Reader.dll +System.Resources.ResourceManager.dll +System.Resources.Writer.dll +System.Runtime.CompilerServices.VisualC.dll +System.Runtime.Extensions.dll +System.Runtime.Handles.dll +System.Runtime.InteropServices.RuntimeInformation.dll +System.Runtime.InteropServices.WindowsRuntime.dll +System.Runtime.InteropServices.dll +System.Runtime.Loader.dll +System.Runtime.Numerics.dll +System.Runtime.Serialization.Formatters.dll +System.Runtime.Serialization.Json.dll +System.Runtime.Serialization.Primitives.dll +System.Runtime.Serialization.Xml.dll +System.Runtime.Serialization.dll +System.Runtime.dll +System.Security.AccessControl.dll +System.Security.Claims.dll +System.Security.Cryptography.Algorithms.dll +System.Security.Cryptography.Cng.dll +System.Security.Cryptography.Csp.dll +System.Security.Cryptography.Encoding.dll +System.Security.Cryptography.Native.OpenSsl.a +System.Security.Cryptography.Native.OpenSsl.so +System.Security.Cryptography.OpenSsl.dll +System.Security.Cryptography.Primitives.dll +System.Security.Cryptography.X509Certificates.dll +System.Security.Principal.Windows.dll +System.Security.Principal.dll +System.Security.SecureString.dll +System.Security.dll +System.ServiceModel.Web.dll +System.ServiceProcess.dll +System.Text.Encoding.Extensions.dll +System.Text.Encoding.dll +System.Text.RegularExpressions.dll +System.Threading.Overlapped.dll +System.Threading.Tasks.Dataflow.dll +System.Threading.Tasks.Extensions.dll +System.Threading.Tasks.Parallel.dll +System.Threading.Tasks.dll +System.Threading.Thread.dll +System.Threading.ThreadPool.dll +System.Threading.Timer.dll +System.Threading.dll +System.Transactions.Local.dll +System.Transactions.dll +System.ValueTuple.dll +System.Web.HttpUtility.dll +System.Web.dll +System.Windows.dll +System.Xml.Linq.dll +System.Xml.ReaderWriter.dll +System.Xml.Serialization.dll +System.Xml.XDocument.dll +System.Xml.XPath.XDocument.dll +System.Xml.XPath.dll +System.Xml.XmlDocument.dll +System.Xml.XmlSerializer.dll +System.Xml.dll +System.dll +WindowsBase.dll +cliscd +cliscd.deps.json +cliscd.dll +cliscd.pdb +cliscd.runtimeconfig.json +createdump +libclrjit.so +libcoreclr.so +libcoreclrtraceptprovider.so +libdbgshim.so +libhostfxr.so +libhostpolicy.so +libmscordaccore.so +libmscordbi.so +libsos.so +libsosplugin.so +mscorlib.dll +netstandard.dll +sosdocsunix.txt +ls: cannot access /etc/cliscd: No such file or directory +ls: cannot access /root/.cliscd: No such file or directory From 825031a9cb094adcb6bfbd1b439dea80c93c9ccc Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Sat, 1 Sep 2018 12:25:37 +0200 Subject: [PATCH 35/40] Require sudo --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index 97bc7564..5978e897 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,6 +2,8 @@ language: csharp mono: none dotnet: 2.1.400 +sudo: required + git: depth: false From 92133ef81f2a51632cb71aa3c158143ba4fa3ce1 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Sat, 1 Sep 2018 12:28:20 +0200 Subject: [PATCH 36/40] Use parallel builds --- .travis.yml | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5978e897..cacb8ea3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,6 +2,18 @@ language: csharp mono: none dotnet: 2.1.400 +env: + - RUNTIME=centos.7-x64 + - RUNTIME=ol.7-x64 + - RUNTIME=fedora.27-x64 + - RUNTIME=fedora.28-x64 + - RUNTIME=debian.8-x64 + - RUNTIME=debian.9-x64 + - RUNTIME=ubuntu.14.04-x64 + - RUNTIME=ubuntu.16.04-x64 + - RUNTIME=ubuntu.18.04-x64 + - RUNTIME=opensuse.42.3-x64 + sudo: required git: @@ -20,17 +32,4 @@ script: - cd $TRAVIS_BUILD_DIR/demo/cliscd/ - dotnet restore - - ./run-tests.sh -r centos.7-x64 - - ./run-tests.sh -r ol.7-x64 - - - ./run-tests.sh -r fedora.27-x64 - - ./run-tests.sh -r fedora.28-x64 - - - ./run-tests.sh -r debian.8-x64 - - ./run-tests.sh -r debian.9-x64 - - - ./run-tests.sh -r ubuntu.14.04-x64 - - ./run-tests.sh -r ubuntu.16.04-x64 - - ./run-tests.sh -r ubuntu.18.04-x64 - - - ./run-tests.sh -r opensuse.42.3-x64 + - ./run-tests.sh -r $RUNTIME \ No newline at end of file From 8ed5793e756ceda2aadfefb5909054996b0d9f97 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Sat, 1 Sep 2018 12:29:54 +0200 Subject: [PATCH 37/40] Try to speed up builds --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index cacb8ea3..f50f3d5c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,8 +26,8 @@ script: - cd $TRAVIS_BUILD_DIR/demo/aspnetcore - dotnet restore - - dotnet rpm -c Release -r rhel.7-x64 -f netcoreapp2.0 - - dotnet deb -c Release -r ubuntu.16.04-x64 -f netcoreapp2.0 + - if [ "$RUNTIME" = "rhel.7-x64" ]; then dotnet rpm -c Release -r rhel.7-x64 -f netcoreapp2.0; fi + - if [ "$RUNTIME" = "ubuntu.16.04-x64" ]; then dotnet deb -c Release -r ubuntu.16.04-x64 -f netcoreapp2.0; fi - cd $TRAVIS_BUILD_DIR/demo/cliscd/ - dotnet restore From e32cbd444a1ef2e858eb2de92984d791f161982a Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Sat, 1 Sep 2018 17:18:21 +0000 Subject: [PATCH 38/40] Fix installation on OpenSUSE --- demo/cliscd/cliscd.csproj | 6 ++++++ demo/cliscd/opensuse.42.3-x64/Dockerfile | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/demo/cliscd/cliscd.csproj b/demo/cliscd/cliscd.csproj index 5b3ae9aa..206c7071 100644 --- a/demo/cliscd/cliscd.csproj +++ b/demo/cliscd/cliscd.csproj @@ -53,6 +53,12 @@ + + + + + + diff --git a/demo/cliscd/opensuse.42.3-x64/Dockerfile b/demo/cliscd/opensuse.42.3-x64/Dockerfile index 24e97a13..a299d9df 100644 --- a/demo/cliscd/opensuse.42.3-x64/Dockerfile +++ b/demo/cliscd/opensuse.42.3-x64/Dockerfile @@ -4,7 +4,7 @@ ENV rid=opensuse.42.3-x64 COPY cliscd.1.0.0.$rid.rpm /pkg/ COPY reference.txt /pkg/ -RUN rpm -i /pkg/cliscd.1.0.0.$rid.rpm +RUN zypper --non-interactive --no-gpg-checks install /pkg/cliscd.1.0.0.$rid.rpm RUN ls -a /usr/share/cliscd >> ~/testoutput.log 2>&1 || exit 0 RUN ls -a /etc/cliscd >> ~/testoutput.log 2>&1 || exit 0 From 693e99934e2d871ad03bb3df85a398bd52b9751a Mon Sep 17 00:00:00 2001 From: Clemens Vasters Date: Sat, 11 Aug 2018 06:54:10 -0700 Subject: [PATCH 39/40] updated to current (8 years old) file color scheme and classifying .NET assemblies as "mono". Removed flagging of all non-executable files as docs, which leads to breaking installs on container platforms. --- Packaging.Targets/ArchiveBuilder.cs | 20 ++++++++++++-- Packaging.Targets/IO/ArchiveEntryType.cs | 12 +++++++- Packaging.Targets/Packaging.Targets.csproj | 1 + Packaging.Targets/Rpm/FileAnalyzer.cs | 12 ++++++-- Packaging.Targets/Rpm/RpmFileColor.cs | 32 ++++------------------ 5 files changed, 44 insertions(+), 33 deletions(-) diff --git a/Packaging.Targets/ArchiveBuilder.cs b/Packaging.Targets/ArchiveBuilder.cs index 381be485..f9e4bbe2 100644 --- a/Packaging.Targets/ArchiveBuilder.cs +++ b/Packaging.Targets/ArchiveBuilder.cs @@ -6,6 +6,8 @@ using System.Collections.ObjectModel; using System.IO; using System.Linq; +using System.Reflection; +using System.Runtime.Loader; using System.Security.Cryptography; using System.Text; @@ -277,8 +279,20 @@ protected void AddFile(string entry, string relativePath, string prefix, List /// The file is a 64-bit executable. /// - Executable64 = 2 + Executable64 = 2, + + /// + /// The file is a module (like a .NET assembly) + /// + NetAssembly = 3, + + /// + /// This file is a documentation entry + /// + Doc = 4 } } diff --git a/Packaging.Targets/Packaging.Targets.csproj b/Packaging.Targets/Packaging.Targets.csproj index 701b3d08..f3372717 100644 --- a/Packaging.Targets/Packaging.Targets.csproj +++ b/Packaging.Targets/Packaging.Targets.csproj @@ -52,6 +52,7 @@ all + diff --git a/Packaging.Targets/Rpm/FileAnalyzer.cs b/Packaging.Targets/Rpm/FileAnalyzer.cs index 70f5f039..963957d8 100644 --- a/Packaging.Targets/Rpm/FileAnalyzer.cs +++ b/Packaging.Targets/Rpm/FileAnalyzer.cs @@ -33,8 +33,6 @@ public virtual Collection DetermineProvides(ArchiveEntry entr /// public virtual RpmFileFlags DetermineFlags(ArchiveEntry entry) { - // The only custom flags which are supported for now are the RPMFILE_DOC flags for non-executable - // files. if (entry.Mode.HasFlag(LinuxFileMode.S_IFDIR)) { return RpmFileFlags.None; @@ -43,7 +41,7 @@ public virtual RpmFileFlags DetermineFlags(ArchiveEntry entry) { return RpmFileFlags.None; } - else if (entry.TargetPath.StartsWith("/usr/share/doc")) + else if (entry.Type == ArchiveEntryType.Doc) { return RpmFileFlags.RPMFILE_DOC; } @@ -65,6 +63,9 @@ public virtual RpmFileColor DetermineColor(ArchiveEntry entry) case ArchiveEntryType.Executable64: return RpmFileColor.RPMFC_ELF64; + case ArchiveEntryType.NetAssembly: + return RpmFileColor.RPMFC_INCLUDE; + default: return RpmFileColor.RPMFC_BLACK; } @@ -90,6 +91,11 @@ public virtual string DetermineClass(ArchiveEntry entry) return string.Empty; } + if (entry.Type == ArchiveEntryType.NetAssembly) + { + return "mono"; + } + if (entry.TargetPath.EndsWith(".svg")) { return "SVG Scalable Vector Graphics image"; diff --git a/Packaging.Targets/Rpm/RpmFileColor.cs b/Packaging.Targets/Rpm/RpmFileColor.cs index f81dbdff..a4ac3e9a 100644 --- a/Packaging.Targets/Rpm/RpmFileColor.cs +++ b/Packaging.Targets/Rpm/RpmFileColor.cs @@ -2,41 +2,21 @@ namespace Packaging.Targets.Rpm { + /* + * from https://github.com/rpm-software-management/rpm/blob/master/build/rpmfc.h + */ + /// /// Determines the type of the file. /// [Flags] - internal enum RpmFileColor + internal enum RpmFileColor : int { RPMFC_BLACK = 0, RPMFC_ELF32 = 1 << 0, RPMFC_ELF64 = 1 << 1, RPMFC_ELFMIPSN32 = 1 << 2, - RPMFC_PKGCONFIG = 1 << 4, - RPMFC_LIBTOOL = 1 << 5, - RPMFC_BOURNE = 1 << 6, - RPMFC_MODULE = 1 << 7, - RPMFC_EXECUTABLE = 1 << 8, - RPMFC_SCRIPT = 1 << 9, - RPMFC_TEXT = 1 << 10, - RPMFC_DATA = 1 << 11, - RPMFC_DOCUMENT = 1 << 12, - RPMFC_STATIC = 1 << 13, - RPMFC_NOTSTRIPPED = 1 << 14, - RPMFC_COMPRESSED = 1 << 15, - RPMFC_DIRECTORY = 1 << 16, - RPMFC_SYMLINK = 1 << 17, - RPMFC_DEVICE = 1 << 18, - RPMFC_LIBRARY = 1 << 19, - RPMFC_ARCHIVE = 1 << 20, - RPMFC_FONT = 1 << 21, - RPMFC_IMAGE = 1 << 22, - RPMFC_MANPAGE = 1 << 23, - RPMFC_PERL = 1 << 24, - RPMFC_JAVA = 1 << 25, - RPMFC_PYTHON = 1 << 26, - RPMFC_PHP = 1 << 27, - RPMFC_TCL = 1 << 28, + RPMFC_ELF = RPMFC_ELF32 | RPMFC_ELF64 | RPMFC_ELFMIPSN32, RPMFC_WHITE = 1 << 29, RPMFC_INCLUDE = 1 << 30, RPMFC_ERROR = 1 << 31 From dfbd11711534a25dfc3e35ef9625fa09ae1b68d3 Mon Sep 17 00:00:00 2001 From: Clemens Vasters Date: Sun, 12 Aug 2018 01:57:38 -0700 Subject: [PATCH 40/40] read metadata from RPM instead of guessing it. introducing Documentation task item flag. --- .vscode/launch.json | 28 +++++ .vscode/tasks.json | 15 +++ .../Rpm/RpmMetadataTests.cs | 4 +- .../Rpm/RpmPackageCreatorTests.cs | 10 +- Packaging.Targets/ArchiveBuilder.cs | 103 +++++++++++++----- Packaging.Targets/Rpm/FileAnalyzer.cs | 10 +- Packaging.Targets/TaskItemExtensions.cs | 20 ++++ 7 files changed, 149 insertions(+), 41 deletions(-) create mode 100644 .vscode/launch.json create mode 100644 .vscode/tasks.json diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000..c3a19234 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,28 @@ +{ + // Use IntelliSense to find out which attributes exist for C# debugging + // Use hover for the description of the existing attributes + // For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md + "version": "0.2.0", + "configurations": [ + { + "name": ".NET Core Launch (console)", + "type": "coreclr", + "request": "launch", + "preLaunchTask": "build", + // If you have changed target frameworks, make sure to update the program path. + "program": "${workspaceFolder}/dotnet-deb/bin/Debug/netcoreapp1.0/dotnet-deb.dll", + "args": [], + "cwd": "${workspaceFolder}/dotnet-deb", + // For more information about the 'console' field, see https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md#console-terminal-window + "console": "internalConsole", + "stopAtEntry": false, + "internalConsoleOptions": "openOnSessionStart" + }, + { + "name": ".NET Core Attach", + "type": "coreclr", + "request": "attach", + "processId": "${command:pickProcess}" + } + ,] +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 00000000..bca61a0f --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,15 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "build", + "command": "dotnet", + "type": "process", + "args": [ + "build", + "${workspaceFolder}/dotnet-deb/dotnet-deb.csproj" + ], + "problemMatcher": "$msCompile" + } + ] +} \ No newline at end of file diff --git a/Packaging.Targets.Tests/Rpm/RpmMetadataTests.cs b/Packaging.Targets.Tests/Rpm/RpmMetadataTests.cs index b76eab4a..cb39b88e 100644 --- a/Packaging.Targets.Tests/Rpm/RpmMetadataTests.cs +++ b/Packaging.Targets.Tests/Rpm/RpmMetadataTests.cs @@ -117,7 +117,7 @@ public void SetFilesTest() { ArchiveBuilder builder = new ArchiveBuilder(new PlistFileAnalyzer()); RpmPackageCreator creator = new RpmPackageCreator(new PlistFileAnalyzer()); - var entries = builder.FromCpio(cpio); + var entries = builder.FromCpio(originalPackage, cpio); var files = creator.CreateFiles(entries); var metadata = new PublicRpmMetadata(package); @@ -186,7 +186,7 @@ public void CreatePackageMetadata() { ArchiveBuilder builder = new ArchiveBuilder(new PlistFileAnalyzer()); RpmPackageCreator creator = new RpmPackageCreator(new PlistFileAnalyzer()); - var entries = builder.FromCpio(cpio); + var entries = builder.FromCpio(originalPackage, cpio); var files = creator.CreateFiles(entries); // Core routine to populate files and dependencies diff --git a/Packaging.Targets.Tests/Rpm/RpmPackageCreatorTests.cs b/Packaging.Targets.Tests/Rpm/RpmPackageCreatorTests.cs index 383bdc9e..7871bdc4 100644 --- a/Packaging.Targets.Tests/Rpm/RpmPackageCreatorTests.cs +++ b/Packaging.Targets.Tests/Rpm/RpmPackageCreatorTests.cs @@ -46,7 +46,7 @@ public void CreateFiles(string rpm, string analyzerName) RpmPackageCreator creator = new RpmPackageCreator(analyzer); ArchiveBuilder builder = new ArchiveBuilder(analyzer); - var entries = builder.FromCpio(cpio); + var entries = builder.FromCpio(originalPackage, cpio); var files = creator.CreateFiles(entries); var originalMetadata = new RpmMetadata(originalPackage); @@ -98,7 +98,7 @@ public void CalculateOffsetTest() { ArchiveBuilder builder = new ArchiveBuilder(new PlistFileAnalyzer()); RpmPackageCreator creator = new RpmPackageCreator(new PlistFileAnalyzer()); - var entries = builder.FromCpio(cpio); + var entries = builder.FromCpio(originalPackage, cpio); var files = creator.CreateFiles(entries); // Core routine to populate files and dependencies @@ -151,7 +151,7 @@ public void CalculateSignatureTest() using (var cpio = new CpioFile(payloadStream, false)) { ArchiveBuilder builder = new ArchiveBuilder(new PlistFileAnalyzer()); - var entries = builder.FromCpio(cpio); + var entries = builder.FromCpio(originalPackage, cpio); files = creator.CreateFiles(entries); } @@ -261,7 +261,7 @@ public void CreatePackageTest() using (CpioFile cpio = new CpioFile(decompressedPayloadStream, leaveOpen: false)) { ArchiveBuilder builder = new ArchiveBuilder(); - archive = builder.FromCpio(cpio); + archive = builder.FromCpio(originalPackage, cpio); } using (var decompressedPayloadStream = RpmPayloadReader.GetDecompressedPayloadStream(originalPackage)) @@ -338,7 +338,7 @@ public void CreatePackageBinaryTest() using (CpioFile cpio = new CpioFile(decompressedPayloadStream, leaveOpen: false)) { ArchiveBuilder builder = new ArchiveBuilder(); - archive = builder.FromCpio(cpio); + archive = builder.FromCpio(originalPackage, cpio); } using (var compressedPayloadStream = RpmPayloadReader.GetCompressedPayloadStream(originalPackage)) diff --git a/Packaging.Targets/ArchiveBuilder.cs b/Packaging.Targets/ArchiveBuilder.cs index f9e4bbe2..93a48b6d 100644 --- a/Packaging.Targets/ArchiveBuilder.cs +++ b/Packaging.Targets/ArchiveBuilder.cs @@ -48,20 +48,23 @@ public ArchiveBuilder(IFileAnalyzer analyzer) /// /// Extracts the objects from a CPIO file. /// + /// /// - /// The CPIO file from which to extract the entries. + /// The CPIO file from which to extract the entries. /// /// /// A list of objects representing the data in the CPIO file. /// - public List FromCpio(CpioFile file) + public List FromCpio(RpmPackage rpmPackage, CpioFile file) { List value = new List(); byte[] buffer = new byte[1024]; byte[] fileHeader = null; + int currentEntry = -1; while (file.Read()) { + currentEntry++; fileHeader = null; ArchiveEntry entry = new ArchiveEntry() @@ -77,9 +80,40 @@ public List FromCpio(CpioFile file) LinkTo = string.Empty, Sha256 = Array.Empty(), SourceFilename = null, - IsAscii = true + IsAscii = true, + }; + + var fileColor = (RpmFileColor)(rpmPackage.Header.Records[IndexTag.RPMTAG_FILECOLORS]?.Value as Collection)?[currentEntry]; + var fileFlag = (RpmFileFlags)(rpmPackage.Header.Records[IndexTag.RPMTAG_FILEFLAGS]?.Value as Collection)?[currentEntry]; + var fileClassIndex = (int)(rpmPackage.Header.Records[IndexTag.RPMTAG_FILECLASS]?.Value as Collection)?[currentEntry]; + var fileClass = (rpmPackage.Header.Records[IndexTag.RPMTAG_CLASSDICT]?.Value as Collection)?[fileClassIndex]; + + entry.Group = (rpmPackage.Header.Records[IndexTag.RPMTAG_FILEGROUPNAME]?.Value as Collection)?[currentEntry]; + entry.Owner = (rpmPackage.Header.Records[IndexTag.RPMTAG_FILEUSERNAME]?.Value as Collection)?[currentEntry]; + entry.LinkTo = (rpmPackage.Header.Records[IndexTag.RPMTAG_FILELINKTOS]?.Value as Collection)?[currentEntry]; + + if ((fileFlag & RpmFileFlags.RPMFILE_DOC) == RpmFileFlags.RPMFILE_DOC) + { + entry.Type = ArchiveEntryType.Doc; + } + + if ((fileColor & RpmFileColor.RPMFC_ELF32) == RpmFileColor.RPMFC_ELF32) + { + entry.Type = ArchiveEntryType.Executable32; + } + + if ((fileColor & RpmFileColor.RPMFC_ELF64) == RpmFileColor.RPMFC_ELF64) + { + entry.Type = ArchiveEntryType.Executable64; + } + + if (fileClass.Contains("mono")) + { + entry.Type = ArchiveEntryType.NetAssembly; + } + if (entry.Mode.HasFlag(LinuxFileMode.S_IFREG) && !entry.Mode.HasFlag(LinuxFileMode.S_IFLNK)) { using (var fileStream = file.Open()) @@ -108,8 +142,6 @@ public List FromCpio(CpioFile file) entry.Sha256 = hasher.GetHashAndReset(); } - - entry.Type = this.GetArchiveEntryType(fileHeader); } else if (entry.Mode.HasFlag(LinuxFileMode.S_IFLNK)) { @@ -279,37 +311,58 @@ protected void AddFile(string entry, string relativePath, string prefix, List DetermineProvides(ArchiveEntry entr /// public virtual RpmFileFlags DetermineFlags(ArchiveEntry entry) { - if (entry.Mode.HasFlag(LinuxFileMode.S_IFDIR)) - { - return RpmFileFlags.None; - } - else if (entry.Mode.HasFlag(LinuxFileMode.S_IFLNK)) - { - return RpmFileFlags.None; - } - else if (entry.Type == ArchiveEntryType.Doc) + if (entry.Type == ArchiveEntryType.Doc) { return RpmFileFlags.RPMFILE_DOC; } diff --git a/Packaging.Targets/TaskItemExtensions.cs b/Packaging.Targets/TaskItemExtensions.cs index a16876a2..b192f4a6 100644 --- a/Packaging.Targets/TaskItemExtensions.cs +++ b/Packaging.Targets/TaskItemExtensions.cs @@ -93,6 +93,26 @@ public static string GetLinuxFileMode(this ITaskItem item) return TryGetValue(item, "LinuxFileMode"); } + /// + /// Gets the file mode of the file in the Linux filesystem. + /// + /// + /// The item for which to get the file mode. + /// + /// + /// The file mode of the file on the Linux file system. + /// + public static bool GetDocumentation(this ITaskItem item) + { + var docValue = TryGetValue(item, "Documentation"); + if (docValue != null) + { + return docValue.ToLower().Equals("true"); + } + + return false; + } + /// /// Gets the Linux owner of the file. ///