Gentoo Archives: gentoo-dev

From: Patrice Clement <monsieurp@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] A few mgorny/ projects for upstream-grabs
Date: Mon, 15 Jun 2015 18:11:33
Message-Id: 20150615181114.GJ44953@sigkill.axestech.net
In Reply to: [gentoo-dev] A few mgorny/ projects for upstream-grabs by "Michał Górny"
1 Hi Michal
2
3 I could help out with phsh if you need a hand.
4
5 Cheers,
6 Patrice
7
8 Monday 15 Jun 2015 19:54:59, Michal Górny wrote :
9 > Hi, everyone.
10 >
11 > My time for Gentoo is quite limited right now (you gotta start working
12 > for money at some point :)), and the little time I have I'm trying to
13 > use for the Gentoo work I consider most important. This sadly means
14 > that many of my past tools are earning their share of bitrot and would
15 > really use a new contributors, or possibly even full-time upstream
16 > maintainers :).
17 >
18 > Here's a long list of projects along with short description, their state
19 > and planned TODO items that I won't have time to implement anytime soon.
20 >
21 >
22 > app-admin/eclean-kernel
23 >
24 > The tool to clean up old kernels. A bit controversial in the end
25 > because /boot is a mess.
26 >
27 > status: works with some /boot layouts, fails hard on some, has some
28 > known bugs/requests
29 >
30 > TODO:
31 > - figure out how it sanely could work,
32 > - support /boot shared between multiple systems,
33 > - support BootloaderSpec (maybe),
34 > - clean up the code, possibly rewrite in something saner than Python
35 > (C++?).
36 >
37 >
38 > app-cdr/mirage2iso
39 >
40 > Quite an old tool to convert various image formats to .iso using
41 > libMirage.
42 >
43 > status: working, no known bugs, may use a little cleanup
44 >
45 > TODO:
46 > - support selecting track to read (right now it reads first supported
47 > one),
48 > - support extracting multiple tracks (sessions) -- options to pass
49 > track list and output filename pattern,
50 > - support converting to .bin + .toc/.cue,
51 > - support for more track types (right now, Mode 1 & Mode 2 form 1 are
52 > supported),
53 > - support for audio tracks (how? external converter? a library?).
54 >
55 >
56 > app-portage/cpuinfo2cpuflags
57 >
58 > The tool to get CPU_FLAGS_X86 for your system :). Not really
59 > abandoned but I have some TODO items I won't be able to do soon.
60 >
61 > status: working, no known bugs
62 >
63 > TODO:
64 > - replace /proc/cpuinfo parsing with CPUID assembly/intrinsics --
65 > support more kernels than just Linux,
66 > - possibly extend to non-x86 arches.
67 >
68 >
69 > app-portage/diffmask
70 >
71 > A tool to maintain package group unmasks in sync, and clean up stale
72 > unmasks. Quite specific since it requires unmasks to be copied
73 > exactly from mask file.
74 >
75 > status: quite working, not exactly proud of the design
76 >
77 > No real TODO items but it would be nice to think a bit about
78 > the design and figure out if we couldn't do something more user-
79 > friendly (i.e. not being that strictly bound to package.mask).
80 >
81 >
82 > app-portage/flaggie
83 >
84 > The package.use (& make.conf) flag management tool. Pretty high
85 > priority.
86 >
87 > status: rather working, has a few bugs, certainly would use some new
88 > Portage features
89 >
90 > TODO:
91 > - remove make.conf editing support (it's very complex and broken --
92 > can eat random '$' from the file in some cases),
93 > - therefore: edit global flags via '*/*' entries in package.use,
94 > - support writing 'FOO_BAR:' format for USE_EXPAND in package.use,
95 > - support parsing 'FOO_BAR:' format for USE_EXPAND on command-line
96 > (i.e. 'flaggie libfoo VIDEO_CARDS: +radeon -nvidia'),
97 > - remove implicit '*' expansion in package names and flag names --
98 > package.use can handle '*', so leave it as is and just expand it
99 > when checking if the flags are supported,
100 > - possibly clean up package.use writer (or rewrite it since I'm
101 > no longer able to figure out how it works exactly :)).
102 >
103 >
104 > app-portage/gentoopm
105 >
106 > A wrapper providing nice API to all three Package Managers. Used by
107 > gpyutils, smart-live-rebuild...
108 >
109 > status: stuck in EAPI 4 era, might have some hidden bugs
110 >
111 > TODO:
112 > - add APIs for EAPI 5 -- but this requires Package Manager APIs first,
113 > - maybe some cleanup.
114 >
115 >
116 > app-portage/install-mask
117 >
118 > A tool to update INSTALL_MASK in make.conf using well-known file
119 > groups. Uses make.conf manipulation code from flaggie.
120 >
121 > status: working, make.conf manipulation broken as in flaggie
122 >
123 > TODO:
124 > - the tool should be killed, and INSTALL_MASK group support should be
125 > moved into Portage :). Alike:
126 >
127 > INSTALL_MASK="@systemd @locale -@locale_pl"
128 >
129 > with matches being applied sequentially, and groups being defined
130 > in $repo/metadata/install-mask.conf [and masters].
131 >
132 >
133 > app-portage/pms-test-suite
134 >
135 > A GSoC project and as such, totally abandoned. Not sure if anybody
136 > really cares these days.
137 >
138 > status: stuck in EAPI 4 era, waiting for EAPI 5 in gentoopm...
139 >
140 > TODO:
141 > - support EAPI 5,
142 > - find some use for it?
143 >
144 >
145 > dev-util/atomic-install
146 >
147 > A nice one -- tool to quasi-atomically install files from $D to live
148 > system. The idea is to replace live files as fast as possible,
149 > and quickly revert that if it fails in the middle. Never finished but
150 > nevertheless a good idea :). If someone's up for it, I'd love to see
151 > it working one day.
152 >
153 > status: never reached 'fully working' state
154 >
155 > How it was supposed to work (and mostly works):
156 > - writes 'journal' synchronously with file lists and current status,
157 > - copies (CoWs, hardlinks) files from $D to live system renaming them
158 > to .${filename}.NEW.${random-id-from-journal},
159 > - copies (CoWs, hardlinks) existing files in live system to backups
160 > as .${filename}.OLD.${random-id-from-journal},
161 > - does a quick rename() run to replace files in live system to .NEW
162 > variants,
163 > - if all goes fine, removes .OLD files and the journal,
164 > - if it fails, does a quick rename() run to replace files in live
165 > system back with .OLD variants and cleans up copies afterwards,
166 > - possibly: use some fancy btrfs features :).
167 >
168 >
169 > sys-apps/uam
170 >
171 > The udev-based automounter. Used by a lot of people who don't like
172 > udisks, and also on some non-Gentoo distros.
173 >
174 > status: working, one known bug :)
175 >
176 > No real TODO items. I simply don't use it anymore, so I can't handle
177 > bugs properly :).
178 >
179 >
180 > www-servers/pshs
181 >
182 > A simple HTTP(s) server using libevent to share files passed
183 > on command-line. This one I'll probably keep maintaining, yet there
184 > are some features I'd love to see patches for :).
185 >
186 > status: working, there's some problem with UPnP on my system
187 >
188 > TODO:
189 > - figure out why it longer figures out the external IP via UPnP
190 > (maybe libminiupnpc API change),
191 > - support HTTP authentication,
192 > - support uploading files (via upload form),
193 > - support recursive directory sharing,
194 > - awesome, pretty ncurses output with progressbars on active
195 > downloads using background color (like aptitude),
196 > - think of more fun features to support!
197 >
198 >
199 > x11-libs/libtinynotify*
200 > x11-misc/sw-notify-send
201 > x11-misc/tinynotify-send
202 >
203 > A 'more lightweight' library to send notification-daemon
204 > notifications. Its cool feature is support for pseudo-systemwide
205 > notifications -- if you give it root privileges, it's going to look
206 > hard for active D-Bus sessions and try to send notifications to all
207 > of them!
208 >
209 > status: works, didn't see a change in a long time
210 >
211 > TODO:
212 > - figure out if there's anything to do :),
213 > - maybe improve the systemwide API -- right now it's rather dumb.
214 >
215 > --
216 > Best regards,
217 > Michal Górny