diff --git a/docs/patches/staging.yml b/docs/patches/staging.yml new file mode 100644 index 00000000000..41e1f5a2956 --- /dev/null +++ b/docs/patches/staging.yml @@ -0,0 +1,37 @@ +Compiler_Warnings: [] +api-ms-win-Stub_DLLs: + kernel32-Processor_Group: [] +d3d9-DesktopWindow: [] +ddraw-Rendering_Targets: [] +ddraw-Silence_FIXMEs: [] +dinput-Deadlock: [] +dsound-Fast_Mixer: [] +gdi32-Lazy_Font_Initialization: [] +gdi32-MultiMonitor: [] +gdiplus-Performance-Improvements: [] +iphlpapi-System_Ping: [] +kernel32-K32GetPerformanceInfo: [] +kernel32-NormalizeString: + libs-Unicode_Collation: [] +kernel32-SCSI_Sysfs: [] +ntdll-APC_Performance: [] +ntdll-CriticalSection: [] +ntdll-ThreadTime: + server-Realtime_Priority: [] +ntdll-Threading ntdll-Wait_User_APC server-Key_State server-PeekMessage server-ClipCursor server-Signal_Thread: + server-Shared_Memory: [] +setupapi-Display_Device: [] +shell32-IconCache: [] +user32-minimized_windows: [] +windowscodecs-GIF_Encoder: + windowscodecs-TIFF_Support: + windowscodecs-32bppPRGBA: [] +wined3d-Accounting: [] +wined3d-WINED3D_RS_COLORWRITEENABLE: + wined3d-Indexed_Vertex_Blending: [] +wined3d-WINED3D_TEXF_ANISOTROPIC: [] +wined3d-WINED3DFMT_B8G8R8X8_UNORM: + wined3d-DXTn: + d3dx9_36-DXTn: [] +winepulse-PulseAudio_Support: [] +ws2_32-APC_Performance: [] diff --git a/tools/mkpatchlist.rb b/tools/mkpatchlist.rb new file mode 100755 index 00000000000..ee11b0856ba --- /dev/null +++ b/tools/mkpatchlist.rb @@ -0,0 +1,38 @@ +#!/usr/bin/env ruby + +require 'yaml' + +# Dependency walker to expand each patch series into a list of patch files +class Dependencies + + def self.expand_patch series + series.split.each do |source_directory| + dir = File.join "patches", source_directory + files = File.join dir, "*.patch" + puts "# expanded from #{files}" + begin + definition = File.join dir, "definition" + File.read(definition).each_line do |line| + next if line =~ /^(#|Depends:)/ + puts "# #{line}" + end + rescue Errno::ENOENT + end + puts Dir.glob(files).sort + puts "" + end + end + + def self.walk dependency_tree + dependency_tree.each_pair do |series,wanted_by| + expand_patch series + walk wanted_by unless wanted_by.empty? + end + end +end + +patches = Dir.glob('docs/patches/*.yml').inject({}) do |all,series| + all.merge! YAML.load_file(series) +end + +Dependencies.walk patches