Re: PCRE 8.30 will break API

2012-02-28 Thread Petr Pisar
On 2012-02-09, Petr Pisar ppi...@redhat.com wrote:
 It's long time since PCRE (Perl-Compatible Regular Expression) library
 has changed API or ABI. Version 8.30 is different.
[...]
 Result is pcre library has changed SONAME from libpcre.so.0 to
 libpcre.so.1.

I'm pleased to announce all reverse dependencies of PCRE have been
rebuilt successfully against new libpcre.so.1 library. Old libpcre.so.0
has been removed and new library moved into /usr in pcre-8.30-2.fc18
which is landing into F18 now.

I'd like to thank everybody who helped me with this transition. This
PCRE upgrade will be highlighted as F18 feature
https://fedoraproject.org/wiki/Features/pcre8.30.

-- Petr

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: PCRE 8.30 will break API

2012-02-16 Thread Thomas Moschny
2012/2/13 Petr Pisar ppi...@redhat.com:
 Currently there is 17 packages linked against the old PCRE:

 monotone

Fixed in monotone-1.0-7.fc18.

- Thomas
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: PCRE 8.30 will break API

2012-02-13 Thread Petr Pisar
On 2012-02-09, Petr Pisar ppi...@redhat.com wrote:

 Result is pcre library has changed SONAME from libpcre.so.0 to
 libpcre.so.1. Other librararies (pcrecpp, pcreposix) delivered with this
 package remain compatible.

 Because pcre library is part of minimal build root I choosed following
 strategy to avoid breaking Koji:

 (1) pcre-8.30-1 will include both new libpcre.so.1 and old libpcre.so.0.
 (This is done by copying old files from build root while building
 this new package).

This has been successfully done.

 (2) Reverse dependencies will be rebuilt against this new library.
 x86_64 repository returns 109 packages:

I attempted to rebuild 104 packages, 22 packages have failed. Some
packages rebuilt other maintainers before me, or fixed them and rebuilt
after me.

Currently there is 17 packages linked against the old PCRE:

cegui
dansguardian
gambas2
gnaughty
kismet
matahari
medusa
mod_security
monotone
openscada
ovaldi
php
privoxy
R
regexxer
syncevolution
wmweather+

Most of them have been already failing before PCRE upgrade. I will
investigate the failures in the future.

I created PCRE 8.30 feature page for F18
https://fedoraproject.org/wiki/Features/pcre8.30 where you can track
the progress. There is a link with an example how to port an application
from removed pcre_info(3) to pcre_fullinfo() too.

-- Petr

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: PCRE 8.30 will break API

2012-02-10 Thread Petr Pisar
On 2012-02-09, Sérgio Basto ser...@serjux.com wrote:
 On Thu, 2012-02-09 at 16:52 +, Petr Pisar wrote: 
 It's long time since PCRE (Perl-Compatible Regular Expression) library
 has changed API or ABI. Version 8.30 is different. Besides UTF-16
 support, the incompatible changes are described by upstream with these
 words:
 

 And sed is not affected ?

sed does not use pcre at all.

-- Petr

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: PCRE 8.30 will break API

2012-02-10 Thread Reindl Harald


Am 10.02.2012 12:46, schrieb Richard W.M. Jones:
 On Fri, Feb 10, 2012 at 01:03:11AM +0100, Kevin Kofler wrote:
 Richard W.M. Jones wrote:
 It dlopen's the package so there is no automatic dependency.  To make
 up for this it requires pcre-devel, but in the light of this soname
 change that might be a bug.

 It is against the guidelines to require a devel package.
 
 Actually ocaml-pcre-devel is the one which requires pcre-devel.  I
 don't think this is against any guidelines, or if it is, it shouldn't
 be.

that devel-packages require other devel-packages is OK
but that you need ANY devel-package on machines having
not installed any compiler/packaging-software not

this machine as example has not a single devel-package
over years and some time ago all these were introduced
by a packaging mistake

package-maintainers should have some CLEAN virtual
machine to test if their new versions are introducing
new dependencies at all because mostly ANY dpendencie
will have another ones over the long and its frustrating
to play around all 3 months to look if some of them
got relaxed


