Bug 918088

Summary: samba-4.0.3 SRPM from rawhide incompatible with older operating sytems
Product: [Fedora] Fedora Reporter: Nico Kadel-Garcia <nkadel>
Component: sambaAssignee: Guenther Deschner <gdeschner>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: abokovoy, asn, gdeschner, jlayton, sbose, ssorce
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-03-20 09:52:31 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
RHEL 6 compatible samba-4.0.3.spec none

Description Nico Kadel-Garcia 2013-03-05 13:06:31 UTC
User-Agent:       Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0
Build Identifier: 

The samba-4.0.3 SRPM from rawhide is quite good, but is incompatible with older operating systems such as RHEL 6 or older Fedoras.

Reproducible: Always

Steps to Reproduce:
1. Install Fedora 17 or Fedora 18
2: rpmbuild --rebuild samba-4.0.3-2.fc19.src.rpm

Actual Results:  
The "./configure" step fails. There are hardcoded requirements for libtdb and libldb that are more recent than those in samba.spec.

Expected Results:  
Provide init scripts for SysV init for older operating systems, report correct versions of dependencies for Fedora with systemd.

This is work that can be integrated with the samba4 packages for RHEL 6. I've been publishing my notes at https://github.com/nkadel/samba-4.0.3-srpm/samba.spec, along with the library dependencies for RHEL 6. It's possible to avoid the dependencies by using the internal versions of ldb and talloc and others, but then the "talloc_version" settings and "with_talloc" are confusing. 

The versions should be updated to match the current rawhide versions:

    # Versions for libraries if from external RPMs, not internal code
    %define ldb_version 1.1.15
    %define talloc_version 2.0.8
    %define tdb_version 1.2.11
    %define tevent_version 0.9.17

"with_talloc" and other such libraries should be renamed "with_internal_talloc" to be more clear that those flags select for the internal library, not the external library, and the "with_talloc" options for selecting files can be written:

    %if %with_internal_talloc
    # Stop resetting talloc_version locally, use wildcards
    #%global talloc_version 2.0.7
    %{_libdir}/samba/libtalloc.so.*
    %endif

This also eliminates any need to specify the version of ntdb, which is an entirely internal library and not currently used in the rawhide package.

Comment 1 Nico Kadel-Garcia 2013-03-05 13:11:28 UTC
Created attachment 705410 [details]
RHEL 6 compatible samba-4.0.3.spec

This includes most of my current RHEL 6 compatibility work for samba-4.0.3, but also includes the talloc_version, tdb_version, with_internal_talloc, with_internal_tdb, and similar changes to corectly describe and reqport versions and requirements of Samba add-on libraries.

Comment 2 Andreas Schneider 2013-03-20 09:52:31 UTC
We decided to write a new clean spec file for Fedora and RHEL7 to get rid of all the ugly hacks.
That's why we removed support for older Fedora and RHEL versions. We don't plan to include support for RHEL6.