New pkg-message[.in] guideline idea

David DEMELIER demelier.david at gmail.com
Sun Aug 8 07:32:07 UTC 2010


2010/6/24 Garrett Cooper <yanefbsd at gmail.com>:
> 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
>

I like this idea,

in fact the best thing to do would be to remove any kind of decoration
and just keeping the text in the pkg-message. Then we could write
something like the SECURITY REPORT.

So it would be something like that :

===> SECURITY REPORT:
      This port has installed the following files which may act as network
      servers and may therefore pose a remote security risk to the system.
/usr/local/lib/libtorrent-rasterbar.so.5

      If there are vulnerabilities in these programs there may be a security
      risk to the system. FreeBSD makes no guarantee about the security of
      ports included in the Ports Collection. Please type 'make deinstall'
      to deinstall the port if this is a concern.

      For more information, and contact details about the security
      status of this software, see the following webpage:
http://www.rasterbar.com/products/libtorrent/index.html
===> Message for <pkg_name_here>:
      Text here...
===>   Registering installation for <pkg_name_here>

Then if the pkg-message is clean, only text and white line, the Mk/*
infrastructure can write any kind of useless decoration, same for the
GUI tools.

-- 
Demelier David


More information about the freebsd-ports mailing list