>From d205e63da4731e3695a083c829d2dd022910e34d Mon Sep 17 00:00:00 2001
From: Stephen Gallagher <sgallagh@redhat.com>
Date: Tue, 5 Mar 2013 14:07:23 -0500
Subject: [PATCH] BUILD: Add contributed macros and aliases to simplify
 building

---
 contrib/fedora/bashrc_sssd | 103 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 103 insertions(+)
 create mode 100644 contrib/fedora/bashrc_sssd

diff --git a/contrib/fedora/bashrc_sssd b/contrib/fedora/bashrc_sssd
new file mode 100644
index 0000000000000000000000000000000000000000..7f8cb28efdac5899532b0e532693d9087d1baa7c
--- /dev/null
+++ b/contrib/fedora/bashrc_sssd
@@ -0,0 +1,103 @@
+# For best results, add the following lines to ~/.bashrc:
+# if [ -f /path/to/sssd-source/contrib/fedora/bashrc_sssd ]
+#     . /path/to/sssd-source/contrib/fedora/bashrc_sssd
+# fi
+
+# Determine the architecture of the platform we're running on
+SSS_ARCH=$(uname -p)
+
+# Determine the lib and libdir locations
+SSS_LIB=$(rpm --eval %{_lib})
+SSS_LIBDIR=$(rpm --eval %{_libdir})
+
+# Add the following line to your .bashrc if you want SSSD to throw errors on
+# compiler warnings (recommended)
+# SSS_WERROR=-Werror
+
+# Determine the number of available processors on the system for parallel make
+# invocation.
+PROCESSORS=$(/usr/bin/getconf _NPROCESSORS_ONLN)
+
+# Configure invocation for use on Fedora systems, based on the %configure RPM
+# macro from the redhat-rpm-config package. This macro assumes you are building
+# in a parallel build directory beneath the source directory. All other macros
+# in this script will assume that the location is
+# /path/to/sssd-source/$SSS_ARCH
+alias fedconfig='../configure \
+                     --build=$SSS_ARCH-unknown-linux-gnu \
+                     --host=$SSS_ARCH-unknown-linux-gnu \
+                     --target=$SSS_ARCH-redhat-linux-gnu \
+                     --program-prefix= --prefix=/usr \
+                     --exec-prefix=/usr \
+                     --bindir=/usr/bin \
+                     --sbindir=/usr/sbin \
+                     --sysconfdir=/etc \
+                     --datadir=/usr/share \
+                     --includedir=/usr/include \
+                     --libdir=$SSS_LIBDIR \
+                     --libexecdir=/usr/libexec \
+                     --localstatedir=/var \
+                     --sharedstatedir=/var/lib \
+                     --mandir=/usr/share/man \
+                     --infodir=/usr/share/info \
+                     --enable-nsslibdir=/$SSS_LIB \
+                     --enable-pammoddir=/$SSS_LIB/security \
+                     --with-krb5-rcache-dir=/var/cache/krb5rcache \
+                     --with-initscript=systemd \
+                     --with-test-dir=/dev/shm \
+                     --enable-all-experimental-features \
+                     --with-default-ccache-dir=/run/user/%U \
+                     --with-default-ccname-template=DIR:%d/ccdir \
+                     --cache-file=/tmp/fedconfig.cache \
+                     $SSSD_NO_MANPAGES'
+
+# Quick alias to completely purge the current working directory, then recreate
+# and reconfigure it. This is best used when you are making changes to the m4
+# macros or the configure scripts.
+alias reconfig='autoreconf -if \
+                  && rm -Rf $SSS_ARCH/ \
+                  && mkdir $SSS_ARCH/ \
+                  && cd $SSS_ARCH/ \
+                  && fedconfig'
+
+# Set the list of warnings that you want to detect (and in the case of remake
+# and chmake want to treat as errors)
+WARNINGS='-Wall \
+          -Wextra \
+          -Wno-unused-parameter \
+          -Wno-sign-compare \
+          -Wformat-security'
+
+# Clean the build directory and rebuild all objects, then run the build-tests
+# against them.
+alias remake='make clean > /dev/null \
+                && make V=0 CFLAGS+="-ggdb3 -O0 $SSS_WARNINGS $SSS_WERROR" \
+                        -j%PROCESSORS check'
+
+# Build (or finish building) all objects and then run the build-tests against
+# them. This builds with optimizations turned off and GDB debugging symbols.
+alias chmake='make V=0 CFLAGS+="-ggdb3 -O0 $SSS_WARNINGS $SSS_WERROR" \
+                   -j$PROCESSORS check'
+
+# Clean the build directory and rebuild all objects, then run the build-tests
+# against them. This builds with optimizations turned off and GDB debugging
+# symbols.
+alias remake='make clean > /dev/null && chmake'
+
+# Clean the build directory and rebuild all objects, hiding most of the build
+# output except for warnings and errors. This builds with standard CFLAGS.
+alias warn='make clean >/dev/null \
+              && make CFLAGS+="$WARNINGS" -j$PROCESSORS tests > /dev/null'
+
+# Install the built sources to the current system, cleaning up the LDB modules
+# and making sure that the NSS and PAM modules have the right SELinux context.
+alias sssinstall='sudo make -j$PROCESSORS install \
+                    && sudo rm -f $SSS_LIBDIR/ldb/modules/ldb/memberof.la \
+                    && sudo restorecon -v /$SSS_LIB/libnss_sss.so.2 \
+                                          /$SSS_LIB/security/pam_sss.so'
+
+# Alias to generate a patch or series of patches that meet SSSD submission
+# guidelines.
+# Usage:
+# genpatch -N (where N is the number of patches to submit)
+alias genpatch='git format-patch -M -C --patience --full-index'
-- 
1.8.1.4

