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

Restructuring/Organizing general Packages etc. #48014

Closed
removewingman opened this issue Dec 31, 2023 · 6 comments
Closed

Restructuring/Organizing general Packages etc. #48014

removewingman opened this issue Dec 31, 2023 · 6 comments

Comments

@removewingman
Copy link

Hello everyone,

in my opinion this repo is way to big and I would like a restructuring. My idea is to do for each category a seperate Repo. As far as my understanding goes it would be relatively easy to add more repositories to xbps. For categories there could be e.g. one for desktop environments, window managers, terminal emulators, wayland, xorg, dev-utils and so much more. The advantages are, because of the organization it is way easier to maintain and to orientate. The only problem that came to my mind is that the xbps-src script needs to be the same in all those repos, but im sure there is a solution to this problem.
The second idea I had was to switch to Gitlab instead of Github because of the group feature in Gitlab you can even better organize your Repos.
Let me know what you think of the idea.

@classabbyamp
Copy link
Member

xbps-src needs all packages in the same repo for dependency resolution and other functionality

gitlab is fairly out of the question:

  1. (IMO) the UI/UX are awful to the point of giving me a headache whenever I have to use it
  2. the amount of compute for CI we get provided free by github would be prohibitively expensive to replace on other platforms

@removewingman
Copy link
Author

Thanks for the answer, I did not know that with the dependencies what a bummer.

@removewingman
Copy link
Author

I'm curious could you not provide for each repo one file where every package is listed, and the build script has every file of each repo locks through it and searches for the dependencies, that is how the build script knows in which repo to get the dependencies from, wouldn't that solve the problem? What is the other functionality, so that everything needs to stay in one repo?

@removewingman removewingman reopened this Dec 31, 2023
@classabbyamp
Copy link
Member

if you move things into multiple repos, you make any kind of large change (e.g. ones that require rebuilding many packages) much harder. you'd have to coordinate pull requests or pushes between repos, ensure every repo has consistent state, do git actions many times over to sync all the different repos, etc.

it's just harder to manage, and would require significant rework of infrastructure and processes.

@removewingman
Copy link
Author

In my opinion it would be worth it, as the projects grows in the long run makes it easier. But in the end it is your decision.

@Duncaen
Copy link
Member

Duncaen commented Jan 1, 2024

There is absolutely no way it would make anything easier to run in the long run, @classabbyamp has a more in-depth understanding of how this repository works.

Even simple packages have chains of dependencies that go into hundreds of packages, orchestrating changes through multiple git repositories is simply not feasible. Large organization use mono-repos for similar reasons, it just makes everything easier to manage and orchestrate and its not like our repository is that big either, the only big problem is the single large srcpkgs directory.

@Duncaen Duncaen closed this as completed Jan 1, 2024
@classabbyamp classabbyamp reopened this Jan 1, 2024
@classabbyamp classabbyamp closed this as not planned Won't fix, can't repro, duplicate, stale Jan 1, 2024
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

No branches or pull requests

3 participants