Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev <gentoo-dev@l.g.o>
Subject: [gentoo-dev] New Portage fork: sys-apps/portage-mgorny
Date: Thu, 22 Mar 2018 19:04:00
Message-Id: 1521745426.836.25.camel@gentoo.org
1 Hello, everyone.
2
3 After 2+ years of repeating disagreements with Portage maintainer(s)
4 I have finally decided to fork Portage. My little fork uses technical
5 name of 'portage[mgorny]' [1] (to distinguish it from mainline Portage),
6 and aims to focus on cleaning up code and adding useful features with
7 less concern for infinite bug-by-bug compatibility.
8
9 Detailed rationale in README [2].
10
11
12 Before installing
13 -----------------
14 This is a bleeding-edge, strictness-first fork of Portage. It is
15 intended for developers and power users mostly. Things will break.
16 You will eventually be asked to remove files deprecated 5+ years ago.
17 Developer mistakes will harm you (but someone needs to find them
18 and report them!)
19
20 Dynamic dependencies are off by default (following Council decision
21 from 3.5yr ago). If you haven't rebuilt your system recently, you may
22 need to use '--changed-deps' once. Afterwards, things should work fine
23 unless developers screw up, and then you should report bugs.
24
25 Only ~arch version at the moment.
26
27
28 Installing
29 ----------
30 To switch to my fork of Portage, just:
31
32 emerge -vn sys-apps/portage-mgorny
33
34 Note that you may need to:
35
36 emerge --deselect sys-apps/portage app-portage/repoman
37
38 (repoman is integrated back into Portage)
39
40 You may also need to upgrade all revdeps of Portage since the newest
41 versions were bumped with updated dependencies.
42
43 Please note that due to misdesign, Portage will abort upon having to
44 unmerge itself on first install. However, it is a harmless failure
45 and portage[mgorny] will be installed already at the point, so upon
46 restarting it will just finish cleaning up.
47
48
49 Merge plan
50 ----------
51 I do intend to regularly merge from mainline Portage, and preserve
52 reasonable compatibility (especially in terms of API). I also plan to
53 keep reasonably good commit quality as to make it easier for Portage
54 developers to merge back. However, this is not my primary concern.
55
56
57 Releases
58 --------
59 I plan to make frequent releases. I'm planning to version the releases
60 by sequential values of fourth version component from the last Portage
61 release. For example, since the last Portage release is 2.3.24, I have
62 just released portage-mgorny-2.3.24.1, the next release will
63 be 2.3.24.2, etc. until Portage 2.3.25 is released.
64
65 The releases are made against *git HEAD* and not respective Portage
66 versions, i.e. 2.3.24.1 is [2.3.24 + changes in mainline + my changes].
67 The matching versions are mostly meant to make >= deps easier, i.e. you
68 can reasonably assume portage-mgorny-2.3.24* will have all the new APIs
69 of portage-2.3.24.
70
71 The release notes [3] list any major changes I make. They do not list
72 the respective changes in mainline Portage, sorry.
73
74
75 Bugs, features and requests
76 ---------------------------
77 I'm open to your feedback, including things that were rejected
78 by mainline Portage team. For best efficiency, please report bugs
79 on GitHub [4] and/or open pull requests [5].
80
81 Enjoy!
82
83
84 [1]:https://github.com/mgorny/portage
85 [2]:https://github.com/mgorny/portage/blob/master/README
86 [3]:https://github.com/mgorny/portage/releases
87 [4]:https://github.com/mgorny/portage/issues
88 [5]:https://github.com/mgorny/portage/pulls
89
90 --
91 Best regards,
92 Michał Górny

Replies