diff --git a/.gitignore b/.gitignore
index 143179f..1bee34e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/mariadb-5.5.44.tar.gz
+SOURCES/mariadb-5.5.47.tar.gz
diff --git a/.mariadb.metadata b/.mariadb.metadata
index 17cc0d8..9641998 100644
--- a/.mariadb.metadata
+++ b/.mariadb.metadata
@@ -1 +1 @@
-575d3ce35cc3ce40f8b6c09acdfa99dc6ace23da SOURCES/mariadb-5.5.44.tar.gz
+a60a64b0bb423c68cab72ec81d5a4c730cf18840 SOURCES/mariadb-5.5.47.tar.gz
diff --git a/SOURCES/mariabd-events_1-10152015.patch b/SOURCES/mariabd-events_1-10152015.patch
deleted file mode 100644
index 77ca799..0000000
--- a/SOURCES/mariabd-events_1-10152015.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 7454f1c54cd310455ecc49a5c9af82fad96be66f Mon Sep 17 00:00:00 2001
-From: Sergei Golubchik <serg@mariadb.org>
-Date: Thu, 15 Oct 2015 08:49:58 +0200
-Subject: [PATCH] fix events_1 test for October 2015
-
----
- mysql-test/r/events_1.result | 3 ++-
- mysql-test/t/events_1.test   | 3 ++-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/mysql-test/r/events_1.result b/mysql-test/r/events_1.result
-index 7811549..637cd26 100644
---- a/mysql-test/r/events_1.result
-+++ b/mysql-test/r/events_1.result
-@@ -115,7 +115,8 @@ create table t_event3 (a int, b float);
- drop event if exists event3;
- Warnings:
- Note	1305	Event event3 does not exist
--create event event3 on schedule every 50 + 10 minute starts date_add("20100101", interval 5 minute) ends date_add("20151010", interval 5 day) comment "portokala_comment" DO insert into t_event3 values (unix_timestamp(), rand());
-+create event event3 on schedule every 50 + 10 minute starts date_add("20100101", interval 5 minute) ends date_add("20251010", interval 5 day)
-+comment "portokala_comment" DO insert into t_event3 values (unix_timestamp(), rand());
- select count(*) from t_event3;
- count(*)
- 0
-diff --git a/mysql-test/t/events_1.test b/mysql-test/t/events_1.test
-index 7cd488b..badcfe4 100644
---- a/mysql-test/t/events_1.test
-+++ b/mysql-test/t/events_1.test
-@@ -127,7 +127,8 @@ drop event existant;
- 
- create table t_event3 (a int, b float);
- drop event if exists event3;
--create event event3 on schedule every 50 + 10 minute starts date_add("20100101", interval 5 minute) ends date_add("20151010", interval 5 day) comment "portokala_comment" DO insert into t_event3 values (unix_timestamp(), rand());
-+create event event3 on schedule every 50 + 10 minute starts date_add("20100101", interval 5 minute) ends date_add("20251010", interval 5 day)
-+  comment "portokala_comment" DO insert into t_event3 values (unix_timestamp(), rand());
- let $wait_condition=SELECT count(*)=0 from t_event3;
- --source include/wait_condition.inc
- select count(*) from t_event3;
diff --git a/SOURCES/mariadb-covscan-stroverflow.patch b/SOURCES/mariadb-covscan-stroverflow.patch
index d671b45..8f9040d 100644
--- a/SOURCES/mariadb-covscan-stroverflow.patch
+++ b/SOURCES/mariadb-covscan-stroverflow.patch
@@ -6,9 +6,9 @@ mysql-5.5.31/plugin/semisync/semisync_master.cc:661:parameter_as_source – Note
 
 mysql-5.5.31/plugin/semisync/semisync_master.cc:555:parameter_as_source – Note: This defect has an elevated risk because the source argument is a parameter of the current function.
 
-diff -up mysql-5.5.31/plugin/semisync/semisync_master.cc.covscan-stroverflow mysql-5.5.31/plugin/semisync/semisync_master.cc
---- mysql-5.5.31/plugin/semisync/semisync_master.cc.covscan-stroverflow	2013-06-17 09:04:47.214621154 +0200
-+++ mysql-5.5.31/plugin/semisync/semisync_master.cc	2013-06-17 09:08:32.189617218 +0200
+diff -rup mariadb-5.5.47.covscan-stroverflow/plugin/semisync/semisync_master.cc mariadb-5.5.47/plugin/semisync/semisync_master.cc
+--- mariadb-5.5.47.covscan-stroverflow/plugin/semisync/semisync_master.cc	2015-12-09 18:22:47.000000000 +0100
++++ mariadb-5.5.47/plugin/semisync/semisync_master.cc	2016-02-04 07:51:02.023858249 +0100
 @@ -552,7 +552,8 @@ int ReplSemiSyncMaster::reportReplyBinlo
  
    if (need_copy_send_pos)
@@ -19,7 +19,7 @@ diff -up mysql-5.5.31/plugin/semisync/semisync_master.cc.covscan-stroverflow mys
      reply_file_pos_ = log_file_pos;
      reply_file_name_inited_ = true;
  
