Bug#793937: [RFR] templates://libdvd-pkg/{templates}
Justin B Rye
justin.byam.rye at gmail.com
Wed Aug 12 10:23:13 UTC 2015
Christian PERRIER wrote:
> --- libdvd-pkg.old/debian/templates 2015-07-29 08:18:35.980914897 +0200
> +++ libdvd-pkg/debian/templates 2015-08-08 08:24:38.242456340 +0200
> @@ -2,7 +2,7 @@
> Type: note
> _Description:
> This package downloads the ${PKGG} source files from videolan.org,
> - compile them and install the binary deb package(s)
> + compiles them and installs the binary deb package(s)
> [${PKGG_ALL}].
> .
> Please remember to run "sudo dpkg-reconfigure ${PKGI}"
>
> Spelling error fix
I gather we're letting this get away with being a debconf note on the
basis that it's essential that users get this information.
But in that case, why are these templates so resolutely uninformative?
Surely the maintainer knows whether "the binary deb package(s)" are
singular or plural? Why is it asking me to *remember* to do a thing
that I've obviously never yet been given a reason to believe I need
to do in the first place? And why *is* it necessary?
And then this template is immediately followed by libdvd-pkg/build,
which (apparently) also gets shown under exactly the same
circumstances and also contains the reminder to run dpkg-reconfigure.
So why couldn't the information above have been incorporated into that
template instead?
Also, I would add a serial comma and throw out the meaningless use of
square brackets.
> @@ -16,7 +16,7 @@
> Type: boolean
> Default: true
> _Description: Proceed with downloading and compiling ${PKGG}${VER}?
> - The installation process is therefore about to download the source files
> + The installation process is about to download the source files
> from videolan.org, compile them, and install the binary deb package(s)
> [${PKGG_ALL}].
> .
>
> I feel like the "therefore" is useless here....
Let's make it useful by importing the text from the note. Or actually
once I do that almost everything here is redundant.
Still it's acting as if the maintainer doesn't know how many packages
are involved. If there's a -dev library involved here and end users
don't get to opt out of building it, that seems like a major bug.
It goes on to say:
> Please remember to run "sudo dpkg-reconfigure ${PKGI}"
> to build and install guest package(s) for the first time.
Wait, what? I just said it was okay to do that, didn't I? So why am
I now being told it won't happen unless I run it manually? Or is it
saying that I'll need to do it manually *unless* I let it happen
automatically?
And what happens to the download stage if I say no to this prompt? It
doesn't do it now, and according to the above it won't do it later
either. Or does "build and install" here have a stage missing?
Probably, judging from the way the Description line misses a different
one out.
If ${PKGI} is always going to mean libdvd-pkg, why is it a variable?
And... "guest packages"? Uh-oh - I recognise this. It's another
instance of that unintelligible autobuilder framework that I couldn't
make head or tail of in October 2013 (through to October 2014!) -
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=725467
I hope we can get some explanations this time around, since I don't
see how we're going to be able to do this review properly otherwise.
I *think* it ought to be something like this:
_Description: Proceed with building ${PKGG}${VER}?
This package downloads the ${PKGG} source files from videolan.org,
compiles them, and installs the binary deb package
${PKGG_ALL}.
.
Please indicate whether this process should go ahead now.
.
Alternatively, the download, compilation, and installation process can
be launched manually by running "sudo dpkg-reconfigure ${PKGI}".
Then *another* debconf note:
> Template: libdvd-pkg/upgrade
> Type: note
> _Description:
> An update to guest package(s) [${PKGG_ALL}] version ${VER} is available
> but automatic upgrades are disabled.
> .
> Please remember to run "sudo dpkg-reconfigure ${PKGI}" to build and
> install guest package(s) or consider installing the APT post-invoke hook.
What, so even if I tell it *not* to install the hook it'll bother me
with a debconf note any time there happens to be an update? It seems
to me if it's going to nag me like that it might as well offer to do
the one-off autoinstall every time, too.
(Ah, but I suppose I could stop the installer nagging me by
uninstalling it? After all, I don't want to have to keep the whole of
build-essential permanently installed on my non-developer desktop just
so that I have the option of watching a DVD once every few years.)
If installing the APT post-invoke hook *also* requires me to run
"sudo dpkg-reconfigure ${PKGI}" then the final paragraph needs to be
rephrased.
Template: libdvd-pkg/title_u
Type: title
_Description: Upgrade available for ${PKGG}
Template: libdvd-pkg/upgrade
Type: note
_Description:
An upgrade is available for ${PKGG_ALL} (version ${VER}) but automatic
upgrades are disabled.
.
To launch the process of downloading, compiling, and installing the
new version, run "sudo dpkg-reconfigure ${PKGI}". This will also
give an opportunity to enable automatic upgrades.
> @@ -38,7 +38,7 @@
> Template: libdvd-pkg/post-invoke_hook-install
> Type: boolean
> Default: true
> -_Description: Install APT post-invoke hook?
> +_Description: Install APT post-invoke hook for libdvd-pkg?
> 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".
>
> If the question comes in the middle of a bunch of other questions it
> might be good for users to know that this is about libdvd-pkg
This was also true for the debconf notes and the title_u template.
I'm not letting it get away with this gibberish terminology of "guest
packages". There's no hosting setup here, and there's no implication
that my guests are going to leave at some stage while the host stays -
if anything the reverse is more likely. We might as well call them
"marmoset packages". That doesn't mean anything either, but after
dealing with all this stuff I'd prefer to be thinking about marmosets.
Again the process is summarised to only two items: "to download and
build", but then not install? If not, what does it do with them?
How about:
_Description: Enable automatic upgrades for ${PKGG}?
If activated, the APT post-invoke hook takes care of future automatic
upgrades of autocompiled software on upgrades of the installer
package. When updates are available, the hook will attempt the
appropriate source downloads and package recompilations, and (if
"apt-get check" reports no errors) will install the packages with
"dpkg -i".
.
Alternatively, the download, compilation, and installation process can
be launched manually by running "sudo dpkg-reconfigure ${PKGI}".
> @@ -50,7 +50,7 @@
> Template: libdvd-pkg/post-invoke_hook-remove
> Type: boolean
> Default: false
> -_Description: Remove APT post-invoke hook?
> +_Description: Remove APT post-invoke hook for libdvd-pkg?
> 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),
>
> Ditto
Ditto (I didn't mention that I'm rephrasing the synopses in less
implementationy terms.)
> --- libdvd-pkg.old/debian/control 2015-07-29 08:18:35.980914897 +0200
> +++ libdvd-pkg/debian/control 2015-08-08 08:25:18.210847421 +0200
> @@ -18,5 +18,5 @@
> Suggests: ${guest:Suggests}
> Description: download and install software necessary to play video DVDs
Not a noun phrase.
> 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.).
> + packages that are necessary to play all video DVDs with any media
> + player (such as VLC, SMplayer, Totem, etc.).
>
> avoid "of your choice"....
The one thing users *don't* really need to be told here is that video
DVDs can be played with a variety of media players. Listing them just
means you'll have to update this text every couple of years as
desktops change their minds about which one to use.
And this description has the same problem that descriptions for
installer packages always seem to have: it doesn't tell me *why* it's
only an installer. It ought to start with something like
Description: DVD-Video playing library - installer
Some features of the DVD-Video format require the use of software
to bypass the Content Scramble System (CSS), which cannot be
distributed via the Debian repositories.
(We could do with some extra information here, but that's as much as
I've got.)
Then
This package automates the process of downloading source code from
videolan.org for libdvdcss, building and installing the binary
package, and managing subsequent updates.
* * *
Wait a minute... there are package descriptions for the marmoset
package(s) in libdvd-pkg/libdvd-pkg-1.3.99-1libdvdcss/debian/control,
and it turns out there *are* two of them, libdvdcss2 and
libdvdcss-dev. Maintainer? Hello?
--
JBR with qualifications in linguistics, experience as a Debian
sysadmin, and probably no clue about this particular package
-------------- next part --------------
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-12 10:45:18.471957364 +0100
@@ -16,7 +16,11 @@
,${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
+ Some features of the DVD-Video format require the use of software
+ to bypass the Content Scramble System (CSS), which cannot be
+ distributed via the Debian repositories.
+ .
+ This package automates the process of downloading source code from
+ videolan.org for libdvdcss, building and installing the binary
+ package, and managing subsequent updates.
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-12 10:43:42.174673142 +0100
@@ -1,13 +1,3 @@
-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}].
- .
- Please remember to run "sudo dpkg-reconfigure ${PKGI}"
- to build and install guest package(s) for the first time.
-
Template: libdvd-pkg/title_b-i
Type: title
_Description: Build and install ${PKGG}${VER}
@@ -15,46 +5,54 @@
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: Proceed with building ${PKGG}${VER}?
+ This package downloads the ${PKGG} source files from videolan.org,
+ compiles them, and installs the binary deb package
+ ${PKGG_ALL}.
+ .
+ Please indicate whether this process should go ahead now.
.
- Please confirm whether you wish this to happen.
+ Alternatively, the download, compilation, and installation process can
+ be launched manually by running "sudo dpkg-reconfigure ${PKGI}".
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.
+ An upgrade is available for ${PKGG_ALL} (version ${VER}) but automatic
+ upgrades are disabled.
.
- Please remember to run "sudo dpkg-reconfigure ${PKGI}" to build and
- install guest package(s) or consider installing the APT post-invoke hook.
+ To launch the process of downloading, compiling, and installing the
+ new version, run "sudo dpkg-reconfigure ${PKGI}". This will also
+ give an opportunity to enable automatic upgrades.
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 autocompiled software on upgrades of the installer
+ package. When updates are available, the hook will attempt the
+ appropriate source downloads and package recompilations, and (if
+ "apt-get check" reports no errors) will install the packages with
+ "dpkg -i".
.
- Alternatively, guest package(s) can be built by manual invocation of
- "dpkg-reconfigure ${PKGI}".
+ Alternatively, the download, compilation, and installation 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 autocompiled software on upgrades of the installer
+ package. When updates are available, the hook will attempt the
+ appropriate source downloads and package recompilations, and (if
+ "apt-get check" reports no errors) will install the packages with
+ "dpkg -i".
.
- Alternatively, guest package(s) can be built by manual invocation of
- "dpkg-reconfigure ${PKGI}".
+ Alternatively, the download, compilation, and installation process can
+ be launched manually by running "sudo dpkg-reconfigure ${PKGI}".
-------------- next part --------------
Template: libdvd-pkg/title_b-i
Type: title
_Description: Build and install ${PKGG}${VER}
Template: libdvd-pkg/build
Type: boolean
Default: true
_Description: Proceed with building ${PKGG}${VER}?
This package downloads the ${PKGG} source files from videolan.org,
compiles them, and installs the binary deb package
${PKGG_ALL}.
.
Please indicate whether this process should go ahead now.
.
Alternatively, the download, compilation, and installation process can
be launched manually by running "sudo dpkg-reconfigure ${PKGI}".
Template: libdvd-pkg/title_u
Type: title
_Description: Upgrade available for ${PKGG}
Template: libdvd-pkg/upgrade
Type: note
_Description:
An upgrade is available for ${PKGG_ALL} (version ${VER}) but automatic
upgrades are disabled.
.
To launch the process of downloading, compiling, and installing the
new version, run "sudo dpkg-reconfigure ${PKGI}". This will also
give an opportunity to enable automatic upgrades.
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 autocompiled software on upgrades of the installer
package. When updates are available, the hook will attempt the
appropriate source downloads and package recompilations, and (if
"apt-get check" reports no errors) will install the packages with
"dpkg -i".
.
Alternatively, the download, compilation, and installation 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 autocompiled software on upgrades of the installer
package. When updates are available, the hook will attempt the
appropriate source downloads and package recompilations, and (if
"apt-get check" reports no errors) will install the packages with
"dpkg -i".
.
Alternatively, the download, compilation, and installation process can
be launched manually by running "sudo dpkg-reconfigure ${PKGI}".
-------------- next part --------------
Source: libdvd-pkg
Section: contrib/utils
Priority: optional
Maintainer: Debian Multimedia Maintainers <pkg-multimedia-maintainers at lists.alioth.debian.org>
Uploaders: Dmitry Smirnov <onlyjob at 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
Some features of the DVD-Video format require the use of software
to bypass the Content Scramble System (CSS), which cannot be
distributed via the Debian repositories.
.
This package automates the process of downloading source code from
videolan.org for libdvdcss, building and installing the binary
package, and managing subsequent updates.
More information about the pkg-multimedia-maintainers
mailing list