-
Notifications
You must be signed in to change notification settings - Fork 726
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
Use Dir.glob instead of git ls-files #804
base: main
Are you sure you want to change the base?
Conversation
The dependency on git should only be for packaging the gem, not using it. |
Hi @benlangfeld,
That's right. I maintain Hope this makes sense and could be merged 🚀 |
I think you misunderstood what I said. You shouldn’t need a git dependency at runtime if you’re getting them gem from rubygems.org. If you’re pulling the source code then you’re doing it wrong. |
Hi,
I think I was not clear. I'll try to be more verbose :) Also, what I don't understand is why would you be not interested in using |
I know very well what this popular phrase means.
This project is distributed via rubygems.org. Your project is based on not liking Rubygems and choosing to instead use your own packaging and distribution format. You choose to behave as a developer of the project, rather than a consumer of it. Git is a development dependency of the project. You therefore require git. If you instead behave as a consumer, by fetching an official release of the project from rubygems.org, you don’t inherit the dependency on git.
Git is used here to ensure that only tracked files, and not temporary ones which may be generated as part of the build process or otherwise such as log files, are included in the released gem. A glob cannot ensure this.
|
You are wrong here. We do pull it from rubygems and then add a And I'm worried but we don't behave as "developers". We're just packaging it so it reaches more "consumers" (in different forms) from its upstream "developers", that is you :)
Fair enough. Then would you be okay if we include only those files which matter in the release? |
At what point do you execute the contents of the gemspec? Within gem2deb? What is the problem with the machine which executes gem2deb requiring git to be installed (which is included in the gem2deb documentation)? You shouldn't have to specify git as a dependency of the resulting dpkg, which I agree would be onerous. |
I added more comments to my previous comment: #804 (comment). Can you take a look and reply to them as you see fit? :)
Oh, you got the wrong wiki, hehe :)
Now, of course, we ourselves use git to manage the packaging repositories. But we cannot add |
Why do you expect a build of source code to work in an environment that doesn’t include that code’s development dependencies? If you’re shipping a compiled C++ project, does that build container not include a compiler? |
Of course it has all the dependencies in the environment. Just not git. And for the latter part, of course. We don't ship compiled stuff but build them during our package build. And of course, yes. |
Git is a dependency of this project in the same way that gcc or similar is a dependency of a C project. I don’t understand why that is controversial. |
I am very surprised that you said this. D'you need git for doing any compilation work or anything? I don't think so. |
This has got petty and uncooperative. I’m done. Thank you for your suggestion. |
Hi,
Thanks for working on
whenever
so far.However, whilst maintaining this in Debian, I found it to have an unnecessary dependency on
git
whereas that could be very well avoided by usingDir.glob
.This PR fixes the same :)