Skip to content

feat: add ExecutableNames and InstallPath fields to PkgSpec - #209

Merged
r0mflip merged 1 commit into
google:masterfrom
goog-harish:goospec-update
Sep 1, 2026
Merged

feat: add ExecutableNames and InstallPath fields to PkgSpec#209
r0mflip merged 1 commit into
google:masterfrom
goog-harish:goospec-update

Conversation

@goog-harish

Copy link
Copy Markdown
Contributor

Add ExecutableNames and InstallPath fields to PkgSpec to support identifying application binaries and installation directories.

  • Add ExecutableNames ([]string) and InstallPath (string) to goolib.PkgSpec
  • Display InstallPath in goolib.PkgSpec.PrettyPrint
  • Add unit tests in goolib and persistence tests in googetdb
  • Bump version to 3.3.3@0 in googet.goospec and add a release note

@goog-harish

Copy link
Copy Markdown
Contributor Author

Tested this locally:

test.goospec

 cat /tmp/test.goospec 
{
  "name": "test-app",
  "version": "1.0.0@1",
  "arch": "noarch",
  "executableNames": ["test.exe", "helper.exe"],
  "installPath": "C:\\Program Files\\TestApp"
}

installed in a local db

 /tmp/googet -root "$TEST_ROOT" install -db_only -force ./test-app.noarch.1.0.0@1.goo
Install test-app.noarch.1.0.0@1.goo? (y/N): y
Installing test-app 1.0.0@1...
Installation of test-app completed

verified json includes the new fields

 /tmp/googet -root "$TEST_ROOT" installed --format=json                          
[
  {
    "SourceRepo": "",
    "DownloadURL": "",
    "Checksum": "",
    "LocalPath": "/tmp/tmp.JfI10QcEbC/cache/test-app.noarch.1.0.0@1.goo",
    "UnpackDir": "",
    "PackageSpec": {
      "Name": "test-app",
      "Version": "1.0.0@1",
      "Arch": "noarch",
      "Replaces": null,
      "Conflicts": null,
      "Provides": null,
      "Install": {},
      "Uninstall": {},
      "Verify": {},
      "ExternalProgramName": "",
      "ExecutableNames": [
        "test.exe",
        "helper.exe"
      ],
      "InstallPath": "C:\\Program Files\\TestApp"
    },
    "InstalledFiles": {},
    "InstallDate": 1788196085,
    "InstalledApp": {
      "Name": "",
      "Reg": ""
    }
  }
]

@nguyen-phillip
nguyen-phillip self-requested a review August 31, 2026 17:48
@r0mflip
r0mflip self-requested a review August 31, 2026 20:15
Add `ExecutableNames` and `InstallPath` fields to `PkgSpec` to support identifying application binaries and installation directories.

- Add ExecutableNames ([]string) and InstallPath (string) to goolib.PkgSpec
- Display InstallPath in goolib.PkgSpec.PrettyPrint
- Add unit tests in goolib and persistence tests in googetdb
- Bump version to 3.3.3@0 in googet.goospec and add release note
@r0mflip
r0mflip merged commit f755e9c into google:master Sep 1, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants