1#************************************************************** 2# 3# Licensed to the Apache Software Foundation (ASF) under one 4# or more contributor license agreements. See the NOTICE file 5# distributed with this work for additional information 6# regarding copyright ownership. The ASF licenses this file 7# to you under the Apache License, Version 2.0 (the 8# "License"); you may not use this file except in compliance 9# with the License. You may obtain a copy of the License at 10# 11# http://www.apache.org/licenses/LICENSE-2.0 12# 13# Unless required by applicable law or agreed to in writing, 14# software distributed under the License is distributed on an 15# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16# KIND, either express or implied. See the License for the 17# specific language governing permissions and limitations 18# under the License. 19# 20#************************************************************** 21 22package installer::patch::Tools; 23 24=head1 NAME 25 26 package installer::patch::Tools - Collection of functions that don't fit anywhere else 27 28=cut 29 30 31 32 33=head2 ToEscapedWindowsPath ($path) 34 35 Convert the given path with the 'cygpath' command into Windows format. Quote backslashes. 36 37=cut 38sub ToEscapedWindowsPath($) 39{ 40 my ($path) = @_; 41 42 my $windows_path = qx(cygpath -w "$path"); 43 $windows_path =~ s/(^\s+|\s+$)//g; 44 $windows_path =~ s/\\/\\\\/g; 45 46 return $windows_path; 47} 48 49 50 51 52sub ToWindowsPath ($) 53{ 54 my ($path) = @_; 55 56 my $windows_path = qx(cygpath -w "$path"); 57 $windows_path =~ s/(^\s+|\s+$)//g; 58 59 return $windows_path; 60} 61 62 63# TODO: Is there a touch in a standard library? 64sub touch ($) 65{ 66 my ($filename) = @_; 67 68 open my $out, ">", $filename; 69 close $out; 70} 71 72 73 74 75 761; 77