pages tagged planet gnuBeuc's Bloghttps://blog.beuc.net/tags/planet_gnu/Beuc's Blogikiwiki2021-04-05T10:48:35Zplanet.gnu.org is looking for a new host and maintainerhttps://blog.beuc.net/posts/planet.gnu.org_is_looking_for_a_new_host_and_maintainer/2021-04-05T10:48:35Z2021-04-05T10:48:35Z
<p><a href="https://planet.gnu.org/"><img src="https://blog.beuc.net/posts/planet.gnu.org-logo.png" width="124" height="140" alt="planet.gnu.org logo" class="img" align="right" /></a></p>
<p>Around 3 years <a href="https://lists.gnu.org/archive/html/info-gnu/2018-03/msg00003.html">ago</a> I revamped <a href="https://planet.gnu.org/">planet.gnu.org</a> and hosted it myself, as the previous host was defunc.</p>
<p>I won't have the energy host it for much longer, so planet.gnu.org is now looking for a new host and maintainer.<br />
In any case I'll shut down the service when I upgrade to Debian 11 "bullseye" in a few months.</p>
<p>Everything needed to run the service is documented and stored in the <a href="https://git.savannah.nongnu.org/cgit/gnues/planet-config.git/">infra</a> and <a href="https://git.savannah.nongnu.org/cgit/gnues/planet-infra.git/">config</a> repositories, there is no private data. A previous <a href="https://blog.beuc.net/posts/Planet_upgrade/">blog post</a> discusses upcoming tasks. The <a href="https://lists.gnu.org/mailman/listinfo/planet">planet@gnu.org</a> contact point is now managed by GNU's Mailman instance. The DNS alias is managed by the FSF sysadmins.</p>
Godot GDScript REPLhttps://blog.beuc.net/posts/Godot_GDScript_REPL/2021-02-12T09:33:36Z2021-02-12T09:33:36Z
<p><a href="https://godotengine.org/asset-library/asset/857"><img src="https://www.beuc.net/godot-repl/godot-repl-screenshot.png" alt="" /></a></p>
<p>When experimenting with Godot and its GDScript language, I realized that I missed a good old REPL (Read-Eval-Print Loop) to familiarize myself with the language and API.</p>
<p>This is now possible with this new Godot Editor plugin <img src="https://blog.beuc.net/smileys/smile.png" alt=":)" /></p>
<p>Try it at:<br />
<a href="https://godotengine.org/asset-library/asset/857">https://godotengine.org/asset-library/asset/857</a></p>
Android SDK 11 Rebuildhttps://blog.beuc.net/posts/Android_SDK_11_Rebuild/2021-01-30T09:25:35Z2021-01-30T09:25:35Z
<p><a href="https://android-rebuilds.beuc.net/"><img src="https://www.beuc.net/images/arebuilds.png" alt="" /></a></p>
<p>Android Rebuilds provides <a href="https://android-rebuilds.beuc.net/About/">freely-licensed</a> builds of Android development tools from a Mountain View-based company.<br />
Proprietary binaries are rebuilt from source, build recipes are reverse-engineered.</p>
<p>SDK 11 (API 30) is mostly available, as <a href="https://gitlab.com/android-rebuilds/auto/tree/master/sdk-11.0.0">unattended Docker build scripts</a>, <a href="https://android-rebuilds.beuc.net/SDK_11.0.0/">build documentation</a> as well as <a href="https://android-rebuilds.beuc.net/">convenience binaries</a>.<br />
Only the x86 system image currently fails to build.</p>
Android Emulator Rebuildhttps://blog.beuc.net/posts/Android_Emulator_Rebuild/2021-01-23T13:02:13Z2021-01-23T13:02:13Z
<p><a href="https://android-rebuilds.beuc.net/"><img src="https://www.beuc.net/images/arebuilds.png" alt="" /></a></p>
<p>Android Rebuilds provides <a href="https://blog.beuc.net/posts/Rebuilding_Android_proprietary_SDK_binaries/">freely-licensed</a> builds of Android development tools from a Mountain View-based company.</p>
<p>The Emulator package moved to a separate component and build system.</p>
<p>Emulator 30 is now available, as <a href="https://gitlab.com/android-rebuilds/auto/tree/master/emu-30">unattended Docker build scripts</a>, <a href="https://android-rebuilds.beuc.net/Emulator_30/">build documentation</a> as well as <a href="https://android-rebuilds.beuc.net/">convenience binaries</a>.</p>
git filter-branch and --state-branch - how?https://blog.beuc.net/posts/git_filter-branch_and_--state-branch_-_how__63__/2020-10-04T10:18:57Z2020-10-04T10:18:57Z
<p>I'm mirroring and reworking a large Git repository with <a href="https://git-scm.com/docs/git-filter-branch">git filter-branch</a> (conversion ETA: 20h), and I was wondering how to use <code>--state-branch</code> which is supposed to speed-up later updates, or split a large conversion in several updates.</p>
<p>The documentation is pretty terse, the option can produce weird results (like an identity mapping that breaks all later updates, or calling the expensive <code>tree-filter</code> but discarding the results), <a href="https://github.com/concrete5/incremental-filter-branch">wrappers</a> are convoluted, but I got something to work so I'll share <img src="https://blog.beuc.net/smileys/smile.png" alt=":)" /></p>
<p>The main point is: run the initial script and the later updates in the same configuration, which means the target branch needs to be reset to the upstream branch each time, before it's rewritten again by <code>filter-branch</code>. In other words, don't re-run it on the rewritten branch, nor attempt some <a href="https://stackoverflow.com/questions/2296047/repeatedly-using-git-filter-branch-to-rewrite-new-commits">complex</a> merge/cherry-pick.</p>
<pre><code>git fetch
git branch --no-track -f myrewrite origin/master
git filter-branch \
--xxx-filter ... \
--xxx-filter ... \
--state-branch refs/heads/filter-branch/myrewrite \
-d /dev/shm/filter-branch/$$ -f \
myrewrite
</code></pre>
<p>Updates restart from scratch but only take a few seconds to skim through all the already-rewritten commits, and maintain a stable history.</p>
<p>Note that if the process is interrupted, the state-branch isn't modified, so it's not a stop/resume feature. If you want to split a lenghty conversion, you could simulate multiple upstream updates by checking out successive points in history (e.g. per year using <code>$(git rev-list -1 --before='2020-01-01 00:00:00Z')</code>).</p>
<p><code>--state-branch</code> isn't meant to rewrite in reverse chronological order either, because all commit ids would constantly change. Still, you can rewrite only the recent history for a quick discardable test.</p>
<p>Be cautious when using/deleting rewritten branches, especially during early tests, because Git tends to save them to multiple places which may desync (e.g. <code>.git/refs/heads/</code>, <code>.git/logs/refs/</code>, <code>.git/packed-refs</code>). Also remember to delete the <code>state-branch</code> between different tests. Last, note the unique temporary directory <code>-d</code> to avoid ruining concurrent tests ^_^'</p>
Planet upgradehttps://blog.beuc.net/posts/Planet_upgrade/2020-08-15T06:55:30Z2020-08-15T06:55:30Z
<p><a href="https://planet.gnu.org/"><img src="https://blog.beuc.net/posts/planet.gnu.org-logo.png" width="124" height="140" alt="planet.gnu.org logo" class="img" align="right" /></a></p>
<p>The system running <a href="https://planet.gnu.org/">planet.gnu.org</a> was upgraded/reinstalled to Debian 10 "buster" <img src="https://blog.beuc.net/smileys/smile.png" alt=":)" /><br />
<a href="https://git.savannah.nongnu.org/cgit/gnues/planet-infra.git/">Documentation</a> was updated.</p>
<p>Let me know if you notice any issue - <a href="https://lists.gnu.org/mailman/listinfo/planet">planet@gnu.org</a>.</p>
<p>For the next upgrade, we'll have to decide whether to takeover Planet Venus and upgrade it to Python 3, or migrate to another Planet software.<br />
Suggestions/help welcome <img src="https://blog.beuc.net/smileys/smile.png" alt=":)" /></p>
Escoria - point-and-click system for the Godot enginehttps://blog.beuc.net/posts/Escoria_-_point-and-click_system_for_the_Godot_engine/2020-02-08T16:32:08Z2020-02-08T16:24:43Z
<p><a href="https://github.com/godotengine/escoria/"><img src="https://blog.beuc.net/posts/Escoria_-_point-and-click_system_for_the_Godot_engine.jpg" width="960" height="540" class="img" /></a></p>
<p><a href="https://github.com/godotengine/escoria/">Escoria</a>, the point-and-click system for the Godot game engine, is now working again with the latest Godot (3.2).</p>
<p><a href="https://godotengine.org/">Godot</a> is a general-purpose game engine. It comes with an extensive graphic editor with skeleton and animation support, can create all sorts of games and mini-games, making it an interesting choice for point-and-click's.</p>
<p>The Escoria point-and-click template provides notably a dialog system and the Esc language to write the story and interactions. It was developed for the <a href="https://www.kickstarter.com/projects/okamstudio/the-interactive-adventures-of-dog-mendonca-and-piz">Dog Mendonça and Pizzaboy</a> crowdfunded game and later released as free software. A community is developing the next version, but the current version has been incompatible with the current Godot engine. So I upgraded the <a href="https://github.com/godotengine/escoria/tree/esc2-godot3.2">game template</a> as well as the <a href="https://github.com/flossmanualsfr/escoria/">Escoria in Daïza</a> tutorial game to Godot 3.2. Enjoy!</p>
<p>HTML5 support is still lacking, so I might get a compulsive need to fix it in the future <img src="https://blog.beuc.net/smileys/smile4.png" alt=";)" /></p>
Android Rebuilds updateshttps://blog.beuc.net/posts/Android_Rebuilds_updates/2020-01-04T23:50:31Z2019-11-22T13:35:58Z
<p><a href="https://android-rebuilds.beuc.net/"><img src="https://www.beuc.net/images/arebuilds.png" alt="" /></a></p>
<h2>What is it already?</h2>
<p>Android Rebuilds provides <a href="https://blog.beuc.net/posts/Rebuilding_Android_proprietary_SDK_binaries/">freely-licensed</a> builds of Android development tools written by somebody else.</p>
<h2>New builds</h2>
<p>SDK 10 (API 29) and NDK 20 rebuilds are now available, as <a href="https://gitlab.com/android-rebuilds/auto">unattended build scripts</a> as well as <a href="https://android-rebuilds.beuc.net/">binaries you shan't trust</a>.</p>
<p>sdkmanager integration will be complete when we figure out how to give our repo precedence over somebody else's.</p>
<h2>Evolution of the situation</h2>
<p>SDK build remains monolithic and growing (40GB .git, 7h multi-core build, 200GB build space).</p>
<p>But there are fewer build issues, thanks to newer "prebuilts" deps straight in Git, now including OpenJDK.<br />
I expect we'll soon chroot in Git before build.</p>
<p>Also for the first time ever I could complete a NDK windows build.</p>
<h2>Licensing</h2>
<p>Official binaries are still click-wrapped with a proprietary license.</p>
<p>It was discovered that such a license is also covering past versions of android.jar & al. hidden in a prebuilts directory and somehow necessary to the builds.<br />
Archeological work already successfully started to rebuild SDKs from the start of the decade.</p>
<h2>Fanbase</h2>
<p>Android Rebuilds is showcased in <a href="https://github.com/ungoogled-software/ungoogled-chromium-android/">ungoogled-chromium-android</a>, <em>a lightweight approach to removing Google web service dependency</em>.</p>
<h2>F-Droid mirror</h2>
<p>After some back and forth, the F-Droid mirror is stable and limited to the experimental sdkmanager repository.<br />
F-Droid showed high dedication to implementing upload restrictions and establishing procedures.<br />
I have great hope that they will soon show the same level of dedication dropping <a href="https://github.com/f-droid/fdroidserver/commit/19af92c9829223be4f284ef3ba9afdb8a6b09f77">non-free</a> <a href="https://github.com/f-droid/fdroidserver/commit/457cf22361060b736145b8bb9a3d0cfa2f81dfea">licenses</a> and freeing their build server.</p>
SCP Foundation needs you!https://blog.beuc.net/posts/SCP_Foundation_needs_you__33__/2020-01-04T23:50:31Z2019-11-18T12:55:57Z
<p><a href="http://www.scp-wiki.net/"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/SCP_Foundation_%28emblem%29.svg/240px-SCP_Foundation_%28emblem%29.svg.png" alt="" /></a></p>
<p><a href="http://www.scp-wiki.net/">SCP</a> is a mind-blowing, diverse, high-quality collection of writings and illustrations, all released under the CC-BY-SA free license.<br />
If you never read horror stories written with scientific style -- have a try <img src="https://blog.beuc.net/smileys/smile.png" alt=":)" /></p>
<p>[obviously this has nothing to do with OpenSSH Secure CoPy ;)]</p>
<p>Faced with a legal threat through the <a href="http://scp.bz/standwithru">aggressive use</a> of a RU/EU trademark, the SCP project is <a href="http://scp.bz/fundraiser">raising a legal fund</a>.<br />
I suggest you have a look.</p>
More GNU Planet feeds from Savannahhttps://blog.beuc.net/posts/More_GNU_Planet_feeds_from_Savannah/2020-01-04T23:50:31Z2019-10-26T16:03:20Z
<p><a href="https://planet.gnu.org/"><img src="https://blog.beuc.net/posts/planet.gnu.org-logo.png" width="124" height="140" alt="planet.gnu.org logo" class="img" align="right" /></a></p>
<p>GNU Planet now automatically fetches news feeds from 'www.gnu.org portions' and 'www.gnu.org translation teams' Savannah projects.</p>