diff --git a/bumplibs.sh b/bumplibs.sh index 56c85173cc..3b8007ee97 100755 --- a/bumplibs.sh +++ b/bumplibs.sh @@ -1,100 +1,100 @@ #!/bin/bash declare -A headers headers[crmcommon]="include/crm/common include/crm/crm.h" headers[crmcluster]="include/crm/cluster.h" headers[transitioner]="include/crm/transition.h" headers[cib]="include/crm/cib.h include/crm/cib/util.h" headers[pe_rules]="include/crm/pengine/rules.h" headers[pe_status]="include/crm/pengine/common.h include/crm/pengine/complex.h include/crm/pengine/rules.h include/crm/pengine/status.h" headers[pengine]="include/crm/pengine/common.h include/crm/pengine/complex.h include/crm/pengine/rules.h include/crm/pengine/status.h" headers[stonithd]="include/crm/stonith-ng.h" headers[lrmd]="include/crm/lrmd.h" -LAST_RELEASE=`test -e /Volumes || git tag -l | grep Pacemaker | sort -Vr | head -n 1` +LAST_RELEASE=`test -e /Volumes || git tag -l | grep Pacemaker | grep -v rc | sort -Vr | head -n 1` for lib in crmcommon crmcluster transitioner cib pe_rules pe_status stonithd pengine lrmd; do git diff -w $LAST_RELEASE..HEAD ${headers[$lib]} echo "" am=`find . -name Makefile.am -exec grep -lr "lib${lib}_la.*version-info" \{\} \;` am_dir=`dirname $am` if grep "lib${lib}_la_SOURCES.*\\\\" $am then echo -e "\033[1;35m -- Sources list for lib$lib is probably truncated! --\033[0m" echo "" fi sources=`grep "lib${lib}_la_SOURCES" $am | sed s/.*=// | sed 's:$(top_builddir)/::' | sed 's:$(top_srcdir)/::' | sed 's:\\\::' | sed 's:$(libpe_rules_la_SOURCES):rules.c\ common.c:'` full_sources="" for f in $sources; do if echo $f | grep -q "/" then full_sources="$full_sources $f" else full_sources="$full_sources $am_dir/$f" fi done lines=`git diff -w $LAST_RELEASE..HEAD ${headers[$lib]} $full_sources | wc -l` if [ $lines -gt 0 ]; then echo "- Headers: ${headers[$lib]}" echo "- Sources: $full_sources" echo "- Changed Sources since $LAST_RELEASE:" git diff -w $LAST_RELEASE..HEAD --stat $full_sources echo "" read -p "Are the changes to lib$lib: [a]dditions, [r]emovals or [f]ixes? [None]: " CHANGE git show $LAST_RELEASE:$am | grep version-info VER=`git show $LAST_RELEASE:$am | grep "lib.*${lib}_la.*version-info" | sed s/.*version-info// | awk '{print $1}'` VER_NOW=`grep "lib.*${lib}_la.*version-info" $am | sed s/.*version-info// | awk '{print $1}'` VER_1=`echo $VER | awk -F: '{print $1}'` VER_2=`echo $VER | awk -F: '{print $2}'` VER_3=`echo $VER | awk -F: '{print $3}'` VER_1_NOW=`echo $VER_NOW | awk -F: '{print $1}'` case $CHANGE in A|a) echo "New version with backwards compatible extensions: x+1:0:z+1" VER_1=`expr $VER_1 + 1` VER_2=0 VER_3=`expr $VER_3 + 1` ;; R|r) echo "New backwards incompatible version: x+1:0:0" VER_1=`expr $VER_1 + 1` VER_2=0 VER_3=0 for h in ${headers[$lib]}; do sed -i.sed "s/lib${lib}.so.${VER_1_NOW}/lib${lib}.so.${VER_1}/" $h done ;; F|f) echo "Bugfix: x:y+1:z" VER_2=`expr $VER_2 + 1` ;; esac VER_NEW=$VER_1:$VER_2:$VER_3 if [ ! -z $CHANGE ]; then if [ $VER_NEW != $VER_NOW ]; then echo "Updating $lib library version: $VER -> $VER_NEW" sed -i.sed "s/version-info\ $VER_NOW/version-info\ $VER_NEW/" $am else echo "No further version changes needed" fi else echo "Skipping $lib version" fi else echo "No changes to $lib interface" fi read -p "Continue?" echo "" done git diff -w diff --git a/lib/cib/Makefile.am b/lib/cib/Makefile.am index 6ab02fcf3e..e8b4f4dab7 100644 --- a/lib/cib/Makefile.am +++ b/lib/cib/Makefile.am @@ -1,45 +1,45 @@ # # Copyright (C) 2004 Andrew Beekhof # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # MAINTAINERCLEANFILES = Makefile.in INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \ -I$(top_builddir)/libltdl -I$(top_srcdir)/libltdl ## libraries lib_LTLIBRARIES = libcib.la ## SOURCES noinst_HEADERS = libcib_la_SOURCES = cib_ops.c cib_utils.c cib_client.c cib_native.c cib_attrs.c libcib_la_SOURCES += cib_file.c cib_remote.c if ENABLE_ACL libcib_la_SOURCES += cib_acl.c endif -libcib_la_LDFLAGS = -version-info 3:0:0 $(top_builddir)/lib/common/libcrmcommon.la $(CRYPTOLIB) \ +libcib_la_LDFLAGS = -version-info 3:1:0 $(top_builddir)/lib/common/libcrmcommon.la $(CRYPTOLIB) \ $(top_builddir)/lib/pengine/libpe_rules.la libcib_la_CFLAGS = -I$(top_srcdir) clean-generic: rm -f *.log *.debug *.xml *~ install-exec-local: uninstall-local: diff --git a/lib/cluster/Makefile.am b/lib/cluster/Makefile.am index a97cfeefba..fb974b112f 100644 --- a/lib/cluster/Makefile.am +++ b/lib/cluster/Makefile.am @@ -1,53 +1,53 @@ # # Copyright (C) 2004 Andrew Beekhof # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # MAINTAINERCLEANFILES = Makefile.in INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \ -I$(top_builddir)/libltdl -I$(top_srcdir)/libltdl headerdir=$(pkgincludedir)/crm/cluster header_HEADERS = ## libraries lib_LTLIBRARIES = libcrmcluster.la libcrmcluster_la_SOURCES = cluster.c membership.c -libcrmcluster_la_LDFLAGS = -version-info 3:0:1 $(CLUSTERLIBS) +libcrmcluster_la_LDFLAGS = -version-info 3:1:1 $(CLUSTERLIBS) libcrmcluster_la_LIBADD = $(top_builddir)/lib/common/libcrmcommon.la $(top_builddir)/lib/fencing/libstonithd.la libcrmcluster_la_DEPENDENCIES = $(top_builddir)/lib/common/libcrmcommon.la $(top_builddir)/lib/fencing/libstonithd.la if BUILD_CS_SUPPORT if BUILD_CS_PLUGIN libcrmcluster_la_SOURCES += legacy.c else libcrmcluster_la_SOURCES += corosync.c endif endif if BUILD_HEARTBEAT_SUPPORT libcrmcluster_la_SOURCES += heartbeat.c #libcrmcluster_la_LIBADD += -ldl endif clean-generic: rm -f *.log *.debug *.xml *~ install-exec-local: uninstall-local: diff --git a/lib/common/Makefile.am b/lib/common/Makefile.am index 31d6e8d104..855a0f7df8 100644 --- a/lib/common/Makefile.am +++ b/lib/common/Makefile.am @@ -1,49 +1,49 @@ # # Copyright (C) 2004 Andrew Beekhof # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # MAINTAINERCLEANFILES = Makefile.in INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \ -I$(top_builddir)/libltdl -I$(top_srcdir)/libltdl \ -I$(top_builddir)/lib/gnu -I$(top_srcdir)/lib/gnu ## libraries lib_LTLIBRARIES = libcrmcommon.la # Can't use -Wcast-qual here because glib insists on pretending things are const # when they're not and thus we need the crm_element_value_const() hack # s390 needs -fPIC # s390-suse-linux/bin/ld: .libs/ipc.o: relocation R_390_PC32DBL against `__stack_chk_fail@@GLIBC_2.4' can not be used when making a shared object; recompile with -fPIC CFLAGS = $(CFLAGS_COPY:-Wcast-qual=) -fPIC libcrmcommon_la_SOURCES = ipc.c utils.c xml.c iso8601.c remote.c mainloop.c logging.c if BUILD_CIBSECRETS libcrmcommon_la_SOURCES += cib_secrets.c endif -libcrmcommon_la_LDFLAGS = -version-info 4:1:1 +libcrmcommon_la_LDFLAGS = -version-info 5:0:0 libcrmcommon_la_LIBADD = -ldl $(GNUTLSLIBS) libcrmcommon_la_SOURCES += $(top_builddir)/lib/gnu/md5.c clean-generic: rm -f *.log *.debug *.xml *~ install-exec-local: uninstall-local: diff --git a/lib/fencing/Makefile.am b/lib/fencing/Makefile.am index 30215b86df..3297961fd6 100644 --- a/lib/fencing/Makefile.am +++ b/lib/fencing/Makefile.am @@ -1,31 +1,31 @@ # File: Makefile.am # Author: Sun Jiang Dong # Copyright (c) 2004 International Business Machines # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # MAINTAINERCLEANFILES = Makefile.in INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \ -I$(top_builddir)/libltdl -I$(top_srcdir)/libltdl \ -I$(top_builddir) -I$(top_srcdir) lib_LTLIBRARIES = libstonithd.la libstonithd_la_SOURCES = st_client.c -libstonithd_la_LDFLAGS = -version-info 2:1:0 +libstonithd_la_LDFLAGS = -version-info 3:0:1 libstonithd_la_LIBADD = $(top_builddir)/lib/common/libcrmcommon.la AM_CFLAGS = $(INCLUDES) diff --git a/lib/lrmd/Makefile.am b/lib/lrmd/Makefile.am index 54a45942e1..38ff1080d1 100644 --- a/lib/lrmd/Makefile.am +++ b/lib/lrmd/Makefile.am @@ -1,34 +1,34 @@ # Copyright (c) 2012 David Vossel # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # # MAINTAINERCLEANFILES = Makefile.in INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \ -I$(top_builddir)/libltdl -I$(top_srcdir)/libltdl \ -I$(top_builddir) -I$(top_srcdir) lib_LTLIBRARIES = liblrmd.la liblrmd_la_SOURCES = lrmd_client.c -liblrmd_la_LDFLAGS = -version-info 2:0:1 +liblrmd_la_LDFLAGS = -version-info 2:1:1 liblrmd_la_LIBADD = $(top_builddir)/lib/common/libcrmcommon.la \ $(top_builddir)/lib/services/libcrmservice.la \ $(top_builddir)/lib/fencing/libstonithd.la AM_CFLAGS = $(INCLUDES) diff --git a/lib/pengine/Makefile.am b/lib/pengine/Makefile.am index 88cf2a8c3e..68f28c61a3 100644 --- a/lib/pengine/Makefile.am +++ b/lib/pengine/Makefile.am @@ -1,41 +1,41 @@ # # Copyright (C) 2004 Andrew Beekhof # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # MAINTAINERCLEANFILES = Makefile.in INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \ -I$(top_builddir)/libltdl -I$(top_srcdir)/libltdl ## libraries lib_LTLIBRARIES = libpe_rules.la libpe_status.la ## SOURCES noinst_HEADERS = unpack.h variant.h libpe_rules_la_LDFLAGS = -version-info 2:2:0 libpe_rules_la_SOURCES = rules.c common.c -libpe_status_la_LDFLAGS = -version-info 5:1:1 +libpe_status_la_LDFLAGS = -version-info 6:0:2 libpe_status_la_SOURCES = status.c unpack.c utils.c complex.c native.c group.c clone.c rules.c common.c libpe_status_la_LIBADD = @CURSESLIBS@ clean-generic: rm -f *.log *.debug *~ install-exec-local: uninstall-local: diff --git a/lib/transition/Makefile.am b/lib/transition/Makefile.am index 49c71136ca..73f0ef3c9f 100644 --- a/lib/transition/Makefile.am +++ b/lib/transition/Makefile.am @@ -1,38 +1,38 @@ # # Copyright (C) 2004 Andrew Beekhof # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # MAINTAINERCLEANFILES = Makefile.in INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \ -I$(top_builddir)/libltdl -I$(top_srcdir)/libltdl ## libraries lib_LTLIBRARIES = libtransitioner.la ## SOURCES noinst_HEADERS = libtransitioner_la_SOURCES = unpack.c graph.c utils.c -libtransitioner_la_LDFLAGS = -version-info 2:0:0 +libtransitioner_la_LDFLAGS = -version-info 2:1:0 libtransitioner_la_CFLAGS = -I$(top_builddir) clean-generic: rm -f *~ install-exec-local: uninstall-local: diff --git a/pengine/Makefile.am b/pengine/Makefile.am index c612f2a781..7309f5ba51 100644 --- a/pengine/Makefile.am +++ b/pengine/Makefile.am @@ -1,84 +1,84 @@ # # Copyright (C) 2004 Andrew Beekhof # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # MAINTAINERCLEANFILES = Makefile.in INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \ -I$(top_builddir) -I$(top_srcdir) \ -I$(top_builddir)/libltdl -I$(top_srcdir)/libltdl halibdir = $(CRM_DAEMON_DIR) PE_TESTS = $(wildcard test10/*.scores) testdir = $(datadir)/$(PACKAGE)/tests/pengine test_SCRIPTS = regression.sh test_DATA = regression.core.sh test10dir = $(datadir)/$(PACKAGE)/tests/pengine/test10 test10_DATA = $(PE_TESTS) $(PE_TESTS:%.scores=%.xml) $(PE_TESTS:%.scores=%.exp) $(PE_TESTS:%.scores=%.dot) $(PE_TESTS:%.scores=%.summary) $(wildcard test10/*.stderr) COMMONLIBS = \ $(top_builddir)/lib/common/libcrmcommon.la \ $(top_builddir)/lib/pengine/libpe_status.la \ libpengine.la $(CURSESLIBS) $(CLUSTERLIBS) ## libraries lib_LTLIBRARIES = libpengine.la ## binary progs halib_PROGRAMS = pengine man7_MANS = if BUILD_XML_HELP man7_MANS += pengine.7 pengine.xml: pengine $(top_builddir)/pengine/$< metadata | $(XSLTPROC) --nonet --novalid --stringparam man.name $< $(top_srcdir)/xml/ocf-meta2man.xsl - > $(top_builddir)/pengine/$@ pengine.7: pengine.xml $(XSLTPROC) $(MANPAGE_XSLT) $(top_builddir)/pengine/$< endif ## SOURCES noinst_HEADERS = allocate.h utils.h pengine.h #utils.h pengine.h -libpengine_la_LDFLAGS = -version-info 5:1:1 +libpengine_la_LDFLAGS = -version-info 6:0:2 # -L$(top_builddir)/lib/pils -lpils -export-dynamic -module -avoid-version libpengine_la_SOURCES = pengine.c allocate.c utils.c constraints.c libpengine_la_SOURCES += native.c group.c clone.c master.c graph.c libpengine_la_LIBADD = $(top_builddir)/lib/pengine/libpe_status.la \ $(top_builddir)/lib/cib/libcib.la pengine_SOURCES = main.c pengine_LDADD = $(top_builddir)/lib/cib/libcib.la $(COMMONLIBS) # libcib for get_object_root() # $(top_builddir)/lib/hbclient/libhbclient.la install-exec-local: $(mkinstalldirs) $(DESTDIR)/$(PE_STATE_DIR) -chown $(CRM_DAEMON_USER) $(DESTDIR)/$(PE_STATE_DIR) -chgrp $(CRM_DAEMON_GROUP) $(DESTDIR)/$(PE_STATE_DIR) -chmod 750 $(DESTDIR)/$(PE_STATE_DIR) uninstall-local: clean-generic: rm -f test10/*.pe.*