Hi,
I have submitted a patch for review:
https://gerrit.libreoffice.org/3527
To pull it, you can do:
git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/27/3527/1
allow odk/util/check.pl to use two base dirs
This is in preparation for my plan to move stuff out of odkcommon.zip
and install it using filelists. The moved files will be in
$(INSTDIR)/sdk, not in the Zip's workdir, so we must look for them in
both places.
Change-Id: I7dd224c9067f2dbb522b87b7057ddc02a5fa0cad
---
M odk/CustomTarget_check.mk
M odk/util/check.pl
2 files changed, 51 insertions(+), 34 deletions(-)
diff --git a/odk/CustomTarget_check.mk b/odk/CustomTarget_check.mk
index cdc83dc..ae23d3d 100644
--- a/odk/CustomTarget_check.mk
+++ b/odk/CustomTarget_check.mk
@@ -25,10 +25,14 @@
$(if $(filter MACOSX,$(OS)),macosx,\
$(if $(filter AIX,$(OS)),aix))))))))
-$(call gb_CustomTarget_get_workdir,odk/check)/checkbin: $(SRCDIR)/odk/util/check.pl $(call
gb_CustomTarget_get_target,odk/odkcommon)
+$(call gb_CustomTarget_get_workdir,odk/check)/checkbin : \
+ $(SRCDIR)/odk/util/check.pl \
+ $(call gb_CustomTarget_get_target,odk/odkcommon)
$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),CHK,1)
touch $@
- $(PERL) $< $(call gb_CustomTarget_get_workdir,odk/odkcommon) \
+ $(PERL) $< \
+ $(INSTDIR)/$(gb_Package_SDKDIRNAME) \
+ $(call gb_CustomTarget_get_workdir,odk/odkcommon) \
$(odk_PLATFORM) "$(gb_Exectable_EXT)" $@
cat $@
diff --git a/odk/util/check.pl b/odk/util/check.pl
index 5c57cbc..c1288a9 100644
--- a/odk/util/check.pl
+++ b/odk/util/check.pl
@@ -23,16 +23,29 @@
$return = 0;
-$StartDir = "$ARGV[0]";
-$OperatingSystem = "$ARGV[1]";
-$ExePrefix = "$ARGV[2]";
+$PrimaryDir = "$ARGV[0]";
+$SecondaryDir = "$ARGV[1]";
+$OperatingSystem = "$ARGV[2]";
+$ExePrefix = "$ARGV[3]";
+
+sub check_file
+{
+ my ($file) = @_;
+ return -e "$PrimaryDir/$file" || -e "$SecondaryDir/$file";
+}
+
+sub check_dir
+{
+ my ($dir) = @_;
+ return -d "$PrimaryDir/$dir" || -d "$SecondaryDir/$dir";
+}
print "Check for $OperatingSystem\n";
-if (-d "$StartDir") {
+if (-d "$PrimaryDir" || -d "$SecondaryDir") {
# check binaries
print "check binaries: ";
- if (-d "$StartDir/bin") {
+ if (check_dir("bin")) {
my @binarylist = ( "idlc","cppumaker","javamaker",
"regcompare","autodoc",
"unoapploader", "uno-skeletonmaker" );
@@ -42,7 +55,7 @@
foreach $i (@binarylist)
{
- if (! -e "$StartDir/bin/$i$ExePrefix") {
+ if (!check_file("bin/$i$ExePrefix")) {
$return++;
print "\nERROR: \"$StartDir/bin/$i$ExePrefix\" is missing\n";
} else {
@@ -51,7 +64,7 @@
}
if ($OperatingSystem eq "windows" || $OperatingSystem eq "mingw") {
- if ($OperatingSystem eq "windows" && ! -e "$StartDir/bin/climaker.exe") {
+ if ($OperatingSystem eq "windows" && !check_file("bin/climaker.exe")) {
$return++;
print "\nERROR: \"$StartDir/bin/climaker.exe\" is missing\n";
} else {
@@ -59,7 +72,7 @@
}
}
if ($OperatingSystem eq "macosx") {
- if (! -e "$StartDir/bin/addsym-macosx.sh") {
+ if (!check_file("bin/addsym-macosx.sh")) {
$return++;
print "\nERROR: \"$StartDir/bin/addsym-macosx.sh\" is missing\n";
} else {
@@ -73,7 +86,7 @@
# packaging files
print "check packaging files: ";
- if (-d "$StartDir/docs") {
+ if (check_dir("docs")) {
my @filelist = ( "install.html",
"notsupported.html","sdk_styles.css","tools.html",
"images/arrow-1.gif", "images/arrow-3.gif",
@@ -90,7 +103,7 @@
foreach $i (@filelist)
{
- if (! -e "$StartDir/docs/$i") {
+ if (!check_file("docs/$i")) {
$return++;
print "\nERROR: \"$StartDir/docs/$i\" is missing\n";
} else {
@@ -105,36 +118,36 @@
#check configure files
print "check config files: ";
if ($OperatingSystem eq "windows" || $OperatingSystem eq "mingw") {
- if (! -e "$StartDir/setsdkenv_windows.bat") {
+ if (!check_file("setsdkenv_windows.bat")) {
print "\nERROR: \"$StartDir/setsdkenv_windows.bat\" is missing\n";
$return++;
}
- if (! -e "$StartDir/setsdkenv_windows.template") {
+ if (!check_file("setsdkenv_windows.template")) {
print "\nERROR: \"$StartDir/setsdkenv_windows.template\" is missing\n";
$return++;
}
- if (! -e "$StartDir/cfgWin.js") {
+ if (!check_file("cfgWin.js")) {
print "\nERROR: \"$StartDir/cfgWin.js\" is missing\n";
$return++;
}
} else {
- if (! -e "$StartDir/configure.pl") {
+ if (!check_file("configure.pl")) {
print "\nERROR: \"$StartDir/configure.pl\" is missing\n";
$return++;
}
- if (! -e "$StartDir/config.guess") {
+ if (!check_file("config.guess")) {
print "\nERROR: \"$StartDir/config.guess\" is missing\n";
$return++;
}
- if (! -e "$StartDir/config.sub") {
+ if (!check_file("config.sub")) {
print "\nERROR: \"$StartDir/config.sub\" is missing\n";
$return++;
}
- if (! -e "$StartDir/setsdkenv_unix") {
+ if (!check_file("setsdkenv_unix")) {
print "\nERROR: \"$StartDir/setsdkenv_unix\" is missing\n";
$return++;
}
- if (! -e "$StartDir/setsdkenv_unix.sh.in") {
+ if (!check_file("setsdkenv_unix.sh.in")) {
print "\nERROR: \"$StartDir/setsdkenv_unix.sh.in\" is missing\n";
$return++;
}
@@ -143,16 +156,16 @@
#check setting files
print "check setting files: ";
- if (-d "$StartDir/settings") {
- if (! -e "$StartDir/settings/settings.mk") {
+ if (check_dir("settings")) {
+ if (!check_file("settings/settings.mk")) {
print "\nERROR: \"$StartDir/settings/settings.mk\" is missing\n";
$return++;
}
- if (! -e "$StartDir/settings/std.mk") {
+ if (!check_file("settings/std.mk")) {
print "\nERROR: \"$StartDir/settings/std.mk\" is missing\n";
$return++;
}
- if (! -e "$StartDir/settings/stdtarget.mk") {
+ if (!check_file("settings/stdtarget.mk")) {
print "\nERROR: \"$StartDir/settings/stdtarget.mk\" is missing\n";
$return++;
}
@@ -165,8 +178,8 @@
# improvement required
if ($ENV{'DOXYGEN'} ne '') {
print "check cpp docu: ";
- if (-d "$StartDir/docs/cpp/ref") {
- if (! -e "$StartDir/docs/cpp/ref/index.html") {
+ if (check_dir("docs/cpp/ref")) {
+ if (!check_file("docs/cpp/ref/index.html")) {
print "\nERROR: \"$StartDir/docs/cpp/ref/index.html\" is missing\n";
$return++;
}
@@ -182,8 +195,8 @@
my $JDK = $ENV{"JDK"};
if (defined($solar_java) && $solar_java ne "" && (!defined($JDK) || $JDK ne "gcj")) {
print "check java docu: ";
- if (-d "$StartDir/docs/java/ref") {
- if (! -e "$StartDir/docs/java/ref/index.html") {
+ if (check_dir("docs/java/ref")) {
+ if (!check_file("docs/java/ref/index.html")) {
print "\nERROR: \"$StartDir/docs/java/ref/index.html\" is missing\n";
$return++;
}
@@ -194,7 +207,7 @@
foreach $i (@dir_list)
{
- if (! -d "$StartDir/docs/java/ref/com/sun/star/$i") {
+ if (!check_dir("docs/java/ref/com/sun/star/$i")) {
$return++;
print "\nERROR: \"$StartDir/docs/java/ref/com/sun/star/$i\" is missing\n";
} else {
@@ -210,16 +223,16 @@
#check idl docu, it is only a first and simple check
# improvement required
print "check idl docu: ";
- if (-d "$StartDir/docs/common/ref") {
- if (! -e "$StartDir/docs/common/ref/module-ix.html") {
+ if (check_dir("docs/common/ref")) {
+ if (!check_file("docs/common/ref/module-ix.html")) {
print "\nERROR: \"$StartDir/docs/common/ref/module-ix.html\" is missing\n";
$return++;
}
- if (! -d "$StartDir/docs/common/ref/index-files") {
+ if (!check_dir("docs/common/ref/index-files")) {
print "\nERROR: \"$StartDir/docs/common/ref/index-files\" is missing\n";
$return++;
}
- if (! -e "$StartDir/docs/common/ref/index-files/index-10.html") {
+ if (!check_file("docs/common/ref/index-files/index-10.html")) {
print "\nERROR: \"$StartDir/docs/common/ref/index-files/index-10.html\" is missing\n";
$return++;
}
@@ -335,7 +348,7 @@
foreach $i (@idl_dirlist)
{
- if (! -d "$StartDir/docs/common/ref/com/sun/star/$i") {
+ if (!check_dir("docs/common/ref/com/sun/star/$i")) {
$return++;
print "\nERROR: \"$StartDir/docs/common/ref/com/sun/star/$i\" is missing\n";
} else {
--
To view, visit https://gerrit.libreoffice.org/3527
To unsubscribe, visit https://gerrit.libreoffice.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I7dd224c9067f2dbb522b87b7057ddc02a5fa0cad
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: David Tardon <dtardon@redhat.com>
Context
- [PATCH] allow odk/util/check.pl to use two base dirs · David Tardon (via Code Review)
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.