Introduction
Introduction Statistics Contact Development Disclaimer Help
voidlinux - sfeed_tests - sfeed tests and RSS and Atom files
git clone git://git.codemadness.org/sfeed_tests
Log
Files
Refs
README
LICENSE
---
voidlinux (77218B)
---
1 <?xml version="1.0" encoding="utf-8"?>
2 <feed xmlns="http://www.w3.org/2005/Atom">
3
4 <title>Void news</title>
5 <subtitle>Follow Void Linux news</subtitle>
6 <link href="https://voidlinux.org/"/>
7 <link type="application/atom+xml" rel="self" href="https://voidl…
8 <updated>2020-08-27T02:05:45+00:00</updated>
9 <author>
10 <name>Void Linux Team</name>
11 </author>
12 <id>https://voidlinux.org/</id>
13
14
15 <entry>
16 <title>Welcome New Contributors!</title>
17 <link href="https://voidlinux.org/news/2020/05/new-contr…
18 <id>https://voidlinux.org/news/2020/05/new-contributors<…
19 <published>2020-05-01T00:00:00+00:00</published>
20 <updated>2020-05-01T00:00:00+00:00</updated>
21 <content type="xhtml">
22 <div xmlns="http://www.w3.org/1999/xhtml">
23 <p><p>The Void project is pleased to wel…
24
25 <p>Joining us to work on packages is <code class="language-plaintext hig…
26
27 <p>Joining us to advance the docs site are <code class="language-plainte…
28
29 <p>Interested in seeing your name in a future update here? Read our
30 <a href="/contribute/">Contributing Page</a> and join us today!</p>
31 </p>
32 </div>
33 </content>
34 </entry>
35
36 <entry>
37 <title>Some Context for Recent Events</title>
38 <link href="https://voidlinux.org/news/2020/04/some-cont…
39 <id>https://voidlinux.org/news/2020/04/some-context</id>
40 <published>2020-04-24T00:00:00+00:00</published>
41 <updated>2020-04-24T00:00:00+00:00</updated>
42 <content type="xhtml">
43 <div xmlns="http://www.w3.org/1999/xhtml">
44 <p><h3 id="notice">Notice</h3>
45
46 <p>This article is being actively edited and amended for both grammar and
47 to answer new questions as they come up.</p>
48
49 <ul>
50 <li>
51 <p>12:05 PST - Feedback from IRC for English, clarification of the
52 timeline of xtraeme’s resignation and subsequent ban.</p>
53 </li>
54 <li>
55 <p>12:17 PST - Correct innaccuracies in the musl section. My
56 understanding of the bug was incorrect (@the-maldridge).</p>
57 </li>
58 <li>
59 <p>2020-04-27 - Correct xtraeme’s pronouns, spelling/grammar clean…
60 </li>
61 </ul>
62
63 <hr />
64
65 <p>First a disclaimer. This is written from my point of view
66 (@the-maldridge), and while it may contain views and opinions of the
67 project, you should assume these are my views. This is posted here
68 and in the official name-space of Void Linux as questions have asked
69 that demand answers. I hope that in this post I can provide some
70 answers.</p>
71
72 <p>To answer the immediate question of the day, Juan RP (xtraeme) has
73 chosen to leave the Void Linux project.</p>
74
75 <p>There will be no noticeable disruption to users, and the project will
76 continue as before. We appreciate your support of Void and continuing
77 to advance the state of the void. To any maintainer or contributor
78 that was on the receiving end of one of xtraeme’s recent posts, I
79 would like to extend the my apologies for this and those of the
80 project. Void is a project we intend all to be involved in, and that
81 means treating others with respect.</p>
82
83 <p>I’d now like to answer a few questions that came to my mind as this
84 situation developed. I’m on the West coast of the US, so I woke up to
85 a lot of this already in progress, but I also have a lot more
86 historical context than what is easily find-able. Keep in mind that
87 out of respect for Juan’s privacy, I am deliberately not revealing
88 some information they chose to reveal to project maintainers. They
89 may have left a sour taste with me, but they still have a right to
90 privacy like anyone else, and if they wish to share details of their
91 personal life, that is their decision and theirs alone.</p>
92
93 <h2 id="how-will-the-project-survive-without-xtraeme">How will the proje…
94
95 <p>Short: Like we have before.</p>
96
97 <p>Long: This is not the first time xtraeme has left Void. I wrote about
98 this on my personal site back in 2018, and you can read that full
99 <a href="https://michaelwashere.net/post/2018-11-28-enobdfl/">article</a…
100 there. Running a project like Void means ensuring that there is no
101 single point of failure. We have a healthy pool of developers, and
102 short of perhaps some folks wanting to take some time off to recover
103 from the events of the day, I fully expect the project will continue
104 as it has.</p>
105
106 <h2 id="the-thread-on-github-mentioned-xtraeme-has-broken-things-in-the-…
107
108 <p>Being rolling release and not breaking things involves a lot of
109 coordination. Some of this coordination is baked into the software.
110 For example, you can’t update your system while large rebuilds are in
111 progress because that would install incompatible versions of some
112 libraries (we’re working on improving the user experience around this
113 though).</p>
114
115 <p>Some of the recent changes that come to mind in no particular order:<…
116
117 <ul>
118 <li>
119 <p>Pushing a musl update with no coordination. For context around
120 the change, see <a href="http://musl.libc.org/time64.html">this link</a>…
121
122 <p>This is something we’re planning a lot of work around because
123 updating the C library will involve recompiling almost everything
124 on musl against it. Normally there’s ABI compatibility, but for
125 reasons far beyond the scope of this article, musl is different.
126 There is an ongoing dialog in #musl on freenode with some Alpine
127 devs as well trying to determine the best way to do this upgrade.</p>
128
129 <p>Updated: The original version referenced 1.2 of musl. This was
130 incorrect as the interactions that caused this problem are not
131 unique to this version.</p>
132 </li>
133 <li>
134 <p>Pushing a glibc update with no coordination. We saw the trouble
135 that befell Arch when they did a glibc update that temporarily
136 broke bash. We’d hoped to avoid this same fate, but while
137 discussing the change, the package was merged without discussion.</p>
138 </li>
139 <li>
140 <p>General problems related to single points of failure. Though
141 this is not an issue now, there was a time where xtraeme was the
142 single point of failure. Through their personal inaction we lost
143 the voidlinux.eu domain. We had a lot of trouble getting the
144 project back into a stable state, but through a significant amount
145 of effort, we recovered. Though newer maintainers probably don’t
146 notice this, there are a lot of older developers and users who
147 remember when xtraeme was all that Void was. The project has
148 grown significantly since then, and this is a change I’m not sure
149 xtraeme ever fully adjusted to.</p>
150 </li>
151 </ul>
152
153 <h2 id="i-feel-like-youre-not-telling-a-lot-of-stuff-where-can-i-get-tha…
154
155 <p>For better or for worse, a lot of discussions happen behind closed
156 doors. We don’t feel it is our place as Void Linux to air the dirty
157 laundry of maintainers and contributors. What goes on in your
158 personal life outside of Void is not our concern, and we have no right
159 to tell others your secrets. That being said, all factors are
160 considered when evaluating granting or removing a commit bit. Note
161 that according to <a href="https://infradocs.voidlinux.org">InfraDocs</a…
162 all of the initial discussion of onboarding and offboarding
163 maintainers happens on private forums. These discussions are pretty
164 mundane, usually along the lines of “have they broken anything?” or
165 “wow, this person does a lot of work really fast”. The discussions
166 around xtraeme unfortunately have been of the form “their conduct
167 towards others really isn’t great, but I’m not comfortable approachi…
168 them.”</p>
169
170 <h2 id="does-void-profit-from-xtraemes-work">Does Void profit from xtrae…
171
172 <p>While Void and its users <em>benefit</em> from the work of all develo…
173 including xtraeme, no profit is derived from this work.</p>
174
175 <p>Void is an Open Source project, it always has been and will continue
176 to be one. You are free to use the code within the confines of the
177 license. Since Void is permissively licensed, you are welcome to use
178 it commercially as well, though please be a good citizen of the FOSS
179 community and upstream your patches when practical.</p>
180
181 <p>Should xtraeme wish to change the license of their copy of XBPS, we
182 will evaluate the situation.</p>
183
184 <p>Void does not accept donations. We appreciate the efforts of those
185 that reach out from time to time wishing to support the project
186 financially, but our expenses are minimal. If you want to contribute,
187 you can help by updating packages, reviewing issues, or generally
188 being a part of the community. If an individual maintainer chooses to
189 solicit or accept a donation for their work, this is done separately
190 from the project. International tax law is a complicated beast, and
191 as a project we’re not comfortable accepting donations until we have
192 the infrastructure in place to show where the money goes, and provide
193 you with appropriate documentation.</p>
194
195 <h2 id="did-xtraeme-resign-or-were-they-banned">Did xtraeme resign, or w…
196
197 <p>Timing is everything. The ticket which expressed xtraeme’s desire …
198 resign was opened first, then over the next hour they lashed out at
199 several project members. The resignation was processed per their
200 wishes, and per their conduct torwards others, a ban was applied at
201 the organization level.</p>
202
203 <h2 id="i-want-to-talk-to-someone-about-this">I want to talk to someone …
204
205 <p>Sure, we live in interesting times, and talking to others is a great
206 way to cope with unexpected change. Feel free to chat on Void’s
207 official IRC channel <code class="language-plaintext highlighter-rouge">…
208 at <code class="language-plaintext highlighter-rouge">r/voidlinux</code>…
209 can find on the website.</p>
210
211 <h1 id="what-happens-now">What happens now?</h1>
212
213 <p>Remember these are my words (@the-maldridge) not necessarily those of
214 the project.</p>
215
216 <p>This is a really uncomfortable place to be in. None of us want to
217 start a Twitter war, and at the end of the day, Void is about working
218 on software we all believe in.</p>
219
220 <p>Void will continue. We do appreciate the work that xtraeme did to get
221 us here, projects like Void need someone to have an idea and run with
222 it, then convince others to join you. xtraeme was that early person
223 with an idea, there’s no denying this. It’s sad that this
224 collaboration had to end this way. I would be lying if I said this
225 was a surprise to me, but I truly did not in my wildest imagination
226 expect it to play out like this.</p>
227
228 <h3 id="enough-of-politics-diplomacy-and-speaking-as-a-project-what-do-y…
229
230 <p>The last 8 months since xtraeme showed up again have been a roller
231 coaster. It’s been a stressful time and I’ve come very close to
232 leaving the project several times. I’m one of a handful of people who
233 directly maintain the day to day infrastructure that builds and serves
234 Void, and that made me the receiving end of more than one rant. I’m
235 going to take a step back and think about if I want to continue this
236 project or work on one of my own more. When I started working on Void
237 I was in college and employed by a university that was running Void
238 internally (sadly, they no longer do). I had a lot more free time
239 then, and Void was a lot less stressful to work on.</p>
240
241 <p>xtraeme is a talented C developer; there is no denying this, and I
242 respect their work on XBPS. It is certainly not without bugs, but
243 no one’s code is. I am personally upset that this is how this had to
244 end. I expected at some point xtraeme would part ways with the
245 project, as their goals and those of the project have diverged. I am
246 upset that they felt the need to take out their frustration on
247 contributors and maintainers, and that is why the decision was made to
248 ban them from the organization.</p>
249 </p>
250 </div>
251 </content>
252 </entry>
253
254 <entry>
255 <title>OpenSSH 8.2 update requires restart of sshd</titl…
256 <link href="https://voidlinux.org/news/2020/02/openssh-8…
257 <id>https://voidlinux.org/news/2020/02/openssh-8.2</id>
258 <published>2020-02-20T00:00:00+00:00</published>
259 <updated>2020-02-20T00:00:00+00:00</updated>
260 <content type="xhtml">
261 <div xmlns="http://www.w3.org/1999/xhtml">
262 <p><p>With the OpenSSH update to 8.2 you…
263 <code class="language-plaintext highlighter-rouge">sshd</code> service, …
264
265 <p>XBPS will print a notice about this when updating OpenSSH,
266 but we hope by posting this notice we will reach the
267 users who don’t read the output of regular updates
268 and avoid or minimize complications due to the update.</p>
269
270 <p>We considered restarting sshd automatically on update,
271 but the policy of not restarting, enabling or otherwise
272 interact with services during updates stands.</p>
273 </p>
274 </div>
275 </content>
276 </entry>
277
278 <entry>
279 <title>News about XBPS</title>
280 <link href="https://voidlinux.org/news/2020/01/xbps-news…
281 <id>https://voidlinux.org/news/2020/01/xbps-news</id>
282 <published>2020-01-30T00:00:00+00:00</published>
283 <updated>2020-01-30T00:00:00+00:00</updated>
284 <content type="xhtml">
285 <div xmlns="http://www.w3.org/1999/xhtml">
286 <p><p>XBPS 0.58 was just released, with …
287 Since the last post was for 0.54, this post includes all changes and som…
288
289 <h2 id="highlights">Highlights</h2>
290
291 <h3 id="performance-improvements">Performance improvements</h3>
292
293 <p>Some users might have noticed that removing the <code class="language…
294 The dependency resolution algorithm has been completely rewritten and is…
295
296 <p>See the <a href="https://github.com/void-linux/xbps/pull/78">pull req…
297
298 <p>The <code class="language-plaintext highlighter-rouge">--fulldeptree<…
299
300 <h3 id="ignorepkg-configuration-option"><code class="language-plaintext …
301
302 <p>Many users tried to get rid of the default kernel or some other <code…
303 For this we’ve added a new configuration keyword: <code class="languag…
304
305 <p>With this new keyword you can ignore packages that are pulled in by o…
306
307 <p>As example you can add <code class="language-plaintext highlighter-ro…
308
309 <div class="language-plaintext highlighter-rouge"><div class="highlight"…
310 # xbps-remove linux-firmware-amd
311 </code></pre></div></div>
312
313 <p>This works for any package, i.e. being able to remove <code class="la…
314 Or removing the <code class="language-plaintext highlighter-rouge">linux…
315
316 <h3 id="noextract-configuration-option"><code class="language-plaintext …
317
318 <p>Another useful new feature is the new <code class="language-plaintext…
319 files that should not be extracted when installing or updating packages.…
320
321 <p>This allows as example to skip extracting translations the users are …
322 allowing to reduce the installation size.</p>
323
324 <p>We plan to make use of it in <code class="language-plaintext highligh…
325
326 <h2 id="download-only-flag">Download only flag</h2>
327
328 <p>A new flag was added to <a href="https://man.voidlinux.org/xbps-insta…
329 download packages and its dependencies without installing them.</p>
330
331 <h2 id="changelog">Changelog</h2>
332
333 <h3 id="xbps-058-2020-01-30">xbps-0.58 (2020-01-30):</h3>
334
335 <ul>
336 <li>
337 <p>libfetch: fix <a href="https://www.freebsd.org/security/advisorie…
338 </li>
339 <li>
340 <p><a href="https://man.voidlinux.org/xbps-query.1">xbps-query(1)</a…
341 of orphans, needing multiple iterations to collect
342 all of them in a single transaction. <a href="https://github.com/xtraeme…
343 </li>
344 <li>
345 <p><a href="https://man.voidlinux.org/xbps-checkvers.1">xbps-checkve…
346 To list removed templates in srcpkgs. <a href="https://github.com/Chocim…
347 </li>
348 <li>
349 <p><a href="https://man.voidlinux.org/xbps-install.1">xbps-install(1…
350 This now can be used to download all required
351 binary packages of the target pkg without the need
352 to have write permission to the <code class="language-plaintext highligh…
353
354 <div class="language-plaintext highlighter-rouge"><div class="highli…
355 </code></pre></div> </div>
356
357 <p>NOTE: <code class="language-plaintext highlighter-rouge">-c, --ca…
358 pathname, otherwise it will treat it as relative to
359 rootdir. <a href="https://github.com/xtraeme">[xtraeme]</a></p>
360 </li>
361 <li>
362 <p><a href="https://man.voidlinux.org/xbps-fetch.1">xbps-fetch(1)</a…
363 downloaded files. <a href="https://github.com/Duncaen">[duncaen]</a></p>
364 </li>
365 <li>
366 <p>configure: re-add <code class="language-plaintext highlighter-rou…
367 by default. <a href="https://github.com/xtraeme">[xtraeme]</a></p>
368 </li>
369 <li>
370 <p><a href="https://man.voidlinux.org/xbps-install.1">xbps-install(1…
371 while updating xbps. <a href="https://github.com/xtraeme">[xtraeme]</a><…
372 </li>
373 <li>
374 <p><a href="https://man.voidlinux.org/xbps-install.1">xbps-install(1…
375 If set, enables reproducible mode in pkgdb. <a href="https://github.com/…
376 </li>
377 <li>
378 <p><a href="https://man.voidlinux.org/xbps-install.1">xbps-install(1…
379 the transaction are on hold. [Mohamad Barbar]</p>
380 </li>
381 <li>
382 <p><a href="https://man.voidlinux.org/xbps-rindex.1">xbps-rindex(1)<…
383 Contained wrong info and did not provide enough value
384 to be useful; another step towards reproducibility.
385 <a href="https://github.com/xtraeme">[xtraeme]</a></p>
386 </li>
387 <li>
388 <p><a href="https://man.voidlinux.org/xbps-create.1">xbps-create(1)<…
389 </li>
390 <li>
391 <p><a href="https://man.voidlinux.org/xbps-install.1">xbps-install(1…
392 any install/update transaction. If there’s a new update
393 for the <code class="language-plaintext highlighter-rouge">xbps</code> p…
394 declared as a single transaction, i.e:</p>
395
396 <div class="language-plaintext highlighter-rouge"><div class="highli…
397 </code></pre></div> </div>
398
399 <p>Otherwise it will return <code class="language-plaintext highligh…
400 error code to diagnose what failed. <a href="https://github.com/xtraeme"…
401 </li>
402 <li>
403 <p><a href="https://man.voidlinux.org/xbps.d.5">xbps.d(5)</a>: new �…
404 to skip extracting files matching a pattern. <a href="https://github.com…
405 </li>
406 <li>
407 <p><a href="https://man.voidlinux.org/xbps.d.5">xbps.d(5)</a>: autod…
408 at compile-time on linux systems. <a href="https://github.com/xtraeme">[…
409 </li>
410 <li>
411 <p>configure: added <code class="language-plaintext highlighter-roug…
412 by default. <a href="https://github.com/xtraeme">[xtraeme]</a></p>
413 </li>
414 <li>
415 <p>Multiple bugs with packages on hold were fixed. <a href="https://…
416 </li>
417 <li>
418 <p><a href="https://man.voidlinux.org/xbps-uchroot.1">xbps-uchroot(1…
419 options argument. <a href="https://github.com/sgn">[Doan Tran Cong Danh]…
420 </li>
421 <li>
422 <p><a href="https://man.voidlinux.org/xbps-alternatives.1">xbps-alte…
423 </li>
424 </ul>
425
426 <p>17 new test cases were added in this release, 6 people
427 were involved: Juan RP, Piotr Wójcik, Duncan Overbruck,
428 Doan Tran Cong Danh, Mohamad Barbar, q66.</p>
429
430 <h3 id="xbps-0571-2019-10-27">xbps-0.57.1 (2019-10-27):</h3>
431
432 <ul>
433 <li>
434 <p>Multiple changes and improvements to the transaction
435 fetch code. <a href="https://github.com/Duncaen">[duncaen]</a></p>
436 </li>
437 <li>
438 <p>Verify revision in <code class="language-plaintext highlighter-ro…
439 to handle properly package names that use <code class="language-plaintex…
440 <a href="https://github.com/Chocimier">[Chocimier]</a></p>
441 </li>
442 <li>
443 <p><a href="https://man.voidlinux.org/xbps-checkvers.1">xbps-checkve…
444 <a href="https://github.com/xtraeme">[xtraeme]</a></p>
445 </li>
446 <li>
447 <p><a href="https://man.voidlinux.org/xbps-alternatives.1">xbps-alte…
448 symlink before removing it. <a href="https://github.com/xtraeme">[xtraem…
449 </li>
450 <li>
451 <p>Try to find a usable shell instead of using <code class="language…
452 when executing package scripts. <a href="https://github.com/Gottox">[Got…
453 </li>
454 <li>
455 <p><a href="https://man.voidlinux.org/xbps-rindex.1">xbps-rindex(1)<…
456 archives. <a href="https://github.com/Chocimier">[Chocimier]</a></p>
457 </li>
458 <li>
459 <p><a href="https://man.voidlinux.org/xbps-create.1">xbps-create(1)<…
460 <a href="https://github.com/Chocimier">[Chocimier]</a></p>
461 </li>
462 </ul>
463
464 <h3 id="xbps-057-2019-08-06">xbps-0.57 (2019-08-06):</h3>
465
466 <ul>
467 <li>
468 <p>xbps now builds with tcc and pcc. <a href="https://github.com/xtr…
469 </li>
470 <li>
471 <p>xbps now uses the transactional file checks for package removals,
472 this fixes issues where xbps removes wrong files, if a package
473 replaces another packages with the same files. <a href="https://github.c…
474 </li>
475 <li>
476 <p><a href="https://man.voidlinux.org/xbps-remove.1">xbps-remove(1)<…
477 This restores the behaviour of xbps prior to 0.54. <a href="https://gith…
478 </li>
479 <li>
480 <p><a href="https://man.voidlinux.org/xbps-remove.1">xbps-remove(1)<…
481 all orphaned packages. <a href="https://github.com/Duncaen">[duncaen]</a…
482 </li>
483 <li>
484 <p><a href="https://man.voidlinux.org/xbps-install.1">xbps-install(1…
485 up to date return EEXIST. <a href="https://github.com/jnbr">[jnbr]</a></…
486 </li>
487 <li>
488 <p><a href="https://man.voidlinux.org/xbps-query.1">xbps-query(1)</a…
489 to not list the package itself. <a href="https://github.com/Duncaen">[du…
490 </li>
491 <li>
492 <p>Updated zsh completions. <a href="https://github.com/leah2">[leah…
493 </li>
494 </ul>
495
496 <h3 id="xbps-056-2019-06-24">xbps-0.56 (2019-06-24):</h3>
497
498 <ul>
499 <li>
500 <p>Fixed <code class="language-plaintext highlighter-rouge">xbps_tra…
501 ENXIO because the transaction dictionary wasn’t
502 initialized before first use. Regression from 0.54. <a href="https://git…
503 </li>
504 <li>
505 <p>Fixed unlocking the pkgdb via <code class="language-plaintext hig…
506 </li>
507 <li>
508 <p>Fixed flushing pkgdb to storage and re-reading it unnecessarily,
509 this affected <a href="https://man.voidlinux.org/xbps-alternatives.1">xb…
510 <a href="https://man.voidlinux.org/xbps-pkgdb.1">xbps-pkgdb(1)</a> and
511 <a href="https://man.voidlinux.org/xbps-reconfigure.1">xbps-reconfigure(…
512 <a href="https://github.com/xtraeme">[xtraeme]</a></p>
513 </li>
514 <li>
515 <p>xbps now allows to remove an installed package that was
516 added to the ignored packages list with <code class="language-plaintext …
517 <a href="https://man.voidlinux.org/xbps.d.5">xbps.d(5)</a>. <a href="htt…
518 </li>
519 <li>
520 <p>Fixed an issue with multi threaded for each loops
521 processing the first slicecount*maxthreads entries twice. <a href="https…
522 </li>
523 <li>
524 <p>Fixed an issue with happy eyeballs, where when a socket
525 fails within the connection delay it aborts with the error
526 instead of continuing with the next address. <a href="https://github.com…
527 </li>
528 </ul>
529
530 <h3 id="xbps-055-2019-06-21">xbps-0.55 (2019-06-21):</h3>
531
532 <ul>
533 <li>
534 <p><a href="https://man.voidlinux.org/xbps-install.1">xbps-install(1…
535 downloading packages to the cache without attempting to
536 install them. <a href="https://github.com/Vaelatern">[Vaelatern]</a></p>
537 </li>
538 <li>
539 <p><a href="https://man.voidlinux.org/xbps-install.1">xbps-install(1…
540 the transaction even if file conflicts were detected. <a href="https://g…
541 </li>
542 <li>
543 <p><a href="https://man.voidlinux.org/xbps-install.1">xbps-install(1…
544 or up-to-date if updating, not <code class="language-plaintext highlight…
545 returned if there are file conflicts in transaction. <a href="https://gi…
546 </li>
547 <li>
548 <p><a href="https://man.voidlinux.org/xbps-checkvers.1">xbps-checkve…
549 </li>
550 <li>
551 <p>Fixed a build failure on ppc64. <a href="https://github.com/q66">…
552 </li>
553 <li>
554 <p>Fixed a build failure on x86. <a href="https://github.com/Duncaen…
555 </li>
556 <li>
557 <p>Fixed cross compilation with <code class="language-plaintext high…
558 </li>
559 </ul>
560 </p>
561 </div>
562 </content>
563 </entry>
564
565 <entry>
566 <title>New images and new verification keys</title>
567 <link href="https://voidlinux.org/news/2020/01/new-image…
568 <id>https://voidlinux.org/news/2020/01/new-images</id>
569 <published>2020-01-19T00:00:00+00:00</published>
570 <updated>2020-01-19T00:00:00+00:00</updated>
571 <content type="xhtml">
572 <div xmlns="http://www.w3.org/1999/xhtml">
573 <p><p>We’re pleased to announce that t…
574 promoted to current and is now generally available.</p>
575
576 <p>A change that comes along with these new images is the adoption of
577 <code class="language-plaintext highlighter-rouge">signify(1)</code> to …
578 complexity involved, the relative difficulty in verifying the
579 resulting signature, and the questionable state of PGP key
580 distribution right now.</p>
581
582 <p>The downloads page has been updated with instructions for how you can
583 validate new images, and we hope you’ll find this process easier and
584 faster than in previous releases.</p>
585 </p>
586 </div>
587 </content>
588 </entry>
589
590 <entry>
591 <title>xbps bug results in missing /bin/sh</title>
592 <link href="https://voidlinux.org/news/2019/08/xbps-bug-…
593 <id>https://voidlinux.org/news/2019/08/xbps-bug-results-…
594 <published>2019-08-13T00:00:00+00:00</published>
595 <updated>2019-08-13T00:00:00+00:00</updated>
596 <content type="xhtml">
597 <div xmlns="http://www.w3.org/1999/xhtml">
598 <p><p>Due to a bug in xbps there was an …
599
600 <p>The bug was fixed quickly, but there’s a 2h window where an update …
601
602 <p>If you’re affected by this issue you may experience error messages …
603
604 <div class="language-plaintext highlighter-rouge"><div class="highlight"…
605 </code></pre></div></div>
606
607 <p>These are the steps to recover your system:</p>
608
609 <h4 id="case-1-system-is-still-running-and-you-have-a-working-shell-open…
610
611 <p>Run the following command as root:</p>
612
613 <div class="language-plaintext highlighter-rouge"><div class="highlight"…
614 </code></pre></div></div>
615
616 <p>Afterwards your system should update xbps and recreate <code class="l…
617
618 <h4 id="case-2-system-has-rebooted-or-no-shell-is-opened-anymore">Case 2…
619
620 <p>Restart your system</p>
621
622 <div class="language-plaintext highlighter-rouge"><div class="highlight"…
623 GNU GRUB version 2.02
624
625 ┌──────────────────────�…
626 │*Void GNU/Linux …
627 │ Advanced options for Void GNU/Linux …
628 │ …
629 │ …
630 │ …
631 │ …
632 │ …
633 │ …
634 │ …
635 │ …
636 │ …
637 │ …
638 │ …
639 └──────────────────────�…
640
641 Use the ↑ and ↓ keys to select which entry is highlighted.
642 Press enter to boot the selected OS, `e' to edit the commands
643 before booting or `c' for a command-line.
644
645
646 </code></pre></div></div>
647 <p>Once grub comes up, select the kernel you want to boot and press <cod…
648
649 <div class="language-plaintext highlighter-rouge"><div class="highlight"…
650 GNU GRUB version 2.02
651
652 ┌──────────────────────�…
653 │ search --no-floppy --fs-uuid --set=root --hint-bios=hd0,m…
654 │hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 XXXXXXXX-XXXX-XX…
655 │XXXXXXXXXXXX …
656 │ else …
657 │ search --no-floppy --fs-uuid --set=root XXXXXXXX-XXXX-XXX…
658 │XXXXXXXXXXX …
659 │ fi …
660 │ echo 'Loading Linux 4.19.15_1 ...' …
661 │ linux /boot/vmlinuz-4.19.15_1 ro loglevel=4 slub_de…
662 │ge_poison=1 rd.break …
663 │ echo 'Loading initial ramdisk ...' …
664 │ initrd /boot/initramfs-4.19.15_1.img …
665 │ …
666 └──────────────────────�…
667
668 Minimum Emacs-like screen editing is supported. TAB lists
669 completions. Press Ctrl-x or F10 to boot, Ctrl-c or F2 for
670 a command-line or ESC to discard edits and return to the GRUB men…
671
672
673 </code></pre></div></div>
674 <p>find the line that starts with <code class="language-plaintext highli…
675 Make sure it is seperated with a space from the rest of the line</p>
676
677 <p>Afterwards Press <code class="language-plaintext highlighter-rouge">C…
678
679 <div class="language-plaintext highlighter-rouge"><div class="highlight"…
680
681 dracut:/#
682 </code></pre></div></div>
683 <p>Once you’ve got a shell execute the following commands:</p>
684
685 <div class="language-plaintext highlighter-rouge"><div class="highlight"…
686 dracut:/# chroot /sysroot xbps-alternatives -s bash
687 dracut:/# exit
688 </code></pre></div></div>
689
690 <p>Afterwards the system should work as expected.</p>
691
692 <p>Please use <code class="language-plaintext highlighter-rouge">xbps-in…
693
694 <h3 id="if-it-doesnt-help">If it doesn’t help</h3>
695
696 <p>Join over on #voidlinux in freenode or <a href="https://www.reddit.co…
697 </p>
698 </div>
699 </content>
700 </entry>
701
702 <entry>
703 <title>XBPS 0.54 Released</title>
704 <link href="https://voidlinux.org/news/2019/06/xbps-0.54…
705 <id>https://voidlinux.org/news/2019/06/xbps-0.54</id>
706 <published>2019-06-20T00:00:00+00:00</published>
707 <updated>2019-06-20T00:00:00+00:00</updated>
708 <content type="xhtml">
709 <div xmlns="http://www.w3.org/1999/xhtml">
710 <p><p>XBPS 0.54 is released. This relea…
711 plethora of bug fixes. Some notable fixes include:</p>
712
713 <ul>
714 <li>Improved conflict checking</li>
715 <li>Additional compression formats including zstd</li>
716 <li>Fixes to the alternatives system</li>
717 <li>New binaries replacing portions of xbps-uhelper</li>
718 <li>Over 30 new test cases</li>
719 </ul>
720
721 <p>New binaries have also been uploaded to the static/ directories of all
722 mirrors.</p>
723
724 <p>As always you can read the complete changelog on GitHub and file
725 issues at
726 <a href="https://github.com/void-linux/xbps/issues">https://github.com/v…
727 </p>
728 </div>
729 </content>
730 </entry>
731
732 <entry>
733 <title>New Homepage</title>
734 <link href="https://voidlinux.org/news/2019/04/homepage-…
735 <id>https://voidlinux.org/news/2019/04/homepage-redesign…
736 <published>2019-04-01T00:00:00+00:00</published>
737 <updated>2019-04-01T00:00:00+00:00</updated>
738 <content type="xhtml">
739 <div xmlns="http://www.w3.org/1999/xhtml">
740 <p><p>After years of development and bet…
741 pleased to announce the new homepage design. No animals were harmed duri…
742 development.</p>
743
744 <p><a href="/assets/screenshots/void-1st-april-2019.png"><img src="/asse…
745 </p>
746 </div>
747 </content>
748 </entry>
749
750 <entry>
751 <title>VoidLinux.eu Is Not Ours</title>
752 <link href="https://voidlinux.org/news/2019/02/voidlinux…
753 <id>https://voidlinux.org/news/2019/02/voidlinux-eu-gone…
754 <published>2019-02-12T00:00:00+00:00</published>
755 <updated>2019-02-12T00:00:00+00:00</updated>
756 <content type="xhtml">
757 <div xmlns="http://www.w3.org/1999/xhtml">
758 <p><p>We would like to warn people of a …
759 Linux control. <code class="language-plaintext highlighter-rouge">voidli…
760 purchased by an unknown 3rd party before Void Linux could regain ownersh…
761 this time, please assume that anything involving <code class="language-p…
762 to Void Linux, and should be considered potentially malicious. Of course…
763 the person who owns the domain now would like to transfer it to our cont…
764 we’d be grateful, and will update voidlinux.org to indicate if this ha…
765
766 <p>Our official domain is VoidLinux.org.</p>
767 </p>
768 </div>
769 </content>
770 </entry>
771
772 <entry>
773 <title>Cross compilation support for gobject typelibs</t…
774 <link href="https://voidlinux.org/news/2019/02/cross-gob…
775 <id>https://voidlinux.org/news/2019/02/cross-gobject</id>
776 <published>2019-02-03T00:00:00+00:00</published>
777 <updated>2019-02-03T00:00:00+00:00</updated>
778 <content type="xhtml">
779 <div xmlns="http://www.w3.org/1999/xhtml">
780 <p><p>Thanks to the work of <a href="htt…
781 announce cross compiling support for gobject-introspection and packages …
782 depend on this tool. This is a big step forward to support more packages
783 through cross compiling and stay future proof for glib development.</p>
784
785 <p>maxice8 put together a comprehensive <a href="https://maxice8.github.…
786 work</a>. This article will be
787 higher level overview of our work in this field.</p>
788
789 <h3 id="what-are-gobject-and-typelibs">What are gobject and typelibs?</h…
790
791 <p>gobject is an abstract description of types defined in glib. Glib is …
792 wide range of application and libraries, most notably <a href="https://g…
793 Glib itself is written in C but it’s possible to provide dynamic langu…
794 bindings to other languages such as <a href="https://python.org">python<…
795
796 <p>This mechanism is not builtin into glib, but instead is provided by t…
797 gobject-introspection tool. This tool scans both the source and the bina…
798 of a library and creates a metadata file that is used to provide type in…
799 for other language bindings. For a deeper dive into gobject-introspectio…
800 consider the <a href="https://gi.readthedocs.io/en/latest/">docs at read…
801
802 <h3 id="the-problem">The problem</h3>
803
804 <p>When it comes to Void, we have high demands on portability of applica…
805 armv6l, armv7l and aarch64 platforms a completely and exclusively cross
806 compiled, meaning they are built on an x86_64 host. This leads to an
807 interesting problem with gobject-introspection which by design needs to …
808 the same platform as the produced binaries are targeted.</p>
809
810 <p>Unfortunately, as already stated this has been a design decision of t…
811 software and we can’t do anything to change this constraint itself.</p>
812
813 <p>Furthermore, during the last few years the Gnome community drifted to…
814 extensively using gobject-introspection in their products. This led to t…
815 breakage of more and more applications in the gnome-ecosystem.</p>
816
817 <h3 id="the-solution">The solution</h3>
818
819 <p>During the last few months we considered different solutions to this …
820 This first proposal to not support gir through cross compilation and onl…
821 it through native build became more and more unsatisfying as the number …
822 packages using this mechanism increased over time.</p>
823
824 <p>The second approach which was the followup to the one described above…
825 add native builders to the system and build those packages on those nati…
826 builders. The issue was here that this would require a lot of infrastruc…
827 work and added a lot of complexity.</p>
828
829 <p>The third solution and the one we chose was to use the userspace emul…
830 features of <a href="http://qemu.org">Qemu</a> to emulate the target sys…
831 those calls that needed to be on the target platform. The <a href="https…
832 project</a> is already using this approach to cross
833 compile Gnome Applications to other platform. We reused many of their to…
834 for void-packages. Nontheless, we hit many porting issues - our tooling …
835 on musl, too - , new bugs were triggered in void-packages - see for exam…
836 <a href="https://maxice8.github.io/1-void-cpython3-cross-pt1/">these</a>
837 <a href="https://maxice8.github.io/2-void-cpython3-cross-pt2/">two</a> p…
838 blog, and many other small issues needed to be resolved.</p>
839
840 <p>Basic support for cross compilation has already landed in void-packag…
841 musl port is not yet finished, but we expect it to work soon(tm).</p>
842
843 <p>maxice8 also prepared a blog post about his porting work on
844 <a href="https://maxice8.github.io/9-libgusb-meson-gir-cross/">libgusb</…
845 </p>
846 </div>
847 </content>
848 </entry>
849
850 <entry>
851 <title>The Life of a Pull Request &amp; Where Commit Bit…
852 <link href="https://voidlinux.org/news/2019/02/commit-bi…
853 <id>https://voidlinux.org/news/2019/02/commit-bits</id>
854 <published>2019-02-03T00:00:00+00:00</published>
855 <updated>2019-02-03T00:00:00+00:00</updated>
856 <content type="xhtml">
857 <div xmlns="http://www.w3.org/1999/xhtml">
858 <p><p>Sometimes people will join into <c…
859 taking so long to get merged. This is an interesting question, and it
860 boils down into a few parts. In this article we’ll take a look at the
861 life of a pull request and how it gets from idea to package.</p>
862
863 <p>For any package to exist, someone first has to want it. This want is
864 often expressed as someone in IRC saying “I want to use Void, but I
865 need package <code class="language-plaintext highlighter-rouge">foo</cod…
866 package and maintain <code class="language-plaintext highlighter-rouge">…
867 issue filled to the void-packages repository on GitHub, and sometimes
868 it manifests as a “blind” PR showing up for a new package. This last
869 one is what we’ll follow as it’s where things get interesting.</p>
870
871 <h2 id="a-call-to-action">A Call to Action</h2>
872
873 <p>When a PR is created, this triggers GitHub to notify people according
874 to its settings. For some members of the project this will trigger an
875 email, for some people this will trigger other automation via API, and
876 up until very recently, the <code class="language-plaintext highlighter-…
877 (this last one is gone as GitHub has removed this functionality with
878 no clear replacement path).</p>
879
880 <p>This notification will hopefully grab the eye of at least one
881 reviewer, who will then open the link to view the PR on GitHub, or
882 will otherwise begin reviewing by their preferred means. Many of our
883 reviewers prefer to pull the PR locally and view it in their editor of
884 choice, or build it locally on more powerful boxes than Travis CI
885 provides.</p>
886
887 <h2 id="changes-requested">Changes Requested</h2>
888
889 <p>This is usually the slow part of getting something accepted to
890 void-packages. This is the part that involves going back and forth on
891 what changes need to be made or what improvements are requested and
892 often involves discussion of potential changes to package policy.</p>
893
894 <p>For folks in IRC this often will be a rapid fire exchange of comments
895 in channel or query, and often ends with something like this:</p>
896
897 <div class="language-plaintext highlighter-rouge"><div class="highlight"…
898 15:31 &lt;maldridge&gt; bobertlo: ping me when you're ready for review+m…
899 </code></pre></div></div>
900
901 <p>At this point the ball is back in the author’s court, and the
902 committer is waiting for changes to be made. At this point it’s also
903 considered that a committer is tenuously “assigned” to a PR.</p>
904
905 <p>In a good flow, the next thing that happens is another message from
906 the author:</p>
907
908 <div class="language-plaintext highlighter-rouge"><div class="highlight"…
909 </code></pre></div></div>
910
911 <h2 id="the-reviewer-follows-up">The Reviewer Follows Up</h2>
912
913 <p>When a reviewer is “assigned” to the PR, it doesn’t really mean…
914 they own it, but there is some expectation that they will follow the
915 work through to merge unless they explicitly state otherwise.
916 Sometimes this looks like a comment on a PR, and other times it looks
917 like a poke in IRC to see if the author is still working on the
918 changes.</p>
919
920 <p>At the end of this phase, the reviewer will either approve or dismiss
921 the PR. Usually dismissing a PR is only done if the package is
922 completely unworkable and the author and reviewer have come to an
923 agreement that it won’t be accepted for some concrete reason, but
924 other reasons exist.</p>
925
926 <h2 id="merged">Merged</h2>
927
928 <p>When a package is accepted the reviewer will merge it, and then our
929 automated build infrastructure will kick into action. A webhook from
930 GitHub will signal to our infrastructure that a new change is to be
931 built, and the systems will pull down the changes via git. After it
932 has been ascertained what needs to be rebuilt, the change is
933 dispatched to our builders to begin compiling the new or updated
934 package.</p>
935
936 <p>After compilation, the built package is copied back to the build
937 master and is signed, then indexed into the repository for interested
938 users to download. Past this point is a complicated web of rsync that
939 is beyond the scope of this article.</p>
940
941 <h1 id="why-does-it-take-so-long">Why does it take so long?</h1>
942
943 <p>First of all, it doesn’t. When you compare Void’s process to oth…
944 distributions, the process of getting a package included can be as
945 short as an hour from initial request to installable globally.</p>
946
947 <p>The slightly longer answer is that there are bottlenecks. One of the
948 easiest to understand is that there are only so many servers we can
949 build on, and the time it takes to compile packages (especially large
950 ones) has to be taken into account.</p>
951
952 <p>The single largest bottleneck though is reviewer loading. In the
953 process that’s described above, reviewers are loosely connected to
954 PRs, and follow them through. While our reviewers are very fast in
955 many cases, they are still human and can only hold so many things at
956 once.</p>
957
958 <p>So if the reviewers are the bottleneck, the question logically
959 follows: where do reviewers come from and how do they get their
960 special powers?</p>
961
962 <h2 id="special-powers">Special Powers</h2>
963
964 <p>Within the Void vernacular, people who can merge changes are referred
965 to generally as people with a commit bit. For those who are curious,
966 this term comes from privileged users on a BSD system often having a
967 “wheel bit”. At the time of this writing, there are 13 people with a
968 commit bit. These people can merge to almost any repository in the
969 organization, but there are a few exceptions. Having a commit bit can
970 also come with other powers, like the ability to op up in IRC, but
971 such additional powers are not automatic, and are beyond the scope of
972 this article.</p>
973
974 <p>So how does one get these special powers?</p>
975
976 <p>The astute Void follower may already know this answer, as has been
977 documented for some time now on
978 <a href="https://infradocs.voidlinux.org">InfraDocs</a>.</p>
979
980 <p>The full documentation can be found in the <a href="https://infradocs…
981 documentation</a>.
982 But to save the effort of going to that page, we’ll briefly recap it
983 here.</p>
984
985 <p>First a person has to be noticed within the project as a good fit for
986 having the ability to merge changes on their own. Usually this means
987 that they’ve been an active contributor continuously for some time and
988 have a history of submitting high quality work.</p>
989
990 <p>After an existing committer thinks they’ve found a good candidate,
991 they’ll propose the membership change to the project owners in
992 private. This allows the project owners time to discuss the proposal
993 with the proposer and exchange information without needing to talk
994 publicly. Sometimes there are circumstances that a proposer might not
995 be aware of that may affect if they wish to continue suggesting
996 someone, and this initial conversation gives a time to discuss that.</p>
997
998 <p>After this discussion has happened a final decision is made to either
999 accept or reject the proposal. In the event it has been accepted, the
1000 candidate is informed and has the final choice to accept.</p>
1001
1002 <h2 id="ive-got-a-bit-now-what">I’ve Got a Bit, Now What?</h2>
1003
1004 <p>Just getting the powers though isn’t enough. People who hold a comm…
1005 bit have to justify that they have them. This means means either
1006 reviewing changes, commenting on PRs, or otherwise advancing the state
1007 of the Void. In the past when people have left the project either by
1008 explicitly stating they’ve left, or by just not being a part of it for
1009 a while, we revoke powers. This helps us keep Void reasonably secure
1010 by knowing exactly who all has the ability to push changes to our
1011 repositories.</p>
1012
1013 <p>Of course if any of these people were to come back, they’d be welco…
1014 to once again demonstrate their skill and again earn the special
1015 powers as they did before. Just having had the power at one point is
1016 not sufficient cause to be handed it again.</p>
1017
1018 <hr />
1019
1020 <p>In summary the life of a PR is part of a much larger process of
1021 getting and maintaining a pool of contributors and qualified
1022 reviewers. This process is quite involved, and this post only just
1023 scratches the surface. Interested persons are always encouraged to
1024 reach out to us in <code class="language-plaintext highlighter-rouge">#v…
1025 can always be contacted in <code class="language-plaintext highlighter-r…
1026 </p>
1027 </div>
1028 </content>
1029 </entry>
1030
1031 <entry>
1032 <title>The curious case of Python and global variables</…
1033 <link href="https://voidlinux.org/news/2019/01/python3-d…
1034 <id>https://voidlinux.org/news/2019/01/python3-debugging…
1035 <published>2019-01-31T00:00:00+00:00</published>
1036 <updated>2019-01-31T00:00:00+00:00</updated>
1037 <content type="xhtml">
1038 <div xmlns="http://www.w3.org/1999/xhtml">
1039 <p><p>Void isn’t all smooth sailing. …
1040 difficult to troubleshoot ways. This was recently the case when one
1041 of our maintainers noticed that certain Python packages weren’t
1042 behaving as expected. If you’re curious about how this kind of
1043 troubleshooting happens, [maxice8]’s blog post is highly recommended
1044 as its a good intro into what its like to troubleshoot things from the
1045 perspective of a Void maintainer.</p>
1046
1047 <p>Read the troubleshooting process <a href="https://maxice8.github.io/1…
1048 </p>
1049 </div>
1050 </content>
1051 </entry>
1052
1053 <entry>
1054 <title>dhcpcd&gt;=7.1.0 update may require manual interv…
1055 <link href="https://voidlinux.org/news/2019/01/dhcpcd-7.…
1056 <id>https://voidlinux.org/news/2019/01/dhcpcd-7.1.0</id>
1057 <published>2019-01-23T00:00:00+00:00</published>
1058 <updated>2019-01-23T00:00:00+00:00</updated>
1059 <content type="xhtml">
1060 <div xmlns="http://www.w3.org/1999/xhtml">
1061 <p><p>Starting with 7.1.0, the <a href="…
1062 Instead of the hook, upstream suggests to build <a href="https://man.voi…
1063 <code class="language-plaintext highlighter-rouge">CONFIG_MATCH_IFACE</c…
1064
1065 <p>Users of the <code class="language-plaintext highlighter-rouge">10-wp…
1066 that their wireless connection keeps working.</p>
1067
1068 <p>The following actions are required when <a href="https://man.voidlinu…
1069
1070 <ol>
1071 <li>Make sure <a href="https://man.voidlinux.org/wpa_supplicant.8">wpa…
1072 <li><a href="https://docs.voidlinux.org/config/services/index.html">En…
1073 </ol>
1074
1075 <hr />
1076
1077 <p>Other users should be on the lookout as -M is now used to match all i…
1078 the <code class="language-plaintext highlighter-rouge">CONF_FILE</code> …
1079 </p>
1080 </div>
1081 </content>
1082 </entry>
1083
1084 <entry>
1085 <title>The Advent of Void: Day 24: 'Twas the Night Befor…
1086 <link href="https://voidlinux.org/news/2018/12/02-advent…
1087 <id>https://voidlinux.org/news/2018/12/02-advent-closing…
1088 <published>2018-12-24T00:00:00+00:00</published>
1089 <updated>2018-12-24T00:00:00+00:00</updated>
1090 <content type="xhtml">
1091 <div xmlns="http://www.w3.org/1999/xhtml">
1092 <p><p>‘Twas the Night Before Christmas…
1093
1094 <p>When all through the cluster, not a build was running, not even a
1095 revbump. The packages were all signed by the server with care, in
1096 hopes that an upgrade soon would be there.</p>
1097
1098 <p>The maintainers were nestled all snug at their desks, while visions of
1099 waterfalls danced in their heads; and Gottox in his home and I in
1100 mine, had just settled our brains for a long winter break; when out on
1101 the frontends there arose such a clatter, I sprang to my terminal to
1102 see what was the matter.</p>
1103
1104 <p>Away to my console I flew like a flash, called for my tmux and threw
1105 open the logstash. The status page on my screen lent a luster of
1106 midday to errors below, when what to my wondering eyes should appear,
1107 but a stuck qt5 build and 8 staged SONAMEs.</p>
1108
1109 <p>With a large webengine so slow and so massive, I knew in an instant it
1110 must be chromium. More rapid than runit my commands to the system:
1111 “Now Ansible! now Grafana! now buildbot and xbulk! On rindex! on
1112 snooze! on, ext4 and repo-cleaner! To the top of the graph to the top
1113 of the stack now build, build away, build away all!</p>
1114
1115 <p>As disk platters that before the online scrub fly, when they meet with
1116 an obstacle always retry, so up to the servers the tasks they all
1117 flew, with their mirror of toys and BDFL, too.</p>
1118
1119 <p>And then in a twinkling, I saw in reply the server starting and
1120 launching of each single build. As I drew in my buffers, and was
1121 closing up shop, down the pipe the json came with a stop. It was
1122 padded with null bytes from its start to its end, and its braces were
1123 all tarnished with codepages and parity bits; a slice of package it
1124 contained in its body, and it looked like a startup just opening its
1125 reply. The descriptors how they twinkled, the keys how merry!</p>
1126
1127 <p>A close of a brace and a retcode of 0 soon gave me to know I had
1128 nothing to dread. Buildbot said not a word but went straight to its
1129 work, and filled the mirrors with packages. Waiting for but a moment
1130 before confirming my intent, the BuildBot went on its way; indexes
1131 sprang to their clients, and to the fleet I did signal and away they
1132 all built like the sight seldom seen. But before I <code class="languag…
1133 to all users:</p>
1134
1135 <p>Happy Christmas to all, and to all a Good Night!</p>
1136
1137 <p>–maldridge</p>
1138
1139 <hr />
1140
1141 <p>We hope you’ve enjoyed the Advent of Void. This is a fun project t…
1142 we’ve done now for two years to try and shed some light on lesser
1143 known packages. We’ve got a few honorable mentions that may make
1144 their way to the feed over the next few days, but this post concludes
1145 the series. Void is a volunteer effort that we enjoy sharing with
1146 you, and hopefully you’ve learned some neat new tips and tricks these
1147 last 24 days. Our volunteers don’t just make packages and manage
1148 infrastructure, we also write fun posts like these (though I recognize
1149 I’m a quite poor poet). If you want to become involved and help us
1150 keep Void going, join us in #xbps on freenode, but maybe wait until
1151 after the holidays to do so.</p>
1152
1153 <p>Enjoy the winter season and the updates that just keep rolling!</p>
1154 </p>
1155 </div>
1156 </content>
1157 </entry>
1158
1159 <entry>
1160 <title>The Advent of Void: Day 24: gromit-mpx</title>
1161 <link href="https://voidlinux.org/news/2018/12/01-advent…
1162 <id>https://voidlinux.org/news/2018/12/01-advent-gromit-…
1163 <published>2018-12-24T00:00:00+00:00</published>
1164 <updated>2018-12-24T00:00:00+00:00</updated>
1165 <content type="xhtml">
1166 <div xmlns="http://www.w3.org/1999/xhtml">
1167 <p><p>Have you ever wanted to doodle on …
1168 or an arrow, or something to help point out something about a screenshot…
1169 maybe during a presentation, on the fly, suddenly you want to point out
1170 a particular thing… wouldn’t it be nice to have a tool to help?</p>
1171
1172 <p>Turns out, there is one, a very simple tool to do this. I use it every
1173 month.</p>
1174
1175 <p>Gromit-mpx is simple. <code class="language-plaintext highlighter-rou…
1176 clear everything you drew, and <code class="language-plaintext highlight…
1177 leave everything on the screen). Just make sure <code class="language-pl…
1178 background, and you are set for all your drawing and annotating needs. E…
1179 people like me, who just run <code class="language-plaintext highlighter…
1180 my screen quickly.</p>
1181
1182 <p><img src="https://i.imgur.com/Hw1dn0o.png" alt="ascii-table.com scree…
1183
1184 <p>But with just a few lines, I can clarify what I meant to share. I won…
1185 winning any art awards, but it works.</p>
1186
1187 <p><img src="https://i.imgur.com/65MDkPI.png" alt="ascii-table.com annot…
1188 including most of the binary for those values" /></p>
1189
1190 <p>Do note that the annotations stick around, even after you scroll the …
1191 switch to a different screen entirely.</p>
1192
1193 <p><img src="https://i.imgur.com/RrGutNX.png" alt="example of a void lin…
1194
1195 <p>So keep <code class="language-plaintext highlighter-rouge">gromit-mpx…
1196
1197 <p>For more information, there is always the
1198 <a href="https://man.voidlinux.org/1/gromit-mpx">gromit-mpx(1) manpage</…
1199 </p>
1200 </div>
1201 </content>
1202 </entry>
1203
1204 <entry>
1205 <title>Void Linux at 35c3</title>
1206 <link href="https://voidlinux.org/news/2018/12/00-35c3.h…
1207 <id>https://voidlinux.org/news/2018/12/00-35c3</id>
1208 <published>2018-12-24T00:00:00+00:00</published>
1209 <updated>2018-12-24T00:00:00+00:00</updated>
1210 <content type="xhtml">
1211 <div xmlns="http://www.w3.org/1999/xhtml">
1212 <p><p><img src="/assets/img/35c3-void.pn…
1213
1214 <p>2018 has been an intense year for Void. There were many ups and downs.
1215 To wrap up the year we’re meeting at the <a href="https://events.ccc.d…
1216
1217 <p>To meet other Voiders and chat about related and unrelated topics the…
1218 the
1219 <a href="https://signup.c3assemblies.de/assembly/cf15ba5d-5bb1-473d-827c…
1220
1221 <p>Also, on day 1 (2018-12-27) 19:00, <a href="https://twitter.com/Gotto…
1222 annual talk about <a href="https://pretalx.35c3oio.freifunk.space/35c3oi…
1223 Void</strong></a>.</p>
1224
1225 <p>After the talk, around 20:00, Void is inviting you to a <strong>Void …
1226 meet at the Open Infrastructure Orbit in front of the lecture area, find…
1227 nearest bar, grab a Beer or a Tschunk, and get into interesting conversa…
1228
1229 <p>I’m looking forward to a great event with an awesome community!</p>
1230
1231 <p>–Gottox &amp; the Void Linux Team</p>
1232 </p>
1233 </div>
1234 </content>
1235 </entry>
1236
1237 <entry>
1238 <title>The Advent of Void: Day 23: extrace</title>
1239 <link href="https://voidlinux.org/news/2018/12/advent-ex…
1240 <id>https://voidlinux.org/news/2018/12/advent-extrace</i…
1241 <published>2018-12-23T00:00:00+00:00</published>
1242 <updated>2018-12-23T00:00:00+00:00</updated>
1243 <content type="xhtml">
1244 <div xmlns="http://www.w3.org/1999/xhtml">
1245 <p><p>Today’s tool is <a href="https:/…
1246 By default <code class="language-plaintext highlighter-rouge">extrace(1)…
1247 The output is a tree like structure including the process id, the comman…
1248
1249 <p>The following example is the truncated <code class="language-plaintex…
1250
1251 <div class="language-plaintext highlighter-rouge"><div class="highlight"…
1252 911 man dhcpcd
1253 912 less -T /tmp/man.XXXXH357hT /tmp/man.XXXXEOs5Na
1254 930 doas dhcpcd -k
1255 930 dhcpcd -k
1256 932 /bin/sh /usr/libexec/dhcpcd-run-hooks
1257 933 rm -f /run/dhcpcd/resolv.conf/br0.ra
1258 936 sed -n 's/^domain //p' br0.dhcp
1259 938 sed -n 's/^search //p' br0.dhcp
1260 941 sed -n 's/^nameserver //p' br0.dhcp
1261 943 cat /etc/resolv.conf.head
1262 944 cmp -s /etc/resolv.conf /run/dhcpcd/resolv.conf.br0.ra
1263 945 cat /run/dhcpcd/resolv.conf.br0.ra
1264 946 rm -f /run/dhcpcd/resolv.conf.br0.ra
1265 947 chmod 644 /etc/resolv.conf
1266 948 rm -f /run/dhcpcd/resolv.conf.br0.ra
1267 950 sed '/^# Generated by dhcpcd/,/^# End of dhcpcd/d' /etc/ntpd…
1268 951 cmp -s /etc/ntpd.conf /run/dhcpcd/ntp.conf.br0.ra
1269 952 rm -f /run/dhcpcd/ntp.conf.br0.ra
1270 ...
1271 </code></pre></div></div>
1272
1273 <p>Here is another example where we trace the executions by make into a …
1274
1275 <div class="language-plaintext highlighter-rouge"><div class="highlight"…
1276 cc -Wall -Wno-switch -Wextra -g -O2 -fstack-protector-strong -D_FORTIFY_…
1277 cc msed.o blaze822.o mymemmem.o mytimegm.o seq.o slurp.o -lrt -o msed
1278 mblaze$ cat make.extrace
1279 1992+ make
1280 1993+ uname
1281 1993- uname exited status=0 time=0.000s
1282 1994+ cc -Wall -Wno-switch -Wextra -g -O2 -fstack-protector-strong '-D…
1283 1995+ /usr/lib/gcc/x86_64-unknown-linux-gnu/8.2.0/cc1 -quiet -D '_FO…
1284 1995- /usr/lib/gcc/x86_64-unknown-lin exited status=0 time=0.212s
1285 1996+ as --64 -o msed.o /tmp/ccDnNZ91.s
1286 1996- as exited status=0 time=0.019s
1287 1994- cc exited status=0 time=0.234s
1288 1997+ cc msed.o blaze822.o mymemmem.o mytimegm.o seq.o slurp.o -lrt -o…
1289 1998+ /usr/lib/gcc/x86_64-unknown-linux-gnu/8.2.0/collect2 [...]
1290 1999- /usr/bin/ld exited status=0 time=0.027s
1291 1998- /usr/lib/gcc/x86_64-unknown-lin exited status=0 time=0.029s
1292 1997- cc exited status=0 time=0.031s
1293 2000+ /bin/sh -c 'test -n "$SOURCE_DATE_EPOCH" || BUILDDATE=$(date '\'…
1294 2001+ date '+ (%Y-%m-%d)'
1295 2001- date exited status=0 time=0.000s
1296 2004+ sed 's/^v//'
1297 2005+ git describe --always --dirty
1298 2005- git exited status=0 time=0.008s
1299 2004- sed exited status=0 time=0.009s
1300 2000- /bin/sh exited status=0 time=0.012s
1301 2006+ chmod +x museragent
1302 2006- chmod exited status=0 time=0.001s
1303 1992- make exited status=0 time=0.286s
1304 </code></pre></div></div>
1305 </p>
1306 </div>
1307 </content>
1308 </entry>
1309
1310 <entry>
1311 <title>The Advent of Void: Day 22: autossh</title>
1312 <link href="https://voidlinux.org/news/2018/12/advent-au…
1313 <id>https://voidlinux.org/news/2018/12/advent-autossh</i…
1314 <published>2018-12-22T00:00:00+00:00</published>
1315 <updated>2018-12-22T00:00:00+00:00</updated>
1316 <content type="xhtml">
1317 <div xmlns="http://www.w3.org/1999/xhtml">
1318 <p><p>SSH. The very use of the acronym s…
1319 needs to be plugged in.” It can be used to confirm your computers are …
1320 to transfer files (two ways!), as a SOCKS proxy (didn’t know this? Go …
1321 man page, option <code class="language-plaintext highlighter-rouge">-D</…
1322
1323 <p>Poor man’s VPN?</p>
1324
1325 <p>Well, I have a computer that lives behind a firewall. I can’t adjus…
1326 firewall. But I want to use that computer. Legally, mark you, I have per…
1327 from the network owners, it’s just not practical to adjust the firewal…
1328
1329 <p>What to do?</p>
1330
1331 <p>Well, set up an ssh tunnel of course! In this case, <code class="lang…
1332 computer, and the other hostname is a place I can access more readily th…
1333 <code class="language-plaintext highlighter-rouge">localhost</code>.</p>
1334
1335 <div class="language-plaintext highlighter-rouge"><div class="highlight"…
1336 </code></pre></div></div>
1337
1338 <p>But problems. My local network isn’t the best, and sometimes when t…
1339 power outage my computer comes up first. I could just create a runit ser…
1340 to make sure the ssh connection is running…. and I did, for a while, b…
1341 when it failed it failed very badly. Finally, I settled on <code class=…
1342 does <code class="language-plaintext highlighter-rouge">autossh</code> d…
1343 about how it does this, how many times it tries, how long it waits betwe…
1344 tries, what the backoffs are, everything like that. So, I combined the b…
1345 of both worlds: autossh (which should never crash) wrapped in a user ser…
1346 with runit (which should always remember to start autossh)</p>
1347
1348 <div class="language-plaintext highlighter-rouge"><div class="highlight"…
1349 [ -r ./conf ] &amp;&amp; . ./conf
1350 : ${portA:=2222}
1351 : ${targetHost:=localhost}
1352 exec autossh -M 0 -NR ${portA}:localhost:22 $targetHost
1353 </code></pre></div></div>
1354
1355 <p>And my problem is (mostly) solved! So, in summary: SSH is an amazing …
1356 <code class="language-plaintext highlighter-rouge">autossh</code> helps …
1357
1358 <p>One point about configuration, from the manpage:</p>
1359
1360 <div class="language-plaintext highlighter-rouge"><div class="highlight"…
1361 environment variables to control features. ssh seems to be still
1362 collecting letters for options, and this seems the easiest way to avoid
1363 collisions.
1364 </code></pre></div></div>
1365
1366 <p>and there are 13 environment variables right now, so plenty you can c…
1367 configure.</p>
1368
1369 <p>For more information, examples, and to see the list of relevant envir…
1370 variables, please read the
1371 <a href="https://man.voidlinux.org/1/autossh">autossh(1) manpage</a>.</p>
1372 </p>
1373 </div>
1374 </content>
1375 </entry>
1376
1377 <entry>
1378 <title>The Advent of Void: Day 21: fex</title>
1379 <link href="https://voidlinux.org/news/2018/12/advent-fe…
1380 <id>https://voidlinux.org/news/2018/12/advent-fex</id>
1381 <published>2018-12-21T00:00:00+00:00</published>
1382 <updated>2018-12-21T00:00:00+00:00</updated>
1383 <content type="xhtml">
1384 <div xmlns="http://www.w3.org/1999/xhtml">
1385 <p><p><a href="https://www.semicomplete.…
1386 powerful field extraction tool for working with text.</p>
1387
1388 <p>If you spend enough time in a shell fiddling with code or data, you
1389 inevitably want to pull fields out of some text you have. For example,
1390 say you want the hex sha256sum of a file, minus the name:</p>
1391
1392 <div class="language-plaintext highlighter-rouge"><div class="highlight"…
1393 a0cd7db7343bed89416660b4f92c43fe7b556439daa2e26e9844ce82491191c6 launch…
1394 </code></pre></div></div>
1395
1396 <p>You could write this output to a file and remove the filename from it
1397 with a text editor, or use cut or awk. However, fex can save you a bit
1398 of time by extracting the first field containing the checksum for you:</…
1399
1400 <div class="language-plaintext highlighter-rouge"><div class="highlight"…
1401 a0cd7db7343bed89416660b4f92c43fe7b556439daa2e26e9844ce82491191c6
1402 </code></pre></div></div>
1403
1404 <p>Or, say you want a list of all home directories from passwd. To do th…
1405 we ask fex to split by colon and select the sixth field:</p>
1406
1407 <div class="language-plaintext highlighter-rouge"><div class="highlight"…
1408 /root
1409 /dev/null
1410 /var/lib/colord
1411 /var/empty
1412 ...
1413 </code></pre></div></div>
1414
1415 <p>Or maybe we want <code class="language-plaintext highlighter-rouge">g…
1416
1417 <div class="language-plaintext highlighter-rouge"><div class="highlight"…
1418 0:root
1419 99:nobody
1420 999:colord
1421 22:dbus
1422 ...
1423 </code></pre></div></div>
1424
1425 <p>Here we can see that fex will keep the separator we split by, letting…
1426 reduce the data to only what we want while maintaining its format. And,
1427 it allows us to rearrange fields using <code class="language-plaintext h…
1428
1429 <p>You can alse use fex to pluck fields by narrowing the selection with
1430 different split characters. So let’s say we want to get an idea of what
1431 the most common pairs of ‘subject: verb’ are in commit messages for
1432 <a href="https://github.com/void-linux/void-packages">void-packages</a> …
1433 see which packages receive the most updates.</p>
1434
1435 <p>To do this, we’ll use git to search for commit message subjects with
1436 a colon and pipe that to fex. Using fex, we’ll write our first selector
1437 (<code class="language-plaintext highlighter-rouge">:1</code>) to take t…
1438 selector (<code class="language-plaintext highlighter-rouge">:2 1</code>…
1439 spaces, and select the first word from that. With this, we get a list of
1440 subjects and verbs we can sort and count:</p>
1441
1442 <div class="language-plaintext highlighter-rouge"><div class="highlight"…
1443 328 youtube-dl update
1444 206 xbps-git bump
1445 160 git update
1446 151 Adapta update
1447 149 ImageMagick update
1448 143 exiftool update
1449 142 firefox update
1450 136 kernel update
1451 133 rpi-kernel update
1452 129 python-setuptools update
1453 </code></pre></div></div>
1454
1455 <p>From that, we can see that updates make up all but one of the top ten
1456 pairs, with xbps-git bumps being the second in line after youtube-dl
1457 updates. This only covers basic use of fex, too – you can also select
1458 field ranges, fields matching a regular expression, and combine all of
1459 these.</p>
1460
1461 <p>There are lots of ways to use fex in day to day data munging,
1462 programming, and writing your own tools. For many field extraction
1463 tasks, fex allows you to easily get the data you want without writing
1464 small awk programs or messing with cut. Plus, it’s just fun to use.</p>
1465
1466 <p>For more information and examples, please read the <a href="https://m…
1467 manpage</a>.</p>
1468 </p>
1469 </div>
1470 </content>
1471 </entry>
1472
1473 <entry>
1474 <title>The Advent of Void: Day 20: xsnow</title>
1475 <link href="https://voidlinux.org/news/2018/12/advent-xs…
1476 <id>https://voidlinux.org/news/2018/12/advent-xsnow</id>
1477 <published>2018-12-20T00:00:00+00:00</published>
1478 <updated>2018-12-20T00:00:00+00:00</updated>
1479 <content type="xhtml">
1480 <div xmlns="http://www.w3.org/1999/xhtml">
1481 <p><p>If you’re dreaming of a white ch…
1482 and easy installation of xsnow!</p>
1483
1484 <p>This small utility is best suited to window manager environments that
1485 do not tile, and will cause snow to fall on your desktop. The snow
1486 will collect on top of your windows and you’ll even have periodic
1487 visits from Santa flying across your desktop.</p>
1488
1489 <p>Its a quick and fun utility, and worth a bit of Christmas cheer as we
1490 go into the final days of the Void Advent.</p>
1491 </p>
1492 </div>
1493 </content>
1494 </entry>
1495
1496
1497 </feed>
You are viewing proxied material from codemadness.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.