From ced0bf59a3f57ab882f95f81488505da061e618a Mon Sep 17 00:00:00 2001 From: Alessandro Pisu Date: Wed, 4 Dec 2024 23:24:49 +0100 Subject: [PATCH 1/2] Small optimizations - Change the `find` `-exec` to a pipe to `xargs` - Implemented the TODO : combining sed commands --- image/service/slapd/assets/schema-to-ldif.sh | 27 ++++++++++---------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/image/service/slapd/assets/schema-to-ldif.sh b/image/service/slapd/assets/schema-to-ldif.sh index 34b826f..f7b0ad3 100755 --- a/image/service/slapd/assets/schema-to-ldif.sh +++ b/image/service/slapd/assets/schema-to-ldif.sh @@ -42,19 +42,20 @@ for schema in ${SCHEMAS} ; do continue fi - find . -name *\}${schema_name}.ldif -exec mv '{}' ./${ldif_file} \; - - # TODO: these sed invocations could all be combined - sed -i "/dn:/ c dn: cn=${schema_name},cn=schema,cn=config" ${ldif_file} - sed -i "/cn:/ c cn: ${schema_name}" ${ldif_file} - sed -i '/structuralObjectClass/ d' ${ldif_file} - sed -i '/entryUUID/ d' ${ldif_file} - sed -i '/creatorsName/ d' ${ldif_file} - sed -i '/createTimestamp/ d' ${ldif_file} - sed -i '/entryCSN/ d' ${ldif_file} - sed -i '/modifiersName/ d' ${ldif_file} - sed -i '/modifyTimestamp/ d' ${ldif_file} - + find . -name *\}${schema_name}.ldif | xargs -I {} mv '{}' ./${ldif_file} + + # Strip ldif file off export metadata metadata + sed -e "/dn:/ c dn: cn=${schema_name},cn=schema,cn=config" \ + -e "/cn:/ c cn: ${schema_name}" \ + -e '/structuralObjectClass/ d' \ + -e '/entryUUID/ d' \ + -e '/creatorsName/ d' \ + -e '/createTimestamp/ d' \ + -e '/entryCSN/ d' \ + -e '/modifiersName/ d' \ + -e '/modifyTimestamp/ d' \ + -i ${ldif_file} + # slapd seems to be very sensitive to how a file ends. There should be no blank lines. sed -i '/^ *$/d' ${ldif_file} From 6ff6f0fe3d84db966a6f9388a2800c95cb1d47ea Mon Sep 17 00:00:00 2001 From: Alessandro Pisu Date: Wed, 4 Dec 2024 23:26:26 +0100 Subject: [PATCH 2/2] Fix comment --- image/service/slapd/assets/schema-to-ldif.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/image/service/slapd/assets/schema-to-ldif.sh b/image/service/slapd/assets/schema-to-ldif.sh index f7b0ad3..b513403 100755 --- a/image/service/slapd/assets/schema-to-ldif.sh +++ b/image/service/slapd/assets/schema-to-ldif.sh @@ -44,7 +44,7 @@ for schema in ${SCHEMAS} ; do find . -name *\}${schema_name}.ldif | xargs -I {} mv '{}' ./${ldif_file} - # Strip ldif file off export metadata metadata + # Strip ldif file off export metadata sed -e "/dn:/ c dn: cn=${schema_name},cn=schema,cn=config" \ -e "/cn:/ c cn: ${schema_name}" \ -e '/structuralObjectClass/ d' \