diff --git a/patches/nginx-0.8.54-allow_request_body_updating.patch b/patches/nginx/0.8.54/nginx-0.8.54-allow_request_body_updating.patch similarity index 100% rename from patches/nginx-0.8.54-allow_request_body_updating.patch rename to patches/nginx/0.8.54/nginx-0.8.54-allow_request_body_updating.patch diff --git a/patches/nginx-0.8.54-named_location_clear_mods_ctx.patch b/patches/nginx/0.8.54/nginx-0.8.54-named_location_clear_mods_ctx.patch similarity index 100% rename from patches/nginx-0.8.54-named_location_clear_mods_ctx.patch rename to patches/nginx/0.8.54/nginx-0.8.54-named_location_clear_mods_ctx.patch diff --git a/patches/nginx-0.8.54-no_Werror.patch b/patches/nginx/0.8.54/nginx-0.8.54-no_Werror.patch similarity index 100% rename from patches/nginx-0.8.54-no_Werror.patch rename to patches/nginx/0.8.54/nginx-0.8.54-no_Werror.patch diff --git a/patches/nginx-0.8.54-no_error_pages.patch b/patches/nginx/0.8.54/nginx-0.8.54-no_error_pages.patch similarity index 100% rename from patches/nginx-0.8.54-no_error_pages.patch rename to patches/nginx/0.8.54/nginx-0.8.54-no_error_pages.patch diff --git a/patches/nginx-0.8.54-redirect_memcpy_overlap.patch b/patches/nginx/0.8.54/nginx-0.8.54-redirect_memcpy_overlap.patch similarity index 100% rename from patches/nginx-0.8.54-redirect_memcpy_overlap.patch rename to patches/nginx/0.8.54/nginx-0.8.54-redirect_memcpy_overlap.patch diff --git a/patches/nginx-0.8.54-request_body_in_single_buf.patch b/patches/nginx/0.8.54/nginx-0.8.54-request_body_in_single_buf.patch similarity index 100% rename from patches/nginx-0.8.54-request_body_in_single_buf.patch rename to patches/nginx/0.8.54/nginx-0.8.54-request_body_in_single_buf.patch diff --git a/patches/nginx-0.8.54-request_body_preread_fix.patch b/patches/nginx/0.8.54/nginx-0.8.54-request_body_preread_fix.patch similarity index 100% rename from patches/nginx-0.8.54-request_body_preread_fix.patch rename to patches/nginx/0.8.54/nginx-0.8.54-request_body_preread_fix.patch diff --git a/patches/nginx-0.8.54-server_header.patch b/patches/nginx/0.8.54/nginx-0.8.54-server_header.patch similarity index 100% rename from patches/nginx-0.8.54-server_header.patch rename to patches/nginx/0.8.54/nginx-0.8.54-server_header.patch diff --git a/patches/nginx-0.8.54-subrequest_loop.patch b/patches/nginx/0.8.54/nginx-0.8.54-subrequest_loop.patch similarity index 100% rename from patches/nginx-0.8.54-subrequest_loop.patch rename to patches/nginx/0.8.54/nginx-0.8.54-subrequest_loop.patch diff --git a/patches/nginx-0.8.54-variable_header_ignore_no_hash.patch b/patches/nginx/0.8.54/nginx-0.8.54-variable_header_ignore_no_hash.patch similarity index 100% rename from patches/nginx-0.8.54-variable_header_ignore_no_hash.patch rename to patches/nginx/0.8.54/nginx-0.8.54-variable_header_ignore_no_hash.patch diff --git a/patches/nginx-1.0.10-allow_request_body_updating.patch b/patches/nginx/1.0.10/nginx-1.0.10-allow_request_body_updating.patch similarity index 100% rename from patches/nginx-1.0.10-allow_request_body_updating.patch rename to patches/nginx/1.0.10/nginx-1.0.10-allow_request_body_updating.patch diff --git a/patches/nginx-1.0.10-epoll_check_stale_wev.patch b/patches/nginx/1.0.10/nginx-1.0.10-epoll_check_stale_wev.patch similarity index 100% rename from patches/nginx-1.0.10-epoll_check_stale_wev.patch rename to patches/nginx/1.0.10/nginx-1.0.10-epoll_check_stale_wev.patch diff --git a/patches/nginx-1.0.10-gzip_empty_flush_buf.patch b/patches/nginx/1.0.10/nginx-1.0.10-gzip_empty_flush_buf.patch similarity index 100% rename from patches/nginx-1.0.10-gzip_empty_flush_buf.patch rename to patches/nginx/1.0.10/nginx-1.0.10-gzip_empty_flush_buf.patch diff --git a/patches/nginx-1.0.10-log_escape_non_ascii.patch b/patches/nginx/1.0.10/nginx-1.0.10-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.0.10-log_escape_non_ascii.patch rename to patches/nginx/1.0.10/nginx-1.0.10-log_escape_non_ascii.patch diff --git a/patches/nginx-1.0.10-named_location_clear_mods_ctx.patch b/patches/nginx/1.0.10/nginx-1.0.10-named_location_clear_mods_ctx.patch similarity index 100% rename from patches/nginx-1.0.10-named_location_clear_mods_ctx.patch rename to patches/nginx/1.0.10/nginx-1.0.10-named_location_clear_mods_ctx.patch diff --git a/patches/nginx-1.0.10-no_Werror.patch b/patches/nginx/1.0.10/nginx-1.0.10-no_Werror.patch similarity index 100% rename from patches/nginx-1.0.10-no_Werror.patch rename to patches/nginx/1.0.10/nginx-1.0.10-no_Werror.patch diff --git a/patches/nginx-1.0.10-no_error_pages.patch b/patches/nginx/1.0.10/nginx-1.0.10-no_error_pages.patch similarity index 100% rename from patches/nginx-1.0.10-no_error_pages.patch rename to patches/nginx/1.0.10/nginx-1.0.10-no_error_pages.patch diff --git a/patches/nginx-1.0.10-no_pool.patch b/patches/nginx/1.0.10/nginx-1.0.10-no_pool.patch similarity index 100% rename from patches/nginx-1.0.10-no_pool.patch rename to patches/nginx/1.0.10/nginx-1.0.10-no_pool.patch diff --git a/patches/nginx-1.0.10-request_body_in_single_buf.patch b/patches/nginx/1.0.10/nginx-1.0.10-request_body_in_single_buf.patch similarity index 100% rename from patches/nginx-1.0.10-request_body_in_single_buf.patch rename to patches/nginx/1.0.10/nginx-1.0.10-request_body_in_single_buf.patch diff --git a/patches/nginx-1.0.10-request_body_preread_fix.patch b/patches/nginx/1.0.10/nginx-1.0.10-request_body_preread_fix.patch similarity index 100% rename from patches/nginx-1.0.10-request_body_preread_fix.patch rename to patches/nginx/1.0.10/nginx-1.0.10-request_body_preread_fix.patch diff --git a/patches/nginx-1.0.10-server_header.patch b/patches/nginx/1.0.10/nginx-1.0.10-server_header.patch similarity index 100% rename from patches/nginx-1.0.10-server_header.patch rename to patches/nginx/1.0.10/nginx-1.0.10-server_header.patch diff --git a/patches/nginx-1.0.10-subrequest_loop.patch b/patches/nginx/1.0.10/nginx-1.0.10-subrequest_loop.patch similarity index 100% rename from patches/nginx-1.0.10-subrequest_loop.patch rename to patches/nginx/1.0.10/nginx-1.0.10-subrequest_loop.patch diff --git a/patches/nginx-1.0.10-variable_header_ignore_no_hash.patch b/patches/nginx/1.0.10/nginx-1.0.10-variable_header_ignore_no_hash.patch similarity index 100% rename from patches/nginx-1.0.10-variable_header_ignore_no_hash.patch rename to patches/nginx/1.0.10/nginx-1.0.10-variable_header_ignore_no_hash.patch diff --git a/patches/nginx-1.0.11-allow_request_body_updating.patch b/patches/nginx/1.0.11/nginx-1.0.11-allow_request_body_updating.patch similarity index 100% rename from patches/nginx-1.0.11-allow_request_body_updating.patch rename to patches/nginx/1.0.11/nginx-1.0.11-allow_request_body_updating.patch diff --git a/patches/nginx-1.0.11-epoll_check_stale_wev.patch b/patches/nginx/1.0.11/nginx-1.0.11-epoll_check_stale_wev.patch similarity index 100% rename from patches/nginx-1.0.11-epoll_check_stale_wev.patch rename to patches/nginx/1.0.11/nginx-1.0.11-epoll_check_stale_wev.patch diff --git a/patches/nginx-1.0.11-gzip_empty_flush_buf.patch b/patches/nginx/1.0.11/nginx-1.0.11-gzip_empty_flush_buf.patch similarity index 100% rename from patches/nginx-1.0.11-gzip_empty_flush_buf.patch rename to patches/nginx/1.0.11/nginx-1.0.11-gzip_empty_flush_buf.patch diff --git a/patches/nginx-1.0.11-log_escape_non_ascii.patch b/patches/nginx/1.0.11/nginx-1.0.11-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.0.11-log_escape_non_ascii.patch rename to patches/nginx/1.0.11/nginx-1.0.11-log_escape_non_ascii.patch diff --git a/patches/nginx-1.0.11-max_subrequests.patch b/patches/nginx/1.0.11/nginx-1.0.11-max_subrequests.patch similarity index 100% rename from patches/nginx-1.0.11-max_subrequests.patch rename to patches/nginx/1.0.11/nginx-1.0.11-max_subrequests.patch diff --git a/patches/nginx-1.0.11-named_location_clear_mods_ctx.patch b/patches/nginx/1.0.11/nginx-1.0.11-named_location_clear_mods_ctx.patch similarity index 100% rename from patches/nginx-1.0.11-named_location_clear_mods_ctx.patch rename to patches/nginx/1.0.11/nginx-1.0.11-named_location_clear_mods_ctx.patch diff --git a/patches/nginx-1.0.11-no_Werror.patch b/patches/nginx/1.0.11/nginx-1.0.11-no_Werror.patch similarity index 100% rename from patches/nginx-1.0.11-no_Werror.patch rename to patches/nginx/1.0.11/nginx-1.0.11-no_Werror.patch diff --git a/patches/nginx-1.0.11-no_error_pages.patch b/patches/nginx/1.0.11/nginx-1.0.11-no_error_pages.patch similarity index 100% rename from patches/nginx-1.0.11-no_error_pages.patch rename to patches/nginx/1.0.11/nginx-1.0.11-no_error_pages.patch diff --git a/patches/nginx-1.0.11-no_pool.patch b/patches/nginx/1.0.11/nginx-1.0.11-no_pool.patch similarity index 100% rename from patches/nginx-1.0.11-no_pool.patch rename to patches/nginx/1.0.11/nginx-1.0.11-no_pool.patch diff --git a/patches/nginx-1.0.11-null_character_fixes.patch b/patches/nginx/1.0.11/nginx-1.0.11-null_character_fixes.patch similarity index 100% rename from patches/nginx-1.0.11-null_character_fixes.patch rename to patches/nginx/1.0.11/nginx-1.0.11-null_character_fixes.patch diff --git a/patches/nginx-1.0.11-request_body_in_single_buf.patch b/patches/nginx/1.0.11/nginx-1.0.11-request_body_in_single_buf.patch similarity index 100% rename from patches/nginx-1.0.11-request_body_in_single_buf.patch rename to patches/nginx/1.0.11/nginx-1.0.11-request_body_in_single_buf.patch diff --git a/patches/nginx-1.0.11-request_body_preread_fix.patch b/patches/nginx/1.0.11/nginx-1.0.11-request_body_preread_fix.patch similarity index 100% rename from patches/nginx-1.0.11-request_body_preread_fix.patch rename to patches/nginx/1.0.11/nginx-1.0.11-request_body_preread_fix.patch diff --git a/patches/nginx-1.0.11-server_header.patch b/patches/nginx/1.0.11/nginx-1.0.11-server_header.patch similarity index 100% rename from patches/nginx-1.0.11-server_header.patch rename to patches/nginx/1.0.11/nginx-1.0.11-server_header.patch diff --git a/patches/nginx-1.0.11-subrequest_loop.patch b/patches/nginx/1.0.11/nginx-1.0.11-subrequest_loop.patch similarity index 100% rename from patches/nginx-1.0.11-subrequest_loop.patch rename to patches/nginx/1.0.11/nginx-1.0.11-subrequest_loop.patch diff --git a/patches/nginx-1.0.11-upstream_pipelining.patch b/patches/nginx/1.0.11/nginx-1.0.11-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.0.11-upstream_pipelining.patch rename to patches/nginx/1.0.11/nginx-1.0.11-upstream_pipelining.patch diff --git a/patches/nginx-1.0.11-variable_header_ignore_no_hash.patch b/patches/nginx/1.0.11/nginx-1.0.11-variable_header_ignore_no_hash.patch similarity index 100% rename from patches/nginx-1.0.11-variable_header_ignore_no_hash.patch rename to patches/nginx/1.0.11/nginx-1.0.11-variable_header_ignore_no_hash.patch diff --git a/patches/nginx-1.0.12-allow_request_body_updating.patch b/patches/nginx/1.0.12/nginx-1.0.12-allow_request_body_updating.patch similarity index 100% rename from patches/nginx-1.0.12-allow_request_body_updating.patch rename to patches/nginx/1.0.12/nginx-1.0.12-allow_request_body_updating.patch diff --git a/patches/nginx-1.0.12-epoll_check_stale_wev.patch b/patches/nginx/1.0.12/nginx-1.0.12-epoll_check_stale_wev.patch similarity index 100% rename from patches/nginx-1.0.12-epoll_check_stale_wev.patch rename to patches/nginx/1.0.12/nginx-1.0.12-epoll_check_stale_wev.patch diff --git a/patches/nginx-1.0.12-gzip_empty_flush_buf.patch b/patches/nginx/1.0.12/nginx-1.0.12-gzip_empty_flush_buf.patch similarity index 100% rename from patches/nginx-1.0.12-gzip_empty_flush_buf.patch rename to patches/nginx/1.0.12/nginx-1.0.12-gzip_empty_flush_buf.patch diff --git a/patches/nginx-1.0.12-log_escape_non_ascii.patch b/patches/nginx/1.0.12/nginx-1.0.12-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.0.12-log_escape_non_ascii.patch rename to patches/nginx/1.0.12/nginx-1.0.12-log_escape_non_ascii.patch diff --git a/patches/nginx-1.0.12-max_subrequests.patch b/patches/nginx/1.0.12/nginx-1.0.12-max_subrequests.patch similarity index 100% rename from patches/nginx-1.0.12-max_subrequests.patch rename to patches/nginx/1.0.12/nginx-1.0.12-max_subrequests.patch diff --git a/patches/nginx-1.0.12-named_location_clear_mods_ctx.patch b/patches/nginx/1.0.12/nginx-1.0.12-named_location_clear_mods_ctx.patch similarity index 100% rename from patches/nginx-1.0.12-named_location_clear_mods_ctx.patch rename to patches/nginx/1.0.12/nginx-1.0.12-named_location_clear_mods_ctx.patch diff --git a/patches/nginx-1.0.12-no_Werror.patch b/patches/nginx/1.0.12/nginx-1.0.12-no_Werror.patch similarity index 100% rename from patches/nginx-1.0.12-no_Werror.patch rename to patches/nginx/1.0.12/nginx-1.0.12-no_Werror.patch diff --git a/patches/nginx-1.0.12-no_error_pages.patch b/patches/nginx/1.0.12/nginx-1.0.12-no_error_pages.patch similarity index 100% rename from patches/nginx-1.0.12-no_error_pages.patch rename to patches/nginx/1.0.12/nginx-1.0.12-no_error_pages.patch diff --git a/patches/nginx-1.0.12-no_pool.patch b/patches/nginx/1.0.12/nginx-1.0.12-no_pool.patch similarity index 100% rename from patches/nginx-1.0.12-no_pool.patch rename to patches/nginx/1.0.12/nginx-1.0.12-no_pool.patch diff --git a/patches/nginx-1.0.12-request_body_in_single_buf.patch b/patches/nginx/1.0.12/nginx-1.0.12-request_body_in_single_buf.patch similarity index 100% rename from patches/nginx-1.0.12-request_body_in_single_buf.patch rename to patches/nginx/1.0.12/nginx-1.0.12-request_body_in_single_buf.patch diff --git a/patches/nginx-1.0.12-request_body_preread_fix.patch b/patches/nginx/1.0.12/nginx-1.0.12-request_body_preread_fix.patch similarity index 100% rename from patches/nginx-1.0.12-request_body_preread_fix.patch rename to patches/nginx/1.0.12/nginx-1.0.12-request_body_preread_fix.patch diff --git a/patches/nginx-1.0.12-server_header.patch b/patches/nginx/1.0.12/nginx-1.0.12-server_header.patch similarity index 100% rename from patches/nginx-1.0.12-server_header.patch rename to patches/nginx/1.0.12/nginx-1.0.12-server_header.patch diff --git a/patches/nginx-1.0.12-subrequest_loop.patch b/patches/nginx/1.0.12/nginx-1.0.12-subrequest_loop.patch similarity index 100% rename from patches/nginx-1.0.12-subrequest_loop.patch rename to patches/nginx/1.0.12/nginx-1.0.12-subrequest_loop.patch diff --git a/patches/nginx-1.0.12-variable_header_ignore_no_hash.patch b/patches/nginx/1.0.12/nginx-1.0.12-variable_header_ignore_no_hash.patch similarity index 100% rename from patches/nginx-1.0.12-variable_header_ignore_no_hash.patch rename to patches/nginx/1.0.12/nginx-1.0.12-variable_header_ignore_no_hash.patch diff --git a/patches/nginx-1.0.14-allow_request_body_updating.patch b/patches/nginx/1.0.14/nginx-1.0.14-allow_request_body_updating.patch similarity index 100% rename from patches/nginx-1.0.14-allow_request_body_updating.patch rename to patches/nginx/1.0.14/nginx-1.0.14-allow_request_body_updating.patch diff --git a/patches/nginx-1.0.14-epoll_check_stale_wev.patch b/patches/nginx/1.0.14/nginx-1.0.14-epoll_check_stale_wev.patch similarity index 100% rename from patches/nginx-1.0.14-epoll_check_stale_wev.patch rename to patches/nginx/1.0.14/nginx-1.0.14-epoll_check_stale_wev.patch diff --git a/patches/nginx-1.0.14-gzip_empty_flush_buf.patch b/patches/nginx/1.0.14/nginx-1.0.14-gzip_empty_flush_buf.patch similarity index 100% rename from patches/nginx-1.0.14-gzip_empty_flush_buf.patch rename to patches/nginx/1.0.14/nginx-1.0.14-gzip_empty_flush_buf.patch diff --git a/patches/nginx-1.0.14-log_escape_non_ascii.patch b/patches/nginx/1.0.14/nginx-1.0.14-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.0.14-log_escape_non_ascii.patch rename to patches/nginx/1.0.14/nginx-1.0.14-log_escape_non_ascii.patch diff --git a/patches/nginx-1.0.14-max_subrequests.patch b/patches/nginx/1.0.14/nginx-1.0.14-max_subrequests.patch similarity index 100% rename from patches/nginx-1.0.14-max_subrequests.patch rename to patches/nginx/1.0.14/nginx-1.0.14-max_subrequests.patch diff --git a/patches/nginx-1.0.14-named_location_clear_mods_ctx.patch b/patches/nginx/1.0.14/nginx-1.0.14-named_location_clear_mods_ctx.patch similarity index 100% rename from patches/nginx-1.0.14-named_location_clear_mods_ctx.patch rename to patches/nginx/1.0.14/nginx-1.0.14-named_location_clear_mods_ctx.patch diff --git a/patches/nginx-1.0.14-no_Werror.patch b/patches/nginx/1.0.14/nginx-1.0.14-no_Werror.patch similarity index 100% rename from patches/nginx-1.0.14-no_Werror.patch rename to patches/nginx/1.0.14/nginx-1.0.14-no_Werror.patch diff --git a/patches/nginx-1.0.14-no_error_pages.patch b/patches/nginx/1.0.14/nginx-1.0.14-no_error_pages.patch similarity index 100% rename from patches/nginx-1.0.14-no_error_pages.patch rename to patches/nginx/1.0.14/nginx-1.0.14-no_error_pages.patch diff --git a/patches/nginx-1.0.14-no_pool.patch b/patches/nginx/1.0.14/nginx-1.0.14-no_pool.patch similarity index 100% rename from patches/nginx-1.0.14-no_pool.patch rename to patches/nginx/1.0.14/nginx-1.0.14-no_pool.patch diff --git a/patches/nginx-1.0.14-null_character_fixes.patch b/patches/nginx/1.0.14/nginx-1.0.14-null_character_fixes.patch similarity index 100% rename from patches/nginx-1.0.14-null_character_fixes.patch rename to patches/nginx/1.0.14/nginx-1.0.14-null_character_fixes.patch diff --git a/patches/nginx-1.0.14-request_body_in_single_buf.patch b/patches/nginx/1.0.14/nginx-1.0.14-request_body_in_single_buf.patch similarity index 100% rename from patches/nginx-1.0.14-request_body_in_single_buf.patch rename to patches/nginx/1.0.14/nginx-1.0.14-request_body_in_single_buf.patch diff --git a/patches/nginx-1.0.14-request_body_preread_fix.patch b/patches/nginx/1.0.14/nginx-1.0.14-request_body_preread_fix.patch similarity index 100% rename from patches/nginx-1.0.14-request_body_preread_fix.patch rename to patches/nginx/1.0.14/nginx-1.0.14-request_body_preread_fix.patch diff --git a/patches/nginx-1.0.14-server_header.patch b/patches/nginx/1.0.14/nginx-1.0.14-server_header.patch similarity index 100% rename from patches/nginx-1.0.14-server_header.patch rename to patches/nginx/1.0.14/nginx-1.0.14-server_header.patch diff --git a/patches/nginx-1.0.14-subrequest_loop.patch b/patches/nginx/1.0.14/nginx-1.0.14-subrequest_loop.patch similarity index 100% rename from patches/nginx-1.0.14-subrequest_loop.patch rename to patches/nginx/1.0.14/nginx-1.0.14-subrequest_loop.patch diff --git a/patches/nginx-1.0.14-upstream_pipelining.patch b/patches/nginx/1.0.14/nginx-1.0.14-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.0.14-upstream_pipelining.patch rename to patches/nginx/1.0.14/nginx-1.0.14-upstream_pipelining.patch diff --git a/patches/nginx-1.0.14-variable_header_ignore_no_hash.patch b/patches/nginx/1.0.14/nginx-1.0.14-variable_header_ignore_no_hash.patch similarity index 100% rename from patches/nginx-1.0.14-variable_header_ignore_no_hash.patch rename to patches/nginx/1.0.14/nginx-1.0.14-variable_header_ignore_no_hash.patch diff --git a/patches/nginx-1.0.15-add_core_vars_polluting_globals.patch b/patches/nginx/1.0.15/nginx-1.0.15-add_core_vars_polluting_globals.patch similarity index 100% rename from patches/nginx-1.0.15-add_core_vars_polluting_globals.patch rename to patches/nginx/1.0.15/nginx-1.0.15-add_core_vars_polluting_globals.patch diff --git a/patches/nginx-1.0.15-allow_request_body_updating.patch b/patches/nginx/1.0.15/nginx-1.0.15-allow_request_body_updating.patch similarity index 100% rename from patches/nginx-1.0.15-allow_request_body_updating.patch rename to patches/nginx/1.0.15/nginx-1.0.15-allow_request_body_updating.patch diff --git a/patches/nginx-1.0.15-filter_finalize_hang.patch b/patches/nginx/1.0.15/nginx-1.0.15-filter_finalize_hang.patch similarity index 100% rename from patches/nginx-1.0.15-filter_finalize_hang.patch rename to patches/nginx/1.0.15/nginx-1.0.15-filter_finalize_hang.patch diff --git a/patches/nginx-1.0.15-gzip_empty_flush_buf.patch b/patches/nginx/1.0.15/nginx-1.0.15-gzip_empty_flush_buf.patch similarity index 100% rename from patches/nginx-1.0.15-gzip_empty_flush_buf.patch rename to patches/nginx/1.0.15/nginx-1.0.15-gzip_empty_flush_buf.patch diff --git a/patches/nginx-1.0.15-log_escape_non_ascii.patch b/patches/nginx/1.0.15/nginx-1.0.15-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.0.15-log_escape_non_ascii.patch rename to patches/nginx/1.0.15/nginx-1.0.15-log_escape_non_ascii.patch diff --git a/patches/nginx-1.0.15-max_subrequests.patch b/patches/nginx/1.0.15/nginx-1.0.15-max_subrequests.patch similarity index 100% rename from patches/nginx-1.0.15-max_subrequests.patch rename to patches/nginx/1.0.15/nginx-1.0.15-max_subrequests.patch diff --git a/patches/nginx-1.0.15-named_location_clear_mods_ctx.patch b/patches/nginx/1.0.15/nginx-1.0.15-named_location_clear_mods_ctx.patch similarity index 100% rename from patches/nginx-1.0.15-named_location_clear_mods_ctx.patch rename to patches/nginx/1.0.15/nginx-1.0.15-named_location_clear_mods_ctx.patch diff --git a/patches/nginx-1.0.15-no_Werror.patch b/patches/nginx/1.0.15/nginx-1.0.15-no_Werror.patch similarity index 100% rename from patches/nginx-1.0.15-no_Werror.patch rename to patches/nginx/1.0.15/nginx-1.0.15-no_Werror.patch diff --git a/patches/nginx-1.0.15-no_error_pages.patch b/patches/nginx/1.0.15/nginx-1.0.15-no_error_pages.patch similarity index 100% rename from patches/nginx-1.0.15-no_error_pages.patch rename to patches/nginx/1.0.15/nginx-1.0.15-no_error_pages.patch diff --git a/patches/nginx-1.0.15-no_pool.patch b/patches/nginx/1.0.15/nginx-1.0.15-no_pool.patch similarity index 100% rename from patches/nginx-1.0.15-no_pool.patch rename to patches/nginx/1.0.15/nginx-1.0.15-no_pool.patch diff --git a/patches/nginx-1.0.15-null_character_fixes.patch b/patches/nginx/1.0.15/nginx-1.0.15-null_character_fixes.patch similarity index 100% rename from patches/nginx-1.0.15-null_character_fixes.patch rename to patches/nginx/1.0.15/nginx-1.0.15-null_character_fixes.patch diff --git a/patches/nginx-1.0.15-poll_del_event_at_exit.patch b/patches/nginx/1.0.15/nginx-1.0.15-poll_del_event_at_exit.patch similarity index 100% rename from patches/nginx-1.0.15-poll_del_event_at_exit.patch rename to patches/nginx/1.0.15/nginx-1.0.15-poll_del_event_at_exit.patch diff --git a/patches/nginx-1.0.15-request_body_in_single_buf.patch b/patches/nginx/1.0.15/nginx-1.0.15-request_body_in_single_buf.patch similarity index 100% rename from patches/nginx-1.0.15-request_body_in_single_buf.patch rename to patches/nginx/1.0.15/nginx-1.0.15-request_body_in_single_buf.patch diff --git a/patches/nginx-1.0.15-request_body_preread_fix.patch b/patches/nginx/1.0.15/nginx-1.0.15-request_body_preread_fix.patch similarity index 100% rename from patches/nginx-1.0.15-request_body_preread_fix.patch rename to patches/nginx/1.0.15/nginx-1.0.15-request_body_preread_fix.patch diff --git a/patches/nginx-1.0.15-reset_wev_handler_in_named_locations.patch b/patches/nginx/1.0.15/nginx-1.0.15-reset_wev_handler_in_named_locations.patch similarity index 100% rename from patches/nginx-1.0.15-reset_wev_handler_in_named_locations.patch rename to patches/nginx/1.0.15/nginx-1.0.15-reset_wev_handler_in_named_locations.patch diff --git a/patches/nginx-1.0.15-resolver_debug_log_overflow.patch b/patches/nginx/1.0.15/nginx-1.0.15-resolver_debug_log_overflow.patch similarity index 100% rename from patches/nginx-1.0.15-resolver_debug_log_overflow.patch rename to patches/nginx/1.0.15/nginx-1.0.15-resolver_debug_log_overflow.patch diff --git a/patches/nginx-1.0.15-server_header.patch b/patches/nginx/1.0.15/nginx-1.0.15-server_header.patch similarity index 100% rename from patches/nginx-1.0.15-server_header.patch rename to patches/nginx/1.0.15/nginx-1.0.15-server_header.patch diff --git a/patches/nginx-1.0.15-subrequest_loop.patch b/patches/nginx/1.0.15/nginx-1.0.15-subrequest_loop.patch similarity index 100% rename from patches/nginx-1.0.15-subrequest_loop.patch rename to patches/nginx/1.0.15/nginx-1.0.15-subrequest_loop.patch diff --git a/patches/nginx-1.0.15-upstream_pipelining.patch b/patches/nginx/1.0.15/nginx-1.0.15-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.0.15-upstream_pipelining.patch rename to patches/nginx/1.0.15/nginx-1.0.15-upstream_pipelining.patch diff --git a/patches/nginx-1.0.15-variable_header_ignore_no_hash.patch b/patches/nginx/1.0.15/nginx-1.0.15-variable_header_ignore_no_hash.patch similarity index 100% rename from patches/nginx-1.0.15-variable_header_ignore_no_hash.patch rename to patches/nginx/1.0.15/nginx-1.0.15-variable_header_ignore_no_hash.patch diff --git a/patches/nginx-1.0.4-gcc46_fixes.patch b/patches/nginx/1.0.4/nginx-1.0.4-gcc46_fixes.patch similarity index 100% rename from patches/nginx-1.0.4-gcc46_fixes.patch rename to patches/nginx/1.0.4/nginx-1.0.4-gcc46_fixes.patch diff --git a/patches/nginx-1.0.4-no_Werror.patch b/patches/nginx/1.0.4/nginx-1.0.4-no_Werror.patch similarity index 100% rename from patches/nginx-1.0.4-no_Werror.patch rename to patches/nginx/1.0.4/nginx-1.0.4-no_Werror.patch diff --git a/patches/nginx-1.0.4-no_error_pages.patch b/patches/nginx/1.0.4/nginx-1.0.4-no_error_pages.patch similarity index 100% rename from patches/nginx-1.0.4-no_error_pages.patch rename to patches/nginx/1.0.4/nginx-1.0.4-no_error_pages.patch diff --git a/patches/nginx-1.0.4-no_pool.patch b/patches/nginx/1.0.4/nginx-1.0.4-no_pool.patch similarity index 100% rename from patches/nginx-1.0.4-no_pool.patch rename to patches/nginx/1.0.4/nginx-1.0.4-no_pool.patch diff --git a/patches/nginx-1.0.4-request_body_in_single_buf.patch b/patches/nginx/1.0.4/nginx-1.0.4-request_body_in_single_buf.patch similarity index 100% rename from patches/nginx-1.0.4-request_body_in_single_buf.patch rename to patches/nginx/1.0.4/nginx-1.0.4-request_body_in_single_buf.patch diff --git a/patches/nginx-1.0.4-request_body_preread_fix.patch b/patches/nginx/1.0.4/nginx-1.0.4-request_body_preread_fix.patch similarity index 100% rename from patches/nginx-1.0.4-request_body_preread_fix.patch rename to patches/nginx/1.0.4/nginx-1.0.4-request_body_preread_fix.patch diff --git a/patches/nginx-1.0.4-server_header.patch b/patches/nginx/1.0.4/nginx-1.0.4-server_header.patch similarity index 100% rename from patches/nginx-1.0.4-server_header.patch rename to patches/nginx/1.0.4/nginx-1.0.4-server_header.patch diff --git a/patches/nginx-1.0.4-subrequest_loop.patch b/patches/nginx/1.0.4/nginx-1.0.4-subrequest_loop.patch similarity index 100% rename from patches/nginx-1.0.4-subrequest_loop.patch rename to patches/nginx/1.0.4/nginx-1.0.4-subrequest_loop.patch diff --git a/patches/nginx-1.0.5-no_Werror.patch b/patches/nginx/1.0.5/nginx-1.0.5-no_Werror.patch similarity index 100% rename from patches/nginx-1.0.5-no_Werror.patch rename to patches/nginx/1.0.5/nginx-1.0.5-no_Werror.patch diff --git a/patches/nginx-1.0.5-no_error_pages.patch b/patches/nginx/1.0.5/nginx-1.0.5-no_error_pages.patch similarity index 100% rename from patches/nginx-1.0.5-no_error_pages.patch rename to patches/nginx/1.0.5/nginx-1.0.5-no_error_pages.patch diff --git a/patches/nginx-1.0.5-no_pool.patch b/patches/nginx/1.0.5/nginx-1.0.5-no_pool.patch similarity index 100% rename from patches/nginx-1.0.5-no_pool.patch rename to patches/nginx/1.0.5/nginx-1.0.5-no_pool.patch diff --git a/patches/nginx-1.0.5-request_body_in_single_buf.patch b/patches/nginx/1.0.5/nginx-1.0.5-request_body_in_single_buf.patch similarity index 100% rename from patches/nginx-1.0.5-request_body_in_single_buf.patch rename to patches/nginx/1.0.5/nginx-1.0.5-request_body_in_single_buf.patch diff --git a/patches/nginx-1.0.5-request_body_preread_fix.patch b/patches/nginx/1.0.5/nginx-1.0.5-request_body_preread_fix.patch similarity index 100% rename from patches/nginx-1.0.5-request_body_preread_fix.patch rename to patches/nginx/1.0.5/nginx-1.0.5-request_body_preread_fix.patch diff --git a/patches/nginx-1.0.5-server_header.patch b/patches/nginx/1.0.5/nginx-1.0.5-server_header.patch similarity index 100% rename from patches/nginx-1.0.5-server_header.patch rename to patches/nginx/1.0.5/nginx-1.0.5-server_header.patch diff --git a/patches/nginx-1.0.5-subrequest_loop.patch b/patches/nginx/1.0.5/nginx-1.0.5-subrequest_loop.patch similarity index 100% rename from patches/nginx-1.0.5-subrequest_loop.patch rename to patches/nginx/1.0.5/nginx-1.0.5-subrequest_loop.patch diff --git a/patches/nginx-1.0.6-gzip_empty_flush_buf.patch b/patches/nginx/1.0.6/nginx-1.0.6-gzip_empty_flush_buf.patch similarity index 100% rename from patches/nginx-1.0.6-gzip_empty_flush_buf.patch rename to patches/nginx/1.0.6/nginx-1.0.6-gzip_empty_flush_buf.patch diff --git a/patches/nginx-1.0.6-no_Werror.patch b/patches/nginx/1.0.6/nginx-1.0.6-no_Werror.patch similarity index 100% rename from patches/nginx-1.0.6-no_Werror.patch rename to patches/nginx/1.0.6/nginx-1.0.6-no_Werror.patch diff --git a/patches/nginx-1.0.6-no_error_pages.patch b/patches/nginx/1.0.6/nginx-1.0.6-no_error_pages.patch similarity index 100% rename from patches/nginx-1.0.6-no_error_pages.patch rename to patches/nginx/1.0.6/nginx-1.0.6-no_error_pages.patch diff --git a/patches/nginx-1.0.6-no_pool.patch b/patches/nginx/1.0.6/nginx-1.0.6-no_pool.patch similarity index 100% rename from patches/nginx-1.0.6-no_pool.patch rename to patches/nginx/1.0.6/nginx-1.0.6-no_pool.patch diff --git a/patches/nginx-1.0.6-request_body_in_single_buf.patch b/patches/nginx/1.0.6/nginx-1.0.6-request_body_in_single_buf.patch similarity index 100% rename from patches/nginx-1.0.6-request_body_in_single_buf.patch rename to patches/nginx/1.0.6/nginx-1.0.6-request_body_in_single_buf.patch diff --git a/patches/nginx-1.0.6-request_body_preread_fix.patch b/patches/nginx/1.0.6/nginx-1.0.6-request_body_preread_fix.patch similarity index 100% rename from patches/nginx-1.0.6-request_body_preread_fix.patch rename to patches/nginx/1.0.6/nginx-1.0.6-request_body_preread_fix.patch diff --git a/patches/nginx-1.0.6-server_header.patch b/patches/nginx/1.0.6/nginx-1.0.6-server_header.patch similarity index 100% rename from patches/nginx-1.0.6-server_header.patch rename to patches/nginx/1.0.6/nginx-1.0.6-server_header.patch diff --git a/patches/nginx-1.0.6-subrequest_loop.patch b/patches/nginx/1.0.6/nginx-1.0.6-subrequest_loop.patch similarity index 100% rename from patches/nginx-1.0.6-subrequest_loop.patch rename to patches/nginx/1.0.6/nginx-1.0.6-subrequest_loop.patch diff --git a/patches/nginx-1.0.6-variable_header_ignore_no_hash.patch b/patches/nginx/1.0.6/nginx-1.0.6-variable_header_ignore_no_hash.patch similarity index 100% rename from patches/nginx-1.0.6-variable_header_ignore_no_hash.patch rename to patches/nginx/1.0.6/nginx-1.0.6-variable_header_ignore_no_hash.patch diff --git a/patches/nginx-1.0.8-allow_request_body_updating.patch b/patches/nginx/1.0.8/nginx-1.0.8-allow_request_body_updating.patch similarity index 100% rename from patches/nginx-1.0.8-allow_request_body_updating.patch rename to patches/nginx/1.0.8/nginx-1.0.8-allow_request_body_updating.patch diff --git a/patches/nginx-1.0.8-gzip_empty_flush_buf.patch b/patches/nginx/1.0.8/nginx-1.0.8-gzip_empty_flush_buf.patch similarity index 100% rename from patches/nginx-1.0.8-gzip_empty_flush_buf.patch rename to patches/nginx/1.0.8/nginx-1.0.8-gzip_empty_flush_buf.patch diff --git a/patches/nginx-1.0.8-named_location_clear_mods_ctx.patch b/patches/nginx/1.0.8/nginx-1.0.8-named_location_clear_mods_ctx.patch similarity index 100% rename from patches/nginx-1.0.8-named_location_clear_mods_ctx.patch rename to patches/nginx/1.0.8/nginx-1.0.8-named_location_clear_mods_ctx.patch diff --git a/patches/nginx-1.0.8-no_Werror.patch b/patches/nginx/1.0.8/nginx-1.0.8-no_Werror.patch similarity index 100% rename from patches/nginx-1.0.8-no_Werror.patch rename to patches/nginx/1.0.8/nginx-1.0.8-no_Werror.patch diff --git a/patches/nginx-1.0.8-no_error_pages.patch b/patches/nginx/1.0.8/nginx-1.0.8-no_error_pages.patch similarity index 100% rename from patches/nginx-1.0.8-no_error_pages.patch rename to patches/nginx/1.0.8/nginx-1.0.8-no_error_pages.patch diff --git a/patches/nginx-1.0.8-no_pool.patch b/patches/nginx/1.0.8/nginx-1.0.8-no_pool.patch similarity index 100% rename from patches/nginx-1.0.8-no_pool.patch rename to patches/nginx/1.0.8/nginx-1.0.8-no_pool.patch diff --git a/patches/nginx-1.0.8-request_body_in_single_buf.patch b/patches/nginx/1.0.8/nginx-1.0.8-request_body_in_single_buf.patch similarity index 100% rename from patches/nginx-1.0.8-request_body_in_single_buf.patch rename to patches/nginx/1.0.8/nginx-1.0.8-request_body_in_single_buf.patch diff --git a/patches/nginx-1.0.8-request_body_preread_fix.patch b/patches/nginx/1.0.8/nginx-1.0.8-request_body_preread_fix.patch similarity index 100% rename from patches/nginx-1.0.8-request_body_preread_fix.patch rename to patches/nginx/1.0.8/nginx-1.0.8-request_body_preread_fix.patch diff --git a/patches/nginx-1.0.8-server_header.patch b/patches/nginx/1.0.8/nginx-1.0.8-server_header.patch similarity index 100% rename from patches/nginx-1.0.8-server_header.patch rename to patches/nginx/1.0.8/nginx-1.0.8-server_header.patch diff --git a/patches/nginx-1.0.8-subrequest_loop.patch b/patches/nginx/1.0.8/nginx-1.0.8-subrequest_loop.patch similarity index 100% rename from patches/nginx-1.0.8-subrequest_loop.patch rename to patches/nginx/1.0.8/nginx-1.0.8-subrequest_loop.patch diff --git a/patches/nginx-1.0.8-variable_header_ignore_no_hash.patch b/patches/nginx/1.0.8/nginx-1.0.8-variable_header_ignore_no_hash.patch similarity index 100% rename from patches/nginx-1.0.8-variable_header_ignore_no_hash.patch rename to patches/nginx/1.0.8/nginx-1.0.8-variable_header_ignore_no_hash.patch diff --git a/patches/nginx-1.0.9-allow_request_body_updating.patch b/patches/nginx/1.0.9/nginx-1.0.9-allow_request_body_updating.patch similarity index 100% rename from patches/nginx-1.0.9-allow_request_body_updating.patch rename to patches/nginx/1.0.9/nginx-1.0.9-allow_request_body_updating.patch diff --git a/patches/nginx-1.0.9-epoll_check_stale_wev.patch b/patches/nginx/1.0.9/nginx-1.0.9-epoll_check_stale_wev.patch similarity index 100% rename from patches/nginx-1.0.9-epoll_check_stale_wev.patch rename to patches/nginx/1.0.9/nginx-1.0.9-epoll_check_stale_wev.patch diff --git a/patches/nginx-1.0.9-gzip_empty_flush_buf.patch b/patches/nginx/1.0.9/nginx-1.0.9-gzip_empty_flush_buf.patch similarity index 100% rename from patches/nginx-1.0.9-gzip_empty_flush_buf.patch rename to patches/nginx/1.0.9/nginx-1.0.9-gzip_empty_flush_buf.patch diff --git a/patches/nginx-1.0.9-log_escape_non_ascii.patch b/patches/nginx/1.0.9/nginx-1.0.9-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.0.9-log_escape_non_ascii.patch rename to patches/nginx/1.0.9/nginx-1.0.9-log_escape_non_ascii.patch diff --git a/patches/nginx-1.0.9-named_location_clear_mods_ctx.patch b/patches/nginx/1.0.9/nginx-1.0.9-named_location_clear_mods_ctx.patch similarity index 100% rename from patches/nginx-1.0.9-named_location_clear_mods_ctx.patch rename to patches/nginx/1.0.9/nginx-1.0.9-named_location_clear_mods_ctx.patch diff --git a/patches/nginx-1.0.9-no_Werror.patch b/patches/nginx/1.0.9/nginx-1.0.9-no_Werror.patch similarity index 100% rename from patches/nginx-1.0.9-no_Werror.patch rename to patches/nginx/1.0.9/nginx-1.0.9-no_Werror.patch diff --git a/patches/nginx-1.0.9-no_error_pages.patch b/patches/nginx/1.0.9/nginx-1.0.9-no_error_pages.patch similarity index 100% rename from patches/nginx-1.0.9-no_error_pages.patch rename to patches/nginx/1.0.9/nginx-1.0.9-no_error_pages.patch diff --git a/patches/nginx-1.0.9-no_pool.patch b/patches/nginx/1.0.9/nginx-1.0.9-no_pool.patch similarity index 100% rename from patches/nginx-1.0.9-no_pool.patch rename to patches/nginx/1.0.9/nginx-1.0.9-no_pool.patch diff --git a/patches/nginx-1.0.9-request_body_in_single_buf.patch b/patches/nginx/1.0.9/nginx-1.0.9-request_body_in_single_buf.patch similarity index 100% rename from patches/nginx-1.0.9-request_body_in_single_buf.patch rename to patches/nginx/1.0.9/nginx-1.0.9-request_body_in_single_buf.patch diff --git a/patches/nginx-1.0.9-request_body_preread_fix.patch b/patches/nginx/1.0.9/nginx-1.0.9-request_body_preread_fix.patch similarity index 100% rename from patches/nginx-1.0.9-request_body_preread_fix.patch rename to patches/nginx/1.0.9/nginx-1.0.9-request_body_preread_fix.patch diff --git a/patches/nginx-1.0.9-server_header.patch b/patches/nginx/1.0.9/nginx-1.0.9-server_header.patch similarity index 100% rename from patches/nginx-1.0.9-server_header.patch rename to patches/nginx/1.0.9/nginx-1.0.9-server_header.patch diff --git a/patches/nginx-1.0.9-subrequest_loop.patch b/patches/nginx/1.0.9/nginx-1.0.9-subrequest_loop.patch similarity index 100% rename from patches/nginx-1.0.9-subrequest_loop.patch rename to patches/nginx/1.0.9/nginx-1.0.9-subrequest_loop.patch diff --git a/patches/nginx-1.0.9-variable_header_ignore_no_hash.patch b/patches/nginx/1.0.9/nginx-1.0.9-variable_header_ignore_no_hash.patch similarity index 100% rename from patches/nginx-1.0.9-variable_header_ignore_no_hash.patch rename to patches/nginx/1.0.9/nginx-1.0.9-variable_header_ignore_no_hash.patch diff --git a/patches/nginx-1.1.15-allow_request_body_updating.patch b/patches/nginx/1.1.15/nginx-1.1.15-allow_request_body_updating.patch similarity index 100% rename from patches/nginx-1.1.15-allow_request_body_updating.patch rename to patches/nginx/1.1.15/nginx-1.1.15-allow_request_body_updating.patch diff --git a/patches/nginx-1.1.15-gzip_empty_flush_buf.patch b/patches/nginx/1.1.15/nginx-1.1.15-gzip_empty_flush_buf.patch similarity index 100% rename from patches/nginx-1.1.15-gzip_empty_flush_buf.patch rename to patches/nginx/1.1.15/nginx-1.1.15-gzip_empty_flush_buf.patch diff --git a/patches/nginx-1.1.15-log_escape_non_ascii.patch b/patches/nginx/1.1.15/nginx-1.1.15-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.1.15-log_escape_non_ascii.patch rename to patches/nginx/1.1.15/nginx-1.1.15-log_escape_non_ascii.patch diff --git a/patches/nginx-1.1.15-named_location_clear_mods_ctx.patch b/patches/nginx/1.1.15/nginx-1.1.15-named_location_clear_mods_ctx.patch similarity index 100% rename from patches/nginx-1.1.15-named_location_clear_mods_ctx.patch rename to patches/nginx/1.1.15/nginx-1.1.15-named_location_clear_mods_ctx.patch diff --git a/patches/nginx-1.1.15-no_Werror.patch b/patches/nginx/1.1.15/nginx-1.1.15-no_Werror.patch similarity index 100% rename from patches/nginx-1.1.15-no_Werror.patch rename to patches/nginx/1.1.15/nginx-1.1.15-no_Werror.patch diff --git a/patches/nginx-1.1.15-no_error_pages.patch b/patches/nginx/1.1.15/nginx-1.1.15-no_error_pages.patch similarity index 100% rename from patches/nginx-1.1.15-no_error_pages.patch rename to patches/nginx/1.1.15/nginx-1.1.15-no_error_pages.patch diff --git a/patches/nginx-1.1.15-no_pool.patch b/patches/nginx/1.1.15/nginx-1.1.15-no_pool.patch similarity index 100% rename from patches/nginx-1.1.15-no_pool.patch rename to patches/nginx/1.1.15/nginx-1.1.15-no_pool.patch diff --git a/patches/nginx-1.1.15-server_header.patch b/patches/nginx/1.1.15/nginx-1.1.15-server_header.patch similarity index 100% rename from patches/nginx-1.1.15-server_header.patch rename to patches/nginx/1.1.15/nginx-1.1.15-server_header.patch diff --git a/patches/nginx-1.1.15-subrequest_loop.patch b/patches/nginx/1.1.15/nginx-1.1.15-subrequest_loop.patch similarity index 100% rename from patches/nginx-1.1.15-subrequest_loop.patch rename to patches/nginx/1.1.15/nginx-1.1.15-subrequest_loop.patch diff --git a/patches/nginx-1.1.2-no_error_pages.patch b/patches/nginx/1.1.2/nginx-1.1.2-no_error_pages.patch similarity index 100% rename from patches/nginx-1.1.2-no_error_pages.patch rename to patches/nginx/1.1.2/nginx-1.1.2-no_error_pages.patch diff --git a/patches/nginx-1.1.4-variable_header_ignore_no_hash.patch b/patches/nginx/1.1.4/nginx-1.1.4-variable_header_ignore_no_hash.patch similarity index 100% rename from patches/nginx-1.1.4-variable_header_ignore_no_hash.patch rename to patches/nginx/1.1.4/nginx-1.1.4-variable_header_ignore_no_hash.patch diff --git a/patches/nginx-1.1.5-named_location_clear_mods_ctx.patch b/patches/nginx/1.1.5/nginx-1.1.5-named_location_clear_mods_ctx.patch similarity index 100% rename from patches/nginx-1.1.5-named_location_clear_mods_ctx.patch rename to patches/nginx/1.1.5/nginx-1.1.5-named_location_clear_mods_ctx.patch diff --git a/patches/nginx-1.11.2-always_enable_cc_feature_tests.patch b/patches/nginx/1.11.2/nginx-1.11.2-always_enable_cc_feature_tests.patch similarity index 100% rename from patches/nginx-1.11.2-always_enable_cc_feature_tests.patch rename to patches/nginx/1.11.2/nginx-1.11.2-always_enable_cc_feature_tests.patch diff --git a/patches/nginx-1.11.2-balancer_status_code.patch b/patches/nginx/1.11.2/nginx-1.11.2-balancer_status_code.patch similarity index 100% rename from patches/nginx-1.11.2-balancer_status_code.patch rename to patches/nginx/1.11.2/nginx-1.11.2-balancer_status_code.patch diff --git a/patches/nginx-1.11.2-builtin_error_page_footer.patch b/patches/nginx/1.11.2/nginx-1.11.2-builtin_error_page_footer.patch similarity index 100% rename from patches/nginx-1.11.2-builtin_error_page_footer.patch rename to patches/nginx/1.11.2/nginx-1.11.2-builtin_error_page_footer.patch diff --git a/patches/nginx-1.11.2-cache_manager_exit.patch b/patches/nginx/1.11.2/nginx-1.11.2-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.11.2-cache_manager_exit.patch rename to patches/nginx/1.11.2/nginx-1.11.2-cache_manager_exit.patch diff --git a/patches/nginx-1.11.2-delayed_posted_events.patch b/patches/nginx/1.11.2/nginx-1.11.2-delayed_posted_events.patch similarity index 100% rename from patches/nginx-1.11.2-delayed_posted_events.patch rename to patches/nginx/1.11.2/nginx-1.11.2-delayed_posted_events.patch diff --git a/patches/nginx-1.11.2-dtrace.patch b/patches/nginx/1.11.2/nginx-1.11.2-dtrace.patch similarity index 100% rename from patches/nginx-1.11.2-dtrace.patch rename to patches/nginx/1.11.2/nginx-1.11.2-dtrace.patch diff --git a/patches/nginx-1.11.2-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.11.2/nginx-1.11.2-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.11.2-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.11.2/nginx-1.11.2-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.11.2-hash_overflow.patch b/patches/nginx/1.11.2/nginx-1.11.2-hash_overflow.patch similarity index 100% rename from patches/nginx-1.11.2-hash_overflow.patch rename to patches/nginx/1.11.2/nginx-1.11.2-hash_overflow.patch diff --git a/patches/nginx-1.11.2-intercept_error_log.patch b/patches/nginx/1.11.2/nginx-1.11.2-intercept_error_log.patch similarity index 100% rename from patches/nginx-1.11.2-intercept_error_log.patch rename to patches/nginx/1.11.2/nginx-1.11.2-intercept_error_log.patch diff --git a/patches/nginx-1.11.2-larger_max_error_str.patch b/patches/nginx/1.11.2/nginx-1.11.2-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.11.2-larger_max_error_str.patch rename to patches/nginx/1.11.2/nginx-1.11.2-larger_max_error_str.patch diff --git a/patches/nginx-1.11.2-log_escape_non_ascii.patch b/patches/nginx/1.11.2/nginx-1.11.2-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.11.2-log_escape_non_ascii.patch rename to patches/nginx/1.11.2/nginx-1.11.2-log_escape_non_ascii.patch diff --git a/patches/nginx-1.11.2-no_Werror.patch b/patches/nginx/1.11.2/nginx-1.11.2-no_Werror.patch similarity index 100% rename from patches/nginx-1.11.2-no_Werror.patch rename to patches/nginx/1.11.2/nginx-1.11.2-no_Werror.patch diff --git a/patches/nginx-1.11.2-no_error_pages.patch b/patches/nginx/1.11.2/nginx-1.11.2-no_error_pages.patch similarity index 100% rename from patches/nginx-1.11.2-no_error_pages.patch rename to patches/nginx/1.11.2/nginx-1.11.2-no_error_pages.patch diff --git a/patches/nginx-1.11.2-no_pool.patch b/patches/nginx/1.11.2/nginx-1.11.2-no_pool.patch similarity index 100% rename from patches/nginx-1.11.2-no_pool.patch rename to patches/nginx/1.11.2/nginx-1.11.2-no_pool.patch diff --git a/patches/nginx-1.11.2-pcre_conf_opt.patch b/patches/nginx/1.11.2/nginx-1.11.2-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.11.2-pcre_conf_opt.patch rename to patches/nginx/1.11.2/nginx-1.11.2-pcre_conf_opt.patch diff --git a/patches/nginx-1.11.2-privileged_agent_process.patch b/patches/nginx/1.11.2/nginx-1.11.2-privileged_agent_process.patch similarity index 100% rename from patches/nginx-1.11.2-privileged_agent_process.patch rename to patches/nginx/1.11.2/nginx-1.11.2-privileged_agent_process.patch diff --git a/patches/nginx-1.11.2-proxy_host_port_vars.patch b/patches/nginx/1.11.2/nginx-1.11.2-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.11.2-proxy_host_port_vars.patch rename to patches/nginx/1.11.2/nginx-1.11.2-proxy_host_port_vars.patch diff --git a/patches/nginx-1.11.2-safe_resolver_ipv6_option.patch b/patches/nginx/1.11.2/nginx-1.11.2-safe_resolver_ipv6_option.patch similarity index 100% rename from patches/nginx-1.11.2-safe_resolver_ipv6_option.patch rename to patches/nginx/1.11.2/nginx-1.11.2-safe_resolver_ipv6_option.patch diff --git a/patches/nginx-1.11.2-server_header.patch b/patches/nginx/1.11.2/nginx-1.11.2-server_header.patch similarity index 100% rename from patches/nginx-1.11.2-server_header.patch rename to patches/nginx/1.11.2/nginx-1.11.2-server_header.patch diff --git a/patches/nginx-1.11.2-setting_args_invalidates_uri.patch b/patches/nginx/1.11.2/nginx-1.11.2-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.11.2-setting_args_invalidates_uri.patch rename to patches/nginx/1.11.2/nginx-1.11.2-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.11.2-single_process_graceful_exit.patch b/patches/nginx/1.11.2/nginx-1.11.2-single_process_graceful_exit.patch similarity index 100% rename from patches/nginx-1.11.2-single_process_graceful_exit.patch rename to patches/nginx/1.11.2/nginx-1.11.2-single_process_graceful_exit.patch diff --git a/patches/nginx-1.11.2-slab_defrag.patch b/patches/nginx/1.11.2/nginx-1.11.2-slab_defrag.patch similarity index 100% rename from patches/nginx-1.11.2-slab_defrag.patch rename to patches/nginx/1.11.2/nginx-1.11.2-slab_defrag.patch diff --git a/patches/nginx-1.11.2-ssl_cert_cb_yield.patch b/patches/nginx/1.11.2/nginx-1.11.2-ssl_cert_cb_yield.patch similarity index 100% rename from patches/nginx-1.11.2-ssl_cert_cb_yield.patch rename to patches/nginx/1.11.2/nginx-1.11.2-ssl_cert_cb_yield.patch diff --git a/patches/nginx-1.11.2-ssl_pending_session.patch b/patches/nginx/1.11.2/nginx-1.11.2-ssl_pending_session.patch similarity index 100% rename from patches/nginx-1.11.2-ssl_pending_session.patch rename to patches/nginx/1.11.2/nginx-1.11.2-ssl_pending_session.patch diff --git a/patches/nginx-1.11.2-upstream_pipelining.patch b/patches/nginx/1.11.2/nginx-1.11.2-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.11.2-upstream_pipelining.patch rename to patches/nginx/1.11.2/nginx-1.11.2-upstream_pipelining.patch diff --git a/patches/nginx-1.11.2-upstream_timeout_fields.patch b/patches/nginx/1.11.2/nginx-1.11.2-upstream_timeout_fields.patch similarity index 100% rename from patches/nginx-1.11.2-upstream_timeout_fields.patch rename to patches/nginx/1.11.2/nginx-1.11.2-upstream_timeout_fields.patch diff --git a/patches/nginx-1.13.3-always_enable_cc_feature_tests.patch b/patches/nginx/1.13.3/nginx-1.13.3-always_enable_cc_feature_tests.patch similarity index 100% rename from patches/nginx-1.13.3-always_enable_cc_feature_tests.patch rename to patches/nginx/1.13.3/nginx-1.13.3-always_enable_cc_feature_tests.patch diff --git a/patches/nginx-1.13.3-balancer_status_code.patch b/patches/nginx/1.13.3/nginx-1.13.3-balancer_status_code.patch similarity index 100% rename from patches/nginx-1.13.3-balancer_status_code.patch rename to patches/nginx/1.13.3/nginx-1.13.3-balancer_status_code.patch diff --git a/patches/nginx-1.13.3-builtin_error_page_footer.patch b/patches/nginx/1.13.3/nginx-1.13.3-builtin_error_page_footer.patch similarity index 100% rename from patches/nginx-1.13.3-builtin_error_page_footer.patch rename to patches/nginx/1.13.3/nginx-1.13.3-builtin_error_page_footer.patch diff --git a/patches/nginx-1.13.3-cache_manager_exit.patch b/patches/nginx/1.13.3/nginx-1.13.3-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.13.3-cache_manager_exit.patch rename to patches/nginx/1.13.3/nginx-1.13.3-cache_manager_exit.patch diff --git a/patches/nginx-1.13.3-delayed_posted_events.patch b/patches/nginx/1.13.3/nginx-1.13.3-delayed_posted_events.patch similarity index 100% rename from patches/nginx-1.13.3-delayed_posted_events.patch rename to patches/nginx/1.13.3/nginx-1.13.3-delayed_posted_events.patch diff --git a/patches/nginx-1.13.3-dtrace.patch b/patches/nginx/1.13.3/nginx-1.13.3-dtrace.patch similarity index 100% rename from patches/nginx-1.13.3-dtrace.patch rename to patches/nginx/1.13.3/nginx-1.13.3-dtrace.patch diff --git a/patches/nginx-1.13.3-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.13.3/nginx-1.13.3-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.13.3-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.13.3/nginx-1.13.3-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.13.3-hash_overflow.patch b/patches/nginx/1.13.3/nginx-1.13.3-hash_overflow.patch similarity index 100% rename from patches/nginx-1.13.3-hash_overflow.patch rename to patches/nginx/1.13.3/nginx-1.13.3-hash_overflow.patch diff --git a/patches/nginx-1.13.3-intercept_error_log.patch b/patches/nginx/1.13.3/nginx-1.13.3-intercept_error_log.patch similarity index 100% rename from patches/nginx-1.13.3-intercept_error_log.patch rename to patches/nginx/1.13.3/nginx-1.13.3-intercept_error_log.patch diff --git a/patches/nginx-1.13.3-larger_max_error_str.patch b/patches/nginx/1.13.3/nginx-1.13.3-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.13.3-larger_max_error_str.patch rename to patches/nginx/1.13.3/nginx-1.13.3-larger_max_error_str.patch diff --git a/patches/nginx-1.13.3-log_escape_non_ascii.patch b/patches/nginx/1.13.3/nginx-1.13.3-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.13.3-log_escape_non_ascii.patch rename to patches/nginx/1.13.3/nginx-1.13.3-log_escape_non_ascii.patch diff --git a/patches/nginx-1.13.3-no_Werror.patch b/patches/nginx/1.13.3/nginx-1.13.3-no_Werror.patch similarity index 100% rename from patches/nginx-1.13.3-no_Werror.patch rename to patches/nginx/1.13.3/nginx-1.13.3-no_Werror.patch diff --git a/patches/nginx-1.13.3-no_error_pages.patch b/patches/nginx/1.13.3/nginx-1.13.3-no_error_pages.patch similarity index 100% rename from patches/nginx-1.13.3-no_error_pages.patch rename to patches/nginx/1.13.3/nginx-1.13.3-no_error_pages.patch diff --git a/patches/nginx-1.13.3-no_pool.patch b/patches/nginx/1.13.3/nginx-1.13.3-no_pool.patch similarity index 100% rename from patches/nginx-1.13.3-no_pool.patch rename to patches/nginx/1.13.3/nginx-1.13.3-no_pool.patch diff --git a/patches/nginx-1.13.3-pcre_conf_opt.patch b/patches/nginx/1.13.3/nginx-1.13.3-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.13.3-pcre_conf_opt.patch rename to patches/nginx/1.13.3/nginx-1.13.3-pcre_conf_opt.patch diff --git a/patches/nginx-1.13.3-privileged_agent_process.patch b/patches/nginx/1.13.3/nginx-1.13.3-privileged_agent_process.patch similarity index 100% rename from patches/nginx-1.13.3-privileged_agent_process.patch rename to patches/nginx/1.13.3/nginx-1.13.3-privileged_agent_process.patch diff --git a/patches/nginx-1.13.3-proxy_host_port_vars.patch b/patches/nginx/1.13.3/nginx-1.13.3-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.13.3-proxy_host_port_vars.patch rename to patches/nginx/1.13.3/nginx-1.13.3-proxy_host_port_vars.patch diff --git a/patches/nginx-1.13.3-safe_resolver_ipv6_option.patch b/patches/nginx/1.13.3/nginx-1.13.3-safe_resolver_ipv6_option.patch similarity index 100% rename from patches/nginx-1.13.3-safe_resolver_ipv6_option.patch rename to patches/nginx/1.13.3/nginx-1.13.3-safe_resolver_ipv6_option.patch diff --git a/patches/nginx-1.13.3-server_header.patch b/patches/nginx/1.13.3/nginx-1.13.3-server_header.patch similarity index 100% rename from patches/nginx-1.13.3-server_header.patch rename to patches/nginx/1.13.3/nginx-1.13.3-server_header.patch diff --git a/patches/nginx-1.13.3-setting_args_invalidates_uri.patch b/patches/nginx/1.13.3/nginx-1.13.3-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.13.3-setting_args_invalidates_uri.patch rename to patches/nginx/1.13.3/nginx-1.13.3-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.13.3-single_process_graceful_exit.patch b/patches/nginx/1.13.3/nginx-1.13.3-single_process_graceful_exit.patch similarity index 100% rename from patches/nginx-1.13.3-single_process_graceful_exit.patch rename to patches/nginx/1.13.3/nginx-1.13.3-single_process_graceful_exit.patch diff --git a/patches/nginx-1.13.3-slab_defrag.patch b/patches/nginx/1.13.3/nginx-1.13.3-slab_defrag.patch similarity index 100% rename from patches/nginx-1.13.3-slab_defrag.patch rename to patches/nginx/1.13.3/nginx-1.13.3-slab_defrag.patch diff --git a/patches/nginx-1.13.3-ssl_cert_cb_yield.patch b/patches/nginx/1.13.3/nginx-1.13.3-ssl_cert_cb_yield.patch similarity index 100% rename from patches/nginx-1.13.3-ssl_cert_cb_yield.patch rename to patches/nginx/1.13.3/nginx-1.13.3-ssl_cert_cb_yield.patch diff --git a/patches/nginx-1.13.3-ssl_pending_session.patch b/patches/nginx/1.13.3/nginx-1.13.3-ssl_pending_session.patch similarity index 100% rename from patches/nginx-1.13.3-ssl_pending_session.patch rename to patches/nginx/1.13.3/nginx-1.13.3-ssl_pending_session.patch diff --git a/patches/nginx-1.13.3-stream_balancer_export.patch b/patches/nginx/1.13.3/nginx-1.13.3-stream_balancer_export.patch similarity index 100% rename from patches/nginx-1.13.3-stream_balancer_export.patch rename to patches/nginx/1.13.3/nginx-1.13.3-stream_balancer_export.patch diff --git a/patches/nginx-1.13.3-stream_proxy_get_next_upstream_tries.patch b/patches/nginx/1.13.3/nginx-1.13.3-stream_proxy_get_next_upstream_tries.patch similarity index 100% rename from patches/nginx-1.13.3-stream_proxy_get_next_upstream_tries.patch rename to patches/nginx/1.13.3/nginx-1.13.3-stream_proxy_get_next_upstream_tries.patch diff --git a/patches/nginx-1.13.3-stream_proxy_timeout_fields.patch b/patches/nginx/1.13.3/nginx-1.13.3-stream_proxy_timeout_fields.patch similarity index 100% rename from patches/nginx-1.13.3-stream_proxy_timeout_fields.patch rename to patches/nginx/1.13.3/nginx-1.13.3-stream_proxy_timeout_fields.patch diff --git a/patches/nginx-1.13.3-upstream_pipelining.patch b/patches/nginx/1.13.3/nginx-1.13.3-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.13.3-upstream_pipelining.patch rename to patches/nginx/1.13.3/nginx-1.13.3-upstream_pipelining.patch diff --git a/patches/nginx-1.13.3-upstream_timeout_fields.patch b/patches/nginx/1.13.3/nginx-1.13.3-upstream_timeout_fields.patch similarity index 100% rename from patches/nginx-1.13.3-upstream_timeout_fields.patch rename to patches/nginx/1.13.3/nginx-1.13.3-upstream_timeout_fields.patch diff --git a/patches/nginx-1.13.4-always_enable_cc_feature_tests.patch b/patches/nginx/1.13.4/nginx-1.13.4-always_enable_cc_feature_tests.patch similarity index 100% rename from patches/nginx-1.13.4-always_enable_cc_feature_tests.patch rename to patches/nginx/1.13.4/nginx-1.13.4-always_enable_cc_feature_tests.patch diff --git a/patches/nginx-1.13.4-balancer_status_code.patch b/patches/nginx/1.13.4/nginx-1.13.4-balancer_status_code.patch similarity index 100% rename from patches/nginx-1.13.4-balancer_status_code.patch rename to patches/nginx/1.13.4/nginx-1.13.4-balancer_status_code.patch diff --git a/patches/nginx-1.13.4-builtin_error_page_footer.patch b/patches/nginx/1.13.4/nginx-1.13.4-builtin_error_page_footer.patch similarity index 100% rename from patches/nginx-1.13.4-builtin_error_page_footer.patch rename to patches/nginx/1.13.4/nginx-1.13.4-builtin_error_page_footer.patch diff --git a/patches/nginx-1.13.4-cache_manager_exit.patch b/patches/nginx/1.13.4/nginx-1.13.4-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.13.4-cache_manager_exit.patch rename to patches/nginx/1.13.4/nginx-1.13.4-cache_manager_exit.patch diff --git a/patches/nginx-1.13.4-delayed_posted_events.patch b/patches/nginx/1.13.4/nginx-1.13.4-delayed_posted_events.patch similarity index 100% rename from patches/nginx-1.13.4-delayed_posted_events.patch rename to patches/nginx/1.13.4/nginx-1.13.4-delayed_posted_events.patch diff --git a/patches/nginx-1.13.4-dtrace.patch b/patches/nginx/1.13.4/nginx-1.13.4-dtrace.patch similarity index 100% rename from patches/nginx-1.13.4-dtrace.patch rename to patches/nginx/1.13.4/nginx-1.13.4-dtrace.patch diff --git a/patches/nginx-1.13.4-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.13.4/nginx-1.13.4-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.13.4-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.13.4/nginx-1.13.4-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.13.4-hash_overflow.patch b/patches/nginx/1.13.4/nginx-1.13.4-hash_overflow.patch similarity index 100% rename from patches/nginx-1.13.4-hash_overflow.patch rename to patches/nginx/1.13.4/nginx-1.13.4-hash_overflow.patch diff --git a/patches/nginx-1.13.4-intercept_error_log.patch b/patches/nginx/1.13.4/nginx-1.13.4-intercept_error_log.patch similarity index 100% rename from patches/nginx-1.13.4-intercept_error_log.patch rename to patches/nginx/1.13.4/nginx-1.13.4-intercept_error_log.patch diff --git a/patches/nginx-1.13.4-larger_max_error_str.patch b/patches/nginx/1.13.4/nginx-1.13.4-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.13.4-larger_max_error_str.patch rename to patches/nginx/1.13.4/nginx-1.13.4-larger_max_error_str.patch diff --git a/patches/nginx-1.13.4-log_escape_non_ascii.patch b/patches/nginx/1.13.4/nginx-1.13.4-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.13.4-log_escape_non_ascii.patch rename to patches/nginx/1.13.4/nginx-1.13.4-log_escape_non_ascii.patch diff --git a/patches/nginx-1.13.4-no_Werror.patch b/patches/nginx/1.13.4/nginx-1.13.4-no_Werror.patch similarity index 100% rename from patches/nginx-1.13.4-no_Werror.patch rename to patches/nginx/1.13.4/nginx-1.13.4-no_Werror.patch diff --git a/patches/nginx-1.13.4-no_error_pages.patch b/patches/nginx/1.13.4/nginx-1.13.4-no_error_pages.patch similarity index 100% rename from patches/nginx-1.13.4-no_error_pages.patch rename to patches/nginx/1.13.4/nginx-1.13.4-no_error_pages.patch diff --git a/patches/nginx-1.13.4-no_pool.patch b/patches/nginx/1.13.4/nginx-1.13.4-no_pool.patch similarity index 100% rename from patches/nginx-1.13.4-no_pool.patch rename to patches/nginx/1.13.4/nginx-1.13.4-no_pool.patch diff --git a/patches/nginx-1.13.4-pcre_conf_opt.patch b/patches/nginx/1.13.4/nginx-1.13.4-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.13.4-pcre_conf_opt.patch rename to patches/nginx/1.13.4/nginx-1.13.4-pcre_conf_opt.patch diff --git a/patches/nginx-1.13.4-privileged_agent_process.patch b/patches/nginx/1.13.4/nginx-1.13.4-privileged_agent_process.patch similarity index 100% rename from patches/nginx-1.13.4-privileged_agent_process.patch rename to patches/nginx/1.13.4/nginx-1.13.4-privileged_agent_process.patch diff --git a/patches/nginx-1.13.4-proxy_host_port_vars.patch b/patches/nginx/1.13.4/nginx-1.13.4-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.13.4-proxy_host_port_vars.patch rename to patches/nginx/1.13.4/nginx-1.13.4-proxy_host_port_vars.patch diff --git a/patches/nginx-1.13.4-safe_resolver_ipv6_option.patch b/patches/nginx/1.13.4/nginx-1.13.4-safe_resolver_ipv6_option.patch similarity index 100% rename from patches/nginx-1.13.4-safe_resolver_ipv6_option.patch rename to patches/nginx/1.13.4/nginx-1.13.4-safe_resolver_ipv6_option.patch diff --git a/patches/nginx-1.13.4-server_header.patch b/patches/nginx/1.13.4/nginx-1.13.4-server_header.patch similarity index 100% rename from patches/nginx-1.13.4-server_header.patch rename to patches/nginx/1.13.4/nginx-1.13.4-server_header.patch diff --git a/patches/nginx-1.13.4-setting_args_invalidates_uri.patch b/patches/nginx/1.13.4/nginx-1.13.4-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.13.4-setting_args_invalidates_uri.patch rename to patches/nginx/1.13.4/nginx-1.13.4-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.13.4-single_process_graceful_exit.patch b/patches/nginx/1.13.4/nginx-1.13.4-single_process_graceful_exit.patch similarity index 100% rename from patches/nginx-1.13.4-single_process_graceful_exit.patch rename to patches/nginx/1.13.4/nginx-1.13.4-single_process_graceful_exit.patch diff --git a/patches/nginx-1.13.4-slab_defrag.patch b/patches/nginx/1.13.4/nginx-1.13.4-slab_defrag.patch similarity index 100% rename from patches/nginx-1.13.4-slab_defrag.patch rename to patches/nginx/1.13.4/nginx-1.13.4-slab_defrag.patch diff --git a/patches/nginx-1.13.4-ssl_cert_cb_yield.patch b/patches/nginx/1.13.4/nginx-1.13.4-ssl_cert_cb_yield.patch similarity index 100% rename from patches/nginx-1.13.4-ssl_cert_cb_yield.patch rename to patches/nginx/1.13.4/nginx-1.13.4-ssl_cert_cb_yield.patch diff --git a/patches/nginx-1.13.4-ssl_pending_session.patch b/patches/nginx/1.13.4/nginx-1.13.4-ssl_pending_session.patch similarity index 100% rename from patches/nginx-1.13.4-ssl_pending_session.patch rename to patches/nginx/1.13.4/nginx-1.13.4-ssl_pending_session.patch diff --git a/patches/nginx-1.13.4-stream_balancer_export.patch b/patches/nginx/1.13.4/nginx-1.13.4-stream_balancer_export.patch similarity index 100% rename from patches/nginx-1.13.4-stream_balancer_export.patch rename to patches/nginx/1.13.4/nginx-1.13.4-stream_balancer_export.patch diff --git a/patches/nginx-1.13.4-stream_proxy_get_next_upstream_tries.patch b/patches/nginx/1.13.4/nginx-1.13.4-stream_proxy_get_next_upstream_tries.patch similarity index 100% rename from patches/nginx-1.13.4-stream_proxy_get_next_upstream_tries.patch rename to patches/nginx/1.13.4/nginx-1.13.4-stream_proxy_get_next_upstream_tries.patch diff --git a/patches/nginx-1.13.4-stream_proxy_timeout_fields.patch b/patches/nginx/1.13.4/nginx-1.13.4-stream_proxy_timeout_fields.patch similarity index 100% rename from patches/nginx-1.13.4-stream_proxy_timeout_fields.patch rename to patches/nginx/1.13.4/nginx-1.13.4-stream_proxy_timeout_fields.patch diff --git a/patches/nginx-1.13.4-upstream_pipelining.patch b/patches/nginx/1.13.4/nginx-1.13.4-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.13.4-upstream_pipelining.patch rename to patches/nginx/1.13.4/nginx-1.13.4-upstream_pipelining.patch diff --git a/patches/nginx-1.13.4-upstream_timeout_fields.patch b/patches/nginx/1.13.4/nginx-1.13.4-upstream_timeout_fields.patch similarity index 100% rename from patches/nginx-1.13.4-upstream_timeout_fields.patch rename to patches/nginx/1.13.4/nginx-1.13.4-upstream_timeout_fields.patch diff --git a/patches/nginx-1.13.5-always_enable_cc_feature_tests.patch b/patches/nginx/1.13.5/nginx-1.13.5-always_enable_cc_feature_tests.patch similarity index 100% rename from patches/nginx-1.13.5-always_enable_cc_feature_tests.patch rename to patches/nginx/1.13.5/nginx-1.13.5-always_enable_cc_feature_tests.patch diff --git a/patches/nginx-1.13.5-balancer_status_code.patch b/patches/nginx/1.13.5/nginx-1.13.5-balancer_status_code.patch similarity index 100% rename from patches/nginx-1.13.5-balancer_status_code.patch rename to patches/nginx/1.13.5/nginx-1.13.5-balancer_status_code.patch diff --git a/patches/nginx-1.13.5-builtin_error_page_footer.patch b/patches/nginx/1.13.5/nginx-1.13.5-builtin_error_page_footer.patch similarity index 100% rename from patches/nginx-1.13.5-builtin_error_page_footer.patch rename to patches/nginx/1.13.5/nginx-1.13.5-builtin_error_page_footer.patch diff --git a/patches/nginx-1.13.5-cache_manager_exit.patch b/patches/nginx/1.13.5/nginx-1.13.5-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.13.5-cache_manager_exit.patch rename to patches/nginx/1.13.5/nginx-1.13.5-cache_manager_exit.patch diff --git a/patches/nginx-1.13.5-delayed_posted_events.patch b/patches/nginx/1.13.5/nginx-1.13.5-delayed_posted_events.patch similarity index 100% rename from patches/nginx-1.13.5-delayed_posted_events.patch rename to patches/nginx/1.13.5/nginx-1.13.5-delayed_posted_events.patch diff --git a/patches/nginx-1.13.5-dtrace.patch b/patches/nginx/1.13.5/nginx-1.13.5-dtrace.patch similarity index 100% rename from patches/nginx-1.13.5-dtrace.patch rename to patches/nginx/1.13.5/nginx-1.13.5-dtrace.patch diff --git a/patches/nginx-1.13.5-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.13.5/nginx-1.13.5-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.13.5-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.13.5/nginx-1.13.5-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.13.5-hash_overflow.patch b/patches/nginx/1.13.5/nginx-1.13.5-hash_overflow.patch similarity index 100% rename from patches/nginx-1.13.5-hash_overflow.patch rename to patches/nginx/1.13.5/nginx-1.13.5-hash_overflow.patch diff --git a/patches/nginx-1.13.5-intercept_error_log.patch b/patches/nginx/1.13.5/nginx-1.13.5-intercept_error_log.patch similarity index 100% rename from patches/nginx-1.13.5-intercept_error_log.patch rename to patches/nginx/1.13.5/nginx-1.13.5-intercept_error_log.patch diff --git a/patches/nginx-1.13.5-larger_max_error_str.patch b/patches/nginx/1.13.5/nginx-1.13.5-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.13.5-larger_max_error_str.patch rename to patches/nginx/1.13.5/nginx-1.13.5-larger_max_error_str.patch diff --git a/patches/nginx-1.13.5-log_escape_non_ascii.patch b/patches/nginx/1.13.5/nginx-1.13.5-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.13.5-log_escape_non_ascii.patch rename to patches/nginx/1.13.5/nginx-1.13.5-log_escape_non_ascii.patch diff --git a/patches/nginx-1.13.5-no_Werror.patch b/patches/nginx/1.13.5/nginx-1.13.5-no_Werror.patch similarity index 100% rename from patches/nginx-1.13.5-no_Werror.patch rename to patches/nginx/1.13.5/nginx-1.13.5-no_Werror.patch diff --git a/patches/nginx-1.13.5-no_error_pages.patch b/patches/nginx/1.13.5/nginx-1.13.5-no_error_pages.patch similarity index 100% rename from patches/nginx-1.13.5-no_error_pages.patch rename to patches/nginx/1.13.5/nginx-1.13.5-no_error_pages.patch diff --git a/patches/nginx-1.13.5-no_pool.patch b/patches/nginx/1.13.5/nginx-1.13.5-no_pool.patch similarity index 100% rename from patches/nginx-1.13.5-no_pool.patch rename to patches/nginx/1.13.5/nginx-1.13.5-no_pool.patch diff --git a/patches/nginx-1.13.5-pcre_conf_opt.patch b/patches/nginx/1.13.5/nginx-1.13.5-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.13.5-pcre_conf_opt.patch rename to patches/nginx/1.13.5/nginx-1.13.5-pcre_conf_opt.patch diff --git a/patches/nginx-1.13.5-privileged_agent_process.patch b/patches/nginx/1.13.5/nginx-1.13.5-privileged_agent_process.patch similarity index 100% rename from patches/nginx-1.13.5-privileged_agent_process.patch rename to patches/nginx/1.13.5/nginx-1.13.5-privileged_agent_process.patch diff --git a/patches/nginx-1.13.5-proxy_host_port_vars.patch b/patches/nginx/1.13.5/nginx-1.13.5-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.13.5-proxy_host_port_vars.patch rename to patches/nginx/1.13.5/nginx-1.13.5-proxy_host_port_vars.patch diff --git a/patches/nginx-1.13.5-safe_resolver_ipv6_option.patch b/patches/nginx/1.13.5/nginx-1.13.5-safe_resolver_ipv6_option.patch similarity index 100% rename from patches/nginx-1.13.5-safe_resolver_ipv6_option.patch rename to patches/nginx/1.13.5/nginx-1.13.5-safe_resolver_ipv6_option.patch diff --git a/patches/nginx-1.13.5-server_header.patch b/patches/nginx/1.13.5/nginx-1.13.5-server_header.patch similarity index 100% rename from patches/nginx-1.13.5-server_header.patch rename to patches/nginx/1.13.5/nginx-1.13.5-server_header.patch diff --git a/patches/nginx-1.13.5-setting_args_invalidates_uri.patch b/patches/nginx/1.13.5/nginx-1.13.5-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.13.5-setting_args_invalidates_uri.patch rename to patches/nginx/1.13.5/nginx-1.13.5-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.13.5-single_process_graceful_exit.patch b/patches/nginx/1.13.5/nginx-1.13.5-single_process_graceful_exit.patch similarity index 100% rename from patches/nginx-1.13.5-single_process_graceful_exit.patch rename to patches/nginx/1.13.5/nginx-1.13.5-single_process_graceful_exit.patch diff --git a/patches/nginx-1.13.5-ssl_cert_cb_yield.patch b/patches/nginx/1.13.5/nginx-1.13.5-ssl_cert_cb_yield.patch similarity index 100% rename from patches/nginx-1.13.5-ssl_cert_cb_yield.patch rename to patches/nginx/1.13.5/nginx-1.13.5-ssl_cert_cb_yield.patch diff --git a/patches/nginx-1.13.5-ssl_pending_session.patch b/patches/nginx/1.13.5/nginx-1.13.5-ssl_pending_session.patch similarity index 100% rename from patches/nginx-1.13.5-ssl_pending_session.patch rename to patches/nginx/1.13.5/nginx-1.13.5-ssl_pending_session.patch diff --git a/patches/nginx-1.13.5-stream_balancer_export.patch b/patches/nginx/1.13.5/nginx-1.13.5-stream_balancer_export.patch similarity index 100% rename from patches/nginx-1.13.5-stream_balancer_export.patch rename to patches/nginx/1.13.5/nginx-1.13.5-stream_balancer_export.patch diff --git a/patches/nginx-1.13.5-stream_proxy_get_next_upstream_tries.patch b/patches/nginx/1.13.5/nginx-1.13.5-stream_proxy_get_next_upstream_tries.patch similarity index 100% rename from patches/nginx-1.13.5-stream_proxy_get_next_upstream_tries.patch rename to patches/nginx/1.13.5/nginx-1.13.5-stream_proxy_get_next_upstream_tries.patch diff --git a/patches/nginx-1.13.5-stream_proxy_timeout_fields.patch b/patches/nginx/1.13.5/nginx-1.13.5-stream_proxy_timeout_fields.patch similarity index 100% rename from patches/nginx-1.13.5-stream_proxy_timeout_fields.patch rename to patches/nginx/1.13.5/nginx-1.13.5-stream_proxy_timeout_fields.patch diff --git a/patches/nginx-1.13.5-upstream_pipelining.patch b/patches/nginx/1.13.5/nginx-1.13.5-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.13.5-upstream_pipelining.patch rename to patches/nginx/1.13.5/nginx-1.13.5-upstream_pipelining.patch diff --git a/patches/nginx-1.13.5-upstream_timeout_fields.patch b/patches/nginx/1.13.5/nginx-1.13.5-upstream_timeout_fields.patch similarity index 100% rename from patches/nginx-1.13.5-upstream_timeout_fields.patch rename to patches/nginx/1.13.5/nginx-1.13.5-upstream_timeout_fields.patch diff --git a/patches/nginx-1.13.6-always_enable_cc_feature_tests.patch b/patches/nginx/1.13.6/nginx-1.13.6-always_enable_cc_feature_tests.patch similarity index 100% rename from patches/nginx-1.13.6-always_enable_cc_feature_tests.patch rename to patches/nginx/1.13.6/nginx-1.13.6-always_enable_cc_feature_tests.patch diff --git a/patches/nginx-1.13.6-balancer_status_code.patch b/patches/nginx/1.13.6/nginx-1.13.6-balancer_status_code.patch similarity index 100% rename from patches/nginx-1.13.6-balancer_status_code.patch rename to patches/nginx/1.13.6/nginx-1.13.6-balancer_status_code.patch diff --git a/patches/nginx-1.13.6-builtin_error_page_footer.patch b/patches/nginx/1.13.6/nginx-1.13.6-builtin_error_page_footer.patch similarity index 100% rename from patches/nginx-1.13.6-builtin_error_page_footer.patch rename to patches/nginx/1.13.6/nginx-1.13.6-builtin_error_page_footer.patch diff --git a/patches/nginx-1.13.6-cache_manager_exit.patch b/patches/nginx/1.13.6/nginx-1.13.6-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.13.6-cache_manager_exit.patch rename to patches/nginx/1.13.6/nginx-1.13.6-cache_manager_exit.patch diff --git a/patches/nginx-1.13.6-daemon_destroy_pool.patch b/patches/nginx/1.13.6/nginx-1.13.6-daemon_destroy_pool.patch similarity index 100% rename from patches/nginx-1.13.6-daemon_destroy_pool.patch rename to patches/nginx/1.13.6/nginx-1.13.6-daemon_destroy_pool.patch diff --git a/patches/nginx-1.13.6-delayed_posted_events.patch b/patches/nginx/1.13.6/nginx-1.13.6-delayed_posted_events.patch similarity index 100% rename from patches/nginx-1.13.6-delayed_posted_events.patch rename to patches/nginx/1.13.6/nginx-1.13.6-delayed_posted_events.patch diff --git a/patches/nginx-1.13.6-dtrace.patch b/patches/nginx/1.13.6/nginx-1.13.6-dtrace.patch similarity index 100% rename from patches/nginx-1.13.6-dtrace.patch rename to patches/nginx/1.13.6/nginx-1.13.6-dtrace.patch diff --git a/patches/nginx-1.13.6-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.13.6/nginx-1.13.6-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.13.6-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.13.6/nginx-1.13.6-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.13.6-hash_overflow.patch b/patches/nginx/1.13.6/nginx-1.13.6-hash_overflow.patch similarity index 100% rename from patches/nginx-1.13.6-hash_overflow.patch rename to patches/nginx/1.13.6/nginx-1.13.6-hash_overflow.patch diff --git a/patches/nginx-1.13.6-init_cycle_pool_release.patch b/patches/nginx/1.13.6/nginx-1.13.6-init_cycle_pool_release.patch similarity index 100% rename from patches/nginx-1.13.6-init_cycle_pool_release.patch rename to patches/nginx/1.13.6/nginx-1.13.6-init_cycle_pool_release.patch diff --git a/patches/nginx-1.13.6-intercept_error_log.patch b/patches/nginx/1.13.6/nginx-1.13.6-intercept_error_log.patch similarity index 100% rename from patches/nginx-1.13.6-intercept_error_log.patch rename to patches/nginx/1.13.6/nginx-1.13.6-intercept_error_log.patch diff --git a/patches/nginx-1.13.6-larger_max_error_str.patch b/patches/nginx/1.13.6/nginx-1.13.6-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.13.6-larger_max_error_str.patch rename to patches/nginx/1.13.6/nginx-1.13.6-larger_max_error_str.patch diff --git a/patches/nginx-1.13.6-log_escape_non_ascii.patch b/patches/nginx/1.13.6/nginx-1.13.6-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.13.6-log_escape_non_ascii.patch rename to patches/nginx/1.13.6/nginx-1.13.6-log_escape_non_ascii.patch diff --git a/patches/nginx-1.13.6-no_Werror.patch b/patches/nginx/1.13.6/nginx-1.13.6-no_Werror.patch similarity index 100% rename from patches/nginx-1.13.6-no_Werror.patch rename to patches/nginx/1.13.6/nginx-1.13.6-no_Werror.patch diff --git a/patches/nginx-1.13.6-no_error_pages.patch b/patches/nginx/1.13.6/nginx-1.13.6-no_error_pages.patch similarity index 100% rename from patches/nginx-1.13.6-no_error_pages.patch rename to patches/nginx/1.13.6/nginx-1.13.6-no_error_pages.patch diff --git a/patches/nginx-1.13.6-no_pool.patch b/patches/nginx/1.13.6/nginx-1.13.6-no_pool.patch similarity index 100% rename from patches/nginx-1.13.6-no_pool.patch rename to patches/nginx/1.13.6/nginx-1.13.6-no_pool.patch diff --git a/patches/nginx-1.13.6-pcre_conf_opt.patch b/patches/nginx/1.13.6/nginx-1.13.6-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.13.6-pcre_conf_opt.patch rename to patches/nginx/1.13.6/nginx-1.13.6-pcre_conf_opt.patch diff --git a/patches/nginx-1.13.6-privileged_agent_process.patch b/patches/nginx/1.13.6/nginx-1.13.6-privileged_agent_process.patch similarity index 100% rename from patches/nginx-1.13.6-privileged_agent_process.patch rename to patches/nginx/1.13.6/nginx-1.13.6-privileged_agent_process.patch diff --git a/patches/nginx-1.13.6-proxy_host_port_vars.patch b/patches/nginx/1.13.6/nginx-1.13.6-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.13.6-proxy_host_port_vars.patch rename to patches/nginx/1.13.6/nginx-1.13.6-proxy_host_port_vars.patch diff --git a/patches/nginx-1.13.6-resolver_conf_parsing.patch b/patches/nginx/1.13.6/nginx-1.13.6-resolver_conf_parsing.patch similarity index 100% rename from patches/nginx-1.13.6-resolver_conf_parsing.patch rename to patches/nginx/1.13.6/nginx-1.13.6-resolver_conf_parsing.patch diff --git a/patches/nginx-1.13.6-safe_resolver_ipv6_option.patch b/patches/nginx/1.13.6/nginx-1.13.6-safe_resolver_ipv6_option.patch similarity index 100% rename from patches/nginx-1.13.6-safe_resolver_ipv6_option.patch rename to patches/nginx/1.13.6/nginx-1.13.6-safe_resolver_ipv6_option.patch diff --git a/patches/nginx-1.13.6-server_header.patch b/patches/nginx/1.13.6/nginx-1.13.6-server_header.patch similarity index 100% rename from patches/nginx-1.13.6-server_header.patch rename to patches/nginx/1.13.6/nginx-1.13.6-server_header.patch diff --git a/patches/nginx-1.13.6-setting_args_invalidates_uri.patch b/patches/nginx/1.13.6/nginx-1.13.6-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.13.6-setting_args_invalidates_uri.patch rename to patches/nginx/1.13.6/nginx-1.13.6-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.13.6-single_process_graceful_exit.patch b/patches/nginx/1.13.6/nginx-1.13.6-single_process_graceful_exit.patch similarity index 100% rename from patches/nginx-1.13.6-single_process_graceful_exit.patch rename to patches/nginx/1.13.6/nginx-1.13.6-single_process_graceful_exit.patch diff --git a/patches/nginx-1.13.6-socket_cloexec.patch b/patches/nginx/1.13.6/nginx-1.13.6-socket_cloexec.patch similarity index 100% rename from patches/nginx-1.13.6-socket_cloexec.patch rename to patches/nginx/1.13.6/nginx-1.13.6-socket_cloexec.patch diff --git a/patches/nginx-1.13.6-ssl_cert_cb_yield.patch b/patches/nginx/1.13.6/nginx-1.13.6-ssl_cert_cb_yield.patch similarity index 100% rename from patches/nginx-1.13.6-ssl_cert_cb_yield.patch rename to patches/nginx/1.13.6/nginx-1.13.6-ssl_cert_cb_yield.patch diff --git a/patches/nginx-1.13.6-ssl_pending_session.patch b/patches/nginx/1.13.6/nginx-1.13.6-ssl_pending_session.patch similarity index 100% rename from patches/nginx-1.13.6-ssl_pending_session.patch rename to patches/nginx/1.13.6/nginx-1.13.6-ssl_pending_session.patch diff --git a/patches/nginx-1.13.6-stream_balancer_export.patch b/patches/nginx/1.13.6/nginx-1.13.6-stream_balancer_export.patch similarity index 100% rename from patches/nginx-1.13.6-stream_balancer_export.patch rename to patches/nginx/1.13.6/nginx-1.13.6-stream_balancer_export.patch diff --git a/patches/nginx-1.13.6-stream_proxy_get_next_upstream_tries.patch b/patches/nginx/1.13.6/nginx-1.13.6-stream_proxy_get_next_upstream_tries.patch similarity index 100% rename from patches/nginx-1.13.6-stream_proxy_get_next_upstream_tries.patch rename to patches/nginx/1.13.6/nginx-1.13.6-stream_proxy_get_next_upstream_tries.patch diff --git a/patches/nginx-1.13.6-stream_proxy_timeout_fields.patch b/patches/nginx/1.13.6/nginx-1.13.6-stream_proxy_timeout_fields.patch similarity index 100% rename from patches/nginx-1.13.6-stream_proxy_timeout_fields.patch rename to patches/nginx/1.13.6/nginx-1.13.6-stream_proxy_timeout_fields.patch diff --git a/patches/nginx-1.13.6-stream_ssl_preread_no_skip.patch b/patches/nginx/1.13.6/nginx-1.13.6-stream_ssl_preread_no_skip.patch similarity index 100% rename from patches/nginx-1.13.6-stream_ssl_preread_no_skip.patch rename to patches/nginx/1.13.6/nginx-1.13.6-stream_ssl_preread_no_skip.patch diff --git a/patches/nginx-1.13.6-upstream_pipelining.patch b/patches/nginx/1.13.6/nginx-1.13.6-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.13.6-upstream_pipelining.patch rename to patches/nginx/1.13.6/nginx-1.13.6-upstream_pipelining.patch diff --git a/patches/nginx-1.13.6-upstream_timeout_fields.patch b/patches/nginx/1.13.6/nginx-1.13.6-upstream_timeout_fields.patch similarity index 100% rename from patches/nginx-1.13.6-upstream_timeout_fields.patch rename to patches/nginx/1.13.6/nginx-1.13.6-upstream_timeout_fields.patch diff --git a/patches/nginx-1.13.8-balancer_status_code.patch b/patches/nginx/1.13.8/nginx-1.13.8-balancer_status_code.patch similarity index 100% rename from patches/nginx-1.13.8-balancer_status_code.patch rename to patches/nginx/1.13.8/nginx-1.13.8-balancer_status_code.patch diff --git a/patches/nginx-1.13.8-stream_ssl_preread_no_skip.patch b/patches/nginx/1.13.8/nginx-1.13.8-stream_ssl_preread_no_skip.patch similarity index 100% rename from patches/nginx-1.13.8-stream_ssl_preread_no_skip.patch rename to patches/nginx/1.13.8/nginx-1.13.8-stream_ssl_preread_no_skip.patch diff --git a/patches/nginx-1.15.5-always_enable_cc_feature_tests.patch b/patches/nginx/1.15.5/nginx-1.15.5-always_enable_cc_feature_tests.patch similarity index 100% rename from patches/nginx-1.15.5-always_enable_cc_feature_tests.patch rename to patches/nginx/1.15.5/nginx-1.15.5-always_enable_cc_feature_tests.patch diff --git a/patches/nginx-1.15.5-balancer_status_code.patch b/patches/nginx/1.15.5/nginx-1.15.5-balancer_status_code.patch similarity index 100% rename from patches/nginx-1.15.5-balancer_status_code.patch rename to patches/nginx/1.15.5/nginx-1.15.5-balancer_status_code.patch diff --git a/patches/nginx-1.15.5-builtin_error_page_footer.patch b/patches/nginx/1.15.5/nginx-1.15.5-builtin_error_page_footer.patch similarity index 100% rename from patches/nginx-1.15.5-builtin_error_page_footer.patch rename to patches/nginx/1.15.5/nginx-1.15.5-builtin_error_page_footer.patch diff --git a/patches/nginx-1.15.5-cache_manager_exit.patch b/patches/nginx/1.15.5/nginx-1.15.5-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.15.5-cache_manager_exit.patch rename to patches/nginx/1.15.5/nginx-1.15.5-cache_manager_exit.patch diff --git a/patches/nginx-1.15.5-daemon_destroy_pool.patch b/patches/nginx/1.15.5/nginx-1.15.5-daemon_destroy_pool.patch similarity index 100% rename from patches/nginx-1.15.5-daemon_destroy_pool.patch rename to patches/nginx/1.15.5/nginx-1.15.5-daemon_destroy_pool.patch diff --git a/patches/nginx-1.15.5-delayed_posted_events.patch b/patches/nginx/1.15.5/nginx-1.15.5-delayed_posted_events.patch similarity index 100% rename from patches/nginx-1.15.5-delayed_posted_events.patch rename to patches/nginx/1.15.5/nginx-1.15.5-delayed_posted_events.patch diff --git a/patches/nginx-1.15.5-dtrace.patch b/patches/nginx/1.15.5/nginx-1.15.5-dtrace.patch similarity index 100% rename from patches/nginx-1.15.5-dtrace.patch rename to patches/nginx/1.15.5/nginx-1.15.5-dtrace.patch diff --git a/patches/nginx-1.15.5-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.15.5/nginx-1.15.5-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.15.5-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.15.5/nginx-1.15.5-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.15.5-hash_overflow.patch b/patches/nginx/1.15.5/nginx-1.15.5-hash_overflow.patch similarity index 100% rename from patches/nginx-1.15.5-hash_overflow.patch rename to patches/nginx/1.15.5/nginx-1.15.5-hash_overflow.patch diff --git a/patches/nginx-1.15.5-init_cycle_pool_release.patch b/patches/nginx/1.15.5/nginx-1.15.5-init_cycle_pool_release.patch similarity index 100% rename from patches/nginx-1.15.5-init_cycle_pool_release.patch rename to patches/nginx/1.15.5/nginx-1.15.5-init_cycle_pool_release.patch diff --git a/patches/nginx-1.15.5-intercept_error_log.patch b/patches/nginx/1.15.5/nginx-1.15.5-intercept_error_log.patch similarity index 100% rename from patches/nginx-1.15.5-intercept_error_log.patch rename to patches/nginx/1.15.5/nginx-1.15.5-intercept_error_log.patch diff --git a/patches/nginx-1.15.5-larger_max_error_str.patch b/patches/nginx/1.15.5/nginx-1.15.5-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.15.5-larger_max_error_str.patch rename to patches/nginx/1.15.5/nginx-1.15.5-larger_max_error_str.patch diff --git a/patches/nginx-1.15.5-log_escape_non_ascii.patch b/patches/nginx/1.15.5/nginx-1.15.5-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.15.5-log_escape_non_ascii.patch rename to patches/nginx/1.15.5/nginx-1.15.5-log_escape_non_ascii.patch diff --git a/patches/nginx-1.15.5-no_Werror.patch b/patches/nginx/1.15.5/nginx-1.15.5-no_Werror.patch similarity index 100% rename from patches/nginx-1.15.5-no_Werror.patch rename to patches/nginx/1.15.5/nginx-1.15.5-no_Werror.patch diff --git a/patches/nginx-1.15.5-no_error_pages.patch b/patches/nginx/1.15.5/nginx-1.15.5-no_error_pages.patch similarity index 100% rename from patches/nginx-1.15.5-no_error_pages.patch rename to patches/nginx/1.15.5/nginx-1.15.5-no_error_pages.patch diff --git a/patches/nginx-1.15.5-no_pool.patch b/patches/nginx/1.15.5/nginx-1.15.5-no_pool.patch similarity index 100% rename from patches/nginx-1.15.5-no_pool.patch rename to patches/nginx/1.15.5/nginx-1.15.5-no_pool.patch diff --git a/patches/nginx-1.15.5-pcre_conf_opt.patch b/patches/nginx/1.15.5/nginx-1.15.5-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.15.5-pcre_conf_opt.patch rename to patches/nginx/1.15.5/nginx-1.15.5-pcre_conf_opt.patch diff --git a/patches/nginx-1.15.5-privileged_agent_process.patch b/patches/nginx/1.15.5/nginx-1.15.5-privileged_agent_process.patch similarity index 100% rename from patches/nginx-1.15.5-privileged_agent_process.patch rename to patches/nginx/1.15.5/nginx-1.15.5-privileged_agent_process.patch diff --git a/patches/nginx-1.15.5-proxy_host_port_vars.patch b/patches/nginx/1.15.5/nginx-1.15.5-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.15.5-proxy_host_port_vars.patch rename to patches/nginx/1.15.5/nginx-1.15.5-proxy_host_port_vars.patch diff --git a/patches/nginx-1.15.5-resolver_conf_parsing.patch b/patches/nginx/1.15.5/nginx-1.15.5-resolver_conf_parsing.patch similarity index 100% rename from patches/nginx-1.15.5-resolver_conf_parsing.patch rename to patches/nginx/1.15.5/nginx-1.15.5-resolver_conf_parsing.patch diff --git a/patches/nginx-1.15.5-safe_resolver_ipv6_option.patch b/patches/nginx/1.15.5/nginx-1.15.5-safe_resolver_ipv6_option.patch similarity index 100% rename from patches/nginx-1.15.5-safe_resolver_ipv6_option.patch rename to patches/nginx/1.15.5/nginx-1.15.5-safe_resolver_ipv6_option.patch diff --git a/patches/nginx-1.15.5-server_header.patch b/patches/nginx/1.15.5/nginx-1.15.5-server_header.patch similarity index 100% rename from patches/nginx-1.15.5-server_header.patch rename to patches/nginx/1.15.5/nginx-1.15.5-server_header.patch diff --git a/patches/nginx-1.15.5-setting_args_invalidates_uri.patch b/patches/nginx/1.15.5/nginx-1.15.5-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.15.5-setting_args_invalidates_uri.patch rename to patches/nginx/1.15.5/nginx-1.15.5-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.15.5-single_process_graceful_exit.patch b/patches/nginx/1.15.5/nginx-1.15.5-single_process_graceful_exit.patch similarity index 100% rename from patches/nginx-1.15.5-single_process_graceful_exit.patch rename to patches/nginx/1.15.5/nginx-1.15.5-single_process_graceful_exit.patch diff --git a/patches/nginx-1.15.5-socket_cloexec.patch b/patches/nginx/1.15.5/nginx-1.15.5-socket_cloexec.patch similarity index 100% rename from patches/nginx-1.15.5-socket_cloexec.patch rename to patches/nginx/1.15.5/nginx-1.15.5-socket_cloexec.patch diff --git a/patches/nginx-1.15.5-ssl_cert_cb_yield.patch b/patches/nginx/1.15.5/nginx-1.15.5-ssl_cert_cb_yield.patch similarity index 100% rename from patches/nginx-1.15.5-ssl_cert_cb_yield.patch rename to patches/nginx/1.15.5/nginx-1.15.5-ssl_cert_cb_yield.patch diff --git a/patches/nginx-1.15.5-ssl_pending_session.patch b/patches/nginx/1.15.5/nginx-1.15.5-ssl_pending_session.patch similarity index 100% rename from patches/nginx-1.15.5-ssl_pending_session.patch rename to patches/nginx/1.15.5/nginx-1.15.5-ssl_pending_session.patch diff --git a/patches/nginx-1.15.5-stream_balancer_export.patch b/patches/nginx/1.15.5/nginx-1.15.5-stream_balancer_export.patch similarity index 100% rename from patches/nginx-1.15.5-stream_balancer_export.patch rename to patches/nginx/1.15.5/nginx-1.15.5-stream_balancer_export.patch diff --git a/patches/nginx-1.15.5-stream_proxy_get_next_upstream_tries.patch b/patches/nginx/1.15.5/nginx-1.15.5-stream_proxy_get_next_upstream_tries.patch similarity index 100% rename from patches/nginx-1.15.5-stream_proxy_get_next_upstream_tries.patch rename to patches/nginx/1.15.5/nginx-1.15.5-stream_proxy_get_next_upstream_tries.patch diff --git a/patches/nginx-1.15.5-stream_proxy_timeout_fields.patch b/patches/nginx/1.15.5/nginx-1.15.5-stream_proxy_timeout_fields.patch similarity index 100% rename from patches/nginx-1.15.5-stream_proxy_timeout_fields.patch rename to patches/nginx/1.15.5/nginx-1.15.5-stream_proxy_timeout_fields.patch diff --git a/patches/nginx-1.15.5-stream_ssl_preread_no_skip.patch b/patches/nginx/1.15.5/nginx-1.15.5-stream_ssl_preread_no_skip.patch similarity index 100% rename from patches/nginx-1.15.5-stream_ssl_preread_no_skip.patch rename to patches/nginx/1.15.5/nginx-1.15.5-stream_ssl_preread_no_skip.patch diff --git a/patches/nginx-1.15.5-upstream_pipelining.patch b/patches/nginx/1.15.5/nginx-1.15.5-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.15.5-upstream_pipelining.patch rename to patches/nginx/1.15.5/nginx-1.15.5-upstream_pipelining.patch diff --git a/patches/nginx-1.15.5-upstream_timeout_fields.patch b/patches/nginx/1.15.5/nginx-1.15.5-upstream_timeout_fields.patch similarity index 100% rename from patches/nginx-1.15.5-upstream_timeout_fields.patch rename to patches/nginx/1.15.5/nginx-1.15.5-upstream_timeout_fields.patch diff --git a/patches/nginx-1.15.6-always_enable_cc_feature_tests.patch b/patches/nginx/1.15.6/nginx-1.15.6-always_enable_cc_feature_tests.patch similarity index 100% rename from patches/nginx-1.15.6-always_enable_cc_feature_tests.patch rename to patches/nginx/1.15.6/nginx-1.15.6-always_enable_cc_feature_tests.patch diff --git a/patches/nginx-1.15.6-balancer_status_code.patch b/patches/nginx/1.15.6/nginx-1.15.6-balancer_status_code.patch similarity index 100% rename from patches/nginx-1.15.6-balancer_status_code.patch rename to patches/nginx/1.15.6/nginx-1.15.6-balancer_status_code.patch diff --git a/patches/nginx-1.15.6-builtin_error_page_footer.patch b/patches/nginx/1.15.6/nginx-1.15.6-builtin_error_page_footer.patch similarity index 100% rename from patches/nginx-1.15.6-builtin_error_page_footer.patch rename to patches/nginx/1.15.6/nginx-1.15.6-builtin_error_page_footer.patch diff --git a/patches/nginx-1.15.6-cache_manager_exit.patch b/patches/nginx/1.15.6/nginx-1.15.6-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.15.6-cache_manager_exit.patch rename to patches/nginx/1.15.6/nginx-1.15.6-cache_manager_exit.patch diff --git a/patches/nginx-1.15.6-daemon_destroy_pool.patch b/patches/nginx/1.15.6/nginx-1.15.6-daemon_destroy_pool.patch similarity index 100% rename from patches/nginx-1.15.6-daemon_destroy_pool.patch rename to patches/nginx/1.15.6/nginx-1.15.6-daemon_destroy_pool.patch diff --git a/patches/nginx-1.15.6-delayed_posted_events.patch b/patches/nginx/1.15.6/nginx-1.15.6-delayed_posted_events.patch similarity index 100% rename from patches/nginx-1.15.6-delayed_posted_events.patch rename to patches/nginx/1.15.6/nginx-1.15.6-delayed_posted_events.patch diff --git a/patches/nginx-1.15.6-dtrace.patch b/patches/nginx/1.15.6/nginx-1.15.6-dtrace.patch similarity index 100% rename from patches/nginx-1.15.6-dtrace.patch rename to patches/nginx/1.15.6/nginx-1.15.6-dtrace.patch diff --git a/patches/nginx-1.15.6-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.15.6/nginx-1.15.6-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.15.6-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.15.6/nginx-1.15.6-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.15.6-hash_overflow.patch b/patches/nginx/1.15.6/nginx-1.15.6-hash_overflow.patch similarity index 100% rename from patches/nginx-1.15.6-hash_overflow.patch rename to patches/nginx/1.15.6/nginx-1.15.6-hash_overflow.patch diff --git a/patches/nginx-1.15.6-init_cycle_pool_release.patch b/patches/nginx/1.15.6/nginx-1.15.6-init_cycle_pool_release.patch similarity index 100% rename from patches/nginx-1.15.6-init_cycle_pool_release.patch rename to patches/nginx/1.15.6/nginx-1.15.6-init_cycle_pool_release.patch diff --git a/patches/nginx-1.15.6-intercept_error_log.patch b/patches/nginx/1.15.6/nginx-1.15.6-intercept_error_log.patch similarity index 100% rename from patches/nginx-1.15.6-intercept_error_log.patch rename to patches/nginx/1.15.6/nginx-1.15.6-intercept_error_log.patch diff --git a/patches/nginx-1.15.6-larger_max_error_str.patch b/patches/nginx/1.15.6/nginx-1.15.6-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.15.6-larger_max_error_str.patch rename to patches/nginx/1.15.6/nginx-1.15.6-larger_max_error_str.patch diff --git a/patches/nginx-1.15.6-log_escape_non_ascii.patch b/patches/nginx/1.15.6/nginx-1.15.6-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.15.6-log_escape_non_ascii.patch rename to patches/nginx/1.15.6/nginx-1.15.6-log_escape_non_ascii.patch diff --git a/patches/nginx-1.15.6-no_Werror.patch b/patches/nginx/1.15.6/nginx-1.15.6-no_Werror.patch similarity index 100% rename from patches/nginx-1.15.6-no_Werror.patch rename to patches/nginx/1.15.6/nginx-1.15.6-no_Werror.patch diff --git a/patches/nginx-1.15.6-no_error_pages.patch b/patches/nginx/1.15.6/nginx-1.15.6-no_error_pages.patch similarity index 100% rename from patches/nginx-1.15.6-no_error_pages.patch rename to patches/nginx/1.15.6/nginx-1.15.6-no_error_pages.patch diff --git a/patches/nginx-1.15.6-no_pool.patch b/patches/nginx/1.15.6/nginx-1.15.6-no_pool.patch similarity index 100% rename from patches/nginx-1.15.6-no_pool.patch rename to patches/nginx/1.15.6/nginx-1.15.6-no_pool.patch diff --git a/patches/nginx-1.15.6-pcre_conf_opt.patch b/patches/nginx/1.15.6/nginx-1.15.6-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.15.6-pcre_conf_opt.patch rename to patches/nginx/1.15.6/nginx-1.15.6-pcre_conf_opt.patch diff --git a/patches/nginx-1.15.6-privileged_agent_process.patch b/patches/nginx/1.15.6/nginx-1.15.6-privileged_agent_process.patch similarity index 100% rename from patches/nginx-1.15.6-privileged_agent_process.patch rename to patches/nginx/1.15.6/nginx-1.15.6-privileged_agent_process.patch diff --git a/patches/nginx-1.15.6-proxy_host_port_vars.patch b/patches/nginx/1.15.6/nginx-1.15.6-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.15.6-proxy_host_port_vars.patch rename to patches/nginx/1.15.6/nginx-1.15.6-proxy_host_port_vars.patch diff --git a/patches/nginx-1.15.6-resolver_conf_parsing.patch b/patches/nginx/1.15.6/nginx-1.15.6-resolver_conf_parsing.patch similarity index 100% rename from patches/nginx-1.15.6-resolver_conf_parsing.patch rename to patches/nginx/1.15.6/nginx-1.15.6-resolver_conf_parsing.patch diff --git a/patches/nginx-1.15.6-safe_resolver_ipv6_option.patch b/patches/nginx/1.15.6/nginx-1.15.6-safe_resolver_ipv6_option.patch similarity index 100% rename from patches/nginx-1.15.6-safe_resolver_ipv6_option.patch rename to patches/nginx/1.15.6/nginx-1.15.6-safe_resolver_ipv6_option.patch diff --git a/patches/nginx-1.15.6-server_header.patch b/patches/nginx/1.15.6/nginx-1.15.6-server_header.patch similarity index 100% rename from patches/nginx-1.15.6-server_header.patch rename to patches/nginx/1.15.6/nginx-1.15.6-server_header.patch diff --git a/patches/nginx-1.15.6-setting_args_invalidates_uri.patch b/patches/nginx/1.15.6/nginx-1.15.6-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.15.6-setting_args_invalidates_uri.patch rename to patches/nginx/1.15.6/nginx-1.15.6-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.15.6-single_process_graceful_exit.patch b/patches/nginx/1.15.6/nginx-1.15.6-single_process_graceful_exit.patch similarity index 100% rename from patches/nginx-1.15.6-single_process_graceful_exit.patch rename to patches/nginx/1.15.6/nginx-1.15.6-single_process_graceful_exit.patch diff --git a/patches/nginx-1.15.6-socket_cloexec.patch b/patches/nginx/1.15.6/nginx-1.15.6-socket_cloexec.patch similarity index 100% rename from patches/nginx-1.15.6-socket_cloexec.patch rename to patches/nginx/1.15.6/nginx-1.15.6-socket_cloexec.patch diff --git a/patches/nginx-1.15.6-ssl_cert_cb_yield.patch b/patches/nginx/1.15.6/nginx-1.15.6-ssl_cert_cb_yield.patch similarity index 100% rename from patches/nginx-1.15.6-ssl_cert_cb_yield.patch rename to patches/nginx/1.15.6/nginx-1.15.6-ssl_cert_cb_yield.patch diff --git a/patches/nginx-1.15.6-ssl_pending_session.patch b/patches/nginx/1.15.6/nginx-1.15.6-ssl_pending_session.patch similarity index 100% rename from patches/nginx-1.15.6-ssl_pending_session.patch rename to patches/nginx/1.15.6/nginx-1.15.6-ssl_pending_session.patch diff --git a/patches/nginx-1.15.6-stream_balancer_export.patch b/patches/nginx/1.15.6/nginx-1.15.6-stream_balancer_export.patch similarity index 100% rename from patches/nginx-1.15.6-stream_balancer_export.patch rename to patches/nginx/1.15.6/nginx-1.15.6-stream_balancer_export.patch diff --git a/patches/nginx-1.15.6-stream_proxy_get_next_upstream_tries.patch b/patches/nginx/1.15.6/nginx-1.15.6-stream_proxy_get_next_upstream_tries.patch similarity index 100% rename from patches/nginx-1.15.6-stream_proxy_get_next_upstream_tries.patch rename to patches/nginx/1.15.6/nginx-1.15.6-stream_proxy_get_next_upstream_tries.patch diff --git a/patches/nginx-1.15.6-stream_proxy_timeout_fields.patch b/patches/nginx/1.15.6/nginx-1.15.6-stream_proxy_timeout_fields.patch similarity index 100% rename from patches/nginx-1.15.6-stream_proxy_timeout_fields.patch rename to patches/nginx/1.15.6/nginx-1.15.6-stream_proxy_timeout_fields.patch diff --git a/patches/nginx-1.15.6-stream_ssl_preread_no_skip.patch b/patches/nginx/1.15.6/nginx-1.15.6-stream_ssl_preread_no_skip.patch similarity index 100% rename from patches/nginx-1.15.6-stream_ssl_preread_no_skip.patch rename to patches/nginx/1.15.6/nginx-1.15.6-stream_ssl_preread_no_skip.patch diff --git a/patches/nginx-1.15.6-upstream_pipelining.patch b/patches/nginx/1.15.6/nginx-1.15.6-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.15.6-upstream_pipelining.patch rename to patches/nginx/1.15.6/nginx-1.15.6-upstream_pipelining.patch diff --git a/patches/nginx-1.15.6-upstream_timeout_fields.patch b/patches/nginx/1.15.6/nginx-1.15.6-upstream_timeout_fields.patch similarity index 100% rename from patches/nginx-1.15.6-upstream_timeout_fields.patch rename to patches/nginx/1.15.6/nginx-1.15.6-upstream_timeout_fields.patch diff --git a/patches/nginx-1.15.8-always_enable_cc_feature_tests.patch b/patches/nginx/1.15.8/nginx-1.15.8-always_enable_cc_feature_tests.patch similarity index 100% rename from patches/nginx-1.15.8-always_enable_cc_feature_tests.patch rename to patches/nginx/1.15.8/nginx-1.15.8-always_enable_cc_feature_tests.patch diff --git a/patches/nginx-1.15.8-balancer_status_code.patch b/patches/nginx/1.15.8/nginx-1.15.8-balancer_status_code.patch similarity index 100% rename from patches/nginx-1.15.8-balancer_status_code.patch rename to patches/nginx/1.15.8/nginx-1.15.8-balancer_status_code.patch diff --git a/patches/nginx-1.15.8-builtin_error_page_footer.patch b/patches/nginx/1.15.8/nginx-1.15.8-builtin_error_page_footer.patch similarity index 100% rename from patches/nginx-1.15.8-builtin_error_page_footer.patch rename to patches/nginx/1.15.8/nginx-1.15.8-builtin_error_page_footer.patch diff --git a/patches/nginx-1.15.8-cache_manager_exit.patch b/patches/nginx/1.15.8/nginx-1.15.8-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.15.8-cache_manager_exit.patch rename to patches/nginx/1.15.8/nginx-1.15.8-cache_manager_exit.patch diff --git a/patches/nginx-1.15.8-daemon_destroy_pool.patch b/patches/nginx/1.15.8/nginx-1.15.8-daemon_destroy_pool.patch similarity index 100% rename from patches/nginx-1.15.8-daemon_destroy_pool.patch rename to patches/nginx/1.15.8/nginx-1.15.8-daemon_destroy_pool.patch diff --git a/patches/nginx-1.15.8-delayed_posted_events.patch b/patches/nginx/1.15.8/nginx-1.15.8-delayed_posted_events.patch similarity index 100% rename from patches/nginx-1.15.8-delayed_posted_events.patch rename to patches/nginx/1.15.8/nginx-1.15.8-delayed_posted_events.patch diff --git a/patches/nginx-1.15.8-dtrace.patch b/patches/nginx/1.15.8/nginx-1.15.8-dtrace.patch similarity index 100% rename from patches/nginx-1.15.8-dtrace.patch rename to patches/nginx/1.15.8/nginx-1.15.8-dtrace.patch diff --git a/patches/nginx-1.15.8-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.15.8/nginx-1.15.8-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.15.8-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.15.8/nginx-1.15.8-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.15.8-hash_overflow.patch b/patches/nginx/1.15.8/nginx-1.15.8-hash_overflow.patch similarity index 100% rename from patches/nginx-1.15.8-hash_overflow.patch rename to patches/nginx/1.15.8/nginx-1.15.8-hash_overflow.patch diff --git a/patches/nginx-1.15.8-init_cycle_pool_release.patch b/patches/nginx/1.15.8/nginx-1.15.8-init_cycle_pool_release.patch similarity index 100% rename from patches/nginx-1.15.8-init_cycle_pool_release.patch rename to patches/nginx/1.15.8/nginx-1.15.8-init_cycle_pool_release.patch diff --git a/patches/nginx-1.15.8-intercept_error_log.patch b/patches/nginx/1.15.8/nginx-1.15.8-intercept_error_log.patch similarity index 100% rename from patches/nginx-1.15.8-intercept_error_log.patch rename to patches/nginx/1.15.8/nginx-1.15.8-intercept_error_log.patch diff --git a/patches/nginx-1.15.8-larger_max_error_str.patch b/patches/nginx/1.15.8/nginx-1.15.8-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.15.8-larger_max_error_str.patch rename to patches/nginx/1.15.8/nginx-1.15.8-larger_max_error_str.patch diff --git a/patches/nginx-1.15.8-log_escape_non_ascii.patch b/patches/nginx/1.15.8/nginx-1.15.8-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.15.8-log_escape_non_ascii.patch rename to patches/nginx/1.15.8/nginx-1.15.8-log_escape_non_ascii.patch diff --git a/patches/nginx-1.15.8-no_Werror.patch b/patches/nginx/1.15.8/nginx-1.15.8-no_Werror.patch similarity index 100% rename from patches/nginx-1.15.8-no_Werror.patch rename to patches/nginx/1.15.8/nginx-1.15.8-no_Werror.patch diff --git a/patches/nginx-1.15.8-no_error_pages.patch b/patches/nginx/1.15.8/nginx-1.15.8-no_error_pages.patch similarity index 100% rename from patches/nginx-1.15.8-no_error_pages.patch rename to patches/nginx/1.15.8/nginx-1.15.8-no_error_pages.patch diff --git a/patches/nginx-1.15.8-no_pool.patch b/patches/nginx/1.15.8/nginx-1.15.8-no_pool.patch similarity index 100% rename from patches/nginx-1.15.8-no_pool.patch rename to patches/nginx/1.15.8/nginx-1.15.8-no_pool.patch diff --git a/patches/nginx-1.15.8-pcre_conf_opt.patch b/patches/nginx/1.15.8/nginx-1.15.8-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.15.8-pcre_conf_opt.patch rename to patches/nginx/1.15.8/nginx-1.15.8-pcre_conf_opt.patch diff --git a/patches/nginx-1.15.8-privileged_agent_process.patch b/patches/nginx/1.15.8/nginx-1.15.8-privileged_agent_process.patch similarity index 100% rename from patches/nginx-1.15.8-privileged_agent_process.patch rename to patches/nginx/1.15.8/nginx-1.15.8-privileged_agent_process.patch diff --git a/patches/nginx-1.15.8-proxy_host_port_vars.patch b/patches/nginx/1.15.8/nginx-1.15.8-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.15.8-proxy_host_port_vars.patch rename to patches/nginx/1.15.8/nginx-1.15.8-proxy_host_port_vars.patch diff --git a/patches/nginx-1.15.8-resolver_conf_parsing.patch b/patches/nginx/1.15.8/nginx-1.15.8-resolver_conf_parsing.patch similarity index 100% rename from patches/nginx-1.15.8-resolver_conf_parsing.patch rename to patches/nginx/1.15.8/nginx-1.15.8-resolver_conf_parsing.patch diff --git a/patches/nginx-1.15.8-safe_resolver_ipv6_option.patch b/patches/nginx/1.15.8/nginx-1.15.8-safe_resolver_ipv6_option.patch similarity index 100% rename from patches/nginx-1.15.8-safe_resolver_ipv6_option.patch rename to patches/nginx/1.15.8/nginx-1.15.8-safe_resolver_ipv6_option.patch diff --git a/patches/nginx-1.15.8-server_header.patch b/patches/nginx/1.15.8/nginx-1.15.8-server_header.patch similarity index 100% rename from patches/nginx-1.15.8-server_header.patch rename to patches/nginx/1.15.8/nginx-1.15.8-server_header.patch diff --git a/patches/nginx-1.15.8-setting_args_invalidates_uri.patch b/patches/nginx/1.15.8/nginx-1.15.8-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.15.8-setting_args_invalidates_uri.patch rename to patches/nginx/1.15.8/nginx-1.15.8-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.15.8-single_process_graceful_exit.patch b/patches/nginx/1.15.8/nginx-1.15.8-single_process_graceful_exit.patch similarity index 100% rename from patches/nginx-1.15.8-single_process_graceful_exit.patch rename to patches/nginx/1.15.8/nginx-1.15.8-single_process_graceful_exit.patch diff --git a/patches/nginx-1.15.8-socket_cloexec.patch b/patches/nginx/1.15.8/nginx-1.15.8-socket_cloexec.patch similarity index 100% rename from patches/nginx-1.15.8-socket_cloexec.patch rename to patches/nginx/1.15.8/nginx-1.15.8-socket_cloexec.patch diff --git a/patches/nginx-1.15.8-ssl_cert_cb_yield.patch b/patches/nginx/1.15.8/nginx-1.15.8-ssl_cert_cb_yield.patch similarity index 100% rename from patches/nginx-1.15.8-ssl_cert_cb_yield.patch rename to patches/nginx/1.15.8/nginx-1.15.8-ssl_cert_cb_yield.patch diff --git a/patches/nginx-1.15.8-ssl_pending_session.patch b/patches/nginx/1.15.8/nginx-1.15.8-ssl_pending_session.patch similarity index 100% rename from patches/nginx-1.15.8-ssl_pending_session.patch rename to patches/nginx/1.15.8/nginx-1.15.8-ssl_pending_session.patch diff --git a/patches/nginx-1.15.8-stream_balancer_export.patch b/patches/nginx/1.15.8/nginx-1.15.8-stream_balancer_export.patch similarity index 100% rename from patches/nginx-1.15.8-stream_balancer_export.patch rename to patches/nginx/1.15.8/nginx-1.15.8-stream_balancer_export.patch diff --git a/patches/nginx-1.15.8-stream_proxy_get_next_upstream_tries.patch b/patches/nginx/1.15.8/nginx-1.15.8-stream_proxy_get_next_upstream_tries.patch similarity index 100% rename from patches/nginx-1.15.8-stream_proxy_get_next_upstream_tries.patch rename to patches/nginx/1.15.8/nginx-1.15.8-stream_proxy_get_next_upstream_tries.patch diff --git a/patches/nginx-1.15.8-stream_proxy_timeout_fields.patch b/patches/nginx/1.15.8/nginx-1.15.8-stream_proxy_timeout_fields.patch similarity index 100% rename from patches/nginx-1.15.8-stream_proxy_timeout_fields.patch rename to patches/nginx/1.15.8/nginx-1.15.8-stream_proxy_timeout_fields.patch diff --git a/patches/nginx-1.15.8-stream_ssl_preread_no_skip.patch b/patches/nginx/1.15.8/nginx-1.15.8-stream_ssl_preread_no_skip.patch similarity index 100% rename from patches/nginx-1.15.8-stream_ssl_preread_no_skip.patch rename to patches/nginx/1.15.8/nginx-1.15.8-stream_ssl_preread_no_skip.patch diff --git a/patches/nginx-1.15.8-upstream_pipelining.patch b/patches/nginx/1.15.8/nginx-1.15.8-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.15.8-upstream_pipelining.patch rename to patches/nginx/1.15.8/nginx-1.15.8-upstream_pipelining.patch diff --git a/patches/nginx-1.15.8-upstream_timeout_fields.patch b/patches/nginx/1.15.8/nginx-1.15.8-upstream_timeout_fields.patch similarity index 100% rename from patches/nginx-1.15.8-upstream_timeout_fields.patch rename to patches/nginx/1.15.8/nginx-1.15.8-upstream_timeout_fields.patch diff --git a/patches/nginx-1.15.8-win32_max_err_str.patch b/patches/nginx/1.15.8/nginx-1.15.8-win32_max_err_str.patch similarity index 100% rename from patches/nginx-1.15.8-win32_max_err_str.patch rename to patches/nginx/1.15.8/nginx-1.15.8-win32_max_err_str.patch diff --git a/patches/nginx-1.17.1-always_enable_cc_feature_tests.patch b/patches/nginx/1.17.1/nginx-1.17.1-always_enable_cc_feature_tests.patch similarity index 100% rename from patches/nginx-1.17.1-always_enable_cc_feature_tests.patch rename to patches/nginx/1.17.1/nginx-1.17.1-always_enable_cc_feature_tests.patch diff --git a/patches/nginx-1.17.1-balancer_status_code.patch b/patches/nginx/1.17.1/nginx-1.17.1-balancer_status_code.patch similarity index 100% rename from patches/nginx-1.17.1-balancer_status_code.patch rename to patches/nginx/1.17.1/nginx-1.17.1-balancer_status_code.patch diff --git a/patches/nginx-1.17.1-builtin_error_page_footer.patch b/patches/nginx/1.17.1/nginx-1.17.1-builtin_error_page_footer.patch similarity index 100% rename from patches/nginx-1.17.1-builtin_error_page_footer.patch rename to patches/nginx/1.17.1/nginx-1.17.1-builtin_error_page_footer.patch diff --git a/patches/nginx-1.17.1-cache_manager_exit.patch b/patches/nginx/1.17.1/nginx-1.17.1-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.17.1-cache_manager_exit.patch rename to patches/nginx/1.17.1/nginx-1.17.1-cache_manager_exit.patch diff --git a/patches/nginx-1.17.1-daemon_destroy_pool.patch b/patches/nginx/1.17.1/nginx-1.17.1-daemon_destroy_pool.patch similarity index 100% rename from patches/nginx-1.17.1-daemon_destroy_pool.patch rename to patches/nginx/1.17.1/nginx-1.17.1-daemon_destroy_pool.patch diff --git a/patches/nginx-1.17.1-delayed_posted_events.patch b/patches/nginx/1.17.1/nginx-1.17.1-delayed_posted_events.patch similarity index 100% rename from patches/nginx-1.17.1-delayed_posted_events.patch rename to patches/nginx/1.17.1/nginx-1.17.1-delayed_posted_events.patch diff --git a/patches/nginx-1.17.1-dtrace.patch b/patches/nginx/1.17.1/nginx-1.17.1-dtrace.patch similarity index 100% rename from patches/nginx-1.17.1-dtrace.patch rename to patches/nginx/1.17.1/nginx-1.17.1-dtrace.patch diff --git a/patches/nginx-1.17.1-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.17.1/nginx-1.17.1-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.17.1-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.17.1/nginx-1.17.1-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.17.1-hash_overflow.patch b/patches/nginx/1.17.1/nginx-1.17.1-hash_overflow.patch similarity index 100% rename from patches/nginx-1.17.1-hash_overflow.patch rename to patches/nginx/1.17.1/nginx-1.17.1-hash_overflow.patch diff --git a/patches/nginx-1.17.1-init_cycle_pool_release.patch b/patches/nginx/1.17.1/nginx-1.17.1-init_cycle_pool_release.patch similarity index 100% rename from patches/nginx-1.17.1-init_cycle_pool_release.patch rename to patches/nginx/1.17.1/nginx-1.17.1-init_cycle_pool_release.patch diff --git a/patches/nginx-1.17.1-intercept_error_log.patch b/patches/nginx/1.17.1/nginx-1.17.1-intercept_error_log.patch similarity index 100% rename from patches/nginx-1.17.1-intercept_error_log.patch rename to patches/nginx/1.17.1/nginx-1.17.1-intercept_error_log.patch diff --git a/patches/nginx-1.17.1-larger_max_error_str.patch b/patches/nginx/1.17.1/nginx-1.17.1-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.17.1-larger_max_error_str.patch rename to patches/nginx/1.17.1/nginx-1.17.1-larger_max_error_str.patch diff --git a/patches/nginx-1.17.1-log_escape_non_ascii.patch b/patches/nginx/1.17.1/nginx-1.17.1-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.17.1-log_escape_non_ascii.patch rename to patches/nginx/1.17.1/nginx-1.17.1-log_escape_non_ascii.patch diff --git a/patches/nginx-1.17.1-no_Werror.patch b/patches/nginx/1.17.1/nginx-1.17.1-no_Werror.patch similarity index 100% rename from patches/nginx-1.17.1-no_Werror.patch rename to patches/nginx/1.17.1/nginx-1.17.1-no_Werror.patch diff --git a/patches/nginx-1.17.1-no_error_pages.patch b/patches/nginx/1.17.1/nginx-1.17.1-no_error_pages.patch similarity index 100% rename from patches/nginx-1.17.1-no_error_pages.patch rename to patches/nginx/1.17.1/nginx-1.17.1-no_error_pages.patch diff --git a/patches/nginx-1.17.1-no_pool.patch b/patches/nginx/1.17.1/nginx-1.17.1-no_pool.patch similarity index 100% rename from patches/nginx-1.17.1-no_pool.patch rename to patches/nginx/1.17.1/nginx-1.17.1-no_pool.patch diff --git a/patches/nginx-1.17.1-pcre_conf_opt.patch b/patches/nginx/1.17.1/nginx-1.17.1-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.17.1-pcre_conf_opt.patch rename to patches/nginx/1.17.1/nginx-1.17.1-pcre_conf_opt.patch diff --git a/patches/nginx-1.17.1-privileged_agent_process.patch b/patches/nginx/1.17.1/nginx-1.17.1-privileged_agent_process.patch similarity index 100% rename from patches/nginx-1.17.1-privileged_agent_process.patch rename to patches/nginx/1.17.1/nginx-1.17.1-privileged_agent_process.patch diff --git a/patches/nginx-1.17.1-proxy_host_port_vars.patch b/patches/nginx/1.17.1/nginx-1.17.1-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.17.1-proxy_host_port_vars.patch rename to patches/nginx/1.17.1/nginx-1.17.1-proxy_host_port_vars.patch diff --git a/patches/nginx-1.17.1-resolver_conf_parsing.patch b/patches/nginx/1.17.1/nginx-1.17.1-resolver_conf_parsing.patch similarity index 100% rename from patches/nginx-1.17.1-resolver_conf_parsing.patch rename to patches/nginx/1.17.1/nginx-1.17.1-resolver_conf_parsing.patch diff --git a/patches/nginx-1.17.1-reuseport_close_unused_fds.patch b/patches/nginx/1.17.1/nginx-1.17.1-reuseport_close_unused_fds.patch similarity index 100% rename from patches/nginx-1.17.1-reuseport_close_unused_fds.patch rename to patches/nginx/1.17.1/nginx-1.17.1-reuseport_close_unused_fds.patch diff --git a/patches/nginx-1.17.1-safe_resolver_ipv6_option.patch b/patches/nginx/1.17.1/nginx-1.17.1-safe_resolver_ipv6_option.patch similarity index 100% rename from patches/nginx-1.17.1-safe_resolver_ipv6_option.patch rename to patches/nginx/1.17.1/nginx-1.17.1-safe_resolver_ipv6_option.patch diff --git a/patches/nginx-1.17.1-server_header.patch b/patches/nginx/1.17.1/nginx-1.17.1-server_header.patch similarity index 100% rename from patches/nginx-1.17.1-server_header.patch rename to patches/nginx/1.17.1/nginx-1.17.1-server_header.patch diff --git a/patches/nginx-1.17.1-setting_args_invalidates_uri.patch b/patches/nginx/1.17.1/nginx-1.17.1-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.17.1-setting_args_invalidates_uri.patch rename to patches/nginx/1.17.1/nginx-1.17.1-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.17.1-single_process_graceful_exit.patch b/patches/nginx/1.17.1/nginx-1.17.1-single_process_graceful_exit.patch similarity index 100% rename from patches/nginx-1.17.1-single_process_graceful_exit.patch rename to patches/nginx/1.17.1/nginx-1.17.1-single_process_graceful_exit.patch diff --git a/patches/nginx-1.17.1-socket_cloexec.patch b/patches/nginx/1.17.1/nginx-1.17.1-socket_cloexec.patch similarity index 100% rename from patches/nginx-1.17.1-socket_cloexec.patch rename to patches/nginx/1.17.1/nginx-1.17.1-socket_cloexec.patch diff --git a/patches/nginx-1.17.1-ssl_cert_cb_yield.patch b/patches/nginx/1.17.1/nginx-1.17.1-ssl_cert_cb_yield.patch similarity index 100% rename from patches/nginx-1.17.1-ssl_cert_cb_yield.patch rename to patches/nginx/1.17.1/nginx-1.17.1-ssl_cert_cb_yield.patch diff --git a/patches/nginx-1.17.1-ssl_sess_cb_yield.patch b/patches/nginx/1.17.1/nginx-1.17.1-ssl_sess_cb_yield.patch similarity index 100% rename from patches/nginx-1.17.1-ssl_sess_cb_yield.patch rename to patches/nginx/1.17.1/nginx-1.17.1-ssl_sess_cb_yield.patch diff --git a/patches/nginx-1.17.1-stream_balancer_export.patch b/patches/nginx/1.17.1/nginx-1.17.1-stream_balancer_export.patch similarity index 100% rename from patches/nginx-1.17.1-stream_balancer_export.patch rename to patches/nginx/1.17.1/nginx-1.17.1-stream_balancer_export.patch diff --git a/patches/nginx-1.17.1-stream_proxy_get_next_upstream_tries.patch b/patches/nginx/1.17.1/nginx-1.17.1-stream_proxy_get_next_upstream_tries.patch similarity index 100% rename from patches/nginx-1.17.1-stream_proxy_get_next_upstream_tries.patch rename to patches/nginx/1.17.1/nginx-1.17.1-stream_proxy_get_next_upstream_tries.patch diff --git a/patches/nginx-1.17.1-stream_proxy_timeout_fields.patch b/patches/nginx/1.17.1/nginx-1.17.1-stream_proxy_timeout_fields.patch similarity index 100% rename from patches/nginx-1.17.1-stream_proxy_timeout_fields.patch rename to patches/nginx/1.17.1/nginx-1.17.1-stream_proxy_timeout_fields.patch diff --git a/patches/nginx-1.17.1-stream_ssl_preread_no_skip.patch b/patches/nginx/1.17.1/nginx-1.17.1-stream_ssl_preread_no_skip.patch similarity index 100% rename from patches/nginx-1.17.1-stream_ssl_preread_no_skip.patch rename to patches/nginx/1.17.1/nginx-1.17.1-stream_ssl_preread_no_skip.patch diff --git a/patches/nginx-1.17.1-upstream_pipelining.patch b/patches/nginx/1.17.1/nginx-1.17.1-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.17.1-upstream_pipelining.patch rename to patches/nginx/1.17.1/nginx-1.17.1-upstream_pipelining.patch diff --git a/patches/nginx-1.17.1-upstream_timeout_fields.patch b/patches/nginx/1.17.1/nginx-1.17.1-upstream_timeout_fields.patch similarity index 100% rename from patches/nginx-1.17.1-upstream_timeout_fields.patch rename to patches/nginx/1.17.1/nginx-1.17.1-upstream_timeout_fields.patch diff --git a/patches/nginx-1.17.1-win32_max_err_str.patch b/patches/nginx/1.17.1/nginx-1.17.1-win32_max_err_str.patch similarity index 100% rename from patches/nginx-1.17.1-win32_max_err_str.patch rename to patches/nginx/1.17.1/nginx-1.17.1-win32_max_err_str.patch diff --git a/patches/nginx-1.17.4-always_enable_cc_feature_tests.patch b/patches/nginx/1.17.4/nginx-1.17.4-always_enable_cc_feature_tests.patch similarity index 100% rename from patches/nginx-1.17.4-always_enable_cc_feature_tests.patch rename to patches/nginx/1.17.4/nginx-1.17.4-always_enable_cc_feature_tests.patch diff --git a/patches/nginx-1.17.4-balancer_status_code.patch b/patches/nginx/1.17.4/nginx-1.17.4-balancer_status_code.patch similarity index 100% rename from patches/nginx-1.17.4-balancer_status_code.patch rename to patches/nginx/1.17.4/nginx-1.17.4-balancer_status_code.patch diff --git a/patches/nginx-1.17.4-builtin_error_page_footer.patch b/patches/nginx/1.17.4/nginx-1.17.4-builtin_error_page_footer.patch similarity index 100% rename from patches/nginx-1.17.4-builtin_error_page_footer.patch rename to patches/nginx/1.17.4/nginx-1.17.4-builtin_error_page_footer.patch diff --git a/patches/nginx-1.17.4-cache_manager_exit.patch b/patches/nginx/1.17.4/nginx-1.17.4-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.17.4-cache_manager_exit.patch rename to patches/nginx/1.17.4/nginx-1.17.4-cache_manager_exit.patch diff --git a/patches/nginx-1.17.4-daemon_destroy_pool.patch b/patches/nginx/1.17.4/nginx-1.17.4-daemon_destroy_pool.patch similarity index 100% rename from patches/nginx-1.17.4-daemon_destroy_pool.patch rename to patches/nginx/1.17.4/nginx-1.17.4-daemon_destroy_pool.patch diff --git a/patches/nginx-1.17.4-delayed_posted_events.patch b/patches/nginx/1.17.4/nginx-1.17.4-delayed_posted_events.patch similarity index 100% rename from patches/nginx-1.17.4-delayed_posted_events.patch rename to patches/nginx/1.17.4/nginx-1.17.4-delayed_posted_events.patch diff --git a/patches/nginx-1.17.4-hash_overflow.patch b/patches/nginx/1.17.4/nginx-1.17.4-hash_overflow.patch similarity index 100% rename from patches/nginx-1.17.4-hash_overflow.patch rename to patches/nginx/1.17.4/nginx-1.17.4-hash_overflow.patch diff --git a/patches/nginx-1.17.4-init_cycle_pool_release.patch b/patches/nginx/1.17.4/nginx-1.17.4-init_cycle_pool_release.patch similarity index 100% rename from patches/nginx-1.17.4-init_cycle_pool_release.patch rename to patches/nginx/1.17.4/nginx-1.17.4-init_cycle_pool_release.patch diff --git a/patches/nginx-1.17.4-intercept_error_log.patch b/patches/nginx/1.17.4/nginx-1.17.4-intercept_error_log.patch similarity index 100% rename from patches/nginx-1.17.4-intercept_error_log.patch rename to patches/nginx/1.17.4/nginx-1.17.4-intercept_error_log.patch diff --git a/patches/nginx-1.17.4-larger_max_error_str.patch b/patches/nginx/1.17.4/nginx-1.17.4-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.17.4-larger_max_error_str.patch rename to patches/nginx/1.17.4/nginx-1.17.4-larger_max_error_str.patch diff --git a/patches/nginx-1.17.4-log_escape_non_ascii.patch b/patches/nginx/1.17.4/nginx-1.17.4-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.17.4-log_escape_non_ascii.patch rename to patches/nginx/1.17.4/nginx-1.17.4-log_escape_non_ascii.patch diff --git a/patches/nginx-1.17.4-no_Werror.patch b/patches/nginx/1.17.4/nginx-1.17.4-no_Werror.patch similarity index 100% rename from patches/nginx-1.17.4-no_Werror.patch rename to patches/nginx/1.17.4/nginx-1.17.4-no_Werror.patch diff --git a/patches/nginx-1.17.4-no_error_pages.patch b/patches/nginx/1.17.4/nginx-1.17.4-no_error_pages.patch similarity index 100% rename from patches/nginx-1.17.4-no_error_pages.patch rename to patches/nginx/1.17.4/nginx-1.17.4-no_error_pages.patch diff --git a/patches/nginx-1.17.4-no_pool.patch b/patches/nginx/1.17.4/nginx-1.17.4-no_pool.patch similarity index 100% rename from patches/nginx-1.17.4-no_pool.patch rename to patches/nginx/1.17.4/nginx-1.17.4-no_pool.patch diff --git a/patches/nginx-1.17.4-pcre_conf_opt.patch b/patches/nginx/1.17.4/nginx-1.17.4-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.17.4-pcre_conf_opt.patch rename to patches/nginx/1.17.4/nginx-1.17.4-pcre_conf_opt.patch diff --git a/patches/nginx-1.17.4-privileged_agent_process.patch b/patches/nginx/1.17.4/nginx-1.17.4-privileged_agent_process.patch similarity index 100% rename from patches/nginx-1.17.4-privileged_agent_process.patch rename to patches/nginx/1.17.4/nginx-1.17.4-privileged_agent_process.patch diff --git a/patches/nginx-1.17.4-proxy_host_port_vars.patch b/patches/nginx/1.17.4/nginx-1.17.4-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.17.4-proxy_host_port_vars.patch rename to patches/nginx/1.17.4/nginx-1.17.4-proxy_host_port_vars.patch diff --git a/patches/nginx-1.17.4-resolver_conf_parsing.patch b/patches/nginx/1.17.4/nginx-1.17.4-resolver_conf_parsing.patch similarity index 100% rename from patches/nginx-1.17.4-resolver_conf_parsing.patch rename to patches/nginx/1.17.4/nginx-1.17.4-resolver_conf_parsing.patch diff --git a/patches/nginx-1.17.4-reuseport_close_unused_fds.patch b/patches/nginx/1.17.4/nginx-1.17.4-reuseport_close_unused_fds.patch similarity index 100% rename from patches/nginx-1.17.4-reuseport_close_unused_fds.patch rename to patches/nginx/1.17.4/nginx-1.17.4-reuseport_close_unused_fds.patch diff --git a/patches/nginx-1.17.4-safe_resolver_ipv6_option.patch b/patches/nginx/1.17.4/nginx-1.17.4-safe_resolver_ipv6_option.patch similarity index 100% rename from patches/nginx-1.17.4-safe_resolver_ipv6_option.patch rename to patches/nginx/1.17.4/nginx-1.17.4-safe_resolver_ipv6_option.patch diff --git a/patches/nginx-1.17.4-server_header.patch b/patches/nginx/1.17.4/nginx-1.17.4-server_header.patch similarity index 100% rename from patches/nginx-1.17.4-server_header.patch rename to patches/nginx/1.17.4/nginx-1.17.4-server_header.patch diff --git a/patches/nginx-1.17.4-setting_args_invalidates_uri.patch b/patches/nginx/1.17.4/nginx-1.17.4-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.17.4-setting_args_invalidates_uri.patch rename to patches/nginx/1.17.4/nginx-1.17.4-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.17.4-single_process_graceful_exit.patch b/patches/nginx/1.17.4/nginx-1.17.4-single_process_graceful_exit.patch similarity index 100% rename from patches/nginx-1.17.4-single_process_graceful_exit.patch rename to patches/nginx/1.17.4/nginx-1.17.4-single_process_graceful_exit.patch diff --git a/patches/nginx-1.17.4-socket_cloexec.patch b/patches/nginx/1.17.4/nginx-1.17.4-socket_cloexec.patch similarity index 100% rename from patches/nginx-1.17.4-socket_cloexec.patch rename to patches/nginx/1.17.4/nginx-1.17.4-socket_cloexec.patch diff --git a/patches/nginx-1.17.4-ssl_cert_cb_yield.patch b/patches/nginx/1.17.4/nginx-1.17.4-ssl_cert_cb_yield.patch similarity index 100% rename from patches/nginx-1.17.4-ssl_cert_cb_yield.patch rename to patches/nginx/1.17.4/nginx-1.17.4-ssl_cert_cb_yield.patch diff --git a/patches/nginx-1.17.4-ssl_sess_cb_yield.patch b/patches/nginx/1.17.4/nginx-1.17.4-ssl_sess_cb_yield.patch similarity index 100% rename from patches/nginx-1.17.4-ssl_sess_cb_yield.patch rename to patches/nginx/1.17.4/nginx-1.17.4-ssl_sess_cb_yield.patch diff --git a/patches/nginx-1.17.4-stream_balancer_export.patch b/patches/nginx/1.17.4/nginx-1.17.4-stream_balancer_export.patch similarity index 100% rename from patches/nginx-1.17.4-stream_balancer_export.patch rename to patches/nginx/1.17.4/nginx-1.17.4-stream_balancer_export.patch diff --git a/patches/nginx-1.17.4-stream_proxy_get_next_upstream_tries.patch b/patches/nginx/1.17.4/nginx-1.17.4-stream_proxy_get_next_upstream_tries.patch similarity index 100% rename from patches/nginx-1.17.4-stream_proxy_get_next_upstream_tries.patch rename to patches/nginx/1.17.4/nginx-1.17.4-stream_proxy_get_next_upstream_tries.patch diff --git a/patches/nginx-1.17.4-stream_proxy_timeout_fields.patch b/patches/nginx/1.17.4/nginx-1.17.4-stream_proxy_timeout_fields.patch similarity index 100% rename from patches/nginx-1.17.4-stream_proxy_timeout_fields.patch rename to patches/nginx/1.17.4/nginx-1.17.4-stream_proxy_timeout_fields.patch diff --git a/patches/nginx-1.17.4-stream_ssl_preread_no_skip.patch b/patches/nginx/1.17.4/nginx-1.17.4-stream_ssl_preread_no_skip.patch similarity index 100% rename from patches/nginx-1.17.4-stream_ssl_preread_no_skip.patch rename to patches/nginx/1.17.4/nginx-1.17.4-stream_ssl_preread_no_skip.patch diff --git a/patches/nginx-1.17.4-upstream_pipelining.patch b/patches/nginx/1.17.4/nginx-1.17.4-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.17.4-upstream_pipelining.patch rename to patches/nginx/1.17.4/nginx-1.17.4-upstream_pipelining.patch diff --git a/patches/nginx-1.17.4-upstream_timeout_fields.patch b/patches/nginx/1.17.4/nginx-1.17.4-upstream_timeout_fields.patch similarity index 100% rename from patches/nginx-1.17.4-upstream_timeout_fields.patch rename to patches/nginx/1.17.4/nginx-1.17.4-upstream_timeout_fields.patch diff --git a/patches/nginx-1.17.4-win32_max_err_str.patch b/patches/nginx/1.17.4/nginx-1.17.4-win32_max_err_str.patch similarity index 100% rename from patches/nginx-1.17.4-win32_max_err_str.patch rename to patches/nginx/1.17.4/nginx-1.17.4-win32_max_err_str.patch diff --git a/patches/nginx-1.17.8-always_enable_cc_feature_tests.patch b/patches/nginx/1.17.8/nginx-1.17.8-always_enable_cc_feature_tests.patch similarity index 100% rename from patches/nginx-1.17.8-always_enable_cc_feature_tests.patch rename to patches/nginx/1.17.8/nginx-1.17.8-always_enable_cc_feature_tests.patch diff --git a/patches/nginx-1.17.8-balancer_status_code.patch b/patches/nginx/1.17.8/nginx-1.17.8-balancer_status_code.patch similarity index 100% rename from patches/nginx-1.17.8-balancer_status_code.patch rename to patches/nginx/1.17.8/nginx-1.17.8-balancer_status_code.patch diff --git a/patches/nginx-1.17.8-builtin_error_page_footer.patch b/patches/nginx/1.17.8/nginx-1.17.8-builtin_error_page_footer.patch similarity index 100% rename from patches/nginx-1.17.8-builtin_error_page_footer.patch rename to patches/nginx/1.17.8/nginx-1.17.8-builtin_error_page_footer.patch diff --git a/patches/nginx-1.17.8-cache_manager_exit.patch b/patches/nginx/1.17.8/nginx-1.17.8-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.17.8-cache_manager_exit.patch rename to patches/nginx/1.17.8/nginx-1.17.8-cache_manager_exit.patch diff --git a/patches/nginx-1.17.8-daemon_destroy_pool.patch b/patches/nginx/1.17.8/nginx-1.17.8-daemon_destroy_pool.patch similarity index 100% rename from patches/nginx-1.17.8-daemon_destroy_pool.patch rename to patches/nginx/1.17.8/nginx-1.17.8-daemon_destroy_pool.patch diff --git a/patches/nginx-1.17.8-delayed_posted_events.patch b/patches/nginx/1.17.8/nginx-1.17.8-delayed_posted_events.patch similarity index 100% rename from patches/nginx-1.17.8-delayed_posted_events.patch rename to patches/nginx/1.17.8/nginx-1.17.8-delayed_posted_events.patch diff --git a/patches/nginx-1.17.8-hash_overflow.patch b/patches/nginx/1.17.8/nginx-1.17.8-hash_overflow.patch similarity index 100% rename from patches/nginx-1.17.8-hash_overflow.patch rename to patches/nginx/1.17.8/nginx-1.17.8-hash_overflow.patch diff --git a/patches/nginx-1.17.8-init_cycle_pool_release.patch b/patches/nginx/1.17.8/nginx-1.17.8-init_cycle_pool_release.patch similarity index 100% rename from patches/nginx-1.17.8-init_cycle_pool_release.patch rename to patches/nginx/1.17.8/nginx-1.17.8-init_cycle_pool_release.patch diff --git a/patches/nginx-1.17.8-intercept_error_log.patch b/patches/nginx/1.17.8/nginx-1.17.8-intercept_error_log.patch similarity index 100% rename from patches/nginx-1.17.8-intercept_error_log.patch rename to patches/nginx/1.17.8/nginx-1.17.8-intercept_error_log.patch diff --git a/patches/nginx-1.17.8-larger_max_error_str.patch b/patches/nginx/1.17.8/nginx-1.17.8-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.17.8-larger_max_error_str.patch rename to patches/nginx/1.17.8/nginx-1.17.8-larger_max_error_str.patch diff --git a/patches/nginx-1.17.8-log_escape_non_ascii.patch b/patches/nginx/1.17.8/nginx-1.17.8-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.17.8-log_escape_non_ascii.patch rename to patches/nginx/1.17.8/nginx-1.17.8-log_escape_non_ascii.patch diff --git a/patches/nginx-1.17.8-no_Werror.patch b/patches/nginx/1.17.8/nginx-1.17.8-no_Werror.patch similarity index 100% rename from patches/nginx-1.17.8-no_Werror.patch rename to patches/nginx/1.17.8/nginx-1.17.8-no_Werror.patch diff --git a/patches/nginx-1.17.8-no_error_pages.patch b/patches/nginx/1.17.8/nginx-1.17.8-no_error_pages.patch similarity index 100% rename from patches/nginx-1.17.8-no_error_pages.patch rename to patches/nginx/1.17.8/nginx-1.17.8-no_error_pages.patch diff --git a/patches/nginx-1.17.8-no_pool.patch b/patches/nginx/1.17.8/nginx-1.17.8-no_pool.patch similarity index 100% rename from patches/nginx-1.17.8-no_pool.patch rename to patches/nginx/1.17.8/nginx-1.17.8-no_pool.patch diff --git a/patches/nginx-1.17.8-pcre_conf_opt.patch b/patches/nginx/1.17.8/nginx-1.17.8-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.17.8-pcre_conf_opt.patch rename to patches/nginx/1.17.8/nginx-1.17.8-pcre_conf_opt.patch diff --git a/patches/nginx-1.17.8-privileged_agent_process.patch b/patches/nginx/1.17.8/nginx-1.17.8-privileged_agent_process.patch similarity index 100% rename from patches/nginx-1.17.8-privileged_agent_process.patch rename to patches/nginx/1.17.8/nginx-1.17.8-privileged_agent_process.patch diff --git a/patches/nginx-1.17.8-proxy_host_port_vars.patch b/patches/nginx/1.17.8/nginx-1.17.8-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.17.8-proxy_host_port_vars.patch rename to patches/nginx/1.17.8/nginx-1.17.8-proxy_host_port_vars.patch diff --git a/patches/nginx-1.17.8-resolver_conf_parsing.patch b/patches/nginx/1.17.8/nginx-1.17.8-resolver_conf_parsing.patch similarity index 100% rename from patches/nginx-1.17.8-resolver_conf_parsing.patch rename to patches/nginx/1.17.8/nginx-1.17.8-resolver_conf_parsing.patch diff --git a/patches/nginx-1.17.8-reuseport_close_unused_fds.patch b/patches/nginx/1.17.8/nginx-1.17.8-reuseport_close_unused_fds.patch similarity index 100% rename from patches/nginx-1.17.8-reuseport_close_unused_fds.patch rename to patches/nginx/1.17.8/nginx-1.17.8-reuseport_close_unused_fds.patch diff --git a/patches/nginx-1.17.8-safe_resolver_ipv6_option.patch b/patches/nginx/1.17.8/nginx-1.17.8-safe_resolver_ipv6_option.patch similarity index 100% rename from patches/nginx-1.17.8-safe_resolver_ipv6_option.patch rename to patches/nginx/1.17.8/nginx-1.17.8-safe_resolver_ipv6_option.patch diff --git a/patches/nginx-1.17.8-server_header.patch b/patches/nginx/1.17.8/nginx-1.17.8-server_header.patch similarity index 100% rename from patches/nginx-1.17.8-server_header.patch rename to patches/nginx/1.17.8/nginx-1.17.8-server_header.patch diff --git a/patches/nginx-1.17.8-setting_args_invalidates_uri.patch b/patches/nginx/1.17.8/nginx-1.17.8-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.17.8-setting_args_invalidates_uri.patch rename to patches/nginx/1.17.8/nginx-1.17.8-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.17.8-single_process_graceful_exit.patch b/patches/nginx/1.17.8/nginx-1.17.8-single_process_graceful_exit.patch similarity index 100% rename from patches/nginx-1.17.8-single_process_graceful_exit.patch rename to patches/nginx/1.17.8/nginx-1.17.8-single_process_graceful_exit.patch diff --git a/patches/nginx-1.17.8-socket_cloexec.patch b/patches/nginx/1.17.8/nginx-1.17.8-socket_cloexec.patch similarity index 100% rename from patches/nginx-1.17.8-socket_cloexec.patch rename to patches/nginx/1.17.8/nginx-1.17.8-socket_cloexec.patch diff --git a/patches/nginx-1.17.8-ssl_cert_cb_yield.patch b/patches/nginx/1.17.8/nginx-1.17.8-ssl_cert_cb_yield.patch similarity index 100% rename from patches/nginx-1.17.8-ssl_cert_cb_yield.patch rename to patches/nginx/1.17.8/nginx-1.17.8-ssl_cert_cb_yield.patch diff --git a/patches/nginx-1.17.8-ssl_sess_cb_yield.patch b/patches/nginx/1.17.8/nginx-1.17.8-ssl_sess_cb_yield.patch similarity index 100% rename from patches/nginx-1.17.8-ssl_sess_cb_yield.patch rename to patches/nginx/1.17.8/nginx-1.17.8-ssl_sess_cb_yield.patch diff --git a/patches/nginx-1.17.8-static_mod_escape_loc_hdr.patch b/patches/nginx/1.17.8/nginx-1.17.8-static_mod_escape_loc_hdr.patch similarity index 100% rename from patches/nginx-1.17.8-static_mod_escape_loc_hdr.patch rename to patches/nginx/1.17.8/nginx-1.17.8-static_mod_escape_loc_hdr.patch diff --git a/patches/nginx-1.17.8-stream_balancer_export.patch b/patches/nginx/1.17.8/nginx-1.17.8-stream_balancer_export.patch similarity index 100% rename from patches/nginx-1.17.8-stream_balancer_export.patch rename to patches/nginx/1.17.8/nginx-1.17.8-stream_balancer_export.patch diff --git a/patches/nginx-1.17.8-stream_proxy_get_next_upstream_tries.patch b/patches/nginx/1.17.8/nginx-1.17.8-stream_proxy_get_next_upstream_tries.patch similarity index 100% rename from patches/nginx-1.17.8-stream_proxy_get_next_upstream_tries.patch rename to patches/nginx/1.17.8/nginx-1.17.8-stream_proxy_get_next_upstream_tries.patch diff --git a/patches/nginx-1.17.8-stream_proxy_timeout_fields.patch b/patches/nginx/1.17.8/nginx-1.17.8-stream_proxy_timeout_fields.patch similarity index 100% rename from patches/nginx-1.17.8-stream_proxy_timeout_fields.patch rename to patches/nginx/1.17.8/nginx-1.17.8-stream_proxy_timeout_fields.patch diff --git a/patches/nginx-1.17.8-stream_ssl_preread_no_skip.patch b/patches/nginx/1.17.8/nginx-1.17.8-stream_ssl_preread_no_skip.patch similarity index 100% rename from patches/nginx-1.17.8-stream_ssl_preread_no_skip.patch rename to patches/nginx/1.17.8/nginx-1.17.8-stream_ssl_preread_no_skip.patch diff --git a/patches/nginx-1.17.8-upstream_pipelining.patch b/patches/nginx/1.17.8/nginx-1.17.8-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.17.8-upstream_pipelining.patch rename to patches/nginx/1.17.8/nginx-1.17.8-upstream_pipelining.patch diff --git a/patches/nginx-1.17.8-upstream_timeout_fields.patch b/patches/nginx/1.17.8/nginx-1.17.8-upstream_timeout_fields.patch similarity index 100% rename from patches/nginx-1.17.8-upstream_timeout_fields.patch rename to patches/nginx/1.17.8/nginx-1.17.8-upstream_timeout_fields.patch diff --git a/patches/nginx-1.17.8-win32_max_err_str.patch b/patches/nginx/1.17.8/nginx-1.17.8-win32_max_err_str.patch similarity index 100% rename from patches/nginx-1.17.8-win32_max_err_str.patch rename to patches/nginx/1.17.8/nginx-1.17.8-win32_max_err_str.patch diff --git a/patches/nginx-1.19.2-always_enable_cc_feature_tests.patch b/patches/nginx/1.19.2/nginx-1.19.2-always_enable_cc_feature_tests.patch similarity index 100% rename from patches/nginx-1.19.2-always_enable_cc_feature_tests.patch rename to patches/nginx/1.19.2/nginx-1.19.2-always_enable_cc_feature_tests.patch diff --git a/patches/nginx-1.19.2-balancer_status_code.patch b/patches/nginx/1.19.2/nginx-1.19.2-balancer_status_code.patch similarity index 100% rename from patches/nginx-1.19.2-balancer_status_code.patch rename to patches/nginx/1.19.2/nginx-1.19.2-balancer_status_code.patch diff --git a/patches/nginx-1.19.2-builtin_error_page_footer.patch b/patches/nginx/1.19.2/nginx-1.19.2-builtin_error_page_footer.patch similarity index 100% rename from patches/nginx-1.19.2-builtin_error_page_footer.patch rename to patches/nginx/1.19.2/nginx-1.19.2-builtin_error_page_footer.patch diff --git a/patches/nginx-1.19.2-cache_manager_exit.patch b/patches/nginx/1.19.2/nginx-1.19.2-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.19.2-cache_manager_exit.patch rename to patches/nginx/1.19.2/nginx-1.19.2-cache_manager_exit.patch diff --git a/patches/nginx-1.19.2-daemon_destroy_pool.patch b/patches/nginx/1.19.2/nginx-1.19.2-daemon_destroy_pool.patch similarity index 100% rename from patches/nginx-1.19.2-daemon_destroy_pool.patch rename to patches/nginx/1.19.2/nginx-1.19.2-daemon_destroy_pool.patch diff --git a/patches/nginx-1.19.2-delayed_posted_events.patch b/patches/nginx/1.19.2/nginx-1.19.2-delayed_posted_events.patch similarity index 100% rename from patches/nginx-1.19.2-delayed_posted_events.patch rename to patches/nginx/1.19.2/nginx-1.19.2-delayed_posted_events.patch diff --git a/patches/nginx-1.19.2-hash_overflow.patch b/patches/nginx/1.19.2/nginx-1.19.2-hash_overflow.patch similarity index 100% rename from patches/nginx-1.19.2-hash_overflow.patch rename to patches/nginx/1.19.2/nginx-1.19.2-hash_overflow.patch diff --git a/patches/nginx-1.19.2-init_cycle_pool_release.patch b/patches/nginx/1.19.2/nginx-1.19.2-init_cycle_pool_release.patch similarity index 100% rename from patches/nginx-1.19.2-init_cycle_pool_release.patch rename to patches/nginx/1.19.2/nginx-1.19.2-init_cycle_pool_release.patch diff --git a/patches/nginx-1.19.2-intercept_error_log.patch b/patches/nginx/1.19.2/nginx-1.19.2-intercept_error_log.patch similarity index 100% rename from patches/nginx-1.19.2-intercept_error_log.patch rename to patches/nginx/1.19.2/nginx-1.19.2-intercept_error_log.patch diff --git a/patches/nginx-1.19.2-larger_max_error_str.patch b/patches/nginx/1.19.2/nginx-1.19.2-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.19.2-larger_max_error_str.patch rename to patches/nginx/1.19.2/nginx-1.19.2-larger_max_error_str.patch diff --git a/patches/nginx-1.19.2-log_escape_non_ascii.patch b/patches/nginx/1.19.2/nginx-1.19.2-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.19.2-log_escape_non_ascii.patch rename to patches/nginx/1.19.2/nginx-1.19.2-log_escape_non_ascii.patch diff --git a/patches/nginx-1.19.2-no_Werror.patch b/patches/nginx/1.19.2/nginx-1.19.2-no_Werror.patch similarity index 100% rename from patches/nginx-1.19.2-no_Werror.patch rename to patches/nginx/1.19.2/nginx-1.19.2-no_Werror.patch diff --git a/patches/nginx-1.19.2-no_error_pages.patch b/patches/nginx/1.19.2/nginx-1.19.2-no_error_pages.patch similarity index 100% rename from patches/nginx-1.19.2-no_error_pages.patch rename to patches/nginx/1.19.2/nginx-1.19.2-no_error_pages.patch diff --git a/patches/nginx-1.19.2-no_pool.patch b/patches/nginx/1.19.2/nginx-1.19.2-no_pool.patch similarity index 100% rename from patches/nginx-1.19.2-no_pool.patch rename to patches/nginx/1.19.2/nginx-1.19.2-no_pool.patch diff --git a/patches/nginx-1.19.2-pcre_conf_opt.patch b/patches/nginx/1.19.2/nginx-1.19.2-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.19.2-pcre_conf_opt.patch rename to patches/nginx/1.19.2/nginx-1.19.2-pcre_conf_opt.patch diff --git a/patches/nginx-1.19.2-privileged_agent_process.patch b/patches/nginx/1.19.2/nginx-1.19.2-privileged_agent_process.patch similarity index 100% rename from patches/nginx-1.19.2-privileged_agent_process.patch rename to patches/nginx/1.19.2/nginx-1.19.2-privileged_agent_process.patch diff --git a/patches/nginx-1.19.2-proxy_host_port_vars.patch b/patches/nginx/1.19.2/nginx-1.19.2-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.19.2-proxy_host_port_vars.patch rename to patches/nginx/1.19.2/nginx-1.19.2-proxy_host_port_vars.patch diff --git a/patches/nginx-1.19.2-resolver_conf_parsing.patch b/patches/nginx/1.19.2/nginx-1.19.2-resolver_conf_parsing.patch similarity index 100% rename from patches/nginx-1.19.2-resolver_conf_parsing.patch rename to patches/nginx/1.19.2/nginx-1.19.2-resolver_conf_parsing.patch diff --git a/patches/nginx-1.19.2-reuseport_close_unused_fds.patch b/patches/nginx/1.19.2/nginx-1.19.2-reuseport_close_unused_fds.patch similarity index 100% rename from patches/nginx-1.19.2-reuseport_close_unused_fds.patch rename to patches/nginx/1.19.2/nginx-1.19.2-reuseport_close_unused_fds.patch diff --git a/patches/nginx-1.19.2-safe_resolver_ipv6_option.patch b/patches/nginx/1.19.2/nginx-1.19.2-safe_resolver_ipv6_option.patch similarity index 100% rename from patches/nginx-1.19.2-safe_resolver_ipv6_option.patch rename to patches/nginx/1.19.2/nginx-1.19.2-safe_resolver_ipv6_option.patch diff --git a/patches/nginx-1.19.2-server_header.patch b/patches/nginx/1.19.2/nginx-1.19.2-server_header.patch similarity index 100% rename from patches/nginx-1.19.2-server_header.patch rename to patches/nginx/1.19.2/nginx-1.19.2-server_header.patch diff --git a/patches/nginx-1.19.2-setting_args_invalidates_uri.patch b/patches/nginx/1.19.2/nginx-1.19.2-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.19.2-setting_args_invalidates_uri.patch rename to patches/nginx/1.19.2/nginx-1.19.2-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.19.2-single_process_graceful_exit.patch b/patches/nginx/1.19.2/nginx-1.19.2-single_process_graceful_exit.patch similarity index 100% rename from patches/nginx-1.19.2-single_process_graceful_exit.patch rename to patches/nginx/1.19.2/nginx-1.19.2-single_process_graceful_exit.patch diff --git a/patches/nginx-1.19.2-socket_cloexec.patch b/patches/nginx/1.19.2/nginx-1.19.2-socket_cloexec.patch similarity index 100% rename from patches/nginx-1.19.2-socket_cloexec.patch rename to patches/nginx/1.19.2/nginx-1.19.2-socket_cloexec.patch diff --git a/patches/nginx-1.19.2-ssl_cert_cb_yield.patch b/patches/nginx/1.19.2/nginx-1.19.2-ssl_cert_cb_yield.patch similarity index 100% rename from patches/nginx-1.19.2-ssl_cert_cb_yield.patch rename to patches/nginx/1.19.2/nginx-1.19.2-ssl_cert_cb_yield.patch diff --git a/patches/nginx-1.19.2-ssl_sess_cb_yield.patch b/patches/nginx/1.19.2/nginx-1.19.2-ssl_sess_cb_yield.patch similarity index 100% rename from patches/nginx-1.19.2-ssl_sess_cb_yield.patch rename to patches/nginx/1.19.2/nginx-1.19.2-ssl_sess_cb_yield.patch diff --git a/patches/nginx-1.19.2-static_mod_escape_loc_hdr.patch b/patches/nginx/1.19.2/nginx-1.19.2-static_mod_escape_loc_hdr.patch similarity index 100% rename from patches/nginx-1.19.2-static_mod_escape_loc_hdr.patch rename to patches/nginx/1.19.2/nginx-1.19.2-static_mod_escape_loc_hdr.patch diff --git a/patches/nginx-1.19.2-stream_balancer_export.patch b/patches/nginx/1.19.2/nginx-1.19.2-stream_balancer_export.patch similarity index 100% rename from patches/nginx-1.19.2-stream_balancer_export.patch rename to patches/nginx/1.19.2/nginx-1.19.2-stream_balancer_export.patch diff --git a/patches/nginx-1.19.2-stream_proxy_get_next_upstream_tries.patch b/patches/nginx/1.19.2/nginx-1.19.2-stream_proxy_get_next_upstream_tries.patch similarity index 100% rename from patches/nginx-1.19.2-stream_proxy_get_next_upstream_tries.patch rename to patches/nginx/1.19.2/nginx-1.19.2-stream_proxy_get_next_upstream_tries.patch diff --git a/patches/nginx-1.19.2-stream_proxy_timeout_fields.patch b/patches/nginx/1.19.2/nginx-1.19.2-stream_proxy_timeout_fields.patch similarity index 100% rename from patches/nginx-1.19.2-stream_proxy_timeout_fields.patch rename to patches/nginx/1.19.2/nginx-1.19.2-stream_proxy_timeout_fields.patch diff --git a/patches/nginx-1.19.2-stream_ssl_preread_no_skip.patch b/patches/nginx/1.19.2/nginx-1.19.2-stream_ssl_preread_no_skip.patch similarity index 100% rename from patches/nginx-1.19.2-stream_ssl_preread_no_skip.patch rename to patches/nginx/1.19.2/nginx-1.19.2-stream_ssl_preread_no_skip.patch diff --git a/patches/nginx-1.19.2-upstream_pipelining.patch b/patches/nginx/1.19.2/nginx-1.19.2-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.19.2-upstream_pipelining.patch rename to patches/nginx/1.19.2/nginx-1.19.2-upstream_pipelining.patch diff --git a/patches/nginx-1.19.2-upstream_timeout_fields.patch b/patches/nginx/1.19.2/nginx-1.19.2-upstream_timeout_fields.patch similarity index 100% rename from patches/nginx-1.19.2-upstream_timeout_fields.patch rename to patches/nginx/1.19.2/nginx-1.19.2-upstream_timeout_fields.patch diff --git a/patches/nginx-1.19.2-win32_max_err_str.patch b/patches/nginx/1.19.2/nginx-1.19.2-win32_max_err_str.patch similarity index 100% rename from patches/nginx-1.19.2-win32_max_err_str.patch rename to patches/nginx/1.19.2/nginx-1.19.2-win32_max_err_str.patch diff --git a/patches/nginx-1.19.3-always_enable_cc_feature_tests.patch b/patches/nginx/1.19.3/nginx-1.19.3-always_enable_cc_feature_tests.patch similarity index 100% rename from patches/nginx-1.19.3-always_enable_cc_feature_tests.patch rename to patches/nginx/1.19.3/nginx-1.19.3-always_enable_cc_feature_tests.patch diff --git a/patches/nginx-1.19.3-balancer_status_code.patch b/patches/nginx/1.19.3/nginx-1.19.3-balancer_status_code.patch similarity index 100% rename from patches/nginx-1.19.3-balancer_status_code.patch rename to patches/nginx/1.19.3/nginx-1.19.3-balancer_status_code.patch diff --git a/patches/nginx-1.19.3-builtin_error_page_footer.patch b/patches/nginx/1.19.3/nginx-1.19.3-builtin_error_page_footer.patch similarity index 100% rename from patches/nginx-1.19.3-builtin_error_page_footer.patch rename to patches/nginx/1.19.3/nginx-1.19.3-builtin_error_page_footer.patch diff --git a/patches/nginx-1.19.3-cache_manager_exit.patch b/patches/nginx/1.19.3/nginx-1.19.3-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.19.3-cache_manager_exit.patch rename to patches/nginx/1.19.3/nginx-1.19.3-cache_manager_exit.patch diff --git a/patches/nginx-1.19.3-daemon_destroy_pool.patch b/patches/nginx/1.19.3/nginx-1.19.3-daemon_destroy_pool.patch similarity index 100% rename from patches/nginx-1.19.3-daemon_destroy_pool.patch rename to patches/nginx/1.19.3/nginx-1.19.3-daemon_destroy_pool.patch diff --git a/patches/nginx-1.19.3-delayed_posted_events.patch b/patches/nginx/1.19.3/nginx-1.19.3-delayed_posted_events.patch similarity index 100% rename from patches/nginx-1.19.3-delayed_posted_events.patch rename to patches/nginx/1.19.3/nginx-1.19.3-delayed_posted_events.patch diff --git a/patches/nginx-1.19.3-hash_overflow.patch b/patches/nginx/1.19.3/nginx-1.19.3-hash_overflow.patch similarity index 100% rename from patches/nginx-1.19.3-hash_overflow.patch rename to patches/nginx/1.19.3/nginx-1.19.3-hash_overflow.patch diff --git a/patches/nginx-1.19.3-init_cycle_pool_release.patch b/patches/nginx/1.19.3/nginx-1.19.3-init_cycle_pool_release.patch similarity index 100% rename from patches/nginx-1.19.3-init_cycle_pool_release.patch rename to patches/nginx/1.19.3/nginx-1.19.3-init_cycle_pool_release.patch diff --git a/patches/nginx-1.19.3-intercept_error_log.patch b/patches/nginx/1.19.3/nginx-1.19.3-intercept_error_log.patch similarity index 100% rename from patches/nginx-1.19.3-intercept_error_log.patch rename to patches/nginx/1.19.3/nginx-1.19.3-intercept_error_log.patch diff --git a/patches/nginx-1.19.3-larger_max_error_str.patch b/patches/nginx/1.19.3/nginx-1.19.3-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.19.3-larger_max_error_str.patch rename to patches/nginx/1.19.3/nginx-1.19.3-larger_max_error_str.patch diff --git a/patches/nginx-1.19.3-log_escape_non_ascii.patch b/patches/nginx/1.19.3/nginx-1.19.3-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.19.3-log_escape_non_ascii.patch rename to patches/nginx/1.19.3/nginx-1.19.3-log_escape_non_ascii.patch diff --git a/patches/nginx-1.19.3-no_Werror.patch b/patches/nginx/1.19.3/nginx-1.19.3-no_Werror.patch similarity index 100% rename from patches/nginx-1.19.3-no_Werror.patch rename to patches/nginx/1.19.3/nginx-1.19.3-no_Werror.patch diff --git a/patches/nginx-1.19.3-no_error_pages.patch b/patches/nginx/1.19.3/nginx-1.19.3-no_error_pages.patch similarity index 100% rename from patches/nginx-1.19.3-no_error_pages.patch rename to patches/nginx/1.19.3/nginx-1.19.3-no_error_pages.patch diff --git a/patches/nginx-1.19.3-no_pool.patch b/patches/nginx/1.19.3/nginx-1.19.3-no_pool.patch similarity index 100% rename from patches/nginx-1.19.3-no_pool.patch rename to patches/nginx/1.19.3/nginx-1.19.3-no_pool.patch diff --git a/patches/nginx-1.19.3-pcre_conf_opt.patch b/patches/nginx/1.19.3/nginx-1.19.3-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.19.3-pcre_conf_opt.patch rename to patches/nginx/1.19.3/nginx-1.19.3-pcre_conf_opt.patch diff --git a/patches/nginx-1.19.3-privileged_agent_process.patch b/patches/nginx/1.19.3/nginx-1.19.3-privileged_agent_process.patch similarity index 100% rename from patches/nginx-1.19.3-privileged_agent_process.patch rename to patches/nginx/1.19.3/nginx-1.19.3-privileged_agent_process.patch diff --git a/patches/nginx-1.19.3-privileged_agent_process_connections.patch b/patches/nginx/1.19.3/nginx-1.19.3-privileged_agent_process_connections.patch similarity index 100% rename from patches/nginx-1.19.3-privileged_agent_process_connections.patch rename to patches/nginx/1.19.3/nginx-1.19.3-privileged_agent_process_connections.patch diff --git a/patches/nginx-1.19.3-proc_exit_handler.patch b/patches/nginx/1.19.3/nginx-1.19.3-proc_exit_handler.patch similarity index 100% rename from patches/nginx-1.19.3-proc_exit_handler.patch rename to patches/nginx/1.19.3/nginx-1.19.3-proc_exit_handler.patch diff --git a/patches/nginx-1.19.3-proxy_host_port_vars.patch b/patches/nginx/1.19.3/nginx-1.19.3-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.19.3-proxy_host_port_vars.patch rename to patches/nginx/1.19.3/nginx-1.19.3-proxy_host_port_vars.patch diff --git a/patches/nginx-1.19.3-resolver_conf_parsing.patch b/patches/nginx/1.19.3/nginx-1.19.3-resolver_conf_parsing.patch similarity index 100% rename from patches/nginx-1.19.3-resolver_conf_parsing.patch rename to patches/nginx/1.19.3/nginx-1.19.3-resolver_conf_parsing.patch diff --git a/patches/nginx-1.19.3-reuseport_close_unused_fds.patch b/patches/nginx/1.19.3/nginx-1.19.3-reuseport_close_unused_fds.patch similarity index 100% rename from patches/nginx-1.19.3-reuseport_close_unused_fds.patch rename to patches/nginx/1.19.3/nginx-1.19.3-reuseport_close_unused_fds.patch diff --git a/patches/nginx-1.19.3-safe_resolver_ipv6_option.patch b/patches/nginx/1.19.3/nginx-1.19.3-safe_resolver_ipv6_option.patch similarity index 100% rename from patches/nginx-1.19.3-safe_resolver_ipv6_option.patch rename to patches/nginx/1.19.3/nginx-1.19.3-safe_resolver_ipv6_option.patch diff --git a/patches/nginx-1.19.3-server_header.patch b/patches/nginx/1.19.3/nginx-1.19.3-server_header.patch similarity index 100% rename from patches/nginx-1.19.3-server_header.patch rename to patches/nginx/1.19.3/nginx-1.19.3-server_header.patch diff --git a/patches/nginx-1.19.3-setting_args_invalidates_uri.patch b/patches/nginx/1.19.3/nginx-1.19.3-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.19.3-setting_args_invalidates_uri.patch rename to patches/nginx/1.19.3/nginx-1.19.3-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.19.3-single_process_graceful_exit.patch b/patches/nginx/1.19.3/nginx-1.19.3-single_process_graceful_exit.patch similarity index 100% rename from patches/nginx-1.19.3-single_process_graceful_exit.patch rename to patches/nginx/1.19.3/nginx-1.19.3-single_process_graceful_exit.patch diff --git a/patches/nginx-1.19.3-socket_cloexec.patch b/patches/nginx/1.19.3/nginx-1.19.3-socket_cloexec.patch similarity index 100% rename from patches/nginx-1.19.3-socket_cloexec.patch rename to patches/nginx/1.19.3/nginx-1.19.3-socket_cloexec.patch diff --git a/patches/nginx-1.19.3-ssl_cert_cb_yield.patch b/patches/nginx/1.19.3/nginx-1.19.3-ssl_cert_cb_yield.patch similarity index 100% rename from patches/nginx-1.19.3-ssl_cert_cb_yield.patch rename to patches/nginx/1.19.3/nginx-1.19.3-ssl_cert_cb_yield.patch diff --git a/patches/nginx-1.19.3-ssl_sess_cb_yield.patch b/patches/nginx/1.19.3/nginx-1.19.3-ssl_sess_cb_yield.patch similarity index 100% rename from patches/nginx-1.19.3-ssl_sess_cb_yield.patch rename to patches/nginx/1.19.3/nginx-1.19.3-ssl_sess_cb_yield.patch diff --git a/patches/nginx-1.19.3-static_mod_escape_loc_hdr.patch b/patches/nginx/1.19.3/nginx-1.19.3-static_mod_escape_loc_hdr.patch similarity index 100% rename from patches/nginx-1.19.3-static_mod_escape_loc_hdr.patch rename to patches/nginx/1.19.3/nginx-1.19.3-static_mod_escape_loc_hdr.patch diff --git a/patches/nginx-1.19.3-stream_balancer_export.patch b/patches/nginx/1.19.3/nginx-1.19.3-stream_balancer_export.patch similarity index 100% rename from patches/nginx-1.19.3-stream_balancer_export.patch rename to patches/nginx/1.19.3/nginx-1.19.3-stream_balancer_export.patch diff --git a/patches/nginx-1.19.3-stream_proxy_get_next_upstream_tries.patch b/patches/nginx/1.19.3/nginx-1.19.3-stream_proxy_get_next_upstream_tries.patch similarity index 100% rename from patches/nginx-1.19.3-stream_proxy_get_next_upstream_tries.patch rename to patches/nginx/1.19.3/nginx-1.19.3-stream_proxy_get_next_upstream_tries.patch diff --git a/patches/nginx-1.19.3-stream_proxy_timeout_fields.patch b/patches/nginx/1.19.3/nginx-1.19.3-stream_proxy_timeout_fields.patch similarity index 100% rename from patches/nginx-1.19.3-stream_proxy_timeout_fields.patch rename to patches/nginx/1.19.3/nginx-1.19.3-stream_proxy_timeout_fields.patch diff --git a/patches/nginx-1.19.3-stream_ssl_preread_no_skip.patch b/patches/nginx/1.19.3/nginx-1.19.3-stream_ssl_preread_no_skip.patch similarity index 100% rename from patches/nginx-1.19.3-stream_ssl_preread_no_skip.patch rename to patches/nginx/1.19.3/nginx-1.19.3-stream_ssl_preread_no_skip.patch diff --git a/patches/nginx-1.19.3-upstream_pipelining.patch b/patches/nginx/1.19.3/nginx-1.19.3-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.19.3-upstream_pipelining.patch rename to patches/nginx/1.19.3/nginx-1.19.3-upstream_pipelining.patch diff --git a/patches/nginx-1.19.3-upstream_timeout_fields.patch b/patches/nginx/1.19.3/nginx-1.19.3-upstream_timeout_fields.patch similarity index 100% rename from patches/nginx-1.19.3-upstream_timeout_fields.patch rename to patches/nginx/1.19.3/nginx-1.19.3-upstream_timeout_fields.patch diff --git a/patches/nginx-1.19.3-win32_max_err_str.patch b/patches/nginx/1.19.3/nginx-1.19.3-win32_max_err_str.patch similarity index 100% rename from patches/nginx-1.19.3-win32_max_err_str.patch rename to patches/nginx/1.19.3/nginx-1.19.3-win32_max_err_str.patch diff --git a/patches/nginx-1.19.8-always_enable_cc_feature_tests.patch b/patches/nginx/1.19.8/nginx-1.19.8-always_enable_cc_feature_tests.patch similarity index 100% rename from patches/nginx-1.19.8-always_enable_cc_feature_tests.patch rename to patches/nginx/1.19.8/nginx-1.19.8-always_enable_cc_feature_tests.patch diff --git a/patches/nginx-1.19.8-balancer_status_code.patch b/patches/nginx/1.19.8/nginx-1.19.8-balancer_status_code.patch similarity index 100% rename from patches/nginx-1.19.8-balancer_status_code.patch rename to patches/nginx/1.19.8/nginx-1.19.8-balancer_status_code.patch diff --git a/patches/nginx-1.19.8-builtin_error_page_footer.patch b/patches/nginx/1.19.8/nginx-1.19.8-builtin_error_page_footer.patch similarity index 100% rename from patches/nginx-1.19.8-builtin_error_page_footer.patch rename to patches/nginx/1.19.8/nginx-1.19.8-builtin_error_page_footer.patch diff --git a/patches/nginx-1.19.8-cache_manager_exit.patch b/patches/nginx/1.19.8/nginx-1.19.8-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.19.8-cache_manager_exit.patch rename to patches/nginx/1.19.8/nginx-1.19.8-cache_manager_exit.patch diff --git a/patches/nginx-1.19.8-daemon_destroy_pool.patch b/patches/nginx/1.19.8/nginx-1.19.8-daemon_destroy_pool.patch similarity index 100% rename from patches/nginx-1.19.8-daemon_destroy_pool.patch rename to patches/nginx/1.19.8/nginx-1.19.8-daemon_destroy_pool.patch diff --git a/patches/nginx-1.19.8-delayed_posted_events.patch b/patches/nginx/1.19.8/nginx-1.19.8-delayed_posted_events.patch similarity index 100% rename from patches/nginx-1.19.8-delayed_posted_events.patch rename to patches/nginx/1.19.8/nginx-1.19.8-delayed_posted_events.patch diff --git a/patches/nginx-1.19.8-hash_overflow.patch b/patches/nginx/1.19.8/nginx-1.19.8-hash_overflow.patch similarity index 100% rename from patches/nginx-1.19.8-hash_overflow.patch rename to patches/nginx/1.19.8/nginx-1.19.8-hash_overflow.patch diff --git a/patches/nginx-1.19.8-init_cycle_pool_release.patch b/patches/nginx/1.19.8/nginx-1.19.8-init_cycle_pool_release.patch similarity index 100% rename from patches/nginx-1.19.8-init_cycle_pool_release.patch rename to patches/nginx/1.19.8/nginx-1.19.8-init_cycle_pool_release.patch diff --git a/patches/nginx-1.19.8-intercept_error_log.patch b/patches/nginx/1.19.8/nginx-1.19.8-intercept_error_log.patch similarity index 100% rename from patches/nginx-1.19.8-intercept_error_log.patch rename to patches/nginx/1.19.8/nginx-1.19.8-intercept_error_log.patch diff --git a/patches/nginx-1.19.8-larger_max_error_str.patch b/patches/nginx/1.19.8/nginx-1.19.8-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.19.8-larger_max_error_str.patch rename to patches/nginx/1.19.8/nginx-1.19.8-larger_max_error_str.patch diff --git a/patches/nginx-1.19.8-log_escape_non_ascii.patch b/patches/nginx/1.19.8/nginx-1.19.8-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.19.8-log_escape_non_ascii.patch rename to patches/nginx/1.19.8/nginx-1.19.8-log_escape_non_ascii.patch diff --git a/patches/nginx-1.19.8-no_Werror.patch b/patches/nginx/1.19.8/nginx-1.19.8-no_Werror.patch similarity index 100% rename from patches/nginx-1.19.8-no_Werror.patch rename to patches/nginx/1.19.8/nginx-1.19.8-no_Werror.patch diff --git a/patches/nginx-1.19.8-no_error_pages.patch b/patches/nginx/1.19.8/nginx-1.19.8-no_error_pages.patch similarity index 100% rename from patches/nginx-1.19.8-no_error_pages.patch rename to patches/nginx/1.19.8/nginx-1.19.8-no_error_pages.patch diff --git a/patches/nginx-1.19.8-no_pool.patch b/patches/nginx/1.19.8/nginx-1.19.8-no_pool.patch similarity index 100% rename from patches/nginx-1.19.8-no_pool.patch rename to patches/nginx/1.19.8/nginx-1.19.8-no_pool.patch diff --git a/patches/nginx-1.19.8-pcre_conf_opt.patch b/patches/nginx/1.19.8/nginx-1.19.8-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.19.8-pcre_conf_opt.patch rename to patches/nginx/1.19.8/nginx-1.19.8-pcre_conf_opt.patch diff --git a/patches/nginx-1.19.8-privileged_agent_process.patch b/patches/nginx/1.19.8/nginx-1.19.8-privileged_agent_process.patch similarity index 100% rename from patches/nginx-1.19.8-privileged_agent_process.patch rename to patches/nginx/1.19.8/nginx-1.19.8-privileged_agent_process.patch diff --git a/patches/nginx-1.19.8-proxy_host_port_vars.patch b/patches/nginx/1.19.8/nginx-1.19.8-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.19.8-proxy_host_port_vars.patch rename to patches/nginx/1.19.8/nginx-1.19.8-proxy_host_port_vars.patch diff --git a/patches/nginx-1.19.8-resolver_conf_parsing.patch b/patches/nginx/1.19.8/nginx-1.19.8-resolver_conf_parsing.patch similarity index 100% rename from patches/nginx-1.19.8-resolver_conf_parsing.patch rename to patches/nginx/1.19.8/nginx-1.19.8-resolver_conf_parsing.patch diff --git a/patches/nginx-1.19.8-reuseport_close_unused_fds.patch b/patches/nginx/1.19.8/nginx-1.19.8-reuseport_close_unused_fds.patch similarity index 100% rename from patches/nginx-1.19.8-reuseport_close_unused_fds.patch rename to patches/nginx/1.19.8/nginx-1.19.8-reuseport_close_unused_fds.patch diff --git a/patches/nginx-1.19.8-safe_resolver_ipv6_option.patch b/patches/nginx/1.19.8/nginx-1.19.8-safe_resolver_ipv6_option.patch similarity index 100% rename from patches/nginx-1.19.8-safe_resolver_ipv6_option.patch rename to patches/nginx/1.19.8/nginx-1.19.8-safe_resolver_ipv6_option.patch diff --git a/patches/nginx-1.19.8-server_header.patch b/patches/nginx/1.19.8/nginx-1.19.8-server_header.patch similarity index 100% rename from patches/nginx-1.19.8-server_header.patch rename to patches/nginx/1.19.8/nginx-1.19.8-server_header.patch diff --git a/patches/nginx-1.19.8-setting_args_invalidates_uri.patch b/patches/nginx/1.19.8/nginx-1.19.8-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.19.8-setting_args_invalidates_uri.patch rename to patches/nginx/1.19.8/nginx-1.19.8-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.19.8-single_process_graceful_exit.patch b/patches/nginx/1.19.8/nginx-1.19.8-single_process_graceful_exit.patch similarity index 100% rename from patches/nginx-1.19.8-single_process_graceful_exit.patch rename to patches/nginx/1.19.8/nginx-1.19.8-single_process_graceful_exit.patch diff --git a/patches/nginx-1.19.8-socket_cloexec.patch b/patches/nginx/1.19.8/nginx-1.19.8-socket_cloexec.patch similarity index 100% rename from patches/nginx-1.19.8-socket_cloexec.patch rename to patches/nginx/1.19.8/nginx-1.19.8-socket_cloexec.patch diff --git a/patches/nginx-1.19.8-ssl_cert_cb_yield.patch b/patches/nginx/1.19.8/nginx-1.19.8-ssl_cert_cb_yield.patch similarity index 100% rename from patches/nginx-1.19.8-ssl_cert_cb_yield.patch rename to patches/nginx/1.19.8/nginx-1.19.8-ssl_cert_cb_yield.patch diff --git a/patches/nginx-1.19.8-ssl_sess_cb_yield.patch b/patches/nginx/1.19.8/nginx-1.19.8-ssl_sess_cb_yield.patch similarity index 100% rename from patches/nginx-1.19.8-ssl_sess_cb_yield.patch rename to patches/nginx/1.19.8/nginx-1.19.8-ssl_sess_cb_yield.patch diff --git a/patches/nginx-1.19.8-static_mod_escape_loc_hdr.patch b/patches/nginx/1.19.8/nginx-1.19.8-static_mod_escape_loc_hdr.patch similarity index 100% rename from patches/nginx-1.19.8-static_mod_escape_loc_hdr.patch rename to patches/nginx/1.19.8/nginx-1.19.8-static_mod_escape_loc_hdr.patch diff --git a/patches/nginx-1.19.8-stream_balancer_export.patch b/patches/nginx/1.19.8/nginx-1.19.8-stream_balancer_export.patch similarity index 100% rename from patches/nginx-1.19.8-stream_balancer_export.patch rename to patches/nginx/1.19.8/nginx-1.19.8-stream_balancer_export.patch diff --git a/patches/nginx-1.19.8-stream_proxy_get_next_upstream_tries.patch b/patches/nginx/1.19.8/nginx-1.19.8-stream_proxy_get_next_upstream_tries.patch similarity index 100% rename from patches/nginx-1.19.8-stream_proxy_get_next_upstream_tries.patch rename to patches/nginx/1.19.8/nginx-1.19.8-stream_proxy_get_next_upstream_tries.patch diff --git a/patches/nginx-1.19.8-stream_proxy_timeout_fields.patch b/patches/nginx/1.19.8/nginx-1.19.8-stream_proxy_timeout_fields.patch similarity index 100% rename from patches/nginx-1.19.8-stream_proxy_timeout_fields.patch rename to patches/nginx/1.19.8/nginx-1.19.8-stream_proxy_timeout_fields.patch diff --git a/patches/nginx-1.19.8-stream_ssl_preread_no_skip.patch b/patches/nginx/1.19.8/nginx-1.19.8-stream_ssl_preread_no_skip.patch similarity index 100% rename from patches/nginx-1.19.8-stream_ssl_preread_no_skip.patch rename to patches/nginx/1.19.8/nginx-1.19.8-stream_ssl_preread_no_skip.patch diff --git a/patches/nginx-1.19.8-upstream_pipelining.patch b/patches/nginx/1.19.8/nginx-1.19.8-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.19.8-upstream_pipelining.patch rename to patches/nginx/1.19.8/nginx-1.19.8-upstream_pipelining.patch diff --git a/patches/nginx-1.19.8-upstream_timeout_fields.patch b/patches/nginx/1.19.8/nginx-1.19.8-upstream_timeout_fields.patch similarity index 100% rename from patches/nginx-1.19.8-upstream_timeout_fields.patch rename to patches/nginx/1.19.8/nginx-1.19.8-upstream_timeout_fields.patch diff --git a/patches/nginx-1.19.8-win32_max_err_str.patch b/patches/nginx/1.19.8/nginx-1.19.8-win32_max_err_str.patch similarity index 100% rename from patches/nginx-1.19.8-win32_max_err_str.patch rename to patches/nginx/1.19.8/nginx-1.19.8-win32_max_err_str.patch diff --git a/patches/nginx-1.19.9-always_enable_cc_feature_tests.patch b/patches/nginx/1.19.9/nginx-1.19.9-always_enable_cc_feature_tests.patch similarity index 100% rename from patches/nginx-1.19.9-always_enable_cc_feature_tests.patch rename to patches/nginx/1.19.9/nginx-1.19.9-always_enable_cc_feature_tests.patch diff --git a/patches/nginx-1.19.9-balancer_pool_max_retry.patch b/patches/nginx/1.19.9/nginx-1.19.9-balancer_pool_max_retry.patch similarity index 100% rename from patches/nginx-1.19.9-balancer_pool_max_retry.patch rename to patches/nginx/1.19.9/nginx-1.19.9-balancer_pool_max_retry.patch diff --git a/patches/nginx-1.19.9-balancer_status_code.patch b/patches/nginx/1.19.9/nginx-1.19.9-balancer_status_code.patch similarity index 100% rename from patches/nginx-1.19.9-balancer_status_code.patch rename to patches/nginx/1.19.9/nginx-1.19.9-balancer_status_code.patch diff --git a/patches/nginx-1.19.9-builtin_error_page_footer.patch b/patches/nginx/1.19.9/nginx-1.19.9-builtin_error_page_footer.patch similarity index 100% rename from patches/nginx-1.19.9-builtin_error_page_footer.patch rename to patches/nginx/1.19.9/nginx-1.19.9-builtin_error_page_footer.patch diff --git a/patches/nginx-1.19.9-cache_manager_exit.patch b/patches/nginx/1.19.9/nginx-1.19.9-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.19.9-cache_manager_exit.patch rename to patches/nginx/1.19.9/nginx-1.19.9-cache_manager_exit.patch diff --git a/patches/nginx-1.19.9-daemon_destroy_pool.patch b/patches/nginx/1.19.9/nginx-1.19.9-daemon_destroy_pool.patch similarity index 100% rename from patches/nginx-1.19.9-daemon_destroy_pool.patch rename to patches/nginx/1.19.9/nginx-1.19.9-daemon_destroy_pool.patch diff --git a/patches/nginx-1.19.9-delayed_posted_events.patch b/patches/nginx/1.19.9/nginx-1.19.9-delayed_posted_events.patch similarity index 100% rename from patches/nginx-1.19.9-delayed_posted_events.patch rename to patches/nginx/1.19.9/nginx-1.19.9-delayed_posted_events.patch diff --git a/patches/nginx-1.19.9-hash_overflow.patch b/patches/nginx/1.19.9/nginx-1.19.9-hash_overflow.patch similarity index 100% rename from patches/nginx-1.19.9-hash_overflow.patch rename to patches/nginx/1.19.9/nginx-1.19.9-hash_overflow.patch diff --git a/patches/nginx-1.19.9-init_cycle_pool_release.patch b/patches/nginx/1.19.9/nginx-1.19.9-init_cycle_pool_release.patch similarity index 100% rename from patches/nginx-1.19.9-init_cycle_pool_release.patch rename to patches/nginx/1.19.9/nginx-1.19.9-init_cycle_pool_release.patch diff --git a/patches/nginx-1.19.9-intercept_error_log.patch b/patches/nginx/1.19.9/nginx-1.19.9-intercept_error_log.patch similarity index 100% rename from patches/nginx-1.19.9-intercept_error_log.patch rename to patches/nginx/1.19.9/nginx-1.19.9-intercept_error_log.patch diff --git a/patches/nginx-1.19.9-larger_max_error_str.patch b/patches/nginx/1.19.9/nginx-1.19.9-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.19.9-larger_max_error_str.patch rename to patches/nginx/1.19.9/nginx-1.19.9-larger_max_error_str.patch diff --git a/patches/nginx-1.19.9-log_escape_non_ascii.patch b/patches/nginx/1.19.9/nginx-1.19.9-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.19.9-log_escape_non_ascii.patch rename to patches/nginx/1.19.9/nginx-1.19.9-log_escape_non_ascii.patch diff --git a/patches/nginx-1.19.9-no_Werror.patch b/patches/nginx/1.19.9/nginx-1.19.9-no_Werror.patch similarity index 100% rename from patches/nginx-1.19.9-no_Werror.patch rename to patches/nginx/1.19.9/nginx-1.19.9-no_Werror.patch diff --git a/patches/nginx-1.19.9-no_error_pages.patch b/patches/nginx/1.19.9/nginx-1.19.9-no_error_pages.patch similarity index 100% rename from patches/nginx-1.19.9-no_error_pages.patch rename to patches/nginx/1.19.9/nginx-1.19.9-no_error_pages.patch diff --git a/patches/nginx-1.19.9-no_pool.patch b/patches/nginx/1.19.9/nginx-1.19.9-no_pool.patch similarity index 100% rename from patches/nginx-1.19.9-no_pool.patch rename to patches/nginx/1.19.9/nginx-1.19.9-no_pool.patch diff --git a/patches/nginx-1.19.9-pcre_conf_opt.patch b/patches/nginx/1.19.9/nginx-1.19.9-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.19.9-pcre_conf_opt.patch rename to patches/nginx/1.19.9/nginx-1.19.9-pcre_conf_opt.patch diff --git a/patches/nginx-1.19.9-privileged_agent_process.patch b/patches/nginx/1.19.9/nginx-1.19.9-privileged_agent_process.patch similarity index 100% rename from patches/nginx-1.19.9-privileged_agent_process.patch rename to patches/nginx/1.19.9/nginx-1.19.9-privileged_agent_process.patch diff --git a/patches/nginx-1.19.9-privileged_agent_process_connections.patch b/patches/nginx/1.19.9/nginx-1.19.9-privileged_agent_process_connections.patch similarity index 100% rename from patches/nginx-1.19.9-privileged_agent_process_connections.patch rename to patches/nginx/1.19.9/nginx-1.19.9-privileged_agent_process_connections.patch diff --git a/patches/nginx-1.19.9-proc_exit_handler.patch b/patches/nginx/1.19.9/nginx-1.19.9-proc_exit_handler.patch similarity index 100% rename from patches/nginx-1.19.9-proc_exit_handler.patch rename to patches/nginx/1.19.9/nginx-1.19.9-proc_exit_handler.patch diff --git a/patches/nginx-1.19.9-proxy_host_port_vars.patch b/patches/nginx/1.19.9/nginx-1.19.9-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.19.9-proxy_host_port_vars.patch rename to patches/nginx/1.19.9/nginx-1.19.9-proxy_host_port_vars.patch diff --git a/patches/nginx-1.19.9-resolver_conf_parsing.patch b/patches/nginx/1.19.9/nginx-1.19.9-resolver_conf_parsing.patch similarity index 100% rename from patches/nginx-1.19.9-resolver_conf_parsing.patch rename to patches/nginx/1.19.9/nginx-1.19.9-resolver_conf_parsing.patch diff --git a/patches/nginx-1.19.9-reuseport_close_unused_fds.patch b/patches/nginx/1.19.9/nginx-1.19.9-reuseport_close_unused_fds.patch similarity index 100% rename from patches/nginx-1.19.9-reuseport_close_unused_fds.patch rename to patches/nginx/1.19.9/nginx-1.19.9-reuseport_close_unused_fds.patch diff --git a/patches/nginx-1.19.9-safe_resolver_ipv6_option.patch b/patches/nginx/1.19.9/nginx-1.19.9-safe_resolver_ipv6_option.patch similarity index 100% rename from patches/nginx-1.19.9-safe_resolver_ipv6_option.patch rename to patches/nginx/1.19.9/nginx-1.19.9-safe_resolver_ipv6_option.patch diff --git a/patches/nginx-1.19.9-server_header.patch b/patches/nginx/1.19.9/nginx-1.19.9-server_header.patch similarity index 100% rename from patches/nginx-1.19.9-server_header.patch rename to patches/nginx/1.19.9/nginx-1.19.9-server_header.patch diff --git a/patches/nginx-1.19.9-setting_args_invalidates_uri.patch b/patches/nginx/1.19.9/nginx-1.19.9-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.19.9-setting_args_invalidates_uri.patch rename to patches/nginx/1.19.9/nginx-1.19.9-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.19.9-single_process_graceful_exit.patch b/patches/nginx/1.19.9/nginx-1.19.9-single_process_graceful_exit.patch similarity index 100% rename from patches/nginx-1.19.9-single_process_graceful_exit.patch rename to patches/nginx/1.19.9/nginx-1.19.9-single_process_graceful_exit.patch diff --git a/patches/nginx-1.19.9-socket_cloexec.patch b/patches/nginx/1.19.9/nginx-1.19.9-socket_cloexec.patch similarity index 100% rename from patches/nginx-1.19.9-socket_cloexec.patch rename to patches/nginx/1.19.9/nginx-1.19.9-socket_cloexec.patch diff --git a/patches/nginx-1.19.9-ssl_cert_cb_yield.patch b/patches/nginx/1.19.9/nginx-1.19.9-ssl_cert_cb_yield.patch similarity index 100% rename from patches/nginx-1.19.9-ssl_cert_cb_yield.patch rename to patches/nginx/1.19.9/nginx-1.19.9-ssl_cert_cb_yield.patch diff --git a/patches/nginx-1.19.9-ssl_client_hello_cb_yield.patch b/patches/nginx/1.19.9/nginx-1.19.9-ssl_client_hello_cb_yield.patch similarity index 100% rename from patches/nginx-1.19.9-ssl_client_hello_cb_yield.patch rename to patches/nginx/1.19.9/nginx-1.19.9-ssl_client_hello_cb_yield.patch diff --git a/patches/nginx-1.19.9-ssl_sess_cb_yield.patch b/patches/nginx/1.19.9/nginx-1.19.9-ssl_sess_cb_yield.patch similarity index 100% rename from patches/nginx-1.19.9-ssl_sess_cb_yield.patch rename to patches/nginx/1.19.9/nginx-1.19.9-ssl_sess_cb_yield.patch diff --git a/patches/nginx-1.19.9-static_mod_escape_loc_hdr.patch b/patches/nginx/1.19.9/nginx-1.19.9-static_mod_escape_loc_hdr.patch similarity index 100% rename from patches/nginx-1.19.9-static_mod_escape_loc_hdr.patch rename to patches/nginx/1.19.9/nginx-1.19.9-static_mod_escape_loc_hdr.patch diff --git a/patches/nginx-1.19.9-stream_balancer_export.patch b/patches/nginx/1.19.9/nginx-1.19.9-stream_balancer_export.patch similarity index 100% rename from patches/nginx-1.19.9-stream_balancer_export.patch rename to patches/nginx/1.19.9/nginx-1.19.9-stream_balancer_export.patch diff --git a/patches/nginx-1.19.9-stream_proxy_get_next_upstream_tries.patch b/patches/nginx/1.19.9/nginx-1.19.9-stream_proxy_get_next_upstream_tries.patch similarity index 100% rename from patches/nginx-1.19.9-stream_proxy_get_next_upstream_tries.patch rename to patches/nginx/1.19.9/nginx-1.19.9-stream_proxy_get_next_upstream_tries.patch diff --git a/patches/nginx-1.19.9-stream_proxy_timeout_fields.patch b/patches/nginx/1.19.9/nginx-1.19.9-stream_proxy_timeout_fields.patch similarity index 100% rename from patches/nginx-1.19.9-stream_proxy_timeout_fields.patch rename to patches/nginx/1.19.9/nginx-1.19.9-stream_proxy_timeout_fields.patch diff --git a/patches/nginx-1.19.9-stream_ssl_preread_no_skip.patch b/patches/nginx/1.19.9/nginx-1.19.9-stream_ssl_preread_no_skip.patch similarity index 100% rename from patches/nginx-1.19.9-stream_ssl_preread_no_skip.patch rename to patches/nginx/1.19.9/nginx-1.19.9-stream_ssl_preread_no_skip.patch diff --git a/patches/nginx-1.19.9-upstream_pipelining.patch b/patches/nginx/1.19.9/nginx-1.19.9-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.19.9-upstream_pipelining.patch rename to patches/nginx/1.19.9/nginx-1.19.9-upstream_pipelining.patch diff --git a/patches/nginx-1.19.9-upstream_timeout_fields.patch b/patches/nginx/1.19.9/nginx-1.19.9-upstream_timeout_fields.patch similarity index 100% rename from patches/nginx-1.19.9-upstream_timeout_fields.patch rename to patches/nginx/1.19.9/nginx-1.19.9-upstream_timeout_fields.patch diff --git a/patches/nginx-1.19.9-win32_max_err_str.patch b/patches/nginx/1.19.9/nginx-1.19.9-win32_max_err_str.patch similarity index 100% rename from patches/nginx-1.19.9-win32_max_err_str.patch rename to patches/nginx/1.19.9/nginx-1.19.9-win32_max_err_str.patch diff --git a/patches/nginx-1.2.1-add_core_vars_polluting_globals.patch b/patches/nginx/1.2.1/nginx-1.2.1-add_core_vars_polluting_globals.patch similarity index 100% rename from patches/nginx-1.2.1-add_core_vars_polluting_globals.patch rename to patches/nginx/1.2.1/nginx-1.2.1-add_core_vars_polluting_globals.patch diff --git a/patches/nginx-1.2.1-allow_request_body_updating.patch b/patches/nginx/1.2.1/nginx-1.2.1-allow_request_body_updating.patch similarity index 100% rename from patches/nginx-1.2.1-allow_request_body_updating.patch rename to patches/nginx/1.2.1/nginx-1.2.1-allow_request_body_updating.patch diff --git a/patches/nginx-1.2.1-dtrace.patch b/patches/nginx/1.2.1/nginx-1.2.1-dtrace.patch similarity index 100% rename from patches/nginx-1.2.1-dtrace.patch rename to patches/nginx/1.2.1/nginx-1.2.1-dtrace.patch diff --git a/patches/nginx-1.2.1-location_if_inherits_proxy.patch b/patches/nginx/1.2.1/nginx-1.2.1-location_if_inherits_proxy.patch similarity index 100% rename from patches/nginx-1.2.1-location_if_inherits_proxy.patch rename to patches/nginx/1.2.1/nginx-1.2.1-location_if_inherits_proxy.patch diff --git a/patches/nginx-1.2.1-log_escape_non_ascii.patch b/patches/nginx/1.2.1/nginx-1.2.1-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.2.1-log_escape_non_ascii.patch rename to patches/nginx/1.2.1/nginx-1.2.1-log_escape_non_ascii.patch diff --git a/patches/nginx-1.2.1-no_Werror.patch b/patches/nginx/1.2.1/nginx-1.2.1-no_Werror.patch similarity index 100% rename from patches/nginx-1.2.1-no_Werror.patch rename to patches/nginx/1.2.1/nginx-1.2.1-no_Werror.patch diff --git a/patches/nginx-1.2.1-no_error_pages.patch b/patches/nginx/1.2.1/nginx-1.2.1-no_error_pages.patch similarity index 100% rename from patches/nginx-1.2.1-no_error_pages.patch rename to patches/nginx/1.2.1/nginx-1.2.1-no_error_pages.patch diff --git a/patches/nginx-1.2.1-no_pool.patch b/patches/nginx/1.2.1/nginx-1.2.1-no_pool.patch similarity index 100% rename from patches/nginx-1.2.1-no_pool.patch rename to patches/nginx/1.2.1/nginx-1.2.1-no_pool.patch diff --git a/patches/nginx-1.2.1-poll_del_event_at_exit.patch b/patches/nginx/1.2.1/nginx-1.2.1-poll_del_event_at_exit.patch similarity index 100% rename from patches/nginx-1.2.1-poll_del_event_at_exit.patch rename to patches/nginx/1.2.1/nginx-1.2.1-poll_del_event_at_exit.patch diff --git a/patches/nginx-1.2.1-resolver_debug_log_overflow.patch b/patches/nginx/1.2.1/nginx-1.2.1-resolver_debug_log_overflow.patch similarity index 100% rename from patches/nginx-1.2.1-resolver_debug_log_overflow.patch rename to patches/nginx/1.2.1/nginx-1.2.1-resolver_debug_log_overflow.patch diff --git a/patches/nginx-1.2.1-server_header.patch b/patches/nginx/1.2.1/nginx-1.2.1-server_header.patch similarity index 100% rename from patches/nginx-1.2.1-server_header.patch rename to patches/nginx/1.2.1/nginx-1.2.1-server_header.patch diff --git a/patches/nginx-1.2.1-upstream_pipelining.patch b/patches/nginx/1.2.1/nginx-1.2.1-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.2.1-upstream_pipelining.patch rename to patches/nginx/1.2.1/nginx-1.2.1-upstream_pipelining.patch diff --git a/patches/nginx-1.2.3-allow_request_body_updating.patch b/patches/nginx/1.2.3/nginx-1.2.3-allow_request_body_updating.patch similarity index 100% rename from patches/nginx-1.2.3-allow_request_body_updating.patch rename to patches/nginx/1.2.3/nginx-1.2.3-allow_request_body_updating.patch diff --git a/patches/nginx-1.2.3-channel-uninit-params.patch b/patches/nginx/1.2.3/nginx-1.2.3-channel-uninit-params.patch similarity index 100% rename from patches/nginx-1.2.3-channel-uninit-params.patch rename to patches/nginx/1.2.3/nginx-1.2.3-channel-uninit-params.patch diff --git a/patches/nginx-1.2.3-dtrace.patch b/patches/nginx/1.2.3/nginx-1.2.3-dtrace.patch similarity index 100% rename from patches/nginx-1.2.3-dtrace.patch rename to patches/nginx/1.2.3/nginx-1.2.3-dtrace.patch diff --git a/patches/nginx-1.2.3-location_if_inherits_proxy.patch b/patches/nginx/1.2.3/nginx-1.2.3-location_if_inherits_proxy.patch similarity index 100% rename from patches/nginx-1.2.3-location_if_inherits_proxy.patch rename to patches/nginx/1.2.3/nginx-1.2.3-location_if_inherits_proxy.patch diff --git a/patches/nginx-1.2.3-log_escape_non_ascii.patch b/patches/nginx/1.2.3/nginx-1.2.3-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.2.3-log_escape_non_ascii.patch rename to patches/nginx/1.2.3/nginx-1.2.3-log_escape_non_ascii.patch diff --git a/patches/nginx-1.2.3-no_Werror.patch b/patches/nginx/1.2.3/nginx-1.2.3-no_Werror.patch similarity index 100% rename from patches/nginx-1.2.3-no_Werror.patch rename to patches/nginx/1.2.3/nginx-1.2.3-no_Werror.patch diff --git a/patches/nginx-1.2.3-no_error_pages.patch b/patches/nginx/1.2.3/nginx-1.2.3-no_error_pages.patch similarity index 100% rename from patches/nginx-1.2.3-no_error_pages.patch rename to patches/nginx/1.2.3/nginx-1.2.3-no_error_pages.patch diff --git a/patches/nginx-1.2.3-no_pool.patch b/patches/nginx/1.2.3/nginx-1.2.3-no_pool.patch similarity index 100% rename from patches/nginx-1.2.3-no_pool.patch rename to patches/nginx/1.2.3/nginx-1.2.3-no_pool.patch diff --git a/patches/nginx-1.2.3-nonbuffered-upstream-truncation.patch b/patches/nginx/1.2.3/nginx-1.2.3-nonbuffered-upstream-truncation.patch similarity index 100% rename from patches/nginx-1.2.3-nonbuffered-upstream-truncation.patch rename to patches/nginx/1.2.3/nginx-1.2.3-nonbuffered-upstream-truncation.patch diff --git a/patches/nginx-1.2.3-server_header.patch b/patches/nginx/1.2.3/nginx-1.2.3-server_header.patch similarity index 100% rename from patches/nginx-1.2.3-server_header.patch rename to patches/nginx/1.2.3/nginx-1.2.3-server_header.patch diff --git a/patches/nginx-1.2.3-upstream_pipelining.patch b/patches/nginx/1.2.3/nginx-1.2.3-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.2.3-upstream_pipelining.patch rename to patches/nginx/1.2.3/nginx-1.2.3-upstream_pipelining.patch diff --git a/patches/nginx-1.2.4-allow_request_body_updating.patch b/patches/nginx/1.2.4/nginx-1.2.4-allow_request_body_updating.patch similarity index 100% rename from patches/nginx-1.2.4-allow_request_body_updating.patch rename to patches/nginx/1.2.4/nginx-1.2.4-allow_request_body_updating.patch diff --git a/patches/nginx-1.2.4-channel-uninit-params.patch b/patches/nginx/1.2.4/nginx-1.2.4-channel-uninit-params.patch similarity index 100% rename from patches/nginx-1.2.4-channel-uninit-params.patch rename to patches/nginx/1.2.4/nginx-1.2.4-channel-uninit-params.patch diff --git a/patches/nginx-1.2.4-dtrace.patch b/patches/nginx/1.2.4/nginx-1.2.4-dtrace.patch similarity index 100% rename from patches/nginx-1.2.4-dtrace.patch rename to patches/nginx/1.2.4/nginx-1.2.4-dtrace.patch diff --git a/patches/nginx-1.2.4-location_if_inherits_proxy.patch b/patches/nginx/1.2.4/nginx-1.2.4-location_if_inherits_proxy.patch similarity index 100% rename from patches/nginx-1.2.4-location_if_inherits_proxy.patch rename to patches/nginx/1.2.4/nginx-1.2.4-location_if_inherits_proxy.patch diff --git a/patches/nginx-1.2.4-log_escape_non_ascii.patch b/patches/nginx/1.2.4/nginx-1.2.4-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.2.4-log_escape_non_ascii.patch rename to patches/nginx/1.2.4/nginx-1.2.4-log_escape_non_ascii.patch diff --git a/patches/nginx-1.2.4-no_Werror.patch b/patches/nginx/1.2.4/nginx-1.2.4-no_Werror.patch similarity index 100% rename from patches/nginx-1.2.4-no_Werror.patch rename to patches/nginx/1.2.4/nginx-1.2.4-no_Werror.patch diff --git a/patches/nginx-1.2.4-no_error_pages.patch b/patches/nginx/1.2.4/nginx-1.2.4-no_error_pages.patch similarity index 100% rename from patches/nginx-1.2.4-no_error_pages.patch rename to patches/nginx/1.2.4/nginx-1.2.4-no_error_pages.patch diff --git a/patches/nginx-1.2.4-no_pool.patch b/patches/nginx/1.2.4/nginx-1.2.4-no_pool.patch similarity index 100% rename from patches/nginx-1.2.4-no_pool.patch rename to patches/nginx/1.2.4/nginx-1.2.4-no_pool.patch diff --git a/patches/nginx-1.2.4-nonbuffered-upstream-truncation.patch b/patches/nginx/1.2.4/nginx-1.2.4-nonbuffered-upstream-truncation.patch similarity index 100% rename from patches/nginx-1.2.4-nonbuffered-upstream-truncation.patch rename to patches/nginx/1.2.4/nginx-1.2.4-nonbuffered-upstream-truncation.patch diff --git a/patches/nginx-1.2.4-server_header.patch b/patches/nginx/1.2.4/nginx-1.2.4-server_header.patch similarity index 100% rename from patches/nginx-1.2.4-server_header.patch rename to patches/nginx/1.2.4/nginx-1.2.4-server_header.patch diff --git a/patches/nginx-1.2.4-slab_alloc_no_memory_as_info.patch b/patches/nginx/1.2.4/nginx-1.2.4-slab_alloc_no_memory_as_info.patch similarity index 100% rename from patches/nginx-1.2.4-slab_alloc_no_memory_as_info.patch rename to patches/nginx/1.2.4/nginx-1.2.4-slab_alloc_no_memory_as_info.patch diff --git a/patches/nginx-1.2.4-upstream_pipelining.patch b/patches/nginx/1.2.4/nginx-1.2.4-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.2.4-upstream_pipelining.patch rename to patches/nginx/1.2.4/nginx-1.2.4-upstream_pipelining.patch diff --git a/patches/nginx-1.2.4-upstream_test_connect_kqueue.patch b/patches/nginx/1.2.4/nginx-1.2.4-upstream_test_connect_kqueue.patch similarity index 100% rename from patches/nginx-1.2.4-upstream_test_connect_kqueue.patch rename to patches/nginx/1.2.4/nginx-1.2.4-upstream_test_connect_kqueue.patch diff --git a/patches/nginx-1.2.5-allow_request_body_updating.patch b/patches/nginx/1.2.5/nginx-1.2.5-allow_request_body_updating.patch similarity index 100% rename from patches/nginx-1.2.5-allow_request_body_updating.patch rename to patches/nginx/1.2.5/nginx-1.2.5-allow_request_body_updating.patch diff --git a/patches/nginx-1.2.5-channel-uninit-params.patch b/patches/nginx/1.2.5/nginx-1.2.5-channel-uninit-params.patch similarity index 100% rename from patches/nginx-1.2.5-channel-uninit-params.patch rename to patches/nginx/1.2.5/nginx-1.2.5-channel-uninit-params.patch diff --git a/patches/nginx-1.2.5-dtrace.patch b/patches/nginx/1.2.5/nginx-1.2.5-dtrace.patch similarity index 100% rename from patches/nginx-1.2.5-dtrace.patch rename to patches/nginx/1.2.5/nginx-1.2.5-dtrace.patch diff --git a/patches/nginx-1.2.5-location_if_inherits_proxy.patch b/patches/nginx/1.2.5/nginx-1.2.5-location_if_inherits_proxy.patch similarity index 100% rename from patches/nginx-1.2.5-location_if_inherits_proxy.patch rename to patches/nginx/1.2.5/nginx-1.2.5-location_if_inherits_proxy.patch diff --git a/patches/nginx-1.2.5-log_escape_non_ascii.patch b/patches/nginx/1.2.5/nginx-1.2.5-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.2.5-log_escape_non_ascii.patch rename to patches/nginx/1.2.5/nginx-1.2.5-log_escape_non_ascii.patch diff --git a/patches/nginx-1.2.5-no_Werror.patch b/patches/nginx/1.2.5/nginx-1.2.5-no_Werror.patch similarity index 100% rename from patches/nginx-1.2.5-no_Werror.patch rename to patches/nginx/1.2.5/nginx-1.2.5-no_Werror.patch diff --git a/patches/nginx-1.2.5-no_error_pages.patch b/patches/nginx/1.2.5/nginx-1.2.5-no_error_pages.patch similarity index 100% rename from patches/nginx-1.2.5-no_error_pages.patch rename to patches/nginx/1.2.5/nginx-1.2.5-no_error_pages.patch diff --git a/patches/nginx-1.2.5-no_pool.patch b/patches/nginx/1.2.5/nginx-1.2.5-no_pool.patch similarity index 100% rename from patches/nginx-1.2.5-no_pool.patch rename to patches/nginx/1.2.5/nginx-1.2.5-no_pool.patch diff --git a/patches/nginx-1.2.5-nonbuffered-upstream-truncation.patch b/patches/nginx/1.2.5/nginx-1.2.5-nonbuffered-upstream-truncation.patch similarity index 100% rename from patches/nginx-1.2.5-nonbuffered-upstream-truncation.patch rename to patches/nginx/1.2.5/nginx-1.2.5-nonbuffered-upstream-truncation.patch diff --git a/patches/nginx-1.2.5-server_header.patch b/patches/nginx/1.2.5/nginx-1.2.5-server_header.patch similarity index 100% rename from patches/nginx-1.2.5-server_header.patch rename to patches/nginx/1.2.5/nginx-1.2.5-server_header.patch diff --git a/patches/nginx-1.2.5-slab_alloc_no_memory_as_info.patch b/patches/nginx/1.2.5/nginx-1.2.5-slab_alloc_no_memory_as_info.patch similarity index 100% rename from patches/nginx-1.2.5-slab_alloc_no_memory_as_info.patch rename to patches/nginx/1.2.5/nginx-1.2.5-slab_alloc_no_memory_as_info.patch diff --git a/patches/nginx-1.2.5-upstream_pipelining.patch b/patches/nginx/1.2.5/nginx-1.2.5-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.2.5-upstream_pipelining.patch rename to patches/nginx/1.2.5/nginx-1.2.5-upstream_pipelining.patch diff --git a/patches/nginx-1.2.5-upstream_test_connect_kqueue.patch b/patches/nginx/1.2.5/nginx-1.2.5-upstream_test_connect_kqueue.patch similarity index 100% rename from patches/nginx-1.2.5-upstream_test_connect_kqueue.patch rename to patches/nginx/1.2.5/nginx-1.2.5-upstream_test_connect_kqueue.patch diff --git a/patches/nginx-1.2.6-channel-uninit-params.patch b/patches/nginx/1.2.6/nginx-1.2.6-channel-uninit-params.patch similarity index 100% rename from patches/nginx-1.2.6-channel-uninit-params.patch rename to patches/nginx/1.2.6/nginx-1.2.6-channel-uninit-params.patch diff --git a/patches/nginx-1.2.6-dtrace.patch b/patches/nginx/1.2.6/nginx-1.2.6-dtrace.patch similarity index 100% rename from patches/nginx-1.2.6-dtrace.patch rename to patches/nginx/1.2.6/nginx-1.2.6-dtrace.patch diff --git a/patches/nginx-1.2.6-location_if_inherits_proxy.patch b/patches/nginx/1.2.6/nginx-1.2.6-location_if_inherits_proxy.patch similarity index 100% rename from patches/nginx-1.2.6-location_if_inherits_proxy.patch rename to patches/nginx/1.2.6/nginx-1.2.6-location_if_inherits_proxy.patch diff --git a/patches/nginx-1.2.6-log_escape_non_ascii.patch b/patches/nginx/1.2.6/nginx-1.2.6-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.2.6-log_escape_non_ascii.patch rename to patches/nginx/1.2.6/nginx-1.2.6-log_escape_non_ascii.patch diff --git a/patches/nginx-1.2.6-no_Werror.patch b/patches/nginx/1.2.6/nginx-1.2.6-no_Werror.patch similarity index 100% rename from patches/nginx-1.2.6-no_Werror.patch rename to patches/nginx/1.2.6/nginx-1.2.6-no_Werror.patch diff --git a/patches/nginx-1.2.6-no_error_pages.patch b/patches/nginx/1.2.6/nginx-1.2.6-no_error_pages.patch similarity index 100% rename from patches/nginx-1.2.6-no_error_pages.patch rename to patches/nginx/1.2.6/nginx-1.2.6-no_error_pages.patch diff --git a/patches/nginx-1.2.6-no_pool.patch b/patches/nginx/1.2.6/nginx-1.2.6-no_pool.patch similarity index 100% rename from patches/nginx-1.2.6-no_pool.patch rename to patches/nginx/1.2.6/nginx-1.2.6-no_pool.patch diff --git a/patches/nginx-1.2.6-nonbuffered-upstream-truncation.patch b/patches/nginx/1.2.6/nginx-1.2.6-nonbuffered-upstream-truncation.patch similarity index 100% rename from patches/nginx-1.2.6-nonbuffered-upstream-truncation.patch rename to patches/nginx/1.2.6/nginx-1.2.6-nonbuffered-upstream-truncation.patch diff --git a/patches/nginx-1.2.6-resolver_wev_handler_segfault_with_poll.patch b/patches/nginx/1.2.6/nginx-1.2.6-resolver_wev_handler_segfault_with_poll.patch similarity index 100% rename from patches/nginx-1.2.6-resolver_wev_handler_segfault_with_poll.patch rename to patches/nginx/1.2.6/nginx-1.2.6-resolver_wev_handler_segfault_with_poll.patch diff --git a/patches/nginx-1.2.6-server_header.patch b/patches/nginx/1.2.6/nginx-1.2.6-server_header.patch similarity index 100% rename from patches/nginx-1.2.6-server_header.patch rename to patches/nginx/1.2.6/nginx-1.2.6-server_header.patch diff --git a/patches/nginx-1.2.6-slab_alloc_no_memory_as_info.patch b/patches/nginx/1.2.6/nginx-1.2.6-slab_alloc_no_memory_as_info.patch similarity index 100% rename from patches/nginx-1.2.6-slab_alloc_no_memory_as_info.patch rename to patches/nginx/1.2.6/nginx-1.2.6-slab_alloc_no_memory_as_info.patch diff --git a/patches/nginx-1.2.6-upstream_pipelining.patch b/patches/nginx/1.2.6/nginx-1.2.6-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.2.6-upstream_pipelining.patch rename to patches/nginx/1.2.6/nginx-1.2.6-upstream_pipelining.patch diff --git a/patches/nginx-1.2.7-channel-uninit-params.patch b/patches/nginx/1.2.7/nginx-1.2.7-channel-uninit-params.patch similarity index 100% rename from patches/nginx-1.2.7-channel-uninit-params.patch rename to patches/nginx/1.2.7/nginx-1.2.7-channel-uninit-params.patch diff --git a/patches/nginx-1.2.7-cve-2013-2070.patch b/patches/nginx/1.2.7/nginx-1.2.7-cve-2013-2070.patch similarity index 100% rename from patches/nginx-1.2.7-cve-2013-2070.patch rename to patches/nginx/1.2.7/nginx-1.2.7-cve-2013-2070.patch diff --git a/patches/nginx-1.2.7-dtrace.patch b/patches/nginx/1.2.7/nginx-1.2.7-dtrace.patch similarity index 100% rename from patches/nginx-1.2.7-dtrace.patch rename to patches/nginx/1.2.7/nginx-1.2.7-dtrace.patch diff --git a/patches/nginx-1.2.7-location_if_inherits_proxy.patch b/patches/nginx/1.2.7/nginx-1.2.7-location_if_inherits_proxy.patch similarity index 100% rename from patches/nginx-1.2.7-location_if_inherits_proxy.patch rename to patches/nginx/1.2.7/nginx-1.2.7-location_if_inherits_proxy.patch diff --git a/patches/nginx-1.2.7-log_escape_non_ascii.patch b/patches/nginx/1.2.7/nginx-1.2.7-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.2.7-log_escape_non_ascii.patch rename to patches/nginx/1.2.7/nginx-1.2.7-log_escape_non_ascii.patch diff --git a/patches/nginx-1.2.7-no_Werror.patch b/patches/nginx/1.2.7/nginx-1.2.7-no_Werror.patch similarity index 100% rename from patches/nginx-1.2.7-no_Werror.patch rename to patches/nginx/1.2.7/nginx-1.2.7-no_Werror.patch diff --git a/patches/nginx-1.2.7-no_error_pages.patch b/patches/nginx/1.2.7/nginx-1.2.7-no_error_pages.patch similarity index 100% rename from patches/nginx-1.2.7-no_error_pages.patch rename to patches/nginx/1.2.7/nginx-1.2.7-no_error_pages.patch diff --git a/patches/nginx-1.2.7-no_pool.patch b/patches/nginx/1.2.7/nginx-1.2.7-no_pool.patch similarity index 100% rename from patches/nginx-1.2.7-no_pool.patch rename to patches/nginx/1.2.7/nginx-1.2.7-no_pool.patch diff --git a/patches/nginx-1.2.7-run_posted_requests_in_resolver.patch b/patches/nginx/1.2.7/nginx-1.2.7-run_posted_requests_in_resolver.patch similarity index 100% rename from patches/nginx-1.2.7-run_posted_requests_in_resolver.patch rename to patches/nginx/1.2.7/nginx-1.2.7-run_posted_requests_in_resolver.patch diff --git a/patches/nginx-1.2.7-server_header.patch b/patches/nginx/1.2.7/nginx-1.2.7-server_header.patch similarity index 100% rename from patches/nginx-1.2.7-server_header.patch rename to patches/nginx/1.2.7/nginx-1.2.7-server_header.patch diff --git a/patches/nginx-1.2.7-slab_alloc_no_memory_as_info.patch b/patches/nginx/1.2.7/nginx-1.2.7-slab_alloc_no_memory_as_info.patch similarity index 100% rename from patches/nginx-1.2.7-slab_alloc_no_memory_as_info.patch rename to patches/nginx/1.2.7/nginx-1.2.7-slab_alloc_no_memory_as_info.patch diff --git a/patches/nginx-1.2.7-upstream_pipelining.patch b/patches/nginx/1.2.7/nginx-1.2.7-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.2.7-upstream_pipelining.patch rename to patches/nginx/1.2.7/nginx-1.2.7-upstream_pipelining.patch diff --git a/patches/nginx-1.2.7-upstream_truncation.patch b/patches/nginx/1.2.7/nginx-1.2.7-upstream_truncation.patch similarity index 100% rename from patches/nginx-1.2.7-upstream_truncation.patch rename to patches/nginx/1.2.7/nginx-1.2.7-upstream_truncation.patch diff --git a/patches/nginx-1.2.8-channel-uninit-params.patch b/patches/nginx/1.2.8/nginx-1.2.8-channel-uninit-params.patch similarity index 100% rename from patches/nginx-1.2.8-channel-uninit-params.patch rename to patches/nginx/1.2.8/nginx-1.2.8-channel-uninit-params.patch diff --git a/patches/nginx-1.2.8-cve-2013-2070.patch b/patches/nginx/1.2.8/nginx-1.2.8-cve-2013-2070.patch similarity index 100% rename from patches/nginx-1.2.8-cve-2013-2070.patch rename to patches/nginx/1.2.8/nginx-1.2.8-cve-2013-2070.patch diff --git a/patches/nginx-1.2.8-dtrace.patch b/patches/nginx/1.2.8/nginx-1.2.8-dtrace.patch similarity index 100% rename from patches/nginx-1.2.8-dtrace.patch rename to patches/nginx/1.2.8/nginx-1.2.8-dtrace.patch diff --git a/patches/nginx-1.2.8-invalid_referer_hash.patch b/patches/nginx/1.2.8/nginx-1.2.8-invalid_referer_hash.patch similarity index 100% rename from patches/nginx-1.2.8-invalid_referer_hash.patch rename to patches/nginx/1.2.8/nginx-1.2.8-invalid_referer_hash.patch diff --git a/patches/nginx-1.2.8-location_if_inherits_proxy.patch b/patches/nginx/1.2.8/nginx-1.2.8-location_if_inherits_proxy.patch similarity index 100% rename from patches/nginx-1.2.8-location_if_inherits_proxy.patch rename to patches/nginx/1.2.8/nginx-1.2.8-location_if_inherits_proxy.patch diff --git a/patches/nginx-1.2.8-log_escape_non_ascii.patch b/patches/nginx/1.2.8/nginx-1.2.8-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.2.8-log_escape_non_ascii.patch rename to patches/nginx/1.2.8/nginx-1.2.8-log_escape_non_ascii.patch diff --git a/patches/nginx-1.2.8-no_Werror.patch b/patches/nginx/1.2.8/nginx-1.2.8-no_Werror.patch similarity index 100% rename from patches/nginx-1.2.8-no_Werror.patch rename to patches/nginx/1.2.8/nginx-1.2.8-no_Werror.patch diff --git a/patches/nginx-1.2.8-no_error_pages.patch b/patches/nginx/1.2.8/nginx-1.2.8-no_error_pages.patch similarity index 100% rename from patches/nginx-1.2.8-no_error_pages.patch rename to patches/nginx/1.2.8/nginx-1.2.8-no_error_pages.patch diff --git a/patches/nginx-1.2.8-no_pool.patch b/patches/nginx/1.2.8/nginx-1.2.8-no_pool.patch similarity index 100% rename from patches/nginx-1.2.8-no_pool.patch rename to patches/nginx/1.2.8/nginx-1.2.8-no_pool.patch diff --git a/patches/nginx-1.2.8-server_header.patch b/patches/nginx/1.2.8/nginx-1.2.8-server_header.patch similarity index 100% rename from patches/nginx-1.2.8-server_header.patch rename to patches/nginx/1.2.8/nginx-1.2.8-server_header.patch diff --git a/patches/nginx-1.2.8-slab_alloc_no_memory_as_info.patch b/patches/nginx/1.2.8/nginx-1.2.8-slab_alloc_no_memory_as_info.patch similarity index 100% rename from patches/nginx-1.2.8-slab_alloc_no_memory_as_info.patch rename to patches/nginx/1.2.8/nginx-1.2.8-slab_alloc_no_memory_as_info.patch diff --git a/patches/nginx-1.2.8-upstream_pipelining.patch b/patches/nginx/1.2.8/nginx-1.2.8-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.2.8-upstream_pipelining.patch rename to patches/nginx/1.2.8/nginx-1.2.8-upstream_pipelining.patch diff --git a/patches/nginx-1.2.8-upstream_truncation.patch b/patches/nginx/1.2.8/nginx-1.2.8-upstream_truncation.patch similarity index 100% rename from patches/nginx-1.2.8-upstream_truncation.patch rename to patches/nginx/1.2.8/nginx-1.2.8-upstream_truncation.patch diff --git a/patches/nginx-1.21.3-always_enable_cc_feature_tests.patch b/patches/nginx/1.21.3/nginx-1.21.3-always_enable_cc_feature_tests.patch similarity index 100% rename from patches/nginx-1.21.3-always_enable_cc_feature_tests.patch rename to patches/nginx/1.21.3/nginx-1.21.3-always_enable_cc_feature_tests.patch diff --git a/patches/nginx-1.21.3-balancer_status_code.patch b/patches/nginx/1.21.3/nginx-1.21.3-balancer_status_code.patch similarity index 100% rename from patches/nginx-1.21.3-balancer_status_code.patch rename to patches/nginx/1.21.3/nginx-1.21.3-balancer_status_code.patch diff --git a/patches/nginx-1.21.3-builtin_error_page_footer.patch b/patches/nginx/1.21.3/nginx-1.21.3-builtin_error_page_footer.patch similarity index 100% rename from patches/nginx-1.21.3-builtin_error_page_footer.patch rename to patches/nginx/1.21.3/nginx-1.21.3-builtin_error_page_footer.patch diff --git a/patches/nginx-1.21.3-cache_manager_exit.patch b/patches/nginx/1.21.3/nginx-1.21.3-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.21.3-cache_manager_exit.patch rename to patches/nginx/1.21.3/nginx-1.21.3-cache_manager_exit.patch diff --git a/patches/nginx-1.21.3-daemon_destroy_pool.patch b/patches/nginx/1.21.3/nginx-1.21.3-daemon_destroy_pool.patch similarity index 100% rename from patches/nginx-1.21.3-daemon_destroy_pool.patch rename to patches/nginx/1.21.3/nginx-1.21.3-daemon_destroy_pool.patch diff --git a/patches/nginx-1.21.3-delayed_posted_events.patch b/patches/nginx/1.21.3/nginx-1.21.3-delayed_posted_events.patch similarity index 100% rename from patches/nginx-1.21.3-delayed_posted_events.patch rename to patches/nginx/1.21.3/nginx-1.21.3-delayed_posted_events.patch diff --git a/patches/nginx-1.21.3-hash_overflow.patch b/patches/nginx/1.21.3/nginx-1.21.3-hash_overflow.patch similarity index 100% rename from patches/nginx-1.21.3-hash_overflow.patch rename to patches/nginx/1.21.3/nginx-1.21.3-hash_overflow.patch diff --git a/patches/nginx-1.21.3-init_cycle_pool_release.patch b/patches/nginx/1.21.3/nginx-1.21.3-init_cycle_pool_release.patch similarity index 100% rename from patches/nginx-1.21.3-init_cycle_pool_release.patch rename to patches/nginx/1.21.3/nginx-1.21.3-init_cycle_pool_release.patch diff --git a/patches/nginx-1.21.3-intercept_error_log.patch b/patches/nginx/1.21.3/nginx-1.21.3-intercept_error_log.patch similarity index 100% rename from patches/nginx-1.21.3-intercept_error_log.patch rename to patches/nginx/1.21.3/nginx-1.21.3-intercept_error_log.patch diff --git a/patches/nginx-1.21.3-larger_max_error_str.patch b/patches/nginx/1.21.3/nginx-1.21.3-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.21.3-larger_max_error_str.patch rename to patches/nginx/1.21.3/nginx-1.21.3-larger_max_error_str.patch diff --git a/patches/nginx-1.21.3-log_escape_non_ascii.patch b/patches/nginx/1.21.3/nginx-1.21.3-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.21.3-log_escape_non_ascii.patch rename to patches/nginx/1.21.3/nginx-1.21.3-log_escape_non_ascii.patch diff --git a/patches/nginx-1.21.3-no_Werror.patch b/patches/nginx/1.21.3/nginx-1.21.3-no_Werror.patch similarity index 100% rename from patches/nginx-1.21.3-no_Werror.patch rename to patches/nginx/1.21.3/nginx-1.21.3-no_Werror.patch diff --git a/patches/nginx-1.21.3-no_error_pages.patch b/patches/nginx/1.21.3/nginx-1.21.3-no_error_pages.patch similarity index 100% rename from patches/nginx-1.21.3-no_error_pages.patch rename to patches/nginx/1.21.3/nginx-1.21.3-no_error_pages.patch diff --git a/patches/nginx-1.21.3-no_pool.patch b/patches/nginx/1.21.3/nginx-1.21.3-no_pool.patch similarity index 100% rename from patches/nginx-1.21.3-no_pool.patch rename to patches/nginx/1.21.3/nginx-1.21.3-no_pool.patch diff --git a/patches/nginx-1.21.3-pcre_conf_opt.patch b/patches/nginx/1.21.3/nginx-1.21.3-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.21.3-pcre_conf_opt.patch rename to patches/nginx/1.21.3/nginx-1.21.3-pcre_conf_opt.patch diff --git a/patches/nginx-1.21.3-privileged_agent_process.patch b/patches/nginx/1.21.3/nginx-1.21.3-privileged_agent_process.patch similarity index 100% rename from patches/nginx-1.21.3-privileged_agent_process.patch rename to patches/nginx/1.21.3/nginx-1.21.3-privileged_agent_process.patch diff --git a/patches/nginx-1.21.3-privileged_agent_process_connections.patch b/patches/nginx/1.21.3/nginx-1.21.3-privileged_agent_process_connections.patch similarity index 100% rename from patches/nginx-1.21.3-privileged_agent_process_connections.patch rename to patches/nginx/1.21.3/nginx-1.21.3-privileged_agent_process_connections.patch diff --git a/patches/nginx-1.21.3-proc_exit_handler.patch b/patches/nginx/1.21.3/nginx-1.21.3-proc_exit_handler.patch similarity index 100% rename from patches/nginx-1.21.3-proc_exit_handler.patch rename to patches/nginx/1.21.3/nginx-1.21.3-proc_exit_handler.patch diff --git a/patches/nginx-1.21.3-proxy_host_port_vars.patch b/patches/nginx/1.21.3/nginx-1.21.3-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.21.3-proxy_host_port_vars.patch rename to patches/nginx/1.21.3/nginx-1.21.3-proxy_host_port_vars.patch diff --git a/patches/nginx-1.21.3-resolver_conf_parsing.patch b/patches/nginx/1.21.3/nginx-1.21.3-resolver_conf_parsing.patch similarity index 100% rename from patches/nginx-1.21.3-resolver_conf_parsing.patch rename to patches/nginx/1.21.3/nginx-1.21.3-resolver_conf_parsing.patch diff --git a/patches/nginx-1.21.3-reuseport_close_unused_fds.patch b/patches/nginx/1.21.3/nginx-1.21.3-reuseport_close_unused_fds.patch similarity index 100% rename from patches/nginx-1.21.3-reuseport_close_unused_fds.patch rename to patches/nginx/1.21.3/nginx-1.21.3-reuseport_close_unused_fds.patch diff --git a/patches/nginx-1.21.3-safe_resolver_ipv6_option.patch b/patches/nginx/1.21.3/nginx-1.21.3-safe_resolver_ipv6_option.patch similarity index 100% rename from patches/nginx-1.21.3-safe_resolver_ipv6_option.patch rename to patches/nginx/1.21.3/nginx-1.21.3-safe_resolver_ipv6_option.patch diff --git a/patches/nginx-1.21.3-server_header.patch b/patches/nginx/1.21.3/nginx-1.21.3-server_header.patch similarity index 100% rename from patches/nginx-1.21.3-server_header.patch rename to patches/nginx/1.21.3/nginx-1.21.3-server_header.patch diff --git a/patches/nginx-1.21.3-setting_args_invalidates_uri.patch b/patches/nginx/1.21.3/nginx-1.21.3-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.21.3-setting_args_invalidates_uri.patch rename to patches/nginx/1.21.3/nginx-1.21.3-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.21.3-single_process_graceful_exit.patch b/patches/nginx/1.21.3/nginx-1.21.3-single_process_graceful_exit.patch similarity index 100% rename from patches/nginx-1.21.3-single_process_graceful_exit.patch rename to patches/nginx/1.21.3/nginx-1.21.3-single_process_graceful_exit.patch diff --git a/patches/nginx-1.21.3-socket_cloexec.patch b/patches/nginx/1.21.3/nginx-1.21.3-socket_cloexec.patch similarity index 100% rename from patches/nginx-1.21.3-socket_cloexec.patch rename to patches/nginx/1.21.3/nginx-1.21.3-socket_cloexec.patch diff --git a/patches/nginx-1.21.3-ssl_cert_cb_yield.patch b/patches/nginx/1.21.3/nginx-1.21.3-ssl_cert_cb_yield.patch similarity index 100% rename from patches/nginx-1.21.3-ssl_cert_cb_yield.patch rename to patches/nginx/1.21.3/nginx-1.21.3-ssl_cert_cb_yield.patch diff --git a/patches/nginx-1.21.3-ssl_client_hello_cb_yield.patch b/patches/nginx/1.21.3/nginx-1.21.3-ssl_client_hello_cb_yield.patch similarity index 100% rename from patches/nginx-1.21.3-ssl_client_hello_cb_yield.patch rename to patches/nginx/1.21.3/nginx-1.21.3-ssl_client_hello_cb_yield.patch diff --git a/patches/nginx-1.21.3-ssl_sess_cb_yield.patch b/patches/nginx/1.21.3/nginx-1.21.3-ssl_sess_cb_yield.patch similarity index 100% rename from patches/nginx-1.21.3-ssl_sess_cb_yield.patch rename to patches/nginx/1.21.3/nginx-1.21.3-ssl_sess_cb_yield.patch diff --git a/patches/nginx-1.21.3-stream_balancer_export.patch b/patches/nginx/1.21.3/nginx-1.21.3-stream_balancer_export.patch similarity index 100% rename from patches/nginx-1.21.3-stream_balancer_export.patch rename to patches/nginx/1.21.3/nginx-1.21.3-stream_balancer_export.patch diff --git a/patches/nginx-1.21.3-stream_proxy_get_next_upstream_tries.patch b/patches/nginx/1.21.3/nginx-1.21.3-stream_proxy_get_next_upstream_tries.patch similarity index 100% rename from patches/nginx-1.21.3-stream_proxy_get_next_upstream_tries.patch rename to patches/nginx/1.21.3/nginx-1.21.3-stream_proxy_get_next_upstream_tries.patch diff --git a/patches/nginx-1.21.3-stream_proxy_timeout_fields.patch b/patches/nginx/1.21.3/nginx-1.21.3-stream_proxy_timeout_fields.patch similarity index 100% rename from patches/nginx-1.21.3-stream_proxy_timeout_fields.patch rename to patches/nginx/1.21.3/nginx-1.21.3-stream_proxy_timeout_fields.patch diff --git a/patches/nginx-1.21.3-stream_ssl_preread_no_skip.patch b/patches/nginx/1.21.3/nginx-1.21.3-stream_ssl_preread_no_skip.patch similarity index 100% rename from patches/nginx-1.21.3-stream_ssl_preread_no_skip.patch rename to patches/nginx/1.21.3/nginx-1.21.3-stream_ssl_preread_no_skip.patch diff --git a/patches/nginx-1.21.3-upstream_pipelining.patch b/patches/nginx/1.21.3/nginx-1.21.3-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.21.3-upstream_pipelining.patch rename to patches/nginx/1.21.3/nginx-1.21.3-upstream_pipelining.patch diff --git a/patches/nginx-1.21.3-upstream_timeout_fields.patch b/patches/nginx/1.21.3/nginx-1.21.3-upstream_timeout_fields.patch similarity index 100% rename from patches/nginx-1.21.3-upstream_timeout_fields.patch rename to patches/nginx/1.21.3/nginx-1.21.3-upstream_timeout_fields.patch diff --git a/patches/nginx-1.21.3-win32_max_err_str.patch b/patches/nginx/1.21.3/nginx-1.21.3-win32_max_err_str.patch similarity index 100% rename from patches/nginx-1.21.3-win32_max_err_str.patch rename to patches/nginx/1.21.3/nginx-1.21.3-win32_max_err_str.patch diff --git a/patches/nginx-1.21.4-CVE-2025-23419.patch b/patches/nginx/1.21.4/nginx-1.21.4-CVE-2025-23419.patch similarity index 100% rename from patches/nginx-1.21.4-CVE-2025-23419.patch rename to patches/nginx/1.21.4/nginx-1.21.4-CVE-2025-23419.patch diff --git a/patches/nginx-1.21.4-always_enable_cc_feature_tests.patch b/patches/nginx/1.21.4/nginx-1.21.4-always_enable_cc_feature_tests.patch similarity index 100% rename from patches/nginx-1.21.4-always_enable_cc_feature_tests.patch rename to patches/nginx/1.21.4/nginx-1.21.4-always_enable_cc_feature_tests.patch diff --git a/patches/nginx-1.21.4-balancer_pool_max_retry.patch b/patches/nginx/1.21.4/nginx-1.21.4-balancer_pool_max_retry.patch similarity index 100% rename from patches/nginx-1.21.4-balancer_pool_max_retry.patch rename to patches/nginx/1.21.4/nginx-1.21.4-balancer_pool_max_retry.patch diff --git a/patches/nginx-1.21.4-balancer_status_code.patch b/patches/nginx/1.21.4/nginx-1.21.4-balancer_status_code.patch similarity index 100% rename from patches/nginx-1.21.4-balancer_status_code.patch rename to patches/nginx/1.21.4/nginx-1.21.4-balancer_status_code.patch diff --git a/patches/nginx-1.21.4-builtin_error_page_footer.patch b/patches/nginx/1.21.4/nginx-1.21.4-builtin_error_page_footer.patch similarity index 100% rename from patches/nginx-1.21.4-builtin_error_page_footer.patch rename to patches/nginx/1.21.4/nginx-1.21.4-builtin_error_page_footer.patch diff --git a/patches/nginx-1.21.4-cache_manager_exit.patch b/patches/nginx/1.21.4/nginx-1.21.4-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.21.4-cache_manager_exit.patch rename to patches/nginx/1.21.4/nginx-1.21.4-cache_manager_exit.patch diff --git a/patches/nginx-1.21.4-daemon_destroy_pool.patch b/patches/nginx/1.21.4/nginx-1.21.4-daemon_destroy_pool.patch similarity index 100% rename from patches/nginx-1.21.4-daemon_destroy_pool.patch rename to patches/nginx/1.21.4/nginx-1.21.4-daemon_destroy_pool.patch diff --git a/patches/nginx-1.21.4-delayed_posted_events.patch b/patches/nginx/1.21.4/nginx-1.21.4-delayed_posted_events.patch similarity index 100% rename from patches/nginx-1.21.4-delayed_posted_events.patch rename to patches/nginx/1.21.4/nginx-1.21.4-delayed_posted_events.patch diff --git a/patches/nginx-1.21.4-hash_overflow.patch b/patches/nginx/1.21.4/nginx-1.21.4-hash_overflow.patch similarity index 100% rename from patches/nginx-1.21.4-hash_overflow.patch rename to patches/nginx/1.21.4/nginx-1.21.4-hash_overflow.patch diff --git a/patches/nginx-1.21.4-init_cycle_pool_release.patch b/patches/nginx/1.21.4/nginx-1.21.4-init_cycle_pool_release.patch similarity index 100% rename from patches/nginx-1.21.4-init_cycle_pool_release.patch rename to patches/nginx/1.21.4/nginx-1.21.4-init_cycle_pool_release.patch diff --git a/patches/nginx-1.21.4-intercept_error_log.patch b/patches/nginx/1.21.4/nginx-1.21.4-intercept_error_log.patch similarity index 100% rename from patches/nginx-1.21.4-intercept_error_log.patch rename to patches/nginx/1.21.4/nginx-1.21.4-intercept_error_log.patch diff --git a/patches/nginx-1.21.4-larger_max_error_str.patch b/patches/nginx/1.21.4/nginx-1.21.4-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.21.4-larger_max_error_str.patch rename to patches/nginx/1.21.4/nginx-1.21.4-larger_max_error_str.patch diff --git a/patches/nginx-1.21.4-log_escape_non_ascii.patch b/patches/nginx/1.21.4/nginx-1.21.4-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.21.4-log_escape_non_ascii.patch rename to patches/nginx/1.21.4/nginx-1.21.4-log_escape_non_ascii.patch diff --git a/patches/nginx-1.21.4-no_Werror.patch b/patches/nginx/1.21.4/nginx-1.21.4-no_Werror.patch similarity index 100% rename from patches/nginx-1.21.4-no_Werror.patch rename to patches/nginx/1.21.4/nginx-1.21.4-no_Werror.patch diff --git a/patches/nginx-1.21.4-no_error_pages.patch b/patches/nginx/1.21.4/nginx-1.21.4-no_error_pages.patch similarity index 100% rename from patches/nginx-1.21.4-no_error_pages.patch rename to patches/nginx/1.21.4/nginx-1.21.4-no_error_pages.patch diff --git a/patches/nginx-1.21.4-no_pool.patch b/patches/nginx/1.21.4/nginx-1.21.4-no_pool.patch similarity index 100% rename from patches/nginx-1.21.4-no_pool.patch rename to patches/nginx/1.21.4/nginx-1.21.4-no_pool.patch diff --git a/patches/nginx-1.21.4-pcre_conf_opt.patch b/patches/nginx/1.21.4/nginx-1.21.4-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.21.4-pcre_conf_opt.patch rename to patches/nginx/1.21.4/nginx-1.21.4-pcre_conf_opt.patch diff --git a/patches/nginx-1.21.4-privileged_agent_process.patch b/patches/nginx/1.21.4/nginx-1.21.4-privileged_agent_process.patch similarity index 100% rename from patches/nginx-1.21.4-privileged_agent_process.patch rename to patches/nginx/1.21.4/nginx-1.21.4-privileged_agent_process.patch diff --git a/patches/nginx-1.21.4-privileged_agent_process_connections.patch b/patches/nginx/1.21.4/nginx-1.21.4-privileged_agent_process_connections.patch similarity index 100% rename from patches/nginx-1.21.4-privileged_agent_process_connections.patch rename to patches/nginx/1.21.4/nginx-1.21.4-privileged_agent_process_connections.patch diff --git a/patches/nginx-1.21.4-privileged_agent_process_thread_pool.patch b/patches/nginx/1.21.4/nginx-1.21.4-privileged_agent_process_thread_pool.patch similarity index 100% rename from patches/nginx-1.21.4-privileged_agent_process_thread_pool.patch rename to patches/nginx/1.21.4/nginx-1.21.4-privileged_agent_process_thread_pool.patch diff --git a/patches/nginx-1.21.4-proc_exit_handler.patch b/patches/nginx/1.21.4/nginx-1.21.4-proc_exit_handler.patch similarity index 100% rename from patches/nginx-1.21.4-proc_exit_handler.patch rename to patches/nginx/1.21.4/nginx-1.21.4-proc_exit_handler.patch diff --git a/patches/nginx-1.21.4-proxy_host_port_vars.patch b/patches/nginx/1.21.4/nginx-1.21.4-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.21.4-proxy_host_port_vars.patch rename to patches/nginx/1.21.4/nginx-1.21.4-proxy_host_port_vars.patch diff --git a/patches/nginx-1.21.4-resolver_conf_parsing.patch b/patches/nginx/1.21.4/nginx-1.21.4-resolver_conf_parsing.patch similarity index 100% rename from patches/nginx-1.21.4-resolver_conf_parsing.patch rename to patches/nginx/1.21.4/nginx-1.21.4-resolver_conf_parsing.patch diff --git a/patches/nginx-1.21.4-reuseport_close_unused_fds.patch b/patches/nginx/1.21.4/nginx-1.21.4-reuseport_close_unused_fds.patch similarity index 100% rename from patches/nginx-1.21.4-reuseport_close_unused_fds.patch rename to patches/nginx/1.21.4/nginx-1.21.4-reuseport_close_unused_fds.patch diff --git a/patches/nginx-1.21.4-safe_resolver_ipv6_option.patch b/patches/nginx/1.21.4/nginx-1.21.4-safe_resolver_ipv6_option.patch similarity index 100% rename from patches/nginx-1.21.4-safe_resolver_ipv6_option.patch rename to patches/nginx/1.21.4/nginx-1.21.4-safe_resolver_ipv6_option.patch diff --git a/patches/nginx-1.21.4-server_header.patch b/patches/nginx/1.21.4/nginx-1.21.4-server_header.patch similarity index 100% rename from patches/nginx-1.21.4-server_header.patch rename to patches/nginx/1.21.4/nginx-1.21.4-server_header.patch diff --git a/patches/nginx-1.21.4-setting_args_invalidates_uri.patch b/patches/nginx/1.21.4/nginx-1.21.4-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.21.4-setting_args_invalidates_uri.patch rename to patches/nginx/1.21.4/nginx-1.21.4-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.21.4-single_process_graceful_exit.patch b/patches/nginx/1.21.4/nginx-1.21.4-single_process_graceful_exit.patch similarity index 100% rename from patches/nginx-1.21.4-single_process_graceful_exit.patch rename to patches/nginx/1.21.4/nginx-1.21.4-single_process_graceful_exit.patch diff --git a/patches/nginx-1.21.4-socket_cloexec.patch b/patches/nginx/1.21.4/nginx-1.21.4-socket_cloexec.patch similarity index 100% rename from patches/nginx-1.21.4-socket_cloexec.patch rename to patches/nginx/1.21.4/nginx-1.21.4-socket_cloexec.patch diff --git a/patches/nginx-1.21.4-ssl_cert_cb_yield.patch b/patches/nginx/1.21.4/nginx-1.21.4-ssl_cert_cb_yield.patch similarity index 100% rename from patches/nginx-1.21.4-ssl_cert_cb_yield.patch rename to patches/nginx/1.21.4/nginx-1.21.4-ssl_cert_cb_yield.patch diff --git a/patches/nginx-1.21.4-ssl_client_hello_cb_yield.patch b/patches/nginx/1.21.4/nginx-1.21.4-ssl_client_hello_cb_yield.patch similarity index 100% rename from patches/nginx-1.21.4-ssl_client_hello_cb_yield.patch rename to patches/nginx/1.21.4/nginx-1.21.4-ssl_client_hello_cb_yield.patch diff --git a/patches/nginx-1.21.4-ssl_sess_cb_yield.patch b/patches/nginx/1.21.4/nginx-1.21.4-ssl_sess_cb_yield.patch similarity index 100% rename from patches/nginx-1.21.4-ssl_sess_cb_yield.patch rename to patches/nginx/1.21.4/nginx-1.21.4-ssl_sess_cb_yield.patch diff --git a/patches/nginx-1.21.4-stream_balancer_export.patch b/patches/nginx/1.21.4/nginx-1.21.4-stream_balancer_export.patch similarity index 100% rename from patches/nginx-1.21.4-stream_balancer_export.patch rename to patches/nginx/1.21.4/nginx-1.21.4-stream_balancer_export.patch diff --git a/patches/nginx-1.21.4-stream_proxy_get_next_upstream_tries.patch b/patches/nginx/1.21.4/nginx-1.21.4-stream_proxy_get_next_upstream_tries.patch similarity index 100% rename from patches/nginx-1.21.4-stream_proxy_get_next_upstream_tries.patch rename to patches/nginx/1.21.4/nginx-1.21.4-stream_proxy_get_next_upstream_tries.patch diff --git a/patches/nginx-1.21.4-stream_proxy_timeout_fields.patch b/patches/nginx/1.21.4/nginx-1.21.4-stream_proxy_timeout_fields.patch similarity index 100% rename from patches/nginx-1.21.4-stream_proxy_timeout_fields.patch rename to patches/nginx/1.21.4/nginx-1.21.4-stream_proxy_timeout_fields.patch diff --git a/patches/nginx-1.21.4-stream_ssl_preread_no_skip.patch b/patches/nginx/1.21.4/nginx-1.21.4-stream_ssl_preread_no_skip.patch similarity index 100% rename from patches/nginx-1.21.4-stream_ssl_preread_no_skip.patch rename to patches/nginx/1.21.4/nginx-1.21.4-stream_ssl_preread_no_skip.patch diff --git a/patches/nginx-1.21.4-upstream_pipelining.patch b/patches/nginx/1.21.4/nginx-1.21.4-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.21.4-upstream_pipelining.patch rename to patches/nginx/1.21.4/nginx-1.21.4-upstream_pipelining.patch diff --git a/patches/nginx-1.21.4-upstream_timeout_fields.patch b/patches/nginx/1.21.4/nginx-1.21.4-upstream_timeout_fields.patch similarity index 100% rename from patches/nginx-1.21.4-upstream_timeout_fields.patch rename to patches/nginx/1.21.4/nginx-1.21.4-upstream_timeout_fields.patch diff --git a/patches/nginx-1.21.4-win32_max_err_str.patch b/patches/nginx/1.21.4/nginx-1.21.4-win32_max_err_str.patch similarity index 100% rename from patches/nginx-1.21.4-win32_max_err_str.patch rename to patches/nginx/1.21.4/nginx-1.21.4-win32_max_err_str.patch diff --git a/patches/nginx-1.23.0-always_enable_cc_feature_tests.patch b/patches/nginx/1.23.0/nginx-1.23.0-always_enable_cc_feature_tests.patch similarity index 100% rename from patches/nginx-1.23.0-always_enable_cc_feature_tests.patch rename to patches/nginx/1.23.0/nginx-1.23.0-always_enable_cc_feature_tests.patch diff --git a/patches/nginx-1.23.0-balancer_status_code.patch b/patches/nginx/1.23.0/nginx-1.23.0-balancer_status_code.patch similarity index 100% rename from patches/nginx-1.23.0-balancer_status_code.patch rename to patches/nginx/1.23.0/nginx-1.23.0-balancer_status_code.patch diff --git a/patches/nginx-1.23.0-builtin_error_page_footer.patch b/patches/nginx/1.23.0/nginx-1.23.0-builtin_error_page_footer.patch similarity index 100% rename from patches/nginx-1.23.0-builtin_error_page_footer.patch rename to patches/nginx/1.23.0/nginx-1.23.0-builtin_error_page_footer.patch diff --git a/patches/nginx-1.23.0-cache_manager_exit.patch b/patches/nginx/1.23.0/nginx-1.23.0-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.23.0-cache_manager_exit.patch rename to patches/nginx/1.23.0/nginx-1.23.0-cache_manager_exit.patch diff --git a/patches/nginx-1.23.0-daemon_destroy_pool.patch b/patches/nginx/1.23.0/nginx-1.23.0-daemon_destroy_pool.patch similarity index 100% rename from patches/nginx-1.23.0-daemon_destroy_pool.patch rename to patches/nginx/1.23.0/nginx-1.23.0-daemon_destroy_pool.patch diff --git a/patches/nginx-1.23.0-delayed_posted_events.patch b/patches/nginx/1.23.0/nginx-1.23.0-delayed_posted_events.patch similarity index 100% rename from patches/nginx-1.23.0-delayed_posted_events.patch rename to patches/nginx/1.23.0/nginx-1.23.0-delayed_posted_events.patch diff --git a/patches/nginx-1.23.0-hash_overflow.patch b/patches/nginx/1.23.0/nginx-1.23.0-hash_overflow.patch similarity index 100% rename from patches/nginx-1.23.0-hash_overflow.patch rename to patches/nginx/1.23.0/nginx-1.23.0-hash_overflow.patch diff --git a/patches/nginx-1.23.0-init_cycle_pool_release.patch b/patches/nginx/1.23.0/nginx-1.23.0-init_cycle_pool_release.patch similarity index 100% rename from patches/nginx-1.23.0-init_cycle_pool_release.patch rename to patches/nginx/1.23.0/nginx-1.23.0-init_cycle_pool_release.patch diff --git a/patches/nginx-1.23.0-intercept_error_log.patch b/patches/nginx/1.23.0/nginx-1.23.0-intercept_error_log.patch similarity index 100% rename from patches/nginx-1.23.0-intercept_error_log.patch rename to patches/nginx/1.23.0/nginx-1.23.0-intercept_error_log.patch diff --git a/patches/nginx-1.23.0-larger_max_error_str.patch b/patches/nginx/1.23.0/nginx-1.23.0-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.23.0-larger_max_error_str.patch rename to patches/nginx/1.23.0/nginx-1.23.0-larger_max_error_str.patch diff --git a/patches/nginx-1.23.0-log_escape_non_ascii.patch b/patches/nginx/1.23.0/nginx-1.23.0-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.23.0-log_escape_non_ascii.patch rename to patches/nginx/1.23.0/nginx-1.23.0-log_escape_non_ascii.patch diff --git a/patches/nginx-1.23.0-no_Werror.patch b/patches/nginx/1.23.0/nginx-1.23.0-no_Werror.patch similarity index 100% rename from patches/nginx-1.23.0-no_Werror.patch rename to patches/nginx/1.23.0/nginx-1.23.0-no_Werror.patch diff --git a/patches/nginx-1.23.0-no_error_pages.patch b/patches/nginx/1.23.0/nginx-1.23.0-no_error_pages.patch similarity index 100% rename from patches/nginx-1.23.0-no_error_pages.patch rename to patches/nginx/1.23.0/nginx-1.23.0-no_error_pages.patch diff --git a/patches/nginx-1.23.0-no_pool.patch b/patches/nginx/1.23.0/nginx-1.23.0-no_pool.patch similarity index 100% rename from patches/nginx-1.23.0-no_pool.patch rename to patches/nginx/1.23.0/nginx-1.23.0-no_pool.patch diff --git a/patches/nginx-1.23.0-pcre_conf_opt.patch b/patches/nginx/1.23.0/nginx-1.23.0-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.23.0-pcre_conf_opt.patch rename to patches/nginx/1.23.0/nginx-1.23.0-pcre_conf_opt.patch diff --git a/patches/nginx-1.23.0-privileged_agent_process.patch b/patches/nginx/1.23.0/nginx-1.23.0-privileged_agent_process.patch similarity index 100% rename from patches/nginx-1.23.0-privileged_agent_process.patch rename to patches/nginx/1.23.0/nginx-1.23.0-privileged_agent_process.patch diff --git a/patches/nginx-1.23.0-privileged_agent_process_connections.patch b/patches/nginx/1.23.0/nginx-1.23.0-privileged_agent_process_connections.patch similarity index 100% rename from patches/nginx-1.23.0-privileged_agent_process_connections.patch rename to patches/nginx/1.23.0/nginx-1.23.0-privileged_agent_process_connections.patch diff --git a/patches/nginx-1.23.0-privileged_agent_process_thread_pool.patch b/patches/nginx/1.23.0/nginx-1.23.0-privileged_agent_process_thread_pool.patch similarity index 100% rename from patches/nginx-1.23.0-privileged_agent_process_thread_pool.patch rename to patches/nginx/1.23.0/nginx-1.23.0-privileged_agent_process_thread_pool.patch diff --git a/patches/nginx-1.23.0-proxy_host_port_vars.patch b/patches/nginx/1.23.0/nginx-1.23.0-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.23.0-proxy_host_port_vars.patch rename to patches/nginx/1.23.0/nginx-1.23.0-proxy_host_port_vars.patch diff --git a/patches/nginx-1.23.0-resolver_conf_parsing.patch b/patches/nginx/1.23.0/nginx-1.23.0-resolver_conf_parsing.patch similarity index 100% rename from patches/nginx-1.23.0-resolver_conf_parsing.patch rename to patches/nginx/1.23.0/nginx-1.23.0-resolver_conf_parsing.patch diff --git a/patches/nginx-1.23.0-reuseport_close_unused_fds.patch b/patches/nginx/1.23.0/nginx-1.23.0-reuseport_close_unused_fds.patch similarity index 100% rename from patches/nginx-1.23.0-reuseport_close_unused_fds.patch rename to patches/nginx/1.23.0/nginx-1.23.0-reuseport_close_unused_fds.patch diff --git a/patches/nginx-1.23.0-safe_resolver_ipv6_option.patch b/patches/nginx/1.23.0/nginx-1.23.0-safe_resolver_ipv6_option.patch similarity index 100% rename from patches/nginx-1.23.0-safe_resolver_ipv6_option.patch rename to patches/nginx/1.23.0/nginx-1.23.0-safe_resolver_ipv6_option.patch diff --git a/patches/nginx-1.23.0-server_header.patch b/patches/nginx/1.23.0/nginx-1.23.0-server_header.patch similarity index 100% rename from patches/nginx-1.23.0-server_header.patch rename to patches/nginx/1.23.0/nginx-1.23.0-server_header.patch diff --git a/patches/nginx-1.23.0-setting_args_invalidates_uri.patch b/patches/nginx/1.23.0/nginx-1.23.0-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.23.0-setting_args_invalidates_uri.patch rename to patches/nginx/1.23.0/nginx-1.23.0-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.23.0-single_process_graceful_exit.patch b/patches/nginx/1.23.0/nginx-1.23.0-single_process_graceful_exit.patch similarity index 100% rename from patches/nginx-1.23.0-single_process_graceful_exit.patch rename to patches/nginx/1.23.0/nginx-1.23.0-single_process_graceful_exit.patch diff --git a/patches/nginx-1.23.0-socket_cloexec.patch b/patches/nginx/1.23.0/nginx-1.23.0-socket_cloexec.patch similarity index 100% rename from patches/nginx-1.23.0-socket_cloexec.patch rename to patches/nginx/1.23.0/nginx-1.23.0-socket_cloexec.patch diff --git a/patches/nginx-1.23.0-ssl_cert_cb_yield.patch b/patches/nginx/1.23.0/nginx-1.23.0-ssl_cert_cb_yield.patch similarity index 100% rename from patches/nginx-1.23.0-ssl_cert_cb_yield.patch rename to patches/nginx/1.23.0/nginx-1.23.0-ssl_cert_cb_yield.patch diff --git a/patches/nginx-1.23.0-ssl_client_hello_cb_yield.patch b/patches/nginx/1.23.0/nginx-1.23.0-ssl_client_hello_cb_yield.patch similarity index 100% rename from patches/nginx-1.23.0-ssl_client_hello_cb_yield.patch rename to patches/nginx/1.23.0/nginx-1.23.0-ssl_client_hello_cb_yield.patch diff --git a/patches/nginx-1.23.0-ssl_sess_cb_yield.patch b/patches/nginx/1.23.0/nginx-1.23.0-ssl_sess_cb_yield.patch similarity index 100% rename from patches/nginx-1.23.0-ssl_sess_cb_yield.patch rename to patches/nginx/1.23.0/nginx-1.23.0-ssl_sess_cb_yield.patch diff --git a/patches/nginx-1.23.0-stream_balancer_export.patch b/patches/nginx/1.23.0/nginx-1.23.0-stream_balancer_export.patch similarity index 100% rename from patches/nginx-1.23.0-stream_balancer_export.patch rename to patches/nginx/1.23.0/nginx-1.23.0-stream_balancer_export.patch diff --git a/patches/nginx-1.23.0-stream_proxy_get_next_upstream_tries.patch b/patches/nginx/1.23.0/nginx-1.23.0-stream_proxy_get_next_upstream_tries.patch similarity index 100% rename from patches/nginx-1.23.0-stream_proxy_get_next_upstream_tries.patch rename to patches/nginx/1.23.0/nginx-1.23.0-stream_proxy_get_next_upstream_tries.patch diff --git a/patches/nginx-1.23.0-stream_proxy_timeout_fields.patch b/patches/nginx/1.23.0/nginx-1.23.0-stream_proxy_timeout_fields.patch similarity index 100% rename from patches/nginx-1.23.0-stream_proxy_timeout_fields.patch rename to patches/nginx/1.23.0/nginx-1.23.0-stream_proxy_timeout_fields.patch diff --git a/patches/nginx-1.23.0-stream_ssl_preread_no_skip.patch b/patches/nginx/1.23.0/nginx-1.23.0-stream_ssl_preread_no_skip.patch similarity index 100% rename from patches/nginx-1.23.0-stream_ssl_preread_no_skip.patch rename to patches/nginx/1.23.0/nginx-1.23.0-stream_ssl_preread_no_skip.patch diff --git a/patches/nginx-1.23.0-upstream_pipelining.patch b/patches/nginx/1.23.0/nginx-1.23.0-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.23.0-upstream_pipelining.patch rename to patches/nginx/1.23.0/nginx-1.23.0-upstream_pipelining.patch diff --git a/patches/nginx-1.23.0-upstream_timeout_fields.patch b/patches/nginx/1.23.0/nginx-1.23.0-upstream_timeout_fields.patch similarity index 100% rename from patches/nginx-1.23.0-upstream_timeout_fields.patch rename to patches/nginx/1.23.0/nginx-1.23.0-upstream_timeout_fields.patch diff --git a/patches/nginx-1.23.0-win32_max_err_str.patch b/patches/nginx/1.23.0/nginx-1.23.0-win32_max_err_str.patch similarity index 100% rename from patches/nginx-1.23.0-win32_max_err_str.patch rename to patches/nginx/1.23.0/nginx-1.23.0-win32_max_err_str.patch diff --git a/patches/nginx-1.25.1-always_enable_cc_feature_tests.patch b/patches/nginx/1.25.1/nginx-1.25.1-always_enable_cc_feature_tests.patch similarity index 100% rename from patches/nginx-1.25.1-always_enable_cc_feature_tests.patch rename to patches/nginx/1.25.1/nginx-1.25.1-always_enable_cc_feature_tests.patch diff --git a/patches/nginx-1.25.1-balancer_status_code.patch b/patches/nginx/1.25.1/nginx-1.25.1-balancer_status_code.patch similarity index 100% rename from patches/nginx-1.25.1-balancer_status_code.patch rename to patches/nginx/1.25.1/nginx-1.25.1-balancer_status_code.patch diff --git a/patches/nginx-1.25.1-builtin_error_page_footer.patch b/patches/nginx/1.25.1/nginx-1.25.1-builtin_error_page_footer.patch similarity index 100% rename from patches/nginx-1.25.1-builtin_error_page_footer.patch rename to patches/nginx/1.25.1/nginx-1.25.1-builtin_error_page_footer.patch diff --git a/patches/nginx-1.25.1-cache_manager_exit.patch b/patches/nginx/1.25.1/nginx-1.25.1-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.25.1-cache_manager_exit.patch rename to patches/nginx/1.25.1/nginx-1.25.1-cache_manager_exit.patch diff --git a/patches/nginx-1.25.1-daemon_destroy_pool.patch b/patches/nginx/1.25.1/nginx-1.25.1-daemon_destroy_pool.patch similarity index 100% rename from patches/nginx-1.25.1-daemon_destroy_pool.patch rename to patches/nginx/1.25.1/nginx-1.25.1-daemon_destroy_pool.patch diff --git a/patches/nginx-1.25.1-delayed_posted_events.patch b/patches/nginx/1.25.1/nginx-1.25.1-delayed_posted_events.patch similarity index 100% rename from patches/nginx-1.25.1-delayed_posted_events.patch rename to patches/nginx/1.25.1/nginx-1.25.1-delayed_posted_events.patch diff --git a/patches/nginx-1.25.1-hash_overflow.patch b/patches/nginx/1.25.1/nginx-1.25.1-hash_overflow.patch similarity index 100% rename from patches/nginx-1.25.1-hash_overflow.patch rename to patches/nginx/1.25.1/nginx-1.25.1-hash_overflow.patch diff --git a/patches/nginx-1.25.1-init_cycle_pool_release.patch b/patches/nginx/1.25.1/nginx-1.25.1-init_cycle_pool_release.patch similarity index 100% rename from patches/nginx-1.25.1-init_cycle_pool_release.patch rename to patches/nginx/1.25.1/nginx-1.25.1-init_cycle_pool_release.patch diff --git a/patches/nginx-1.25.1-intercept_error_log.patch b/patches/nginx/1.25.1/nginx-1.25.1-intercept_error_log.patch similarity index 100% rename from patches/nginx-1.25.1-intercept_error_log.patch rename to patches/nginx/1.25.1/nginx-1.25.1-intercept_error_log.patch diff --git a/patches/nginx-1.25.1-larger_max_error_str.patch b/patches/nginx/1.25.1/nginx-1.25.1-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.25.1-larger_max_error_str.patch rename to patches/nginx/1.25.1/nginx-1.25.1-larger_max_error_str.patch diff --git a/patches/nginx-1.25.1-log_escape_non_ascii.patch b/patches/nginx/1.25.1/nginx-1.25.1-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.25.1-log_escape_non_ascii.patch rename to patches/nginx/1.25.1/nginx-1.25.1-log_escape_non_ascii.patch diff --git a/patches/nginx-1.25.1-no_Werror.patch b/patches/nginx/1.25.1/nginx-1.25.1-no_Werror.patch similarity index 100% rename from patches/nginx-1.25.1-no_Werror.patch rename to patches/nginx/1.25.1/nginx-1.25.1-no_Werror.patch diff --git a/patches/nginx-1.25.1-no_error_pages.patch b/patches/nginx/1.25.1/nginx-1.25.1-no_error_pages.patch similarity index 100% rename from patches/nginx-1.25.1-no_error_pages.patch rename to patches/nginx/1.25.1/nginx-1.25.1-no_error_pages.patch diff --git a/patches/nginx-1.25.1-no_pool.patch b/patches/nginx/1.25.1/nginx-1.25.1-no_pool.patch similarity index 100% rename from patches/nginx-1.25.1-no_pool.patch rename to patches/nginx/1.25.1/nginx-1.25.1-no_pool.patch diff --git a/patches/nginx-1.25.1-pcre_conf_opt.patch b/patches/nginx/1.25.1/nginx-1.25.1-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.25.1-pcre_conf_opt.patch rename to patches/nginx/1.25.1/nginx-1.25.1-pcre_conf_opt.patch diff --git a/patches/nginx-1.25.1-privileged_agent_process.patch b/patches/nginx/1.25.1/nginx-1.25.1-privileged_agent_process.patch similarity index 100% rename from patches/nginx-1.25.1-privileged_agent_process.patch rename to patches/nginx/1.25.1/nginx-1.25.1-privileged_agent_process.patch diff --git a/patches/nginx-1.25.1-privileged_agent_process_connections.patch b/patches/nginx/1.25.1/nginx-1.25.1-privileged_agent_process_connections.patch similarity index 100% rename from patches/nginx-1.25.1-privileged_agent_process_connections.patch rename to patches/nginx/1.25.1/nginx-1.25.1-privileged_agent_process_connections.patch diff --git a/patches/nginx-1.25.1-privileged_agent_process_thread_pool.patch b/patches/nginx/1.25.1/nginx-1.25.1-privileged_agent_process_thread_pool.patch similarity index 100% rename from patches/nginx-1.25.1-privileged_agent_process_thread_pool.patch rename to patches/nginx/1.25.1/nginx-1.25.1-privileged_agent_process_thread_pool.patch diff --git a/patches/nginx-1.25.1-proxy_host_port_vars.patch b/patches/nginx/1.25.1/nginx-1.25.1-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.25.1-proxy_host_port_vars.patch rename to patches/nginx/1.25.1/nginx-1.25.1-proxy_host_port_vars.patch diff --git a/patches/nginx-1.25.1-resolver_conf_parsing.patch b/patches/nginx/1.25.1/nginx-1.25.1-resolver_conf_parsing.patch similarity index 100% rename from patches/nginx-1.25.1-resolver_conf_parsing.patch rename to patches/nginx/1.25.1/nginx-1.25.1-resolver_conf_parsing.patch diff --git a/patches/nginx-1.25.1-reuseport_close_unused_fds.patch b/patches/nginx/1.25.1/nginx-1.25.1-reuseport_close_unused_fds.patch similarity index 100% rename from patches/nginx-1.25.1-reuseport_close_unused_fds.patch rename to patches/nginx/1.25.1/nginx-1.25.1-reuseport_close_unused_fds.patch diff --git a/patches/nginx-1.25.1-safe_resolver_ipv6_option.patch b/patches/nginx/1.25.1/nginx-1.25.1-safe_resolver_ipv6_option.patch similarity index 100% rename from patches/nginx-1.25.1-safe_resolver_ipv6_option.patch rename to patches/nginx/1.25.1/nginx-1.25.1-safe_resolver_ipv6_option.patch diff --git a/patches/nginx-1.25.1-server_header.patch b/patches/nginx/1.25.1/nginx-1.25.1-server_header.patch similarity index 100% rename from patches/nginx-1.25.1-server_header.patch rename to patches/nginx/1.25.1/nginx-1.25.1-server_header.patch diff --git a/patches/nginx-1.25.1-setting_args_invalidates_uri.patch b/patches/nginx/1.25.1/nginx-1.25.1-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.25.1-setting_args_invalidates_uri.patch rename to patches/nginx/1.25.1/nginx-1.25.1-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.25.1-single_process_graceful_exit.patch b/patches/nginx/1.25.1/nginx-1.25.1-single_process_graceful_exit.patch similarity index 100% rename from patches/nginx-1.25.1-single_process_graceful_exit.patch rename to patches/nginx/1.25.1/nginx-1.25.1-single_process_graceful_exit.patch diff --git a/patches/nginx-1.25.1-socket_cloexec.patch b/patches/nginx/1.25.1/nginx-1.25.1-socket_cloexec.patch similarity index 100% rename from patches/nginx-1.25.1-socket_cloexec.patch rename to patches/nginx/1.25.1/nginx-1.25.1-socket_cloexec.patch diff --git a/patches/nginx-1.25.1-ssl_cert_cb_yield.patch b/patches/nginx/1.25.1/nginx-1.25.1-ssl_cert_cb_yield.patch similarity index 100% rename from patches/nginx-1.25.1-ssl_cert_cb_yield.patch rename to patches/nginx/1.25.1/nginx-1.25.1-ssl_cert_cb_yield.patch diff --git a/patches/nginx-1.25.1-ssl_client_hello_cb_yield.patch b/patches/nginx/1.25.1/nginx-1.25.1-ssl_client_hello_cb_yield.patch similarity index 100% rename from patches/nginx-1.25.1-ssl_client_hello_cb_yield.patch rename to patches/nginx/1.25.1/nginx-1.25.1-ssl_client_hello_cb_yield.patch diff --git a/patches/nginx-1.25.1-ssl_sess_cb_yield.patch b/patches/nginx/1.25.1/nginx-1.25.1-ssl_sess_cb_yield.patch similarity index 100% rename from patches/nginx-1.25.1-ssl_sess_cb_yield.patch rename to patches/nginx/1.25.1/nginx-1.25.1-ssl_sess_cb_yield.patch diff --git a/patches/nginx-1.25.1-stream_balancer_export.patch b/patches/nginx/1.25.1/nginx-1.25.1-stream_balancer_export.patch similarity index 100% rename from patches/nginx-1.25.1-stream_balancer_export.patch rename to patches/nginx/1.25.1/nginx-1.25.1-stream_balancer_export.patch diff --git a/patches/nginx-1.25.1-stream_proxy_get_next_upstream_tries.patch b/patches/nginx/1.25.1/nginx-1.25.1-stream_proxy_get_next_upstream_tries.patch similarity index 100% rename from patches/nginx-1.25.1-stream_proxy_get_next_upstream_tries.patch rename to patches/nginx/1.25.1/nginx-1.25.1-stream_proxy_get_next_upstream_tries.patch diff --git a/patches/nginx-1.25.1-stream_proxy_timeout_fields.patch b/patches/nginx/1.25.1/nginx-1.25.1-stream_proxy_timeout_fields.patch similarity index 100% rename from patches/nginx-1.25.1-stream_proxy_timeout_fields.patch rename to patches/nginx/1.25.1/nginx-1.25.1-stream_proxy_timeout_fields.patch diff --git a/patches/nginx-1.25.1-stream_ssl_preread_no_skip.patch b/patches/nginx/1.25.1/nginx-1.25.1-stream_ssl_preread_no_skip.patch similarity index 100% rename from patches/nginx-1.25.1-stream_ssl_preread_no_skip.patch rename to patches/nginx/1.25.1/nginx-1.25.1-stream_ssl_preread_no_skip.patch diff --git a/patches/nginx-1.25.1-upstream_pipelining.patch b/patches/nginx/1.25.1/nginx-1.25.1-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.25.1-upstream_pipelining.patch rename to patches/nginx/1.25.1/nginx-1.25.1-upstream_pipelining.patch diff --git a/patches/nginx-1.25.1-upstream_timeout_fields.patch b/patches/nginx/1.25.1/nginx-1.25.1-upstream_timeout_fields.patch similarity index 100% rename from patches/nginx-1.25.1-upstream_timeout_fields.patch rename to patches/nginx/1.25.1/nginx-1.25.1-upstream_timeout_fields.patch diff --git a/patches/nginx-1.25.1-win32_max_err_str.patch b/patches/nginx/1.25.1/nginx-1.25.1-win32_max_err_str.patch similarity index 100% rename from patches/nginx-1.25.1-win32_max_err_str.patch rename to patches/nginx/1.25.1/nginx-1.25.1-win32_max_err_str.patch diff --git a/patches/nginx-1.25.3-CVE-2025-23419.patch b/patches/nginx/1.25.3/nginx-1.25.3-CVE-2025-23419.patch similarity index 100% rename from patches/nginx-1.25.3-CVE-2025-23419.patch rename to patches/nginx/1.25.3/nginx-1.25.3-CVE-2025-23419.patch diff --git a/patches/nginx-1.25.3-always_enable_cc_feature_tests.patch b/patches/nginx/1.25.3/nginx-1.25.3-always_enable_cc_feature_tests.patch similarity index 100% rename from patches/nginx-1.25.3-always_enable_cc_feature_tests.patch rename to patches/nginx/1.25.3/nginx-1.25.3-always_enable_cc_feature_tests.patch diff --git a/patches/nginx-1.25.3-balancer_pool_max_retry.patch b/patches/nginx/1.25.3/nginx-1.25.3-balancer_pool_max_retry.patch similarity index 100% rename from patches/nginx-1.25.3-balancer_pool_max_retry.patch rename to patches/nginx/1.25.3/nginx-1.25.3-balancer_pool_max_retry.patch diff --git a/patches/nginx-1.25.3-balancer_status_code.patch b/patches/nginx/1.25.3/nginx-1.25.3-balancer_status_code.patch similarity index 100% rename from patches/nginx-1.25.3-balancer_status_code.patch rename to patches/nginx/1.25.3/nginx-1.25.3-balancer_status_code.patch diff --git a/patches/nginx-1.25.3-builtin_error_page_footer.patch b/patches/nginx/1.25.3/nginx-1.25.3-builtin_error_page_footer.patch similarity index 100% rename from patches/nginx-1.25.3-builtin_error_page_footer.patch rename to patches/nginx/1.25.3/nginx-1.25.3-builtin_error_page_footer.patch diff --git a/patches/nginx-1.25.3-cache_manager_exit.patch b/patches/nginx/1.25.3/nginx-1.25.3-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.25.3-cache_manager_exit.patch rename to patches/nginx/1.25.3/nginx-1.25.3-cache_manager_exit.patch diff --git a/patches/nginx-1.25.3-daemon_destroy_pool.patch b/patches/nginx/1.25.3/nginx-1.25.3-daemon_destroy_pool.patch similarity index 100% rename from patches/nginx-1.25.3-daemon_destroy_pool.patch rename to patches/nginx/1.25.3/nginx-1.25.3-daemon_destroy_pool.patch diff --git a/patches/nginx-1.25.3-delayed_posted_events.patch b/patches/nginx/1.25.3/nginx-1.25.3-delayed_posted_events.patch similarity index 100% rename from patches/nginx-1.25.3-delayed_posted_events.patch rename to patches/nginx/1.25.3/nginx-1.25.3-delayed_posted_events.patch diff --git a/patches/nginx-1.25.3-hash_overflow.patch b/patches/nginx/1.25.3/nginx-1.25.3-hash_overflow.patch similarity index 100% rename from patches/nginx-1.25.3-hash_overflow.patch rename to patches/nginx/1.25.3/nginx-1.25.3-hash_overflow.patch diff --git a/patches/nginx-1.25.3-init_cycle_pool_release.patch b/patches/nginx/1.25.3/nginx-1.25.3-init_cycle_pool_release.patch similarity index 100% rename from patches/nginx-1.25.3-init_cycle_pool_release.patch rename to patches/nginx/1.25.3/nginx-1.25.3-init_cycle_pool_release.patch diff --git a/patches/nginx-1.25.3-intercept_error_log.patch b/patches/nginx/1.25.3/nginx-1.25.3-intercept_error_log.patch similarity index 100% rename from patches/nginx-1.25.3-intercept_error_log.patch rename to patches/nginx/1.25.3/nginx-1.25.3-intercept_error_log.patch diff --git a/patches/nginx-1.25.3-larger_max_error_str.patch b/patches/nginx/1.25.3/nginx-1.25.3-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.25.3-larger_max_error_str.patch rename to patches/nginx/1.25.3/nginx-1.25.3-larger_max_error_str.patch diff --git a/patches/nginx-1.25.3-log_escape_non_ascii.patch b/patches/nginx/1.25.3/nginx-1.25.3-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.25.3-log_escape_non_ascii.patch rename to patches/nginx/1.25.3/nginx-1.25.3-log_escape_non_ascii.patch diff --git a/patches/nginx-1.25.3-no_Werror.patch b/patches/nginx/1.25.3/nginx-1.25.3-no_Werror.patch similarity index 100% rename from patches/nginx-1.25.3-no_Werror.patch rename to patches/nginx/1.25.3/nginx-1.25.3-no_Werror.patch diff --git a/patches/nginx-1.25.3-no_error_pages.patch b/patches/nginx/1.25.3/nginx-1.25.3-no_error_pages.patch similarity index 100% rename from patches/nginx-1.25.3-no_error_pages.patch rename to patches/nginx/1.25.3/nginx-1.25.3-no_error_pages.patch diff --git a/patches/nginx-1.25.3-no_pool.patch b/patches/nginx/1.25.3/nginx-1.25.3-no_pool.patch similarity index 100% rename from patches/nginx-1.25.3-no_pool.patch rename to patches/nginx/1.25.3/nginx-1.25.3-no_pool.patch diff --git a/patches/nginx-1.25.3-pcre_conf_opt.patch b/patches/nginx/1.25.3/nginx-1.25.3-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.25.3-pcre_conf_opt.patch rename to patches/nginx/1.25.3/nginx-1.25.3-pcre_conf_opt.patch diff --git a/patches/nginx-1.25.3-privileged_agent_process.patch b/patches/nginx/1.25.3/nginx-1.25.3-privileged_agent_process.patch similarity index 100% rename from patches/nginx-1.25.3-privileged_agent_process.patch rename to patches/nginx/1.25.3/nginx-1.25.3-privileged_agent_process.patch diff --git a/patches/nginx-1.25.3-privileged_agent_process_connections.patch b/patches/nginx/1.25.3/nginx-1.25.3-privileged_agent_process_connections.patch similarity index 100% rename from patches/nginx-1.25.3-privileged_agent_process_connections.patch rename to patches/nginx/1.25.3/nginx-1.25.3-privileged_agent_process_connections.patch diff --git a/patches/nginx-1.25.3-privileged_agent_process_thread_pool.patch b/patches/nginx/1.25.3/nginx-1.25.3-privileged_agent_process_thread_pool.patch similarity index 100% rename from patches/nginx-1.25.3-privileged_agent_process_thread_pool.patch rename to patches/nginx/1.25.3/nginx-1.25.3-privileged_agent_process_thread_pool.patch diff --git a/patches/nginx-1.25.3-proc_exit_handler.patch b/patches/nginx/1.25.3/nginx-1.25.3-proc_exit_handler.patch similarity index 100% rename from patches/nginx-1.25.3-proc_exit_handler.patch rename to patches/nginx/1.25.3/nginx-1.25.3-proc_exit_handler.patch diff --git a/patches/nginx-1.25.3-proxy_host_port_vars.patch b/patches/nginx/1.25.3/nginx-1.25.3-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.25.3-proxy_host_port_vars.patch rename to patches/nginx/1.25.3/nginx-1.25.3-proxy_host_port_vars.patch diff --git a/patches/nginx-1.25.3-resolver_conf_parsing.patch b/patches/nginx/1.25.3/nginx-1.25.3-resolver_conf_parsing.patch similarity index 100% rename from patches/nginx-1.25.3-resolver_conf_parsing.patch rename to patches/nginx/1.25.3/nginx-1.25.3-resolver_conf_parsing.patch diff --git a/patches/nginx-1.25.3-reuseport_close_unused_fds.patch b/patches/nginx/1.25.3/nginx-1.25.3-reuseport_close_unused_fds.patch similarity index 100% rename from patches/nginx-1.25.3-reuseport_close_unused_fds.patch rename to patches/nginx/1.25.3/nginx-1.25.3-reuseport_close_unused_fds.patch diff --git a/patches/nginx-1.25.3-safe_resolver_ipv6_option.patch b/patches/nginx/1.25.3/nginx-1.25.3-safe_resolver_ipv6_option.patch similarity index 100% rename from patches/nginx-1.25.3-safe_resolver_ipv6_option.patch rename to patches/nginx/1.25.3/nginx-1.25.3-safe_resolver_ipv6_option.patch diff --git a/patches/nginx-1.25.3-server_header.patch b/patches/nginx/1.25.3/nginx-1.25.3-server_header.patch similarity index 100% rename from patches/nginx-1.25.3-server_header.patch rename to patches/nginx/1.25.3/nginx-1.25.3-server_header.patch diff --git a/patches/nginx-1.25.3-setting_args_invalidates_uri.patch b/patches/nginx/1.25.3/nginx-1.25.3-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.25.3-setting_args_invalidates_uri.patch rename to patches/nginx/1.25.3/nginx-1.25.3-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.25.3-single_process_graceful_exit.patch b/patches/nginx/1.25.3/nginx-1.25.3-single_process_graceful_exit.patch similarity index 100% rename from patches/nginx-1.25.3-single_process_graceful_exit.patch rename to patches/nginx/1.25.3/nginx-1.25.3-single_process_graceful_exit.patch diff --git a/patches/nginx-1.25.3-socket_cloexec.patch b/patches/nginx/1.25.3/nginx-1.25.3-socket_cloexec.patch similarity index 100% rename from patches/nginx-1.25.3-socket_cloexec.patch rename to patches/nginx/1.25.3/nginx-1.25.3-socket_cloexec.patch diff --git a/patches/nginx-1.25.3-ssl_cert_cb_yield.patch b/patches/nginx/1.25.3/nginx-1.25.3-ssl_cert_cb_yield.patch similarity index 100% rename from patches/nginx-1.25.3-ssl_cert_cb_yield.patch rename to patches/nginx/1.25.3/nginx-1.25.3-ssl_cert_cb_yield.patch diff --git a/patches/nginx-1.25.3-ssl_client_hello_cb_yield.patch b/patches/nginx/1.25.3/nginx-1.25.3-ssl_client_hello_cb_yield.patch similarity index 100% rename from patches/nginx-1.25.3-ssl_client_hello_cb_yield.patch rename to patches/nginx/1.25.3/nginx-1.25.3-ssl_client_hello_cb_yield.patch diff --git a/patches/nginx-1.25.3-ssl_sess_cb_yield.patch b/patches/nginx/1.25.3/nginx-1.25.3-ssl_sess_cb_yield.patch similarity index 100% rename from patches/nginx-1.25.3-ssl_sess_cb_yield.patch rename to patches/nginx/1.25.3/nginx-1.25.3-ssl_sess_cb_yield.patch diff --git a/patches/nginx-1.25.3-stream_balancer_export.patch b/patches/nginx/1.25.3/nginx-1.25.3-stream_balancer_export.patch similarity index 100% rename from patches/nginx-1.25.3-stream_balancer_export.patch rename to patches/nginx/1.25.3/nginx-1.25.3-stream_balancer_export.patch diff --git a/patches/nginx-1.25.3-stream_proxy_get_next_upstream_tries.patch b/patches/nginx/1.25.3/nginx-1.25.3-stream_proxy_get_next_upstream_tries.patch similarity index 100% rename from patches/nginx-1.25.3-stream_proxy_get_next_upstream_tries.patch rename to patches/nginx/1.25.3/nginx-1.25.3-stream_proxy_get_next_upstream_tries.patch diff --git a/patches/nginx-1.25.3-stream_proxy_timeout_fields.patch b/patches/nginx/1.25.3/nginx-1.25.3-stream_proxy_timeout_fields.patch similarity index 100% rename from patches/nginx-1.25.3-stream_proxy_timeout_fields.patch rename to patches/nginx/1.25.3/nginx-1.25.3-stream_proxy_timeout_fields.patch diff --git a/patches/nginx-1.25.3-stream_ssl_preread_no_skip.patch b/patches/nginx/1.25.3/nginx-1.25.3-stream_ssl_preread_no_skip.patch similarity index 100% rename from patches/nginx-1.25.3-stream_ssl_preread_no_skip.patch rename to patches/nginx/1.25.3/nginx-1.25.3-stream_ssl_preread_no_skip.patch diff --git a/patches/nginx-1.25.3-upstream_pipelining.patch b/patches/nginx/1.25.3/nginx-1.25.3-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.25.3-upstream_pipelining.patch rename to patches/nginx/1.25.3/nginx-1.25.3-upstream_pipelining.patch diff --git a/patches/nginx-1.25.3-upstream_timeout_fields.patch b/patches/nginx/1.25.3/nginx-1.25.3-upstream_timeout_fields.patch similarity index 100% rename from patches/nginx-1.25.3-upstream_timeout_fields.patch rename to patches/nginx/1.25.3/nginx-1.25.3-upstream_timeout_fields.patch diff --git a/patches/nginx-1.25.3-win32_max_err_str.patch b/patches/nginx/1.25.3/nginx-1.25.3-win32_max_err_str.patch similarity index 100% rename from patches/nginx-1.25.3-win32_max_err_str.patch rename to patches/nginx/1.25.3/nginx-1.25.3-win32_max_err_str.patch diff --git a/patches/nginx-1.27.0-always_enable_cc_feature_tests.patch b/patches/nginx/1.27.0/nginx-1.27.0-always_enable_cc_feature_tests.patch similarity index 100% rename from patches/nginx-1.27.0-always_enable_cc_feature_tests.patch rename to patches/nginx/1.27.0/nginx-1.27.0-always_enable_cc_feature_tests.patch diff --git a/patches/nginx-1.27.0-balancer_pool_max_retry.patch b/patches/nginx/1.27.0/nginx-1.27.0-balancer_pool_max_retry.patch similarity index 100% rename from patches/nginx-1.27.0-balancer_pool_max_retry.patch rename to patches/nginx/1.27.0/nginx-1.27.0-balancer_pool_max_retry.patch diff --git a/patches/nginx-1.27.0-balancer_status_code.patch b/patches/nginx/1.27.0/nginx-1.27.0-balancer_status_code.patch similarity index 100% rename from patches/nginx-1.27.0-balancer_status_code.patch rename to patches/nginx/1.27.0/nginx-1.27.0-balancer_status_code.patch diff --git a/patches/nginx-1.27.0-builtin_error_page_footer.patch b/patches/nginx/1.27.0/nginx-1.27.0-builtin_error_page_footer.patch similarity index 100% rename from patches/nginx-1.27.0-builtin_error_page_footer.patch rename to patches/nginx/1.27.0/nginx-1.27.0-builtin_error_page_footer.patch diff --git a/patches/nginx-1.27.0-cache_manager_exit.patch b/patches/nginx/1.27.0/nginx-1.27.0-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.27.0-cache_manager_exit.patch rename to patches/nginx/1.27.0/nginx-1.27.0-cache_manager_exit.patch diff --git a/patches/nginx-1.27.0-daemon_destroy_pool.patch b/patches/nginx/1.27.0/nginx-1.27.0-daemon_destroy_pool.patch similarity index 100% rename from patches/nginx-1.27.0-daemon_destroy_pool.patch rename to patches/nginx/1.27.0/nginx-1.27.0-daemon_destroy_pool.patch diff --git a/patches/nginx-1.27.0-delayed_posted_events.patch b/patches/nginx/1.27.0/nginx-1.27.0-delayed_posted_events.patch similarity index 100% rename from patches/nginx-1.27.0-delayed_posted_events.patch rename to patches/nginx/1.27.0/nginx-1.27.0-delayed_posted_events.patch diff --git a/patches/nginx-1.27.0-hash_overflow.patch b/patches/nginx/1.27.0/nginx-1.27.0-hash_overflow.patch similarity index 100% rename from patches/nginx-1.27.0-hash_overflow.patch rename to patches/nginx/1.27.0/nginx-1.27.0-hash_overflow.patch diff --git a/patches/nginx-1.27.0-init_cycle_pool_release.patch b/patches/nginx/1.27.0/nginx-1.27.0-init_cycle_pool_release.patch similarity index 100% rename from patches/nginx-1.27.0-init_cycle_pool_release.patch rename to patches/nginx/1.27.0/nginx-1.27.0-init_cycle_pool_release.patch diff --git a/patches/nginx-1.27.0-initialize_quic_transport_id_variable.patch b/patches/nginx/1.27.0/nginx-1.27.0-initialize_quic_transport_id_variable.patch similarity index 100% rename from patches/nginx-1.27.0-initialize_quic_transport_id_variable.patch rename to patches/nginx/1.27.0/nginx-1.27.0-initialize_quic_transport_id_variable.patch diff --git a/patches/nginx-1.27.0-intercept_error_log.patch b/patches/nginx/1.27.0/nginx-1.27.0-intercept_error_log.patch similarity index 100% rename from patches/nginx-1.27.0-intercept_error_log.patch rename to patches/nginx/1.27.0/nginx-1.27.0-intercept_error_log.patch diff --git a/patches/nginx-1.27.0-larger_max_error_str.patch b/patches/nginx/1.27.0/nginx-1.27.0-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.27.0-larger_max_error_str.patch rename to patches/nginx/1.27.0/nginx-1.27.0-larger_max_error_str.patch diff --git a/patches/nginx-1.27.0-log_escape_non_ascii.patch b/patches/nginx/1.27.0/nginx-1.27.0-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.27.0-log_escape_non_ascii.patch rename to patches/nginx/1.27.0/nginx-1.27.0-log_escape_non_ascii.patch diff --git a/patches/nginx-1.27.0-no_Werror.patch b/patches/nginx/1.27.0/nginx-1.27.0-no_Werror.patch similarity index 100% rename from patches/nginx-1.27.0-no_Werror.patch rename to patches/nginx/1.27.0/nginx-1.27.0-no_Werror.patch diff --git a/patches/nginx-1.27.0-no_error_pages.patch b/patches/nginx/1.27.0/nginx-1.27.0-no_error_pages.patch similarity index 100% rename from patches/nginx-1.27.0-no_error_pages.patch rename to patches/nginx/1.27.0/nginx-1.27.0-no_error_pages.patch diff --git a/patches/nginx-1.27.0-no_pool.patch b/patches/nginx/1.27.0/nginx-1.27.0-no_pool.patch similarity index 100% rename from patches/nginx-1.27.0-no_pool.patch rename to patches/nginx/1.27.0/nginx-1.27.0-no_pool.patch diff --git a/patches/nginx-1.27.0-pcre_conf_opt.patch b/patches/nginx/1.27.0/nginx-1.27.0-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.27.0-pcre_conf_opt.patch rename to patches/nginx/1.27.0/nginx-1.27.0-pcre_conf_opt.patch diff --git a/patches/nginx-1.27.0-privileged_agent_process.patch b/patches/nginx/1.27.0/nginx-1.27.0-privileged_agent_process.patch similarity index 100% rename from patches/nginx-1.27.0-privileged_agent_process.patch rename to patches/nginx/1.27.0/nginx-1.27.0-privileged_agent_process.patch diff --git a/patches/nginx-1.27.0-privileged_agent_process_connections.patch b/patches/nginx/1.27.0/nginx-1.27.0-privileged_agent_process_connections.patch similarity index 100% rename from patches/nginx-1.27.0-privileged_agent_process_connections.patch rename to patches/nginx/1.27.0/nginx-1.27.0-privileged_agent_process_connections.patch diff --git a/patches/nginx-1.27.0-privileged_agent_process_thread_pool.patch b/patches/nginx/1.27.0/nginx-1.27.0-privileged_agent_process_thread_pool.patch similarity index 100% rename from patches/nginx-1.27.0-privileged_agent_process_thread_pool.patch rename to patches/nginx/1.27.0/nginx-1.27.0-privileged_agent_process_thread_pool.patch diff --git a/patches/nginx-1.27.0-proc_exit_handler.patch b/patches/nginx/1.27.0/nginx-1.27.0-proc_exit_handler.patch similarity index 100% rename from patches/nginx-1.27.0-proc_exit_handler.patch rename to patches/nginx/1.27.0/nginx-1.27.0-proc_exit_handler.patch diff --git a/patches/nginx-1.27.0-proxy_host_port_vars.patch b/patches/nginx/1.27.0/nginx-1.27.0-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.27.0-proxy_host_port_vars.patch rename to patches/nginx/1.27.0/nginx-1.27.0-proxy_host_port_vars.patch diff --git a/patches/nginx-1.27.0-resolver_conf_parsing.patch b/patches/nginx/1.27.0/nginx-1.27.0-resolver_conf_parsing.patch similarity index 100% rename from patches/nginx-1.27.0-resolver_conf_parsing.patch rename to patches/nginx/1.27.0/nginx-1.27.0-resolver_conf_parsing.patch diff --git a/patches/nginx-1.27.0-reuseport_close_unused_fds.patch b/patches/nginx/1.27.0/nginx-1.27.0-reuseport_close_unused_fds.patch similarity index 100% rename from patches/nginx-1.27.0-reuseport_close_unused_fds.patch rename to patches/nginx/1.27.0/nginx-1.27.0-reuseport_close_unused_fds.patch diff --git a/patches/nginx-1.27.0-safe_resolver_ipv6_option.patch b/patches/nginx/1.27.0/nginx-1.27.0-safe_resolver_ipv6_option.patch similarity index 100% rename from patches/nginx-1.27.0-safe_resolver_ipv6_option.patch rename to patches/nginx/1.27.0/nginx-1.27.0-safe_resolver_ipv6_option.patch diff --git a/patches/nginx-1.27.0-server_header.patch b/patches/nginx/1.27.0/nginx-1.27.0-server_header.patch similarity index 100% rename from patches/nginx-1.27.0-server_header.patch rename to patches/nginx/1.27.0/nginx-1.27.0-server_header.patch diff --git a/patches/nginx-1.27.0-setting_args_invalidates_uri.patch b/patches/nginx/1.27.0/nginx-1.27.0-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.27.0-setting_args_invalidates_uri.patch rename to patches/nginx/1.27.0/nginx-1.27.0-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.27.0-single_process_graceful_exit.patch b/patches/nginx/1.27.0/nginx-1.27.0-single_process_graceful_exit.patch similarity index 100% rename from patches/nginx-1.27.0-single_process_graceful_exit.patch rename to patches/nginx/1.27.0/nginx-1.27.0-single_process_graceful_exit.patch diff --git a/patches/nginx-1.27.0-socket_cloexec.patch b/patches/nginx/1.27.0/nginx-1.27.0-socket_cloexec.patch similarity index 100% rename from patches/nginx-1.27.0-socket_cloexec.patch rename to patches/nginx/1.27.0/nginx-1.27.0-socket_cloexec.patch diff --git a/patches/nginx-1.27.0-ssl_cert_cb_yield.patch b/patches/nginx/1.27.0/nginx-1.27.0-ssl_cert_cb_yield.patch similarity index 100% rename from patches/nginx-1.27.0-ssl_cert_cb_yield.patch rename to patches/nginx/1.27.0/nginx-1.27.0-ssl_cert_cb_yield.patch diff --git a/patches/nginx-1.27.0-ssl_client_hello_cb_yield.patch b/patches/nginx/1.27.0/nginx-1.27.0-ssl_client_hello_cb_yield.patch similarity index 100% rename from patches/nginx-1.27.0-ssl_client_hello_cb_yield.patch rename to patches/nginx/1.27.0/nginx-1.27.0-ssl_client_hello_cb_yield.patch diff --git a/patches/nginx-1.27.0-ssl_sess_cb_yield.patch b/patches/nginx/1.27.0/nginx-1.27.0-ssl_sess_cb_yield.patch similarity index 100% rename from patches/nginx-1.27.0-ssl_sess_cb_yield.patch rename to patches/nginx/1.27.0/nginx-1.27.0-ssl_sess_cb_yield.patch diff --git a/patches/nginx-1.27.0-stream_balancer_export.patch b/patches/nginx/1.27.0/nginx-1.27.0-stream_balancer_export.patch similarity index 100% rename from patches/nginx-1.27.0-stream_balancer_export.patch rename to patches/nginx/1.27.0/nginx-1.27.0-stream_balancer_export.patch diff --git a/patches/nginx-1.27.0-stream_proxy_get_next_upstream_tries.patch b/patches/nginx/1.27.0/nginx-1.27.0-stream_proxy_get_next_upstream_tries.patch similarity index 100% rename from patches/nginx-1.27.0-stream_proxy_get_next_upstream_tries.patch rename to patches/nginx/1.27.0/nginx-1.27.0-stream_proxy_get_next_upstream_tries.patch diff --git a/patches/nginx-1.27.0-stream_proxy_timeout_fields.patch b/patches/nginx/1.27.0/nginx-1.27.0-stream_proxy_timeout_fields.patch similarity index 100% rename from patches/nginx-1.27.0-stream_proxy_timeout_fields.patch rename to patches/nginx/1.27.0/nginx-1.27.0-stream_proxy_timeout_fields.patch diff --git a/patches/nginx-1.27.0-stream_ssl_preread_no_skip.patch b/patches/nginx/1.27.0/nginx-1.27.0-stream_ssl_preread_no_skip.patch similarity index 100% rename from patches/nginx-1.27.0-stream_ssl_preread_no_skip.patch rename to patches/nginx/1.27.0/nginx-1.27.0-stream_ssl_preread_no_skip.patch diff --git a/patches/nginx-1.27.0-upstream_pipelining.patch b/patches/nginx/1.27.0/nginx-1.27.0-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.27.0-upstream_pipelining.patch rename to patches/nginx/1.27.0/nginx-1.27.0-upstream_pipelining.patch diff --git a/patches/nginx-1.27.0-upstream_timeout_fields.patch b/patches/nginx/1.27.0/nginx-1.27.0-upstream_timeout_fields.patch similarity index 100% rename from patches/nginx-1.27.0-upstream_timeout_fields.patch rename to patches/nginx/1.27.0/nginx-1.27.0-upstream_timeout_fields.patch diff --git a/patches/nginx-1.27.0-win32_max_err_str.patch b/patches/nginx/1.27.0/nginx-1.27.0-win32_max_err_str.patch similarity index 100% rename from patches/nginx-1.27.0-win32_max_err_str.patch rename to patches/nginx/1.27.0/nginx-1.27.0-win32_max_err_str.patch diff --git a/patches/nginx-1.27.1-CVE-2025-23419.patch b/patches/nginx/1.27.1/nginx-1.27.1-CVE-2025-23419.patch similarity index 100% rename from patches/nginx-1.27.1-CVE-2025-23419.patch rename to patches/nginx/1.27.1/nginx-1.27.1-CVE-2025-23419.patch diff --git a/patches/nginx-1.27.1-always_enable_cc_feature_tests.patch b/patches/nginx/1.27.1/nginx-1.27.1-always_enable_cc_feature_tests.patch similarity index 100% rename from patches/nginx-1.27.1-always_enable_cc_feature_tests.patch rename to patches/nginx/1.27.1/nginx-1.27.1-always_enable_cc_feature_tests.patch diff --git a/patches/nginx-1.27.1-balancer_pool_max_retry.patch b/patches/nginx/1.27.1/nginx-1.27.1-balancer_pool_max_retry.patch similarity index 100% rename from patches/nginx-1.27.1-balancer_pool_max_retry.patch rename to patches/nginx/1.27.1/nginx-1.27.1-balancer_pool_max_retry.patch diff --git a/patches/nginx-1.27.1-balancer_status_code.patch b/patches/nginx/1.27.1/nginx-1.27.1-balancer_status_code.patch similarity index 100% rename from patches/nginx-1.27.1-balancer_status_code.patch rename to patches/nginx/1.27.1/nginx-1.27.1-balancer_status_code.patch diff --git a/patches/nginx-1.27.1-builtin_error_page_footer.patch b/patches/nginx/1.27.1/nginx-1.27.1-builtin_error_page_footer.patch similarity index 100% rename from patches/nginx-1.27.1-builtin_error_page_footer.patch rename to patches/nginx/1.27.1/nginx-1.27.1-builtin_error_page_footer.patch diff --git a/patches/nginx-1.27.1-cache_manager_exit.patch b/patches/nginx/1.27.1/nginx-1.27.1-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.27.1-cache_manager_exit.patch rename to patches/nginx/1.27.1/nginx-1.27.1-cache_manager_exit.patch diff --git a/patches/nginx-1.27.1-daemon_destroy_pool.patch b/patches/nginx/1.27.1/nginx-1.27.1-daemon_destroy_pool.patch similarity index 100% rename from patches/nginx-1.27.1-daemon_destroy_pool.patch rename to patches/nginx/1.27.1/nginx-1.27.1-daemon_destroy_pool.patch diff --git a/patches/nginx-1.27.1-delayed_posted_events.patch b/patches/nginx/1.27.1/nginx-1.27.1-delayed_posted_events.patch similarity index 100% rename from patches/nginx-1.27.1-delayed_posted_events.patch rename to patches/nginx/1.27.1/nginx-1.27.1-delayed_posted_events.patch diff --git a/patches/nginx-1.27.1-hash_overflow.patch b/patches/nginx/1.27.1/nginx-1.27.1-hash_overflow.patch similarity index 100% rename from patches/nginx-1.27.1-hash_overflow.patch rename to patches/nginx/1.27.1/nginx-1.27.1-hash_overflow.patch diff --git a/patches/nginx-1.27.1-init_cycle_pool_release.patch b/patches/nginx/1.27.1/nginx-1.27.1-init_cycle_pool_release.patch similarity index 100% rename from patches/nginx-1.27.1-init_cycle_pool_release.patch rename to patches/nginx/1.27.1/nginx-1.27.1-init_cycle_pool_release.patch diff --git a/patches/nginx-1.27.1-initialize_quic_transport_id_variable.patch b/patches/nginx/1.27.1/nginx-1.27.1-initialize_quic_transport_id_variable.patch similarity index 100% rename from patches/nginx-1.27.1-initialize_quic_transport_id_variable.patch rename to patches/nginx/1.27.1/nginx-1.27.1-initialize_quic_transport_id_variable.patch diff --git a/patches/nginx-1.27.1-intercept_error_log.patch b/patches/nginx/1.27.1/nginx-1.27.1-intercept_error_log.patch similarity index 100% rename from patches/nginx-1.27.1-intercept_error_log.patch rename to patches/nginx/1.27.1/nginx-1.27.1-intercept_error_log.patch diff --git a/patches/nginx-1.27.1-larger_max_error_str.patch b/patches/nginx/1.27.1/nginx-1.27.1-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.27.1-larger_max_error_str.patch rename to patches/nginx/1.27.1/nginx-1.27.1-larger_max_error_str.patch diff --git a/patches/nginx-1.27.1-log_escape_non_ascii.patch b/patches/nginx/1.27.1/nginx-1.27.1-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.27.1-log_escape_non_ascii.patch rename to patches/nginx/1.27.1/nginx-1.27.1-log_escape_non_ascii.patch diff --git a/patches/nginx-1.27.1-no_Werror.patch b/patches/nginx/1.27.1/nginx-1.27.1-no_Werror.patch similarity index 100% rename from patches/nginx-1.27.1-no_Werror.patch rename to patches/nginx/1.27.1/nginx-1.27.1-no_Werror.patch diff --git a/patches/nginx-1.27.1-no_error_pages.patch b/patches/nginx/1.27.1/nginx-1.27.1-no_error_pages.patch similarity index 100% rename from patches/nginx-1.27.1-no_error_pages.patch rename to patches/nginx/1.27.1/nginx-1.27.1-no_error_pages.patch diff --git a/patches/nginx-1.27.1-no_pool.patch b/patches/nginx/1.27.1/nginx-1.27.1-no_pool.patch similarity index 100% rename from patches/nginx-1.27.1-no_pool.patch rename to patches/nginx/1.27.1/nginx-1.27.1-no_pool.patch diff --git a/patches/nginx-1.27.1-pcre_conf_opt.patch b/patches/nginx/1.27.1/nginx-1.27.1-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.27.1-pcre_conf_opt.patch rename to patches/nginx/1.27.1/nginx-1.27.1-pcre_conf_opt.patch diff --git a/patches/nginx-1.27.1-privileged_agent_process.patch b/patches/nginx/1.27.1/nginx-1.27.1-privileged_agent_process.patch similarity index 100% rename from patches/nginx-1.27.1-privileged_agent_process.patch rename to patches/nginx/1.27.1/nginx-1.27.1-privileged_agent_process.patch diff --git a/patches/nginx-1.27.1-privileged_agent_process_connections.patch b/patches/nginx/1.27.1/nginx-1.27.1-privileged_agent_process_connections.patch similarity index 100% rename from patches/nginx-1.27.1-privileged_agent_process_connections.patch rename to patches/nginx/1.27.1/nginx-1.27.1-privileged_agent_process_connections.patch diff --git a/patches/nginx-1.27.1-privileged_agent_process_thread_pool.patch b/patches/nginx/1.27.1/nginx-1.27.1-privileged_agent_process_thread_pool.patch similarity index 100% rename from patches/nginx-1.27.1-privileged_agent_process_thread_pool.patch rename to patches/nginx/1.27.1/nginx-1.27.1-privileged_agent_process_thread_pool.patch diff --git a/patches/nginx-1.27.1-proc_exit_handler.patch b/patches/nginx/1.27.1/nginx-1.27.1-proc_exit_handler.patch similarity index 100% rename from patches/nginx-1.27.1-proc_exit_handler.patch rename to patches/nginx/1.27.1/nginx-1.27.1-proc_exit_handler.patch diff --git a/patches/nginx-1.27.1-proxy_host_port_vars.patch b/patches/nginx/1.27.1/nginx-1.27.1-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.27.1-proxy_host_port_vars.patch rename to patches/nginx/1.27.1/nginx-1.27.1-proxy_host_port_vars.patch diff --git a/patches/nginx-1.27.1-resolver_conf_parsing.patch b/patches/nginx/1.27.1/nginx-1.27.1-resolver_conf_parsing.patch similarity index 100% rename from patches/nginx-1.27.1-resolver_conf_parsing.patch rename to patches/nginx/1.27.1/nginx-1.27.1-resolver_conf_parsing.patch diff --git a/patches/nginx-1.27.1-reuseport_close_unused_fds.patch b/patches/nginx/1.27.1/nginx-1.27.1-reuseport_close_unused_fds.patch similarity index 100% rename from patches/nginx-1.27.1-reuseport_close_unused_fds.patch rename to patches/nginx/1.27.1/nginx-1.27.1-reuseport_close_unused_fds.patch diff --git a/patches/nginx-1.27.1-safe_resolver_ipv6_option.patch b/patches/nginx/1.27.1/nginx-1.27.1-safe_resolver_ipv6_option.patch similarity index 100% rename from patches/nginx-1.27.1-safe_resolver_ipv6_option.patch rename to patches/nginx/1.27.1/nginx-1.27.1-safe_resolver_ipv6_option.patch diff --git a/patches/nginx-1.27.1-server_header.patch b/patches/nginx/1.27.1/nginx-1.27.1-server_header.patch similarity index 100% rename from patches/nginx-1.27.1-server_header.patch rename to patches/nginx/1.27.1/nginx-1.27.1-server_header.patch diff --git a/patches/nginx-1.27.1-setting_args_invalidates_uri.patch b/patches/nginx/1.27.1/nginx-1.27.1-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.27.1-setting_args_invalidates_uri.patch rename to patches/nginx/1.27.1/nginx-1.27.1-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.27.1-single_process_graceful_exit.patch b/patches/nginx/1.27.1/nginx-1.27.1-single_process_graceful_exit.patch similarity index 100% rename from patches/nginx-1.27.1-single_process_graceful_exit.patch rename to patches/nginx/1.27.1/nginx-1.27.1-single_process_graceful_exit.patch diff --git a/patches/nginx-1.27.1-socket_cloexec.patch b/patches/nginx/1.27.1/nginx-1.27.1-socket_cloexec.patch similarity index 100% rename from patches/nginx-1.27.1-socket_cloexec.patch rename to patches/nginx/1.27.1/nginx-1.27.1-socket_cloexec.patch diff --git a/patches/nginx-1.27.1-ssl_cert_cb_yield.patch b/patches/nginx/1.27.1/nginx-1.27.1-ssl_cert_cb_yield.patch similarity index 100% rename from patches/nginx-1.27.1-ssl_cert_cb_yield.patch rename to patches/nginx/1.27.1/nginx-1.27.1-ssl_cert_cb_yield.patch diff --git a/patches/nginx-1.27.1-ssl_client_hello_cb_yield.patch b/patches/nginx/1.27.1/nginx-1.27.1-ssl_client_hello_cb_yield.patch similarity index 100% rename from patches/nginx-1.27.1-ssl_client_hello_cb_yield.patch rename to patches/nginx/1.27.1/nginx-1.27.1-ssl_client_hello_cb_yield.patch diff --git a/patches/nginx-1.27.1-ssl_sess_cb_yield.patch b/patches/nginx/1.27.1/nginx-1.27.1-ssl_sess_cb_yield.patch similarity index 100% rename from patches/nginx-1.27.1-ssl_sess_cb_yield.patch rename to patches/nginx/1.27.1/nginx-1.27.1-ssl_sess_cb_yield.patch diff --git a/patches/nginx-1.27.1-stream_balancer_export.patch b/patches/nginx/1.27.1/nginx-1.27.1-stream_balancer_export.patch similarity index 100% rename from patches/nginx-1.27.1-stream_balancer_export.patch rename to patches/nginx/1.27.1/nginx-1.27.1-stream_balancer_export.patch diff --git a/patches/nginx-1.27.1-stream_proxy_get_next_upstream_tries.patch b/patches/nginx/1.27.1/nginx-1.27.1-stream_proxy_get_next_upstream_tries.patch similarity index 100% rename from patches/nginx-1.27.1-stream_proxy_get_next_upstream_tries.patch rename to patches/nginx/1.27.1/nginx-1.27.1-stream_proxy_get_next_upstream_tries.patch diff --git a/patches/nginx-1.27.1-stream_proxy_protocol_v2.patch b/patches/nginx/1.27.1/nginx-1.27.1-stream_proxy_protocol_v2.patch similarity index 100% rename from patches/nginx-1.27.1-stream_proxy_protocol_v2.patch rename to patches/nginx/1.27.1/nginx-1.27.1-stream_proxy_protocol_v2.patch diff --git a/patches/nginx-1.27.1-stream_proxy_timeout_fields.patch b/patches/nginx/1.27.1/nginx-1.27.1-stream_proxy_timeout_fields.patch similarity index 100% rename from patches/nginx-1.27.1-stream_proxy_timeout_fields.patch rename to patches/nginx/1.27.1/nginx-1.27.1-stream_proxy_timeout_fields.patch diff --git a/patches/nginx-1.27.1-stream_ssl_preread_no_skip.patch b/patches/nginx/1.27.1/nginx-1.27.1-stream_ssl_preread_no_skip.patch similarity index 100% rename from patches/nginx-1.27.1-stream_ssl_preread_no_skip.patch rename to patches/nginx/1.27.1/nginx-1.27.1-stream_ssl_preread_no_skip.patch diff --git a/patches/nginx-1.27.1-upstream_pipelining.patch b/patches/nginx/1.27.1/nginx-1.27.1-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.27.1-upstream_pipelining.patch rename to patches/nginx/1.27.1/nginx-1.27.1-upstream_pipelining.patch diff --git a/patches/nginx-1.27.1-upstream_timeout_fields.patch b/patches/nginx/1.27.1/nginx-1.27.1-upstream_timeout_fields.patch similarity index 100% rename from patches/nginx-1.27.1-upstream_timeout_fields.patch rename to patches/nginx/1.27.1/nginx-1.27.1-upstream_timeout_fields.patch diff --git a/patches/nginx-1.27.1-win32_max_err_str.patch b/patches/nginx/1.27.1/nginx-1.27.1-win32_max_err_str.patch similarity index 100% rename from patches/nginx-1.27.1-win32_max_err_str.patch rename to patches/nginx/1.27.1/nginx-1.27.1-win32_max_err_str.patch diff --git a/patches/nginx-1.3.0-resolver_debug_log_overflow.patch b/patches/nginx/1.3.0/nginx-1.3.0-resolver_debug_log_overflow.patch similarity index 100% rename from patches/nginx-1.3.0-resolver_debug_log_overflow.patch rename to patches/nginx/1.3.0/nginx-1.3.0-resolver_debug_log_overflow.patch diff --git a/patches/nginx-1.3.11-channel-uninit-params.patch b/patches/nginx/1.3.11/nginx-1.3.11-channel-uninit-params.patch similarity index 100% rename from patches/nginx-1.3.11-channel-uninit-params.patch rename to patches/nginx/1.3.11/nginx-1.3.11-channel-uninit-params.patch diff --git a/patches/nginx-1.3.11-dtrace.patch b/patches/nginx/1.3.11/nginx-1.3.11-dtrace.patch similarity index 100% rename from patches/nginx-1.3.11-dtrace.patch rename to patches/nginx/1.3.11/nginx-1.3.11-dtrace.patch diff --git a/patches/nginx-1.3.11-location_if_inherits_proxy.patch b/patches/nginx/1.3.11/nginx-1.3.11-location_if_inherits_proxy.patch similarity index 100% rename from patches/nginx-1.3.11-location_if_inherits_proxy.patch rename to patches/nginx/1.3.11/nginx-1.3.11-location_if_inherits_proxy.patch diff --git a/patches/nginx-1.3.11-log_escape_non_ascii.patch b/patches/nginx/1.3.11/nginx-1.3.11-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.3.11-log_escape_non_ascii.patch rename to patches/nginx/1.3.11/nginx-1.3.11-log_escape_non_ascii.patch diff --git a/patches/nginx-1.3.11-no_Werror.patch b/patches/nginx/1.3.11/nginx-1.3.11-no_Werror.patch similarity index 100% rename from patches/nginx-1.3.11-no_Werror.patch rename to patches/nginx/1.3.11/nginx-1.3.11-no_Werror.patch diff --git a/patches/nginx-1.3.11-no_error_pages.patch b/patches/nginx/1.3.11/nginx-1.3.11-no_error_pages.patch similarity index 100% rename from patches/nginx-1.3.11-no_error_pages.patch rename to patches/nginx/1.3.11/nginx-1.3.11-no_error_pages.patch diff --git a/patches/nginx-1.3.11-no_pool.patch b/patches/nginx/1.3.11/nginx-1.3.11-no_pool.patch similarity index 100% rename from patches/nginx-1.3.11-no_pool.patch rename to patches/nginx/1.3.11/nginx-1.3.11-no_pool.patch diff --git a/patches/nginx-1.3.11-nonbuffered-upstream-truncation.patch b/patches/nginx/1.3.11/nginx-1.3.11-nonbuffered-upstream-truncation.patch similarity index 100% rename from patches/nginx-1.3.11-nonbuffered-upstream-truncation.patch rename to patches/nginx/1.3.11/nginx-1.3.11-nonbuffered-upstream-truncation.patch diff --git a/patches/nginx-1.3.11-resolver_wev_handler_segfault_with_poll.patch b/patches/nginx/1.3.11/nginx-1.3.11-resolver_wev_handler_segfault_with_poll.patch similarity index 100% rename from patches/nginx-1.3.11-resolver_wev_handler_segfault_with_poll.patch rename to patches/nginx/1.3.11/nginx-1.3.11-resolver_wev_handler_segfault_with_poll.patch diff --git a/patches/nginx-1.3.11-server_header.patch b/patches/nginx/1.3.11/nginx-1.3.11-server_header.patch similarity index 100% rename from patches/nginx-1.3.11-server_header.patch rename to patches/nginx/1.3.11/nginx-1.3.11-server_header.patch diff --git a/patches/nginx-1.3.11-slab_alloc_no_memory_as_info.patch b/patches/nginx/1.3.11/nginx-1.3.11-slab_alloc_no_memory_as_info.patch similarity index 100% rename from patches/nginx-1.3.11-slab_alloc_no_memory_as_info.patch rename to patches/nginx/1.3.11/nginx-1.3.11-slab_alloc_no_memory_as_info.patch diff --git a/patches/nginx-1.3.11-upstream_pipelining.patch b/patches/nginx/1.3.11/nginx-1.3.11-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.3.11-upstream_pipelining.patch rename to patches/nginx/1.3.11/nginx-1.3.11-upstream_pipelining.patch diff --git a/patches/nginx-1.3.11-upstream_test_connect_kqueue.patch b/patches/nginx/1.3.11/nginx-1.3.11-upstream_test_connect_kqueue.patch similarity index 100% rename from patches/nginx-1.3.11-upstream_test_connect_kqueue.patch rename to patches/nginx/1.3.11/nginx-1.3.11-upstream_test_connect_kqueue.patch diff --git a/patches/nginx-1.3.4-allow_request_body_updating.patch b/patches/nginx/1.3.4/nginx-1.3.4-allow_request_body_updating.patch similarity index 100% rename from patches/nginx-1.3.4-allow_request_body_updating.patch rename to patches/nginx/1.3.4/nginx-1.3.4-allow_request_body_updating.patch diff --git a/patches/nginx-1.3.4-dtrace.patch b/patches/nginx/1.3.4/nginx-1.3.4-dtrace.patch similarity index 100% rename from patches/nginx-1.3.4-dtrace.patch rename to patches/nginx/1.3.4/nginx-1.3.4-dtrace.patch diff --git a/patches/nginx-1.3.4-location_if_inherits_proxy.patch b/patches/nginx/1.3.4/nginx-1.3.4-location_if_inherits_proxy.patch similarity index 100% rename from patches/nginx-1.3.4-location_if_inherits_proxy.patch rename to patches/nginx/1.3.4/nginx-1.3.4-location_if_inherits_proxy.patch diff --git a/patches/nginx-1.3.4-log_escape_non_ascii.patch b/patches/nginx/1.3.4/nginx-1.3.4-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.3.4-log_escape_non_ascii.patch rename to patches/nginx/1.3.4/nginx-1.3.4-log_escape_non_ascii.patch diff --git a/patches/nginx-1.3.4-no_Werror.patch b/patches/nginx/1.3.4/nginx-1.3.4-no_Werror.patch similarity index 100% rename from patches/nginx-1.3.4-no_Werror.patch rename to patches/nginx/1.3.4/nginx-1.3.4-no_Werror.patch diff --git a/patches/nginx-1.3.4-no_error_pages.patch b/patches/nginx/1.3.4/nginx-1.3.4-no_error_pages.patch similarity index 100% rename from patches/nginx-1.3.4-no_error_pages.patch rename to patches/nginx/1.3.4/nginx-1.3.4-no_error_pages.patch diff --git a/patches/nginx-1.3.4-no_pool.patch b/patches/nginx/1.3.4/nginx-1.3.4-no_pool.patch similarity index 100% rename from patches/nginx-1.3.4-no_pool.patch rename to patches/nginx/1.3.4/nginx-1.3.4-no_pool.patch diff --git a/patches/nginx-1.3.4-server_header.patch b/patches/nginx/1.3.4/nginx-1.3.4-server_header.patch similarity index 100% rename from patches/nginx-1.3.4-server_header.patch rename to patches/nginx/1.3.4/nginx-1.3.4-server_header.patch diff --git a/patches/nginx-1.3.4-upstream_pipelining.patch b/patches/nginx/1.3.4/nginx-1.3.4-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.3.4-upstream_pipelining.patch rename to patches/nginx/1.3.4/nginx-1.3.4-upstream_pipelining.patch diff --git a/patches/nginx-1.3.6-allow_request_body_updating.patch b/patches/nginx/1.3.6/nginx-1.3.6-allow_request_body_updating.patch similarity index 100% rename from patches/nginx-1.3.6-allow_request_body_updating.patch rename to patches/nginx/1.3.6/nginx-1.3.6-allow_request_body_updating.patch diff --git a/patches/nginx-1.3.6-channel-uninit-params.patch b/patches/nginx/1.3.6/nginx-1.3.6-channel-uninit-params.patch similarity index 100% rename from patches/nginx-1.3.6-channel-uninit-params.patch rename to patches/nginx/1.3.6/nginx-1.3.6-channel-uninit-params.patch diff --git a/patches/nginx-1.3.6-dtrace.patch b/patches/nginx/1.3.6/nginx-1.3.6-dtrace.patch similarity index 100% rename from patches/nginx-1.3.6-dtrace.patch rename to patches/nginx/1.3.6/nginx-1.3.6-dtrace.patch diff --git a/patches/nginx-1.3.6-location_if_inherits_proxy.patch b/patches/nginx/1.3.6/nginx-1.3.6-location_if_inherits_proxy.patch similarity index 100% rename from patches/nginx-1.3.6-location_if_inherits_proxy.patch rename to patches/nginx/1.3.6/nginx-1.3.6-location_if_inherits_proxy.patch diff --git a/patches/nginx-1.3.6-log_escape_non_ascii.patch b/patches/nginx/1.3.6/nginx-1.3.6-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.3.6-log_escape_non_ascii.patch rename to patches/nginx/1.3.6/nginx-1.3.6-log_escape_non_ascii.patch diff --git a/patches/nginx-1.3.6-no_Werror.patch b/patches/nginx/1.3.6/nginx-1.3.6-no_Werror.patch similarity index 100% rename from patches/nginx-1.3.6-no_Werror.patch rename to patches/nginx/1.3.6/nginx-1.3.6-no_Werror.patch diff --git a/patches/nginx-1.3.6-no_error_pages.patch b/patches/nginx/1.3.6/nginx-1.3.6-no_error_pages.patch similarity index 100% rename from patches/nginx-1.3.6-no_error_pages.patch rename to patches/nginx/1.3.6/nginx-1.3.6-no_error_pages.patch diff --git a/patches/nginx-1.3.6-no_pool.patch b/patches/nginx/1.3.6/nginx-1.3.6-no_pool.patch similarity index 100% rename from patches/nginx-1.3.6-no_pool.patch rename to patches/nginx/1.3.6/nginx-1.3.6-no_pool.patch diff --git a/patches/nginx-1.3.6-nonbuffered-upstream-truncation.patch b/patches/nginx/1.3.6/nginx-1.3.6-nonbuffered-upstream-truncation.patch similarity index 100% rename from patches/nginx-1.3.6-nonbuffered-upstream-truncation.patch rename to patches/nginx/1.3.6/nginx-1.3.6-nonbuffered-upstream-truncation.patch diff --git a/patches/nginx-1.3.6-server_header.patch b/patches/nginx/1.3.6/nginx-1.3.6-server_header.patch similarity index 100% rename from patches/nginx-1.3.6-server_header.patch rename to patches/nginx/1.3.6/nginx-1.3.6-server_header.patch diff --git a/patches/nginx-1.3.6-upstream_pipelining.patch b/patches/nginx/1.3.6/nginx-1.3.6-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.3.6-upstream_pipelining.patch rename to patches/nginx/1.3.6/nginx-1.3.6-upstream_pipelining.patch diff --git a/patches/nginx-1.3.7-allow_request_body_updating.patch b/patches/nginx/1.3.7/nginx-1.3.7-allow_request_body_updating.patch similarity index 100% rename from patches/nginx-1.3.7-allow_request_body_updating.patch rename to patches/nginx/1.3.7/nginx-1.3.7-allow_request_body_updating.patch diff --git a/patches/nginx-1.3.7-channel-uninit-params.patch b/patches/nginx/1.3.7/nginx-1.3.7-channel-uninit-params.patch similarity index 100% rename from patches/nginx-1.3.7-channel-uninit-params.patch rename to patches/nginx/1.3.7/nginx-1.3.7-channel-uninit-params.patch diff --git a/patches/nginx-1.3.7-dtrace.patch b/patches/nginx/1.3.7/nginx-1.3.7-dtrace.patch similarity index 100% rename from patches/nginx-1.3.7-dtrace.patch rename to patches/nginx/1.3.7/nginx-1.3.7-dtrace.patch diff --git a/patches/nginx-1.3.7-location_if_inherits_proxy.patch b/patches/nginx/1.3.7/nginx-1.3.7-location_if_inherits_proxy.patch similarity index 100% rename from patches/nginx-1.3.7-location_if_inherits_proxy.patch rename to patches/nginx/1.3.7/nginx-1.3.7-location_if_inherits_proxy.patch diff --git a/patches/nginx-1.3.7-log_escape_non_ascii.patch b/patches/nginx/1.3.7/nginx-1.3.7-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.3.7-log_escape_non_ascii.patch rename to patches/nginx/1.3.7/nginx-1.3.7-log_escape_non_ascii.patch diff --git a/patches/nginx-1.3.7-no_Werror.patch b/patches/nginx/1.3.7/nginx-1.3.7-no_Werror.patch similarity index 100% rename from patches/nginx-1.3.7-no_Werror.patch rename to patches/nginx/1.3.7/nginx-1.3.7-no_Werror.patch diff --git a/patches/nginx-1.3.7-no_error_pages.patch b/patches/nginx/1.3.7/nginx-1.3.7-no_error_pages.patch similarity index 100% rename from patches/nginx-1.3.7-no_error_pages.patch rename to patches/nginx/1.3.7/nginx-1.3.7-no_error_pages.patch diff --git a/patches/nginx-1.3.7-no_pool.patch b/patches/nginx/1.3.7/nginx-1.3.7-no_pool.patch similarity index 100% rename from patches/nginx-1.3.7-no_pool.patch rename to patches/nginx/1.3.7/nginx-1.3.7-no_pool.patch diff --git a/patches/nginx-1.3.7-nonbuffered-upstream-truncation.patch b/patches/nginx/1.3.7/nginx-1.3.7-nonbuffered-upstream-truncation.patch similarity index 100% rename from patches/nginx-1.3.7-nonbuffered-upstream-truncation.patch rename to patches/nginx/1.3.7/nginx-1.3.7-nonbuffered-upstream-truncation.patch diff --git a/patches/nginx-1.3.7-resolver_wev_handler_segfault_with_poll.patch b/patches/nginx/1.3.7/nginx-1.3.7-resolver_wev_handler_segfault_with_poll.patch similarity index 100% rename from patches/nginx-1.3.7-resolver_wev_handler_segfault_with_poll.patch rename to patches/nginx/1.3.7/nginx-1.3.7-resolver_wev_handler_segfault_with_poll.patch diff --git a/patches/nginx-1.3.7-server_header.patch b/patches/nginx/1.3.7/nginx-1.3.7-server_header.patch similarity index 100% rename from patches/nginx-1.3.7-server_header.patch rename to patches/nginx/1.3.7/nginx-1.3.7-server_header.patch diff --git a/patches/nginx-1.3.7-slab_alloc_no_memory_as_info.patch b/patches/nginx/1.3.7/nginx-1.3.7-slab_alloc_no_memory_as_info.patch similarity index 100% rename from patches/nginx-1.3.7-slab_alloc_no_memory_as_info.patch rename to patches/nginx/1.3.7/nginx-1.3.7-slab_alloc_no_memory_as_info.patch diff --git a/patches/nginx-1.3.7-upstream_pipelining.patch b/patches/nginx/1.3.7/nginx-1.3.7-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.3.7-upstream_pipelining.patch rename to patches/nginx/1.3.7/nginx-1.3.7-upstream_pipelining.patch diff --git a/patches/nginx-1.3.7-upstream_test_connect_kqueue.patch b/patches/nginx/1.3.7/nginx-1.3.7-upstream_test_connect_kqueue.patch similarity index 100% rename from patches/nginx-1.3.7-upstream_test_connect_kqueue.patch rename to patches/nginx/1.3.7/nginx-1.3.7-upstream_test_connect_kqueue.patch diff --git a/patches/nginx-1.4.1-channel-uninit-params.patch b/patches/nginx/1.4.1/nginx-1.4.1-channel-uninit-params.patch similarity index 100% rename from patches/nginx-1.4.1-channel-uninit-params.patch rename to patches/nginx/1.4.1/nginx-1.4.1-channel-uninit-params.patch diff --git a/patches/nginx-1.4.1-cve-2013-2070.patch b/patches/nginx/1.4.1/nginx-1.4.1-cve-2013-2070.patch similarity index 100% rename from patches/nginx-1.4.1-cve-2013-2070.patch rename to patches/nginx/1.4.1/nginx-1.4.1-cve-2013-2070.patch diff --git a/patches/nginx-1.4.1-dtrace.patch b/patches/nginx/1.4.1/nginx-1.4.1-dtrace.patch similarity index 100% rename from patches/nginx-1.4.1-dtrace.patch rename to patches/nginx/1.4.1/nginx-1.4.1-dtrace.patch diff --git a/patches/nginx-1.4.1-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.4.1/nginx-1.4.1-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.4.1-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.4.1/nginx-1.4.1-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.4.1-invalid_referer_hash.patch b/patches/nginx/1.4.1/nginx-1.4.1-invalid_referer_hash.patch similarity index 100% rename from patches/nginx-1.4.1-invalid_referer_hash.patch rename to patches/nginx/1.4.1/nginx-1.4.1-invalid_referer_hash.patch diff --git a/patches/nginx-1.4.1-location_if_inherits_proxy.patch b/patches/nginx/1.4.1/nginx-1.4.1-location_if_inherits_proxy.patch similarity index 100% rename from patches/nginx-1.4.1-location_if_inherits_proxy.patch rename to patches/nginx/1.4.1/nginx-1.4.1-location_if_inherits_proxy.patch diff --git a/patches/nginx-1.4.1-log_escape_non_ascii.patch b/patches/nginx/1.4.1/nginx-1.4.1-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.4.1-log_escape_non_ascii.patch rename to patches/nginx/1.4.1/nginx-1.4.1-log_escape_non_ascii.patch diff --git a/patches/nginx-1.4.1-no_Werror.patch b/patches/nginx/1.4.1/nginx-1.4.1-no_Werror.patch similarity index 100% rename from patches/nginx-1.4.1-no_Werror.patch rename to patches/nginx/1.4.1/nginx-1.4.1-no_Werror.patch diff --git a/patches/nginx-1.4.1-no_error_pages.patch b/patches/nginx/1.4.1/nginx-1.4.1-no_error_pages.patch similarity index 100% rename from patches/nginx-1.4.1-no_error_pages.patch rename to patches/nginx/1.4.1/nginx-1.4.1-no_error_pages.patch diff --git a/patches/nginx-1.4.1-no_pool.patch b/patches/nginx/1.4.1/nginx-1.4.1-no_pool.patch similarity index 100% rename from patches/nginx-1.4.1-no_pool.patch rename to patches/nginx/1.4.1/nginx-1.4.1-no_pool.patch diff --git a/patches/nginx-1.4.1-server_header.patch b/patches/nginx/1.4.1/nginx-1.4.1-server_header.patch similarity index 100% rename from patches/nginx-1.4.1-server_header.patch rename to patches/nginx/1.4.1/nginx-1.4.1-server_header.patch diff --git a/patches/nginx-1.4.1-slab_alloc_no_memory_as_info.patch b/patches/nginx/1.4.1/nginx-1.4.1-slab_alloc_no_memory_as_info.patch similarity index 100% rename from patches/nginx-1.4.1-slab_alloc_no_memory_as_info.patch rename to patches/nginx/1.4.1/nginx-1.4.1-slab_alloc_no_memory_as_info.patch diff --git a/patches/nginx-1.4.1-unix_socket_accept_over_read.patch b/patches/nginx/1.4.1/nginx-1.4.1-unix_socket_accept_over_read.patch similarity index 100% rename from patches/nginx-1.4.1-unix_socket_accept_over_read.patch rename to patches/nginx/1.4.1/nginx-1.4.1-unix_socket_accept_over_read.patch diff --git a/patches/nginx-1.4.1-upstream_pipelining.patch b/patches/nginx/1.4.1/nginx-1.4.1-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.4.1-upstream_pipelining.patch rename to patches/nginx/1.4.1/nginx-1.4.1-upstream_pipelining.patch diff --git a/patches/nginx-1.4.1-upstream_truncation.patch b/patches/nginx/1.4.1/nginx-1.4.1-upstream_truncation.patch similarity index 100% rename from patches/nginx-1.4.1-upstream_truncation.patch rename to patches/nginx/1.4.1/nginx-1.4.1-upstream_truncation.patch diff --git a/patches/nginx-1.4.2-channel-uninit-params.patch b/patches/nginx/1.4.2/nginx-1.4.2-channel-uninit-params.patch similarity index 100% rename from patches/nginx-1.4.2-channel-uninit-params.patch rename to patches/nginx/1.4.2/nginx-1.4.2-channel-uninit-params.patch diff --git a/patches/nginx-1.4.2-cve-2013-2070.patch b/patches/nginx/1.4.2/nginx-1.4.2-cve-2013-2070.patch similarity index 100% rename from patches/nginx-1.4.2-cve-2013-2070.patch rename to patches/nginx/1.4.2/nginx-1.4.2-cve-2013-2070.patch diff --git a/patches/nginx-1.4.2-dtrace.patch b/patches/nginx/1.4.2/nginx-1.4.2-dtrace.patch similarity index 100% rename from patches/nginx-1.4.2-dtrace.patch rename to patches/nginx/1.4.2/nginx-1.4.2-dtrace.patch diff --git a/patches/nginx-1.4.2-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.4.2/nginx-1.4.2-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.4.2-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.4.2/nginx-1.4.2-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.4.2-invalid_referer_hash.patch b/patches/nginx/1.4.2/nginx-1.4.2-invalid_referer_hash.patch similarity index 100% rename from patches/nginx-1.4.2-invalid_referer_hash.patch rename to patches/nginx/1.4.2/nginx-1.4.2-invalid_referer_hash.patch diff --git a/patches/nginx-1.4.2-location_if_inherits_proxy.patch b/patches/nginx/1.4.2/nginx-1.4.2-location_if_inherits_proxy.patch similarity index 100% rename from patches/nginx-1.4.2-location_if_inherits_proxy.patch rename to patches/nginx/1.4.2/nginx-1.4.2-location_if_inherits_proxy.patch diff --git a/patches/nginx-1.4.2-log_escape_non_ascii.patch b/patches/nginx/1.4.2/nginx-1.4.2-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.4.2-log_escape_non_ascii.patch rename to patches/nginx/1.4.2/nginx-1.4.2-log_escape_non_ascii.patch diff --git a/patches/nginx-1.4.2-no_Werror.patch b/patches/nginx/1.4.2/nginx-1.4.2-no_Werror.patch similarity index 100% rename from patches/nginx-1.4.2-no_Werror.patch rename to patches/nginx/1.4.2/nginx-1.4.2-no_Werror.patch diff --git a/patches/nginx-1.4.2-no_error_pages.patch b/patches/nginx/1.4.2/nginx-1.4.2-no_error_pages.patch similarity index 100% rename from patches/nginx-1.4.2-no_error_pages.patch rename to patches/nginx/1.4.2/nginx-1.4.2-no_error_pages.patch diff --git a/patches/nginx-1.4.2-no_pool.patch b/patches/nginx/1.4.2/nginx-1.4.2-no_pool.patch similarity index 100% rename from patches/nginx-1.4.2-no_pool.patch rename to patches/nginx/1.4.2/nginx-1.4.2-no_pool.patch diff --git a/patches/nginx-1.4.2-server_header.patch b/patches/nginx/1.4.2/nginx-1.4.2-server_header.patch similarity index 100% rename from patches/nginx-1.4.2-server_header.patch rename to patches/nginx/1.4.2/nginx-1.4.2-server_header.patch diff --git a/patches/nginx-1.4.2-slab_alloc_no_memory_as_info.patch b/patches/nginx/1.4.2/nginx-1.4.2-slab_alloc_no_memory_as_info.patch similarity index 100% rename from patches/nginx-1.4.2-slab_alloc_no_memory_as_info.patch rename to patches/nginx/1.4.2/nginx-1.4.2-slab_alloc_no_memory_as_info.patch diff --git a/patches/nginx-1.4.2-unix_socket_accept_over_read.patch b/patches/nginx/1.4.2/nginx-1.4.2-unix_socket_accept_over_read.patch similarity index 100% rename from patches/nginx-1.4.2-unix_socket_accept_over_read.patch rename to patches/nginx/1.4.2/nginx-1.4.2-unix_socket_accept_over_read.patch diff --git a/patches/nginx-1.4.2-upstream_pipelining.patch b/patches/nginx/1.4.2/nginx-1.4.2-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.4.2-upstream_pipelining.patch rename to patches/nginx/1.4.2/nginx-1.4.2-upstream_pipelining.patch diff --git a/patches/nginx-1.4.2-upstream_truncation.patch b/patches/nginx/1.4.2/nginx-1.4.2-upstream_truncation.patch similarity index 100% rename from patches/nginx-1.4.2-upstream_truncation.patch rename to patches/nginx/1.4.2/nginx-1.4.2-upstream_truncation.patch diff --git a/patches/nginx-1.4.3-cache_lock_hang_in_subreq.patch b/patches/nginx/1.4.3/nginx-1.4.3-cache_lock_hang_in_subreq.patch similarity index 100% rename from patches/nginx-1.4.3-cache_lock_hang_in_subreq.patch rename to patches/nginx/1.4.3/nginx-1.4.3-cache_lock_hang_in_subreq.patch diff --git a/patches/nginx-1.4.3-cache_manager_exit.patch b/patches/nginx/1.4.3/nginx-1.4.3-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.4.3-cache_manager_exit.patch rename to patches/nginx/1.4.3/nginx-1.4.3-cache_manager_exit.patch diff --git a/patches/nginx-1.4.3-channel-uninit-params.patch b/patches/nginx/1.4.3/nginx-1.4.3-channel-uninit-params.patch similarity index 100% rename from patches/nginx-1.4.3-channel-uninit-params.patch rename to patches/nginx/1.4.3/nginx-1.4.3-channel-uninit-params.patch diff --git a/patches/nginx-1.4.3-cve-2013-2070.patch b/patches/nginx/1.4.3/nginx-1.4.3-cve-2013-2070.patch similarity index 100% rename from patches/nginx-1.4.3-cve-2013-2070.patch rename to patches/nginx/1.4.3/nginx-1.4.3-cve-2013-2070.patch diff --git a/patches/nginx-1.4.3-dtrace.patch b/patches/nginx/1.4.3/nginx-1.4.3-dtrace.patch similarity index 100% rename from patches/nginx-1.4.3-dtrace.patch rename to patches/nginx/1.4.3/nginx-1.4.3-dtrace.patch diff --git a/patches/nginx-1.4.3-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.4.3/nginx-1.4.3-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.4.3-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.4.3/nginx-1.4.3-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.4.3-gzip_buffered_bug.patch b/patches/nginx/1.4.3/nginx-1.4.3-gzip_buffered_bug.patch similarity index 100% rename from patches/nginx-1.4.3-gzip_buffered_bug.patch rename to patches/nginx/1.4.3/nginx-1.4.3-gzip_buffered_bug.patch diff --git a/patches/nginx-1.4.3-gzip_flush_bug.patch b/patches/nginx/1.4.3/nginx-1.4.3-gzip_flush_bug.patch similarity index 100% rename from patches/nginx-1.4.3-gzip_flush_bug.patch rename to patches/nginx/1.4.3/nginx-1.4.3-gzip_flush_bug.patch diff --git a/patches/nginx-1.4.3-invalid_referer_hash.patch b/patches/nginx/1.4.3/nginx-1.4.3-invalid_referer_hash.patch similarity index 100% rename from patches/nginx-1.4.3-invalid_referer_hash.patch rename to patches/nginx/1.4.3/nginx-1.4.3-invalid_referer_hash.patch diff --git a/patches/nginx-1.4.3-larger_max_error_str.patch b/patches/nginx/1.4.3/nginx-1.4.3-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.4.3-larger_max_error_str.patch rename to patches/nginx/1.4.3/nginx-1.4.3-larger_max_error_str.patch diff --git a/patches/nginx-1.4.3-location_if_inherits_proxy.patch b/patches/nginx/1.4.3/nginx-1.4.3-location_if_inherits_proxy.patch similarity index 100% rename from patches/nginx-1.4.3-location_if_inherits_proxy.patch rename to patches/nginx/1.4.3/nginx-1.4.3-location_if_inherits_proxy.patch diff --git a/patches/nginx-1.4.3-log_escape_non_ascii.patch b/patches/nginx/1.4.3/nginx-1.4.3-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.4.3-log_escape_non_ascii.patch rename to patches/nginx/1.4.3/nginx-1.4.3-log_escape_non_ascii.patch diff --git a/patches/nginx-1.4.3-no_Werror.patch b/patches/nginx/1.4.3/nginx-1.4.3-no_Werror.patch similarity index 100% rename from patches/nginx-1.4.3-no_Werror.patch rename to patches/nginx/1.4.3/nginx-1.4.3-no_Werror.patch diff --git a/patches/nginx-1.4.3-no_error_pages.patch b/patches/nginx/1.4.3/nginx-1.4.3-no_error_pages.patch similarity index 100% rename from patches/nginx-1.4.3-no_error_pages.patch rename to patches/nginx/1.4.3/nginx-1.4.3-no_error_pages.patch diff --git a/patches/nginx-1.4.3-no_pool.patch b/patches/nginx/1.4.3/nginx-1.4.3-no_pool.patch similarity index 100% rename from patches/nginx-1.4.3-no_pool.patch rename to patches/nginx/1.4.3/nginx-1.4.3-no_pool.patch diff --git a/patches/nginx-1.4.3-pcre_conf_opt.patch b/patches/nginx/1.4.3/nginx-1.4.3-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.4.3-pcre_conf_opt.patch rename to patches/nginx/1.4.3/nginx-1.4.3-pcre_conf_opt.patch diff --git a/patches/nginx-1.4.3-proxy_host_port_vars.patch b/patches/nginx/1.4.3/nginx-1.4.3-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.4.3-proxy_host_port_vars.patch rename to patches/nginx/1.4.3/nginx-1.4.3-proxy_host_port_vars.patch diff --git a/patches/nginx-1.4.3-server_header.patch b/patches/nginx/1.4.3/nginx-1.4.3-server_header.patch similarity index 100% rename from patches/nginx-1.4.3-server_header.patch rename to patches/nginx/1.4.3/nginx-1.4.3-server_header.patch diff --git a/patches/nginx-1.4.3-slab_alloc_no_memory_as_info.patch b/patches/nginx/1.4.3/nginx-1.4.3-slab_alloc_no_memory_as_info.patch similarity index 100% rename from patches/nginx-1.4.3-slab_alloc_no_memory_as_info.patch rename to patches/nginx/1.4.3/nginx-1.4.3-slab_alloc_no_memory_as_info.patch diff --git a/patches/nginx-1.4.3-unix_socket_accept_over_read.patch b/patches/nginx/1.4.3/nginx-1.4.3-unix_socket_accept_over_read.patch similarity index 100% rename from patches/nginx-1.4.3-unix_socket_accept_over_read.patch rename to patches/nginx/1.4.3/nginx-1.4.3-unix_socket_accept_over_read.patch diff --git a/patches/nginx-1.4.3-upstream_pipelining.patch b/patches/nginx/1.4.3/nginx-1.4.3-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.4.3-upstream_pipelining.patch rename to patches/nginx/1.4.3/nginx-1.4.3-upstream_pipelining.patch diff --git a/patches/nginx-1.4.3-upstream_truncation.patch b/patches/nginx/1.4.3/nginx-1.4.3-upstream_truncation.patch similarity index 100% rename from patches/nginx-1.4.3-upstream_truncation.patch rename to patches/nginx/1.4.3/nginx-1.4.3-upstream_truncation.patch diff --git a/patches/nginx-1.5.11-cache_lock_hang_in_subreq.patch b/patches/nginx/1.5.11/nginx-1.5.11-cache_lock_hang_in_subreq.patch similarity index 100% rename from patches/nginx-1.5.11-cache_lock_hang_in_subreq.patch rename to patches/nginx/1.5.11/nginx-1.5.11-cache_lock_hang_in_subreq.patch diff --git a/patches/nginx-1.5.11-cache_manager_exit.patch b/patches/nginx/1.5.11/nginx-1.5.11-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.5.11-cache_manager_exit.patch rename to patches/nginx/1.5.11/nginx-1.5.11-cache_manager_exit.patch diff --git a/patches/nginx-1.5.11-cve-2013-2070.patch b/patches/nginx/1.5.11/nginx-1.5.11-cve-2013-2070.patch similarity index 100% rename from patches/nginx-1.5.11-cve-2013-2070.patch rename to patches/nginx/1.5.11/nginx-1.5.11-cve-2013-2070.patch diff --git a/patches/nginx-1.5.11-dtrace.patch b/patches/nginx/1.5.11/nginx-1.5.11-dtrace.patch similarity index 100% rename from patches/nginx-1.5.11-dtrace.patch rename to patches/nginx/1.5.11/nginx-1.5.11-dtrace.patch diff --git a/patches/nginx-1.5.11-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.5.11/nginx-1.5.11-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.5.11-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.5.11/nginx-1.5.11-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.5.11-larger_max_error_str.patch b/patches/nginx/1.5.11/nginx-1.5.11-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.5.11-larger_max_error_str.patch rename to patches/nginx/1.5.11/nginx-1.5.11-larger_max_error_str.patch diff --git a/patches/nginx-1.5.11-location_if_inherits_proxy.patch b/patches/nginx/1.5.11/nginx-1.5.11-location_if_inherits_proxy.patch similarity index 100% rename from patches/nginx-1.5.11-location_if_inherits_proxy.patch rename to patches/nginx/1.5.11/nginx-1.5.11-location_if_inherits_proxy.patch diff --git a/patches/nginx-1.5.11-log_escape_non_ascii.patch b/patches/nginx/1.5.11/nginx-1.5.11-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.5.11-log_escape_non_ascii.patch rename to patches/nginx/1.5.11/nginx-1.5.11-log_escape_non_ascii.patch diff --git a/patches/nginx-1.5.11-no_Werror.patch b/patches/nginx/1.5.11/nginx-1.5.11-no_Werror.patch similarity index 100% rename from patches/nginx-1.5.11-no_Werror.patch rename to patches/nginx/1.5.11/nginx-1.5.11-no_Werror.patch diff --git a/patches/nginx-1.5.11-no_error_pages.patch b/patches/nginx/1.5.11/nginx-1.5.11-no_error_pages.patch similarity index 100% rename from patches/nginx-1.5.11-no_error_pages.patch rename to patches/nginx/1.5.11/nginx-1.5.11-no_error_pages.patch diff --git a/patches/nginx-1.5.11-no_pool.patch b/patches/nginx/1.5.11/nginx-1.5.11-no_pool.patch similarity index 100% rename from patches/nginx-1.5.11-no_pool.patch rename to patches/nginx/1.5.11/nginx-1.5.11-no_pool.patch diff --git a/patches/nginx-1.5.11-pcre_conf_opt.patch b/patches/nginx/1.5.11/nginx-1.5.11-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.5.11-pcre_conf_opt.patch rename to patches/nginx/1.5.11/nginx-1.5.11-pcre_conf_opt.patch diff --git a/patches/nginx-1.5.11-proxy_host_port_vars.patch b/patches/nginx/1.5.11/nginx-1.5.11-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.5.11-proxy_host_port_vars.patch rename to patches/nginx/1.5.11/nginx-1.5.11-proxy_host_port_vars.patch diff --git a/patches/nginx-1.5.11-server_header.patch b/patches/nginx/1.5.11/nginx-1.5.11-server_header.patch similarity index 100% rename from patches/nginx-1.5.11-server_header.patch rename to patches/nginx/1.5.11/nginx-1.5.11-server_header.patch diff --git a/patches/nginx-1.5.11-setting_args_invalidates_uri.patch b/patches/nginx/1.5.11/nginx-1.5.11-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.5.11-setting_args_invalidates_uri.patch rename to patches/nginx/1.5.11/nginx-1.5.11-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.5.11-slab_alloc_no_memory_as_info.patch b/patches/nginx/1.5.11/nginx-1.5.11-slab_alloc_no_memory_as_info.patch similarity index 100% rename from patches/nginx-1.5.11-slab_alloc_no_memory_as_info.patch rename to patches/nginx/1.5.11/nginx-1.5.11-slab_alloc_no_memory_as_info.patch diff --git a/patches/nginx-1.5.11-upstream_pipelining.patch b/patches/nginx/1.5.11/nginx-1.5.11-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.5.11-upstream_pipelining.patch rename to patches/nginx/1.5.11/nginx-1.5.11-upstream_pipelining.patch diff --git a/patches/nginx-1.5.12-cache_lock_hang_in_subreq.patch b/patches/nginx/1.5.12/nginx-1.5.12-cache_lock_hang_in_subreq.patch similarity index 100% rename from patches/nginx-1.5.12-cache_lock_hang_in_subreq.patch rename to patches/nginx/1.5.12/nginx-1.5.12-cache_lock_hang_in_subreq.patch diff --git a/patches/nginx-1.5.12-cache_manager_exit.patch b/patches/nginx/1.5.12/nginx-1.5.12-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.5.12-cache_manager_exit.patch rename to patches/nginx/1.5.12/nginx-1.5.12-cache_manager_exit.patch diff --git a/patches/nginx-1.5.12-cve-2013-2070.patch b/patches/nginx/1.5.12/nginx-1.5.12-cve-2013-2070.patch similarity index 100% rename from patches/nginx-1.5.12-cve-2013-2070.patch rename to patches/nginx/1.5.12/nginx-1.5.12-cve-2013-2070.patch diff --git a/patches/nginx-1.5.12-dtrace.patch b/patches/nginx/1.5.12/nginx-1.5.12-dtrace.patch similarity index 100% rename from patches/nginx-1.5.12-dtrace.patch rename to patches/nginx/1.5.12/nginx-1.5.12-dtrace.patch diff --git a/patches/nginx-1.5.12-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.5.12/nginx-1.5.12-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.5.12-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.5.12/nginx-1.5.12-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.5.12-larger_max_error_str.patch b/patches/nginx/1.5.12/nginx-1.5.12-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.5.12-larger_max_error_str.patch rename to patches/nginx/1.5.12/nginx-1.5.12-larger_max_error_str.patch diff --git a/patches/nginx-1.5.12-location_if_inherits_proxy.patch b/patches/nginx/1.5.12/nginx-1.5.12-location_if_inherits_proxy.patch similarity index 100% rename from patches/nginx-1.5.12-location_if_inherits_proxy.patch rename to patches/nginx/1.5.12/nginx-1.5.12-location_if_inherits_proxy.patch diff --git a/patches/nginx-1.5.12-log_escape_non_ascii.patch b/patches/nginx/1.5.12/nginx-1.5.12-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.5.12-log_escape_non_ascii.patch rename to patches/nginx/1.5.12/nginx-1.5.12-log_escape_non_ascii.patch diff --git a/patches/nginx-1.5.12-no_Werror.patch b/patches/nginx/1.5.12/nginx-1.5.12-no_Werror.patch similarity index 100% rename from patches/nginx-1.5.12-no_Werror.patch rename to patches/nginx/1.5.12/nginx-1.5.12-no_Werror.patch diff --git a/patches/nginx-1.5.12-no_error_pages.patch b/patches/nginx/1.5.12/nginx-1.5.12-no_error_pages.patch similarity index 100% rename from patches/nginx-1.5.12-no_error_pages.patch rename to patches/nginx/1.5.12/nginx-1.5.12-no_error_pages.patch diff --git a/patches/nginx-1.5.12-no_pool.patch b/patches/nginx/1.5.12/nginx-1.5.12-no_pool.patch similarity index 100% rename from patches/nginx-1.5.12-no_pool.patch rename to patches/nginx/1.5.12/nginx-1.5.12-no_pool.patch diff --git a/patches/nginx-1.5.12-pcre_conf_opt.patch b/patches/nginx/1.5.12/nginx-1.5.12-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.5.12-pcre_conf_opt.patch rename to patches/nginx/1.5.12/nginx-1.5.12-pcre_conf_opt.patch diff --git a/patches/nginx-1.5.12-proxy_host_port_vars.patch b/patches/nginx/1.5.12/nginx-1.5.12-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.5.12-proxy_host_port_vars.patch rename to patches/nginx/1.5.12/nginx-1.5.12-proxy_host_port_vars.patch diff --git a/patches/nginx-1.5.12-server_header.patch b/patches/nginx/1.5.12/nginx-1.5.12-server_header.patch similarity index 100% rename from patches/nginx-1.5.12-server_header.patch rename to patches/nginx/1.5.12/nginx-1.5.12-server_header.patch diff --git a/patches/nginx-1.5.12-setting_args_invalidates_uri.patch b/patches/nginx/1.5.12/nginx-1.5.12-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.5.12-setting_args_invalidates_uri.patch rename to patches/nginx/1.5.12/nginx-1.5.12-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.5.12-slab_alloc_no_memory_as_info.patch b/patches/nginx/1.5.12/nginx-1.5.12-slab_alloc_no_memory_as_info.patch similarity index 100% rename from patches/nginx-1.5.12-slab_alloc_no_memory_as_info.patch rename to patches/nginx/1.5.12/nginx-1.5.12-slab_alloc_no_memory_as_info.patch diff --git a/patches/nginx-1.5.12-upstream_pipelining.patch b/patches/nginx/1.5.12/nginx-1.5.12-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.5.12-upstream_pipelining.patch rename to patches/nginx/1.5.12/nginx-1.5.12-upstream_pipelining.patch diff --git a/patches/nginx-1.5.3-cve-2013-2070.patch b/patches/nginx/1.5.3/nginx-1.5.3-cve-2013-2070.patch similarity index 100% rename from patches/nginx-1.5.3-cve-2013-2070.patch rename to patches/nginx/1.5.3/nginx-1.5.3-cve-2013-2070.patch diff --git a/patches/nginx-1.5.3-dtrace.patch b/patches/nginx/1.5.3/nginx-1.5.3-dtrace.patch similarity index 100% rename from patches/nginx-1.5.3-dtrace.patch rename to patches/nginx/1.5.3/nginx-1.5.3-dtrace.patch diff --git a/patches/nginx-1.5.3-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.5.3/nginx-1.5.3-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.5.3-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.5.3/nginx-1.5.3-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.5.3-location_if_inherits_proxy.patch b/patches/nginx/1.5.3/nginx-1.5.3-location_if_inherits_proxy.patch similarity index 100% rename from patches/nginx-1.5.3-location_if_inherits_proxy.patch rename to patches/nginx/1.5.3/nginx-1.5.3-location_if_inherits_proxy.patch diff --git a/patches/nginx-1.5.3-log_escape_non_ascii.patch b/patches/nginx/1.5.3/nginx-1.5.3-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.5.3-log_escape_non_ascii.patch rename to patches/nginx/1.5.3/nginx-1.5.3-log_escape_non_ascii.patch diff --git a/patches/nginx-1.5.3-no_Werror.patch b/patches/nginx/1.5.3/nginx-1.5.3-no_Werror.patch similarity index 100% rename from patches/nginx-1.5.3-no_Werror.patch rename to patches/nginx/1.5.3/nginx-1.5.3-no_Werror.patch diff --git a/patches/nginx-1.5.3-no_error_pages.patch b/patches/nginx/1.5.3/nginx-1.5.3-no_error_pages.patch similarity index 100% rename from patches/nginx-1.5.3-no_error_pages.patch rename to patches/nginx/1.5.3/nginx-1.5.3-no_error_pages.patch diff --git a/patches/nginx-1.5.3-no_pool.patch b/patches/nginx/1.5.3/nginx-1.5.3-no_pool.patch similarity index 100% rename from patches/nginx-1.5.3-no_pool.patch rename to patches/nginx/1.5.3/nginx-1.5.3-no_pool.patch diff --git a/patches/nginx-1.5.3-server_header.patch b/patches/nginx/1.5.3/nginx-1.5.3-server_header.patch similarity index 100% rename from patches/nginx-1.5.3-server_header.patch rename to patches/nginx/1.5.3/nginx-1.5.3-server_header.patch diff --git a/patches/nginx-1.5.3-slab_alloc_no_memory_as_info.patch b/patches/nginx/1.5.3/nginx-1.5.3-slab_alloc_no_memory_as_info.patch similarity index 100% rename from patches/nginx-1.5.3-slab_alloc_no_memory_as_info.patch rename to patches/nginx/1.5.3/nginx-1.5.3-slab_alloc_no_memory_as_info.patch diff --git a/patches/nginx-1.5.3-unix_socket_accept_over_read.patch b/patches/nginx/1.5.3/nginx-1.5.3-unix_socket_accept_over_read.patch similarity index 100% rename from patches/nginx-1.5.3-unix_socket_accept_over_read.patch rename to patches/nginx/1.5.3/nginx-1.5.3-unix_socket_accept_over_read.patch diff --git a/patches/nginx-1.5.3-upstream_pipelining.patch b/patches/nginx/1.5.3/nginx-1.5.3-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.5.3-upstream_pipelining.patch rename to patches/nginx/1.5.3/nginx-1.5.3-upstream_pipelining.patch diff --git a/patches/nginx-1.5.4-cve-2013-2070.patch b/patches/nginx/1.5.4/nginx-1.5.4-cve-2013-2070.patch similarity index 100% rename from patches/nginx-1.5.4-cve-2013-2070.patch rename to patches/nginx/1.5.4/nginx-1.5.4-cve-2013-2070.patch diff --git a/patches/nginx-1.5.4-dtrace.patch b/patches/nginx/1.5.4/nginx-1.5.4-dtrace.patch similarity index 100% rename from patches/nginx-1.5.4-dtrace.patch rename to patches/nginx/1.5.4/nginx-1.5.4-dtrace.patch diff --git a/patches/nginx-1.5.4-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.5.4/nginx-1.5.4-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.5.4-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.5.4/nginx-1.5.4-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.5.4-location_if_inherits_proxy.patch b/patches/nginx/1.5.4/nginx-1.5.4-location_if_inherits_proxy.patch similarity index 100% rename from patches/nginx-1.5.4-location_if_inherits_proxy.patch rename to patches/nginx/1.5.4/nginx-1.5.4-location_if_inherits_proxy.patch diff --git a/patches/nginx-1.5.4-log_escape_non_ascii.patch b/patches/nginx/1.5.4/nginx-1.5.4-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.5.4-log_escape_non_ascii.patch rename to patches/nginx/1.5.4/nginx-1.5.4-log_escape_non_ascii.patch diff --git a/patches/nginx-1.5.4-no_Werror.patch b/patches/nginx/1.5.4/nginx-1.5.4-no_Werror.patch similarity index 100% rename from patches/nginx-1.5.4-no_Werror.patch rename to patches/nginx/1.5.4/nginx-1.5.4-no_Werror.patch diff --git a/patches/nginx-1.5.4-no_error_pages.patch b/patches/nginx/1.5.4/nginx-1.5.4-no_error_pages.patch similarity index 100% rename from patches/nginx-1.5.4-no_error_pages.patch rename to patches/nginx/1.5.4/nginx-1.5.4-no_error_pages.patch diff --git a/patches/nginx-1.5.4-no_pool.patch b/patches/nginx/1.5.4/nginx-1.5.4-no_pool.patch similarity index 100% rename from patches/nginx-1.5.4-no_pool.patch rename to patches/nginx/1.5.4/nginx-1.5.4-no_pool.patch diff --git a/patches/nginx-1.5.4-server_header.patch b/patches/nginx/1.5.4/nginx-1.5.4-server_header.patch similarity index 100% rename from patches/nginx-1.5.4-server_header.patch rename to patches/nginx/1.5.4/nginx-1.5.4-server_header.patch diff --git a/patches/nginx-1.5.4-slab_alloc_no_memory_as_info.patch b/patches/nginx/1.5.4/nginx-1.5.4-slab_alloc_no_memory_as_info.patch similarity index 100% rename from patches/nginx-1.5.4-slab_alloc_no_memory_as_info.patch rename to patches/nginx/1.5.4/nginx-1.5.4-slab_alloc_no_memory_as_info.patch diff --git a/patches/nginx-1.5.4-unix_socket_accept_over_read.patch b/patches/nginx/1.5.4/nginx-1.5.4-unix_socket_accept_over_read.patch similarity index 100% rename from patches/nginx-1.5.4-unix_socket_accept_over_read.patch rename to patches/nginx/1.5.4/nginx-1.5.4-unix_socket_accept_over_read.patch diff --git a/patches/nginx-1.5.4-upstream_pipelining.patch b/patches/nginx/1.5.4/nginx-1.5.4-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.5.4-upstream_pipelining.patch rename to patches/nginx/1.5.4/nginx-1.5.4-upstream_pipelining.patch diff --git a/patches/nginx-1.5.7-cache_lock_hang_in_subreq.patch b/patches/nginx/1.5.7/nginx-1.5.7-cache_lock_hang_in_subreq.patch similarity index 100% rename from patches/nginx-1.5.7-cache_lock_hang_in_subreq.patch rename to patches/nginx/1.5.7/nginx-1.5.7-cache_lock_hang_in_subreq.patch diff --git a/patches/nginx-1.5.7-cache_manager_exit.patch b/patches/nginx/1.5.7/nginx-1.5.7-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.5.7-cache_manager_exit.patch rename to patches/nginx/1.5.7/nginx-1.5.7-cache_manager_exit.patch diff --git a/patches/nginx-1.5.7-cve-2013-2070.patch b/patches/nginx/1.5.7/nginx-1.5.7-cve-2013-2070.patch similarity index 100% rename from patches/nginx-1.5.7-cve-2013-2070.patch rename to patches/nginx/1.5.7/nginx-1.5.7-cve-2013-2070.patch diff --git a/patches/nginx-1.5.7-dtrace.patch b/patches/nginx/1.5.7/nginx-1.5.7-dtrace.patch similarity index 100% rename from patches/nginx-1.5.7-dtrace.patch rename to patches/nginx/1.5.7/nginx-1.5.7-dtrace.patch diff --git a/patches/nginx-1.5.7-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.5.7/nginx-1.5.7-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.5.7-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.5.7/nginx-1.5.7-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.5.7-larger_max_error_str.patch b/patches/nginx/1.5.7/nginx-1.5.7-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.5.7-larger_max_error_str.patch rename to patches/nginx/1.5.7/nginx-1.5.7-larger_max_error_str.patch diff --git a/patches/nginx-1.5.7-location_if_inherits_proxy.patch b/patches/nginx/1.5.7/nginx-1.5.7-location_if_inherits_proxy.patch similarity index 100% rename from patches/nginx-1.5.7-location_if_inherits_proxy.patch rename to patches/nginx/1.5.7/nginx-1.5.7-location_if_inherits_proxy.patch diff --git a/patches/nginx-1.5.7-log_escape_non_ascii.patch b/patches/nginx/1.5.7/nginx-1.5.7-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.5.7-log_escape_non_ascii.patch rename to patches/nginx/1.5.7/nginx-1.5.7-log_escape_non_ascii.patch diff --git a/patches/nginx-1.5.7-no_Werror.patch b/patches/nginx/1.5.7/nginx-1.5.7-no_Werror.patch similarity index 100% rename from patches/nginx-1.5.7-no_Werror.patch rename to patches/nginx/1.5.7/nginx-1.5.7-no_Werror.patch diff --git a/patches/nginx-1.5.7-no_error_pages.patch b/patches/nginx/1.5.7/nginx-1.5.7-no_error_pages.patch similarity index 100% rename from patches/nginx-1.5.7-no_error_pages.patch rename to patches/nginx/1.5.7/nginx-1.5.7-no_error_pages.patch diff --git a/patches/nginx-1.5.7-no_pool.patch b/patches/nginx/1.5.7/nginx-1.5.7-no_pool.patch similarity index 100% rename from patches/nginx-1.5.7-no_pool.patch rename to patches/nginx/1.5.7/nginx-1.5.7-no_pool.patch diff --git a/patches/nginx-1.5.7-pcre_conf_opt.patch b/patches/nginx/1.5.7/nginx-1.5.7-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.5.7-pcre_conf_opt.patch rename to patches/nginx/1.5.7/nginx-1.5.7-pcre_conf_opt.patch diff --git a/patches/nginx-1.5.7-proxy_host_port_vars.patch b/patches/nginx/1.5.7/nginx-1.5.7-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.5.7-proxy_host_port_vars.patch rename to patches/nginx/1.5.7/nginx-1.5.7-proxy_host_port_vars.patch diff --git a/patches/nginx-1.5.7-server_header.patch b/patches/nginx/1.5.7/nginx-1.5.7-server_header.patch similarity index 100% rename from patches/nginx-1.5.7-server_header.patch rename to patches/nginx/1.5.7/nginx-1.5.7-server_header.patch diff --git a/patches/nginx-1.5.7-slab_alloc_no_memory_as_info.patch b/patches/nginx/1.5.7/nginx-1.5.7-slab_alloc_no_memory_as_info.patch similarity index 100% rename from patches/nginx-1.5.7-slab_alloc_no_memory_as_info.patch rename to patches/nginx/1.5.7/nginx-1.5.7-slab_alloc_no_memory_as_info.patch diff --git a/patches/nginx-1.5.7-upstream_pipelining.patch b/patches/nginx/1.5.7/nginx-1.5.7-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.5.7-upstream_pipelining.patch rename to patches/nginx/1.5.7/nginx-1.5.7-upstream_pipelining.patch diff --git a/patches/nginx-1.5.8-cache_lock_hang_in_subreq.patch b/patches/nginx/1.5.8/nginx-1.5.8-cache_lock_hang_in_subreq.patch similarity index 100% rename from patches/nginx-1.5.8-cache_lock_hang_in_subreq.patch rename to patches/nginx/1.5.8/nginx-1.5.8-cache_lock_hang_in_subreq.patch diff --git a/patches/nginx-1.5.8-cache_manager_exit.patch b/patches/nginx/1.5.8/nginx-1.5.8-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.5.8-cache_manager_exit.patch rename to patches/nginx/1.5.8/nginx-1.5.8-cache_manager_exit.patch diff --git a/patches/nginx-1.5.8-cve-2013-2070.patch b/patches/nginx/1.5.8/nginx-1.5.8-cve-2013-2070.patch similarity index 100% rename from patches/nginx-1.5.8-cve-2013-2070.patch rename to patches/nginx/1.5.8/nginx-1.5.8-cve-2013-2070.patch diff --git a/patches/nginx-1.5.8-dtrace.patch b/patches/nginx/1.5.8/nginx-1.5.8-dtrace.patch similarity index 100% rename from patches/nginx-1.5.8-dtrace.patch rename to patches/nginx/1.5.8/nginx-1.5.8-dtrace.patch diff --git a/patches/nginx-1.5.8-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.5.8/nginx-1.5.8-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.5.8-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.5.8/nginx-1.5.8-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.5.8-larger_max_error_str.patch b/patches/nginx/1.5.8/nginx-1.5.8-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.5.8-larger_max_error_str.patch rename to patches/nginx/1.5.8/nginx-1.5.8-larger_max_error_str.patch diff --git a/patches/nginx-1.5.8-location_if_inherits_proxy.patch b/patches/nginx/1.5.8/nginx-1.5.8-location_if_inherits_proxy.patch similarity index 100% rename from patches/nginx-1.5.8-location_if_inherits_proxy.patch rename to patches/nginx/1.5.8/nginx-1.5.8-location_if_inherits_proxy.patch diff --git a/patches/nginx-1.5.8-log_escape_non_ascii.patch b/patches/nginx/1.5.8/nginx-1.5.8-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.5.8-log_escape_non_ascii.patch rename to patches/nginx/1.5.8/nginx-1.5.8-log_escape_non_ascii.patch diff --git a/patches/nginx-1.5.8-no_Werror.patch b/patches/nginx/1.5.8/nginx-1.5.8-no_Werror.patch similarity index 100% rename from patches/nginx-1.5.8-no_Werror.patch rename to patches/nginx/1.5.8/nginx-1.5.8-no_Werror.patch diff --git a/patches/nginx-1.5.8-no_error_pages.patch b/patches/nginx/1.5.8/nginx-1.5.8-no_error_pages.patch similarity index 100% rename from patches/nginx-1.5.8-no_error_pages.patch rename to patches/nginx/1.5.8/nginx-1.5.8-no_error_pages.patch diff --git a/patches/nginx-1.5.8-no_pool.patch b/patches/nginx/1.5.8/nginx-1.5.8-no_pool.patch similarity index 100% rename from patches/nginx-1.5.8-no_pool.patch rename to patches/nginx/1.5.8/nginx-1.5.8-no_pool.patch diff --git a/patches/nginx-1.5.8-pcre_conf_opt.patch b/patches/nginx/1.5.8/nginx-1.5.8-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.5.8-pcre_conf_opt.patch rename to patches/nginx/1.5.8/nginx-1.5.8-pcre_conf_opt.patch diff --git a/patches/nginx-1.5.8-proxy_host_port_vars.patch b/patches/nginx/1.5.8/nginx-1.5.8-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.5.8-proxy_host_port_vars.patch rename to patches/nginx/1.5.8/nginx-1.5.8-proxy_host_port_vars.patch diff --git a/patches/nginx-1.5.8-resolve-names-with-a-trailing-dot.patch b/patches/nginx/1.5.8/nginx-1.5.8-resolve-names-with-a-trailing-dot.patch similarity index 100% rename from patches/nginx-1.5.8-resolve-names-with-a-trailing-dot.patch rename to patches/nginx/1.5.8/nginx-1.5.8-resolve-names-with-a-trailing-dot.patch diff --git a/patches/nginx-1.5.8-server_header.patch b/patches/nginx/1.5.8/nginx-1.5.8-server_header.patch similarity index 100% rename from patches/nginx-1.5.8-server_header.patch rename to patches/nginx/1.5.8/nginx-1.5.8-server_header.patch diff --git a/patches/nginx-1.5.8-setting_args_invalidates_uri.patch b/patches/nginx/1.5.8/nginx-1.5.8-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.5.8-setting_args_invalidates_uri.patch rename to patches/nginx/1.5.8/nginx-1.5.8-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.5.8-slab_alloc_no_memory_as_info.patch b/patches/nginx/1.5.8/nginx-1.5.8-slab_alloc_no_memory_as_info.patch similarity index 100% rename from patches/nginx-1.5.8-slab_alloc_no_memory_as_info.patch rename to patches/nginx/1.5.8/nginx-1.5.8-slab_alloc_no_memory_as_info.patch diff --git a/patches/nginx-1.5.8-upstream_pipelining.patch b/patches/nginx/1.5.8/nginx-1.5.8-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.5.8-upstream_pipelining.patch rename to patches/nginx/1.5.8/nginx-1.5.8-upstream_pipelining.patch diff --git a/patches/nginx-1.5.9-cache_lock_hang_in_subreq.patch b/patches/nginx/1.5.9/nginx-1.5.9-cache_lock_hang_in_subreq.patch similarity index 100% rename from patches/nginx-1.5.9-cache_lock_hang_in_subreq.patch rename to patches/nginx/1.5.9/nginx-1.5.9-cache_lock_hang_in_subreq.patch diff --git a/patches/nginx-1.5.9-cache_manager_exit.patch b/patches/nginx/1.5.9/nginx-1.5.9-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.5.9-cache_manager_exit.patch rename to patches/nginx/1.5.9/nginx-1.5.9-cache_manager_exit.patch diff --git a/patches/nginx-1.5.9-cve-2013-2070.patch b/patches/nginx/1.5.9/nginx-1.5.9-cve-2013-2070.patch similarity index 100% rename from patches/nginx-1.5.9-cve-2013-2070.patch rename to patches/nginx/1.5.9/nginx-1.5.9-cve-2013-2070.patch diff --git a/patches/nginx-1.5.9-dtrace.patch b/patches/nginx/1.5.9/nginx-1.5.9-dtrace.patch similarity index 100% rename from patches/nginx-1.5.9-dtrace.patch rename to patches/nginx/1.5.9/nginx-1.5.9-dtrace.patch diff --git a/patches/nginx-1.5.9-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.5.9/nginx-1.5.9-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.5.9-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.5.9/nginx-1.5.9-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.5.9-larger_max_error_str.patch b/patches/nginx/1.5.9/nginx-1.5.9-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.5.9-larger_max_error_str.patch rename to patches/nginx/1.5.9/nginx-1.5.9-larger_max_error_str.patch diff --git a/patches/nginx-1.5.9-location_if_inherits_proxy.patch b/patches/nginx/1.5.9/nginx-1.5.9-location_if_inherits_proxy.patch similarity index 100% rename from patches/nginx-1.5.9-location_if_inherits_proxy.patch rename to patches/nginx/1.5.9/nginx-1.5.9-location_if_inherits_proxy.patch diff --git a/patches/nginx-1.5.9-log_escape_non_ascii.patch b/patches/nginx/1.5.9/nginx-1.5.9-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.5.9-log_escape_non_ascii.patch rename to patches/nginx/1.5.9/nginx-1.5.9-log_escape_non_ascii.patch diff --git a/patches/nginx-1.5.9-no_Werror.patch b/patches/nginx/1.5.9/nginx-1.5.9-no_Werror.patch similarity index 100% rename from patches/nginx-1.5.9-no_Werror.patch rename to patches/nginx/1.5.9/nginx-1.5.9-no_Werror.patch diff --git a/patches/nginx-1.5.9-no_error_pages.patch b/patches/nginx/1.5.9/nginx-1.5.9-no_error_pages.patch similarity index 100% rename from patches/nginx-1.5.9-no_error_pages.patch rename to patches/nginx/1.5.9/nginx-1.5.9-no_error_pages.patch diff --git a/patches/nginx-1.5.9-no_pool.patch b/patches/nginx/1.5.9/nginx-1.5.9-no_pool.patch similarity index 100% rename from patches/nginx-1.5.9-no_pool.patch rename to patches/nginx/1.5.9/nginx-1.5.9-no_pool.patch diff --git a/patches/nginx-1.5.9-pcre_conf_opt.patch b/patches/nginx/1.5.9/nginx-1.5.9-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.5.9-pcre_conf_opt.patch rename to patches/nginx/1.5.9/nginx-1.5.9-pcre_conf_opt.patch diff --git a/patches/nginx-1.5.9-proxy_host_port_vars.patch b/patches/nginx/1.5.9/nginx-1.5.9-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.5.9-proxy_host_port_vars.patch rename to patches/nginx/1.5.9/nginx-1.5.9-proxy_host_port_vars.patch diff --git a/patches/nginx-1.5.9-server_header.patch b/patches/nginx/1.5.9/nginx-1.5.9-server_header.patch similarity index 100% rename from patches/nginx-1.5.9-server_header.patch rename to patches/nginx/1.5.9/nginx-1.5.9-server_header.patch diff --git a/patches/nginx-1.5.9-setting_args_invalidates_uri.patch b/patches/nginx/1.5.9/nginx-1.5.9-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.5.9-setting_args_invalidates_uri.patch rename to patches/nginx/1.5.9/nginx-1.5.9-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.5.9-slab_alloc_no_memory_as_info.patch b/patches/nginx/1.5.9/nginx-1.5.9-slab_alloc_no_memory_as_info.patch similarity index 100% rename from patches/nginx-1.5.9-slab_alloc_no_memory_as_info.patch rename to patches/nginx/1.5.9/nginx-1.5.9-slab_alloc_no_memory_as_info.patch diff --git a/patches/nginx-1.5.9-upstream_pipelining.patch b/patches/nginx/1.5.9/nginx-1.5.9-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.5.9-upstream_pipelining.patch rename to patches/nginx/1.5.9/nginx-1.5.9-upstream_pipelining.patch diff --git a/patches/nginx-1.7.0-cache_lock_hang_in_subreq.patch b/patches/nginx/1.7.0/nginx-1.7.0-cache_lock_hang_in_subreq.patch similarity index 100% rename from patches/nginx-1.7.0-cache_lock_hang_in_subreq.patch rename to patches/nginx/1.7.0/nginx-1.7.0-cache_lock_hang_in_subreq.patch diff --git a/patches/nginx-1.7.0-cache_manager_exit.patch b/patches/nginx/1.7.0/nginx-1.7.0-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.7.0-cache_manager_exit.patch rename to patches/nginx/1.7.0/nginx-1.7.0-cache_manager_exit.patch diff --git a/patches/nginx-1.7.0-dtrace.patch b/patches/nginx/1.7.0/nginx-1.7.0-dtrace.patch similarity index 100% rename from patches/nginx-1.7.0-dtrace.patch rename to patches/nginx/1.7.0/nginx-1.7.0-dtrace.patch diff --git a/patches/nginx-1.7.0-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.7.0/nginx-1.7.0-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.7.0-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.7.0/nginx-1.7.0-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.7.0-larger_max_error_str.patch b/patches/nginx/1.7.0/nginx-1.7.0-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.7.0-larger_max_error_str.patch rename to patches/nginx/1.7.0/nginx-1.7.0-larger_max_error_str.patch diff --git a/patches/nginx-1.7.0-location_if_inherits_proxy.patch b/patches/nginx/1.7.0/nginx-1.7.0-location_if_inherits_proxy.patch similarity index 100% rename from patches/nginx-1.7.0-location_if_inherits_proxy.patch rename to patches/nginx/1.7.0/nginx-1.7.0-location_if_inherits_proxy.patch diff --git a/patches/nginx-1.7.0-log_escape_non_ascii.patch b/patches/nginx/1.7.0/nginx-1.7.0-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.7.0-log_escape_non_ascii.patch rename to patches/nginx/1.7.0/nginx-1.7.0-log_escape_non_ascii.patch diff --git a/patches/nginx-1.7.0-no_Werror.patch b/patches/nginx/1.7.0/nginx-1.7.0-no_Werror.patch similarity index 100% rename from patches/nginx-1.7.0-no_Werror.patch rename to patches/nginx/1.7.0/nginx-1.7.0-no_Werror.patch diff --git a/patches/nginx-1.7.0-no_error_pages.patch b/patches/nginx/1.7.0/nginx-1.7.0-no_error_pages.patch similarity index 100% rename from patches/nginx-1.7.0-no_error_pages.patch rename to patches/nginx/1.7.0/nginx-1.7.0-no_error_pages.patch diff --git a/patches/nginx-1.7.0-no_pool.patch b/patches/nginx/1.7.0/nginx-1.7.0-no_pool.patch similarity index 100% rename from patches/nginx-1.7.0-no_pool.patch rename to patches/nginx/1.7.0/nginx-1.7.0-no_pool.patch diff --git a/patches/nginx-1.7.0-pcre_conf_opt.patch b/patches/nginx/1.7.0/nginx-1.7.0-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.7.0-pcre_conf_opt.patch rename to patches/nginx/1.7.0/nginx-1.7.0-pcre_conf_opt.patch diff --git a/patches/nginx-1.7.0-proxy_host_port_vars.patch b/patches/nginx/1.7.0/nginx-1.7.0-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.7.0-proxy_host_port_vars.patch rename to patches/nginx/1.7.0/nginx-1.7.0-proxy_host_port_vars.patch diff --git a/patches/nginx-1.7.0-server_header.patch b/patches/nginx/1.7.0/nginx-1.7.0-server_header.patch similarity index 100% rename from patches/nginx-1.7.0-server_header.patch rename to patches/nginx/1.7.0/nginx-1.7.0-server_header.patch diff --git a/patches/nginx-1.7.0-setting_args_invalidates_uri.patch b/patches/nginx/1.7.0/nginx-1.7.0-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.7.0-setting_args_invalidates_uri.patch rename to patches/nginx/1.7.0/nginx-1.7.0-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.7.0-slab_defrag.patch b/patches/nginx/1.7.0/nginx-1.7.0-slab_defrag.patch similarity index 100% rename from patches/nginx-1.7.0-slab_defrag.patch rename to patches/nginx/1.7.0/nginx-1.7.0-slab_defrag.patch diff --git a/patches/nginx-1.7.0-upstream_pipelining.patch b/patches/nginx/1.7.0/nginx-1.7.0-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.7.0-upstream_pipelining.patch rename to patches/nginx/1.7.0/nginx-1.7.0-upstream_pipelining.patch diff --git a/patches/nginx-1.7.10-cache_manager_exit.patch b/patches/nginx/1.7.10/nginx-1.7.10-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.7.10-cache_manager_exit.patch rename to patches/nginx/1.7.10/nginx-1.7.10-cache_manager_exit.patch diff --git a/patches/nginx-1.7.10-dtrace.patch b/patches/nginx/1.7.10/nginx-1.7.10-dtrace.patch similarity index 100% rename from patches/nginx-1.7.10-dtrace.patch rename to patches/nginx/1.7.10/nginx-1.7.10-dtrace.patch diff --git a/patches/nginx-1.7.10-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.7.10/nginx-1.7.10-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.7.10-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.7.10/nginx-1.7.10-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.7.10-hash_overflow.patch b/patches/nginx/1.7.10/nginx-1.7.10-hash_overflow.patch similarity index 100% rename from patches/nginx-1.7.10-hash_overflow.patch rename to patches/nginx/1.7.10/nginx-1.7.10-hash_overflow.patch diff --git a/patches/nginx-1.7.10-larger_max_error_str.patch b/patches/nginx/1.7.10/nginx-1.7.10-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.7.10-larger_max_error_str.patch rename to patches/nginx/1.7.10/nginx-1.7.10-larger_max_error_str.patch diff --git a/patches/nginx-1.7.10-log_escape_non_ascii.patch b/patches/nginx/1.7.10/nginx-1.7.10-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.7.10-log_escape_non_ascii.patch rename to patches/nginx/1.7.10/nginx-1.7.10-log_escape_non_ascii.patch diff --git a/patches/nginx-1.7.10-no_Werror.patch b/patches/nginx/1.7.10/nginx-1.7.10-no_Werror.patch similarity index 100% rename from patches/nginx-1.7.10-no_Werror.patch rename to patches/nginx/1.7.10/nginx-1.7.10-no_Werror.patch diff --git a/patches/nginx-1.7.10-no_error_pages.patch b/patches/nginx/1.7.10/nginx-1.7.10-no_error_pages.patch similarity index 100% rename from patches/nginx-1.7.10-no_error_pages.patch rename to patches/nginx/1.7.10/nginx-1.7.10-no_error_pages.patch diff --git a/patches/nginx-1.7.10-no_pool.patch b/patches/nginx/1.7.10/nginx-1.7.10-no_pool.patch similarity index 100% rename from patches/nginx-1.7.10-no_pool.patch rename to patches/nginx/1.7.10/nginx-1.7.10-no_pool.patch diff --git a/patches/nginx-1.7.10-pcre_conf_opt.patch b/patches/nginx/1.7.10/nginx-1.7.10-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.7.10-pcre_conf_opt.patch rename to patches/nginx/1.7.10/nginx-1.7.10-pcre_conf_opt.patch diff --git a/patches/nginx-1.7.10-proxy_host_port_vars.patch b/patches/nginx/1.7.10/nginx-1.7.10-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.7.10-proxy_host_port_vars.patch rename to patches/nginx/1.7.10/nginx-1.7.10-proxy_host_port_vars.patch diff --git a/patches/nginx-1.7.10-server_header.patch b/patches/nginx/1.7.10/nginx-1.7.10-server_header.patch similarity index 100% rename from patches/nginx-1.7.10-server_header.patch rename to patches/nginx/1.7.10/nginx-1.7.10-server_header.patch diff --git a/patches/nginx-1.7.10-setting_args_invalidates_uri.patch b/patches/nginx/1.7.10/nginx-1.7.10-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.7.10-setting_args_invalidates_uri.patch rename to patches/nginx/1.7.10/nginx-1.7.10-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.7.10-slab_defrag.patch b/patches/nginx/1.7.10/nginx-1.7.10-slab_defrag.patch similarity index 100% rename from patches/nginx-1.7.10-slab_defrag.patch rename to patches/nginx/1.7.10/nginx-1.7.10-slab_defrag.patch diff --git a/patches/nginx-1.7.10-upstream_filter_finalize.patch b/patches/nginx/1.7.10/nginx-1.7.10-upstream_filter_finalize.patch similarity index 100% rename from patches/nginx-1.7.10-upstream_filter_finalize.patch rename to patches/nginx/1.7.10/nginx-1.7.10-upstream_filter_finalize.patch diff --git a/patches/nginx-1.7.10-upstream_pipelining.patch b/patches/nginx/1.7.10/nginx-1.7.10-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.7.10-upstream_pipelining.patch rename to patches/nginx/1.7.10/nginx-1.7.10-upstream_pipelining.patch diff --git a/patches/nginx-1.7.2-cache_lock_hang_in_subreq.patch b/patches/nginx/1.7.2/nginx-1.7.2-cache_lock_hang_in_subreq.patch similarity index 100% rename from patches/nginx-1.7.2-cache_lock_hang_in_subreq.patch rename to patches/nginx/1.7.2/nginx-1.7.2-cache_lock_hang_in_subreq.patch diff --git a/patches/nginx-1.7.2-cache_manager_exit.patch b/patches/nginx/1.7.2/nginx-1.7.2-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.7.2-cache_manager_exit.patch rename to patches/nginx/1.7.2/nginx-1.7.2-cache_manager_exit.patch diff --git a/patches/nginx-1.7.2-dtrace.patch b/patches/nginx/1.7.2/nginx-1.7.2-dtrace.patch similarity index 100% rename from patches/nginx-1.7.2-dtrace.patch rename to patches/nginx/1.7.2/nginx-1.7.2-dtrace.patch diff --git a/patches/nginx-1.7.2-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.7.2/nginx-1.7.2-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.7.2-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.7.2/nginx-1.7.2-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.7.2-larger_max_error_str.patch b/patches/nginx/1.7.2/nginx-1.7.2-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.7.2-larger_max_error_str.patch rename to patches/nginx/1.7.2/nginx-1.7.2-larger_max_error_str.patch diff --git a/patches/nginx-1.7.2-location_if_inherits_proxy.patch b/patches/nginx/1.7.2/nginx-1.7.2-location_if_inherits_proxy.patch similarity index 100% rename from patches/nginx-1.7.2-location_if_inherits_proxy.patch rename to patches/nginx/1.7.2/nginx-1.7.2-location_if_inherits_proxy.patch diff --git a/patches/nginx-1.7.2-log_escape_non_ascii.patch b/patches/nginx/1.7.2/nginx-1.7.2-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.7.2-log_escape_non_ascii.patch rename to patches/nginx/1.7.2/nginx-1.7.2-log_escape_non_ascii.patch diff --git a/patches/nginx-1.7.2-no_Werror.patch b/patches/nginx/1.7.2/nginx-1.7.2-no_Werror.patch similarity index 100% rename from patches/nginx-1.7.2-no_Werror.patch rename to patches/nginx/1.7.2/nginx-1.7.2-no_Werror.patch diff --git a/patches/nginx-1.7.2-no_error_pages.patch b/patches/nginx/1.7.2/nginx-1.7.2-no_error_pages.patch similarity index 100% rename from patches/nginx-1.7.2-no_error_pages.patch rename to patches/nginx/1.7.2/nginx-1.7.2-no_error_pages.patch diff --git a/patches/nginx-1.7.2-no_pool.patch b/patches/nginx/1.7.2/nginx-1.7.2-no_pool.patch similarity index 100% rename from patches/nginx-1.7.2-no_pool.patch rename to patches/nginx/1.7.2/nginx-1.7.2-no_pool.patch diff --git a/patches/nginx-1.7.2-pcre_conf_opt.patch b/patches/nginx/1.7.2/nginx-1.7.2-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.7.2-pcre_conf_opt.patch rename to patches/nginx/1.7.2/nginx-1.7.2-pcre_conf_opt.patch diff --git a/patches/nginx-1.7.2-proxy_host_port_vars.patch b/patches/nginx/1.7.2/nginx-1.7.2-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.7.2-proxy_host_port_vars.patch rename to patches/nginx/1.7.2/nginx-1.7.2-proxy_host_port_vars.patch diff --git a/patches/nginx-1.7.2-server_header.patch b/patches/nginx/1.7.2/nginx-1.7.2-server_header.patch similarity index 100% rename from patches/nginx-1.7.2-server_header.patch rename to patches/nginx/1.7.2/nginx-1.7.2-server_header.patch diff --git a/patches/nginx-1.7.2-setting_args_invalidates_uri.patch b/patches/nginx/1.7.2/nginx-1.7.2-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.7.2-setting_args_invalidates_uri.patch rename to patches/nginx/1.7.2/nginx-1.7.2-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.7.2-slab_defrag.patch b/patches/nginx/1.7.2/nginx-1.7.2-slab_defrag.patch similarity index 100% rename from patches/nginx-1.7.2-slab_defrag.patch rename to patches/nginx/1.7.2/nginx-1.7.2-slab_defrag.patch diff --git a/patches/nginx-1.7.2-upstream_pipelining.patch b/patches/nginx/1.7.2/nginx-1.7.2-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.7.2-upstream_pipelining.patch rename to patches/nginx/1.7.2/nginx-1.7.2-upstream_pipelining.patch diff --git a/patches/nginx-1.7.3-cache_lock_hang_in_subreq.patch b/patches/nginx/1.7.3/nginx-1.7.3-cache_lock_hang_in_subreq.patch similarity index 100% rename from patches/nginx-1.7.3-cache_lock_hang_in_subreq.patch rename to patches/nginx/1.7.3/nginx-1.7.3-cache_lock_hang_in_subreq.patch diff --git a/patches/nginx-1.7.3-cache_manager_exit.patch b/patches/nginx/1.7.3/nginx-1.7.3-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.7.3-cache_manager_exit.patch rename to patches/nginx/1.7.3/nginx-1.7.3-cache_manager_exit.patch diff --git a/patches/nginx-1.7.3-dtrace.patch b/patches/nginx/1.7.3/nginx-1.7.3-dtrace.patch similarity index 100% rename from patches/nginx-1.7.3-dtrace.patch rename to patches/nginx/1.7.3/nginx-1.7.3-dtrace.patch diff --git a/patches/nginx-1.7.3-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.7.3/nginx-1.7.3-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.7.3-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.7.3/nginx-1.7.3-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.7.3-geoip_init_var_fields.patch b/patches/nginx/1.7.3/nginx-1.7.3-geoip_init_var_fields.patch similarity index 100% rename from patches/nginx-1.7.3-geoip_init_var_fields.patch rename to patches/nginx/1.7.3/nginx-1.7.3-geoip_init_var_fields.patch diff --git a/patches/nginx-1.7.3-larger_max_error_str.patch b/patches/nginx/1.7.3/nginx-1.7.3-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.7.3-larger_max_error_str.patch rename to patches/nginx/1.7.3/nginx-1.7.3-larger_max_error_str.patch diff --git a/patches/nginx-1.7.3-location_if_inherits_proxy.patch b/patches/nginx/1.7.3/nginx-1.7.3-location_if_inherits_proxy.patch similarity index 100% rename from patches/nginx-1.7.3-location_if_inherits_proxy.patch rename to patches/nginx/1.7.3/nginx-1.7.3-location_if_inherits_proxy.patch diff --git a/patches/nginx-1.7.3-log_escape_non_ascii.patch b/patches/nginx/1.7.3/nginx-1.7.3-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.7.3-log_escape_non_ascii.patch rename to patches/nginx/1.7.3/nginx-1.7.3-log_escape_non_ascii.patch diff --git a/patches/nginx-1.7.3-no_Werror.patch b/patches/nginx/1.7.3/nginx-1.7.3-no_Werror.patch similarity index 100% rename from patches/nginx-1.7.3-no_Werror.patch rename to patches/nginx/1.7.3/nginx-1.7.3-no_Werror.patch diff --git a/patches/nginx-1.7.3-no_error_pages.patch b/patches/nginx/1.7.3/nginx-1.7.3-no_error_pages.patch similarity index 100% rename from patches/nginx-1.7.3-no_error_pages.patch rename to patches/nginx/1.7.3/nginx-1.7.3-no_error_pages.patch diff --git a/patches/nginx-1.7.3-no_pool.patch b/patches/nginx/1.7.3/nginx-1.7.3-no_pool.patch similarity index 100% rename from patches/nginx-1.7.3-no_pool.patch rename to patches/nginx/1.7.3/nginx-1.7.3-no_pool.patch diff --git a/patches/nginx-1.7.3-pcre_conf_opt.patch b/patches/nginx/1.7.3/nginx-1.7.3-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.7.3-pcre_conf_opt.patch rename to patches/nginx/1.7.3/nginx-1.7.3-pcre_conf_opt.patch diff --git a/patches/nginx-1.7.3-proxy_host_port_vars.patch b/patches/nginx/1.7.3/nginx-1.7.3-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.7.3-proxy_host_port_vars.patch rename to patches/nginx/1.7.3/nginx-1.7.3-proxy_host_port_vars.patch diff --git a/patches/nginx-1.7.3-proxy_ssl_handshake_timer.patch b/patches/nginx/1.7.3/nginx-1.7.3-proxy_ssl_handshake_timer.patch similarity index 100% rename from patches/nginx-1.7.3-proxy_ssl_handshake_timer.patch rename to patches/nginx/1.7.3/nginx-1.7.3-proxy_ssl_handshake_timer.patch diff --git a/patches/nginx-1.7.3-server_header.patch b/patches/nginx/1.7.3/nginx-1.7.3-server_header.patch similarity index 100% rename from patches/nginx-1.7.3-server_header.patch rename to patches/nginx/1.7.3/nginx-1.7.3-server_header.patch diff --git a/patches/nginx-1.7.3-setting_args_invalidates_uri.patch b/patches/nginx/1.7.3/nginx-1.7.3-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.7.3-setting_args_invalidates_uri.patch rename to patches/nginx/1.7.3/nginx-1.7.3-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.7.3-slab_defrag.patch b/patches/nginx/1.7.3/nginx-1.7.3-slab_defrag.patch similarity index 100% rename from patches/nginx-1.7.3-slab_defrag.patch rename to patches/nginx/1.7.3/nginx-1.7.3-slab_defrag.patch diff --git a/patches/nginx-1.7.3-upstream_pipelining.patch b/patches/nginx/1.7.3/nginx-1.7.3-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.7.3-upstream_pipelining.patch rename to patches/nginx/1.7.3/nginx-1.7.3-upstream_pipelining.patch diff --git a/patches/nginx-1.7.4-cache_lock_hang_in_subreq.patch b/patches/nginx/1.7.4/nginx-1.7.4-cache_lock_hang_in_subreq.patch similarity index 100% rename from patches/nginx-1.7.4-cache_lock_hang_in_subreq.patch rename to patches/nginx/1.7.4/nginx-1.7.4-cache_lock_hang_in_subreq.patch diff --git a/patches/nginx-1.7.4-cache_manager_exit.patch b/patches/nginx/1.7.4/nginx-1.7.4-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.7.4-cache_manager_exit.patch rename to patches/nginx/1.7.4/nginx-1.7.4-cache_manager_exit.patch diff --git a/patches/nginx-1.7.4-dtrace.patch b/patches/nginx/1.7.4/nginx-1.7.4-dtrace.patch similarity index 100% rename from patches/nginx-1.7.4-dtrace.patch rename to patches/nginx/1.7.4/nginx-1.7.4-dtrace.patch diff --git a/patches/nginx-1.7.4-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.7.4/nginx-1.7.4-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.7.4-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.7.4/nginx-1.7.4-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.7.4-larger_max_error_str.patch b/patches/nginx/1.7.4/nginx-1.7.4-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.7.4-larger_max_error_str.patch rename to patches/nginx/1.7.4/nginx-1.7.4-larger_max_error_str.patch diff --git a/patches/nginx-1.7.4-location_if_inherits_proxy.patch b/patches/nginx/1.7.4/nginx-1.7.4-location_if_inherits_proxy.patch similarity index 100% rename from patches/nginx-1.7.4-location_if_inherits_proxy.patch rename to patches/nginx/1.7.4/nginx-1.7.4-location_if_inherits_proxy.patch diff --git a/patches/nginx-1.7.4-log_escape_non_ascii.patch b/patches/nginx/1.7.4/nginx-1.7.4-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.7.4-log_escape_non_ascii.patch rename to patches/nginx/1.7.4/nginx-1.7.4-log_escape_non_ascii.patch diff --git a/patches/nginx-1.7.4-no_Werror.patch b/patches/nginx/1.7.4/nginx-1.7.4-no_Werror.patch similarity index 100% rename from patches/nginx-1.7.4-no_Werror.patch rename to patches/nginx/1.7.4/nginx-1.7.4-no_Werror.patch diff --git a/patches/nginx-1.7.4-no_error_pages.patch b/patches/nginx/1.7.4/nginx-1.7.4-no_error_pages.patch similarity index 100% rename from patches/nginx-1.7.4-no_error_pages.patch rename to patches/nginx/1.7.4/nginx-1.7.4-no_error_pages.patch diff --git a/patches/nginx-1.7.4-no_pool.patch b/patches/nginx/1.7.4/nginx-1.7.4-no_pool.patch similarity index 100% rename from patches/nginx-1.7.4-no_pool.patch rename to patches/nginx/1.7.4/nginx-1.7.4-no_pool.patch diff --git a/patches/nginx-1.7.4-pcre_conf_opt.patch b/patches/nginx/1.7.4/nginx-1.7.4-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.7.4-pcre_conf_opt.patch rename to patches/nginx/1.7.4/nginx-1.7.4-pcre_conf_opt.patch diff --git a/patches/nginx-1.7.4-proxy_host_port_vars.patch b/patches/nginx/1.7.4/nginx-1.7.4-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.7.4-proxy_host_port_vars.patch rename to patches/nginx/1.7.4/nginx-1.7.4-proxy_host_port_vars.patch diff --git a/patches/nginx-1.7.4-server_header.patch b/patches/nginx/1.7.4/nginx-1.7.4-server_header.patch similarity index 100% rename from patches/nginx-1.7.4-server_header.patch rename to patches/nginx/1.7.4/nginx-1.7.4-server_header.patch diff --git a/patches/nginx-1.7.4-setting_args_invalidates_uri.patch b/patches/nginx/1.7.4/nginx-1.7.4-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.7.4-setting_args_invalidates_uri.patch rename to patches/nginx/1.7.4/nginx-1.7.4-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.7.4-slab_defrag.patch b/patches/nginx/1.7.4/nginx-1.7.4-slab_defrag.patch similarity index 100% rename from patches/nginx-1.7.4-slab_defrag.patch rename to patches/nginx/1.7.4/nginx-1.7.4-slab_defrag.patch diff --git a/patches/nginx-1.7.4-upstream_pipelining.patch b/patches/nginx/1.7.4/nginx-1.7.4-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.7.4-upstream_pipelining.patch rename to patches/nginx/1.7.4/nginx-1.7.4-upstream_pipelining.patch diff --git a/patches/nginx-1.7.5-cache_lock_hang_in_subreq.patch b/patches/nginx/1.7.5/nginx-1.7.5-cache_lock_hang_in_subreq.patch similarity index 100% rename from patches/nginx-1.7.5-cache_lock_hang_in_subreq.patch rename to patches/nginx/1.7.5/nginx-1.7.5-cache_lock_hang_in_subreq.patch diff --git a/patches/nginx-1.7.5-cache_manager_exit.patch b/patches/nginx/1.7.5/nginx-1.7.5-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.7.5-cache_manager_exit.patch rename to patches/nginx/1.7.5/nginx-1.7.5-cache_manager_exit.patch diff --git a/patches/nginx-1.7.5-dtrace.patch b/patches/nginx/1.7.5/nginx-1.7.5-dtrace.patch similarity index 100% rename from patches/nginx-1.7.5-dtrace.patch rename to patches/nginx/1.7.5/nginx-1.7.5-dtrace.patch diff --git a/patches/nginx-1.7.5-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.7.5/nginx-1.7.5-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.7.5-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.7.5/nginx-1.7.5-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.7.5-hash_overflow.patch b/patches/nginx/1.7.5/nginx-1.7.5-hash_overflow.patch similarity index 100% rename from patches/nginx-1.7.5-hash_overflow.patch rename to patches/nginx/1.7.5/nginx-1.7.5-hash_overflow.patch diff --git a/patches/nginx-1.7.5-larger_max_error_str.patch b/patches/nginx/1.7.5/nginx-1.7.5-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.7.5-larger_max_error_str.patch rename to patches/nginx/1.7.5/nginx-1.7.5-larger_max_error_str.patch diff --git a/patches/nginx-1.7.5-location_if_inherits_proxy.patch b/patches/nginx/1.7.5/nginx-1.7.5-location_if_inherits_proxy.patch similarity index 100% rename from patches/nginx-1.7.5-location_if_inherits_proxy.patch rename to patches/nginx/1.7.5/nginx-1.7.5-location_if_inherits_proxy.patch diff --git a/patches/nginx-1.7.5-log_escape_non_ascii.patch b/patches/nginx/1.7.5/nginx-1.7.5-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.7.5-log_escape_non_ascii.patch rename to patches/nginx/1.7.5/nginx-1.7.5-log_escape_non_ascii.patch diff --git a/patches/nginx-1.7.5-no_Werror.patch b/patches/nginx/1.7.5/nginx-1.7.5-no_Werror.patch similarity index 100% rename from patches/nginx-1.7.5-no_Werror.patch rename to patches/nginx/1.7.5/nginx-1.7.5-no_Werror.patch diff --git a/patches/nginx-1.7.5-no_error_pages.patch b/patches/nginx/1.7.5/nginx-1.7.5-no_error_pages.patch similarity index 100% rename from patches/nginx-1.7.5-no_error_pages.patch rename to patches/nginx/1.7.5/nginx-1.7.5-no_error_pages.patch diff --git a/patches/nginx-1.7.5-no_pool.patch b/patches/nginx/1.7.5/nginx-1.7.5-no_pool.patch similarity index 100% rename from patches/nginx-1.7.5-no_pool.patch rename to patches/nginx/1.7.5/nginx-1.7.5-no_pool.patch diff --git a/patches/nginx-1.7.5-pcre_conf_opt.patch b/patches/nginx/1.7.5/nginx-1.7.5-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.7.5-pcre_conf_opt.patch rename to patches/nginx/1.7.5/nginx-1.7.5-pcre_conf_opt.patch diff --git a/patches/nginx-1.7.5-proxy_host_port_vars.patch b/patches/nginx/1.7.5/nginx-1.7.5-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.7.5-proxy_host_port_vars.patch rename to patches/nginx/1.7.5/nginx-1.7.5-proxy_host_port_vars.patch diff --git a/patches/nginx-1.7.5-resolver_del_event_invalid_read.patch b/patches/nginx/1.7.5/nginx-1.7.5-resolver_del_event_invalid_read.patch similarity index 100% rename from patches/nginx-1.7.5-resolver_del_event_invalid_read.patch rename to patches/nginx/1.7.5/nginx-1.7.5-resolver_del_event_invalid_read.patch diff --git a/patches/nginx-1.7.5-server_header.patch b/patches/nginx/1.7.5/nginx-1.7.5-server_header.patch similarity index 100% rename from patches/nginx-1.7.5-server_header.patch rename to patches/nginx/1.7.5/nginx-1.7.5-server_header.patch diff --git a/patches/nginx-1.7.5-setting_args_invalidates_uri.patch b/patches/nginx/1.7.5/nginx-1.7.5-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.7.5-setting_args_invalidates_uri.patch rename to patches/nginx/1.7.5/nginx-1.7.5-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.7.5-slab_defrag.patch b/patches/nginx/1.7.5/nginx-1.7.5-slab_defrag.patch similarity index 100% rename from patches/nginx-1.7.5-slab_defrag.patch rename to patches/nginx/1.7.5/nginx-1.7.5-slab_defrag.patch diff --git a/patches/nginx-1.7.5-upstream_pipelining.patch b/patches/nginx/1.7.5/nginx-1.7.5-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.7.5-upstream_pipelining.patch rename to patches/nginx/1.7.5/nginx-1.7.5-upstream_pipelining.patch diff --git a/patches/nginx-1.7.7-cache_lock_hang_in_subreq.patch b/patches/nginx/1.7.7/nginx-1.7.7-cache_lock_hang_in_subreq.patch similarity index 100% rename from patches/nginx-1.7.7-cache_lock_hang_in_subreq.patch rename to patches/nginx/1.7.7/nginx-1.7.7-cache_lock_hang_in_subreq.patch diff --git a/patches/nginx-1.7.7-cache_manager_exit.patch b/patches/nginx/1.7.7/nginx-1.7.7-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.7.7-cache_manager_exit.patch rename to patches/nginx/1.7.7/nginx-1.7.7-cache_manager_exit.patch diff --git a/patches/nginx-1.7.7-dtrace.patch b/patches/nginx/1.7.7/nginx-1.7.7-dtrace.patch similarity index 100% rename from patches/nginx-1.7.7-dtrace.patch rename to patches/nginx/1.7.7/nginx-1.7.7-dtrace.patch diff --git a/patches/nginx-1.7.7-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.7.7/nginx-1.7.7-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.7.7-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.7.7/nginx-1.7.7-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.7.7-hash_overflow.patch b/patches/nginx/1.7.7/nginx-1.7.7-hash_overflow.patch similarity index 100% rename from patches/nginx-1.7.7-hash_overflow.patch rename to patches/nginx/1.7.7/nginx-1.7.7-hash_overflow.patch diff --git a/patches/nginx-1.7.7-larger_max_error_str.patch b/patches/nginx/1.7.7/nginx-1.7.7-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.7.7-larger_max_error_str.patch rename to patches/nginx/1.7.7/nginx-1.7.7-larger_max_error_str.patch diff --git a/patches/nginx-1.7.7-location_if_inherits_proxy.patch b/patches/nginx/1.7.7/nginx-1.7.7-location_if_inherits_proxy.patch similarity index 100% rename from patches/nginx-1.7.7-location_if_inherits_proxy.patch rename to patches/nginx/1.7.7/nginx-1.7.7-location_if_inherits_proxy.patch diff --git a/patches/nginx-1.7.7-log_escape_non_ascii.patch b/patches/nginx/1.7.7/nginx-1.7.7-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.7.7-log_escape_non_ascii.patch rename to patches/nginx/1.7.7/nginx-1.7.7-log_escape_non_ascii.patch diff --git a/patches/nginx-1.7.7-no_Werror.patch b/patches/nginx/1.7.7/nginx-1.7.7-no_Werror.patch similarity index 100% rename from patches/nginx-1.7.7-no_Werror.patch rename to patches/nginx/1.7.7/nginx-1.7.7-no_Werror.patch diff --git a/patches/nginx-1.7.7-no_error_pages.patch b/patches/nginx/1.7.7/nginx-1.7.7-no_error_pages.patch similarity index 100% rename from patches/nginx-1.7.7-no_error_pages.patch rename to patches/nginx/1.7.7/nginx-1.7.7-no_error_pages.patch diff --git a/patches/nginx-1.7.7-no_pool.patch b/patches/nginx/1.7.7/nginx-1.7.7-no_pool.patch similarity index 100% rename from patches/nginx-1.7.7-no_pool.patch rename to patches/nginx/1.7.7/nginx-1.7.7-no_pool.patch diff --git a/patches/nginx-1.7.7-pcre_conf_opt.patch b/patches/nginx/1.7.7/nginx-1.7.7-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.7.7-pcre_conf_opt.patch rename to patches/nginx/1.7.7/nginx-1.7.7-pcre_conf_opt.patch diff --git a/patches/nginx-1.7.7-proxy_host_port_vars.patch b/patches/nginx/1.7.7/nginx-1.7.7-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.7.7-proxy_host_port_vars.patch rename to patches/nginx/1.7.7/nginx-1.7.7-proxy_host_port_vars.patch diff --git a/patches/nginx-1.7.7-resolver_del_event_invalid_read.patch b/patches/nginx/1.7.7/nginx-1.7.7-resolver_del_event_invalid_read.patch similarity index 100% rename from patches/nginx-1.7.7-resolver_del_event_invalid_read.patch rename to patches/nginx/1.7.7/nginx-1.7.7-resolver_del_event_invalid_read.patch diff --git a/patches/nginx-1.7.7-server_header.patch b/patches/nginx/1.7.7/nginx-1.7.7-server_header.patch similarity index 100% rename from patches/nginx-1.7.7-server_header.patch rename to patches/nginx/1.7.7/nginx-1.7.7-server_header.patch diff --git a/patches/nginx-1.7.7-setting_args_invalidates_uri.patch b/patches/nginx/1.7.7/nginx-1.7.7-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.7.7-setting_args_invalidates_uri.patch rename to patches/nginx/1.7.7/nginx-1.7.7-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.7.7-slab_defrag.patch b/patches/nginx/1.7.7/nginx-1.7.7-slab_defrag.patch similarity index 100% rename from patches/nginx-1.7.7-slab_defrag.patch rename to patches/nginx/1.7.7/nginx-1.7.7-slab_defrag.patch diff --git a/patches/nginx-1.7.7-upstream_pipelining.patch b/patches/nginx/1.7.7/nginx-1.7.7-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.7.7-upstream_pipelining.patch rename to patches/nginx/1.7.7/nginx-1.7.7-upstream_pipelining.patch diff --git a/patches/nginx-1.9.11-always_enable_cc_feature_tests.patch b/patches/nginx/1.9.11/nginx-1.9.11-always_enable_cc_feature_tests.patch similarity index 100% rename from patches/nginx-1.9.11-always_enable_cc_feature_tests.patch rename to patches/nginx/1.9.11/nginx-1.9.11-always_enable_cc_feature_tests.patch diff --git a/patches/nginx-1.9.11-cache_manager_exit.patch b/patches/nginx/1.9.11/nginx-1.9.11-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.9.11-cache_manager_exit.patch rename to patches/nginx/1.9.11/nginx-1.9.11-cache_manager_exit.patch diff --git a/patches/nginx-1.9.11-dtrace.patch b/patches/nginx/1.9.11/nginx-1.9.11-dtrace.patch similarity index 100% rename from patches/nginx-1.9.11-dtrace.patch rename to patches/nginx/1.9.11/nginx-1.9.11-dtrace.patch diff --git a/patches/nginx-1.9.11-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.9.11/nginx-1.9.11-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.9.11-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.9.11/nginx-1.9.11-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.9.11-hash_overflow.patch b/patches/nginx/1.9.11/nginx-1.9.11-hash_overflow.patch similarity index 100% rename from patches/nginx-1.9.11-hash_overflow.patch rename to patches/nginx/1.9.11/nginx-1.9.11-hash_overflow.patch diff --git a/patches/nginx-1.9.11-larger_max_error_str.patch b/patches/nginx/1.9.11/nginx-1.9.11-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.9.11-larger_max_error_str.patch rename to patches/nginx/1.9.11/nginx-1.9.11-larger_max_error_str.patch diff --git a/patches/nginx-1.9.11-log_escape_non_ascii.patch b/patches/nginx/1.9.11/nginx-1.9.11-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.9.11-log_escape_non_ascii.patch rename to patches/nginx/1.9.11/nginx-1.9.11-log_escape_non_ascii.patch diff --git a/patches/nginx-1.9.11-no_Werror.patch b/patches/nginx/1.9.11/nginx-1.9.11-no_Werror.patch similarity index 100% rename from patches/nginx-1.9.11-no_Werror.patch rename to patches/nginx/1.9.11/nginx-1.9.11-no_Werror.patch diff --git a/patches/nginx-1.9.11-no_error_pages.patch b/patches/nginx/1.9.11/nginx-1.9.11-no_error_pages.patch similarity index 100% rename from patches/nginx-1.9.11-no_error_pages.patch rename to patches/nginx/1.9.11/nginx-1.9.11-no_error_pages.patch diff --git a/patches/nginx-1.9.11-no_pool.patch b/patches/nginx/1.9.11/nginx-1.9.11-no_pool.patch similarity index 100% rename from patches/nginx-1.9.11-no_pool.patch rename to patches/nginx/1.9.11/nginx-1.9.11-no_pool.patch diff --git a/patches/nginx-1.9.11-pcre_conf_opt.patch b/patches/nginx/1.9.11/nginx-1.9.11-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.9.11-pcre_conf_opt.patch rename to patches/nginx/1.9.11/nginx-1.9.11-pcre_conf_opt.patch diff --git a/patches/nginx-1.9.11-proxy_host_port_vars.patch b/patches/nginx/1.9.11/nginx-1.9.11-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.9.11-proxy_host_port_vars.patch rename to patches/nginx/1.9.11/nginx-1.9.11-proxy_host_port_vars.patch diff --git a/patches/nginx-1.9.11-server_header.patch b/patches/nginx/1.9.11/nginx-1.9.11-server_header.patch similarity index 100% rename from patches/nginx-1.9.11-server_header.patch rename to patches/nginx/1.9.11/nginx-1.9.11-server_header.patch diff --git a/patches/nginx-1.9.11-setting_args_invalidates_uri.patch b/patches/nginx/1.9.11/nginx-1.9.11-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.9.11-setting_args_invalidates_uri.patch rename to patches/nginx/1.9.11/nginx-1.9.11-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.9.11-slab_defrag.patch b/patches/nginx/1.9.11/nginx-1.9.11-slab_defrag.patch similarity index 100% rename from patches/nginx-1.9.11-slab_defrag.patch rename to patches/nginx/1.9.11/nginx-1.9.11-slab_defrag.patch diff --git a/patches/nginx-1.9.11-ssl_cert_cb_yield.patch b/patches/nginx/1.9.11/nginx-1.9.11-ssl_cert_cb_yield.patch similarity index 100% rename from patches/nginx-1.9.11-ssl_cert_cb_yield.patch rename to patches/nginx/1.9.11/nginx-1.9.11-ssl_cert_cb_yield.patch diff --git a/patches/nginx-1.9.11-upstream_pipelining.patch b/patches/nginx/1.9.11/nginx-1.9.11-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.9.11-upstream_pipelining.patch rename to patches/nginx/1.9.11/nginx-1.9.11-upstream_pipelining.patch diff --git a/patches/nginx-1.9.15-always_enable_cc_feature_tests.patch b/patches/nginx/1.9.15/nginx-1.9.15-always_enable_cc_feature_tests.patch similarity index 100% rename from patches/nginx-1.9.15-always_enable_cc_feature_tests.patch rename to patches/nginx/1.9.15/nginx-1.9.15-always_enable_cc_feature_tests.patch diff --git a/patches/nginx-1.9.15-cache_manager_exit.patch b/patches/nginx/1.9.15/nginx-1.9.15-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.9.15-cache_manager_exit.patch rename to patches/nginx/1.9.15/nginx-1.9.15-cache_manager_exit.patch diff --git a/patches/nginx-1.9.15-dtrace.patch b/patches/nginx/1.9.15/nginx-1.9.15-dtrace.patch similarity index 100% rename from patches/nginx-1.9.15-dtrace.patch rename to patches/nginx/1.9.15/nginx-1.9.15-dtrace.patch diff --git a/patches/nginx-1.9.15-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.9.15/nginx-1.9.15-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.9.15-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.9.15/nginx-1.9.15-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.9.15-hash_overflow.patch b/patches/nginx/1.9.15/nginx-1.9.15-hash_overflow.patch similarity index 100% rename from patches/nginx-1.9.15-hash_overflow.patch rename to patches/nginx/1.9.15/nginx-1.9.15-hash_overflow.patch diff --git a/patches/nginx-1.9.15-larger_max_error_str.patch b/patches/nginx/1.9.15/nginx-1.9.15-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.9.15-larger_max_error_str.patch rename to patches/nginx/1.9.15/nginx-1.9.15-larger_max_error_str.patch diff --git a/patches/nginx-1.9.15-log_escape_non_ascii.patch b/patches/nginx/1.9.15/nginx-1.9.15-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.9.15-log_escape_non_ascii.patch rename to patches/nginx/1.9.15/nginx-1.9.15-log_escape_non_ascii.patch diff --git a/patches/nginx-1.9.15-no_Werror.patch b/patches/nginx/1.9.15/nginx-1.9.15-no_Werror.patch similarity index 100% rename from patches/nginx-1.9.15-no_Werror.patch rename to patches/nginx/1.9.15/nginx-1.9.15-no_Werror.patch diff --git a/patches/nginx-1.9.15-no_error_pages.patch b/patches/nginx/1.9.15/nginx-1.9.15-no_error_pages.patch similarity index 100% rename from patches/nginx-1.9.15-no_error_pages.patch rename to patches/nginx/1.9.15/nginx-1.9.15-no_error_pages.patch diff --git a/patches/nginx-1.9.15-no_pool.patch b/patches/nginx/1.9.15/nginx-1.9.15-no_pool.patch similarity index 100% rename from patches/nginx-1.9.15-no_pool.patch rename to patches/nginx/1.9.15/nginx-1.9.15-no_pool.patch diff --git a/patches/nginx-1.9.15-pcre_conf_opt.patch b/patches/nginx/1.9.15/nginx-1.9.15-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.9.15-pcre_conf_opt.patch rename to patches/nginx/1.9.15/nginx-1.9.15-pcre_conf_opt.patch diff --git a/patches/nginx-1.9.15-proxy_host_port_vars.patch b/patches/nginx/1.9.15/nginx-1.9.15-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.9.15-proxy_host_port_vars.patch rename to patches/nginx/1.9.15/nginx-1.9.15-proxy_host_port_vars.patch diff --git a/patches/nginx-1.9.15-server_header.patch b/patches/nginx/1.9.15/nginx-1.9.15-server_header.patch similarity index 100% rename from patches/nginx-1.9.15-server_header.patch rename to patches/nginx/1.9.15/nginx-1.9.15-server_header.patch diff --git a/patches/nginx-1.9.15-setting_args_invalidates_uri.patch b/patches/nginx/1.9.15/nginx-1.9.15-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.9.15-setting_args_invalidates_uri.patch rename to patches/nginx/1.9.15/nginx-1.9.15-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.9.15-slab_defrag.patch b/patches/nginx/1.9.15/nginx-1.9.15-slab_defrag.patch similarity index 100% rename from patches/nginx-1.9.15-slab_defrag.patch rename to patches/nginx/1.9.15/nginx-1.9.15-slab_defrag.patch diff --git a/patches/nginx-1.9.15-ssl_cert_cb_yield.patch b/patches/nginx/1.9.15/nginx-1.9.15-ssl_cert_cb_yield.patch similarity index 100% rename from patches/nginx-1.9.15-ssl_cert_cb_yield.patch rename to patches/nginx/1.9.15/nginx-1.9.15-ssl_cert_cb_yield.patch diff --git a/patches/nginx-1.9.15-ssl_pending_session.patch b/patches/nginx/1.9.15/nginx-1.9.15-ssl_pending_session.patch similarity index 100% rename from patches/nginx-1.9.15-ssl_pending_session.patch rename to patches/nginx/1.9.15/nginx-1.9.15-ssl_pending_session.patch diff --git a/patches/nginx-1.9.15-upstream_pipelining.patch b/patches/nginx/1.9.15/nginx-1.9.15-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.9.15-upstream_pipelining.patch rename to patches/nginx/1.9.15/nginx-1.9.15-upstream_pipelining.patch diff --git a/patches/nginx-1.9.15-upstream_timeout_fields.patch b/patches/nginx/1.9.15/nginx-1.9.15-upstream_timeout_fields.patch similarity index 100% rename from patches/nginx-1.9.15-upstream_timeout_fields.patch rename to patches/nginx/1.9.15/nginx-1.9.15-upstream_timeout_fields.patch diff --git a/patches/nginx-1.9.2-cache_manager_exit.patch b/patches/nginx/1.9.2/nginx-1.9.2-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.9.2-cache_manager_exit.patch rename to patches/nginx/1.9.2/nginx-1.9.2-cache_manager_exit.patch diff --git a/patches/nginx-1.9.2-dtrace.patch b/patches/nginx/1.9.2/nginx-1.9.2-dtrace.patch similarity index 100% rename from patches/nginx-1.9.2-dtrace.patch rename to patches/nginx/1.9.2/nginx-1.9.2-dtrace.patch diff --git a/patches/nginx-1.9.2-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.9.2/nginx-1.9.2-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.9.2-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.9.2/nginx-1.9.2-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.9.2-hash_overflow.patch b/patches/nginx/1.9.2/nginx-1.9.2-hash_overflow.patch similarity index 100% rename from patches/nginx-1.9.2-hash_overflow.patch rename to patches/nginx/1.9.2/nginx-1.9.2-hash_overflow.patch diff --git a/patches/nginx-1.9.2-larger_max_error_str.patch b/patches/nginx/1.9.2/nginx-1.9.2-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.9.2-larger_max_error_str.patch rename to patches/nginx/1.9.2/nginx-1.9.2-larger_max_error_str.patch diff --git a/patches/nginx-1.9.2-log_escape_non_ascii.patch b/patches/nginx/1.9.2/nginx-1.9.2-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.9.2-log_escape_non_ascii.patch rename to patches/nginx/1.9.2/nginx-1.9.2-log_escape_non_ascii.patch diff --git a/patches/nginx-1.9.2-no_Werror.patch b/patches/nginx/1.9.2/nginx-1.9.2-no_Werror.patch similarity index 100% rename from patches/nginx-1.9.2-no_Werror.patch rename to patches/nginx/1.9.2/nginx-1.9.2-no_Werror.patch diff --git a/patches/nginx-1.9.2-no_error_pages.patch b/patches/nginx/1.9.2/nginx-1.9.2-no_error_pages.patch similarity index 100% rename from patches/nginx-1.9.2-no_error_pages.patch rename to patches/nginx/1.9.2/nginx-1.9.2-no_error_pages.patch diff --git a/patches/nginx-1.9.2-no_pool.patch b/patches/nginx/1.9.2/nginx-1.9.2-no_pool.patch similarity index 100% rename from patches/nginx-1.9.2-no_pool.patch rename to patches/nginx/1.9.2/nginx-1.9.2-no_pool.patch diff --git a/patches/nginx-1.9.2-pcre_conf_opt.patch b/patches/nginx/1.9.2/nginx-1.9.2-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.9.2-pcre_conf_opt.patch rename to patches/nginx/1.9.2/nginx-1.9.2-pcre_conf_opt.patch diff --git a/patches/nginx-1.9.2-proxy_host_port_vars.patch b/patches/nginx/1.9.2/nginx-1.9.2-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.9.2-proxy_host_port_vars.patch rename to patches/nginx/1.9.2/nginx-1.9.2-proxy_host_port_vars.patch diff --git a/patches/nginx-1.9.2-server_header.patch b/patches/nginx/1.9.2/nginx-1.9.2-server_header.patch similarity index 100% rename from patches/nginx-1.9.2-server_header.patch rename to patches/nginx/1.9.2/nginx-1.9.2-server_header.patch diff --git a/patches/nginx-1.9.2-setting_args_invalidates_uri.patch b/patches/nginx/1.9.2/nginx-1.9.2-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.9.2-setting_args_invalidates_uri.patch rename to patches/nginx/1.9.2/nginx-1.9.2-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.9.2-slab_defrag.patch b/patches/nginx/1.9.2/nginx-1.9.2-slab_defrag.patch similarity index 100% rename from patches/nginx-1.9.2-slab_defrag.patch rename to patches/nginx/1.9.2/nginx-1.9.2-slab_defrag.patch diff --git a/patches/nginx-1.9.2-upstream_pipelining.patch b/patches/nginx/1.9.2/nginx-1.9.2-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.9.2-upstream_pipelining.patch rename to patches/nginx/1.9.2/nginx-1.9.2-upstream_pipelining.patch diff --git a/patches/nginx-1.9.3-always_enable_cc_feature_tests.patch b/patches/nginx/1.9.3/nginx-1.9.3-always_enable_cc_feature_tests.patch similarity index 100% rename from patches/nginx-1.9.3-always_enable_cc_feature_tests.patch rename to patches/nginx/1.9.3/nginx-1.9.3-always_enable_cc_feature_tests.patch diff --git a/patches/nginx-1.9.3-cache_manager_exit.patch b/patches/nginx/1.9.3/nginx-1.9.3-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.9.3-cache_manager_exit.patch rename to patches/nginx/1.9.3/nginx-1.9.3-cache_manager_exit.patch diff --git a/patches/nginx-1.9.3-dtrace.patch b/patches/nginx/1.9.3/nginx-1.9.3-dtrace.patch similarity index 100% rename from patches/nginx-1.9.3-dtrace.patch rename to patches/nginx/1.9.3/nginx-1.9.3-dtrace.patch diff --git a/patches/nginx-1.9.3-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.9.3/nginx-1.9.3-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.9.3-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.9.3/nginx-1.9.3-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.9.3-hash_overflow.patch b/patches/nginx/1.9.3/nginx-1.9.3-hash_overflow.patch similarity index 100% rename from patches/nginx-1.9.3-hash_overflow.patch rename to patches/nginx/1.9.3/nginx-1.9.3-hash_overflow.patch diff --git a/patches/nginx-1.9.3-larger_max_error_str.patch b/patches/nginx/1.9.3/nginx-1.9.3-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.9.3-larger_max_error_str.patch rename to patches/nginx/1.9.3/nginx-1.9.3-larger_max_error_str.patch diff --git a/patches/nginx-1.9.3-log_escape_non_ascii.patch b/patches/nginx/1.9.3/nginx-1.9.3-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.9.3-log_escape_non_ascii.patch rename to patches/nginx/1.9.3/nginx-1.9.3-log_escape_non_ascii.patch diff --git a/patches/nginx-1.9.3-no_Werror.patch b/patches/nginx/1.9.3/nginx-1.9.3-no_Werror.patch similarity index 100% rename from patches/nginx-1.9.3-no_Werror.patch rename to patches/nginx/1.9.3/nginx-1.9.3-no_Werror.patch diff --git a/patches/nginx-1.9.3-no_error_pages.patch b/patches/nginx/1.9.3/nginx-1.9.3-no_error_pages.patch similarity index 100% rename from patches/nginx-1.9.3-no_error_pages.patch rename to patches/nginx/1.9.3/nginx-1.9.3-no_error_pages.patch diff --git a/patches/nginx-1.9.3-no_pool.patch b/patches/nginx/1.9.3/nginx-1.9.3-no_pool.patch similarity index 100% rename from patches/nginx-1.9.3-no_pool.patch rename to patches/nginx/1.9.3/nginx-1.9.3-no_pool.patch diff --git a/patches/nginx-1.9.3-pcre_conf_opt.patch b/patches/nginx/1.9.3/nginx-1.9.3-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.9.3-pcre_conf_opt.patch rename to patches/nginx/1.9.3/nginx-1.9.3-pcre_conf_opt.patch diff --git a/patches/nginx-1.9.3-proxy_host_port_vars.patch b/patches/nginx/1.9.3/nginx-1.9.3-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.9.3-proxy_host_port_vars.patch rename to patches/nginx/1.9.3/nginx-1.9.3-proxy_host_port_vars.patch diff --git a/patches/nginx-1.9.3-server_header.patch b/patches/nginx/1.9.3/nginx-1.9.3-server_header.patch similarity index 100% rename from patches/nginx-1.9.3-server_header.patch rename to patches/nginx/1.9.3/nginx-1.9.3-server_header.patch diff --git a/patches/nginx-1.9.3-setting_args_invalidates_uri.patch b/patches/nginx/1.9.3/nginx-1.9.3-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.9.3-setting_args_invalidates_uri.patch rename to patches/nginx/1.9.3/nginx-1.9.3-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.9.3-slab_defrag.patch b/patches/nginx/1.9.3/nginx-1.9.3-slab_defrag.patch similarity index 100% rename from patches/nginx-1.9.3-slab_defrag.patch rename to patches/nginx/1.9.3/nginx-1.9.3-slab_defrag.patch diff --git a/patches/nginx-1.9.3-upstream_pipelining.patch b/patches/nginx/1.9.3/nginx-1.9.3-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.9.3-upstream_pipelining.patch rename to patches/nginx/1.9.3/nginx-1.9.3-upstream_pipelining.patch diff --git a/patches/nginx-1.9.7-always_enable_cc_feature_tests.patch b/patches/nginx/1.9.7/nginx-1.9.7-always_enable_cc_feature_tests.patch similarity index 100% rename from patches/nginx-1.9.7-always_enable_cc_feature_tests.patch rename to patches/nginx/1.9.7/nginx-1.9.7-always_enable_cc_feature_tests.patch diff --git a/patches/nginx-1.9.7-cache_manager_exit.patch b/patches/nginx/1.9.7/nginx-1.9.7-cache_manager_exit.patch similarity index 100% rename from patches/nginx-1.9.7-cache_manager_exit.patch rename to patches/nginx/1.9.7/nginx-1.9.7-cache_manager_exit.patch diff --git a/patches/nginx-1.9.7-dtrace.patch b/patches/nginx/1.9.7/nginx-1.9.7-dtrace.patch similarity index 100% rename from patches/nginx-1.9.7-dtrace.patch rename to patches/nginx/1.9.7/nginx-1.9.7-dtrace.patch diff --git a/patches/nginx-1.9.7-gcc-maybe-uninitialized-warning.patch b/patches/nginx/1.9.7/nginx-1.9.7-gcc-maybe-uninitialized-warning.patch similarity index 100% rename from patches/nginx-1.9.7-gcc-maybe-uninitialized-warning.patch rename to patches/nginx/1.9.7/nginx-1.9.7-gcc-maybe-uninitialized-warning.patch diff --git a/patches/nginx-1.9.7-hash_overflow.patch b/patches/nginx/1.9.7/nginx-1.9.7-hash_overflow.patch similarity index 100% rename from patches/nginx-1.9.7-hash_overflow.patch rename to patches/nginx/1.9.7/nginx-1.9.7-hash_overflow.patch diff --git a/patches/nginx-1.9.7-larger_max_error_str.patch b/patches/nginx/1.9.7/nginx-1.9.7-larger_max_error_str.patch similarity index 100% rename from patches/nginx-1.9.7-larger_max_error_str.patch rename to patches/nginx/1.9.7/nginx-1.9.7-larger_max_error_str.patch diff --git a/patches/nginx-1.9.7-log_escape_non_ascii.patch b/patches/nginx/1.9.7/nginx-1.9.7-log_escape_non_ascii.patch similarity index 100% rename from patches/nginx-1.9.7-log_escape_non_ascii.patch rename to patches/nginx/1.9.7/nginx-1.9.7-log_escape_non_ascii.patch diff --git a/patches/nginx-1.9.7-no_Werror.patch b/patches/nginx/1.9.7/nginx-1.9.7-no_Werror.patch similarity index 100% rename from patches/nginx-1.9.7-no_Werror.patch rename to patches/nginx/1.9.7/nginx-1.9.7-no_Werror.patch diff --git a/patches/nginx-1.9.7-no_error_pages.patch b/patches/nginx/1.9.7/nginx-1.9.7-no_error_pages.patch similarity index 100% rename from patches/nginx-1.9.7-no_error_pages.patch rename to patches/nginx/1.9.7/nginx-1.9.7-no_error_pages.patch diff --git a/patches/nginx-1.9.7-no_pool.patch b/patches/nginx/1.9.7/nginx-1.9.7-no_pool.patch similarity index 100% rename from patches/nginx-1.9.7-no_pool.patch rename to patches/nginx/1.9.7/nginx-1.9.7-no_pool.patch diff --git a/patches/nginx-1.9.7-pcre_conf_opt.patch b/patches/nginx/1.9.7/nginx-1.9.7-pcre_conf_opt.patch similarity index 100% rename from patches/nginx-1.9.7-pcre_conf_opt.patch rename to patches/nginx/1.9.7/nginx-1.9.7-pcre_conf_opt.patch diff --git a/patches/nginx-1.9.7-proxy_host_port_vars.patch b/patches/nginx/1.9.7/nginx-1.9.7-proxy_host_port_vars.patch similarity index 100% rename from patches/nginx-1.9.7-proxy_host_port_vars.patch rename to patches/nginx/1.9.7/nginx-1.9.7-proxy_host_port_vars.patch diff --git a/patches/nginx-1.9.7-resolver_security_fixes.patch b/patches/nginx/1.9.7/nginx-1.9.7-resolver_security_fixes.patch similarity index 100% rename from patches/nginx-1.9.7-resolver_security_fixes.patch rename to patches/nginx/1.9.7/nginx-1.9.7-resolver_security_fixes.patch diff --git a/patches/nginx-1.9.7-server_header.patch b/patches/nginx/1.9.7/nginx-1.9.7-server_header.patch similarity index 100% rename from patches/nginx-1.9.7-server_header.patch rename to patches/nginx/1.9.7/nginx-1.9.7-server_header.patch diff --git a/patches/nginx-1.9.7-setting_args_invalidates_uri.patch b/patches/nginx/1.9.7/nginx-1.9.7-setting_args_invalidates_uri.patch similarity index 100% rename from patches/nginx-1.9.7-setting_args_invalidates_uri.patch rename to patches/nginx/1.9.7/nginx-1.9.7-setting_args_invalidates_uri.patch diff --git a/patches/nginx-1.9.7-slab_defrag.patch b/patches/nginx/1.9.7/nginx-1.9.7-slab_defrag.patch similarity index 100% rename from patches/nginx-1.9.7-slab_defrag.patch rename to patches/nginx/1.9.7/nginx-1.9.7-slab_defrag.patch diff --git a/patches/nginx-1.9.7-ssl_cert_cb_yield.patch b/patches/nginx/1.9.7/nginx-1.9.7-ssl_cert_cb_yield.patch similarity index 100% rename from patches/nginx-1.9.7-ssl_cert_cb_yield.patch rename to patches/nginx/1.9.7/nginx-1.9.7-ssl_cert_cb_yield.patch diff --git a/patches/nginx-1.9.7-upstream_pipelining.patch b/patches/nginx/1.9.7/nginx-1.9.7-upstream_pipelining.patch similarity index 100% rename from patches/nginx-1.9.7-upstream_pipelining.patch rename to patches/nginx/1.9.7/nginx-1.9.7-upstream_pipelining.patch diff --git a/util/mirror-tarballs b/util/mirror-tarballs index 0cbbbe9..038db58 100755 --- a/util/mirror-tarballs +++ b/util/mirror-tarballs @@ -33,7 +33,7 @@ tar -xzf nginx-$ver.tar.gz || exit 1 cd nginx-$ver || exit 1 echo "$info_txt applying the nginx-$main_ver-win32_max_err_str.patch" -patch -p1 < $root/patches/nginx-$main_ver-win32_max_err_str.patch || exit 1 +patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-win32_max_err_str.patch || exit 1 echo answer=`$root/util/ver-ge "$main_ver" 1.13.3` @@ -46,34 +46,34 @@ fi answer=`$root/util/ver-ge "$main_ver" 1.13.3` if [ "$answer" = "Y" ]; then echo "$info_txt applying the stream_balancer_export patch for nginx" - patch -p1 < $root/patches/nginx-$main_ver-stream_balancer_export.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-stream_balancer_export.patch || exit 1 echo echo "$info_txt applying the stream_proxy_get_next_upstream_tries patch for nginx" - patch -p1 < $root/patches/nginx-$main_ver-stream_proxy_get_next_upstream_tries.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-stream_proxy_get_next_upstream_tries.patch || exit 1 echo echo "$info_txt applying the stream_proxy_timeout_fields patch for nginx" - patch -p1 < $root/patches/nginx-$main_ver-stream_proxy_timeout_fields.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-stream_proxy_timeout_fields.patch || exit 1 echo fi answer=`$root/util/ver-ge "$main_ver" 1.13.6` if [ "$answer" = "Y" ]; then echo "$info_txt applying the stream_ssl_preread_no_skip patch for nginx" - patch -p1 < $root/patches/nginx-$main_ver-stream_ssl_preread_no_skip.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-stream_ssl_preread_no_skip.patch || exit 1 echo echo "$info_txt applying the resolver_conf_parsing patch for nginx" - patch -p1 < $root/patches/nginx-$main_ver-resolver_conf_parsing.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-resolver_conf_parsing.patch || exit 1 echo echo "$info_txt applying the daemon_destroy_pool patch for nginx" - patch -p1 < $root/patches/nginx-$main_ver-daemon_destroy_pool.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-daemon_destroy_pool.patch || exit 1 echo echo "$info_txt applying the init_cycle_pool_release patch for nginx" - patch -p1 < $root/patches/nginx-$main_ver-init_cycle_pool_release.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-init_cycle_pool_release.patch || exit 1 echo fi @@ -101,246 +101,246 @@ fi answer=`$root/util/ver-ge "$main_ver" 1.11.2` if [ "$answer" = "Y" ]; then echo "$info_txt applying the balancer_status_code patch" - patch -p1 < $root/patches/nginx-$main_ver-balancer_status_code.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-balancer_status_code.patch || exit 1 echo fi answer=`$root/util/ver-ge "$main_ver" 1.11.2` if [ "$answer" = "Y" ]; then echo "$info_txt applying the builtin_error_page_footer patch" - patch -p1 < $root/patches/nginx-$main_ver-builtin_error_page_footer.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-builtin_error_page_footer.patch || exit 1 echo fi answer=`$root/util/ver-ge "$main_ver" 1.11.2` if [ "$answer" = "Y" ]; then echo "$info_txt applying the delayed-posted-events patch" - patch -p1 < $root/patches/nginx-$main_ver-delayed_posted_events.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-delayed_posted_events.patch || exit 1 echo fi answer=`$root/util/ver-ge "$main_ver" 1.11.2` if [ "$answer" = "Y" ]; then echo "$info_txt applying the privileged-agent-process patch" - patch -p1 < $root/patches/nginx-$main_ver-privileged_agent_process.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-privileged_agent_process.patch || exit 1 echo fi answer=`$root/util/ver-ge "$main_ver" 1.19.3` if [ "$answer" = "Y" ]; then echo "$info_txt applying the privileged-agent-process-connections patch" - patch -p1 < $root/patches/nginx-$main_ver-privileged_agent_process_connections.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-privileged_agent_process_connections.patch || exit 1 echo fi answer=`$root/util/ver-ge "$main_ver" 1.21.4` if [ "$answer" = "Y" ]; then echo "$info_txt applying the privileged_agent_process_thread_pool patch" - patch -p1 < $root/patches/nginx-$main_ver-privileged_agent_process_thread_pool.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-privileged_agent_process_thread_pool.patch || exit 1 echo fi answer=`$root/util/ver-ge "$main_ver" 1.11.2` if [ "$answer" = "Y" ]; then echo "$info_txt applying the single-process-graceful-exit patch" - patch -p1 < $root/patches/nginx-$main_ver-single_process_graceful_exit.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-single_process_graceful_exit.patch || exit 1 echo fi answer=`$root/util/ver-ge "$main_ver" 1.11.2` if [ "$answer" = "Y" ]; then echo "$info_txt applying the intercept-error-log patch" - patch -p1 < $root/patches/nginx-$main_ver-intercept_error_log.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-intercept_error_log.patch || exit 1 echo fi echo "$info_txt applying the upstream-pipelining patch for nginx" -patch -p1 < $root/patches/nginx-$main_ver-upstream_pipelining.patch || exit 1 +patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-upstream_pipelining.patch || exit 1 echo echo "$info_txt applying the server_header patch for nginx" -cp $root/patches/nginx-$main_ver-server_header.patch server_header.patch || exit 1 +cp $root/patches/nginx/$main_ver/nginx-$main_ver-server_header.patch server_header.patch || exit 1 sed $"s/NGINX_VERSION \".unknown\"/NGINX_VERSION \".$minor_ver\"/" server_header.patch \ > server_header.patch.tmp && mv -f server_header.patch.tmp server_header.patch || exit 1 patch -p1 < server_header.patch || exit 1 echo -#patch -p1 < $root/patches/nginx-$main_ver-redirect_memcpy_overlap.patch || exit 1 +#patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-redirect_memcpy_overlap.patch || exit 1 echo "$info_txt applying the no_error_pages patch for nginx" -patch -p1 < $root/patches/nginx-$main_ver-no_error_pages.patch || exit 1 +patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-no_error_pages.patch || exit 1 echo echo "$info_txt applying the no_Werror patch for nginx" -patch -p1 < $root/patches/nginx-$main_ver-no_Werror.patch || exit 1 +patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-no_Werror.patch || exit 1 echo -#patch -p1 < $root/patches/nginx-$main_ver-epoll_check_stale_wev.patch || exit 1 +#patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-epoll_check_stale_wev.patch || exit 1 -#patch -p1 < $root/patches/nginx-$main_ver-request_body_in_single_buf.patch || exit 1 +#patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-request_body_in_single_buf.patch || exit 1 #echo "INFO: applying the max_subrequests patch..."; -#patch -p1 < $root/patches/nginx-$main_ver-max_subrequests.patch || exit 1 +#patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-max_subrequests.patch || exit 1 #echo "INFO: applying the subrequst_loop patch..."; -#patch -p1 -l < $root/patches/nginx-$main_ver-subrequest_loop.patch || exit 1 +#patch -p1 -l < $root/patches/nginx/$main_ver/nginx-$main_ver-subrequest_loop.patch || exit 1 #echo "INFO: applying the gzip_empty_flush_buf patch..."; -#patch -p1 -l < $root/patches/nginx-$main_ver-gzip_empty_flush_buf.patch || exit 1 +#patch -p1 -l < $root/patches/nginx/$main_ver/nginx-$main_ver-gzip_empty_flush_buf.patch || exit 1 -#patch -p1 < $root/patches/nginx-$main_ver-variable_header_ignore_no_hash.patch || exit 1 +#patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-variable_header_ignore_no_hash.patch || exit 1 #echo "applying the named_location_clear_mods_ctx patch" -#patch -p1 < $root/patches/nginx-$main_ver-named_location_clear_mods_ctx.patch || exit 1 +#patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-named_location_clear_mods_ctx.patch || exit 1 #echo "$info_txt applying the allow_request_body_updating patch for nginx" -#patch -p1 < $root/patches/nginx-$main_ver-allow_request_body_updating.patch || exit 1 +#patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-allow_request_body_updating.patch || exit 1 #echo echo "$info_txt applying the log_escape_non_ascii patch for nginx" -patch -p1 < $root/patches/nginx-$main_ver-log_escape_non_ascii.patch || exit 1 +patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-log_escape_non_ascii.patch || exit 1 echo #echo applying reset_wev_handler_in_named_locations.patch ... -#patch -p1 < $root/patches/nginx-$main_ver-reset_wev_handler_in_named_locations.patch || exit 1 +#patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-reset_wev_handler_in_named_locations.patch || exit 1 #echo applying filter_finalize_hang.patch ... -#patch -p1 < $root/patches/nginx-$main_ver-filter_finalize_hang.patch || exit 1 +#patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-filter_finalize_hang.patch || exit 1 answer=`$root/util/ver-ge "$main_ver" 1.2.3` if [ "$answer" = "N" ]; then echo "$info_txt applying the add_core_vars_polluting_globals patch for nginx" - patch -p1 < $root/patches/nginx-$main_ver-add_core_vars_polluting_globals.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-add_core_vars_polluting_globals.patch || exit 1 echo echo "$info_txt applying the resolver_debug_log_overflow patch for nginx" - patch -p1 < $root/patches/nginx-$main_ver-resolver_debug_log_overflow.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-resolver_debug_log_overflow.patch || exit 1 echo echo "$info_txt applying the poll_del_event_at_exit patch for nginx" - patch -p1 < $root/patches/nginx-$main_ver-poll_del_event_at_exit.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-poll_del_event_at_exit.patch || exit 1 echo fi #echo "INFO: applying null-character-fixes patch" -#patch -p0 < $root/patches/nginx-$main_ver-null_character_fixes.patch || exit 1 +#patch -p0 < $root/patches/nginx/$main_ver/nginx-$main_ver-null_character_fixes.patch || exit 1 -#patch -p1 < $root/patches/nginx-$main_ver-gzip_ok_invalid_read_fix.patch || exit 1 +#patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-gzip_ok_invalid_read_fix.patch || exit 1 answer=`$root/util/ver-ge "$main_ver" 1.7.9` if [ "$answer" = "N" ]; then echo "$info_txt applying the location_if_inherits_proxy patch for nginx" - patch -p1 < $root/patches/nginx-$main_ver-location_if_inherits_proxy.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-location_if_inherits_proxy.patch || exit 1 echo fi answer=`$root/util/ver-ge "$main_ver" 1.5.3` if [ "$answer" = "N" ]; then echo "$info_txt applying the upstream_truncation patch for nginx" - patch -p1 < $root/patches/nginx-$main_ver-upstream_truncation.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-upstream_truncation.patch || exit 1 echo fi answer=`$root/util/ver-ge "$main_ver" 1.5.3` if [ "$answer" = "N" ]; then echo "$info_txt applying the channel-uninit-params patch for nginx" - patch -p1 < $root/patches/nginx-$main_ver-channel-uninit-params.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-channel-uninit-params.patch || exit 1 echo fi #echo "$info_txt applying the dtrace patch for nginx" -#patch -p1 < $root/patches/nginx-$main_ver-dtrace.patch || exit 1 +#patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-dtrace.patch || exit 1 #echo answer=`$root/util/ver-ge "$main_ver" 1.2.6` if [ "$answer" = "N" ]; then echo "$info_txt applying the upstream_test_connect_kqueue patch for nginx" - patch -p1 < $root/patches/nginx-$main_ver-upstream_test_connect_kqueue.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-upstream_test_connect_kqueue.patch || exit 1 echo fi answer=`$root/util/ver-ge "$main_ver" 1.5.13` if [ "$answer" = "N" ]; then echo "$info_txt applying the slab_alloc_no_memory_as_info patch for nginx" - patch -p1 < $root/patches/nginx-$main_ver-slab_alloc_no_memory_as_info.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-slab_alloc_no_memory_as_info.patch || exit 1 echo fi answer=`$root/util/ver-ge "$main_ver" 1.2.7` if [ "$answer" = "N" ]; then echo "$info_txt applying the resolver_wev_handler_segfault_with_poll patch for nginx" - patch -p1 < $root/patches/nginx-$main_ver-resolver_wev_handler_segfault_with_poll.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-resolver_wev_handler_segfault_with_poll.patch || exit 1 echo fi answer=`$root/util/ver-ge "$main_ver" 1.2.8` if [ "$answer" = "N" ]; then echo "$info_txt applying the run_posted_requests_in_resolver patch for nginx" - patch -p1 < $root/patches/nginx-$main_ver-run_posted_requests_in_resolver.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-run_posted_requests_in_resolver.patch || exit 1 echo fi answer=`$root/util/ver-ge "$main_ver" 1.4.1` if [ "$answer" = "N" ]; then - echo "$info_txt applying patches/nginx-$main_ver-cve-2013-2070.patch for nginx" - patch -p0 < $root/patches/nginx-$main_ver-cve-2013-2070.patch || exit 1 + echo "$info_txt applying patches/nginx/$main_ver/nginx-$main_ver-cve-2013-2070.patch for nginx" + patch -p0 < $root/patches/nginx/$main_ver/nginx-$main_ver-cve-2013-2070.patch || exit 1 echo fi answer=`$root/util/ver-ge "$main_ver" 1.5.3` if [ "$answer" = "N" ]; then - echo "$info_txt applying patches/nginx-$main_ver-invalid_referer_hash.patch for nginx" - patch -p1 < $root/patches/nginx-$main_ver-invalid_referer_hash.patch || exit 1 + echo "$info_txt applying patches/nginx/$main_ver/nginx-$main_ver-invalid_referer_hash.patch for nginx" + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-invalid_referer_hash.patch || exit 1 echo fi answer=`$root/util/ver-ge "$main_ver" 1.5.3` if [ "$answer" = "N" ]; then echo "$info_txt applying the unix_socket_accept_over_read patch for nginx $ver" - patch -p1 < $root/patches/nginx-$ver-unix_socket_accept_over_read.patch || exit 1 + patch -p1 < $root/patches/nginx/$ver/nginx-$ver-unix_socket_accept_over_read.patch || exit 1 echo fi answer=`$root/util/ver-ge "$main_ver" 1.5.3` if [ "$answer" = "N" ]; then echo "$info_txt applying the gzip_buffered_bug patch for nginx $ver" - patch -p1 < $root/patches/nginx-$ver-gzip_buffered_bug.patch || exit 1 + patch -p1 < $root/patches/nginx/$ver/nginx-$ver-gzip_buffered_bug.patch || exit 1 echo fi answer=`$root/util/ver-ge "$main_ver" 1.5.7` if [ "$answer" = "N" ]; then echo "$info_txt applying the gzip_flush_bug patch for nginx $ver" - patch -p1 < $root/patches/nginx-$ver-gzip_flush_bug.patch || exit 1 + patch -p1 < $root/patches/nginx/$ver/nginx-$ver-gzip_flush_bug.patch || exit 1 echo fi answer=`$root/util/ver-ge "$main_ver" 1.7.8` if [ "$answer" = "N" ]; then echo "$info_txt applying the cache_lock_hang_in_subreq patch for nginx $ver" - patch -p1 < $root/patches/nginx-$ver-cache_lock_hang_in_subreq.patch || exit 1 + patch -p1 < $root/patches/nginx/$ver/nginx-$ver-cache_lock_hang_in_subreq.patch || exit 1 echo fi echo "$info_txt applying the proxy_host_port_vars patch for nginx $ver" -patch -p1 < $root/patches/nginx-$ver-proxy_host_port_vars.patch || exit 1 +patch -p1 < $root/patches/nginx/$ver/nginx-$ver-proxy_host_port_vars.patch || exit 1 echo echo "$info_txt applying the cache_manager_exit patch for nginx $ver" -patch -p1 < $root/patches/nginx-$ver-cache_manager_exit.patch || exit 1 +patch -p1 < $root/patches/nginx/$ver/nginx-$ver-cache_manager_exit.patch || exit 1 echo answer=`$root/util/ver-ge "$main_ver" 1.7.4` if [ "$answer" = "N" ]; then echo "$info_txt applying the proxy_ssl_handshake_timer patch for nginx $ver" - patch -p1 < $root/patches/nginx-$ver-proxy_ssl_handshake_timer.patch || exit 1 + patch -p1 < $root/patches/nginx/$ver/nginx-$ver-proxy_ssl_handshake_timer.patch || exit 1 echo fi answer=`$root/util/ver-ge "$main_ver" 1.7.4` if [ "$answer" = "N" ]; then echo "$info_txt applying the geoip_init_var_fields patch for nginx $ver" - patch -p1 < $root/patches/nginx-$ver-geoip_init_var_fields.patch || exit 1 + patch -p1 < $root/patches/nginx/$ver/nginx-$ver-geoip_init_var_fields.patch || exit 1 echo fi @@ -352,58 +352,58 @@ if [ "$answer" = "N" ]; then fi echo "$info_txt applying the larger_max_error_str patch for nginx $ver" -patch -p1 < $root/patches/nginx-$ver-larger_max_error_str.patch || exit 1 +patch -p1 < $root/patches/nginx/$ver/nginx-$ver-larger_max_error_str.patch || exit 1 echo echo "$info_txt applying the pcre_conf_opt patch for nginx $ver" -patch -p1 < $root/patches/nginx-$ver-pcre_conf_opt.patch || exit 1 +patch -p1 < $root/patches/nginx/$ver/nginx-$ver-pcre_conf_opt.patch || exit 1 echo answer=`$root/util/ver-ge "$main_ver" 1.9.2` if [ "$answer" = "N" ]; then echo "$info_txt applying the upstream_filter_finalize patch for nginx" - patch -p1 < $root/patches/nginx-$main_ver-upstream_filter_finalize.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-upstream_filter_finalize.patch || exit 1 echo fi answer=`$root/util/ver-ge "$main_ver" 1.5.9` if [ "$answer" = "N" ]; then echo "$info_txt applying the resolve-names-with-a-trailing-dot patch for nginx $ver" - patch -p1 < $root/patches/nginx-$ver-resolve-names-with-a-trailing-dot.patch || exit 1 + patch -p1 < $root/patches/nginx/$ver/nginx-$ver-resolve-names-with-a-trailing-dot.patch || exit 1 echo fi answer=`$root/util/ver-ge "$main_ver" 1.7.1` if [ "$answer" = "N" ]; then echo "$info_txt applying the setting_args_invalidates_uri patch for nginx $ver" - patch -p1 < $root/patches/nginx-$ver-setting_args_invalidates_uri.patch || exit 1 + patch -p1 < $root/patches/nginx/$ver/nginx-$ver-setting_args_invalidates_uri.patch || exit 1 echo fi answer=`$root/util/ver-ge "$main_ver" 1.7.2` if [ "$answer" = "N" ]; then echo "$info_txt applying the slab_defrag patch for nginx" - patch -p1 < $root/patches/nginx-$main_ver-slab_defrag.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-slab_defrag.patch || exit 1 echo fi answer=`$root/util/ver-ge "$main_ver" 1.7.8` if [ "$answer" = "N" ]; then echo "$info_txt applying the resolver_del_event_invalid_read patch for nginx" - patch -p1 < $root/patches/nginx-$main_ver-resolver_del_event_invalid_read.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-resolver_del_event_invalid_read.patch || exit 1 echo fi answer=`$root/util/ver-ge "$main_ver" 1.7.7` if [ "$answer" = "N" ]; then echo "$info_txt applying the hash_overflow patch for nginx" - patch -p1 < $root/patches/nginx-$main_ver-hash_overflow.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-hash_overflow.patch || exit 1 echo fi if [ "$main_ver" = "1.9.7" ]; then echo "$info_txt applying the resolver_security_fixes patch for nginx" - patch -p1 < $root/patches/nginx-$main_ver-resolver_security_fixes.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-resolver_security_fixes.patch || exit 1 echo fi @@ -462,34 +462,34 @@ if [ "$answer" = "Y" ]; then answer=`$root/util/ver-ge "$main_ver" 1.21.0` if [ "$answer" = "N" ]; then echo "$info_txt applying the patch for nginx security issue https://hackerone.com/reports/513236" - patch -p1 < $root/patches/nginx-$main_ver-static_mod_escape_loc_hdr.patch + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-static_mod_escape_loc_hdr.patch echo fi fi echo "$info_txt applying the always_enable_cc_feature_tests patch to nginx" -patch -p1 < $root/patches/nginx-$main_ver-always_enable_cc_feature_tests.patch +patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-always_enable_cc_feature_tests.patch echo echo "$info_txt applying the ssl_cert_cb_yield.patch patch to nginx" -patch -p1 < $root/patches/nginx-$main_ver-ssl_cert_cb_yield.patch +patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-ssl_cert_cb_yield.patch echo answer=`$root/util/ver-ge "$main_ver" 1.17.1` if [ "$answer" = "N" ]; then echo "$info_txt applying the ssl_pending_session.patch patch to nginx" - patch -p1 < $root/patches/nginx-$main_ver-ssl_pending_session.patch + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-ssl_pending_session.patch echo else echo "$info_txt applying the ssl_sess_cb_yield.patch patch to nginx" - patch -p1 < $root/patches/nginx-$main_ver-ssl_sess_cb_yield.patch + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-ssl_sess_cb_yield.patch echo fi answer=`$root/util/ver-ge "$main_ver" 1.19.9` if [ "$answer" = "Y" ]; then echo "$info_txt applying the ssl_client_hello_cb_yield.patch patch to nginx" - patch -p1 < $root/patches/nginx-$main_ver-ssl_client_hello_cb_yield.patch + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-ssl_client_hello_cb_yield.patch echo fi @@ -529,38 +529,38 @@ if [ "$answer" = "Y" ]; then answer=`$root/util/ver-ge "$main_ver" 1.27.4` if [ "$answer" = "N" ]; then echo "$info_txt applying the patch for nginx security advisory (CVE-2025-23419)" - patch -p1 < $root/patches/nginx-$main_ver-CVE-2025-23419.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-CVE-2025-23419.patch || exit 1 fi fi echo "$info_txt applying the upstream_timeout_fields patch for nginx" -patch -p1 < $root/patches/nginx-$main_ver-upstream_timeout_fields.patch || exit 1 +patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-upstream_timeout_fields.patch || exit 1 echo echo "$info_txt applying the safe_resolver_ipv6_option patch for nginx" -patch -p1 < $root/patches/nginx-$main_ver-safe_resolver_ipv6_option.patch || exit 1 +patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-safe_resolver_ipv6_option.patch || exit 1 echo echo "$info_txt applying the socket_cloexec patch for nginx" -patch -p1 < $root/patches/nginx-$main_ver-socket_cloexec.patch || exit 1 +patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-socket_cloexec.patch || exit 1 echo echo "$info_txt applying the reuseport_close_unused_fds patch for nginx" -patch -p1 < $root/patches/nginx-$main_ver-reuseport_close_unused_fds.patch || exit 1 +patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-reuseport_close_unused_fds.patch || exit 1 echo answer=`$root/util/ver-ge "$main_ver" 1.19.9` if [ "$answer" = "Y" ]; then echo "$info_txt applying nginx-$main_ver-proc_exit_handler patch for nginx" - patch -p1 < $root/patches/nginx-$main_ver-proc_exit_handler.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-proc_exit_handler.patch || exit 1 fi answer=`$root/util/ver-ge "$main_ver" 1.27.1` if [ "$answer" = "Y" ]; then echo "$info_txt applying nginx-$main_ver-stream_proxy_protocol_v2 patch for nginx" - patch -p1 < $root/patches/nginx-$main_ver-stream_proxy_protocol_v2.patch || exit 1 + patch -p1 < $root/patches/nginx/$main_ver/nginx-$main_ver-stream_proxy_protocol_v2.patch || exit 1 fi cp $root/html/index.html docs/html/ || exit 1 @@ -568,7 +568,7 @@ cp $root/html/50x.html docs/html/ || exit 1 cd .. || exit 1 -cp $root/patches/nginx-$main_ver-no_pool.patch ./nginx-no_pool.patch || exit 1 +cp $root/patches/nginx/$main_ver/nginx-$main_ver-no_pool.patch ./nginx-no_pool.patch || exit 1 sed $"s/NGINX_VERSION \".unknown/NGINX_VERSION \".$minor_ver/" \ ./nginx-no_pool.patch > ./nginx-no_pool.patch.tmp && \ mv ./nginx-no_pool.patch.tmp ./nginx-no_pool.patch \ diff --git a/util/upgrade-patches.pl b/util/upgrade-patches.pl index 9699baa..fd8cdea 100755 --- a/util/upgrade-patches.pl +++ b/util/upgrade-patches.pl @@ -6,11 +6,14 @@ use warnings; my $ver = shift or usage(); my $newver = shift or usage(); +my $newdir = "patches/nginx/$newver"; +system("mkdir -p $newdir") == 0 or die "failed to create directory $newdir: $!\n"; my @files = `find patches -name '*.patch'`; for my $file (@files) { chomp $file; - next unless $file =~ m{^patches/nginx-(?:$ver|$newver)-}; - (my $newfile = $file) =~ s/nginx-$ver-/nginx-$newver-/g; + next unless $file =~ m{^patches/nginx/(?:$ver|$newver)/nginx-(?:$ver|$newver)-}; + (my $newfile = $file) =~ s{nginx/$ver/}{nginx/$newver/}g; + $newfile =~ s/nginx-$ver-/nginx-$newver-/g; if ($newfile ne $file && !-f $newfile) { my $cmd = "cp $file $newfile"; system($cmd) == 0 @@ -46,4 +49,3 @@ sub version_to_int { $ver =~ s/\.(\d+)/sprintf("%03d", $1)/eg; $ver } -