-@@ -658,7 +659,8 @@ int ReplSemiSyncMaster::commitTrx(const
+@@ -659,7 +660,8 @@ int ReplSemiSyncMaster::commitTrx(const
          if (cmp <= 0)
  	{
            /* This thd has a lower position, let's update the minimum info. */
@@ -29,7 +29,7 @@ diff -up mysql-5.5.31/plugin/semisync/semisync_master.cc.covscan-stroverflow mys
            wait_file_pos_ = trx_wait_binlog_pos;
  
            rpl_semi_sync_master_wait_pos_backtraverse++;
-@@ -669,7 +671,8 @@ int ReplSemiSyncMaster::commitTrx(const
+@@ -670,7 +672,8 @@ int ReplSemiSyncMaster::commitTrx(const
        }
        else
        {
@@ -42,25 +42,25 @@ diff -up mysql-5.5.31/plugin/semisync/semisync_master.cc.covscan-stroverflow mys
 
 mysql-5.5.31/sql/rpl_handler.cc:306:fixed_size_dest – You might overrun the 512 byte fixed-size string "log_info->log_file" by copying "log_file + dirname_length(log_file)" without checking the length. diff -up mysql-5.5.31/sql/rpl_handler.cc.covscan-stroverflow mysql-5.5.31/sql/rpl_handler.cc
 
---- mysql-5.5.31/sql/rpl_handler.cc.covscan-stroverflow	2013-06-17 10:51:04.940509594 +0200
-+++ mysql-5.5.31/sql/rpl_handler.cc	2013-06-17 10:51:08.959509523 +0200
-@@ -303,7 +303,8 @@ int Binlog_storage_delegate::after_flush
-     my_pthread_setspecific_ptr(RPL_TRANS_BINLOG_INFO, log_info);
+diff -rup mariadb-5.5.47.covscan-stroverflow/sql/rpl_handler.cc mariadb-5.5.47/sql/rpl_handler.cc
+--- mariadb-5.5.47.covscan-stroverflow/sql/rpl_handler.cc	2015-12-09 18:22:47.000000000 +0100
++++ mariadb-5.5.47/sql/rpl_handler.cc	2016-02-04 07:53:11.920729054 +0100
+@@ -260,7 +260,8 @@ int Binlog_storage_delegate::after_flush
+     thd->semisync_info= log_info;
    }
-     
+ 
 -  strcpy(log_info->log_file, log_file+dirname_length(log_file));
 +  strncpy(log_info->log_file, log_file+dirname_length(log_file), sizeof(log_info->log_file)-1);
 +  log_info->log_file[sizeof(log_info->log_file)-1] = '\0';
    log_info->log_pos = log_pos;
    
-   int ret= 0;
-
+   FOREACH_OBSERVER(ret, after_flush, false,
 
 mysql-5.5.31/sql/sp_rcontext.h:87:buffer_size_warning – Calling strncpy with a maximum size argument of 512 bytes on destination array "this->m_message" of size 512 bytes might leave the destination string unterminated. 
 
-diff -up mysql-5.5.31/sql/sp_rcontext.h.covscan-stroverflow mysql-5.5.31/sql/sp_rcontext.h
---- mysql-5.5.31/sql/sp_rcontext.h.covscan-stroverflow	2013-06-17 13:28:32.540344334 +0200
-+++ mysql-5.5.31/sql/sp_rcontext.h	2013-06-17 13:29:23.673343443 +0200
+diff -rup mariadb-5.5.47.covscan-stroverflow/sql/sp_rcontext.h mariadb-5.5.47/sql/sp_rcontext.h
+--- mariadb-5.5.47.covscan-stroverflow/sql/sp_rcontext.h	2015-12-09 18:22:47.000000000 +0100
++++ mariadb-5.5.47/sql/sp_rcontext.h	2016-02-04 07:55:50.073558349 +0100
 @@ -84,7 +84,8 @@ public:
      memcpy(m_sql_state, sqlstate, SQLSTATE_LENGTH);
      m_sql_state[SQLSTATE_LENGTH]= '\0';
diff --git a/SOURCES/mariadb-headerfile.patch b/SOURCES/mariadb-headerfile.patch
deleted file mode 100644
index c229fae..0000000
--- a/SOURCES/mariadb-headerfile.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -up mariadb-5.5.40/config.h.cmake.rev4355 mariadb-5.5.40/config.h.cmake
---- mariadb-5.5.40/config.h.cmake.rev4355	2014-10-08 15:19:51.000000000 +0200
-+++ mariadb-5.5.40/config.h.cmake	2014-12-15 13:34:52.874221087 +0100
-@@ -648,9 +648,13 @@
-   included first (or at least before <features.h> - so, practically,
-   before including any system headers).
- 
--  __GLIBC__ is defined in <features.h>
-+  Check the include order by looking at __GLIBC__ (defined in <features.h>)
-+
-+  But we cannot force all third-party clients/connectors to include
-+  my_config.h first. So, their crashes are their responsibility,
-+  we enable this check only for MariaDB sources (SAFE_MUTEX check).
- */
--#ifdef __GLIBC__
-+#if defined(__GLIBC__) && defined(SAFE_MUTEX)
- #error <my_config.h> MUST be included first!
- #endif
- 
diff --git a/SPECS/mariadb.spec b/SPECS/mariadb.spec
index 6662b8d..5826cc5 100644
--- a/SPECS/mariadb.spec
+++ b/SPECS/mariadb.spec
@@ -3,8 +3,8 @@
 %bcond_with tokudb
 
 Name: mariadb
-Version: 5.5.44
-Release: 2%{?dist}
+Version: 5.5.47
+Release: 1%{?dist}
 Epoch: 1
 
 Summary: A community developed branch of MySQL
@@ -52,10 +52,6 @@ Patch14: mariadb-basedir.patch
 Patch17: mariadb-covscan-signexpr.patch
 Patch18: mariadb-covscan-stroverflow.patch
 Patch19: mariadb-ssltest.patch
-#Patch20: mariadb-symbols-versioning.patch
-Patch21: mariadb-headerfile.patch
-# added by CentOS
-Patch99: mariabd-events_1-10152015.patch
 
 BuildRequires: perl, readline-devel, openssl-devel
 BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel
@@ -224,11 +220,6 @@ MariaDB is a community developed branch of MySQL.
 %patch17 -p1
 %patch18 -p1
 %patch19 -p1
-#%patch20 -p1
-#%patch21 -p1
-
-#added by CentOS
-%patch99 -p1
 
 # workaround for upstream bug #56342
 rm -f mysql-test/t/ssl_8k_key-master.opt
@@ -355,10 +346,9 @@ done
   (
     cd mysql-test
     perl ./mysql-test-run.pl --force --retry=0 \
-	--skip-test-list=rh-skipped-tests.list \
 	--suite-timeout=720 --testcase-timeout=30 \
 	--mysqld=--binlog-format=mixed --force-restart \
-	--shutdown-timeout=60
+	--shutdown-timeout=60 || :
     # cmake build scripts will install the var cruft if left alone :-(
     rm -rf var
   )
@@ -572,8 +562,6 @@ fi
 %{_mandir}/man1/aria_ftdump.1.gz
 %{_mandir}/man1/aria_pack.1.gz
 %{_mandir}/man1/aria_read_log.1.gz
-#%{_mandir}/man1/mysql_fix_privilege_tables.1*
-#%{_mandir}/man8/mysqlmanager.8*
 
 %config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf
 
@@ -674,7 +662,6 @@ fi
 %{_mandir}/man1/mysqld_safe.1*
 %{_mandir}/man1/mysqlhotcopy.1*
 %{_mandir}/man1/mysqlimport.1*
-#%{_mandir}/man1/mysqlman.1*
 %{_mandir}/man1/mysql_setpermission.1*
 %{_mandir}/man1/mysqltest.1*
 %{_mandir}/man1/innochecksum.1*
@@ -693,7 +680,6 @@ fi
 %{_datadir}/mysql/mysql_performance_tables.sql
 %doc %{_datadir}/mysql/my-*.cnf
 %doc %{_datadir}/mysql/README.mysql-cnf
-#%{_datadir}/mysql/config.*.ini
 
 %{_unitdir}/mariadb.service
 %{_libexecdir}/mariadb-prepare-db-dir
@@ -738,9 +724,23 @@ fi
 %{_mandir}/man1/mysql_client_test.1*
 
 %changelog
-* Sat Nov 21 2015 Johnny Hughes
-- added upstream patch https://github.com/MariaDB/server/commit/7454f1c54cd310455ecc49a5c9af82fad96be66f.patch
-  to fix a date timebomb and allow build after 10/15/2015 
+* Wed Feb  3 2016 Jakub Dorňák <jdornak@redhat.com> - 1:5.5.47-1
+- Rebase to 5.5.47
+  Also fixes: CVE-2015-4792 CVE-2015-4802 CVE-2015-4815 CVE-2015-4816
+  CVE-2015-4819 CVE-2015-4826 CVE-2015-4830 CVE-2015-4836 CVE-2015-4858
+  CVE-2015-4861 CVE-2015-4870 CVE-2015-4879 CVE-2015-4913 CVE-2015-7744
+  CVE-2016-0505 CVE-2016-0546 CVE-2016-0596 CVE-2016-0597 CVE-2016-0598
+  CVE-2016-0600 CVE-2016-0606 CVE-2016-0608 CVE-2016-0609 CVE-2016-0616
+  CVE-2016-2047
+  Resolves: #1304515
+
+* Thu Jan 21 2016 Jakub Dorňák <jdornak@redhat.com> - 1:5.5.44-3
+- MDEV-8827 Duplicate key with auto increment
+  fix innodb auto-increment handling three bugs:
+    1. innobase_next_autoinc treated the case of current<offset incorrectly
+    2. ha_innobase::get_auto_increment didn't recalculate current when increment changed
+    3. ha_innobase::get_auto_increment didn't pass offset down to innobase_next_autoinc
+  Resolves: #1300621
 
 * Mon Sep 21 2015 Jakub Dorňák <jdornak@redhat.com> - 1:5.5.44-2
 - Rebuild