[MDEV-9735] cracklib plugin built statically breaks debian builds Created: 2016-03-15 Updated: 2016-03-17 Resolved: 2016-03-17 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Packaging |
| Affects Version/s: | 10.1.12 |
| Fix Version/s: | 10.1.13 |
| Type: | Bug | Priority: | Major |
| Reporter: | Kolbe Kegel (Inactive) | Assignee: | Kolbe Kegel (Inactive) |
| Resolution: | Not a Bug | Votes: | 0 |
| Labels: | None | ||
| Environment: |
Debian |
||
| Description |
|
I made this change:
This causes the cracklib plugin to be built statically into the server. This works great for RPMs. This completely breaks Debian packaging.
|
| Comments |
| Comment by Kolbe Kegel (Inactive) [ 2016-03-15 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||
|
otto do you have any suggestions about how this should be handled for Debian builds? Do I need to manually edit some control file(s)? Edit autobake.sh? Or for Debian, instead of building this statically, should I keep it in a separate package and find some way to require that package to be installed when I install the "server" package? If that's the right way, can you advise what I'd need to change to correctly set up that dependency relationship? | |||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Otto Kekäläinen [ 2016-03-15 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||
|
It tries to add a file to the package that does not exist anymore (as it is statically linked?): debian/tmp/usr/lib/mysql/plugin/cracklib_password_check.so Grep in debian/ for cracklib_password_check.so to see where it is defined and remove it as a separate file and even as a separate package. This bug report does not reference why cracklib now is to be built statically. You need to choose either static or dynamic, and if static, then clean away all references to a separate library file. | |||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Kolbe Kegel (Inactive) [ 2016-03-15 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||
|
otto, I want to build MariaDB Enterprise with cracklib as a statically-linked plugin, so that it's enabled by default. I think it's a reasonable goal to make things like this flexible for end users who might try to build the software. So far, there are 3 files in debian/ that refer to libcrack/cracklib. Can you offer any advice instead about how I might change the existing Debian packaging scripts/files to simply cause the main server package to also install the separate cracklib plugin package? | |||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Kolbe Kegel (Inactive) [ 2016-03-17 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||
|
To build the cracklib plugin statically and successfully build .debs, I had to do three things: 1. Remove the mariadb-cracklib-password-check-10.1 package entirely from debian/control We should try to improve our Debian packaging so that it is more flexible. This litany of hardcoded control files and the reliance on a fragile shell script make it impossible to dynamically cope with an otherwise very flexible build system.
|