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 new file mode 100644 index 00000000..f50f3d5c --- /dev/null +++ b/.travis.yml @@ -0,0 +1,35 @@ +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: + depth: false + +script: + - dotnet restore dotnet-packaging.sln + - dotnet pack dotnet-packaging.sln -c Release + - dotnet test Packaging.Targets.Tests/Packaging.Targets.Tests.csproj + + - cd $TRAVIS_BUILD_DIR/demo/aspnetcore + - dotnet restore + - 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 + + - ./run-tests.sh -r $RUNTIME \ No newline at end of file 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/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.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..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); } @@ -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); @@ -253,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)) @@ -266,15 +274,19 @@ public void CreatePackageTest() creator.CreatePackage( archive, payloadStream, - "libplist", - "2.0.1.151", - "x86_64", - "1.1", + nameString, + versionString, + archString, + releaseString, false, null, false, null, null, + preInstScript, + postInstScript, + preRemoveScript, + postRemoveScript, null, (metadata) => PlistMetadata.ApplyDefaultMetadata(metadata), privateKey, @@ -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)); @@ -318,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)) @@ -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/ArchiveBuilder.cs b/Packaging.Targets/ArchiveBuilder.cs index 381be485..93a48b6d 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; @@ -46,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() @@ -75,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()) @@ -106,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)) { @@ -277,25 +311,58 @@ 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..f3372717 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 @@ -50,6 +49,10 @@ all + + all + + @@ -62,21 +65,21 @@ - + true tools\netstandard1.5\ - + true tools\netstandard2.0\ - + true tools\netstandard1.5\ - + true tools\netstandard2.0\ @@ -98,4 +101,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/Packaging.Targets/Rpm/FileAnalyzer.cs b/Packaging.Targets/Rpm/FileAnalyzer.cs index e08ff5e2..04169e85 100644 --- a/Packaging.Targets/Rpm/FileAnalyzer.cs +++ b/Packaging.Targets/Rpm/FileAnalyzer.cs @@ -33,19 +33,7 @@ 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; - } - else if (entry.Mode.HasFlag(LinuxFileMode.S_IFLNK)) - { - return RpmFileFlags.None; - } - else if (!entry.Mode.HasFlag(LinuxFileMode.S_IXGRP) - && !entry.Mode.HasFlag(LinuxFileMode.S_IXOTH) - && !entry.Mode.HasFlag(LinuxFileMode.S_IXUSR)) + if (entry.Type == ArchiveEntryType.Doc) { return RpmFileFlags.RPMFILE_DOC; } @@ -67,6 +55,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 +83,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 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, 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. /// diff --git a/Packaging.Targets/build/Packaging.Targets.targets b/Packaging.Targets/build/Packaging.Targets.targets index 9fcc15e7..b70fa837 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)"/> @@ -67,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 --> @@ -79,7 +84,7 @@ - + - \ No newline at end of file + diff --git a/appveyor.yml b/appveyor.yml index 262ba95f..0af3c4e3 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,12 +1,13 @@ image: Visual Studio 2017 version: '0.1.{build}' +skip_branch_with_pr: true 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\ @@ -16,12 +17,19 @@ test_script: - ps: '& (Join-Path $env:APPVEYOR_BUILD_FOLDER "appveyor-testresults.ps1")' - cmd: cd .. + - 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 + 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 + - path: demo\**\*.deb + - path: demo\**\*.rpm deploy: provider: NuGet 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/NuGet.config b/demo/NuGet.config index 4ee39f12..4057ba83 100644 --- a/demo/NuGet.config +++ b/demo/NuGet.config @@ -1,10 +1,11 @@ - - - - + + + + + - \ No newline at end of file + 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 70% rename from demo/demo.csproj rename to demo/aspnetcore/demo.csproj index 47180e0d..49f52182 100644 --- a/demo/demo.csproj +++ b/demo/aspnetcore/demo.csproj @@ -6,6 +6,7 @@ true true true + true @@ -21,13 +22,14 @@ - - - - - + + + + + + - \ No newline at end of file + 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 diff --git a/demo/clifdd/Program.cs b/demo/clifdd/Program.cs new file mode 100644 index 00000000..5d7b3775 --- /dev/null +++ b/demo/clifdd/Program.cs @@ -0,0 +1,12 @@ +using System; + +namespace CliFdd +{ + class Program + { + static void Main(string[] args) + { + Console.WriteLine("Hello World!"); + } + } +} diff --git a/demo/clifdd/clifdd.csproj b/demo/clifdd/clifdd.csproj new file mode 100644 index 00000000..bcb824a4 --- /dev/null +++ b/demo/clifdd/clifdd.csproj @@ -0,0 +1,40 @@ + + + + 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/demo/clifdd/clifdd.machine.config b/demo/clifdd/clifdd.machine.config new file mode 100644 index 00000000..e69de29b diff --git a/demo/clifdd/clifdd.user.config b/demo/clifdd/clifdd.user.config new file mode 100644 index 00000000..e69de29b diff --git a/demo/clifdd/readme.txt b/demo/clifdd/readme.txt new file mode 100644 index 00000000..1045cf25 --- /dev/null +++ b/demo/clifdd/readme.txt @@ -0,0 +1 @@ +Test Test \ No newline at end of file diff --git a/demo/cliscd/Program.cs b/demo/cliscd/Program.cs new file mode 100644 index 00000000..08f82dcc --- /dev/null +++ b/demo/cliscd/Program.cs @@ -0,0 +1,12 @@ +using System; + +namespace CliScd +{ + class Program + { + static void Main(string[] args) + { + Console.WriteLine("Hello World!"); + } + } +} 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..fddf788e --- /dev/null +++ b/demo/cliscd/centos.7-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/cliscd.csproj b/demo/cliscd/cliscd.csproj new file mode 100644 index 00000000..206c7071 --- /dev/null +++ b/demo/cliscd/cliscd.csproj @@ -0,0 +1,73 @@ + + + + Exe + 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 + + + + + /etc/clifdd + PreserveNewest + + + ~/.clifdd + PreserveNewest + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/demo/cliscd/cliscd.machine.config b/demo/cliscd/cliscd.machine.config new file mode 100644 index 00000000..e69de29b diff --git a/demo/cliscd/cliscd.user.config b/demo/cliscd/cliscd.user.config new file mode 100644 index 00000000..e69de29b diff --git a/demo/cliscd/debian.8-x64/Dockerfile b/demo/cliscd/debian.8-x64/Dockerfile new file mode 100644 index 00000000..4bba69ab --- /dev/null +++ b/demo/cliscd/debian.8-x64/Dockerfile @@ -0,0 +1,16 @@ +FROM debian:8 + +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.$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.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 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/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..83cb79c4 --- /dev/null +++ b/demo/cliscd/fedora.28-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/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..fddf788e --- /dev/null +++ b/demo/cliscd/ol.7-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/opensuse.42.3-x64/Dockerfile b/demo/cliscd/opensuse.42.3-x64/Dockerfile new file mode 100644 index 00000000..a299d9df --- /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 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 +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 diff --git a/demo/cliscd/readme.txt b/demo/cliscd/readme.txt new file mode 100644 index 00000000..1045cf25 --- /dev/null +++ b/demo/cliscd/readme.txt @@ -0,0 +1 @@ +Test Test \ No newline at end of file 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 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 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 diff --git a/dotnet-deb/dotnet-deb.csproj b/dotnet-deb/dotnet-deb.csproj index 8dd59010..adc0d48c 100644 --- a/dotnet-deb/dotnet-deb.csproj +++ b/dotnet-deb/dotnet-deb.csproj @@ -17,15 +17,17 @@ 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 + + all + - + true lib\$(TargetFramework)\ diff --git a/dotnet-rpm/dotnet-rpm.csproj b/dotnet-rpm/dotnet-rpm.csproj index 82aaaeb5..bc55e0bf 100644 --- a/dotnet-rpm/dotnet-rpm.csproj +++ b/dotnet-rpm/dotnet-rpm.csproj @@ -17,15 +17,17 @@ 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 + + all + - + true lib\$(TargetFramework)\ diff --git a/dotnet-tarball/dotnet-tarball.csproj b/dotnet-tarball/dotnet-tarball.csproj index aafdbf9e..263557fb 100644 --- a/dotnet-tarball/dotnet-tarball.csproj +++ b/dotnet-tarball/dotnet-tarball.csproj @@ -17,15 +17,17 @@ 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 + + all + - + true lib\$(TargetFramework)\ diff --git a/dotnet-zip/dotnet-zip.csproj b/dotnet-zip/dotnet-zip.csproj index 0ee6076b..2968d4a9 100644 --- a/dotnet-zip/dotnet-zip.csproj +++ b/dotnet-zip/dotnet-zip.csproj @@ -17,15 +17,17 @@ 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 + + all + - + true lib\$(TargetFramework)\ diff --git a/version.json b/version.json new file mode 100644 index 00000000..88f0ce90 --- /dev/null +++ b/version.json @@ -0,0 +1,8 @@ +{ + "$schema": "https://raw.githubusercontent.com/AArnott/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "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