Dmitry Smirnov wrote: > Justin B Rye wrote: >> "Software" seems the obvious solution, but in this particular context >> it feels slightly less natural - something like: >> >> This package downloads the sourcecode for ${PKGM} from ${UPSTREAM}, >> compiles it into binary deb package format, and installs the >> resulting software (${PKGM_ALL}). > > Indeed it feels awkward and it is not necessary better than the original > version...
I probably should have gone back and mentioned here that I was going to go through so many alternatives to this... [...] >> There are lots of ways we could do this, and none of them require us >> to give the user the impression we're arbitrarily withholding useful >> information. > > I'm really not sure... "binary deb package format"?? Also "results" feels > weird in this context... I had "binary deb package format" lying around from some earlier revision, but it is rather ugly. My latest version avoids the phrase. > I'm not sure I recognise the problem as you describe > it ("give the user the impression we're arbitrarily withholding useful > information")... Maybe I've forgotten your explanation from earlier emails > but choice of brackets can hardly give such impression... The bit about the choice of "()" or "[]" was a different issue; this was about avoiding "foo(s)", which is ostentatiously noncommittal about whether it's talking about one foo or many - even though as far as the reader can see you ought to be able to specify. It's like a press release saying "the CEO has announced his or her resignation". [...] >>>> You think the end users who chose to install this package because you >>>> advertised it to them as providing a way of watching DVDs are going to >>>> want to build and install -dev packages? That strikes me as >>>> implausible. >>> >>> It doesn't matter. -dev package is in Provides field so it can be pulled >>> despite of package description. >> >> I don't follow. > > "libdvd-pkg" advertises guest packages in "Provides" field so "libdvdcss2" is > a virtual package. Therefore those who know that they need "libdvdcss2" to > watch DVDs might do something like > > apt-get install libdvdcss2 > > which pulls "libdvd-pkg" which builds "libdvdcss2" package. > So it is possible that user may see no package description but only debconf > dialogs. My point was that whether they find this package that way or by doing an "apt search DVD video" or by browsing through the package descriptions, nothing warns them that they're going to get a -dev package as well. And this isn't information that we're particularly required to obfuscate. >> I don't keep things installed on my jessie desktop that I don't use, >> especially if they have big dependency chains. In this case a lot of >> those dependencies are things that will already have been pulled in >> for libdvd-pkg itself, but honestly, once libdvd-pkg had done its job >> of giving me a version of libdvdcss, my next step would be to *purge* >> libdvd-pkg so I could get rid of all those. If libdvdcss-dev makes >> that harder (by counting as a manually-installed development package) >> it would also reduce my keenness to ever reinstall libdvd-pkg. > > You can build "libdvdcss2" manually and never upgrade it if you wish. Not on this machine, I can't! Remember, no compiler installed... > The purpose of "libdvd-pkg" is to provide seamless upgrades at the cost of > having guest package build-dependencies installed. This is similar to > function and requirements of DKMS family of packages. > I don't know why one would want to purge "libdvd-pkg" and lost upgrade > functionality. Well, that's because you're a developer who's running unstable; for you, there are significant benefits and no costs. I'm a non-developer who's running stable, so for me the cost is having a large number of unwanted packages installed and (all being well) there may be no benefits at all between one Debian release and the next. >> (After all, why would I need to keep an installer package installed on >> stable? If libdvdcss gets a security fix, I'll see the announcement.) > > If you are tracking announcements. Otherwise point release ship a patch for > you and trigger rebuild. I can believe there are users who *will* find it useful; I'm just pointing out that they might not include me. However, you're right - I'm wandering way off-topic for this review. >> I'm not asking for a full explanation in the template, just a wording >> that's less actively misleading! These so-called "automatic upgrades >> of guest package(s) on host package upgrade" *aren't* automatic on >> host package upgrade. > > But they are in case when post-install hook is activated. Not necessarily > though if only a minor update to installer package is delivered without need > to re-build guest packages... The trouble is, "automatic" can mean either "non-manual, under software control" or "unconditional, inevitable". You meant it in the former sense, I understood it in the latter sense. I've rephrased it slightly, keeping the word "automatic" but making it explicit what triggers it. >> Just make it something like "automatic upgrades >> of $MARMOSET (which may be triggered by new versions of $INSTALLER)". > > "which may be triggered" is confusing and probably misleading without > explanations what is actually meant by this... How about: (which will triggered any time a new "major version" of $INSTALLER is installed) Or just: (triggered by new "major versions" of $INSTALLER) (Though neither version is in my latest patch,) >> (Incidentally, it's far from obvious that the "apt-get check" is just >> testing for a lock - for a start that isn't one of the things the man >> page says it does.) > > Did I say that "apt-get check" testing a lock? It does not. "apt-get check" > is to see whether there are broken packages -- an unsafe condition to install > generated guest packages. > DPKG database lock is tested with "dpkg -i /dev/zero". Does that work? I suppose you can check which kind of hideous death it suffered. But surely you could equally well just check apt-get's return value to see if that failed to lock /var/lib/dpkg/lock? Sorry, I've gone off-topic again! [...] >> Or is the probability of a dpkg lock problem high enough that there >> needs to be a hint in that direction, like, say: >> >> When updates are available, the hook will launch the >> process of downloading the source, recompiling it, and (if it can acquire >> a lock on the package database) using "dpkg -i" to install the new >> versions. > > This version seems to express hook status by "if it can acquire a lock on the > package database" which is not quite the same... Let's go back to your version with "if apt-get check reports no errors", then - there's nothing wrong with the English there. > Thank you. I've applied most of your changes to "control" file (I've dropped > only "of your choice" part) and I've merged most of your improvements to > "templates" (I've changed "doing downloads" with "downloading"): > > > https://anonscm.debian.org/cgit/pkg-multimedia/libdvd-pkg.git/commit/?id=bee536ee > > Would it be OK to replace > > process of downloading of the source files for ${PKGG} from videolan.org It would certainly be a good idea to replace that with something, since it has an excess "of the"... > with > > process of downloading ${PKGG} sources files from videolan.org > > ? You need an extra article and uninflected "source": process of downloading the ${PKGG} source files from videolan.org But see below. Back to the package description: > Package: libdvd-pkg [...] > Description: DVD-Video playing library - installer > This package fetches, compiles from source code, and installs library > packages necessary for playing video DVDs with media player > (such as VLC, SMplayer, Totem, etc.). You've thrown out the article, and it still needs one - if not the specific media player "of my choice" then just "a" media player. But looking at this for the umpteenth time I finally notice that it's odd to talk about fetching library packages and then compiling them. Not to mention that it's claiming that packageS are necessary for the runtime library. This was one of the reasons I wanted to do a thorough rewrite - maybe I should recycle some text from the templates: This package provides libraries that are needed for playing video DVDs with a media player (such as VLC, SMplayer, Totem, etc.). It automates the process of downloading source files, compiling them, and installing the binary packages. And going through the templates again: > Template: libdvd-pkg/first-install > Type: note > _Description: > This package automates the process of downloading of the source files for > ${PKGG} from videolan.org, compiling them and installing the > binary deb packages (${PKGG_ALL}). So you've shuffled "from videolan.org" later - that does work. But I had carefully selected the phrase "doing downloadS", because with plural runs of the process we can talk about "packageS" without implying anything about how many are produced in an individual run. (And "source fileS/compiling THEM" rather than "source code/compiling IT" further increases the background level of pluralisation...) As you mentioned, we might want to avoid "binary deb packages" - for instance by saying "compiling them into deb format and intalling the binary packages", or indeed just "compiling them and installing the binary packages". Most trivially of all, you've lost the comma I had after "compiling them". This one's a matter of taste, but the "d-l-e house style" tends to encourage standardising on "Harvard comma". > . > Please run "sudo dpkg-reconfigure ${PKGI}" to launch this process for > the first time. > > Template: libdvd-pkg/title_b-i > Type: title > _Description: Download, build and install ${PKGG}${VER} > > Template: libdvd-pkg/build > Type: boolean > Default: true > _Description: Download, build, and install ${PKGG}${VER}? > This package automates the process of downloading of the source files for > ${PKGG} from videolan.org, compiling them and installing the > binary deb packages (${PKGG_ALL}). (Ditto) > . > Please confirm whether you wish this to happen. > > Template: libdvd-pkg/title_u > Type: title > _Description: Upgrade available for ${PKGG} > > Template: libdvd-pkg/upgrade > Type: note > _Description: > This package automates the process of downloading of the source files for > ${PKGG} from videolan.org, compiling them and installing the > binary deb packages (${PKGG_ALL}). (Ditto) > . > An update to version ${VER} is available, but automatic upgrades are > disabled. > . > Please run "sudo dpkg-reconfigure ${PKGI}" to launch this process > manually and/or activate automatic upgrades in future. > > Template: libdvd-pkg/post-invoke_hook-install > Type: boolean > Default: true > _Description: Enable automatic upgrades for ${PKGG}? > If activated, the APT post-invoke hook takes care of future automatic > upgrades of ${PKGG} (which may be triggered by new versions of > ${PKGI}). When updates are available, the hook will launch the > process of downloading the source, recompiling it, and (if "apt-get check" > reports no errors) use "dpkg -i" to install the new versions. It needs to talk about "usING" dpkg, to go with downloading and recompiling. Also, we were considering having something like (triggered by new "major versions" of $PKGI) > . > Alternatively, the process can be launched manually by running > "sudo dpkg-reconfigure ${PKGI}". > > Template: libdvd-pkg/post-invoke_hook-remove [...] (Ditto) -- JBR with qualifications in linguistics, experience as a Debian sysadmin, and probably no clue about this particular package
diff -ru libdvd-pkg-1.3.99-1.pristine/debian/control libdvd-pkg-1.3.99-1/debian/control --- libdvd-pkg-1.3.99-1.pristine/debian/control 2015-04-14 02:47:06.000000000 +0100 +++ libdvd-pkg-1.3.99-1/debian/control 2015-08-16 19:54:37.380170990 +0100 @@ -16,7 +16,8 @@ ,${guest:Build-Depends} Recommends: ${guest:Recommends} ,libcap2-bin Suggests: ${guest:Suggests} -Description: download and install software necessary to play video DVDs - This package fetches, compiles from source code and installs library - packages that are necessary to play all video DVDs with media - player of your choice (like VLC, SMplayer, Totem, etc.). +Description: DVD-Video playing library - installer + This package provides libraries that are needed for playing video DVDs + with a media player (such as VLC, SMplayer, Totem, etc.). It automates + the process of downloading source files, compiling them, and installing + the binary packages. diff -ru libdvd-pkg-1.3.99-1.pristine/debian/templates libdvd-pkg-1.3.99-1/debian/templates --- libdvd-pkg-1.3.99-1.pristine/debian/templates 2014-12-17 03:00:49.000000000 +0000 +++ libdvd-pkg-1.3.99-1/debian/templates 2015-08-16 21:08:38.160957208 +0100 @@ -1,60 +1,66 @@ Template: libdvd-pkg/first-install Type: note _Description: - This package downloads the ${PKGG} source files from videolan.org, - compile them and install the binary deb package(s) - [${PKGG_ALL}]. + This package automates the process of doing downloads of the source + files for ${PKGG} from videolan.org, compiling them, and installing the + binary packages (${PKGG_ALL}). . - Please remember to run "sudo dpkg-reconfigure ${PKGI}" - to build and install guest package(s) for the first time. + Please run "sudo dpkg-reconfigure ${PKGI}" to launch this process for + the first time. Template: libdvd-pkg/title_b-i Type: title -_Description: Build and install ${PKGG}${VER} +_Description: Download, build and install ${PKGG}${VER} Template: libdvd-pkg/build Type: boolean Default: true -_Description: Proceed with downloading and compiling ${PKGG}${VER}? - The installation process is therefore about to download the source files - from videolan.org, compile them, and install the binary deb package(s) - [${PKGG_ALL}]. +_Description: Download, build, and install ${PKGG}${VER}? + This package automates the process of doing downloads of the source + files for ${PKGG} from videolan.org, compiling them, and installing the + binary packages (${PKGG_ALL}). . Please confirm whether you wish this to happen. Template: libdvd-pkg/title_u Type: title -_Description: Upgrades available for guest package(s) +_Description: Upgrade available for ${PKGG} Template: libdvd-pkg/upgrade Type: note _Description: - An update to guest package(s) [${PKGG_ALL}] version ${VER} is available - but automatic upgrade is disabled. + This package automates the process of doing downloads of the source + files for ${PKGG} from videolan.org, compiling them, and installing the + binary packages (${PKGG_ALL}). . - Please remember to run "sudo dpkg-reconfigure ${PKGI}" to build and - install guest package(s) or consider installing the APT post-invoke hook. + An update to version ${VER} is available, but automatic upgrades are + disabled. + . + Please run "sudo dpkg-reconfigure ${PKGI}" to launch this process + manually and/or activate automatic upgrades in future. Template: libdvd-pkg/post-invoke_hook-install Type: boolean Default: true -_Description: Install APT post-invoke hook? +_Description: Enable automatic upgrades for ${PKGG}? If activated, the APT post-invoke hook takes care of future automatic - upgrades of guest package(s) on host package upgrade. When an update - is available, the hook will attempt to download and build the package(s), - and (if "apt-get check" reports no errors) install them with "dpkg -i". + upgrades of ${PKGG} (which may be triggered by new versions of + ${PKGI}). When updates are available, the hook will launch the + process of downloading the source, recompiling it, and (if "apt-get check" + reports no errors) using "dpkg -i" to install the new versions. . - Alternatively, guest package(s) can be built by manual invocation of - "dpkg-reconfigure ${PKGI}". + Alternatively, the process can be launched manually by running + "sudo dpkg-reconfigure ${PKGI}". Template: libdvd-pkg/post-invoke_hook-remove Type: boolean Default: false -_Description: Remove APT post-invoke hook? +_Description: Disable automatic upgrades for ${PKGG}? If activated, the APT post-invoke hook takes care of future automatic - upgrades of guest package(s) on host package upgrade. When an update - is available, the hook will attempt to download and build the package(s), - and (if "apt-get check" reports no errors) install them with "dpkg -i". + upgrades of ${PKGG} (which may be triggered by new versions of + ${PKGI}). When updates are available, the hook will launch the + process of downloading the source, recompiling it, and (if "apt-get check" + reports no errors) using "dpkg -i" to install the new versions. . - Alternatively, guest package(s) can be built by manual invocation of - "dpkg-reconfigure ${PKGI}". + Alternatively, the process can be launched manually by running + "sudo dpkg-reconfigure ${PKGI}".
Source: libdvd-pkg Section: contrib/utils Priority: optional Maintainer: Debian Multimedia Maintainers <pkg-multimedia-maintainers@lists.alioth.debian.org> Uploaders: Dmitry Smirnov <only...@debian.org> Standards-Version: 3.9.6 Build-Depends: debhelper (>= 9) Vcs-Browser: http://anonscm.debian.org/cgit/pkg-multimedia/libdvd-pkg.git Vcs-Git: git://anonscm.debian.org/pkg-multimedia/libdvd-pkg.git Package: libdvd-pkg Architecture: all Provides: ${guest:Provides} Depends: ${misc:Depends} ,build-essential ,wget | devscripts ,${guest:Build-Depends} Recommends: ${guest:Recommends} ,libcap2-bin Suggests: ${guest:Suggests} Description: DVD-Video playing library - installer This package provides libraries that are needed for playing video DVDs with a media player (such as VLC, SMplayer, Totem, etc.). It automates the process of downloading source files, compiling them, and installing the binary packages.
Template: libdvd-pkg/first-install Type: note _Description: This package automates the process of doing downloads of the source files for ${PKGG} from videolan.org, compiling them, and installing the binary packages (${PKGG_ALL}). . Please run "sudo dpkg-reconfigure ${PKGI}" to launch this process for the first time. Template: libdvd-pkg/title_b-i Type: title _Description: Download, build and install ${PKGG}${VER} Template: libdvd-pkg/build Type: boolean Default: true _Description: Download, build, and install ${PKGG}${VER}? This package automates the process of doing downloads of the source files for ${PKGG} from videolan.org, compiling them, and installing the binary packages (${PKGG_ALL}). . Please confirm whether you wish this to happen. Template: libdvd-pkg/title_u Type: title _Description: Upgrade available for ${PKGG} Template: libdvd-pkg/upgrade Type: note _Description: This package automates the process of doing downloads of the source files for ${PKGG} from videolan.org, compiling them, and installing the binary packages (${PKGG_ALL}). . An update to version ${VER} is available, but automatic upgrades are disabled. . Please run "sudo dpkg-reconfigure ${PKGI}" to launch this process manually and/or activate automatic upgrades in future. Template: libdvd-pkg/post-invoke_hook-install Type: boolean Default: true _Description: Enable automatic upgrades for ${PKGG}? If activated, the APT post-invoke hook takes care of future automatic upgrades of ${PKGG} (which may be triggered by new versions of ${PKGI}). When updates are available, the hook will launch the process of downloading the source, recompiling it, and (if "apt-get check" reports no errors) using "dpkg -i" to install the new versions. . Alternatively, the process can be launched manually by running "sudo dpkg-reconfigure ${PKGI}". Template: libdvd-pkg/post-invoke_hook-remove Type: boolean Default: false _Description: Disable automatic upgrades for ${PKGG}? If activated, the APT post-invoke hook takes care of future automatic upgrades of ${PKGG} (which may be triggered by new versions of ${PKGI}). When updates are available, the hook will launch the process of downloading the source, recompiling it, and (if "apt-get check" reports no errors) using "dpkg -i" to install the new versions. . Alternatively, the process can be launched manually by running "sudo dpkg-reconfigure ${PKGI}".
_______________________________________________ pkg-multimedia-maintainers mailing list pkg-multimedia-maintainers@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers