Skip to content

Returns package name to laminas/laminas-db so an vcs override can be … #31

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

Merged
merged 1 commit into from
Mar 20, 2025

Conversation

tyrsson
Copy link
Member

@tyrsson tyrsson commented Mar 20, 2025

…used to load the package from github instead of just locally.

…used to load the package from github instead of just locally.

Signed-off-by: Joey Smith <jsmith@webinertia.net>

Signed-off-by: Joey Smith <jsmith@webinertia.net>
@tyrsson tyrsson added the bug Something isn't working label Mar 20, 2025
@tyrsson tyrsson added this to the 3.0.0 milestone Mar 20, 2025
@tyrsson tyrsson self-assigned this Mar 20, 2025
@tyrsson tyrsson merged commit 37de610 into 3.0.x Mar 20, 2025
@github-project-automation github-project-automation bot moved this from Todo to Done in @laminas-db Mar 20, 2025
@tyrsson tyrsson deleted the fix-composer-package-name branch March 20, 2025 07:26
@InvisibleSmiley
Copy link

I'm trying to understand why you did it this way instead of keeping the alternate name and adding replace, mapping laminas/laminas-db to self.version as described here: https://getcomposer.org/doc/04-schema.md#replace

That would have had the benefit of allowing to simply require this fork instead of having to resort to a VCS override (which I would guess becomes much slower as branches and tags are added, as opposed to retrieving everything via Packagist).

@tyrsson
Copy link
Member Author

tyrsson commented Apr 28, 2025

Please see this issue.
#22

We can not release via packagist while using the same vendor name. Plus, its frowned upon to keep the original providers namespace if development is going to continue outside of the laminas team. The issue I linked explains the rationale.

The code you are seeing here is truly only intended to be used by those of us that are working on the package.

@InvisibleSmiley
Copy link

First of all apologies if this now turns into a lengthy discussion. Please let me know if/once you feel this should be taken elsewhere.

Also this is of course your fork so you can do whatever you want. As I already explained, I just wondered whether you maybe did not know about the replace "trick" and therefore chose a different (in my eyes suboptimal) approach out of ignorance.

That said, I understand that you cannot use Packagist for laminas/laminas-db. Which is exactly why I wondered why you did not go/stay with axleus/laminas-db (which you can publish) but at the same time, maybe only for the 2.x releases, add a replace section as described. So people would composer require axleus/laminas-db and then anything that depends on laminas/laminas-db 2.x would have that dependency fulfilled.

While laminas/laminas-db may be in security only mode or whatever it's called, I feel it's essentially abandoned/discontinued and people like me are searching for a replacement - ideally maintained, but at the least fully functional and compatible with PHP 8.4.

@tyrsson
Copy link
Member Author

tyrsson commented Apr 28, 2025

While laminas/laminas-db may be in security only mode or whatever it's called, I feel it's essentially abandoned/discontinued and people like me are searching for a replacement - ideally maintained, but at the least fully functional and compatible with PHP 8.4.

This is what we are working hard to provide. Just understand there is only a few of us. Just three in fact. While I agree, we could have kept the vendor name etc as it were that still would not have addressed us continuing to use the Laminas namespace in a fork, which we should not.

Long term that does not address all of the goals which is to get the package updated to new versions, reduce the maintenance burden and provide satellite packages. All in support of the primary goal which is to have the component set back to active development under the laminas organization which in the long term will provide the most stability for users.

The entire point of this work it to prevent the component from dying. There has already been a HUGE amount of work done and we intend to see it through so whether the component lives on under the laminas org or remains a fork only time will tell but the component is not dead. That we assure you.

Which is exactly why I wondered why you did not go/stay with axleus/laminas-db (which you can publish) but at the same time, maybe only for the 2.x releases, add a replace section as described. So people would composer require axleus/laminas-db and then anything that depends on laminas/laminas-db 2.x would have that dependency fulfilled.

As I said, that still does not address the fact that we would be using the Laminas namespace in a fork. The laminas team is aware of our work but we feel that the entire over all process will be a lot smoother if we do not try to release a package in this way. The laminas team policy is that outside code, even when developed by their team members, should not use the Laminas namespace. Only code maintained by their team should be namespaced Laminas. So to cut a public release of axleus/laminas-db all of the namespaces would need to be changed. Then what happens if the team decides to pick the project back up and bring laminas-db out of security only? With all things considered we have chosen the path we are now on for better or worse.

If all goes well we will know pretty soon which direction things are going to go and we will move forward accordingly.

Hope this helps clarify why we have made the choices we have.

@tyrsson
Copy link
Member Author

tyrsson commented Apr 28, 2025

Also, feel free to start a discussion here if have any more questions or suggestions :)

https://github.com/axleus/laminas-db/discussions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants