Hi, I'll start by saying that much of the documentation seems to have been lost/moved after the project got moved off of fedorahosted.org. The only way I was able to get to the build instructions were via the wayback machine (https://web.archive.org/web/20170103042748/https://fedorahosted.org/sssd/wik...). In addition, I'm not a full time developer.
We have an LDAP server, and due to reasons out of my control from a time long long before me, our uid field contains multiple entries. When users log on, if their uid isn't matched to the rdn value, sssd defaults to using the first entry (which you all know). This doesn't work for us because we can't predict (or change) the order of the values, though we'd like to make sure a certain uid is always used.
The uid that we use internally is of a certain format (we prepend certain characters based on classification). I've rewritten one of the functions in sysdb.c to check for a uid that matches the format before defaulting to the first one. I've compiled/tested it on fedora 25 and it works as intended. i.e. Users are able to log in with their intended uid regardless of its order in LDAP. However, we use RHEL7. I can't build directly on a rhel7 machine because there's a large list of dependencies that can't be resolved. The list is below.
Could someone help point me in the direction that I need to go to solve this? I'm not asking for code to be rewritten (I've already done that), I'm just looking for help building it on another flavor. I'd like to build an RPM that can be easily loaded onto new rhel7 vm's as we create them. I have the epel7 repo enabled, fwiw. I had thought many of these packages would be available there.
cifs-utils-devel, jansson-devel, libcollection-devel, libdhash-devel >= 0.4.2, libini_config-devel >= 1.1, libldb-devel, libnfsidmap-devel, libnl3-devel, libsemanage-devel, libsmbclient-devel, libtalloc-devel, libtdb-devel, libtevent-devel, python3-devel, samba4-devel
On (25/05/17 12:51), Joseph Fischetti wrote:
Hi, I'll start by saying that much of the documentation seems to have been lost/moved after the project got moved off of fedorahosted.org. The only way I was able to get to the build instructions were via the wayback machine (https://web.archive.org/web/20170103042748/https://fedorahosted.org/sssd/wik...). In addition, I'm not a full time developer.
We have an LDAP server, and due to reasons out of my control from a time long long before me, our uid field contains multiple entries. When users log on, if their uid isn't matched to the rdn value, sssd defaults to using the first entry (which you all know). This doesn't work for us because we can't predict (or change) the order of the values, though we'd like to make sure a certain uid is always used.
The uid that we use internally is of a certain format (we prepend certain characters based on classification). I've rewritten one of the functions in sysdb.c to check for a uid that matches the format before defaulting to the first one. I've compiled/tested it on fedora 25 and it works as intended. i.e. Users are able to log in with their intended uid regardless of its order in LDAP. However, we use RHEL7. I can't build directly on a rhel7 machine because there's a large list of dependencies that can't be resolved. The list is below.
Could someone help point me in the direction that I need to go to solve this? I'm not asking for code to be rewritten (I've already done that), I'm just looking for help building it on another flavor. I'd like to build an RPM that can be easily loaded onto new rhel7 vm's as we create them. I have the epel7 repo enabled, fwiw. I had thought many of these packages would be available there.
cifs-utils-devel, jansson-devel, libcollection-devel, libdhash-devel >= 0.4.2, libini_config-devel >= 1.1, libldb-devel, libnfsidmap-devel, libnl3-devel, libsemanage-devel, libsmbclient-devel, libtalloc-devel, libtdb-devel, libtevent-devel, python3-devel, samba4-devel
rhel7 has devel packages in optional repository.
But I would recommend to rebuild SRPM(make srpm) in mock and install generated rpms. (create yum repository). Or even better to rebuild SRPM in copr. https://copr.fedoraproject.org/
LS
Thanks Lukas, I did find the optional (and extras) repos, enabled them, etc, etc.
After building from source rpm on a rhel7 machine, rpm/RPMS/x86_64 contains ~30 rpms. rpm -Uvh * presents me with "python2-sssdconfig is needed". For some reason it isn't among the rpm's that were created when building from source.
I'll look at copr, thank you for the suggestion.
On (25/05/17 15:26), Joseph Fischetti wrote:
Thanks Lukas, I did find the optional (and extras) repos, enabled them, etc, etc.
After building from source rpm on a rhel7 machine, rpm/RPMS/x86_64 contains ~30 rpms. rpm -Uvh * presents me with "python2-sssdconfig is needed". For some reason it isn't among the rpm's that were created when building from source.
Because python2-sssdconfig is not platform specific package and therefore is in different directory rpm/RPMS/noarch
LS
On 05/25/2017 12:04 PM, Lukas Slebodnik wrote:
On (25/05/17 15:26), Joseph Fischetti wrote:
Thanks Lukas, I did find the optional (and extras) repos, enabled them, etc, etc.
After building from source rpm on a rhel7 machine, rpm/RPMS/x86_64 contains ~30 rpms. rpm -Uvh * presents me with "python2-sssdconfig is needed". For some reason it isn't among the rpm's that were created when building from source.
Because python2-sssdconfig is not platform specific package and therefore is in different directory rpm/RPMS/noarch
Also, on RHEL it is called "python-sssdconfig", not python2-sssdconfig. You will need to modify the spec file to import the correct name.
On (26/05/17 08:37), Stephen Gallagher wrote:
On 05/25/2017 12:04 PM, Lukas Slebodnik wrote:
On (25/05/17 15:26), Joseph Fischetti wrote:
Thanks Lukas, I did find the optional (and extras) repos, enabled them, etc, etc.
After building from source rpm on a rhel7 machine, rpm/RPMS/x86_64 contains ~30 rpms. rpm -Uvh * presents me with "python2-sssdconfig is needed". For some reason it isn't among the rpm's that were created when building from source.
Because python2-sssdconfig is not platform specific package and therefore is in different directory rpm/RPMS/noarch
Also, on RHEL it is called "python-sssdconfig", not python2-sssdconfig. You will need to modify the spec file to import the correct name.
This is not a problem with upstream spec file. Because python2-sssdconfig provides python-sssdconfig. Package was properly renamed.
LS
I was able to build/install/test via copr, which is an awesome resource.
Thanks Lukas for the suggestion. I'd still like to get it sorted at some point so I can use a local repository for the package, but this will work for the time being.
On 05/25/2017 12:16 PM, Joseph Fischetti wrote:
I was able to build/install/test via copr, which is an awesome resource.
Thanks Lukas for the suggestion. I'd still like to get it sorted at some point so I can use a local repository for the package, but this will work for the time being.
Take a look at the 'mock' package (`yum install mock`)
You can do: `mock -r epel-7-x86_64 /path/to/srpm` and it will automatically download all of the build-dependencies and rebuild the SRPM into binary RPMs locally on your system. (This is the tool that COPR uses internally).
sssd-devel@lists.fedorahosted.org