Package: libpq5 Version: 9.1.2-1 Severity: wishlist Hi,
I piped the available libpq5 packages from snapshot.debian.org through some shellscripts and got a symbols file that goes back to 8.2 when libpq changed SONAME from 4 to 5. This was i386-only but I believe the situation is the same on other architectures. A sideeffect is that we can replace "8.2~" by "0" in symbols files which makes dpkg-shlibdeps omit the version part if there's no particular version needed. Some comments on the new file: * PQconnectionNeedsPassword@Base appeared in 8.3~rc1-1, i.e. past the beta version.s * I changed PQlibVersion@Base 9.1~beta1 to PQlibVersion@Base 9.1~ just like the other entries (same for PGping*) * pg_valid_server_encoding_id@Base appeared in 8.3~beta1-2 (I didn't check why it was -2, probably a packaging error) I did the same for the other libraries which all changed SONAME in 8.3: libecpg6: * ECPGget_PGconn@Base appeared in 8.3.1-2 * ECPGtransactionStatus@Base was wrongly listed as 8.4~ while it appeared in 9.0 * libecpg-compat3 has only 1 symbol left (at 9.0~) * libpgtypes3 has no minimum version left (but the file should be kept since this could change) It would be nice if these files could make it into the 3 PG server packages in unstable. (With the obvious changes for 8.4 and 9.0.) The shellscript to create the files is attached, used like this: $ debsnap -a i386 libpq5 $ ls binary-libpq5 > files.libpq5 (manually sort the file by version and kick bpo out) $ ./walk-symbols $(cat files.libpq5) Christoph -- [email protected] | http://www.df7cb.de/
libecpg_compat.so.3 libecpg-compat3 #MINVER# ECPG_informix_get_var@Base 0 ECPG_informix_reset_sqlca@Base 9.0~ ECPG_informix_set_var@Base 0 byleng@Base 0 decadd@Base 0 deccmp@Base 0 deccopy@Base 0 deccvasc@Base 0 deccvdbl@Base 0 deccvint@Base 0 deccvlong@Base 0 decdiv@Base 0 decmul@Base 0 decsub@Base 0 dectoasc@Base 0 dectodbl@Base 0 dectoint@Base 0 dectolong@Base 0 dtcurrent@Base 0 dtcvasc@Base 0 dtcvfmtasc@Base 0 dtsub@Base 0 dttoasc@Base 0 dttofmtasc@Base 0 intoasc@Base 0 ldchar@Base 0 rdatestr@Base 0 rdayofweek@Base 0 rdefmtdate@Base 0 rfmtdate@Base 0 rfmtlong@Base 0 rgetmsg@Base 0 risnull@Base 0 rjulmdy@Base 0 rmdyjul@Base 0 rsetnull@Base 0 rstrdate@Base 0 rtoday@Base 0 rtypalign@Base 0 rtypmsize@Base 0 rtypwidth@Base 0 rupshift@Base 0
libecpg.so.6 libecpg6 #MINVER# ECPGallocate_desc@Base 0 ECPGconnect@Base 0 ECPGdeallocate@Base 0 ECPGdeallocate_all@Base 0 ECPGdeallocate_desc@Base 0 ECPGdebug@Base 0 ECPGdescribe@Base 0 ECPGdisconnect@Base 0 ECPGdo@Base 0 ECPGdo_descriptor@Base 0 ECPGfree_auto_mem@Base 0 ECPGget_PGconn@Base 8.3.1-2~ ECPGget_desc@Base 0 ECPGget_desc_header@Base 0 ECPGget_sqlca@Base 0 ECPGget_var@Base 9.0~ ECPGis_noind_null@Base 0 ECPGprepare@Base 0 ECPGprepared_statement@Base 0 ECPGset_desc@Base 0 ECPGset_desc_header@Base 0 ECPGset_noind_null@Base 0 ECPGset_var@Base 9.0~ ECPGsetcommit@Base 0 ECPGsetconn@Base 0 ECPGstatus@Base 0 ECPGtrans@Base 0 ECPGtransactionStatus@Base 9.0~ sqlprint@Base 0
libpgtypes.so.3 libpgtypes3 #MINVER# PGTYPESdate_dayofweek@Base 0 PGTYPESdate_defmt_asc@Base 0 PGTYPESdate_fmt_asc@Base 0 PGTYPESdate_free@Base 0 PGTYPESdate_from_asc@Base 0 PGTYPESdate_from_timestamp@Base 0 PGTYPESdate_julmdy@Base 0 PGTYPESdate_mdyjul@Base 0 PGTYPESdate_new@Base 0 PGTYPESdate_to_asc@Base 0 PGTYPESdate_today@Base 0 PGTYPESdecimal_free@Base 0 PGTYPESdecimal_new@Base 0 PGTYPESinterval_copy@Base 0 PGTYPESinterval_free@Base 0 PGTYPESinterval_from_asc@Base 0 PGTYPESinterval_new@Base 0 PGTYPESinterval_to_asc@Base 0 PGTYPESnumeric_add@Base 0 PGTYPESnumeric_cmp@Base 0 PGTYPESnumeric_copy@Base 0 PGTYPESnumeric_div@Base 0 PGTYPESnumeric_free@Base 0 PGTYPESnumeric_from_asc@Base 0 PGTYPESnumeric_from_decimal@Base 0 PGTYPESnumeric_from_double@Base 0 PGTYPESnumeric_from_int@Base 0 PGTYPESnumeric_from_long@Base 0 PGTYPESnumeric_mul@Base 0 PGTYPESnumeric_new@Base 0 PGTYPESnumeric_sub@Base 0 PGTYPESnumeric_to_asc@Base 0 PGTYPESnumeric_to_decimal@Base 0 PGTYPESnumeric_to_double@Base 0 PGTYPESnumeric_to_int@Base 0 PGTYPESnumeric_to_long@Base 0 PGTYPEStimestamp_add_interval@Base 0 PGTYPEStimestamp_current@Base 0 PGTYPEStimestamp_defmt_asc@Base 0 PGTYPEStimestamp_defmt_scan@Base 0 PGTYPEStimestamp_fmt_asc@Base 0 PGTYPEStimestamp_from_asc@Base 0 PGTYPEStimestamp_sub@Base 0 PGTYPEStimestamp_sub_interval@Base 0 PGTYPEStimestamp_to_asc@Base 0
libpq.so.5 libpq5 #MINVER# PQbackendPID@Base 0 PQbinaryTuples@Base 0 PQcancel@Base 0 PQclear@Base 0 PQclientEncoding@Base 0 PQcmdStatus@Base 0 PQcmdTuples@Base 0 PQconndefaults@Base 0 PQconnectPoll@Base 0 PQconnectStart@Base 0 PQconnectStartParams@Base 9.0~ PQconnectdb@Base 0 PQconnectdbParams@Base 9.0~ PQconnectionNeedsPassword@Base 8.3~rc1-1~ PQconnectionUsedPassword@Base 8.3~ PQconninfoFree@Base 0 PQconninfoParse@Base 8.4~ PQconsumeInput@Base 0 PQcopyResult@Base 8.4~ PQdb@Base 0 PQdescribePortal@Base 0 PQdescribePrepared@Base 0 PQdisplayTuples@Base 0 PQdsplen@Base 0 PQencryptPassword@Base 0 PQendcopy@Base 0 PQenv2encoding@Base 0 PQerrorMessage@Base 0 PQescapeBytea@Base 0 PQescapeByteaConn@Base 0 PQescapeIdentifier@Base 9.0~ PQescapeLiteral@Base 9.0~ PQescapeString@Base 0 PQescapeStringConn@Base 0 PQexec@Base 0 PQexecParams@Base 0 PQexecPrepared@Base 0 PQfformat@Base 0 PQfinish@Base 0 PQfireResultCreateEvents@Base 8.4~ PQflush@Base 0 PQfmod@Base 0 PQfn@Base 0 PQfname@Base 0 PQfnumber@Base 0 PQfreeCancel@Base 0 PQfreeNotify@Base 0 PQfreemem@Base 0 PQfsize@Base 0 PQftable@Base 0 PQftablecol@Base 0 PQftype@Base 0 PQgetCancel@Base 0 PQgetCopyData@Base 0 PQgetResult@Base 0 PQgetisnull@Base 0 PQgetlength@Base 0 PQgetline@Base 0 PQgetlineAsync@Base 0 PQgetssl@Base 0 PQgetvalue@Base 0 PQhost@Base 0 PQinitOpenSSL@Base 8.4~ PQinitSSL@Base 0 PQinstanceData@Base 8.4~ PQisBusy@Base 0 PQisnonblocking@Base 0 PQisthreadsafe@Base 0 PQlibVersion@Base 9.1~ PQmakeEmptyPGresult@Base 0 PQmblen@Base 0 PQnfields@Base 0 PQnotifies@Base 0 PQnparams@Base 0 PQntuples@Base 0 PQoidStatus@Base 0 PQoidValue@Base 0 PQoptions@Base 0 PQparameterStatus@Base 0 PQparamtype@Base 0 PQpass@Base 0 PQping@Base 9.1~ PQpingParams@Base 9.1~ PQport@Base 0 PQprepare@Base 0 PQprint@Base 0 PQprintTuples@Base 0 PQprotocolVersion@Base 0 PQputCopyData@Base 0 PQputCopyEnd@Base 0 PQputline@Base 0 PQputnbytes@Base 0 PQregisterEventProc@Base 8.4~ PQregisterThreadLock@Base 0 PQrequestCancel@Base 0 PQresStatus@Base 0 PQreset@Base 0 PQresetPoll@Base 0 PQresetStart@Base 0 PQresultAlloc@Base 8.4~ PQresultErrorField@Base 0 PQresultErrorMessage@Base 0 PQresultInstanceData@Base 8.4~ PQresultSetInstanceData@Base 8.4~ PQresultStatus@Base 0 PQsendDescribePortal@Base 0 PQsendDescribePrepared@Base 0 PQsendPrepare@Base 0 PQsendQuery@Base 0 PQsendQueryParams@Base 0 PQsendQueryPrepared@Base 0 PQserverVersion@Base 0 PQsetClientEncoding@Base 0 PQsetErrorVerbosity@Base 0 PQsetInstanceData@Base 8.4~ PQsetNoticeProcessor@Base 0 PQsetNoticeReceiver@Base 0 PQsetResultAttrs@Base 8.4~ PQsetdbLogin@Base 0 PQsetnonblocking@Base 0 PQsetvalue@Base 8.4~ PQsocket@Base 0 PQstatus@Base 0 PQtrace@Base 0 PQtransactionStatus@Base 0 PQtty@Base 0 PQunescapeBytea@Base 0 PQuntrace@Base 0 PQuser@Base 0 appendBinaryPQExpBuffer@Base 0 appendPQExpBuffer@Base 0 appendPQExpBufferChar@Base 0 appendPQExpBufferStr@Base 0 createPQExpBuffer@Base 0 destroyPQExpBuffer@Base 0 enlargePQExpBuffer@Base 0 initPQExpBuffer@Base 0 lo_close@Base 0 lo_creat@Base 0 lo_create@Base 0 lo_export@Base 0 lo_import@Base 0 lo_import_with_oid@Base 8.4~ lo_lseek@Base 0 lo_open@Base 0 lo_read@Base 0 lo_tell@Base 0 lo_truncate@Base 8.3~ lo_unlink@Base 0 lo_write@Base 0 pg_char_to_encoding@Base 0 pg_encoding_to_char@Base 0 pg_utf_mblen@Base 0 pg_valid_server_encoding@Base 0 pg_valid_server_encoding_id@Base 8.3~beta1-2~ pgresStatus@Base 0 pqsignal@Base 0 printfPQExpBuffer@Base 0 resetPQExpBuffer@Base 0 termPQExpBuffer@Base 0
#!/bin/sh
set -eu
[ -d tmp ] || mkdir tmp
i=1
for pkg in "$@" ; do
echo "$pkg"
test -e "$pkg"
name=$(dpkg-deb -I "$pkg" | perl -lne 'print $1 if /^ Package: (.+)/')
version=$(dpkg-deb -I "$pkg" | perl -lne 'print $1 if /^ Version:
(.+)/')
out=$(printf "tmp/%03d_%s" $i "$version")
dpkg-deb -x "$pkg" "$out"
dpkg-gensymbols -P"$out" -p"$name" -v"$version" \
${oldsymbols:+-I"$oldsymbols"} -O"$out.symbols" | \
tee "$out.symbols.diff"
test -s "$out.symbols.diff" || rm "$out.symbols.diff"
oldsymbols="$out.symbols"
rm -rf "$out"
i=$(expr $i + 1)
done
signature.asc
Description: Digital signature

