I Use This!
Very High Activity

News

Analyzed about 20 hours ago. based on code collected 1 day ago.
Posted almost 4 years ago
The Debian Janitor is an automated system that commits fixes for (minor) issues in Debian packages that can be fixed by software. It gradually started proposing merges in early December. The first set of changes sent out ran lintian-brush on sid ... [More] packages maintained in Git. This post is part of a series about the progress of the Janitor. Since the original post, merge proposals created by the janitor now include the debdiff between a build with and without the changes (showing the impact to the binary packages), in addition to the merge proposal diff (which shows the impact to the source package). New merge proposals also include a link to the diffoscope diff between a vanilla build and the build with changes. Unfortunately these can be a bit noisy for packages that are not reproducible yet, due to the difference in build environment between the two builds. This is part of the effort to keep the changes from the janitor high-quality. The rollout surfaced some bugs in lintian-brush; these have been either fixed or mitigated (e.g. by disabling specified fixers). For more information about the Janitor's lintian-fixes efforts, see the landing page. [Less]
Posted almost 4 years ago
I’ve recently bought a Garmin Fenix Multisport Smartwatch. The watch offers support for navigation and maps. By default it came with some topo maps for Europe. However I wanted to use more detailed maps from OpenStreetMap. Freizeitkarte for ... [More] Garmin Fenix loaded into QMapShack After some search I’ve discovered the wonderful Freizeitkarte project, which is a project to offer maps for Garmin devices. The default maps work OKish on the device. However as the smart watch doesn’t have a high end processor zooming and fast scrolling on the map is very slow. Also the display of the Fenix isn’t very saturated, so you need to work with different contrasts to display the map nicely. So I’ve downloaded the Freizeitkarte Map Development Environment (MDE) and tried to find out how the map is generated and how you could improve it. It is really simple to use and well documented! First I removed power lines from the map, you really don’t need them on a fitness tracker and they often confused me because the display was similar to roads and it looks like the is a junction of a road but there wasn’t a road. Then I reduced the Points of Interest (POI) to remove what we really don’t need. Things like car, beauty or fashion shops, power and communication towers, bowling and horse stuff and many more. The next step as to improve the look of the map. The MDE comes already with different files which define how a map looks, those are called TYP files. It has an outdoorc.TYP file which has a more contrasty look for a map but not enough for the Fenix. So I created a new TYP file especially for the Fenix and improved some icons I find important like restaurants, supermarkets, pharmacies and hospitals, parking lots and (bus) stops. Also there had been problems with the map on fenix. The draw order really matters and I needed to draw forests earlier as they didn’t show up on smartwatch, but worked fine when loaded in QMapShack. My current version of the Fenix style for Freizeitkarte can be found in a Merge Request (MR) for FZK MDE. If you want to play with an already rendered map, I’ve uploaded a map of Bavaria and the Alps here: fzk_fenix_bavaria_de.img.xz (262 MB)fzk_fenix_alps_de.img.xz (1.4 GB) Download the file, unzip it and copy the fenix_fzk_bayern_de.img to the GARMIN folder on the device using MTP. Make sure to use None as the Map theme to get the one from the map! In case you want a map for your region you can build it yourself using the MDE. Here are my build steps: # Build Freizeitkarte for Fenix 1. Bootstrap (needed only once) ./mt.pl bootstrap urls http://osm.thkukuk.de/data/bounds-latest.zip http://osm.thkukuk.de/data/sea-latest.zip ./mt.pl create 2. Fetch OSM and Elevation and join them ./mt.pl --downloadbar fetch_osm Freizeitkarte_BAYERN ./mt.pl --downloadbar fetch_ele Freizeitkarte_BAYERN ./mt.pl --ram=22528 --cores=11 join Freizeitkarte_BAYERN 3. Split and build the map ./mt.pl --ram=22528 --cores=11 --language=de split Freizeitkarte_BAYERN ./mt.pl --ram=22528 --cores=11 --typfile=fenix.TYP --style=fzk-fenix --language=de build Freizeitkarte_BAYERN ./mt.pl --ram=22528 --cores=11 --typfile=fenix.TYP --style=fzk-fenix --language=de gmapsupp Freizeitkarte_BAYERN Note: For using 1 CPU core you need 2GB of RAM. I have 12 cores (24 threads) and 32GB of RAM in my machine. The above values I use are a good compromise between speed and a still usable system :-) Feedback is welcome as well as code/style contributions. [Less]
Posted almost 4 years ago
I’ve recently bought a Garmin Fenix Multisport Smartwatch. The watch offers support for navigation and maps. By default it came with some topo maps for Europe. However I wanted to use more detailed maps from OpenStreetMap. Freizeitkarte for ... [More] Garmin Fenix loaded into QMapShack After some search I’ve discovered the wonderful Freizeitkarte project, which is a project to offer maps for Garmin devices. The default maps work OKish on the device. However as the smart watch doesn’t have a high end processor zooming and fast scrolling on the map is very slow. Also the display of the Fenix isn’t very saturated, so you need to work with different contrasts to display the map nicely. So I’ve downloaded the Freizeitkarte Map Development Environment (MDE) and tried to find out how the map is generated and how you could improve it. It is really simple to use and well documented! First I removed power lines from the map, you really don’t need them on a fitness tracker and they often confused me because the display was similar to roads and it looks like the is a junction of a road but there wasn’t a road. Then I reduced the Points of Interest (POI) to remove what we really don’t need. Things like car, beauty or fashion shops, power and communication towers, bowling and horse stuff and many more. The next step as to improve the look of the map. The MDE comes already with different files which define how a map looks, those are called TYP files. It has an outdoorc.TYP file which has a more contrasty look for a map but not enough for the Fenix. So I created a new TYP file especially for the Fenix and improved some icons I find important like restaurants, supermarkets, pharmacies and hospitals, parking lots and (bus) stops. Also there had been problems with the map on fenix. The draw order really matters and I needed to draw forests earlier as they didn’t show up on smartwatch, but worked fine when loaded in QMapShack. My current version of the Fenix style for Freizeitkarte can be found in a Merge Request (MR) for FZK MDE. If you want to play with an already rendered map, I’ve uploaded a map of Bavaria and the Alps here: fzk_fenix_bavaria_de.img.xz (262 MB)fzk_fenix_alps_de.img.xz (1.4 GB) Download the file, unzip it and copy the fenix_fzk_bayern_de.img to the GARMIN folder on the device using MTP. Make sure to use None as the Map theme to get the one from the map! In case you want a map for your region you can build it yourself using the MDE. Here are my build steps: # Build Freizeitkarte for Fenix 1. Bootstrap (needed only once) ./mt.pl bootstrap urls http://osm.thkukuk.de/data/bounds-latest.zip http://osm.thkukuk.de/data/sea-latest.zip ./mt.pl create 2. Fetch OSM and Elevation and join them ./mt.pl --downloadbar fetch_osm Freizeitkarte_BAYERN ./mt.pl --downloadbar fetch_ele Freizeitkarte_BAYERN ./mt.pl --ram=22528 --cores=11 join Freizeitkarte_BAYERN 3. Split and build the map ./mt.pl --ram=22528 --cores=11 --language=de split Freizeitkarte_BAYERN ./mt.pl --ram=22528 --cores=11 --typfile=fenix.TYP --style=fzk-fenix --language=de build Freizeitkarte_BAYERN ./mt.pl --ram=22528 --cores=11 --typfile=fenix.TYP --style=fzk-fenix --language=de gmapsupp Freizeitkarte_BAYERN Note: For using 1 CPU core you need 2GB of RAM. I have 12 cores (24 threads) and 32GB of RAM in my machine. The above values I use are a good compromise between speed and a still usable system :-) Feedback is welcome as well as code/style contributions. [Less]
Posted almost 4 years ago
TL;DR: exchanges are casinos and don’t want to onboard anyone into bitcoin. Avoid. There’s a classic scam in the “crypto” space: advertize Bitcoin to get people in, then sell suckers something else entirely. Over the last few years, this ... [More] bait-and-switch has become the core competency of “bitcoin” exchanges. I recently visited the homepage of Australian exchange btcmarkets.net: what a mess. There was a list of dozens of identical-looking “cryptos”, with bitcoin second after something called “XRP”; seems like it was sorted by volume? Incentives have driven exchanges to become casinos, and they’re doing exactly what you’d expect unregulated casinos to do. This is no place you ever want to send anyone. Incentives For Exchanges Exchanges make money on trading, not on buying and holding. Despite the fact that bitcoin is the only real attempt to create an open source money, scams with no future are given false equivalence, because more assets means more trading. Worse than that, they are paid directly to list new scams (the crappier, the more money they can charge!) and have recently taken the logical step of introducing and promoting their own crapcoins directly. It’s like a gold dealer who also sells 57 varieties of pyrite, which give more margin than selling actual gold. For a long time, I thought exchanges were merely incompetent. Most can’t even give out fresh addresses for deposits, batch their outgoing transactions, pay competent fee rates, perform RBF or use segwit. But I misunderstood: they don’t want to sell bitcoin. They use bitcoin to get you in the door, but they want you to gamble. This matters: you’ll find subtle and not-so-subtle blockers to simply buying bitcoin on an exchange. If you send a friend off to buy their first bitcoin, they’re likely to come back with something else. That’s no accident. Looking Deeper, It Gets Worse. Regrettably, looking harder at specific exchanges makes the picture even bleaker. Consider Binance: this mainland China backed exchange pretending to be a Hong Kong exchange appeared out of nowhere with fake volume and demonstrated the gullibility of the entire industry by being treated as if it were a respected member. They lost at least 40,000 bitcoin in a known hack, and they also lost all the personal information people sent them to KYC. They aggressively market their own coin. But basically, they’re just MtGox without Mark Karpales’ PHP skills or moral scruples and much better marketing. Coinbase is more interesting: an MBA-run “bitcoin” company which really dislikes bitcoin. They got where they are by spending big on regulations compliance in the US so they could operate in (almost?) every US state. (They don’t do much to dispel the wide belief that this regulation protects their users, when in practice it seems only USD deposits have any guarantee). Their natural interest is in increasing regulation to maintain that moat, and their biggest problem is Bitcoin. They have much more affinity for the centralized coins (Ethereum) where they can have influence and control. The anarchic nature of a genuine open source community (not to mention the developers’ oft-stated aim to improve privacy over time) is not culturally compatible with a top-down company run by the Big Dog. It’s a running joke that their CEO can’t say the word “Bitcoin”, but their recent “what will happen to cryptocurrencies in the 2020s” article is breathtaking in its boldness: innovation is mainly happening on altcoins, and they’re going to overtake bitcoin any day now. Those scaling problems which the Bitcoin developers say they don’t know how to solve? This non-technical CEO knows better. So, don’t send anyone to an exchange, especially not a “market leading” one. Find some service that actually wants to sell them bitcoin, like CashApp or Swan Bitcoin. [Less]
Posted over 4 years ago
There are a lot of small changes that can be made to the Debian archive to increase the overall quality. Many of these changes are small and have just minor benefits if they are applied to just a single package. Lintian encourages maintainers to ... [More] fix these problems by pointing out the common ones. Most of these issues are often trivially fixable; they are in general an inefficient use of human time, and it takes a lot of effort to keep up with. This is something that can clearly be automated. Several tools (e.g. onovy’s mass tool, and the lintian-brush tool that I’ve been working on) go a step further and (for a subset of the issues reported by lintian) fix the problems for you, where they can. Lintian-brush can currently fix most instances of close to 100 lintian tags. Thanks to the Vcs-* fields set by many packages and the APIs provided by hosting platforms like Salsa, it is now possible to proactively attempt to fix these issues. The Debian Janitor is a tool that will run lintian-brush across the entire archive, and propose fixes to lintian issues via pull request. Objectives The aim of Debian Janitor is to take some drudge work away from Debian maintainers where possible, so they can spend their time on more important packaging work. Its purpose is to make automated changes quick and easy to apply, with minimal overhead for package maintainers. It is essentially a bit of infrastructure to run lintian-brush across all of the archive. The actions of the bot are restricted to a limited set of problems for which obviously correct actions can be taken. It is not meant to automate all packaging, or even to cover automating all instances of the issues it knows about. The bot is designed to be conservative and delight with consistently correct fixes instead of proposing possibly incorrect fixes and hoping for the best. Considerable effort has been made to avoid the janitor creating pull requests with incorrect changes, as these take valuable time away from maintainers, the package doesn’t actually improve (since the merge request is rejected) and it makes it likelier that future pull requests from the Debian Janitor bot are ignored or rejected. In short: The janitor is meant to propose correct changes if it can, and back off otherwise. Design The Janitor finds package sources in version control systems from the Vcs*- control field in Debian source packages. If the packaging branch is hosted on a hosting platform that the Janitor has a presence on, it will attempt to run lintian-brush on the packaging branch and (if there are any changes made) build the package and propose a merge. It is based on silver-platter and currently has support for: Salsa GitHub Launchpad GitLab The Janitor is driven from the lintian and vcswatch tables in UDD. It queries for packages that are affected by any of the lintian tags that lintian-brush has a fixer script for. This way it can limit the number of repositories it has to process. Ensuring quality There are a couple of things I am doing to make sure that the Debian Janitor delights rather than annoys. High quality changes Lintian-brush has end-to-end tests for its fixers. In order to make sure that merge requests are useful and high-value, the bot will only propose changes from lintian-brush that: successfully build in a chroot and pass autopkgtest and piuparts; are not completely trivial - e.g. only stripping whitespace Changes for a package will also be reviewed by a human before they make it into a pull request. One open pull request per package If the bot created a pull request previously, it will attempt to update the current request by adding new commits (and updating the pull request description). It will remove and fix the branch when the pull request conflicts because of new upstream changes. In other words, it will only create a single pull request per package and will attempt to keep that pull request up to date. Gradual rollout I’m slowly adding interested maintainers to receiving pull requests, before opening it up to the entire archive. This should help catch any widespread issues early. Providing control The bot will be upfront about its pull requests and try to avoid overwhelming maintainers with pull requests by: Clearly identifying any merge requests it creates as being made by a bot. This should allow maintainers to prioritize contributions from humans. Limiting the number of open proposals per maintainer. It starts by opening a single merge request and won’t open additional merge requests until the first proposal has a response Providing a way to opt out of future merge requests; just a reply on the merge request is sufficient. Any comments on merge requests will also still be reviewed by a human. Current state Debian janitor is running, generating changes and already creating merge requests (albeit under close review). Some examples of merge requests it has created: i3 (on Salsa) nbd (on Salsa) friendly recovery (on Launchpad) dh-exec (on GitHub) Using the janitor The janitor can process any package that’s maintained in Git and has its Vcs-Git header set correctly (you can use vcswatch to check this). If you’re interested in receiving pull requests early, leave a comment below. Eventually, the janitor should get to all packages, though it may take a while with the current number of source packages in the archive. By default, salsa does not send notifications when a new merge request for one of the repositories you’re a maintainer for is created. Make sure you have notifications enabled in your Salsa profile, by ticking “New Merge Requests” for the packages you care about. You can also see the number of open merge requests for a package repository on QA - it’s the ! followed by a number in the pull request column. It is also possible to download the diff for a particular package (if it’s been generated) ahead of the janitor publishing it: $ curl https://janitor.debian.net/api/lintian-fixes/pkg/PACKAGE/diff E.g. for i3-wm, look at https://janitor.debian.net/api/lintian-fixes/pkg/i3-wm/diff. Future Plans The current set of supported hosting platforms covers the bulk of packages in Debian that is maintained in a VCS. The only other 100+ package platform that’s unsupported is dgit. If you have suggestions on how best to submit git changes to dgit repositories (BTS bugs with patches? or would that be too much overhead?), let me know. The next platform that is currently missing is bitbucket, but there are only about 15 packages in unstable hosted there. At the moment, lintian-brush can fix close to 100 lintian tags. It would be great to add fixers for more common issues. The janitor should probably be more tightly integrated with other pieces of Debian infrastructure, e.g. Jenkins for running jobs or linked to from the tracker or lintian.debian.org. More information See the FAQ on the homepage. If you have any concerns about these roll-out plans, have other ideas or questions, please let me know in the comments. [Less]
Posted over 4 years ago
There are a lot of small changes that can be made to the Debian archive to increase the overall quality. Many of these changes are small and have just minor benefits if they are applied to just a single package. Lintian encourages maintainers to ... [More] fix these problems by pointing out the common ones. Most of these issues are often trivially fixable; they are in general an inefficient use of human time, and it takes a lot of effort to keep up with. This is something that can clearly be automated. Several tools (e.g. onovy's mass tool, and the lintian-brush tool that I've been working on) go a step further and (for a subset of the issues reported by lintian) fix the problems for you, where they can. Lintian-brush can currently fix most instances of close to 100 lintian tags. Thanks to the Vcs-* fields set by many packages and the APIs provided by hosting platforms like Salsa, it is now possible to proactively attempt to fix these issues. The Debian Janitor is a tool that will run lintian-brush across the entire archive, and propose fixes to lintian issues via pull request. Objectives The aim of Debian Janitor is to take some drudge work away from Debian maintainers where possible, so they can spend their time on more important packaging work. Its purpose is to make automated changes quick and easy to apply, with minimal overhead for package maintainers. It is essentially a bit of infrastructure to run lintian-brush across all of the archive. The actions of the bot are restricted to a limited set of problems for which obviously correct actions can be taken. It is not meant to automate all packaging, or even to cover automating all instances of the issues it knows about. The bot is designed to be conservative and delight with consistently correct fixes instead of proposing possibly incorrect fixes and hoping for the best. Considerable effort has been made to avoid the janitor creating pull requests with incorrect changes, as these take valuable time away from maintainers, the package doesn't actually improve (since the merge request is rejected) and it makes it likelier that future pull requests from the Debian Janitor bot are ignored or rejected. In short: The janitor is meant to propose correct changes if it can, and back off otherwise. Design The Janitor finds package sources in version control systems from the Vcs*- control field in Debian source packages. If the packaging branch is hosted on a hosting platform that the Janitor has a presence on, it will attempt to run lintian-brush on the packaging branch and (if there are any changes made) build the package and propose a merge. It is based on silver-platter and currently has support for: Salsa GitHub Launchpad GitLab The Janitor is driven from the lintian and vcswatch tables in UDD. It queries for packages that are affected by any of the lintian tags that lintian-brush has a fixer script for. This way it can limit the number of repositories it has to process. Ensuring quality There are a couple of things I am doing to make sure that the Debian Janitor delights rather than annoys. High quality changes Lintian-brush has end-to-end tests for its fixers. In order to make sure that merge requests are useful and high-value, the bot will only propose changes from lintian-brush that: successfully build in a chroot and pass autopkgtest and piuparts; are not completely trivial - e.g. only stripping whitespace Changes for a package will also be reviewed by a human before they make it into a pull request. One open pull request per package If the bot created a pull request previously, it will attempt to update the current request by adding new commits (and updating the pull request description). It will remove and fix the branch when the pull request conflicts because of new upstream changes. In other words, it will only create a single pull request per package and will attempt to keep that pull request up to date. Gradual rollout I'm slowly adding interested maintainers to receiving pull requests, before opening it up to the entire archive. This should help catch any widespread issues early. Providing control The bot will be upfront about its pull requests and try to avoid overwhelming maintainers with pull requests by: Clearly identifying any merge requests it creates as being made by a bot. This should allow maintainers to prioritize contributions from humans. Limiting the number of open proposals per maintainer. It starts by opening a single merge request and won't open additional merge requests until the first proposal has a response Providing a way to opt out of future merge requests; just a reply on the merge request is sufficient. Any comments on merge requests will also still be reviewed by a human. Current state Debian janitor is running, generating changes and already creating merge requests (albeit under close review). Some examples of merge requests it has created: i3 (on Salsa) nbd (on Salsa) friendly recovery (on Launchpad) dh-exec (on GitHub) Using the janitor The janitor can process any package that’s maintained in Git and has its Vcs-Git header set correctly (you can use vcswatch to check this). If you're interested in receiving pull requests early, leave a comment below. Eventually, the janitor should get to all packages, though it may take a while with the current number of source packages in the archive. By default, salsa does not send notifications when a new merge request for one of the repositories you're a maintainer for is created. Make sure you have notifications enabled in your Salsa profile, by ticking "New Merge Requests" for the packages you care about. You can also see the number of open merge requests for a package repository on QA - it's the ! followed by a number in the pull request column. It is also possible to download the diff for a particular package (if it's been generated) ahead of the janitor publishing it: $ curl https://janitor.debian.net/api/lintian-fixes/pkg/PACKAGE/diff E.g. for i3-wm, look at https://janitor.debian.net/api/lintian-fixes/pkg/i3-wm/diff. Future Plans The current set of supported hosting platforms covers the bulk of packages in Debian that is maintained in a VCS. The only other 100+ package platform that's unsupported is dgit. If you have suggestions on how best to submit git changes to dgit repositories (BTS bugs with patches? or would that be too much overhead?), let me know. The next platform that is currently missing is bitbucket, but there are only about 15 packages in unstable hosted there. At the moment, lintian-brush can fix close to 100 lintian tags. It would be great to add fixers for more common issues. The janitor should probably be more tightly integrated with other pieces of Debian infrastructure, e.g. Jenkins for running jobs or linked to from the tracker or lintian.debian.org. More information See the FAQ on the homepage. If you have any concerns about these roll-out plans, have other ideas or questions, please let me know in the comments. [Less]
Posted over 4 years ago
There are a lot of small changes that can be made to the Debian archive to increase the overall quality. Many of these changes are small and have just minor benefits if they are applied to just a single package. Lintian encourages maintainers to ... [More] fix these problems by pointing out the common ones. Most of these issues are often trivially fixable; they are in general an inefficient use of human time, and it takes a lot of effort to keep up with. This is something that can clearly be automated. Several tools (e.g. onovy's mass tool, and the lintian-brush tool that I've been working on) go a step further and (for a subset of the issues reported by lintian) fix the problems for you, where they can. Lintian-brush can currently fix most instances of close to 100 lintian tags. Thanks to the Vcs-* fields set by many packages and the APIs provided by hosting platforms like Salsa, it is now possible to proactively attempt to fix these issues. The Debian Janitor is a tool that will run lintian-brush across the entire archive, and propose fixes to lintian issues via pull request. Objectives The aim of Debian Janitor is to take some drudge work away from Debian maintainers where possible, so they can spend their time on more important packaging work. Its purpose is to make automated changes quick and easy to apply, with minimal overhead for package maintainers. It is essentially a bit of infrastructure to run lintian-brush across all of the archive. The actions of the bot are restricted to a limited set of problems for which obviously correct actions can be taken. It is not meant to automate all packaging, or even to cover automating all instances of the issues it knows about. The bot is designed to be conservative and delight with consistently correct fixes instead of proposing possibly incorrect fixes and hoping for the best. Considerable effort has been made to avoid the janitor creating pull requests with incorrect changes, as these take valuable time away from maintainers, the package doesn't actually improve (since the merge request is rejected) and it makes it likelier that future pull requests from the Debian Janitor bot are ignored or rejected. In short: The janitor is meant to propose correct changes if it can, and back off otherwise. Design The Janitor finds package sources in version control systems from the Vcs*- control field in Debian source packages. If the packaging branch is hosted on a hosting platform that the Janitor has a presence on, it will attempt to run lintian-brush on the packaging branch and (if there are any changes made) build the package and propose a merge. It is based on silver-platter and currently has support for: Salsa GitHub Launchpad GitLab The Janitor is driven from the lintian and vcswatch tables in UDD. It queries for packages that are affected by any of the lintian tags that lintian-brush has a fixer script for. This way it can limit the number of repositories it has to process. Ensuring quality There are a couple of things I am doing to make sure that the Debian Janitor delights rather than annoys. High quality changes Lintian-brush has end-to-end tests for its fixers. In order to make sure that merge requests are useful and high-value, the bot will only propose changes from lintian-brush that: successfully build in a chroot and pass autopkgtest and piuparts; are not completely trivial - e.g. only stripping whitespace Changes for a package will also be reviewed by a human before they make it into a pull request. One open pull request per package If the bot created a pull request previously, it will attempt to update the current request by adding new commits (and updating the pull request description). It will remove and fix the branch when the pull request conflicts because of new upstream changes. In other words, it will only create a single pull request per package and will attempt to keep that pull request up to date. Gradual rollout I'm slowly adding interested maintainers to receiving pull requests, before opening it up to the entire archive. This should help catch any widespread issues early. Providing control The bot will be upfront about its pull requests and try to avoid overwhelming maintainers with pull requests by: Clearly identifying any merge requests it creates as being made by a bot. This should allow maintainers to prioritize contributions from humans. Limiting the number of open proposals per maintainer. It starts by opening a single merge request and won't open additional merge requests until the first proposal has a response Providing a way to opt out of future merge requests; just a reply on the merge request is sufficient. Any comments on merge requests will also still be reviewed by a human. Current state Debian janitor is running, generating changes and already creating merge requests (albeit under close review). Some examples of merge requests it has created: i3 (on Salsa) nbd (on Salsa) friendly recovery (on Launchpad) dh-exec (on GitHub) Using the janitor The janitor can process any package that’s maintained in Git and has its Vcs-Git header set correctly (you can use vcswatch to check this). If you're interested in receiving pull requests early, leave a comment below. Eventually, the janitor should get to all packages, though it may take a while with the current number of source packages in the archive. By default, salsa does not send notifications when a new merge request for one of the repositories you're a maintainer for is created. Make sure you have notifications enabled in your Salsa profile, by ticking "New Merge Requests" for the packages you care about. You can also see the number of open merge requests for a package repository on QA - it's the ! followed by a number in the pull request column. It is also possible to download the diff for a particular package (if it's been generated) ahead of the janitor publishing it: $ curl https://janitor.debian.net/api/lintian-fixes/pkg/PACKAGE/diff E.g. for i3-wm, look at https://janitor.debian.net/api/lintian-fixes/pkg/i3-wm/diff. Future Plans The current set of supported hosting platforms covers the bulk of packages in Debian that is maintained in a VCS. The only other 100+ package platform that's unsupported is dgit. If you have suggestions on how best to submit git changes to dgit repositories (BTS bugs with patches? or would that be too much overhead?), let me know. The next platform that is currently missing is bitbucket, but there are only about 15 packages in unstable hosted there. At the moment, lintian-brush can fix close to 100 lintian tags. It would be great to add fixers for more common issues. The janitor should probably be more tightly integrated with other pieces of Debian infrastructure, e.g. Jenkins for running jobs or linked to from the tracker or lintian.debian.org. More information See the FAQ on the homepage. If you have any concerns about these roll-out plans, have other ideas or questions, please let me know in the comments. [Less]
Posted over 4 years ago
As I’m an amateur photographer, I’m using Open Source tools for developing my images. The software I use is called darktable. I think it is the best tool out there for editing RAW images. From time to time I contributed small code changes to ... [More] darktable, mostly bug fixes. Now I nearly finished my first feature for darktable, support for the AVIF image format. From RAW exported and reimported AVIF images in darktable. For implementing AVIF support I used libavif. Joe Drago the author of libavif was very helpful explaining all the details and helping me in debugging issues. Thank you Joe! The code need to be polished a bit more and I need to decide what to expose in the export UI or better simplify for the user. However there are some outstanding things that this will be a great experience for everyone: Multi threaded encoding of AVIF images using rav1e in libavif Still image support in rav1e Lossless support in rav1e AVIF image support in exiv2 AVIF image support in Firefox (FYI: Firefox already uses dav1d playing for AV1 videos) [Less]
Posted over 4 years ago
As I’m an amateur photographer, I’m using Open Source tools for developing my images. The software I use is called darktable. I think it is the best tool out there for editing RAW images. From time to time I contributed small code changes to ... [More] darktable, mostly bug fixes. Now I nearly finished my first feature for darktable, support for the AVIF image format. From RAW exported and reimported AVIF images in darktable. For implementing AVIF support I used libavif. Joe Drago the author of libavif was very helpful explaining all the details and helping me in debugging issues. Thank you Joe! The code need to be polished a bit more and I need to decide what to expose in the export UI or better simplify for the user. However there are some outstanding things that this will be a great experience for everyone: Multi threaded encoding of AVIF images using rav1e in libavif Still image support in rav1e Lossless support in rav1e AVIF image support in exiv2 AVIF image support in Firefox [Less]
Posted over 4 years ago
As I’m an amateur photographer, I’m using Open Source tools for developing my images. The software I use is called darktable. I think it is the best tool out there for editing RAW images. From time to time I contributed small code changes to ... [More] darktable, mostly bug fixes. Now I nearly finished my first feature for darktable, support for the AVIF image format. From RAW exported and reimported AVIF images in darktable. For implementing AVIF support I used libavif. Joe Drago the author of libavif was very helpful explaining all the details and helping me in debugging issues. Thank you Joe! The code need to be polished a bit more and I need to decide what to expose in the export UI or better simplify for the user. However there are some outstanding things that this will be a great experience for everyone: Multi threaded encoding of AVIF images using rav1e in libavif Still image support in rav1e Lossless support in rav1e AVIF image support in exiv2 AVIF image support in Firefox (FYI: Firefox already uses dav1d playing for AV1 videos) [Less]