diff --git a/.gitignore b/.gitignore
index a10c46c..8b3e0fb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,4 @@
 SOURCES/javazic-1.8-37392f2f5d59.tar.xz
 SOURCES/javazic.tar.gz
-SOURCES/tzcode2022g.tar.gz
-SOURCES/tzdata2022g.tar.gz
+SOURCES/tzcode2024a.tar.gz
+SOURCES/tzdata2024a.tar.gz
diff --git a/.tzdata.metadata b/.tzdata.metadata
index 4b12d75..b4c6e03 100644
--- a/.tzdata.metadata
+++ b/.tzdata.metadata
@@ -1,4 +1,4 @@
 77292e1839952807567570118e01405b405af80c SOURCES/javazic-1.8-37392f2f5d59.tar.xz
 ee8ad215161cd132e65e2be447b279457158b540 SOURCES/javazic.tar.gz
-ffcae61ec6a0b703deb7c5dba497577eae018cd5 SOURCES/tzcode2022g.tar.gz
-f28562b04f3a26c4a01b295efce86a5d378ea9af SOURCES/tzdata2022g.tar.gz
+96c682391618d0f053d70ccb98cd65d969d014cd SOURCES/tzcode2024a.tar.gz
+310a281e4551e4e9a11db4f9ceea85a6529af4af SOURCES/tzdata2024a.tar.gz
diff --git a/SOURCES/0002-Fix-have-snprintf-error.patch b/SOURCES/0002-Fix-have-snprintf-error.patch
deleted file mode 100644
index cafdf4d..0000000
--- a/SOURCES/0002-Fix-have-snprintf-error.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nrup a/Makefile b/Makefile
---- a/Makefile	2017-10-23 18:03:40.237177646 -0400
-+++ b/Makefile	2017-10-23 18:06:20.060683518 -0400
-@@ -292,7 +292,7 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fn
- # January's first Monday when a "%V" format is used and January 1
- # falls on a Friday, Saturday, or Sunday.
- 
--CFLAGS=
-+CFLAGS= -DHAVE_SNPRINTF=1
- 
- # Linker flags.  Default to $(LFLAGS) for backwards compatibility
- # to release 2012h and earlier.
diff --git a/SOURCES/0002-Fix-have-snprintf.patch b/SOURCES/0002-Fix-have-snprintf.patch
new file mode 100644
index 0000000..b3dab7f
--- /dev/null
+++ b/SOURCES/0002-Fix-have-snprintf.patch
@@ -0,0 +1,12 @@
+diff -Nrup a/Makefile b/Makefile
+--- a/Makefile	2024-01-01 17:57:30.112884304 -0500
++++ b/Makefile	2024-01-01 17:59:33.641497622 -0500
+@@ -423,6 +423,7 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fn
+ # Uncomment the following line and edit its contents as needed.
+ 
+ #CFLAGS= -O 1
++CFLAGS= -DHAVE_SNPRINTF=1
+ 
+ 
+ # The name of a POSIX-like library archiver, its flags, C compiler,
+Binary files a/tzdata2023d-rearguard.tar.gz and b/tzdata2023d-rearguard.tar.gz differ
diff --git a/SOURCES/0003-continue-to-ship-posixrules.patch b/SOURCES/0003-continue-to-ship-posixrules.patch
index 1755352..fa905d3 100644
--- a/SOURCES/0003-continue-to-ship-posixrules.patch
+++ b/SOURCES/0003-continue-to-ship-posixrules.patch
@@ -1,13 +1,13 @@
 diff -Nrup a/Makefile b/Makefile
---- a/Makefile	2020-10-13 15:58:12.000000000 -0400
-+++ b/Makefile	2020-10-13 16:03:09.461302282 -0400
-@@ -60,7 +60,7 @@ LOCALTIME=	GMT
+--- a/Makefile	2023-03-22 17:41:49.069789592 -0400
++++ b/Makefile	2023-03-22 17:44:07.528427093 -0400
+@@ -52,7 +52,7 @@ LOCALTIME=	Factory
  #	make zonenames
  # to get a list of the values you can use for POSIXRULES.
  
 -POSIXRULES=	-
-+POSIXRULES=    America/New_York
++POSIXRULES=	America/New_York
  
  # Also see TZDEFRULESTRING below, which takes effect only
- # if the time zone files cannot be accessed.
-Binary files a/tzdata2020b-rearguard.tar.gz and b/tzdata2020b-rearguard.tar.gz differ
+ # if POSIXRULES is '-' or if the template file cannot be accessed.
+Binary files a/tzdata2023a-rearguard.tar.gz and b/tzdata2023a-rearguard.tar.gz differ
diff --git a/SPECS/tzdata.spec b/SPECS/tzdata.spec
index 3994d3b..6f83142 100644
--- a/SPECS/tzdata.spec
+++ b/SPECS/tzdata.spec
@@ -1,16 +1,16 @@
 Summary: Timezone data
 Name: tzdata
-Version: 2022g
-%define tzdata_version 2022g
-%define tzcode_version 2022g
-Release: 2%{?dist}
+Version: 2024a
+%define tzdata_version 2024a
+%define tzcode_version 2024a
+Release: 1%{?dist}
 License: Public Domain
 Group: System Environment/Base
 URL: https://www.iana.org/time-zones
 Source0: ftp://ftp.iana.org/tz/releases/tzdata%{tzdata_version}.tar.gz
 Source1: ftp://ftp.iana.org/tz/releases/tzcode%{tzcode_version}.tar.gz
 
-Patch002: 0002-Fix-have-snprintf-error.patch
+Patch002: 0002-Fix-have-snprintf.patch
 Patch003: 0003-continue-to-ship-posixrules.patch
 
 BuildRequires: gawk, glibc, perl-interpreter
@@ -149,6 +149,36 @@ echo ============END TESTING===========
 %{_datadir}/javazi-1.8
 
 %changelog
+* Thu Feb 01 2024 Patsy Griffin <patsy@redhat.com> - 2024a-1
+- Rebase to tzdata-2024a
+  - Kazakhstan will transition from UTC+6 to UTC+5 on 2024-03-01.
+  - Palestine will spring forward a week later than previously
+    predicted.
+
+* Mon Jan 01 2024 Patsy Griffin <patsy@redhat.com> - 2023d-1
+- Rebase to tzdata-2023d
+  - Include time zone changes for Ittoqqortoormiit, Greenland
+    and Vostok, Antarctica.
+  - Update the expiration date for the leap-seconds.list file.
+    No new leap seconds were added.
+
+* Mon Aug 21 2023 Patsy Griffin <patsy@redhat.com> - 2023c-2
+- Bump release to test recent process changes. (RHEL-1326)
+
+* Tue Mar 28 2023 Patsy Griffin <patsy@redhat.com> - 2023c-1
+- Rebase to tzdata-2023c
+  - Lebanon reversed the change added in tzdata-2023b.
+
+* Fri Mar 24 2023 Patsy Griffin <patsy@redhat.com> - 2023b-1
+- Rebase to tzdata-2023b
+  - Lebanon will transition to DST on April 20/21, not March 25/26.
+
+* Wed Mar 22 2023 Patsy Griffin <patsy@redhat.com> - 2023a-1
+- Rebase to tzdata-2023a
+  - Egypt reintroduced DST, from April through October.
+  - Morocco springs forward April 23, not April 30.
+  - Palestine delayed the start of DST this year.
+
 * Fri Jan 6 2023 Patsy Griffin <patsy@redhat.com> - 2022g-2
 - Include leap-seconds.list in tzdata install. (#2154109)