forked from NetBSD/pkgsrc
-
Notifications
You must be signed in to change notification settings - Fork 9
Closed
Description
Along the same lines as #13 I think it's worth considering, now that we are not limited by CVS, whether larger groups of packages should be split off into separate repositories.
As an example, rather than all of the xfce packages being spread across the tree:
$ ls -d */xfce*
archivers/xfce4-thunar-archive/ net/xfce4-wavelan-plugin/ sysutils/xfce4-verve-plugin/ x11/xfce4-garcon/
devel/xfce4-conf/ sysutils/xfce4-appfinder/ sysutils/xfce4-xkb-plugin/ x11/xfce4-indicator-plugin/
devel/xfce4-dev-tools/ sysutils/xfce4-battery-plugin/ textproc/xfce4-dict/ x11/xfce4-notes-plugin/
editors/xfce4-mousepad/ sysutils/xfce4-cpugraph-plugin/ time/xfce4-orage/ x11/xfce4-notifyd/
graphics/xfce4-icon-theme/ sysutils/xfce4-diskperf-plugin/ time/xfce4-timer-plugin/ x11/xfce4-panel/
mail/xfce4-mailwatch-plugin/ sysutils/xfce4-fsguard-plugin/ wip/xfce4-wm-dfbsd/ x11/xfce4-places-plugin/
meta-pkgs/xfce4/ sysutils/xfce4-genmon-plugin/ wm/xfce4-wm/ x11/xfce4-screenshooter/
meta-pkgs/xfce4-extras/ sysutils/xfce4-mount-plugin/ wm/xfce4-wm-themes/ x11/xfce4-session/
misc/xfce4-calculator-plugin/ sysutils/xfce4-netload-plugin/ x11/xfce4-clipman-plugin/ x11/xfce4-settings/
misc/xfce4-smartbookmark-plugin/ sysutils/xfce4-power-manager/ x11/xfce4-dashboard/ x11/xfce4-terminal/
misc/xfce4-time-out-plugin/ sysutils/xfce4-systemload-plugin/ x11/xfce4-desktop/ x11/xfce4-tumbler/
misc/xfce4-weather-plugin/ sysutils/xfce4-taskmanager/ x11/xfce4-docklike-plugin/ x11/xfce4-whiskermenu-plugin/
multimedia/xfce4-mpc-plugin/ sysutils/xfce4-thunar/ x11/xfce4-exo/
multimedia/xfce4-thunar-media-tags/ sysutils/xfce4-thunar-vcs/ x11/xfce4-eyes-plugin/
instead move them into their own xfce git repository that is added as a git submodule as xfce/ in the root.
A few immediate benefits:
- Simplify finding packages, no more arbitrary split into categories.
- Updates can be worked on separately, and when ready and tested the whole submodule can be updated atomically.
- Platforms for which a desktop environment like XFCE makes no sense can easily avoid building the entire group.
Other potential benefits:
- Provides an opportunity to give people access to projects that they are interested in and have expertise in, without having to give them direct access to be able to modify other parts of the source tree which they may not be as familiar with and could break.
- Provide tagged releases so if for whatever reason a user wanted to run an earlier release they can do so easily by simply reverting to a different submodule commit.
Drawbacks:
- Complications when considering where to put a dependency of multiple groups.
- Merging from pkgsrc is more difficult.
I think this approach could work for a number of other potential project groups, and ultimately make it much easier to have a core set of packages that can serve as the baseline for "this is the minimum set of packages that must always work on every platform".
Metadata
Metadata
Assignees
Labels
No labels