mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-06 17:16:12 +00:00
7e90669bec
Bug #358454 r=justdave
175 lines
4.7 KiB
Makefile
Executable File
175 lines
4.7 KiB
Makefile
Executable File
#!gmake
|
|
#
|
|
# The contents of this file are subject to the Netscape Public
|
|
# License Version 1.1 (the "License"); you may not use this file
|
|
# except in compliance with the License. You may obtain a copy of
|
|
# the License at http://www.mozilla.org/NPL/
|
|
#
|
|
# Software distributed under the License is distributed on an "AS
|
|
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
|
# implied. See the License for the specific language governing
|
|
# rights and limitations under the License.
|
|
#
|
|
# The Original Code is the Tinderbox build tool.
|
|
#
|
|
# The Initial Developer of the Original Code is Netscape Communications
|
|
# Corporation. Portions created by Netscape are
|
|
# Copyright (C) 1998 Netscape Communications Corporation. All
|
|
# Rights Reserved.
|
|
#
|
|
# Contributor(s):
|
|
|
|
|
|
# This Makefile helps you install Tinderbox.
|
|
# Set the variables below to their proper locations.
|
|
# TINDERBOX_DIR is the full path to where you want to install tinderbox
|
|
# BONSAI_DIR is the full path to your local bonsai installation
|
|
# BONSAI_URL is the root URL to your bonsai install (e.g. ../bonsai)
|
|
# The other variables contain full paths to the utitlies required to
|
|
# use tinderbox.
|
|
|
|
# Then "make install" should copy the files to the tinderbox location
|
|
# specified by TINDERBOX_DIR
|
|
|
|
# Begin SERVER_CONFIGURATION
|
|
|
|
#TINDERBOX_DIR = /var/www/html/tinderbox
|
|
#USE_BONSAI = 1
|
|
#BONSAI_DIR = /var/www/html/bonsai
|
|
#BONSAI_URL = /bonsai
|
|
#REGISTRY_URL = /registry
|
|
|
|
# Set these to the user/group that will run the tinderbox processes
|
|
#TINDERBOX_USER = tinderbox
|
|
#TINDERBOX_GROUP = tinderbox
|
|
|
|
#CVSROOT = /cvsroot
|
|
#PERL = /usr/bin/perl
|
|
|
|
SETUID_PATH = '/usr/bin:/bin'
|
|
|
|
# End SERVER_CONFIGURATION
|
|
|
|
ALL_UTILS = PERL
|
|
|
|
EXE_FILES = \
|
|
addimage.cgi \
|
|
addnote.cgi \
|
|
admintree.cgi \
|
|
buildwho.pl \
|
|
clean.pl \
|
|
checksetup.pl \
|
|
doadmin.cgi \
|
|
fixupimages.pl \
|
|
scrape.pl \
|
|
showbuilds.cgi \
|
|
showimages.cgi \
|
|
showlog.cgi \
|
|
warnings.pl \
|
|
$(NULL)
|
|
|
|
SETUID_SCRIPTS = \
|
|
handlemail.pl \
|
|
processbuild.pl \
|
|
$(NULL)
|
|
|
|
FILES = \
|
|
Backwards.pm \
|
|
ep_mac.pl \
|
|
ep_unix.pl \
|
|
ep_windows.pl \
|
|
header.pl \
|
|
imagelog.pl \
|
|
showbuilds.pl \
|
|
tbglobals.pl \
|
|
viewvc.pl \
|
|
Empty.html \
|
|
faq.html \
|
|
index.html \
|
|
examples/buildit.config \
|
|
examples/mozilla-unix.pl \
|
|
examples/mozilla-windows.pl \
|
|
$(NULL)
|
|
|
|
PICS = \
|
|
1afi003r.gif \
|
|
star.gif \
|
|
$(NULL)
|
|
|
|
# Sanity check
|
|
ifeq (,$(strip $(TINDERBOX_DIR)))
|
|
$(error TINDERBOX_DIR must be set to the tinderbox install location)
|
|
endif
|
|
ifeq (,$(strip $(TINDERBOX_USER)))
|
|
$(error TINDERBOX_USER must be set to the user that the tinderbox processes run as)
|
|
endif
|
|
ifeq (,$(strip $(TINDERBOX_GROUP)))
|
|
$(error TINDERBOX_GROUP must be set to the group that the tinderbox processes run as)
|
|
endif
|
|
|
|
ifdef USE_BONSAI
|
|
ifeq (,$(strip $(BONSAI_DIR)))
|
|
$(error BONSAI_DIR must be set for bonsai support to work)
|
|
endif
|
|
ifeq (,$(strip $(BONSAI_URL)))
|
|
$(error BONSAI_URL must be set for bonsai support to work)
|
|
endif
|
|
ifeq (,$(strip $(REGISTRY_URL)))
|
|
$(error REGISTRY_URL must be set for bonsai support to work)
|
|
endif
|
|
endif
|
|
|
|
# Avoid warnings in various scripts by setting BONSAI_DIR to a secure default
|
|
BONSAI_DIR ?= $(TINDERBOX_DIR)
|
|
|
|
install:
|
|
$(foreach u,$(ALL_UTILS),$(if $($u),,$(error $u must be set to the full path of the utility)))
|
|
mkdir -p $(TINDERBOX_DIR)/examples
|
|
set -e ; \
|
|
for I in $(FILES) $(EXE_FILES) $(SETUID_SCRIPTS); do \
|
|
echo Installing $$I && \
|
|
sed -e s#/usr/bonsaitools/bin/perl#$(PERL)#g \
|
|
-e s#@CVSROOT@#$(CVSROOT)#g \
|
|
-e s#@BONSAI_DIR@#$(BONSAI_DIR)#g \
|
|
-e s#@BONSAI_URL@#$(BONSAI_URL)#g \
|
|
-e s#@REGISTRY_URL@#$(REGISTRY_URL)#g \
|
|
-e s#@TINDERBOX_DIR@#$(TINDERBOX_DIR)#g \
|
|
-e s#@SETUID_PATH@#$(SETUID_PATH)#g \
|
|
$$I > $(TINDERBOX_DIR)/$$I && \
|
|
chmod 644 $(TINDERBOX_DIR)/$$I; \
|
|
done
|
|
chmod 755 $(addprefix $(TINDERBOX_DIR)/,$(EXE_FILES))
|
|
chmod 4755 $(addprefix $(TINDERBOX_DIR)/,$(SETUID_SCRIPTS))
|
|
set -e ; \
|
|
for I in $(PICS); do \
|
|
echo Installing $$I && \
|
|
cp $$I $(TINDERBOX_DIR) && \
|
|
chmod 644 $(TINDERBOX_DIR)/$$I; \
|
|
done
|
|
mkdir -p $(TINDERBOX_DIR)/data/bad
|
|
chown -R $(TINDERBOX_USER) $(TINDERBOX_DIR)
|
|
chgrp -R $(TINDERBOX_GROUP) $(TINDERBOX_DIR)
|
|
chmod 755 $(TINDERBOX_DIR)
|
|
chmod 770 $(TINDERBOX_DIR)/data
|
|
chmod 770 $(TINDERBOX_DIR)/data/bad
|
|
chmod 770 $(TINDERBOX_DIR)/examples
|
|
|
|
define READPASS
|
|
$(PERL) -e ' \
|
|
use Digest::MD5 qw(md5_hex); \
|
|
use Term::ReadKey; \
|
|
open(PASSWD, ">$1") or die "$1:$$!\n"; \
|
|
print "Enter the new admin password: "; \
|
|
ReadMode("noecho"); \
|
|
chomp($$pass = ReadLine(0)); \
|
|
print "\n"; \
|
|
ReadMode(0); \
|
|
print PASSWD md5_hex($$pass); \
|
|
close(PASSWD);'
|
|
endef
|
|
|
|
genpasswd:
|
|
@$(call READPASS,$(TINDERBOX_DIR)/data/passwd)
|
|
@chown $(TINDERBOX_USER) $(TINDERBOX_DIR)/data/passwd
|
|
@chgrp $(TINDERBOX_USER) $(TINDERBOX_DIR)/data/passwd
|