Making packages for Debian requires quite a lot of attention to -details. And one of the details is the content of the -debian/copyright file, which should list all relevant licenses used by -the code in the package in question, preferably in -machine -readable DEP5 format.
- -For large packages with lots of contributors it is hard to write -and update this file manually, and if you get some detail wrong, the -package is normally rejected by the ftpmasters. So getting it right -the first time around get the package into Debian faster, and save -both you and the ftpmasters some work.. Today, while trying to figure -out what was wrong with -the -zfsonlinux copyright file, I decided to spend some time on -figuring out the options for doing this job automatically, or at least -semi-automatically.
- -Lucikly, there are at least two tools available for generating the -file based on the code in the source package, -debmake -and cme. I'm -not sure which one of them came first, but both seem to be able to -create a sensible draft file. As far as I can tell, none of them can -be trusted to get the result just right, so the content need to be -polished a bit before the file is OK to upload. I found the debmake -option in -a -blog posts from 2014. - -
To generate using debmake, use the -cc option: - -
-debmake -cc > debian/copyright -- -
Note there are some problems with python and non-ASCII names, so -this might not be the best option.
- -The cme option is based on a config parsing library, and I found -this approach in -a -blog post from 2015. To generate using cme, use the 'update -dpkg-copyright' option: - -
-cme update dpkg-copyright -quiet -- -
This will create or update debian/copyright. The cme tool seem to -handle UTF-8 names better than debmake.
- -When the copyright file is created, I would also like some help to -check if the file is correct. For this I found two good options, -debmake -k and license-reconcile. The former seem -to focus on license types and file matching, and is able to detect -ineffective blocks in the copyright file. The latter reports missing -copyright holders and years, but was confused by inconsistent license -names (like CDDL vs. CDDL-1.0). I suspect it is good to use both and -fix all issues reported by them before uploading. But I do not know -if the tools and the ftpmasters agree on what is important to fix in a -copyright file, so the package might still be rejected.
- -The devscripts tool licensecheck deserve mentioning. It -will read through the source and try to find all copyright statements. -It is not comparing the result to the content of debian/copyright, but -can be useful when verifying the content of the copyright file.
- -Are you aware of better tools in Debian to create and update -debian/copyright file. Please let me know, or blog about it on -planet.debian.org.
- -As usual, if you use Bitcoin and want to show your support of my -activities, please send Bitcoin donations to my address -15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.
+ +As my regular readers probably remember, the last year I published +a French and Norwegian translation of the classic +Free Culture book by the +founder of the Creative Commons movement, Lawrence Lessig. A bit less +known is the fact that due to the way I created the translations, +using docbook and po4a, I also recreated the English original. And +because I already had created a new the PDF edition, I published it +too. The revenue from the books are sent to the Creative Commons +Corporation. In other words, I do not earn any money from this +project, I just earn the warm fuzzy feeling that the text is available +for a wider audience and more people can learn why the Creative +Commons is needed.
+ +Today, just for fun, I had a look at the sales number over at +Lulu.com, which take care of payment, printing and shipping. Much to +my surprise, the English edition is selling better than both the +French and Norwegian edition, despite the fact that it has been +available in English since it was first published. In total, 24 paper +books was sold for USD $19.99 between 2016-01-01 and 2016-07-31:
+ +Title / language | Quantity |
---|---|
Culture Libre / French | 3 |
Fri kultur / Norwegian | 7 |
Free Culture / English | 14 |
The books are available both from Lulu.com and from large book +stores like Amazon and Barnes&Noble. Most revenue, around $10 per +book, is sent to the Creative Commons project when the book is sold +directly by Lulu.com. The other channels give less revenue. The +summary from Lulu tell me 10 books was sold via the Amazon channel, 10 +via Ingram (what is this?) and 4 directly by Lulu. And Lulu.com tells +me that the revenue sent so far this year is USD $101.42. No idea +what kind of sales numbers to expect, so I do not know if that is a +good amount of sales for a 10 year old book or not. But it make me +happy that the buyers find the book, and I hope they enjoy reading it +as much as I did.
+ +The ebook edition is available for free from +Github.
+ +If you would like to translate and publish the book in your native +language, I would be happy to help make it happen. Please get in +touch.
The appstream system -is taking shape in Debian, and one provided feature is a very -convenient way to tell you which package to install to make a given -firmware file available when the kernel is looking for it. This can -be done using apt-file too, but that is for someone else to blog -about. :)
- -Here is a small recipe to find the package with a given firmware -file, in this example I am looking for ctfw-3.2.3.0.bin, randomly -picked from the set of firmware announced using appstream in Debian -unstable. In general you would be looking for the firmware requested -by the kernel during kernel module loading. To find the package -providing the example file, do like this:
- -- --% apt install appstream -[...] -% apt update -[...] -% appstreamcli what-provides firmware:runtime ctfw-3.2.3.0.bin | \ - awk '/Package:/ {print $2}' -firmware-qlogic -% -
See the -appstream wiki page to learn how to embed the package metadata in -a way appstream can use.
- -This same approach can be used to find any package supporting a -given MIME type. This is very useful when you get a file you do not -know how to handle. First find the mime type using file ---mime-type, and next look up the package providing support for -it. Lets say you got an SVG file. Its MIME type is image/svg+xml, -and you can find all packages handling this type like this:
- -- --% apt install appstream -[...] -% apt update -[...] -% appstreamcli what-provides mimetype image/svg+xml | \ - awk '/Package:/ {print $2}' -bkchem -phototonic -inkscape -shutter -tetzle -geeqie -xia -pinta -gthumb -karbon -comix -mirage -viewnior -postr -ristretto -kolourpaint4 -eog -eom -gimagereader -midori -% -
I believe the MIME types are fetched from the desktop file for -packages providing appstream metadata.
+ +For mange år siden leste jeg en klassisk tekst som gjorde såpass +inntrykk på meg at jeg husker den fortsatt, flere år senere, og bruker +argumentene fra den stadig vekk. Teksten var «The Relativity of +Wrong» som Isaac Asimov publiserte i Skeptical Inquirer i 1989. Den +gir litt perspektiv rundt formidlingen av vitenskapelige resultater. +Jeg har hatt lyst til å kunne dele den også med folk som ikke +behersker engelsk så godt, som barn og noen av mine eldre slektninger, +og har savnet å ha den tilgjengelig på norsk. For to uker siden tok +jeg meg sammen og kontaktet Asbjørn Dyrendal i foreningen Skepsis om +de var interessert i å publisere en norsk utgave på bloggen sin, og da +han var positiv tok jeg kontakt med Skeptical Inquirer og spurte om +det var greit for dem. I løpet av noen dager fikk vi tilbakemelding +fra Barry Karr hos The Skeptical Inquirer som hadde sjekket og fått OK +fra Robyn Asimov som representerte arvingene i Asmiov-familien og gikk +igang med oversettingen.
+ +Resultatet, «Relativt +feil», ble publisert på skepsis-bloggen for noen minutter siden. +Jeg anbefaler deg på det varmeste å lese denne teksten og dele den med +dine venner.
+ +For å håndtere oversettelsen og sikre at original og oversettelse +var i sync brukte vi git, po4a, GNU make og Transifex. Det hele +fungerte utmerket og gjorde det enkelt å dele tekstene og jobbe sammen +om finpuss på formuleringene. Hadde hosted.weblate.org latt meg +opprette nye prosjekter selv i stedet for å måtte kontakte +administratoren der, så hadde jeg brukt weblate i stedet.
Most people seem not to realise that every time they walk around -with the computerised radio beacon known as a mobile phone their -position is tracked by the phone company and often stored for a long -time (like every time a SMS is received or sent). And if their -computerised radio beacon is capable of running programs (often called -mobile apps) downloaded from the Internet, these programs are often -also capable of tracking their location (if the app requested access -during installation). And when these programs send out information to -central collection points, the location is often included, unless -extra care is taken to not send the location. The provided -information is used by several entities, for good and bad (what is -good and bad, depend on your point of view). What is certain, is that -the private sphere and the right to free movement is challenged and -perhaps even eradicated for those announcing their location this way, -when they share their whereabouts with private and public -entities.
- -The phone company logs provide a register of locations to check out -when one want to figure out what the tracked person was doing. It is -unavailable for most of us, but provided to selected government -officials, company staff, those illegally buying information from -unfaithful servants and crackers stealing the information. But the -public information can be collected and analysed, and a free software -tool to do so is called -Creepy or Cree.py. I -discovered it when I read -an -article about Creepy in the Norwegian newspaper Aftenposten i -November 2014, and decided to check if it was available in Debian. -The python program was in Debian, but -the version in -Debian was completely broken and practically unmaintained. I -uploaded a new version which did not work quite right, but did not -have time to fix it then. This Christmas I decided to finally try to -get Creepy operational in Debian. Now a fixed version is available in -Debian unstable and testing, and almost all Debian specific patches -are now included -upstream.
- -The Creepy program visualises geolocation information fetched from -Twitter, Instagram, Flickr and Google+, and allow one to get a -complete picture of every social media message posted recently in a -given area, or track the movement of a given individual across all -these services. Earlier it was possible to use the search API of at -least some of these services without identifying oneself, but these -days it is impossible. This mean that to use Creepy, you need to -configure it to log in as yourself on these services, and provide -information to them about your search interests. This should be taken -into account when using Creepy, as it will also share information -about yourself with the services.
- -The picture above show the twitter messages sent from (or at least -geotagged with a position from) the city centre of Oslo, the capital -of Norway. One useful way to use Creepy is to first look at -information tagged with an area of interest, and next look at all the -information provided by one or more individuals who was in the area. -I tested it by checking out which celebrity provide their location in -twitter messages by checkout out who sent twitter messages near a -Norwegian TV station, and next could track their position over time, -making it possible to locate their home and work place, among other -things. A similar technique have been -used -to locate Russian soldiers in Ukraine, and it is both a powerful -tool to discover lying governments, and a useful tool to help people -understand the value of the private information they provide to the -public.
- -The package is not trivial to backport to Debian Stable/Jessie, as -it depend on several python modules currently missing in Jessie (at -least python-instagram, python-flickrapi and -python-requests-toolbelt).
- -(I have uploaded -the image to -screenshots.debian.net and licensed it under the same terms as the -Creepy program in Debian.)
+ +Did you know there is a TV channel broadcasting talks from DebConf +16 across an entire country? Or that there is a TV channel +broadcasting talks by or about +Linus Torvalds, +Tor, +OpenID, +Common Lisp, +Civic Tech, +EFF founder John Barlow, +how to make 3D +printer electronics and many more fascinating topics? It works +using only free software (all of it +available from Github), and +is administrated using a web browser and a web API.
+ +The TV channel is the Norwegian open channel +Frikanalen, and I am involved +via the NUUG member association in +running and developing the software for the channel. The channel is +organised as a member organisation where its members can upload and +broadcast what they want (think of it as Youtube for national +broadcasting television). Individuals can broadcast too. The time +slots are handled on a first come, first serve basis. Because the +channel have almost no viewers and very few active members, we can +experiment with TV technology without too much flack when we make +mistakes. And thanks to the few active members, most of the slots on +the schedule are free. I see this as an opportunity to spread +knowledge about technology and free software, and have a script I run +regularly to fill up all the open slots the next few days with +technology related video. The end result is a channel I like to +describe as Techno TV - filled with interesting talks and +presentations.
+ +It is available on channel 50 on the Norwegian national digital TV +network (RiksTV). It is also available as a multicast stream on +Uninett. And finally, it is available as +a WebM unicast stream from +Frikanalen and NUUG. Check it out. :)
During his DebConf15 keynote, Jacob Appelbaum -observed -that those listening on the Internet lines would have good reason to -believe a computer have a given security hole if it download a -security fix from a Debian mirror. This is a good reason to always -use encrypted connections to the Debian mirror, to make sure those -listening do not know which IP address to attack. In August, Richard -Hartmann observed that encryption was not enough, when it was possible -to interfere download size to security patches or the fact that -download took place shortly after a security fix was released, and -proposed -to always use Tor to download packages from the Debian mirror. He -was not the first to propose this, as the -apt-transport-tor -package by Tim Retout already existed to make it easy to convince apt -to use Tor, but I was not -aware of that package when I read the blog post from Richard.
- -Richard discussed the idea with Peter Palfrader, one of the Debian -sysadmins, and he set up a Tor hidden service on one of the central -Debian mirrors using the address vwakviie2ienjx6t.onion, thus making -it possible to download packages directly between two tor nodes, -making sure the network traffic always were encrypted.
- -Here is a short recipe for enabling this on your machine, by -installing apt-transport-tor and replacing http and https -urls with tor+http and tor+https, and using the hidden service instead -of the official Debian mirror site. I recommend installing -etckeeper before you start to have a history of the changes -done in /etc/.
- -- --apt install apt-transport-tor -sed -i 's% http://ftp.debian.org/%tor+http://vwakviie2ienjx6t.onion/%' /etc/apt/sources.list -sed -i 's% http% tor+http%' /etc/apt/sources.list -
If you have more sources listed in /etc/apt/sources.list.d/, run -the sed commands for these too. The sed command is assuming your are -using the ftp.debian.org Debian mirror. Adjust the command (or just -edit the file manually) to match your mirror.
- -This work in Debian Jessie and later. Note that tools like -apt-file only recently started using the apt transport -system, and do not work with these tor+http URLs. For -apt-file you need the version currently in experimental, -which need a recent apt version currently only in unstable. So if you -need a working apt-file, this is not for you.
- -Another advantage from this change is that your machine will start -using Tor regularly and at fairly random intervals (every time you -update the package lists or upgrade or install a new package), thus -masking other Tor traffic done from the same machine. Using Tor will -become normal for the machine in question.
- -On Freedombox, APT -is set up by default to use apt-transport-tor when Tor is -enabled. It would be great if it was the default on any Debian -system.
+ +Yesterday, I tried to unlock a HTC Desire HD phone, and it proved +to be a slight challenge. Here is the recipe if I ever need to do it +again. It all started by me wanting to try the recipe to set up +an +hardened Android installation from the Tor project blog on a +device I had access to. It is a old mobile phone with a broken +microphone The initial idea had been to just +install +CyanogenMod on it, but did not quite find time to start on it +until a few days ago.
+ +The unlock process is supposed to be simple: (1) Boot into the boot +loader (press volume down and power at the same time), (2) select +'fastboot' before (3) connecting the device via USB to a Linux +machine, (4) request the device identifier token by running 'fastboot +oem get_identifier_token', (5) request the device unlocking key using +the HTC developer web +site and unlock the phone using the key file emailed to you.
+ +Unfortunately, this only work fi you have hboot version 2.00.0029 +or newer, and the device I was working on had 2.00.0027. This +apparently can be easily fixed by downloading a Windows program and +running it on your Windows machine, if you accept the terms Microsoft +require you to accept to use Windows - which I do not. So I had to +come up with a different approach. I got a lot of help from AndyCap +on #nuug, and would not have been able to get this working without +him.
+ +First I needed to extract the hboot firmware from +the +windows binary for HTC Desire HD downloaded as 'the RUU' from HTC. +For this there is is a github +project named unruu using libunshield. The unshield tool did not +recognise the file format, but unruu worked and extracted rom.zip, +containing the new hboot firmware and a text file describing which +devices it would work for.
+ +Next, I needed to get the new firmware into the device. For this I +followed some instructions +available +from HTC1Guru.com, and ran these commands as root on a Linux +machine with Debian testing:
+ ++adb reboot-bootloader +fastboot oem rebootRUU +fastboot flash zip rom.zip +fastboot flash zip rom.zip +fastboot reboot ++ +
The flash command apparently need to be done twice to take effect, +as the first is just preparations and the second one do the flashing. +The adb command is just to get to the boot loader menu, so turning the +device on while holding volume down and the power button should work +too.
+ +With the new hboot version in place I could start following the +instructions on the HTC developer web site. I got the device token +like this:
+ ++fastboot oem get_identifier_token 2>&1 | sed 's/(bootloader) //' ++ +
And once I got the unlock code via email, I could use it like +this:
+ ++fastboot flash unlocktoken Unlock_code.bin ++ +
And with that final step in place, the phone was unlocked and I +could start stuffing the software of my own choosing into the device. +So far I only inserted a replacement recovery image to wipe the phone +before I start. We will see what happen next. Perhaps I should +install Debian on it. :)
Det kommer stadig nye løsninger for å ta lagre unna innslag fra NRK -for å se på det senere. For en stund tilbake kom jeg over et script -nrkopptak laget av Ingvar Hagelund. Han fjernet riktignok sitt script -etter forespørsel fra Erik Bolstad i NRK, men noen tok heldigvis og -gjorde det tilgjengelig -via github.
- -Scriptet kan lagre som MPEG4 eller Matroska, og bake inn -undertekster i fila på et vis som blant annet VLC forstår. For å -bruke scriptet, kopier ned git-arkivet og kjør
+ +For a while now, I have wanted to test +the Signal app, as it is +said to provide end to end encrypted communication and several of my +friends and family are already using it. As I by choice do not own a +mobile phone, this proved to be harder than expected. And I wanted to +have the source of the client and know that it was the code used on my +machine. But yesterday I managed to get it working. I used the +Github source, compared it to the source in +the +Signal Chrome app available from the Chrome web store, applied +patches to use the production Signal servers, started the app and +asked for the hidden "register without a smart phone" form. Here is +the recipe how I did it.
+ +First, I fetched the Signal desktop source from Github, using -
-nrkopptak/bin/nrk-opptak k+https://tv.nrk.no/serie/bmi-turne/MUHH45000115/sesong-1/episode-1 -
+git clone https://github.com/WhisperSystems/Signal-Desktop.git ++ +
Next, I patched the source to use the production servers, to be +able to talk to other Signal users:
+ ++cat <<EOF | patch -p0 +diff -ur ./js/background.js userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/background.js +--- ./js/background.js 2016-06-29 13:43:15.630344628 +0200 ++++ userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/background.js 2016-06-29 14:06:29.530300934 +0200 +@@ -47,8 +47,8 @@ + }); + }); + +- var SERVER_URL = 'https://textsecure-service-staging.whispersystems.org'; +- var ATTACHMENT_SERVER_URL = 'https://whispersystems-textsecure-attachments-staging.s3.amazonaws.com'; ++ var SERVER_URL = 'https://textsecure-service-ca.whispersystems.org:4433'; ++ var ATTACHMENT_SERVER_URL = 'https://whispersystems-textsecure-attachments.s3.amazonaws.com'; + var messageReceiver; + window.getSocketStatus = function() { + if (messageReceiver) { +diff -ur ./js/expire.js userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/expire.js +--- ./js/expire.js 2016-06-29 13:43:15.630344628 +0200 ++++ userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/expire.js2016-06-29 14:06:29.530300934 +0200 +@@ -1,6 +1,6 @@ + ;(function() { + 'use strict'; +- var BUILD_EXPIRATION = 0; ++ var BUILD_EXPIRATION = 1474492690000; + + window.extension = window.extension || {}; + +EOF ++ +
The first part is changing the servers, and the second is updating +an expiration timestamp. This timestamp need to be updated regularly. +It is set 90 days in the future by the build process (Gruntfile.js). +The value is seconds since 1970 times 1000, as far as I can tell.
+ +Based on a tip and good help from the #nuug IRC channel, I wrote a +script to launch Signal in Chromium.
-URL-eksemplet er dagens toppsak på tv.nrk.no. Argument 'k' ber -scriptet laste ned og lagre som Matroska. Det finnes en rekke andre -muligheter for valg av kvalitet og format.
++#!/bin/sh +cd $(dirname $0) +mkdir -p userdata +exec chromium \ + --proxy-server="socks://localhost:9050" \ + --user-data-dir=`pwd`/userdata --load-and-launch-app=`pwd` +-
Jeg foretrekker dette scriptet fremfor youtube-dl, som - -nevnt i 2014 støtter NRK og en rekke andre videokilder, på grunn -av at nrkopptak samler undertekster og video i en enkelt fil, hvilket -gjør håndtering enklere på disk.
+The script start the app and configure Chromium to use the Tor +SOCKS5 proxy to make sure those controlling the Signal servers (today +Amazon and Whisper Systems) as well as those listening on the lines +will have a harder time location my laptop based on the Signal +connections if they use source IP address.
+ +When the script starts, one need to follow the instructions under +"Standalone Registration" in the CONTRIBUTING.md file in the git +repository. I right clicked on the Signal window to get up the +Chromium debugging tool, visited the 'Console' tab and wrote +'extension.install("standalone")' on the console prompt to get the +registration form. Then I entered by land line phone number and +pressed 'Call'. 5 seconds later the phone rang and a robot voice +repeated the verification code three times. After entering the number +into the verification code field in the form, I could start using +Signal from my laptop. + +
As far as I can tell, The Signal app will leak who is talking to +whom and thus who know who to those controlling the central server, +but such leakage is hard to avoid with a centrally controlled server +setup. It is something to keep in mind when using Signal - the +content of your chats are harder to intercept, but the meta data +exposing your contact network is available to people you do not know. +So better than many options, but not great. And sadly the usage is +connected to my land line, thus allowing those controlling the server +to associate it to my home and person. I would prefer it if only +those I knew could tell who I was on Signal. There are options +avoiding such information leakage, but most of my friends are not +using them, so I am stuck with Signal for now.
When I was a kid, we used to collect "car numbers", as we used to -call the car license plate numbers in those days. I would write the -numbers down in my little book and compare notes with the other kids -to see how many region codes we had seen and if we had seen some -exotic or special region codes and numbers. It was a fun game to pass -time, as we kids have plenty of it.
- -A few days I came across -the OpenALPR -project, a free software project to automatically discover and -report license plates in images and video streams, and provide the -"car numbers" in a machine readable format. I've been looking for -such system for a while now, because I believe it is a bad idea that the -automatic -number plate recognition tool only is available in the hands of -the powerful, and want it to be available also for the powerless to -even the score when it comes to surveillance and sousveillance. I -discovered the developer -wanted to get the tool into -Debian, and as I too wanted it to be in Debian, I volunteered to -help him get it into shape to get the package uploaded into the Debian -archive.
- -Today we finally managed to get the package into shape and uploaded -it into Debian, where it currently -waits -in the NEW queue for review by the Debian ftpmasters.
- -I guess you are wondering why on earth such tool would be useful -for the common folks, ie those not running a large government -surveillance system? Well, I plan to put it in a computer on my bike -and in my car, tracking the cars nearby and allowing me to be notified -when number plates on my watch list are discovered. Another use case -was suggested by a friend of mine, who wanted to set it up at his home -to open the car port automatically when it discovered the plate on his -car. When I mentioned it perhaps was a bit foolhardy to allow anyone -capable of placing his license plate number of a piece of cardboard to -open his car port, men replied that it was always unlocked anyway. I -guess for such use case it make sense. I am sure there are other use -cases too, for those with imagination and a vision.
- -If you want to build your own version of the Debian package, check -out the upstream git source and symlink ./distros/debian to ./debian/ -before running "debuild" to build the source. Or wait a bit until the -package show up in unstable.
+ +When I set out a few weeks ago to figure out +which +multimedia player in Debian claimed to support most file formats / +MIME types, I was a bit surprised how varied the sets of MIME types +the various players claimed support for. The range was from 55 to 130 +MIME types. I suspect most media formats are supported by all +players, but this is not really reflected in the MimeTypes values in +their desktop files. There are probably also some bogus MIME types +listed, but it is hard to identify which one this is.
+ +Anyway, in the mean time I got in touch with upstream for some of +the players suggesting to add more MIME types to their desktop files, +and decided to spend some time myself improving the situation for my +favorite media player VLC. The fixes for VLC entered Debian unstable +yesterday. The complete list of MIME types can be seen on the +Multimedia +player MIME type support status Debian wiki page.
+ +The new "best" multimedia player in Debian? It is VLC, followed by +totem, parole, kplayer, gnome-mpv, mpv, smplayer, mplayer-gui and +kmplayer. I am sure some of the other players desktop files support +several of the formats currently listed as working only with vlc, +toten and parole.
+ +A sad observation is that only 14 MIME types are listed as +supported by all the tested multimedia players in Debian in their +desktop files: audio/mpeg, audio/vnd.rn-realaudio, audio/x-mpegurl, +audio/x-ms-wma, audio/x-scpls, audio/x-wav, video/mp4, video/mpeg, +video/quicktime, video/vnd.rn-realvideo, video/x-matroska, +video/x-ms-asf, video/x-ms-wmv and video/x-msvideo. Personally I find +it sad that video/ogg and video/webm is not supported by all the media +players in Debian. As far as I can tell, all of them can handle both +formats.
Around three years ago, I created -the isenkram -system to get a more practical solution in Debian for handing -hardware related packages. A GUI system in the isenkram package will -present a pop-up dialog when some hardware dongle supported by -relevant packages in Debian is inserted into the machine. The same -lookup mechanism to detect packages is available as command line -tools in the isenkram-cli package. In addition to mapping hardware, -it will also map kernel firmware files to packages and make it easy to -install needed firmware packages automatically. The key for this -system to work is a good way to map hardware to packages, in other -words, allow packages to announce what hardware they will work -with.
- -I started by providing data files in the isenkram source, and -adding code to download the latest version of these data files at run -time, to ensure every user had the most up to date mapping available. -I also added support for storing the mapping in the Packages file in -the apt repositories, but did not push this approach because while I -was trying to figure out how to best store hardware/package mappings, -the -appstream system was announced. I got in touch and suggested to -add the hardware mapping into that data set to be able to use -appstream as a data source, and this was accepted at least for the -Debian version of appstream.
- -A few days ago using appstream in Debian for this became possible, -and today I uploaded a new version 0.20 of isenkram adding support for -appstream as a data source for mapping hardware to packages. The only -package so far using appstream to announce its hardware support is my -pymissile package. I got help from Matthias Klumpp with figuring out -how do add the required -metadata -in pymissile. I added a file debian/pymissile.metainfo.xml with -this content:
- -+ +5th June 2016+@@ -568,89 +542,36 @@ blog posts tagged isenkram.Many years ago, when koffice was fresh and with few users, I +decided to test its presentation tool when making the slides for a +talk I was giving for NUUG on Japhar, a free Java virtual machine. I +wrote the first draft of the slides, saved the result and went to bed +the day before I would give the talk. The next day I took a plane to +the location where the meeting should take place, and on the plane I +started up koffice again to polish the talk a bit, only to discover +that kpresenter refused to load its own data file. I cursed a bit and +started making the slides again from memory, to have something to +present when I arrived. I tested that the saved files could be +loaded, and the day seemed to be rescued. I continued to polish the +slides until I suddenly discovered that the saved file could no longer +be loaded into kpresenter. In the end I had to rewrite the slides +three times, condensing the content until the talk became shorter and +shorter. After the talk I was able to pinpoint the problem – +kpresenter wrote inline images in a way itself could not understand. +Eventually that bug was fixed and kpresenter ended up being a great +program to make slides. The point I'm trying to make is that we +expect a program to be able to load its own data files, and it is +embarrassing to its developers if it can't.
+ +Did you ever experience a program failing to load its own data +files from the desktop file browser? It is not a uncommon problem. A +while back I discovered that the screencast recorder +gtk-recordmydesktop would save an Ogg Theora video file the KDE file +browser would refuse to open. No video player claimed to understand +such file. I tracked down the cause being file --mime-type +returning the application/ogg MIME type, which no video player I had +installed listed as a MIME type they would understand. I asked for +file to change its +behavour and use the MIME type video/ogg instead. I also asked +several video players to add video/ogg to their desktop files, to give +the file browser an idea what to do about Ogg Theora files. After a +while, the desktop file browsers in Debian started to handle the +output from gtk-recordmydesktop properly.
+ +But history repeats itself. A few days ago I tested the music +system Rosegarden again, and I discovered that the KDE and xfce file +browsers did not know what to do with the Rosegarden project files +(*.rg). I've reported the +rosegarden problem to BTS and a fix is commited to git and will be +included in the next upload. To increase the chance of me remembering +how to fix the problem next time some program fail to load its files +from the file browser, here are some notes on how to fix it.
+ +The file browsers in Debian in general operates on MIME types. +There are two sources for the MIME type of a given file. The output from +file --mime-type mentioned above, and the content of the +shared MIME type registry (under /usr/share/mime/). The file MIME +type is mapped to programs supporting the MIME type, and this +information is collected from +the +desktop files available in /usr/share/applications/. If there is +one desktop file claiming support for the MIME type of the file, it is +activated when asking to open a given file. If there are more, one +can normally select which one to use by right-clicking on the file and +selecting the wanted one using 'Open with' or similar. In general +this work well. But it depend on each program picking a good MIME +type (preferably +a +MIME type registered with IANA), file and/or the shared MIME +registry recognizing the file and the desktop file to list the MIME +type in its list of supported MIME types.
+ +The /usr/share/mime/packages/rosegarden.xml entry for +the +Shared MIME database look like this:
+ +- -<?xml version="1.0" encoding="UTF-8"?> -<component> - <id>pymissile</id> - <metadata_license>MIT</metadata_license> - <name>pymissile</name> - <summary>Control original Striker USB Missile Launcher</summary> - <description> - <p> - Pymissile provides a curses interface to control an original - Marks and Spencer / Striker USB Missile Launcher, as well as a - motion control script to allow a webcamera to control the - launcher. - </p> - </description> - <provides> - <modalias>usb:v1130p0202d*</modalias> - </provides> -</component> -The key for isenkram is the component/provides/modalias value, -which is a glob style match rule for hardware specific strings -(modalias strings) provided by the Linux kernel. In this case, it -will map to all USB devices with vendor code 1130 and product code -0202.
- -Note, it is important that the license of all the metadata files -are compatible to have permissions to aggregate them into archive wide -appstream files. Matthias suggested to use MIT or BSD licenses for -these files. A challenge is figuring out a good id for the data, as -it is supposed to be globally unique and shared across distributions -(in other words, best to coordinate with upstream what to use). But -it can be changed later or, so we went with the package name as -upstream for this project is dormant.
- -To get the metadata file installed in the correct location for the -mirror update scripts to pick it up and include its content the -appstream data source, the file must be installed in the binary -package under /usr/share/appdata/. I did this by adding the following -line to debian/pymissile.install:
- -- --debian/pymissile.metainfo.xml usr/share/appdata -With that in place, the command line tool isenkram-lookup will list -all packages useful on the current computer automatically, and the GUI -pop-up handler will propose to install the package not already -installed if a hardware dongle is inserted into the machine in -question.
- -Details of the modalias field in appstream is available from the -DEP-11 proposal.
- -To locate the modalias values of all hardware present in a machine, -try running this command on the command line:
- -- --cat $(find /sys/devices/|grep modalias) -To learn more about the isenkram system, please check out -my -blog posts tagged isenkram.
+<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"> + <mime-type type="audio/x-rosegarden"> + <sub-class-of type="application/x-gzip"/> + <comment>Rosegarden project file</comment> + <glob pattern="*.rg"/> + </mime-type> +</mime-info> + + +This states that audio/x-rosegarden is a kind of application/x-gzip +(it is a gzipped XML file). Note, it is much better to use an +official MIME type registered with IANA than it is to make up ones own +unofficial ones like the x-rosegarden type used by rosegarden.
+ +The desktop file of the rosegarden program failed to list +audio/x-rosegarden in its list of supported MIME types, causing the +file browsers to have no idea what to do with *.rg files:
+ ++ ++% grep Mime /usr/share/applications/rosegarden.desktop +MimeType=audio/x-rosegarden-composition;audio/x-rosegarden-device;audio/x-rosegarden-project;audio/x-rosegarden-template;audio/midi; +X-KDE-NativeMimeType=audio/x-rosegarden-composition +% +The fix was to add "audio/x-rosegarden;" at the end of the +MimeType= line.
+ +If you run into a file which fail to open the correct program when +selected from the file browser, please check out the output from +file --mime-type for the file, ensure the file ending and +MIME type is registered somewhere under /usr/share/mime/ and check +that some desktop file under /usr/share/applications/ is claiming +support for this MIME type. If not, please report a bug to have it +fixed. :)
- -14th December 2015-Besøk -lulu.com -eller -Amazon -for å kjøpe boken på papir, eller last ned ebook som -PDF, -ePub -eller -MOBI -fra -github.
- -Jeg ble gledelig overrasket i dag da jeg oppdaget at boken jeg har -gitt ut -hadde -dukket opp i Amazon. Jeg hadde trodd det skulle ta lenger tid, da -jeg fikk beskjed om at det skulle ta seks til åtte uker. -Amazonoppføringen er et resultat av at jeg for noen uker siden -diskuterte prissetting og håndtering av profitt med forfatteren. Det -måtte avklares da bruksvilkårene til boken har krav om -ikke-kommersiell bruk. Vi ble enige om at overskuddet fra salg av -boken skal sendes til -Creative Commons-stiftelsen. -Med det på plass kunne jeg be -lulu.com -om å gi boken «utvidet» distribusjon. à rsaken til at -bokhandeldistribusjon var litt utfordrende er at bokhandlere krever -mulighet for profitt på bøkene de selger (selvfølgelig), og dermed -måtte de få lov til å selge til høyere pris enn lulu.com. I tillegg -er det krav om samme pris på lulu.com og i bokhandlene, dermed blir -prisen økt også hos lulu.com. Hva skulle jeg gjøre med den profitten -uten å bryte med klausulen om ikkekommersiell? Løsningen var å gi -bort profitten til CC-stiftelsen. Prisen på boken ble nesten -tredoblet, til $19.99 (ca. 160,-) pluss frakt, men synligheten øker -betraktelig når den kan finnes i katalogene til store nettbokhandlere. -Det betyr at hvis du allerede har kjøpt boken har du fått den veldig -billig, og kjøper du den nå, får du den fortsatt billig samt donerer i -tillegg noen tiere til fremme av Creative Commons.
- -Mens jeg var i gang med å titte etter informasjon om boken -oppdaget jeg at den også var dukket opp på -Google -Books, der en kan lese den på web. PDF-utgaven har ennå ikke -dukket opp hos Nasjonalbiblioteket, -men det regner jeg med kommer på plass i løpet av noen uker. Boken er -heller ikke dukket opp hos -Barnes & Noble ennå, men -jeg antar det bare er et tidsspørsmål før dette er på plass.
- -Boken er dessverre ikke tilgjengelig fra norske bokhandlere, og -kommer neppe til å bli det med det første. à rsaken er at for å få det -til måtte jeg personlig håndtere bestilling av bøker, hvilket jeg ikke -er interessert i å bruke tid på. Jeg kunne betalt ca 2000,- til -den norske bokbasen, en felles -database over bøker tilgjengelig for norske bokhandlere, for å få en -oppføring der, men da måtte jeg tatt imot bestillinger på epost og -sendt ut bøker selv. Det ville krevd at jeg var klar til å -sende ut bøker på kort varsel, dvs. holdt meg med ekstra bøker, -konvolutter og frimerker. Bokbasen har visst ikke opplegg for å be -bokhandlene bestille direkte via web, så jeg droppet oppføring der. -Jeg har spurt Haugen bok og Tronsmo direkte på epost om de er -interessert i å ta inn boken i sin bestillingskatalog, men ikke fått -svar, så jeg antar de ikke er interessert. Derimot har jeg fått en -hyggelig henvendelse fra Biblioteksentralen som fortalte at de har -lagt den inn i sin database slik at deres bibliotekskunder enkelt kan -bestille den via dem.
- -Boken er i følge -Bibsys/Oria -og bokdatabasen til -Deichmanske -tilgjengelig fra flere biblioteker allerede, og alle eksemplarer er -visst allerede utlånt med ventetid. Det synes jeg er veldig gledelig -å se. Jeg håper mange kommer til å lese boken. Jeg tror den er -spesielt egnet for foreldre og bekjente av oss nerder for å forklare -hva slags problemer vi ser med dagens opphavsrettsregime.
+ +28th May 2016+@@ -658,114 +579,67 @@ hva slags problemer vi ser med dagens opphavsrettsregime.A little more than 11 years ago, one of the creators of Tor, and +the current President of the Tor +project, Roger Dingledine, gave a talk for the members of the +Norwegian Unix User group (NUUG). A +video of the talk was recorded, and today, thanks to the great help +from David Noble, I finally was able to publish the video of the talk +on Frikanalen, the Norwegian open channel TV station where NUUG +currently publishes its talks. You can +watch the live stream using a web +browser with WebM support, or check out the recording on the video +on demand page for the talk +"Tor: Anonymous +communication for the US Department of Defence...and you.".
+ +Here is the video included for those of you using browsers with +HTML video and Ogg Theora support:
+ + + +I guess the gist of the talk can be summarised quite simply: If you +want to help the military in USA (and everyone else), use Tor. :)
- -30th November 2015-A blog post from my fellow Debian developer Paul Wise titled -"The -GPL is not magic pixie dust" explain the importance of making sure -the GPL is enforced. -I quote the blog post from Paul in full here with his permission:
- -
- - - -- --The GPL is not magic pixie dust. It does not work by itself.- -
- -The first step is to choose a -copyleft license for your -code.
- -The next step is, when someone fails to follow that copyleft license, -it must be enforced
- -and its a simple fact of our modern society that such type of -work
- -is incredibly expensive to do and incredibly difficult to do. --- Bradley Kuhn, in -FaiF -episode -0x57
- -As the Debian Website -used -to -imply, public domain and permissively licensed software can lead to -the production of more proprietary software as people discover useful -software, extend it and or incorporate it into their hardware or -software products. Copyleft licenses such as the GNU GPL were created -to close off this avenue to the production of proprietary software but -such licenses are not enough. With the ongoing adoption of Free -Software by individuals and groups, inevitably the community's -expectations of license compliance are violated, usually out of -ignorance of the way Free Software works, but not always. As Karen -and Bradley explained in FaiF -episode 0x57, -copyleft is nothing if no-one is willing and able to stand up in court -to protect it. The reality of today's world is that legal -representation is expensive, difficult and time consuming. With -gpl-violations.org in hiatus -until -some time in 2016, the Software -Freedom Conservancy (a tax-exempt charity) is the major defender -of the Linux project, Debian and other groups against GPL violations. -In March the SFC supported a -lawsuit -by Christoph Hellwig against VMware for refusing to -comply -with the GPL in relation to their use of parts of the Linux -kernel. Since then two of their sponsors pulled corporate funding and -conferences -blocked -or cancelled their talks. As a result they have decided to rely -less on corporate funding and more on the broad community of -individuals who support Free Software and copyleft. So the SFC has -launched -a campaign to create -a community of folks who stand up for copyleft and the GPL by -supporting their work on promoting and supporting copyleft and Free -Software.
- -If you support Free Software, -like -what the SFC do, agree with their -compliance -principles, are happy about their -successes in 2015, -work on a project that is an SFC -member and or -just want to stand up for copyleft, please join -Christopher -Allan Webber, -Carol -Smith, -Jono -Bacon, myself and -others in -becoming a -supporter. For the -next week your donation will be -matched -by an anonymous donor. Please also consider asking your employer to -match your donation or become a sponsor of SFC. Don't forget to -spread the word about your support for SFC via email, your blog and or -social media accounts.
- -I agree with Paul on this topic and just signed up as a Supporter -of Software Freedom Conservancy myself. Perhaps you should be a -supporter too?
+ +25th May 2016+@@ -773,42 +647,62 @@ supporter too?The isenkram +system is a user-focused solution in Debian for handling hardware +related packages. The idea is to have a database of mappings between +hardware and packages, and pop up a dialog suggesting for the user to +install the packages to use a given hardware dongle. Some use cases +are when you insert a Yubikey, it proposes to install the software +needed to control it; when you insert a braille reader list it +proposes to install the packages needed to send text to the reader; +and when you insert a ColorHug screen calibrator it suggests to +install the driver for it. The system work well, and even have a few +command line tools to install firmware packages and packages for the +hardware already in the machine (as opposed to hotpluggable hardware).
+ +The system was initially written using aptdaemon, because I found +good documentation and example code on how to use it. But aptdaemon +is going away and is generally being replaced by +PackageKit, +so Isenkram needed a rewrite. And today, thanks to the great patch +from my college Sunil Mohan Adapa in the FreedomBox project, the +rewrite finally took place. I've just uploaded a new version of +Isenkram into Debian Unstable with the patch included, and the default +for the background daemon is now to use PackageKit. To check it out, +install the isenkram package and insert some hardware dongle +and see if it is recognised.
+ +If you want to know what kind of packages isenkram would propose for +the machine it is running on, you can check out the isenkram-lookup +program. This is what it look like on a Thinkpad X230:
+ ++ ++% isenkram-lookup +bluez +cheese +fprintd +fprintd-demo +gkrellm-thinkbat +hdapsd +libpam-fprintd +pidgin-blinklight +thinkfan +tleds +tp-smapi-dkms +tp-smapi-source +tpb +%p +The hardware mappings come from several places. The preferred way +is for packages to announce their hardware support using +the +cross distribution appstream system. +See +previous +blog posts about isenkram to learn how to do that.
- -17th November 2015-I've needed a new OpenPGP key for a while, but have not had time to -set it up properly. I wanted to generate it offline and have it -available on a OpenPGP -smart card for daily use, and learning how to do it and finding -time to sit down with an offline machine almost took forever. But -finally I've been able to complete the process, and have now moved -from my old GPG key to a new GPG key. See -the -full transition statement, signed with both my old and new key for -the details. This is my new key:
- --pub 3936R/111D6B29EE4E02F9 2015-11-03 [expires: 2019-11-14] - Key fingerprint = 3AC7 B2E3 ACA5 DF87 78F1 D827 111D 6B29 EE4E 02F9 -uid Petter Reinholdtsen <pere@hungry.com> -uid Petter Reinholdtsen <pere@debian.org> -sub 4096R/87BAFB0E 2015-11-03 [expires: 2019-11-02] -sub 4096R/F91E6DE9 2015-11-03 [expires: 2019-11-02] -sub 4096R/A0439BAB 2015-11-03 [expires: 2019-11-02] -- -The key can be downloaded from the OpenPGP key servers, signed by -my old key.
+ +23rd May 2016+@@ -830,6 +724,18 @@ you have a similarly signed transition statement to present.Yesterday I updated the +battery-stats +package in Debian with a few patches sent to me by skilled and +enterprising users. There were some nice user and visible changes. +First of all, both desktop menu entries now work. A design flaw in +one of the script made the history graph fail to show up (its PNG was +dumped in ~/.xsession-errors) if no controlling TTY was available. +The script worked when called from the command line, but not when +called from the desktop menu. I changed this to look for a DISPLAY +variable or a TTY before deciding where to draw the graph, and now the +graph window pop up as expected.
+ +The next new feature is a discharge rate estimator in one of the +graphs (the one showing the last few hours). New is also the user of +colours showing charging in blue and discharge in red. The percentages +of this graph is relative to last full charge, not battery design +capacity.
+ ++ +
The other graph show the entire history of the collected battery +statistics, comparing it to the design capacity of the battery to +visualise how the battery life time get shorter over time. The red +line in this graph is what the previous graph considers 100 percent: + +
+ +
In this graph you can see that I only charge the battery to 80 +percent of last full capacity, and how the capacity of the battery is +shrinking. :(
+ +The last new feature is in the collector, which now will handle +more hardware models. On some hardware, Linux power supply +information is stored in /sys/class/power_supply/ACAD/, while the +collector previously only looked in /sys/class/power_supply/AC/. Now +both are checked to figure if there is power connected to the +machine.
+ +If you are interested in how your laptop battery is doing, please +check out the +battery-stats +in Debian unstable, or rebuild it on Jessie to get it working on +Debian stable. :) The upstream source is available from github. +Patches are very welcome.
-If you signed my old key -(DB4CCC4B2A30D729), -I'd very much appreciate a signature on my new key, details and -instructions in the transition statement. I m happy to reciprocate if -you have a similarly signed transition statement to present.
+As usual, if you use Bitcoin and want to show your support of my +activities, please send Bitcoin donations to my address +15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.
February (2) +March (3) + +April (8) + +May (8) + +June (2) + +July (2) + +August (3) +2015 @@ -1061,41 +967,41 @@ you have a similarly signed transition statement to present. bitcoin (9) -bootsystem (15) +bootsystem (16) bsa (2) chrpath (2) -debian (120) +debian (133) -debian edu (154) +debian edu (157) digistan (10) dld (15) -docbook (20) +docbook (23) drivstoffpriser (4) -english (302) +english (325) fiksgatami (23) fildeling (12) -freeculture (25) +freeculture (28) freedombox (9) -frikanalen (16) +frikanalen (18) h264 (20) intervju (42) -isenkram (11) +isenkram (12) kart (19) @@ -1109,19 +1015,19 @@ you have a similarly signed transition statement to present.mesh network (8) -multimedia (37) +multimedia (39) nice free software (7) -norsk (273) +norsk (276) -nuug (177) +nuug (182) -offentlig innsyn (22) +offentlig innsyn (26) open311 (2) -opphavsrett (58) +opphavsrett (61) personvern (92) @@ -1141,19 +1047,19 @@ you have a similarly signed transition statement to present.scraperwiki (2) -sikkerhet (45) +sikkerhet (48) sitesummary (4) -skepsis (4) +skepsis (5) -standard (48) +standard (49) -stavekontroll (3) +stavekontroll (4) stortinget (10) -surveillance (36) +surveillance (37) sysadmin (2) @@ -1161,7 +1067,7 @@ you have a similarly signed transition statement to present.valg (8) -video (55) +video (59) vitenskap (4)