# quick Mediawiki backport
+# use tests/scripts/manage-cowbuilder.sh before building
MAJOR=1.19.2
MINOR=2
VERS=$(MAJOR)-$(MINOR)
+BUILDERDIR:=$(shell ../../tests/scripts/builder_get_config.sh BUILDERDIR)
+DIST=wheezy
+COWBUILDERCONFIG=$(BUILDERDIR)/config/$(DIST).config
include $(COWBUILDERCONFIG)
+REPOPATH:=$(shell ../../tests/scripts/builder_get_config.sh REPOPATH)
-DSCFILE=http://ftp.de.debian.org/debian/pool/main/m/mediawiki/mediawiki_$(VERS).dsc
+DSCFILE=mediawiki_$(VERS).dsc
+DSCURL=http://ftp.de.debian.org/debian/pool/main/m/mediawiki/$(DSCFILE)
DIST=wheezy
ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH 2>/dev/null)
-CHANGEFILEM=mediawiki_$(VERS)_$(ARCH).changes
-
-$(BUILDRESULT)/$(CHANGEFILEM): $(BUILDPLACE)/mediawiki_$(VERS).dsc
- sudo cowbuilder --configfile $(COWBUILDERCONFIG) --buildresult $(BUILDRESULT) --buildplace $(BUILDPLACE) --build $(BUILDPLACE)/mediawiki_$(VERS).dsc
- reprepro -Vb ${REPOPATH} --ignore=wrongdistribution --ignore=missingfile include $(DIST) $@
-
-pdebuild: $(BUILDPLACE)/mediawiki-$(MAJOR)
- cd $(BUILDPLACE)/mediawiki-$(MAJOR) ; pdebuild --configfile $(COWBUILDERCONFIG) --buildresult $(BUILDRESULT)
+CHANGEFILE=mediawiki_$(VERS)_$(ARCH).changes
-mediawiki-$(MAJOR): $(BUILDPLACE)/mediawiki_$(VERS).dsc
- cd $(BUILDPLACE) ; dpkg-source -x mediawiki_$(VERS).dsc
- cd $(BUILDPLACE) ; sed -i -e "1s/unstable/$(DIST)/" $@/debian/changelog
+$(BUILDRESULT)/$(CHANGEFILE): $(BUILDPLACE)/$(DSCFILE)
+ sudo cowbuilder --configfile $(COWBUILDERCONFIG) --build $(BUILDPLACE)/$(DSCFILE)
+ [ ! -d $(REPOPATH) ] || reprepro -Vb $(REPOPATH) --ignore=wrongdistribution --ignore=missingfile include $(DIST) $@
-$(BUILDPLACE)/mediawiki_$(VERS).dsc: $(BUILDPLACE)
- cd $(BUILDPLACE) ; dget -d $(DSCFILE)
+$(BUILDPLACE)/$(DSCFILE): $(BUILDPLACE)
+ cd $(BUILDPLACE) ; dget -d $(DSCURL)
-#
-# http://seleniumhq.org/
-# http://seleniumhq.org/projects/remote-control/
-# http://selenium.googlecode.com/svn/trunk/remote/server/
-# see tests/func/README.TXT
-#
+# use tests/scripts/manage-cowbuilder.sh before building#
-S_VERSION=2.21.0
-DIST=wheezy
-ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH 2>/dev/null)
-
-DSCFILE=selenium_$(S_VERSION)-1.dsc
-CHANGEFILE=selenium_$(S_VERSION)-1_$(ARCH).changes
-
-
-run: selenium-server.jar
- LANG=C java -jar selenium-server.jar -interactive
-
-selenium-server.jar: Makefile
- wget -O - http://selenium.googlecode.com/files/selenium-server-standalone-$(S_VERSION).jar > $@
-
-selenium/selenium-server.jar: Makefile
- wget -O - http://selenium.googlecode.com/files/selenium-server-standalone-$(S_VERSION).jar > $@
+include selenium.include
-svnexport:
- svn export http://selenium.googlecode.com/svn/trunk/remote/server selenium-server
- #svn export http://selenium.googlecode.com/svn/trunk selenium
-
-getpackage:
- sudo apt-get install maven-debian-helper
-
-getselenium: selenium-server.jar
-
-clean:
- rm -f selenium/selenium-server.jar selenium-server.jar
-
-botbuild: getselenium
+BUILDERDIR:=$(shell ../../tests/scripts/builder_get_config.sh BUILDERDIR)
+DIST=wheezy
+COWBUILDERCONFIG=$(BUILDERDIR)/config/$(DIST).config
+include $(COWBUILDERCONFIG)
+REPOPATH:=$(shell ../../tests/scripts/builder_get_config.sh REPOPATH)
-botclean:
- @echo "Nothing to do"
+ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH 2>/dev/null)
+DSCFILE=selenium_$(VERS).dsc
+CHANGEFILE=selenium_$(VERS)_$(ARCH).changes
-buildpackage: $(BUILDRESULT)/$(CHANGEFILE)
+$(BUILDRESULT)/$(CHANGEFILE): $(BUILDPLACE)/$(DSCFILE)
+ sudo cowbuilder --configfile $(COWBUILDERCONFIG) --build $(BUILDPLACE)/$(DSCFILE)
+ [ ! -d $(REPOPATH) ] || reprepro -Vb $(REPOPATH) --ignore=wrongdistribution --ignore=missingfile include $(DIST) $@
-$(DSCFILE): selenium/selenium-server.jar
- dpkg-source -b selenium
+$(BUILDPLACE)/$(DSCFILE): $(BUILDPLACE)/selenium/selenium-server.jar
+ cd $(BUILDPLACE) ; dpkg-source -b selenium
-$(BUILDRESULT)/$(CHANGEFILE): $(DSCFILE)
- sudo cowbuilder --configfile $(COWBUILDERCONFIG) --buildresult $(BUILDRESULT) --build $(DSCFILE)
+$(BUILDPLACE)/selenium/selenium-server.jar: $(BUILDPLACE)/selenium/debian
+ [ -d $@ ] || wget -O - $(SELENIUMURL) > $@
+$(BUILDPLACE)/selenium/debian:
+ [ -d $@ ] || cp -r selenium $(BUILDPLACE)
--- /dev/null
+# use tests/scripts/manage-cowbuilder.sh before building#
+
+include selenium.include
+
+BUILDERDIR:=$(shell ../../tests/scripts/builder_get_config.sh BUILDERDIR)
+DIST=wheezy
+COWBUILDERCONFIG=$(BUILDERDIR)/config/$(DIST).config
+include $(COWBUILDERCONFIG)
+REPOPATH:=$(shell ../../tests/scripts/builder_get_config.sh REPOPATH)
+
+ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH 2>/dev/null)
+DSCFILE=selenium_$(VERS).dsc
+CHANGEFILE=selenium_$(VERS)_$(ARCH).changes
+
+RPMBUILD=rpmbuild --quiet --define='_topdir $(BUILDRESULT)' --define='_tmppath %{_topdir}' --define='_sysconfdir /etc'
+# --define='_rpmdir $(BUILDRESULT)'
+# --define='_sourcedir $(BUILDRESULT)'
+
+$(BUILDRESULT)/$(CHANGEFILE): $(BUILDPLACE)/$(DSCFILE)
+ sudo cowbuilder --configfile $(COWBUILDERCONFIG) --build $(BUILDPLACE)/$(DSCFILE)
+ [ ! -d $(REPOPATH) ] || reprepro -Vb $(REPOPATH) --ignore=wrongdistribution --ignore=missingfile include $(DIST) $@
+
+$(BUILDPLACE)/$(DSCFILE): $(BUILDPLACE)/selenium/selenium-server.jar
+ cd $(BUILDPLACE) ; dpkg-source -b selenium
+
+$(BUILDPLACE)/selenium/selenium-server.jar: $(BUILDPLACE)/selenium/debian
+ [ -d $@ ] || wget -O - $(SELENIUMURL) > $@
+
+$(BUILDPLACE)/selenium/debian:
+ [ -d $@ ] || cp -r selenium $(BUILDPLACE)
+
+# Get the source code (TODO)
+svnexport:
+ svn export http://selenium.googlecode.com/svn/trunk/remote/server selenium-server
+ #svn export http://selenium.googlecode.com/svn/trunk selenium
+
+rpm: $(BUILDPLACE)/selenium/selenium-server.jar
+ [ -d $(BUILDRESULT)/SPEC ] || mkdir $(BUILDRESULT)/SPEC
+ cp selenium.spec $(BUILDRESULT)/SPEC
+ cp $(BUILDPLACE)/selenium/selenium-server.jar $(BUILDRESULT)/SPEC
+ cd $(BUILDRESULT)/SPEC ; $(RPMBUILD) --quiet --clean -ba selenium.spec
--- /dev/null
+#
+#
+# http://seleniumhq.org/
+# http://seleniumhq.org/projects/remote-control/
+# http://selenium.googlecode.com/svn/trunk/remote/server/
+# see tests/func/README.TXT
+# Get the source code (TODO)
+# #svn export http://selenium.googlecode.com/svn/trunk/remote/server selenium-server
+# svn export http://selenium.googlecode.com/svn/trunk selenium
+#
+
+MAJOR=2.21.0
+MINOR=1
+SELENIUMURL=http://selenium.googlecode.com/files/selenium-server-standalone-$(MAJOR).jar
+
+VERS=$(MAJOR)-$(MINOR)
+
--- /dev/null
+Name: selenium
+Version: 2.21.0
+Release: 2
+Summary: Selenium server Jar
+License: Apache 2.0
+
+#%define _rpmdir ../
+%define _rpmdir %{_topdir}/RPMS/
+%define _rpmfilename %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm
+%define _unpackaged_files_terminate_build 0
+
+%description
+Not a real package, only contains selenium server jar
+
+%files
+%dir "/"
+%dir "/usr/"
+%dir "/usr/share/"
+%dir "/usr/share/selenium/"
+"/usr/share/selenium/selenium-server.jar"
+
+%install
+[ -d $RPM_BUILD_ROOT%{_datadir}/selenium/ ] || mkdir -p $RPM_BUILD_ROOT%{_datadir}/selenium/
+%{__cp} %{_topdir}/SPEC/selenium-server.jar $RPM_BUILD_ROOT%{_datadir}/selenium/
REMOTESELENIUM=true
KEEPVM=true
BUILDERDIR=/data/pbuilder
+
+# Debian 3rd-party
+DEB3RD=http://172.16.0.1:8080/job/3rd-party/ws/build/debian/
--- /dev/null
+#! /bin/sh
+
+# Setup Env
+relativepath=`dirname $0`
+absolutetestspath=`cd $relativepath/..; pwd`
+cd $absolutetestspath
+
+# Read defaults and hostname specific
+. config/default
+if [ -f config/`hostname` ]
+then
+ . config/`hostname`
+fi
+
+case $1 in
+ BUILDERDIR)
+ BUILDERDIR=${BUILDERDIR:-$HOME/builder/}
+ echo $BUILDERDIR
+ ;;
+ REPOPATH)
+ WORKDIR=`cd $absolutetestspath/../..; pwd`
+ # Jenkins will set WORKSPACE
+ WORKSPACE=${WORKSPACE:-$WORKDIR}
+ REPOPATH=$WORKSPACE/build/debian
+ echo $REPOPATH
+ ;;
+esac
relativepath=`dirname $0`
absolutesourcepath=`cd $relativepath/../..; pwd`
cd $absolutesourcepath
+BUILDERDIR=$(./tests/scripts/builder_get_config.sh BUILDERDIR)
-echo "Read config from tests/config/default"
-. tests/config/default
-if [ -f tests/config/`hostname` ]
-then
- echo "Read config from tests/config/`hostname`"
- . tests/config/`hostname`
-fi
-BUILDERDIR=${BUILDERDIR:-$HOME/builder/}
DIST=wheezy
-COWBUILDERCONFIG=$BUILDERDIR/config/$DIST.config
-# Setup Repo
-WORKDIR=$(cd $absolutesourcepath/..; pwd)
-# Jenkins will set WORKSPACE
-WORKSPACE=${WORKSPACE:-$WORKDIR}
+REPOPATH=$(./tests/scripts/builder_get_config.sh REPOPATH)
-REPOPATH=$WORKSPACE/build/debian
[ ! -d $REPOPATH ] || rm -r $REPOPATH
mkdir -p $REPOPATH/conf
DEFAULTKEY=buildbot@$(hostname -f)
EOF
# Build mediawiki
-make -C 3rd-party/mediawiki COWBUILDERCONFIG=$COWBUILDERCONFIG REPOPATH=$REPOPATH
+make -C 3rd-party/mediawiki
+# Build selenium
+make -C 3rd-party/selenium
+# Write key
gpg --export --armor > ${REPOPATH}/key
fi
ARCH=$(dpkg-architecture -qDEB_BUILD_ARCH)
-
-[ ! -f debian/changelog.sos ] || mv debian/changelog.sos debian/changelog
-cp debian/changelog debian/changelog.sos
+# Build out of the source tree
+. $COWBUILDERCONFIG
+CHANGEFILE=${BUILDRESULT}/${PKGNAME}_${SMAJOR}${MINOR}_${ARCH}.changes
+cd $CHECKOUTPATH
+cp -r src/ $BUILDPLACE/$PKGNAME-$MAJOR/
+cd $BUILDPLACE/$PKGNAME-$MAJOR
dch -b -v $MAJOR$MINOR -D UNRELEASED "This is $DIST-$ARCH autobuild"
sed -i -e "1s/UNRELEASED/$DIST/" debian/changelog
pdebuild --configfile $COWBUILDERCONFIG --buildresult $BUILDRESULT
-[ ! -f debian/changelog.sos ] || mv debian/changelog.sos debian/changelog
-CHANGEFILE=${PKGNAME}_$SMAJOR${MINOR}_$ARCH.changes
+#[ ! -f debian/changelog.sos ] || mv debian/changelog.sos debian/changelog
+#cp debian/changelog debian/changelog.sos
+#dch -b -v $MAJOR$MINOR -D UNRELEASED "This is $DIST-$ARCH autobuild"
+#sed -i -e "1s/UNRELEASED/$DIST/" debian/changelog
+#pdebuild --configfile $COWBUILDERCONFIG --buildresult $BUILDRESULT
+#[ ! -f debian/changelog.sos ] || mv debian/changelog.sos debian/changelog
cd $BUILDRESULT
REPOPATH=$WORKSPACE/build/debian
echo "Stop cron daemon"
ssh root@$HOST "invoke-rc.d cron stop" || true
+# Install selenium
+ssh root@$HOST "apt-get -y install selenium"
+
# Install selenium tests
-ssh root@$HOST mkdir $FORGE_HOME/tests
-make -C 3rd-party/selenium selenium-server.jar
-cp 3rd-party/selenium/selenium-server.jar tests/
+ssh root@$HOST "[ -d $FORGE_HOME ] || mkdir -p $FORGE_HOME"
rsync -a --delete tests/ root@$HOST:$FORGE_HOME/tests/
# Transfer hudson config
ssh root@$HOST "apt-get update"
echo "Sync code on root@$HOST:$FORGE_HOME"
-#ssh root@$HOST mkdir -p $FORGE_HOME
-rsync -a --delete . root@$HOST:$FORGE_HOME
+ssh root@$HOST "[ -d $FORGE_HOME ] || mkdir -p $FORGE_HOME"
+rsync -a --delete src/ root@$HOST:$FORGE_HOME/src/
+rsync -a --delete tests/ root@$HOST:$FORGE_HOME/tests/
echo "Run Install on $HOST"
ssh root@$HOST "$FORGE_HOME/src/install-ng --auto --reinit"
echo "Stop cron daemon"
ssh root@$HOST "service crond stop" || true
-# Copy selenium
-make -C 3rd-party/selenium selenium-server.jar
-rsync -a 3rd-party/selenium/selenium-server.jar root@$HOST:$FORGE_HOME/tests/selenium-server.jar
+# Install selenium
+ssh root@$HOST "apt-get -y install selenium"
# Transfer hudson config
ssh root@$HOST "cat > $FORGE_HOME/tests/config/phpunit" <<-EOF
relativepath=`dirname $0`
absolutetestspath=`cd $relativepath/..; pwd`
cd $absolutetestspath
-
-echo "Read config from tests/config/default"
-. config/default
-if [ -f config/`hostname` ]
-then
- echo "Read config from config/`hostname`"
- . config/`hostname`
-fi
-BUILDERDIR=${BUILDERDIR:-$HOME/builder/}
+BUILDERDIR=$(./scripts/builder_get_config.sh BUILDERDIR)
# Prepare and/or update cowbuilder caches
DISTROLIST=${DISTROLIST:-"squeeze wheezy"}
echo "Starting Selenium"
killall -9 java
-PATH=/usr/lib/iceweasel:$PATH LANG=C java -jar $FORGE_HOME/tests/selenium-server.jar -singleWindow >/dev/null &
+PATH=/usr/lib/iceweasel:$PATH LANG=C java -jar /usr/share/selenium/selenium-server.jar -singleWindow >/dev/null &
i=0
timeout=200
while [ $i -lt $timeout ] && ! netstat -tnl 2>/dev/null | grep -q :4444 ; do
--- /dev/null
+#! /bin/sh -e
+
+# Setup Env
+relativepath=`dirname $0`
+absolutesourcepath=`cd $relativepath/../..; pwd`
+cd $absolutesourcepath
+
+echo "Read config from tests/config/default"
+. tests/config/default
+if [ -f tests/config/`hostname` ]
+then
+ echo "Read config from tests/config/`hostname`"
+ . tests/config/`hostname`
+fi
+BUILDERDIR=${BUILDERDIR:-$HOME/builder/}
+DIST=wheezy
+COWBUILDERCONFIG=$BUILDERDIR/config/$DIST.config
+
+# Setup Repo
+WORKDIR=$(cd $absolutesourcepath/..; pwd)
+# Jenkins will set WORKSPACE
+WORKSPACE=${WORKSPACE:-$WORKDIR}
+
+# Build selenium
+make -C 3rd-party/selenium COWBUILDERCONFIG=$COWBUILDERCONFIG REPOPATH=$REPOPATH rpm
+