Self Introduction: Iain R. Learmonth
Hi, I understand that as a prospective package maintainer for Fedora I'm encouraged to send an email to introduce myself to devel. As I plan to be working on amateur radio software, I've copied the fedora-hams mailing list too. I've been contributing to Debian as a packager, amongst other things, since January 2014. I am involved in the Debian Hamradio Maintainers team and you can see a list of the packages I've worked on here: https://qa.debian.org/developer.php?login=irl%40fsfe.org I am also working on a Debian Hamradio Blend. Blends in Debian are based entirely on packages that exist in Debian and aim to provide easy methods of getting the right software, and configuring it, to perform certain tasks. This concept seems similar to the Fedora Spins concept. More information about the Debian Hamradio Blend can be found here: http://blends.debian.org/hamradio/ While there are a couple of packages I have plans to package for Fedora, I think my main contribution to Fedora will be through collaboration the the Fedora Amateur Radio SIG, sharing information about bugs and patches, discovering new software to package and working to resolve upstream issues. I have packaged pyqso, a logging tool for radio amateurs, and have submitted this for review. If you have some time, I would appreciate it if you could take a look. https://bugzilla.redhat.com/show_bug.cgi?id=1209054 I am in #fedora-hams on Freenode (nick is irl) if you would like to contact me. You can also email me at irl@fsfe.org (0xE9846C49). Thanks, Iain. -- e: irl@fsfe.org w: iain.learmonth.me x: irl@jabber.fsfe.org t: EPVPN 2105 c: 2M0STB g: IO87we p: 1F72 607C 5FF2 CCD5 3F01 600D 56FF 9EA4 E984 6C49
Hello Iain, Packages for radio amateurs - or maybe for radio enthusiasts like shortwave listeners, NDB-hunters, FM-DXers, ... is a natural part of Linux since these groups have a reasonable number of people interested in experimenting with new things. I am the developer of Linrad, a multi-OS package (originally Linux only) that provides a SDR (software defined radio) that can be used with a large number of hardware. I do not know what might be required for a software to be acceptable to become a package in Fedora (or Debian) and my feeling is that Linrad might not be acceptable today. I am however working on making it independent of other packages by having libraries loaded at run-time. This means that Linrad would always work, but if the user asks for some particular hardware, there would be an error message telling what package to install to get access to the hardware. Many such packages have to be installed from source, but some of them are in the repos of the main Linux distros. Linrad has a reputation of being difficult to install, which is utterly false! Using it properly is non-trivial however since the user needs some knowledge of radio although many seem to think they need computing skils. At the moment I am working on the transmit side. The Linrad speech processor runs with a delay of about 50ms from microphone to antenna and then there is about 20 ms from antenna to loudspeaker. The total is less than 100 ms which makes it possible to use single frequency duplex, "listen between words" in ssb mode. Another line of development is by Jürgen Kahrs who is developing software to move FFT computations to OpenCL to use GPUs for faster processing. You can read about linrad here (and find a link to videos) http://www.sm5bsz.com/linuxdsp/linrad.htm There is a repo. Download like this: svn checkout https://svn.code.sf.net/p/linrad/code/trunk linrad In case you think Linrad could qualify for a Fedora package, please tell me what might be necessary to change. Today Linrad comes in several flavours: linrad, xlinrad, flinrad, linrad64, xlinrad64, flinrad64 and clinrad. This will be changed. In a longer time-scale there is no need to support 32 bit code on 64 bit platforms. The three different flavours for each platform will be merged to a single program with a user option to select what kind of screen he wants (x11, svgalib or fbdev) to the extent they are available. This means there would be just one executable - although different on different platforms like clinrad which currently works with X11 only on the platform where it was compiled with cmake. Dear Iain, if you find the Linrad project interesting and if you or someone you know is interested in helping to make it fit to become a Fedora (or Debian or whatever) package, please have a look at the repo and tell me what would have to be done. leif
Hi,
I understand that as a prospective package maintainer for Fedora I'm encouraged to send an email to introduce myself to devel. As I plan to be working on amateur radio software, I've copied the fedora-hams mailing list too.
I've been contributing to Debian as a packager, amongst other things, since January 2014. I am involved in the Debian Hamradio Maintainers team and you can see a list of the packages I've worked on here:
https://qa.debian.org/developer.php?login=irl%40fsfe.org
I am also working on a Debian Hamradio Blend. Blends in Debian are based entirely on packages that exist in Debian and aim to provide easy methods of getting the right software, and configuring it, to perform certain tasks. This concept seems similar to the Fedora Spins concept. More information about the Debian Hamradio Blend can be found here:
http://blends.debian.org/hamradio/
While there are a couple of packages I have plans to package for Fedora, I think my main contribution to Fedora will be through collaboration the the Fedora Amateur Radio SIG, sharing information about bugs and patches, discovering new software to package and working to resolve upstream issues.
I have packaged pyqso, a logging tool for radio amateurs, and have submitted this for review. If you have some time, I would appreciate it if you could take a look.
https://bugzilla.redhat.com/show_bug.cgi?id=1209054
I am in #fedora-hams on Freenode (nick is irl) if you would like to contact me. You can also email me at irl@fsfe.org (0xE9846C49).
Thanks, Iain.
-- e: irl@fsfe.org w: iain.learmonth.me x: irl@jabber.fsfe.org t: EPVPN 2105 c: 2M0STB g: IO87we p: 1F72 607C 5FF2 CCD5 3F01 600D 56FF 9EA4 E984 6C49
Hi Leif, On Mon, Apr 06, 2015 at 04:58:07AM +0200, Leif Asbrink wrote:
I am the developer of Linrad, a multi-OS package (originally Linux only) that provides a SDR (software defined radio) that can be used with a large number of hardware. I do not know what might be required for a software to be acceptable to become a package in Fedora (or Debian) and my feeling is that Linrad might not be acceptable today.
Awesome! I came across linrad when looking for new software to include in Debian. I filed a RFP (request for package) bug there and this bug has been adopted already. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=772086 When this is packaged in Debian, I would be happy to take a look at porting the package to Fedora.
I am however working on making it independent of other packages by having libraries loaded at run-time. This means that Linrad would always work, but if the user asks for some particular hardware, there would be an error message telling what package to install to get access to the hardware. Many such packages have to be installed from source, but some of them are in the repos of the main Linux distros.
I would avoid putting messages into your code that talk about specific distributions. A message to tell you what is missing, and maybe a link to a webpage that explains where the package can be found for different distributions would be better. We don't want to make it harder for other distributions to package your code and a webpage can be easily updated with contributions from others after the package is released. Do make sure the URL can stay the same for a long time though.
Linrad has a reputation of being difficult to install, which is utterly false! Using it properly is non-trivial however since the user needs some knowledge of radio although many seem to think they need computing skils.
I've not actually used linrad myself, so I can't comment on any experiences, but one of the aims of packaging is to remove the need for users to have to go through the installation themselves. Sane defaults are compiled in and the package should be ready to use once it is installed.
At the moment I am working on the transmit side. The Linrad speech processor runs with a delay of about 50ms from microphone to antenna and then there is about 20 ms from antenna to loudspeaker. The total is less than 100 ms which makes it possible to use single frequency duplex, "listen between words" in ssb mode.
This sounds really cool!
Another line of development is by Jürgen Kahrs who is developing software to move FFT computations to OpenCL to use GPUs for faster processing.
This also sounds really cool!
You can read about linrad here (and find a link to videos) http://www.sm5bsz.com/linuxdsp/linrad.htm
This is good. That's the URL I had on the RFP bug so I know we're both looking at the same thing.
There is a repo. Download like this: svn checkout https://svn.code.sf.net/p/linrad/code/trunk linrad
Ok, cool. We normally aim to base our packages on releases, but having a link to the upstream development codebase is always useful so we can check to see if you've already fixed things if we find things are broken.
In case you think Linrad could qualify for a Fedora package, please tell me what might be necessary to change. Today Linrad comes in several flavours: linrad, xlinrad, flinrad, linrad64, xlinrad64, flinrad64 and clinrad. This will be changed. In a longer time-scale there is no need to support 32 bit code on 64 bit platforms. The three different flavours for each platform will be merged to a single program with a user option to select what kind of screen he wants (x11, svgalib or fbdev) to the extent they are available. This means there would be just one executable - although different on different platforms like clinrad which currently works with X11 only on the platform where it was compiled with cmake.
So, on the website it says "Linrad and watzo are free software. They are free for anyone to use for any purpose." which worried me slightly, but I see there is a LICENSE file in the Subversion repository. Does this license apply to all files in the source repository? The reason that worried me is that for Debian and Fedora we require not only that software is free to use, but also other rights such as distribution, modification, etc. * http://www.debian.org/social_contract#guidelines (for Debian) * https://fedoraproject.org/wiki/Licensing:Main#SoftwareLicenses (for Fedora) Licensing is one of the bigger problems we can have when it comes to packaging new software, but as long as that is not a problem then all it needs is some effort. It does also help that you are interested in the software being packaged. (:
Dear Iain, if you find the Linrad project interesting and if you or someone you know is interested in helping to make it fit to become a Fedora (or Debian or whatever) package, please have a look at the repo and tell me what would have to be done.
Milan Kupcevic (CC'd) is currently the owner of the bug in Debian, so I'll let him update you on where he is with the packaging work. Debian is currently in a freeze so there hasn't been much of a push for new packages at the moment (they would be delayed entering our archives until the next Debian release) but we hope to have a release this month and will hopefully packaging can pick up shortly afterwards. Thanks, Iain. -- e: irl@fsfe.org w: iain.learmonth.me x: irl@jabber.fsfe.org t: EPVPN 2105 c: 2M0STB g: IO87we p: 1F72 607C 5FF2 CCD5 3F01 600D 56FF 9EA4 E984 6C49
Hello Iain,
but if the user asks for some particular hardware, there would be an error message telling what package to install to get access to the hardware. Many such packages have to be installed from source, but some of them are in the repos of the main Linux distros.
I would avoid putting messages into your code that talk about specific distributions. Today such things are in the configure script. In case a uset selects for example to use a BladeRF, Linrad would try to load libbladeRF.so and if it fails the message is: Could not load library libbladeRF.so Did you run ./configure after installing this library?
the configure script contains the information about how to install everything needed to the extent that I know about it. The hint at the end of the script is: Missing or not working libraries (non fatal.) For information, type ./configure --with-help
A message to tell you what is missing, and maybe a link to a webpage that explains where the package can be found for different distributions would be better. We don't want to make it harder for other distributions to package your code and a webpage can be easily updated with contributions from others after the package is released. Do make sure the URL can stay the same for a long time though. It would be nice if that URL could be managed by others. I have tested Debian, Ubuntu, Fedora, Suse, Mageia, Mandriva Slackware, PCLinuxOS, Gentoo and Sabayon. There are also a couple of hints for Mac OSX. I have failed to install several other distributions and I have not verified all the installation instructions in several years so there are probably many obsolete packages.
Maybe this: echo "Old Fedora: yum install libusb1-devel" echo "New Fedora: yum install libusbx-devel" One or the other should install libusb-1.0.so but I guess the package name could have changed again??
This is good. That's the URL I had on the RFP bug so I know we're both looking at the same thing.
There is a repo. Download like this: svn checkout https://svn.code.sf.net/p/linrad/code/trunk linrad
Ok, cool. We normally aim to base our packages on releases, but having a link to the upstream development codebase is always useful so we can check to see if you've already fixed things if we find things are broken. OK. I post releases here occasionally: http://www.sm5bsz.com/linuxdsp/linrad.htm The development code is likely to contain new bugs now and then so packaging releases should be the appropriate strategy.
So, on the website it says "Linrad and watzo are free software. They are free for anyone to use for any purpose." which worried me slightly, but I see there is a LICENSE file in the Subversion repository. Does this license apply to all files in the source repository? The reason that worried me is that for Debian and Fedora we require not only that software is free to use, but also other rights such as distribution, modification, etc. Please read the entire text: "It is free for anyone for any purpose. Copyright laws are complicated and to make sure I will not change my mind and claim copyright Linrad comes with the MIT license starting with version 03-45. By granting a very permissive license to anyone who has obtained a copy of Linrad there should be no doubt that the freedom to use linrad or parts of the code for any purpose will remain for ever."
"Use the code for any purpose" means ANY purpose such as distribution, modification, etc. To further clarify the files come with the MIT license. There is a zz-COPYRIGHT.txt file containing the MIT license. This is the most free license I have found. Regards Leif
Hi Leif, On Mon, Apr 06, 2015 at 09:30:05PM +0200, Leif Asbrink wrote:
I would avoid putting messages into your code that talk about specific distributions. Today such things are in the configure script. In case a uset selects for example to use a BladeRF, Linrad would try to load libbladeRF.so and if it fails the message is: Could not load library libbladeRF.so Did you run ./configure after installing this library?
the configure script contains the information about how to install everything needed to the extent that I know about it. The hint at the end of the script is: Missing or not working libraries (non fatal.) For information, type ./configure --with-help
Ok, cool. So what I usually do with Debian packaging is make sure all the options are compilied in unless there are insane options that only 3 people in the world are going to user ever. If you move to dynamic loading of libraries, then they would be made available in the build environment when building the package, but on the package itself the libraries would be "Recommends" instead of "Depends" (RPM doesn't appear to have anything similar to the Debian recommends, and I think autodependencies would pick up the libraries as "Requires" anyway, so I'm not sure dynamic loading helps with Fedora). This would mean that on Debian at least, linrad could be installed without optional extras if that is desired, though by default apt does install packages in "Recommends".
A message to tell you what is missing, and maybe a link to a webpage that explains where the package can be found for different distributions would be better. We don't want to make it harder for other distributions to package your code and a webpage can be easily updated with contributions from others after the package is released. Do make sure the URL can stay the same for a long time though. It would be nice if that URL could be managed by others. I have tested Debian, Ubuntu, Fedora, Suse, Mageia, Mandriva Slackware, PCLinuxOS, Gentoo and Sabayon. There are also a couple of hints for Mac OSX. I have failed to install several other distributions and I have not verified all the installation instructions in several years so there are probably many obsolete packages.
Maybe this: echo "Old Fedora: yum install libusb1-devel" echo "New Fedora: yum install libusbx-devel" One or the other should install libusb-1.0.so but I guess the package name could have changed again??
Hmm. This is an interesting problem. What you really want is a distribution independent .so to package name lookup system. I'm not entirely sure how to solve this.
OK. I post releases here occasionally: http://www.sm5bsz.com/linuxdsp/linrad.htm The development code is likely to contain new bugs now and then so packaging releases should be the appropriate strategy.
Cool. When I filed the RFP bug in Debian I see I was looking at 04.02, but you've since released 04.05. This 04.05 release is the one that would be packaged most likely.
Please read the entire text: "It is free for anyone for any purpose. Copyright laws are complicated and to make sure I will not change my mind and claim copyright Linrad comes with the MIT license starting with version 03-45. By granting a very permissive license to anyone who has obtained a copy of Linrad there should be no doubt that the freedom to use linrad or parts of the code for any purpose will remain for ever."
"Use the code for any purpose" means ANY purpose such as distribution, modification, etc. To further clarify the files come with the MIT license. There is a zz-COPYRIGHT.txt file containing the MIT license. This is the most free license I have found.
Oops. Sorry, was reading in a hurry. Yep, no licensing problems here! Thanks, Iain. -- e: irl@fsfe.org w: iain.learmonth.me x: irl@jabber.fsfe.org t: EPVPN 2105 c: 2M0STB g: IO87we p: 1F72 607C 5FF2 CCD5 3F01 600D 56FF 9EA4 E984 6C49
participants (2)
-
Iain R. Learmonth -
Leif Asbrink