Skip to content

Commit

Permalink
Ensure omnibus on windows can be rebuilt multiple times
Browse files Browse the repository at this point in the history
  • Loading branch information
adfoster-r7 committed May 11, 2024
1 parent 0008a23 commit 01a4720
Showing 1 changed file with 18 additions and 1 deletion.
19 changes: 18 additions & 1 deletion config/software/metasploit-framework.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,17 @@
name "metasploit-framework"

# Detect a local checkout of metasploit-framework at '../metasploit-framework' - i.e. for the scenario of:
# - c:/temp/metasploit-omnibus
# - c:/temp/metasploit-framework (A local checkout of framework to use during the build process)
# but try and use 'C:/metasploit-framework' - as that's the metasploit-omnibus artifacts output directory
def has_windows_metasploit_framework_repo?
windows? && File.exist?('../metasploit-framework') && File.expand_path(File.join(Dir.pwd, "..", "metasploit-framework")) != "c:/metasploit-framework"
end

if linux? && File.exist?("/metasploit-framework")
# supply current version of metasploit-framework at root of filesystem
source path: "/metasploit-framework"
elsif windows? && File.exist?('../metasploit-framework')
elsif has_windows_metasploit_framework_repo?
# supply current version of metasploit-framework relative to the current directory
source path: "../metasploit-framework"
else
Expand Down Expand Up @@ -154,4 +163,12 @@
end
end
end

# Workaround for a Windows bug with chef r7_9.0.23_custom that allows the `.git` folders through
# into the final build result, leading to the .exe being an extra 1gb in size
block do
self.project.exclusions.each do |exclusion|
Pathname(install_dir).glob(exclusion).each(&:rmtree)
end
end
end

0 comments on commit 01a4720

Please sign in to comment.