# This is the recipe.sh script. It is executed by BPM in a temporary directory when compiling a source package # BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE # BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT # The prepare function is executed in the root of the temp directory # This function is used for putting downloaded files to the correct location or applying patches prepare() { cd "$BPM_SOURCE" # Fix gcc 15 compatibility patch -Np1 -i "$BPM_WORKDIR"/gcc-15.patch # Fix gcc 14 compatibility sed '/saslint/a #include ' -i lib/saslutil.c sed '/plugin_common/a #include ' -i plugins/cram.c autoreconf -fi } # The build function is executed in the source directory # This function is used to compile the source code build() { export CPPFLAGS="-I/usr/include/mariadb" ./configure --prefix=/usr \ --sysconfdir=/etc \ --disable-krb4 \ --disable-macos-framework \ --disable-otp \ --disable-passdss \ --disable-srp \ --disable-srp-setpass \ --disable-static \ --enable-alwaystrue \ --enable-anon \ --enable-auth-sasldb \ --enable-checkapop \ --enable-cram \ --enable-digest \ --enable-gssapi \ --enable-ldapdb \ --enable-login \ --enable-ntlm \ --enable-plain \ --enable-shared \ --enable-sql \ --with-dblib=gdbm \ --with-dbpath=/var/lib/sasl/sasldb2 \ --with-sphinx-build=no \ --with-saslauthd=/var/run/saslauthd \ --with-ldap \ --with-pam \ --with-pgsql=/usr/lib \ --with-sqlite3=/usr/lib # prevent excessive overlinking due to libtool sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool make } # The check function is executed in the source directory # This function is used to run tests to verify the package has been compiled correctly check() { make check } # The package function is executed in the source directory # This function is used to move the compiled files into the output directory package() { make DESTDIR="$BPM_OUTPUT" install-pkgconfigDATA for _target in include lib sasldb plugins utils; do make DESTDIR="$BPM_OUTPUT" install -C "$_target" done # Remove unnecessary libaries rm -f "$BPM_OUTPUT"/usr/lib/sasl2/lib{gs2,gssapiv2,ldapdb,sql}.so* # Install package license install -Dm644 "$BPM_SOURCE"/COPYING "$BPM_OUTPUT"/usr/share/licenses/libsasl/COPYING }