Hi all, sorry for the long delay. Some new points for Alec (added him in the loop, and also the RFS bug
@Alec, please look at the review below, it is really complete, and report back when you have addressed the points. @Alexander, can you please make Stefan admin of pkg-lirc? this way Stefan will make the final decision about accepting/rejecting new members according to the quality of the new lirc packages. (EDIT: he is already an admin, thanks a lot!) @Stefan, would you please help and review the package on mentors (after the points below are fixed?) I can sponsor the package, but I'll leave to you any final decision about this sponsoring. @Alec, I can follow up on libirman if needed, just ask me, I'll wait for objections there :) thanks a lot to you all, have a nice new year! Gianfranco Il Lunedì 21 Dicembre 2015 7:19, Stefan Lippers-Hollmann <s....@gmx.de> ha scritto: Hi [ it's late and I'll be on the road again for the next couple of days before christmas, so I might miss some finer details of this mail, although it already got longer than I hoped ] On 2015-12-18, Gianfranco Costamagna wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA256 > > Hi Ector, Sven and Stefan, > > I write to you because $somebody (upstream) is doing a lot of work, to > fix lirc and libirman packages, and to finally put them again > > into a good state. I certainly didn't have a lot time since early summer (which is slowly normalizing), but I don't quite agree that the lirc packaging would be in a bad state - at least not from a Debian centric look (I certainly understand that lirc upstream wants the latest and greatest and might disagree). We certainly are behind the current upstream version (and it looks worse than it is, as 0.9.0~pre1 with the upstream patches included in the Debian package is actually equivalent to the released version of 0.9.0, except for the version bump and tiny, no-op, build-system tweaks), but the post 0.9.1 upstream changes are extremely disruptive, they are good (and many of them have been needed), but very disruptive (liblirc{,}-client0 is no more --> transition (sourceful uploads) of all rdeps needed, the new plugin structure needs checking with multi-arch, .la removal (static linking), new/ different config file format). While we need to update, doing this in a hurry simply isn't an option - and there isn't really a problem with the current lirc version in Debian. At least the current version of lirc 0.9.0~pre1 builds in current unstable, works with all kernels >= 2.6.37 (including linux-next), is compatible with Debian's userland (unstable and experimental) and doesn't really have any important bugs that would need quick attention. > In order to make the packages "upgradable" he created an upgrade > script, converting stuff from the old and Debian specific configuration Until lirc >= 0.9.1, this config migration was a headache[0] for me (especially as the packaging svn already did a migration to a different config file/ ~format (/etc/default/lirc.conf) on request of the previous upstream, Jarod Wilson, before this new /etc/lirc/lirc_options.conf was even under consideration); fortunately this never hit the archive. But with lirc >= 0.9.2, the library split changes are actually worse to get sorted. > to the new upstream and fedora configuration (this will drop the long > old debian delta, even if it will be a little painful, or at least > manual). > > I asked him to join the team, but I failed so far, because seems that > the team is almost not active anymore. I can't help with that, as I'm just a member of pkg-lirc and not an admin. > So I'm asking you permission to NMU the packages (there is still a lot > of work to do, and they won't be ready for some time), or (better > solution for sure) It took me a while to find the actual thing supposed as a lirc NMU, but I strongly advise against uploading lirc_0.9.4~alpha-1.1.dsc from mentors[1]. As I've just found it, I can't claim to have given it a proper review yet, nor have I tested the actual upgrade helpers, but from a very first glance (in the order I've found it, unsorted). - major library transition (needs a migration approval from the release team and serious checking with liblircclient-dev's reverse build-dependencies in Debian - debian/control is pretty much butchered up, those things (besides needlessly changing the package split in several areas) aren't exactly serious - and easily fixable, but the current changes under proposal are bad. - weird/ useless debian/install (the source creates multiple binaries, so this gets ignored) - the Breaks/ Replaces logic is broken and against Debian policy. - debian/copyright, while better (not better, just updated for post 0.9.0) than the current version in the archive, it is a regression compared to the current state in the packaging svn (I have the changes needed for 0.9.1 locally (svn is just bad for testing incomplete changes), but 0.9.2+ needs further copyright auditing). - library/ SONAME fun, uploading this would establish an instant grave RC bug debian/liblirc0.install: usr/lib/*/lib*.so.* this expands to: lrwxrwxrwx 1 20 /usr/lib/x86_64-linux-gnu/libirrecord.so.0 -> libirrecord.so.0.0.0 -rwxr-xr-x 1 110088 /usr/lib/x86_64-linux-gnu/libirrecord.so.0.0.0 lrwxrwxrwx 1 16 /usr/lib/x86_64-linux-gnu/liblirc.so.0 -> liblirc.so.0.0.0 -rwxr-xr-x 1 477552 /usr/lib/x86_64-linux-gnu/liblirc.so.0.0.0 lrwxrwxrwx 1 23 /usr/lib/x86_64-linux-gnu/liblirc_client.so.0 -> liblirc_client.so.0.3.0 -rwxr-xr-x 1 128312 /usr/lib/x86_64-linux-gnu/liblirc_client.so.0.3.0 lrwxrwxrwx 1 23 /usr/lib/x86_64-linux-gnu/liblirc_driver.so.0 -> liblirc_driver.so.0.0.0 -rwxr-xr-x 1 249240 /usr/lib/x86_64-linux-gnu/liblirc_driver.so.0.0.0 all shipped by the new liblirc0 binary package - it's FTBS by build-depending on module-init-tools; admittedly, module-init-tools has only been removed from unstable yesterday. I haven't checked the source why this new version suddenly build-depends on kmod, but this smells like another (potentially upstream-) bug - it's FTBS due to some hardcoded (not using Debian helpers) python3 packaging changes (haven't investigated this yet) - the maintainer scripts (rather its changes) are totally broken and seriously break policy (RC), besides not even working in theory. - the sysv initscript(s) has been dropped (while I sympathize, as far as I understand the ctte decision, gratuitous removal of sysvinit support would constitute a serious policy violation); I have spent lots of effort on retaining and making it cooperate with the systemd units in the packaging svn - so that part exists and works. While I'm not looking forward into actually spending more effort on future sysv initscript maintenance, I made sure that it works before deploying systemd units in the packaging. - given that this packaging is FTBS (the python stuff), I haven't completely confirmed it yet, but I have a hunch that new installations (non-migrated) would start irexec (and the other dæmons, lircd and lircmd, but those don't constitute much of a problem) unconditionally by default - which is fatal in case of irexec (serious logspam, if no device is connected, think multiple GBs in syslog within days and lots of useless CPU churn). - I haven't tested this particular version, but changes in >=0.9.1 break building on kfreebsd (and hurd); admitted kfreebsd-{amd64,i386} are no longer release architectures (and hurd never was/ might need bigger changes from the hurd porters to actually work, both at all and with new upstream versions). so at least this version is absolutely unfit for uploading anywhere, besides that ftp-master (binary-NEW is needed for lirc >= 0.9.2) would flat out reject it. Now that I've found your mail on debian-mentors-request@l.d.o[2], let me add two further notes: - Build-Conflicts: libirman while libirman is apparently under the pkg-lirc umbrella, it has never actually been adopted by mjj29 or me[4]. libirman 0.45 has completely changed the build-system (from something custom to autotools, so definately to the better), so the existing packaging is useless and needs to be redone (basically) from scratch. While this should be straight forward, I have no ability to test this and would rather prefer to drop libirman from Debian than updating it; unfortunately lirc has (had?) no simple --disable-irman configure flag, so the build-conflicts is the most straight-forward solution (I've made sure that no package other than lirc still uses it, if libirman actally gets adopted by someone using it, there's no problem with retaining support for it <-- I'm not maintainer/ uploader for libirman, so it's not up to me to approve a new maintainer or NMU). lirc links against libirman-dev to gain support for irman based IR receivers[3], these are relatively high priced serial-only devices - which barely serve no purpose these days (hard enough to find a modern system with a native serial port (USB serial adaptors don't work) and even back in the days "homebrew" serial adaptors (powered by the staging lirc_serial module) were much cheaper, more flexible and more common). As far as lirc is concerned, if configure finds libirman-dev present on the system, it links against it and thereby gains support for these particular devices, if libirman-dev is not installed, lirc continues to build fine and just doesn't support this device class. - the Ubuntu delta... Ubuntu has done lots of custom hacks and extensions of the -for lirc >= 0.9.1 useless- hardware.conf syntax[4], which certainly made their clientele happy, but makes the migration to upstream's new lirc_options.conf configuration even harder, for no gain to Debian. This should be solved by someone who uses and cares about Ubuntu, there is nothing relevant to Debian (most changes are useless with these new systemd units and lirc_options.conf). > to add him to uploaders and make the package actively maintained again. > > > He is a good guy with nice packaging skills, and being upstream makes > things so easier for everybody. I'd certainly appreciate any help with lirc[6], but I'm not sure that he's familiar enough with Debian packaging at the moment to do large (of the scope he's apparently looking for) packaging changes yet. > Please let me know if you can add him to the repository again. > > (ccing formorer because of the unmaintained team). To the best of my knowledge, none of the other listed members/ admins of the pkg-lirc packaging team has been working on lirc since at least 2007; unfortunately mjj29 has retired from Debian recently. If you have any particular questions, I'm also reachable via IRC in #pkg-lirc (oftc), which might be easier than writing this kind of long/ convoluted mails. Since mjj29 retired, #pkg-lirc is effectively vacated, with only me being present (albeit from 3 different systems), but I tend to be available in late/ very-late UTC/ CET timezones. > Cheers! Regards Stefan Lippers-Hollmann [0] not difficult, but a large state machine with lots of special casing --> busywork [1] http://mentors.debian.net/debian/pool/main/l/lirc/lirc_0.9.4~alpha-1.1.dsc [2] <75525845.409013.1450362165475.javamail.ya...@mail.yahoo.com> [3] http://www.intolect.com/irmandetail.htm [4] neither of us owns these devices and they were and are overpriced for what they offer [5] at least in the past, I haven't revisited their recent (last 6-9 months) changes [6] or any other package I'm involved with