[root@arrakis:~]$ yum remove \*-devel
Geladene Plugins: downloadonly, protectbase
Einrichten des Entfernungsprozess
Löse Abhängigkeiten auf
-- Führe Transaktionsprüfung aus
--- Package apr-devel.x86_64 0:1.4.5-1.fc15.20111201.rh will be gelöscht
--- Package apr-util-devel.x86_64 0:1.3.12-1.fc15 will be gelöscht
--- Package cyrus-sasl-devel.x86_64 0:2.1.23-18.fc15 will be gelöscht
--- Package db4-devel.x86_64 0:4.8.30-3.fc15 will be gelöscht
--- Package expat-devel.x86_64 0:2.0.1-11.fc15 will be gelöscht
--- Package httpd-devel.x86_64 0:2.2.22-2.fc15.20120201.rh will be gelöscht
--- Package mod_perl-devel.x86_64 0:2.0.5-1.fc15 will be gelöscht
-- Verarbeite Abhängigkeiten: perl(Apache::SizeLimit::Core) für Paket: 
mod_perl-2.0.5-1.fc15.x86_64
--- Package openldap-devel.x86_64 0:2.4.24-5.fc15 will be gelöscht
--- Package perl-devel.x86_64 4:5.12.4-164.fc15 will be gelöscht
-- Verarbeite Abhängigkeiten: perl-devel für Paket: 
1:perl-ExtUtils-ParseXS-2.2206-164.fc15.noarch
-- Verarbeite Abhängigkeiten: perl-devel für Paket: 
perl-ExtUtils-Embed-1.28-164.fc15.noarch
-- Verarbeite Abhängigkeiten: perl-devel für Paket: 
perl-Test-Harness-3.17-164.fc15.noarch
-- Verarbeite Abhängigkeiten: perl-devel für Paket: 
perl-ExtUtils-MakeMaker-6.56-164.fc15.noarch
-- Verarbeite Abhängigkeiten: perl-devel für Paket: 
perl-Test-Simple-0.98-1.fc15.noarch
--- Package systemtap-sdt-devel.x86_64 0:1.6-1.fc15 will be gelöscht
-- Führe Transaktionsprüfung aus
--- Package mod_perl.x86_64 0:2.0.5-1.fc15 will be gelöscht
-- Verarbeite Abhängigkeiten: perl(Apache2::Const) für Paket: 
perl-SOAP-WSDL-2.00.10-10.fc15.20111201.rh.noarch
-- Verarbeite Abhängigkeiten: perl(Apache2::Log) für Paket: 
perl-SOAP-WSDL-2.00.10-10.fc15.20111201.rh.noarch
-- Verarbeite Abhängigkeiten: perl(Apache2::RequestIO) für Paket: 
perl-SOAP-WSDL-2.00.10-10.fc15.20111201.rh.noarch
-- Verarbeite Abhängigkeiten: perl(Apache2::RequestRec) für Paket: 
perl-SOAP-WSDL-2.00.10-10.fc15.20111201.rh.noarch
-- Verarbeite Abhängigkeiten: perl(Apache2::RequestUtil) für Paket: 
perl-SOAP-WSDL-2.00.10-10.fc15.20111201.rh.noarch
-- Verarbeite Abhängigkeiten: perl(APR::Table) für Paket: 
perl-SOAP-WSDL-2.00.10-10.fc15.20111201.rh.noarch
--- Package perl-ExtUtils-Embed.noarch 0:1.28-164.fc15 will be gelöscht
--- Package perl-ExtUtils-MakeMaker.noarch 0:6.56-164.fc15 will be gelöscht
-- Verarbeite Abhängigkeiten: perl(ExtUtils::MakeMaker) für Paket: 
perl-CPAN-1.9402-164.fc15.noarch
--- Package perl-ExtUtils-ParseXS.noarch 1:2.2206-164.fc15 will be gelöscht
--- Package perl-Test-Harness.noarch 0:3.17-164.fc15 will be gelöscht
--- Package perl-Test-Simple.noarch 0:0.98-1.fc15 will be gelöscht
-- Führe Transaktionsprüfung aus
--- Package perl-CPAN.noarch 0:1.9402-164.fc15 will be gelöscht
--- Package perl-SOAP-WSDL.noarch 0:2.00.10-10.fc15.20111201.rh will be 
gelöscht
-- Verarbeite Abhängigkeiten: perl(SOAP::WSDL) für Paket: 
perl-Net-DRI-0.96-2.fc15.20111201.rh.noarch
-- Verarbeite Abhängigkeiten: perl-SOAP-WSDL für Paket: 
perl-Net-DRI-0.96-2.fc15.20111201.rh.noarch
-- Führe Transaktionsprüfung aus
--- Package perl-Net-DRI.noarch 0:0.96-2.fc15.20111201.rh will be gelöscht
-- Abhängigkeitsauflösung beendet
lounge-buildserver  
 | 2.9 kB 00:00 ...
lounge-cache
 | 2.9 kB 00:00

Abhängigkeiten aufgelöst


 Paket Arch Version 
