summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbuild.sh85
-rw-r--r--debian/changelog18
-rw-r--r--debian/compat1
-rw-r--r--debian/control16
-rw-r--r--debian/copyright7
-rw-r--r--debian/postinst43
-rw-r--r--debian/postrm41
-rw-r--r--debian/preinst39
-rw-r--r--debian/prerm42
-rwxr-xr-xdebian/rules116
-rw-r--r--indra/newview/llviewerobjectlist.cpp1
-rwxr-xr-xindra/newview/llviewerwindow.cpp1
-rw-r--r--indra/newview/pipeline.cpp1
13 files changed, 407 insertions, 4 deletions
diff --git a/build.sh b/build.sh
index a95ca91d82..47b3ff545e 100755
--- a/build.sh
+++ b/build.sh
@@ -271,12 +271,89 @@ then
end_section WaitParallel
fi
+# build debian package
+if [ "$arch" == "Linux" ]
+then
+ if $succeeded
+ then
+ if $build_viewer_deb && [ "$last_built_variant" == "Release" ]
+ then
+ begin_section "Build Debian Package"
+ # mangle the changelog
+ dch --force-bad-version \
+ --distribution unstable \
+ --newversion "${VIEWER_VERSION}" \
+ "Automated build #$build_id, repository $branch revision $revision." \
+ >> "$build_log" 2>&1
+
+ # build the debian package
+ $pkg_default_debuild_command >>"$build_log" 2>&1 || record_failure "\"$pkg_default_debuild_command\" failed."
+
+ # Unmangle the changelog file
+ hg revert debian/changelog
+
+ end_section "Build Debian Package"
+
+ # upload debian package and create repository
+ begin_section "Upload Debian Repository"
+ for deb_file in ../*.deb; do
+ upload_item debian $deb_file binary/octet-stream
+ done
+ if [ -d "$build_log_dir/debian_repo" ]
+ then
+ pushd "$build_log_dir/debian_repo"
+ cat > Release <<EOF
+Archive: stable
+Component: main
+Origin: Teamcity
+Label: Teamcity built .debs
+Architecture: i386 amd64 any
+EOF
+ if dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz \
+ && dpkg-scansources . /dev/null | gzip -9c > Sources.gz
+ then
+ begin_section Packages.gz
+ gunzip --stdout Packages.gz
+ for file in *.deb
+ do
+ stat "$file" | sed 2q
+ md5sum "$file"
+ done
+ end_section Packages.gz
+
+ for file in *
+ do
+ upload_item debian_repo "$file" binary/octet-stream
+ done
+ else
+ record_failure 'Unable to generate Packages.gz or Sources.gz'
+ fi
+ popd
+
+ process_pending_uploads
+
+ # Rename the local debian_repo directory so that the master buildscript
+ # doesn't make a remote repo again.
+
+ mv $build_log_dir/debian_repo $build_log_dir/debian_repo_pushed
+ fi
+ end_section "Upload Debian Repository"
+
+ else
+ echo skipping debian build
+ fi
+ else
+ echo skipping debian build due to failed build.
+ fi
+fi
+
+
# check status and upload results to S3
if $succeeded
then
if $build_viewer
then
- begin_section Upload
+ begin_section Upload Installer
# Upload installer - note that ONLY THE FIRST ITEM uploaded as "installer"
# will appear in the version manager.
package=$(installer_$arch)
@@ -302,12 +379,12 @@ then
# Upload stub installers
upload_stub_installers "$build_dir_stubs"
fi
- end_section Upload
+ end_section Upload Installer
else
- echo skipping viewer
+ echo skipping upload of installer
fi
else
- echo skipping upload of build results due to failed build.
+ echo skipping upload of installer due to failed build.
fi
# The branch independent build.sh script invoking this script will finish processing
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000000..ce54b54c6f
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,18 @@
+secondlife-viewer (0.3) unstable; urgency=low
+
+ * Initial debian configuration
+
+ -- Don Kjer <don@lindenlab.com> Wed, 04 Jul 2012 00:43:03 +0000
+
+secondlife-viewer (0.2) unstable; urgency=low
+
+ * Adding default LSB headers for squeeze
+
+ -- Tyler Kohler <tyler@lindenlab.com> Thu, 24 Mar 2011 09:43:36 -0700
+
+secondlife-viewer (0.1) unstable; urgency=low
+
+ * Cloned from debian package skeleton.
+
+ -- Lex Linden <lex@lindenlab.com> Mon, 20 Sep 2010 08:01:59 -0700
+
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000000..7ed6ff82de
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+5
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000000..50b9ed9a26
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,16 @@
+Source: secondlife-viewer
+Section: unknown
+Priority: extra
+Maintainer: Don Linden <don@lindenlab.com>
+Build-Depends: debhelper (>= 5)
+Homepage: http://secondlife.com
+Standards-Version: 3.7.2
+
+Package: secondlife-viewer
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends},
+ ia32-libs,
+ ia32-libs-gtk
+Description: Second Life Viewer
+ Second Life is an online virtual world developed by Linden Lab.
+
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000000..ecfceb3927
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,7 @@
+Copyright: 2012 Linden Research, Inc.
+
+License:
+
+No license to distribute, copy, modify, or make derivitave works of this
+software is granted unless specifically granted in writing by Linden Research,
+Inc.
diff --git a/debian/postinst b/debian/postinst
new file mode 100644
index 0000000000..2c4f8ea858
--- /dev/null
+++ b/debian/postinst
@@ -0,0 +1,43 @@
+#!/bin/sh
+# postinst script for secondlife-viewer
+#
+# Delete this file if you don't need it.
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+# * <postinst> `configure' <most-recently-configured-version>
+# * <old-postinst> `abort-upgrade' <new version>
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+# <new-version>
+# * <postinst> `abort-remove'
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+# <failed-install-package> <version> `removing'
+# <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+ configure)
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts. Don't delete this!
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/debian/postrm b/debian/postrm
new file mode 100644
index 0000000000..a575936ab0
--- /dev/null
+++ b/debian/postrm
@@ -0,0 +1,41 @@
+#!/bin/sh
+# postrm script for secondlife-viewer
+#
+# Delete this file if you don't need it.
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+# * <postrm> `remove'
+# * <postrm> `purge'
+# * <old-postrm> `upgrade' <new-version>
+# * <new-postrm> `failed-upgrade' <old-version>
+# * <new-postrm> `abort-install'
+# * <new-postrm> `abort-install' <old-version>
+# * <new-postrm> `abort-upgrade' <old-version>
+# * <disappearer's-postrm> `disappear' <overwriter>
+# <overwriter-version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+ purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+ ;;
+
+ *)
+ echo "postrm called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts. Don't delete this!
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/debian/preinst b/debian/preinst
new file mode 100644
index 0000000000..f62243440f
--- /dev/null
+++ b/debian/preinst
@@ -0,0 +1,39 @@
+#!/bin/sh
+# preinst script for secondlife-viewer
+#
+# Delete this file if you don't need it.
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+# * <new-preinst> `install'
+# * <new-preinst> `install' <old-version>
+# * <new-preinst> `upgrade' <old-version>
+# * <old-preinst> `abort-upgrade' <new-version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+ install|upgrade)
+ ;;
+
+ abort-upgrade)
+ ;;
+
+ *)
+ echo "preinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts. Don't delete this!
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/debian/prerm b/debian/prerm
new file mode 100644
index 0000000000..405b8f9c87
--- /dev/null
+++ b/debian/prerm
@@ -0,0 +1,42 @@
+#!/bin/sh
+# prerm script for secondlife-viewer
+#
+# Delete this file if you don't need it.
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+# * <prerm> `remove'
+# * <old-prerm> `upgrade' <new-version>
+# * <new-prerm> `failed-upgrade' <old-version>
+# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
+# * <deconfigured's-prerm> `deconfigure' `in-favour'
+# <package-being-installed> <version> `removing'
+# <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+ remove|upgrade|deconfigure)
+ ;;
+
+ failed-upgrade)
+ ;;
+
+ *)
+ echo "prerm called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts. Don't delete this!
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000000..c41f02d4fb
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,116 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+SRCDIR=build-linux-i686/newview/packaged
+DESTDIR=$(CURDIR)/debian/secondlife-viewer
+BASEDIR=opt/linden/viewer
+VIEWER_VERSION:=$(shell dpkg-parsechangelog | grep ^Version | sed 's/^Version: //')
+INSTALLDIR:=$(BASEDIR)/SecondLife-i686-$(VIEWER_VERSION)
+
+configure: configure-stamp
+configure-stamp:
+ dh_testdir
+ # Add here commands to configure the package.
+
+ touch configure-stamp
+
+build: build-stamp
+
+build-stamp: configure-stamp
+ dh_testdir
+
+ # Add here commands to compile the package.
+ #$(MAKE)
+ #docbook-to-man debian/secondlife-viewer.sgml > secondlife-viewer.1
+
+ touch $@
+
+clean:
+ dh_testdir
+ dh_testroot
+ rm -f build-stamp configure-stamp
+
+ # Add here commands to clean up after the build process.
+ #-$(MAKE) clean
+
+ dh_clean
+
+install: build
+ dh_testdir
+ dh_testroot
+ dh_clean -k
+ dh_installdirs
+
+ # Add here commands to install the package into debian/secondlife-viewer.
+ for file in $$(find $(SRCDIR) -type f -o -type l | sed 's~$(SRCDIR)/~~'); do \
+ # create containing directory \
+ install -v -m 755 -o root -g root -d "$$(dirname "$(DESTDIR)/$(INSTALLDIR)/$$file")"; \
+ PERM=644; \
+ if [ -x "$(SRCDIR)/$$file" ]; then \
+ PERM=755; \
+ fi; \
+ if [ -L "$(SRCDIR)/$$file" ]; then \
+ REAL="$$( readlink -f $(SRCDIR)/$$file )"; \
+ RELATIVE="$$( echo $$REAL | sed 's~$(CURDIR)/$(SRCDIR)/~~' )"; \
+ echo dh_link "$(INSTALLDIR)/$$RELATIVE" "$(INSTALLDIR)/$$file" ; \
+ dh_link "$(INSTALLDIR)/$$RELATIVE" "$(INSTALLDIR)/$$file" ; \
+ else \
+ install -v -m $$PERM -o root -g root "$(SRCDIR)/$$file" "$(DESTDIR)/$(INSTALLDIR)/$$file"; \
+ fi; \
+ done
+ dh_link /$(INSTALLDIR)/secondlife /usr/bin/secondlife
+ dh_link $(BASEDIR)/SecondLife-i686-$(VIEWER_VERSION) $(BASEDIR)/SecondLife
+
+
+# Build architecture-independent files here.
+binary-indep: build install
+# We have nothing to do by default.
+
+# Build architecture-dependent files here.
+binary-arch: build install
+ dh_testdir
+ dh_testroot
+ dh_installchangelogs
+ dh_installdocs
+ dh_installexamples
+# dh_install
+# dh_installmenu
+# dh_installdebconf
+# dh_installlogrotate
+# dh_installemacsen
+# dh_installpam
+# dh_installmime
+# dh_python
+
+# To add an init script, uncomment this line and edit debian/init.d and
+# customize debian/secondlife-viewer.default to suit your needs.
+# dh_installinit
+
+# To add cron jobs, uncomment this line and make a crontab file named
+# debian/cron.d, and it will be installed in /etc/cron.d/
+# dh_installcron
+
+# dh_installinfo
+ dh_installman
+ dh_link
+# dh_strip
+ dh_compress
+# dh_fixperms
+# dh_perl
+# dh_makeshlibs
+ dh_installdeb
+# dh_shlibdeps
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install configure
diff --git a/indra/newview/llviewerobjectlist.cpp b/indra/newview/llviewerobjectlist.cpp
index beb68c1cbb..e4ce670a43 100644
--- a/indra/newview/llviewerobjectlist.cpp
+++ b/indra/newview/llviewerobjectlist.cpp
@@ -1491,6 +1491,7 @@ void LLViewerObjectList::onPhysicsFlagsFetchFailure(const LLUUID& object_id)
void LLViewerObjectList::shiftObjects(const LLVector3 &offset)
{
+ if (gHeadlessClient) return;
// This is called when we shift our origin when we cross region boundaries...
// We need to update many object caches, I'll document this more as I dig through the code
// cleaning things out...
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index 7afb135470..ed970b84a7 100755
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -1712,6 +1712,7 @@ LLViewerWindow::LLViewerWindow(const Params& p)
void LLViewerWindow::initGLDefaults()
{
+ if (gHeadlessClient) return;
gGL.setSceneBlendType(LLRender::BT_ALPHA);
if (!LLGLSLShader::sNoFixedFunction)
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 49c4f37871..de72d79043 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -1105,6 +1105,7 @@ void LLPipeline::releaseScreenBuffers()
void LLPipeline::createGLBuffers()
{
+ if (gHeadlessClient) return;
stop_glerror();
LLMemType mt_cb(LLMemType::MTYPE_PIPELINE_CREATE_BUFFERS);
assertInitialized();