[PR #20] [CLOSED] Deb support #170

Closed
opened 2026-01-29 16:30:59 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/quamotion/dotnet-packaging/pull/20
Author: @kekekeks
Created: 10/6/2017
Status: Closed

Base: masterHead: deb-support


📝 Commits (10+)

  • b12e320 Initial implementation of the ar (deb) file format
  • 87e6f45 First steps in reading a DebPackage
  • 21f393c Preliminary support for reading tar files
  • 8395616 Support reading the control file.
  • 40cbeda Merge commit '83956162cc4c9778ba6e4101100ea8967902663c' into deb-support
  • 3df20a3 Fixed build errors after merge
  • e9d6ea1 Added .idea to gitignore
  • 74fc188 Compute MD5Hash for ArchiveEntry
  • 26ad849 Fixed some fields in TarHeader and added ComputeChecksum
  • 52af4f2 Read all relevant info from deb package and check file checksums in test

📊 Changes

41 files changed (+1990 additions, -160 deletions)

View changed files

📝 .gitignore (+2 -1)
Packaging.Targets.Tests/Deb/DebPackageReaderTests.cs (+65 -0)
Packaging.Targets.Tests/Deb/libplist3_1.12-3.1_amd64.deb (+0 -0)
Packaging.Targets.Tests/IO/ArFileTests.cs (+101 -0)
📝 Packaging.Targets.Tests/IO/CpioFileTests.cs (+8 -8)
Packaging.Targets.Tests/IO/TarFileTests.cs (+133 -0)
Packaging.Targets.Tests/IO/test.tar (+0 -0)
📝 Packaging.Targets.Tests/Packaging.Targets.Tests.csproj (+7 -1)
📝 Packaging.Targets.Tests/Rpm/PlistMetadata.cs (+2 -1)
📝 Packaging.Targets.Tests/Rpm/RpmMetadataTests.cs (+3 -3)
📝 Packaging.Targets.Tests/Rpm/RpmPackageCreatorTests.cs (+5 -5)
📝 Packaging.Targets.Tests/Rpm/RpmPackageReaderTests.cs (+3 -3)
📝 Packaging.Targets.Tests/Rpm/RpmPackageWriterTests.cs (+2 -2)
📝 Packaging.Targets.Tests/Rpm/RpmSignatureTests.cs (+3 -3)
📝 Packaging.Targets/ArchiveBuilder.cs (+8 -3)
Packaging.Targets/Deb/ControlFileParser.cs (+68 -0)
Packaging.Targets/Deb/DebPackage.cs (+37 -0)
Packaging.Targets/Deb/DebPackageControlFileData.cs (+15 -0)
Packaging.Targets/Deb/DebPackageCreator.cs (+148 -0)
Packaging.Targets/Deb/DebPackageReader.cs (+147 -0)

...and 21 more files

📄 Description

Still need to implement dotnet-deb (I can't run your CLI tools on my machine, unfortunately, probably something wrong with SDK). Other than that packages installs and systemd service gets created.

Lintian report:

E: demo: arch-dependent-file-in-usr-share usr/share/demo/System.Globalization.Native.so
E: demo: unstripped-binary-or-object usr/share/demo/System.Globalization.Native.so
E: demo: arch-dependent-file-in-usr-share usr/share/demo/System.IO.Compression.Native.so
E: demo: arch-dependent-file-in-usr-share usr/share/demo/System.Native.a
E: demo: arch-dependent-file-in-usr-share ... use --no-tag-display-limit to see all (or pipe to a file/program)
E: demo: unstripped-binary-or-object usr/share/demo/createdump
E: demo: unstripped-binary-or-object usr/share/demo/libclrjit.so
W: demo: hardening-no-relro usr/share/demo/libclrjit.so
E: demo: unstripped-binary-or-object ... use --no-tag-display-limit to see all (or pipe to a file/program)
W: demo: hardening-no-relro usr/share/demo/libcoreclr.so
E: demo: changelog-file-missing-in-native-package
E: demo: no-copyright-file
E: demo: description-starts-with-package-name
E: demo: description-too-short demo.1.0.102.22979.ubuntu.16.04-x64
E: demo: extended-description-is-empty
W: demo: no-section-field
W: demo: no-priority-field
W: demo: missing-intermediate-directory etc/
W: demo: missing-intermediate-directory etc/demo/
W: demo: non-standard-file-perm etc/demo/appsettings.json 0444 != 0644
W: demo: missing-intermediate-directory etc/systemd/
W: demo: missing-intermediate-directory ... use --no-tag-display-limit to see all (or pipe to a file/program)
W: demo: non-standard-file-perm etc/systemd/system/demo.service 0444 != 0644
W: demo: non-standard-file-perm usr/share/demo/BouncyCastle.Crypto.dll 0444 != 0644
W: demo: non-standard-file-perm ... use --no-tag-display-limit to see all (or pipe to a file/program)
W: demo: extra-license-file usr/share/demo/wwwroot/lib/bootstrap/LICENSE
W: demo: extra-license-file usr/share/demo/wwwroot/lib/jquery-validation/LICENSE.md
W: demo: extra-license-file usr/share/demo/wwwroot/lib/jquery/LICENSE.txt
W: demo: embedded-javascript-library usr/share/demo/wwwroot/lib/jquery/dist/jquery.js please use libjs-jquery
W: demo: embedded-javascript-library usr/share/demo/wwwroot/lib/jquery/dist/jquery.min.js please use libjs-jquery
E: demo: dir-or-file-in-var-run var/run/demo
E: demo: shlib-with-executable-bit usr/share/demo/System.Globalization.Native.so 0755
E: demo: shlib-with-executable-bit usr/share/demo/System.IO.Compression.Native.so 0755
E: demo: shlib-with-executable-bit usr/share/demo/System.Native.so 0755
E: demo: shlib-with-executable-bit ... use --no-tag-display-limit to see all (or pipe to a file/program)
E: demo: systemd-service-file-outside-lib etc/systemd/system/demo.service

Those errors/warnings are related to package contents, I don't think we can do much about that.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/quamotion/dotnet-packaging/pull/20 **Author:** [@kekekeks](https://github.com/kekekeks) **Created:** 10/6/2017 **Status:** ❌ Closed **Base:** `master` ← **Head:** `deb-support` --- ### 📝 Commits (10+) - [`b12e320`](https://github.com/quamotion/dotnet-packaging/commit/b12e320b3f3683dae1edb2fc5882efc6a5a8067b) Initial implementation of the ar (deb) file format - [`87e6f45`](https://github.com/quamotion/dotnet-packaging/commit/87e6f453f2d48f8d18cc40e036afbfad0d0713a1) First steps in reading a DebPackage - [`21f393c`](https://github.com/quamotion/dotnet-packaging/commit/21f393c69af32d0ed9548aaf6ecd308216ef187c) Preliminary support for reading tar files - [`8395616`](https://github.com/quamotion/dotnet-packaging/commit/83956162cc4c9778ba6e4101100ea8967902663c) Support reading the control file. - [`40cbeda`](https://github.com/quamotion/dotnet-packaging/commit/40cbeda06808f27100bf3300265705c15e6150d4) Merge commit '83956162cc4c9778ba6e4101100ea8967902663c' into deb-support - [`3df20a3`](https://github.com/quamotion/dotnet-packaging/commit/3df20a368fd6b4ddf1682e59e515f80724551e66) Fixed build errors after merge - [`e9d6ea1`](https://github.com/quamotion/dotnet-packaging/commit/e9d6ea1ccadf38be93d99750d949a7631c4ef318) Added .idea to gitignore - [`74fc188`](https://github.com/quamotion/dotnet-packaging/commit/74fc18855577f8c1f0b92d8b6fc92f7d8e4e8269) Compute MD5Hash for ArchiveEntry - [`26ad849`](https://github.com/quamotion/dotnet-packaging/commit/26ad849a50b6255488413d81e3fd90efdf0d7782) Fixed some fields in TarHeader and added ComputeChecksum - [`52af4f2`](https://github.com/quamotion/dotnet-packaging/commit/52af4f2c35d485cb235d73a850baa6e50603cca9) Read all relevant info from deb package and check file checksums in test ### 📊 Changes **41 files changed** (+1990 additions, -160 deletions) <details> <summary>View changed files</summary> 📝 `.gitignore` (+2 -1) ➕ `Packaging.Targets.Tests/Deb/DebPackageReaderTests.cs` (+65 -0) ➕ `Packaging.Targets.Tests/Deb/libplist3_1.12-3.1_amd64.deb` (+0 -0) ➕ `Packaging.Targets.Tests/IO/ArFileTests.cs` (+101 -0) 📝 `Packaging.Targets.Tests/IO/CpioFileTests.cs` (+8 -8) ➕ `Packaging.Targets.Tests/IO/TarFileTests.cs` (+133 -0) ➕ `Packaging.Targets.Tests/IO/test.tar` (+0 -0) 📝 `Packaging.Targets.Tests/Packaging.Targets.Tests.csproj` (+7 -1) 📝 `Packaging.Targets.Tests/Rpm/PlistMetadata.cs` (+2 -1) 📝 `Packaging.Targets.Tests/Rpm/RpmMetadataTests.cs` (+3 -3) 📝 `Packaging.Targets.Tests/Rpm/RpmPackageCreatorTests.cs` (+5 -5) 📝 `Packaging.Targets.Tests/Rpm/RpmPackageReaderTests.cs` (+3 -3) 📝 `Packaging.Targets.Tests/Rpm/RpmPackageWriterTests.cs` (+2 -2) 📝 `Packaging.Targets.Tests/Rpm/RpmSignatureTests.cs` (+3 -3) 📝 `Packaging.Targets/ArchiveBuilder.cs` (+8 -3) ➕ `Packaging.Targets/Deb/ControlFileParser.cs` (+68 -0) ➕ `Packaging.Targets/Deb/DebPackage.cs` (+37 -0) ➕ `Packaging.Targets/Deb/DebPackageControlFileData.cs` (+15 -0) ➕ `Packaging.Targets/Deb/DebPackageCreator.cs` (+148 -0) ➕ `Packaging.Targets/Deb/DebPackageReader.cs` (+147 -0) _...and 21 more files_ </details> ### 📄 Description Still need to implement `dotnet-deb` (I can't run your CLI tools on my machine, unfortunately, probably something wrong with SDK). Other than that packages installs and `systemd` service gets created. Lintian report: ``` E: demo: arch-dependent-file-in-usr-share usr/share/demo/System.Globalization.Native.so E: demo: unstripped-binary-or-object usr/share/demo/System.Globalization.Native.so E: demo: arch-dependent-file-in-usr-share usr/share/demo/System.IO.Compression.Native.so E: demo: arch-dependent-file-in-usr-share usr/share/demo/System.Native.a E: demo: arch-dependent-file-in-usr-share ... use --no-tag-display-limit to see all (or pipe to a file/program) E: demo: unstripped-binary-or-object usr/share/demo/createdump E: demo: unstripped-binary-or-object usr/share/demo/libclrjit.so W: demo: hardening-no-relro usr/share/demo/libclrjit.so E: demo: unstripped-binary-or-object ... use --no-tag-display-limit to see all (or pipe to a file/program) W: demo: hardening-no-relro usr/share/demo/libcoreclr.so E: demo: changelog-file-missing-in-native-package E: demo: no-copyright-file E: demo: description-starts-with-package-name E: demo: description-too-short demo.1.0.102.22979.ubuntu.16.04-x64 E: demo: extended-description-is-empty W: demo: no-section-field W: demo: no-priority-field W: demo: missing-intermediate-directory etc/ W: demo: missing-intermediate-directory etc/demo/ W: demo: non-standard-file-perm etc/demo/appsettings.json 0444 != 0644 W: demo: missing-intermediate-directory etc/systemd/ W: demo: missing-intermediate-directory ... use --no-tag-display-limit to see all (or pipe to a file/program) W: demo: non-standard-file-perm etc/systemd/system/demo.service 0444 != 0644 W: demo: non-standard-file-perm usr/share/demo/BouncyCastle.Crypto.dll 0444 != 0644 W: demo: non-standard-file-perm ... use --no-tag-display-limit to see all (or pipe to a file/program) W: demo: extra-license-file usr/share/demo/wwwroot/lib/bootstrap/LICENSE W: demo: extra-license-file usr/share/demo/wwwroot/lib/jquery-validation/LICENSE.md W: demo: extra-license-file usr/share/demo/wwwroot/lib/jquery/LICENSE.txt W: demo: embedded-javascript-library usr/share/demo/wwwroot/lib/jquery/dist/jquery.js please use libjs-jquery W: demo: embedded-javascript-library usr/share/demo/wwwroot/lib/jquery/dist/jquery.min.js please use libjs-jquery E: demo: dir-or-file-in-var-run var/run/demo E: demo: shlib-with-executable-bit usr/share/demo/System.Globalization.Native.so 0755 E: demo: shlib-with-executable-bit usr/share/demo/System.IO.Compression.Native.so 0755 E: demo: shlib-with-executable-bit usr/share/demo/System.Native.so 0755 E: demo: shlib-with-executable-bit ... use --no-tag-display-limit to see all (or pipe to a file/program) E: demo: systemd-service-file-outside-lib etc/systemd/system/demo.service ``` Those errors/warnings are related to package contents, I don't think we can do much about that. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-29 16:30:59 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/dotnet-packaging#170