RepositoryGrösse

Entfernen:
 apr-devel x86_64   1.4.5-1.fc15.20111201.rh
@lounge-buildserver   767 k

Re: PCRE 8.30 will break API

2012-02-10 Thread Petr Pisar
On 2012-02-10, Reindl Harald h.rei...@thelounge.net wrote:

 that devel-packages require other devel-packages is OK
 but that you need ANY devel-package on machines having
 not installed any compiler/packaging-software not

You can have a tool which creates binding to native shared objects at
run-time. Then header files are good input for such generator. OTOH such
tool is usuallay a developer tool. This is just to show each rule hase
an exception.

 package-maintainers should have some CLEAN virtual
 machine to test if their new versions are introducing
 new dependencies
Packager can check it using rpmdiff on old and updated package.

-- Petr

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: PCRE 8.30 will break API

2012-02-10 Thread Kevin Kofler
Richard W.M. Jones wrote:
 Actually ocaml-pcre-devel is the one which requires pcre-devel.  I
 don't think this is against any guidelines, or if it is, it shouldn't
 be.

No, that makes sense. Your message wasn't clear about that.

 Instead, the software MUST be patched to dlopen the fully versioned
 so from the runtime package instead.
 
 If I understand what you mean, the software does this already.  The
 bug is that there's no explicit (or implicit) dependency to tell RPM
 that it's doing this.

There needs to be at least a Requires: pcre. I guess a Requires on the exact 
soname being dlopened would be more robust, but then you need to take care 
of that pesky '()(64bit)' multilib suffix.

Kevin Kofler

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: PCRE 8.30 will break API

2012-02-10 Thread Richard W.M. Jones
On Fri, Feb 10, 2012 at 04:24:43PM +0100, Kevin Kofler wrote:
 Richard W.M. Jones wrote:
  Actually ocaml-pcre-devel is the one which requires pcre-devel.  I
  don't think this is against any guidelines, or if it is, it shouldn't
  be.
 
 No, that makes sense. Your message wasn't clear about that.
 
  Instead, the software MUST be patched to dlopen the fully versioned
  so from the runtime package instead.
  
  If I understand what you mean, the software does this already.  The
  bug is that there's no explicit (or implicit) dependency to tell RPM
  that it's doing this.
 
 There needs to be at least a Requires: pcre. I guess a Requires on the exact 
 soname being dlopened would be more robust, but then you need to take care 
 of that pesky '()(64bit)' multilib suffix.

Well now, now that everything's in the same directory, can't we use
%{_libdir}/libpcre.so.1 :-?

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  http://libguestfs.org
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: PCRE 8.30 will break API

2012-02-09 Thread Jon Ciesla
On Thu, Feb 9, 2012 at 10:52 AM, Petr Pisar ppi...@redhat.com wrote:
 It's long time since PCRE (Perl-Compatible Regular Expression) library
 has changed API or ABI. Version 8.30 is different. Besides UTF-16
 support, the incompatible changes are described by upstream with these
 words:

 . The pcre_info() function, which has been obsolete for over 10 years,
  has been removed.

 . When a compiled pattern was saved to a file and later reloaded on
  a host with different endianness, PCRE used automatically to swap the
  bytes in some of the data fields. With the advent of the 16-bit
  library, where more of this swapping is needed, it is no longer done
  automatically. Instead, the bad endianness is detected and a specific
  error is given. The user can then call a new function called
  pcre_pattern_to_host_byte_order() (or an equivalent 16-bit function)
  to do the swap.

 . In UTF-8 mode, the values 0xd800 to 0xdfff are not legal Unicode code
  points and are now faulted. (They are the so-called surrogates that
  are reserved for coding high values in UTF-16.)

 Result is pcre library has changed SONAME from libpcre.so.0 to
 libpcre.so.1. Other librararies (pcrecpp, pcreposix) delivered with this
 package remain compatible.

 Because pcre library is part of minimal build root I choosed following
 strategy to avoid breaking Koji:

When do you anticipate that this will hit?

Thanks for the heads up!

-J

-- 
in your fear, seek only peace
in your fear, seek only love

-d. bowie
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: PCRE 8.30 will break API

2012-02-09 Thread Petr Pisar
On 2012-02-09, Jon Ciesla limburg...@gmail.com wrote:
 On Thu, Feb 9, 2012 at 10:52 AM, Petr Pisar ppi...@redhat.com wrote:
 Result is pcre library has changed SONAME from libpcre.so.0 to
 libpcre.so.1. Other librararies (pcrecpp, pcreposix) delivered with this
 package remain compatible.

 Because pcre library is part of minimal build root I choosed following
 strategy to avoid breaking Koji:

 When do you anticipate that this will hit?

Now :) pcre-8.30-1.fc18 is the first build bringing both libraries.

I did thorough tests in virtual machine and the system boots even with
new pcre. Just to make all parties easy, this build targets F18 only.
There is no plan to put it into F17. Actully I postponed the 8.30 build
until branching F17.

I will start rebuilding listed packages on Friday.

-- Petr

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: PCRE 8.30 will break API

2012-02-09 Thread Jon Ciesla
On Thu, Feb 9, 2012 at 11:46 AM, Petr Pisar ppi...@redhat.com wrote:
 On 2012-02-09, Jon Ciesla limburg...@gmail.com wrote:
 On Thu, Feb 9, 2012 at 10:52 AM, Petr Pisar ppi...@redhat.com wrote:
 Result is pcre library has changed SONAME from libpcre.so.0 to
 libpcre.so.1. Other librararies (pcrecpp, pcreposix) delivered with this
 package remain compatible.

 Because pcre library is part of minimal build root I choosed following
 strategy to avoid breaking Koji:

 When do you anticipate that this will hit?

 Now :) pcre-8.30-1.fc18 is the first build bringing both libraries.

 I did thorough tests in virtual machine and the system boots even with
 new pcre. Just to make all parties easy, this build targets F18 only.
 There is no plan to put it into F17. Actully I postponed the 8.30 build
 until branching F17.

 I will start rebuilding listed packages on Friday.

Outstanding, thanks!

-J

 -- Petr

 --
 devel mailing list
 devel@lists.fedoraproject.org
 https://admin.fedoraproject.org/mailman/listinfo/devel



-- 
in your fear, seek only peace
in your fear, seek only love

-d. bowie
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: PCRE 8.30 will break API

2012-02-09 Thread Remi Collet
Le 09/02/2012 17:52, Petr Pisar a écrit :
 php

php 5.4.0RC7 won't build.

I know the fix have been commited,
http://svn.php.net/viewvc?view=revisionrevision=323096
http://svn.php.net/viewvc?view=revisionrevision=323097

so will be in 5.4.0 final, planned for February 16.

So, you can probably skip this one.


Remi.

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: PCRE 8.30 will break API

2012-02-09 Thread Richard W.M. Jones
On Thu, Feb 09, 2012 at 04:52:57PM +, Petr Pisar wrote:
 ocaml-ocamlnet

ocaml-pcre

It dlopen's the package so there is no automatic dependency.  To make
up for this it requires pcre-devel, but in the light of this soname
change that might be a bug.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
New in Fedora 11: Fedora Windows cross-compiler. Compile Windows
programs, test, and build Windows installers. Over 70 libraries supprt'd
http://fedoraproject.org/wiki/MinGW http://www.annexia.org/fedora_mingw
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: PCRE 8.30 will break API

2012-02-09 Thread Jason L Tibbitts III
 PP == Petr Pisar ppi...@redhat.com writes:

PP zoneminder

Went ahead and rebuilt it now as I intend to be working on it tomorrow.

 - J
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: PCRE 8.30 will break API

2012-02-09 Thread Paul Howarth
On Thu, 9 Feb 2012 16:52:57 + (UTC)
Petr Pisar ppi...@redhat.com wrote:
 (2) Reverse dependencies will be rebuilt against this new library.
 x86_64 repository returns 109 packages:
...
 proftpd

I've done the proftpd rebuild.

Paul.
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: PCRE 8.30 will break API

