Bug 690346 - pure-ftpd FTBFS because of mysql changes
Summary: pure-ftpd FTBFS because of mysql changes
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: pure-ftpd
Version: 15
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Michal Ingeli
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-03-24 01:24 UTC by Tom Lane
Modified: 2013-07-03 03:36 UTC (History)
4 users (show)

Fixed In Version: pure-ftpd-1.0.30-2.fc15
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-04-02 05:57:20 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
suggested patch (767 bytes, application/octet-stream)
2011-03-24 01:24 UTC, Tom Lane
no flags Details

Description Tom Lane 2011-03-24 01:24:11 UTC
Created attachment 487171 [details]
suggested patch

Description of problem:
pure-ftpd failed to build during the F15 mass rebuild, and is still failing to build, because it depends on the deprecated mysql routine make_scrambled_password().  As of F15 I've prevented libmysqlclient.so from exposing that function, because it's (a) deprecated and (b) an intrusion on application global namespace.  So pure-ftpd needs to be fixed to use the recommended function my_make_scrambled_password() instead.

Version-Release number of selected component (if applicable):
pure-ftpd-1.0.29-2

How reproducible:
100%

Steps to Reproduce:
1.  fedpkg build

Additional info:
Suggest the attached patch; I haven't really tested it though.

This is broken in both rawhide and F15.  In F15, please build with "fedpkg build --target=dist-f15-mysql" since we need to consolidate the updates for the recent libmysqlclient soname bump.
http://lists.fedoraproject.org/pipermail/devel/2011-March/149784.html

Comment 1 Tom Lane 2011-03-24 20:00:51 UTC
Note --- the temporary dist-f15-mysql tag is history.  Just build in F15 normally when you fix this.

Comment 2 Michal Ingeli 2011-03-28 12:49:45 UTC
Thanks for reporting and also for the patch. Fixed and rebuilt in both F15 and rawhide.

Comment 3 Fedora Update System 2011-03-28 13:03:41 UTC
pure-ftpd-1.0.30-2.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/pure-ftpd-1.0.30-2.fc15

Comment 4 Fedora Update System 2011-03-29 03:31:30 UTC
Package pure-ftpd-1.0.30-2.fc15:
* should fix your issue,
* was pushed to the Fedora 15 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing pure-ftpd-1.0.30-2.fc15'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/pure-ftpd-1.0.30-2.fc15
then log in and leave karma (feedback).

Comment 5 Fedora Update System 2011-04-02 05:57:15 UTC
pure-ftpd-1.0.30-2.fc15 has been pushed to the Fedora 15 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 6 Tom Boland 2011-06-09 02:01:04 UTC
I loaded the fix. Apache now loads without error. Will test it further. Thanks. Should I put in a bugzilla for pam_mysql.so for same problem?

Comment 7 Michal Ingeli 2011-06-09 10:09:13 UTC
(In reply to comment #6)
> I loaded the fix. Apache now loads without error. Will test it further. Thanks.

Apache?

> Should I put in a bugzilla for pam_mysql.so for same problem?

Is it the same problem, pam_mysql depending on deprecated and now private API of mysql?

btw, pure-ftpd fixed this in current version.

Comment 8 Tom Boland 2011-06-09 15:12:09 UTC
My mistake. delete the comment. Had wrong bug open. This was a reference for another bug I was looking into.

Comment 9 Paul Howarth 2011-07-07 21:09:29 UTC
(In reply to comment #0)
> Created attachment 487171 [details]
> suggested patch
> 
> Description of problem:
> pure-ftpd failed to build during the F15 mass rebuild, and is still failing to
> build, because it depends on the deprecated mysql routine
> make_scrambled_password().  As of F15 I've prevented libmysqlclient.so from
> exposing that function, because it's (a) deprecated and (b) an intrusion on
> application global namespace.  So pure-ftpd needs to be fixed to use the
> recommended function my_make_scrambled_password() instead.

I've just come across this issue with proftpd (Bug #718327); it was only noticed as runtime because (a) the mysql headers still include a declaration for make_scrambled_password (hence the compiler is happy) but there is no implementation, and (b) proftpd's mysql support is done as a dynamically-loaded module so the resulting linking problem is only noticed when someone actually tries to use the mysql module.

I think mysql upstream needs to remove the declaration from the headers so that any further issues like this show up at build time.

Comment 10 Tom Lane 2011-07-07 21:22:59 UTC
Just to be clear, upstream has only deprecated the function; the choice to make it inaccessible is Fedora-specific.  I agree that it'd be better to remove it from the headers, and will see about doing that next turn.

But if you managed to build without getting a link failure, removing it from the headers is not going to be enough to cause you to get a build failure, merely a warning you might or might not notice.  You might be better advised to revisit the linker switches you're using.


Note You need to log in before you can comment on or make changes to this bug.