diff --git a/openldap2-client.changes b/openldap2-client.changes index 956fda4..0d808bc 100644 --- a/openldap2-client.changes +++ b/openldap2-client.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Sep 28 13:59:18 UTC 2009 - rhafer@novell.com + +- Added schema2ldif tool to openldap2-client subpackage + (bnc#541819) + ------------------------------------------------------------------- Wed Sep 23 15:35:13 UTC 2009 - rhafer@novell.com diff --git a/openldap2-client.spec b/openldap2-client.spec index 7d65c23..3a684f3 100644 --- a/openldap2-client.spec +++ b/openldap2-client.spec @@ -27,7 +27,7 @@ BuildRequires: -db-devel -libopenssl-devel -pwdutils libdb-4_5-devel openssl-de BuildRequires: -db-devel -libopenssl-devel -pwdutils libdb-4_5-devel openssl-devel %endif Version: 2.4.17 -Release: 3 +Release: 4 Url: http://www.openldap.org License: BSD 3-clause (or similar) ; openldap 2.8 %if "%{name}" == "openldap2" @@ -50,6 +50,7 @@ Source2: addonschema.tar.gz Source3: DB_CONFIG Source4: sasl-slapd.conf Source5: README.update +Source6: schema2ldif Source100: openldap-2.3.37.tar.bz2 Patch: openldap2.dif Patch2: slapd_conf.dif @@ -287,6 +288,7 @@ install -m 755 -d $RPM_BUILD_ROOT/var/lib/ldap chmod a+x $RPM_BUILD_ROOT/%{_libdir}/liblber.so* chmod a+x $RPM_BUILD_ROOT/%{_libdir}/libldap_r.so* chmod a+x $RPM_BUILD_ROOT/%{_libdir}/libldap.so* +install -m 755 %{SOURCE6} $RPM_BUILD_ROOT/usr/sbin/schema2ldif %if "%{name}" == "openldap2" mkdir -p $RPM_BUILD_ROOT/var/adm/fillup-templates install -m 644 sysconfig.openldap $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.openldap @@ -367,6 +369,7 @@ cat > openldap2-client.filelist < openldap2-client.filelist < +# +# The generated LDIF is printed to stdout. +# + +if [ -z "$1" ]; then + echo 'usage: schema2ldif ' + exit; +fi + +cn=`basename $1 .schema` + +echo "dn: cn=$cn,cn=schema,cn=config"; +echo "objectclass: olcSchemaConfig"; +echo "cn: $cn"; + +/usr/bin/awk ' +BEGIN { + buffer = ""; + width=78 ; +} +function wrap(data) +{ + if (length(data) > 0) { + do { + print substr(data,0,width); + data = " " substr(data, width+1); + } + while (length(data) > 1 ) + }; +} +/^[\t ]*$/ {wrap(buffer); buffer=""; print "#"; next; } +/^#.*$/ { wrap(buffer); buffer=""; print $0; next } +/^[\t ]+/ { gsub("^[\t ]+",""); buffer = buffer " " $0; next; } +{ + wrap(buffer); + $1 = tolower($1) ; + gsub("^objectclass$","olcObjectclasses:",$1) + gsub("^attributetype$","olcAttributeTypes:",$1) + gsub("^objectidentifier$","olcObjectIdentifier:",$1) + buffer = $0; +} +END { wrap(buffer); print "" } +' "$@" +