Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update composer package name? #13

Closed
beporter opened this issue Apr 8, 2015 · 21 comments
Closed

Update composer package name? #13

beporter opened this issue Apr 8, 2015 · 21 comments

Comments

@beporter
Copy link
Contributor

beporter commented Apr 8, 2015

To follow convention, this package should probably be named loadsys/cakephp-configread or cakephp-config-read.

@justinyost
Copy link
Contributor

In short we probably can't easily:

Please make sure you have read the package naming conventions before submitting your package. The authoritative name of your package will be taken from the composer.json file inside the master branch or trunk of your repository, and it can not be changed after that. Cite

First of all, you must pick a package name. This is a very important step since it can not change and it should be unique enough to avoid conflicts in the future. Cite

Probably the only way to do so is to abandon the current package from Packagist and then possibly create a new package, but I'm not sure that would work.

I've updated the Plugin Skeleton to reflect this information.

@beporter
Copy link
Contributor Author

beporter commented Apr 8, 2015

Seems like if we're not concerned about support any existing usage, we can rename in composer.json and re-publish on Packagist as the new name.

I'm not saying this is a great choice, but other than internally I don't think anyone is using our stuff, honestly.

As you said, we could always mark the old versions as abandoned for a while.

@justinyost
Copy link
Contributor

Yeah, I'm not sure if this is actually a real solution.

Ie. if we mark the package as abandoned and then try to re-add it, will Packagist say: Nope you can't re-add this because it already exists at this location (since the source URLs will be the same)

@justinyost
Copy link
Contributor

Note, we don't have a way of deleting a package from Packagist, only marking it as abandoned.

@beporter
Copy link
Contributor Author

beporter commented Apr 8, 2015

How...unforgiving.

@ricog
Copy link
Member

ricog commented Apr 8, 2015

I have been able to delete a package on packagist.

@justinyost
Copy link
Contributor

I sure don't see that:

screen shot 2015-04-08 at 3 06 20 pm

@justinyost
Copy link
Contributor

Maybe cause it has 0 installs?

@beporter
Copy link
Contributor Author

beporter commented Apr 8, 2015

That can't be it because I can delete the https://packagist.org/packages/loadsys/puphpet-release-composer-installer package, which has been installed. Weird.

@justinyost
Copy link
Contributor

I can see that delete button for that package, so it's not like a github admin thing.

And I'm listed as a maintainer for the sociallinks package that doesn't have a delete button.

@beporter
Copy link
Contributor Author

beporter commented Apr 8, 2015

composer/packagist#166 (comment) maybe?

@justinyost
Copy link
Contributor

Yep, verified actually by reading the code (yeah Java).

@beporter
Copy link
Contributor Author

beporter commented Apr 8, 2015

What a mess. Packagist has two big related issues: Renaming (correcting) package names, and deprecating/deleting old packages.

These are hard problems to be sure since the client (composer) side really must not break trivially, but the amount of conversation generated about them is just crazy. (See also: composer/packagist#47)

@beporter
Copy link
Contributor Author

beporter commented Apr 9, 2015

So basically if we don't care about having to patch any existing composer.json files from our various consuming projects, we could request that they delete all of the mis-named packages from Packagist and we could re-submit them with corrected ones. I don't care about the download counts, since they are meaningless after taking Travis builds into account. The only thing that warrants any concern is whether it might impact any external third parties using our stuff (which is negligible IMO.)

@justinyost
Copy link
Contributor

"The only thing that warrants any concern is whether it might impact any external third parties using our stuff (which is negligible IMO.)" You say that and while for some that might be true. The reality is we can't tell who is using our stuff or at what rate or how they are using it.

We have no data upon which to make that decision basically and if anyone is using this stuff through Composer we basically just throw up a huge middle finger to them.

Look I don't like the names but if the choice is breaking even one person's installation of our OSS or keeping with a bad name, I'll choose the bad name. The reward isn't worth it when we can't really inform people about this change. We can just ensure we make better choices moving forward.

@beporter
Copy link
Contributor Author

beporter commented Apr 9, 2015

Well we can inform them:

$ composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - The requested package loadsys/config-read could not be found in any version,
      there may be a typo in the package name.

...just not politely or ahead of time. The first thing most reasonable people would do would be to go find and check either the Packagist page or the Github repo, both of which would show a different name.

Seems better to expose as few people to that middle finger as possible by doing now when the audience will never be smaller. I wish there was a more graceful way where everyone gets to "win," but that never really happens in this industry and I'm not thrilled about not being able to guess the names of my own packages correctly for all time because we aren't willing to correct a mistake, apologize for it, and move forward.

@justinyost
Copy link
Contributor

Reasonable point, I vote we start with one super low traffic one and try it out:
Sitemap or SocialLinks are good ideas

https://packagist.org/packages/loadsys/cakephp_sitemap

https://packagist.org/packages/loadsys/cakephp_sociallinks

@beporter
Copy link
Contributor Author

Unless anyone else objects to getting the middle finger process started, that sounds good to me.

@justinyost
Copy link
Contributor

Sure feel free to start with a package and try it out, since you are the one most in favor of this.

Assigning this issue to @beporter

For each project create an issue when you get it deleted to edit the composer.json files and re-submit to Packagist and I'll take over from there.

@beporter
Copy link
Contributor Author

I've renamed the loadsys/config-read to loadsys/cakephp-config-read on both the 2.x and 3.x branches and emailed Packagist requesting the delete.

@beporter
Copy link
Contributor Author

beporter commented May 1, 2015

Rename is complete. Closing.

@beporter beporter closed this as completed May 1, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants