Skip to content

Package migration process

Kim J. Nordmo edited this page Jun 7, 2022 · 46 revisions

When migrating a package from an existing Chocolatey Package Repository, there are a number of things that need to be done. These set of guidelines list the things that should be done during that process to ensure that it goes as smoothly as possible.

  1. Make sure to contact the existing package maintainer to ensure that they are on-board with migrating the package to this repository.
  2. Open a discussion about migrating the package to the Chocolatey Package Repository here
    The created discussion must contain at a minimum the following information:
    • The name of the package that is requested to be migrated
    • Why it should be migrated to this repository
    • The a link to both the package and the repository the source code is located in (if it exists)
    • Who will be responsible for fixing issues, reviewing changes, and making sure it is kept up to date (ie, fix the updater when it fails)
  3. Once a discussion has run its course and is accepted, an issue will be created based on the discussion.
  4. DO NOT CONTINUE WITH THIS STEP UNTIL THE MIGRATION IS ACCEPTED, AND A ISSUE WAS CREATED BASED ON A DISCUSSION
    Create a PR to the existing Chocolatey Package Repository to remove the package. This will include:
    • Deleting all package source files.
    • If the package is using ketarin:
      • Remove the ketarin.*.xml file.
      • If the _output folder is checked into the repository, delete the folder associated with the package.
    • Leave the icon used by the package in place, this will mean that old package versions will still have a valid URL.
  5. Create a PR to this repository for the package with the following notes:
    • Collect all relevant package data and put it in this repositry. Without any changes make first commit. This represent original package from remote repository.
    • Following all guidelines listed here.
  6. Discuss with the existing maintainer if they want to remain a package maintainer. If not, from chocolatey.org for that package. (In cases where original maintainer is removed, we will assume that you are taking over as a new maintainer)
  7. Add the chocolatey user as a maintainer in both the nuspec.
  8. Add your github username (or the person that will be responsible for the package) in the CODEOWNERS file located in the repository.
  9. Once the PR to the existing Chocolatey Package Repository has been merged, the PR to this repository can be merged. Allow minimum 2 weeks for response, after that period merge anyway.
  10. If there are existing issues/PR's on the existing package repository for the package being migrated, these should be transferred/linked to this repository, and worked on here.