2012-02-09 Thread Sérgio Basto
On Thu, 2012-02-09 at 16:52 +, Petr Pisar wrote: 
 It's long time since PCRE (Perl-Compatible Regular Expression) library
 has changed API or ABI. Version 8.30 is different. Besides UTF-16
 support, the incompatible changes are described by upstream with these
 words:
 
 . The pcre_info() function, which has been obsolete for over 10 years,
   has been removed.
 
 . When a compiled pattern was saved to a file and later reloaded on
   a host with different endianness, PCRE used automatically to swap the
   bytes in some of the data fields. With the advent of the 16-bit
   library, where more of this swapping is needed, it is no longer done
   automatically. Instead, the bad endianness is detected and a specific
   error is given. The user can then call a new function called
   pcre_pattern_to_host_byte_order() (or an equivalent 16-bit function)
   to do the swap.
 
 . In UTF-8 mode, the values 0xd800 to 0xdfff are not legal Unicode code
   points and are now faulted. (They are the so-called surrogates that
   are reserved for coding high values in UTF-16.)
 
 Result is pcre library has changed SONAME from libpcre.so.0 to
 libpcre.so.1. Other librararies (pcrecpp, pcreposix) delivered with this
 package remain compatible.
 
 Because pcre library is part of minimal build root I choosed following
 strategy to avoid breaking Koji:
 
 (1) pcre-8.30-1 will include both new libpcre.so.1 and old libpcre.so.0.
 (This is done by copying old files from build root while building
 this new package).
 
 (2) Reverse dependencies will be rebuilt against this new library.
 x86_64 repository returns 109 packages:
 
 adanaxisgpl
 blender
 bti
 cclive
 ccze
 cduce
 cegui
 cegui06
 cfengine
 classads
 coccinelle
 collada-dom
 condor
 dansguardian
 EMBOSS
 eterm
 ettercap
 exim
 fsniper
 gambas2
 gambas3
 ganglia
 ghc-hakyll
 ghc-pcre-light
 ghc-regex-pcre
 git
 gnaughty
 gnome-mud
 gnote
 gource
 grep
 gsmartcontrol
 gxneur
 haproxy
 highlighting-kate
 httpd
 imapfilter
 Io-language
 kannel
 kaya
 kdelibs
 kdelibs3
 kismet
 leafnode
 ledger
 less
 libast
 libguestfs
 lighttpd
 logstalgia
 lua-rex
 maildrop
 matahari
 mboxgrep
 mcstrans
 medusa
 mod_security
 mongodb
 monotone
 mysql-workbench
 nekovm
 nginx
 ngrep
 nmap
 ocaml-ocamlnet
 octave
 openCOLLADA
 openscada
 openscap
 opensips
 ovaldi
 pads
 pandoc
 perl-HTML-Template-Pro
 php
 picviz
 pidgin-musictracker
 poco
 postfix
 prelude-lml
 privoxy
 proftpd
 R
 regexxer
 rekall
 root
 scilab
 slang
 spring-installer
 sssd
 suricata
 swig
 syncevolution
 syslog-ng
 tabled
 Thunar
 tin
 tintin
 tinyfugue
 varnish
 wmweather+
 xastir
 xfce4-verve-plugin
 xgrep
 xmlcopyeditor
 xneur
 znc-infobot
 zoneminder
 389-ds-base
 
 (3) pcre package will be rebuilt again without the old libpcre.so.0 library.
 The usr-move of /lib*/libpcre.so* will proceede in this or another
 rebuild.

And sed is not affected ?

I got a problem with kmk_sed from kBuild, which change his behavior on
F-17, I don't know exactly when, if it is gcc 4.7 if it is glibc , but
just in case could you rebuild kBuild ? 

Thanks, 
-- 
Sérgio M. B.

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: PCRE 8.30 will break API

2012-02-09 Thread Kevin Kofler
Richard W.M. Jones wrote:
 It dlopen's the package so there is no automatic dependency.  To make
 up for this it requires pcre-devel, but in the light of this soname
 change that might be a bug.

It is against the guidelines to require a devel package. Instead, the 
software MUST be patched to dlopen the fully versioned so from the runtime 
package instead.

Kevin Kofler

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: PCRE 8.30 will break API

2012-02-09 Thread Reindl Harald

Am 10.02.2012 01:03, schrieb Kevin Kofler:
 Richard W.M. Jones wrote:
 It dlopen's the package so there is no automatic dependency.  To make
 up for this it requires pcre-devel, but in the light of this soname
 change that might be a bug.
 
 It is against the guidelines to require a devel package. Instead, the 
 software MUST be patched to dlopen the fully versioned so from the runtime 
 package instead.

so hopefully someone will take care of mod_perl
requires mod_perl-devel too

https://bugzilla.redhat.com/show_bug.cgi?id=771800

[root@arrakis:~]$ yum remove mod_perl-devel-2.0.5-1.fc15.x86_64
Geladene Plugins: downloadonly, protectbase
Einrichten des Entfernungsprozess
Löse Abhängigkeiten auf
-- Führe Transaktionsprüfung aus
--- Package mod_perl-devel.x86_64 0:2.0.5-1.fc15 will be gelöscht
-- Verarbeite Abhängigkeiten: perl(Apache::SizeLimit::Core) für Paket: 
mod_perl-2.0.5-1.fc15.x86_64
-- Führe Transaktionsprüfung aus
--- Package mod_perl.x86_64 0:2.0.5-1.fc15 will be gelöscht

since this change it would also remove self maintained packages while
over a logn time no single devel-package was installed on any server
* perl-Net-DRI
* perl-SOAP-WSDL



signature.asc
Description: OpenPGP digital signature
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel