New pkg-message[.in] guideline idea

Garrett Cooper yanefbsd at gmail.com
Thu Jun 24 17:44:06 UTC 2010


On Thu, Jun 24, 2010 at 9:43 AM, David DEMELIER
<demelier.david at gmail.com> wrote:
> 2010/6/24 Freddie Cash <fjwcash at gmail.com>:
>> On Thu, Jun 24, 2010 at 12:04 AM, David DEMELIER
>> <demelier.david at gmail.com> wrote:
>>> 2010/6/24 Janne Snabb <snabb at epipe.com>:
>>>> On Wed, 23 Jun 2010, David DEMELIER wrote:
>>>>
>>>>> 2010/6/23 Janne Snabb <snabb at epipe.com>:
>>>>>>
>>>>>> I find it completely useless and plainly stupid to edit the
>>>>>> pkg-messages of all ports to include lots of equal signs for tty-based
>>>>>> formatting purposes.
>>>>>
>>>>> We can take a long time to do that (we don't have to do it quickly),
>>>>> but it could be useful to standardize it for one reason :
>>>>> You will see that it's a message from the port maintainer/submitter
>>>>> and not from the program itself! Sometimes configure scripts stage say
>>>>> some useless things to the user.
>>>>
>>>> You obviously did not get my point.
>>>>
>>>> I fully agree with you that displaying a line of equals signs on
>>>> tty based interfaces to make the messages stand out from other crap
>>>> when installing ports makes sense, but I STRONGLY oppose to the
>>>> idea of putting this visual formatting in the actual message files.
>>>> It is just not the right place to put it in.
>>>>
>>> I see, so maybe in the future you would like some tools that can print
>>> the message, like a GTK+ dialog, QT dialog, or an other tool, if it's
>>> your point I agree. I don't specially want a equal "==" line, I would
>>> just something consistent, why not : nothing ? Yes we can just print
>>> the text without any visual characters, and the [future] tool will
>>> print the message as it want.
>>
>> No, what he's saying is:
>>  - put the logic to print the separators into the appropriate bsd.*.mk file
>>  - remove all separators from all pkg-message* files
>>
>> That way, you can update the separators at any time by editing a
>> single file, instead of editing 20,000+ pkg-message files.  And, that
>> way, future tools can override the separator set in the mk file.
>>
>> Leave the pkg-message files as unformatted text.  Put the formatting
>> into the mk file.
>>
>> Separate content from style.
>>
>
> Yes, that was I said, sorry if you did not understand well :-)

The only problem is that pushing all of this logic into bsd.*.mk only
solves half the problem: from source installations. It doesn't cover
binary installations via pkg_install.

I think Doug and Phillip were on the right track with pushing the data
into a pkg_install consumable format, but the only problem is that
creating additional code that handles one more corner case for
@comment will serve to only slow down the plist parser unnecessarily.
That's why I was suggesting a scripting infrastructure, like so:

pkgmsg() {
    local message=$1
    pkgmsg_separator
    echo "$message"
    pkgmsg_separator
}

Example:

echo "This is an install message for my awesome new package
foo-<BLAH>" > +DISPLAY
pkgmsg `cat +DISPLAY`

And considering that you almost get the functionality for free via
pkg_install (from pkg_create(8)):

     -D displayfile
             Display the file (by concatenating it to stdout) after installing
             the package.  Useful for things like legal notices on almost-free
             software, etc.

The thing about using a script function like pkgmsg too is that it can
be dynamically overwritten by certain groups in order to tailor the
messages (or mute output for customer purposes after everything has
passed QA if they use pkg_install in a product) to the meet their
needs when doing localized installations or deployments as well.

So, why not just add the relevant bits as I described?

Thanks,
-Garrett


More information about the freebsd-ports mailing list