[MacPorts] #16619: certain characters in long description cause corrupt receipt to be installed

MacPorts noreply at macports.org
Fri Sep 26 13:25:05 PDT 2008


#16619: certain characters in long description cause corrupt receipt to be
installed
-------------------------------------------+--------------------------------
  Reporter:  darren.weber.lists at gmail.com  |       Owner:  macports-tickets at lists.macosforge.org
      Type:  defect                        |      Status:  new                                  
  Priority:  Normal                        |   Milestone:  MacPorts base bugs                   
 Component:  base                          |     Version:  1.6.0                                
Resolution:                                |    Keywords:  receipt port syntax                  
      Port:                                |  
-------------------------------------------+--------------------------------

Comment(by darren.weber.lists at gmail.com):

 I've tested the {} solution for long_description; it seems to fail.
 Here's the example test for libpqxx below.

 Portfile contains:
 {{{

 long_description {
 libpqxx is the official C++ client API for PostgreSQL, the enterprise-
 strength
 open-source database software.  There are many similar libraries for
 PostgreSQL
 and for other databases, some of them database independent.  Most of
 these,
 however, are fairly C like in their programming style, and fail to take
 advantage of the full power of the C++ language as it has matured since
 the acceptance of the Standard in 1996.  What libpqxx brings you is
 effective
 use of templates to reduce the inconvenience of dealing with type
 conversions,
 standard C++ strings to keep you from having to worry about buffer
 allocation
 and overflow attacks, exceptions to take the tedious and error prone
 plumbing
 around error handling out of your hands, constructors and destructors to
 bring
 resource management under control, and even basic object orientation to
 give
 you some extra reliability features that would be hard to get with most
 other
 database interfaces.}

 }}}


 port install process:
 {{{
 [ dweber at elegans ~ ]$ sudo port install libpqxx
 --->  Fetching libpqxx
 --->  Verifying checksum(s) for libpqxx
 --->  Extracting libpqxx
 --->  Configuring libpqxx
 --->  Building libpqxx with target all
 --->  Staging libpqxx into destroot
 --->  Installing libpqxx 2.6.9_0
 --->  Activating libpqxx 2.6.9_0
 Error: Target org.macports.activate returned: Image error: libpqxx
 @2.6.9_0 not installed as an image.
 Error: Status 1 encountered during processing.
 }}}


 Resulting receipt file contains:
 {{{
 [ dweber at elegans ~ ]$ cat
 /opt/local/var/macports/receipts/libpqxx/2.6.9_0/receipt.bz2 | bunzip2 |
 more
 # Version: 1.0
 variants {} imagedir /opt/local/var/macports/software/libpqxx/2.6.9_0
 description {Official C++ client API for PostgreSQL} active 0 homepage
 http://pqxx
 .org/development/libpqxx/ epoch 0 compact 0 depends_lib {port:pkgconfig
 port:postgresql83} name libpqxx installtype image receipt_f receipt_flat
 maintai
 ners gmail.com:darren.weber.lists long_description {{
 libpqxx is the official C++ client API for PostgreSQL, the enterprise-
 strength
 open-source database software.  There are many similar libraries for
 PostgreSQL
 and for other databases, some of them database independent.  Most of
 these,
 however, are fairly C like in their programming style, and fail to take
 advantage of the full power of the C++ language as it has matured since
 the acceptance of the Standard in 1996.  What libpqxx brings you is
 effective
 use of templates to reduce the inconvenience of dealing with type
 conversions,
 standard C++ strings to keep you from having to worry about buffer
 allocation
 and overflow attacks, exceptions to take the tedious and error prone
 plumbing
 around error handling out of your hands, constructors and destructors to
 bring
 resource management under control, and even basic object orientation to
 give
 you some extra reliability features that would be hard to get with most
 other
 database interfaces.}} contents
 {{/opt/local/var/macports/software/libpqxx/2.6.9_0/opt/local/bin/pqxx-
 config 0 80 33261 1259 {MD5 (/opt/local/var/macpor
 ts/software/libpqxx/2.6.9_0/opt/local/bin/pqxx-config) =
 a65c02cde9c3e0efb766c85f4b1652e6}} . . .<snip>
 }}}

-- 
Ticket URL: <http://trac.macports.org/ticket/16619#comment:6>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list