launchpad-reviewers team mailing list archive
-
launchpad-reviewers team
-
Mailing list archive
-
Message #05714
[Merge] lp:~wgrant/launchpad/no-more-vostok into lp:launchpad
William Grant has proposed merging lp:~wgrant/launchpad/no-more-vostok into lp:launchpad.
Requested reviews:
Launchpad code reviewers (launchpad-reviewers)
For more details, see:
https://code.launchpad.net/~wgrant/launchpad/no-more-vostok/+merge/83561
Drop Vostok, Linaro's aborted attempt to create a standalone Soyuzish thing.
11:34 < lifeless> StevenK: vostok can be deleted
11:50 < mwhudson> lifeless, StevenK: sure, rip out vostok if it's causing any problems
--
https://code.launchpad.net/~wgrant/launchpad/no-more-vostok/+merge/83561
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~wgrant/launchpad/no-more-vostok into lp:launchpad.
=== modified file 'Makefile'
--- Makefile 2011-11-18 00:29:04 +0000
+++ Makefile 2011-11-28 08:46:24 +0000
@@ -231,7 +231,6 @@
$(subst $(PY),,$(BUILDOUT_BIN)): $(PY)
compile: $(PY) $(BZR_VERSION_INFO)
- mkdir -p /var/tmp/vostok-archive
${SHHH} $(MAKE) -C sourcecode build PYTHON=${PYTHON} \
LPCONFIG=${LPCONFIG}
${SHHH} LPCONFIG=${LPCONFIG} ${PY} -t buildmailman.py
@@ -432,14 +431,11 @@
sed -e 's,%BRANCH_REWRITE%,$(shell pwd)/scripts/branch-rewrite.py,' \
configs/development/local-launchpad-apache > \
/etc/apache2/sites-available/local-launchpad
- cp configs/development/local-vostok-apache \
- /etc/apache2/sites-available/local-vostok
touch /var/tmp/bazaar.launchpad.dev/rewrite.log
chown $(SUDO_UID):$(SUDO_GID) /var/tmp/bazaar.launchpad.dev/rewrite.log
enable-apache-launchpad: copy-apache-config copy-certificates
a2ensite local-launchpad
- a2ensite local-vostok
reload-apache: enable-apache-launchpad
/etc/init.d/apache2 restart
=== modified file 'configs/development/launchpad-lazr.conf'
--- configs/development/launchpad-lazr.conf 2011-11-16 15:41:09 +0000
+++ configs/development/launchpad-lazr.conf 2011-11-28 08:46:24 +0000
@@ -357,9 +357,6 @@
[vhost.feeds]
hostname: feeds.launchpad.dev
-[vhost.vostok]
-hostname: vostok.dev
-
[immediate_mail]
# XXX sinzui 2008-03-26:
# A development box should never send email to the outer world,
=== removed file 'configs/development/local-vostok-apache'
--- configs/development/local-vostok-apache 2010-08-06 17:39:52 +0000
+++ configs/development/local-vostok-apache 1970-01-01 00:00:00 +0000
@@ -1,52 +0,0 @@
-NameVirtualHost 127.0.0.77:80
-
-RewriteLock /var/tmp/vostok-rewrite-lock
-
-<VirtualHost 127.0.0.77:80>
- ServerName archive.vostok.dev
- LogLevel debug
-
- DocumentRoot /var/tmp/vostok-archive
- <Directory /var/tmp/vostok-archive/>
- Order Deny,Allow
- Deny from all
- Allow from 127.0.0.0/255.0.0.0
- Options Indexes
- </Directory>
-</VirtualHost>
-
-<VirtualHost 127.0.0.77:443>
- ServerName vostok.dev
- ServerAlias *.vostok.dev
- <Proxy *>
- Order deny,allow
- Allow from 127.0.0.0/255.0.0.0
- </Proxy>
- SSLEngine On
- SSLCertificateFile /etc/apache2/ssl/launchpad.crt
- SSLCertificateKeyFile /etc/apache2/ssl/launchpad.key
-
- ProxyPreserveHost on
- ProxyPass / http://localhost:8086/ retry=1
-
- <Location />
- # Insert filter
- SetOutputFilter DEFLATE
-
- # Don't compress images
- SetEnvIfNoCase Request_URI \
- \.(?:gif|jpe?g|png)$ no-gzip dont-vary
-
- # Don't gzip anything that starts /@@/ and doesn't end .js (ie images)
- SetEnvIfNoCase Request_URI ^/@@/ no-gzip dont-vary
- SetEnvIfNoCase Request_URI ^/@@/.*\.js$ !no-gzip !dont-vary
- </Location>
-
-</VirtualHost>
-
-<VirtualHost 127.0.0.77:80>
- ServerName vostok.dev
- ServerAlias *.vostok.dev
- RewriteEngine On
- RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
-</VirtualHost>
=== modified file 'lib/canonical/config/schema-lazr.conf'
--- lib/canonical/config/schema-lazr.conf 2011-11-22 05:10:34 +0000
+++ lib/canonical/config/schema-lazr.conf 2011-11-28 08:46:24 +0000
@@ -2075,8 +2075,6 @@
[vhost.feeds]
-[vhost.vostok]
-
# Stubed Key server for test proposes, it's able to serve
# in SKS format, a restricted set of keys.
=== modified file 'lib/canonical/launchpad/configure.zcml'
--- lib/canonical/launchpad/configure.zcml 2011-09-19 14:29:47 +0000
+++ lib/canonical/launchpad/configure.zcml 2011-11-28 08:46:24 +0000
@@ -30,7 +30,6 @@
<include package="lp.translations" />
<include package="lp.testopenid" />
<include package="lp.blueprints" />
- <include package="lp.vostok" />
<browser:url
for="lp.registry.interfaces.person.IPersonSet"
=== modified file 'lib/canonical/launchpad/doc/webapp-publication.txt'
--- lib/canonical/launchpad/doc/webapp-publication.txt 2011-10-03 11:16:04 +0000
+++ lib/canonical/launchpad/doc/webapp-publication.txt 2011-11-28 08:46:24 +0000
@@ -83,10 +83,6 @@
rooturl: http://ubuntu-openid.launchpad.dev/
althosts:
----
- vostok @ vostok.dev
- rooturl: http://vostok.dev/
- althosts:
- ----
xmlrpc @ xmlrpc.launchpad.dev
rooturl: http://launchpad.dev/
althosts:
@@ -115,7 +111,6 @@
testopenid.dev
translations.launchpad.dev
ubuntu-openid.launchpad.dev
- vostok.dev
xmlrpc-private.launchpad.dev
xmlrpc.launchpad.dev
=== removed directory 'lib/lp/vostok'
=== removed file 'lib/lp/vostok/__init__.py'
--- lib/lp/vostok/__init__.py 2010-07-14 09:50:12 +0000
+++ lib/lp/vostok/__init__.py 1970-01-01 00:00:00 +0000
@@ -1,4 +0,0 @@
-# Copyright 2010 Canonical Ltd. This software is licensed under the
-# GNU Affero General Public License version 3 (see the file LICENSE).
-
-"""The Linaro archive management skin."""
=== removed directory 'lib/lp/vostok/browser'
=== removed file 'lib/lp/vostok/browser/__init__.py'
--- lib/lp/vostok/browser/__init__.py 2010-07-14 15:09:37 +0000
+++ lib/lp/vostok/browser/__init__.py 1970-01-01 00:00:00 +0000
@@ -1,4 +0,0 @@
-# Copyright 2010 Canonical Ltd. This software is licensed under the
-# GNU Affero General Public License version 3 (see the file LICENSE).
-
-"""Browser code for the Linaro archive management skin."""
=== removed file 'lib/lp/vostok/browser/configure.zcml'
--- lib/lp/vostok/browser/configure.zcml 2010-08-13 15:33:40 +0000
+++ lib/lp/vostok/browser/configure.zcml 1970-01-01 00:00:00 +0000
@@ -1,34 +0,0 @@
-<configure
- xmlns="http://namespaces.zope.org/zope"
- xmlns:browser="http://namespaces.zope.org/browser"
- xmlns:i18n="http://namespaces.zope.org/i18n"
- xmlns:xmlrpc="http://namespaces.zope.org/xmlrpc"
- i18n_domain="launchpad">
-
- <browser:defaultView
- for="..publisher.IVostokRoot"
- name="+index"
- />
-
- <browser:page
- for="..publisher.IVostokRoot"
- name="+index"
- class=".root.VostokRootView"
- template="../templates/root.pt"
- permission="zope.Public"
- layer="..publisher.VostokLayer"
- />
-
- <browser:navigation
- module=".distribution"
- classes="DistributionNavigation"
- layer="..publisher.VostokLayer" />
-
- <browser:navigation
- module="lp.vostok.publisher"
- classes="VostokRootNavigation"
- />
-
- <adapter factory="lp.vostok.browser.root.VostokLayerToMainTemplateAdapter" />
-
-</configure>
=== removed file 'lib/lp/vostok/browser/distribution.py'
--- lib/lp/vostok/browser/distribution.py 2010-08-20 20:31:18 +0000
+++ lib/lp/vostok/browser/distribution.py 1970-01-01 00:00:00 +0000
@@ -1,26 +0,0 @@
-# Copyright 2010 Canonical Ltd. This software is licensed under the
-# GNU Affero General Public License version 3 (see the file LICENSE).
-
-"""Browser views for distributions."""
-
-__metaclass__ = type
-
-__all__ = [
- 'DistributionNavigation',
- ]
-
-from canonical.launchpad.webapp import (
- GetitemNavigation,
- stepthrough,
- )
-from lp.registry.interfaces.distribution import IDistribution
-
-
-class DistributionNavigation(GetitemNavigation):
-
- usedfor = IDistribution
-
- @stepthrough('+source')
- def traverse_sources(self, name):
- return self.context.getSourcePackage(name)
-
=== removed file 'lib/lp/vostok/browser/root.py'
--- lib/lp/vostok/browser/root.py 2010-09-25 14:29:32 +0000
+++ lib/lp/vostok/browser/root.py 1970-01-01 00:00:00 +0000
@@ -1,43 +0,0 @@
-# Copyright 2010 Canonical Ltd. This software is licensed under the
-# GNU Affero General Public License version 3 (see the file LICENSE).
-
-"""Browser code for the Vostok root."""
-
-__metaclass__ = type
-__all__ = [
- 'VostokRootView',
- 'VostokLayerToMainTemplateAdapter',
- ]
-
-import os
-
-from zope.component import (
- adapts,
- getUtility,
- )
-from zope.interface import implements
-
-from canonical.launchpad.webapp import LaunchpadView
-from lp.app.browser.tales import IMainTemplateFile
-from lp.registry.interfaces.distribution import IDistributionSet
-from lp.vostok.publisher import VostokLayer
-
-
-class VostokRootView(LaunchpadView):
- """The view for the Vostok root object."""
-
- page_title = 'Vostok'
-
- @property
- def distributions(self):
- """An iterable of all registered distributions."""
- return getUtility(IDistributionSet)
-
-
-class VostokLayerToMainTemplateAdapter:
- adapts(VostokLayer)
- implements(IMainTemplateFile)
-
- def __init__(self, context):
- here = os.path.dirname(os.path.realpath(__file__))
- self.path = os.path.join(here, '../templates/main-template.pt')
=== removed directory 'lib/lp/vostok/browser/tests'
=== removed file 'lib/lp/vostok/browser/tests/__init__.py'
--- lib/lp/vostok/browser/tests/__init__.py 2010-07-14 15:09:37 +0000
+++ lib/lp/vostok/browser/tests/__init__.py 1970-01-01 00:00:00 +0000
@@ -1,4 +0,0 @@
-# Copyright 2010 Canonical Ltd. This software is licensed under the
-# GNU Affero General Public License version 3 (see the file LICENSE).
-
-"""Tests for the browser code of the Linaro archive management skin."""
=== removed file 'lib/lp/vostok/browser/tests/request.py'
--- lib/lp/vostok/browser/tests/request.py 2010-08-20 20:31:18 +0000
+++ lib/lp/vostok/browser/tests/request.py 1970-01-01 00:00:00 +0000
@@ -1,16 +0,0 @@
-# Copyright 2010 Canonical Ltd. This software is licensed under the
-# GNU Affero General Public License version 3 (see the file LICENSE).
-
-"""A VostokLayer request class for use in tests."""
-
-__metaclass__ = type
-__all__ = [
- 'VostokTestRequest',
- ]
-
-from canonical.launchpad.webapp.servers import LaunchpadTestRequest
-from lp.vostok.publisher import VostokRequestMixin
-
-
-class VostokTestRequest(VostokRequestMixin, LaunchpadTestRequest):
- """A test request for `VostokLayer`."""
=== removed file 'lib/lp/vostok/browser/tests/test_base_template.py'
--- lib/lp/vostok/browser/tests/test_base_template.py 2010-08-20 20:31:18 +0000
+++ lib/lp/vostok/browser/tests/test_base_template.py 1970-01-01 00:00:00 +0000
@@ -1,30 +0,0 @@
-# Copyright 2010 Canonical Ltd. This software is licensed under the
-# GNU Affero General Public License version 3 (see the file LICENSE).
-
-"""Tests for the vostok 'view/macro:page' TALES adapter."""
-
-__metaclass__ = type
-
-from zope.component import getMultiAdapter
-from zope.traversing.interfaces import IPathAdapter
-
-from canonical.testing.layers import FunctionalLayer
-from lp.testing import TestCase
-from lp.vostok.browser.tests.request import VostokTestRequest
-from lp.vostok.publisher import VostokRoot
-
-
-class TestPageMacroDispatcher(TestCase):
-
- layer = FunctionalLayer
-
- def test_base_template(self):
- # For requests on the vostok vhost (i.e. IVostokLayer requests), the
- # base template used is the vostok one.
- root_view = getMultiAdapter(
- (VostokRoot(), VostokTestRequest()), name='+index')
- adapter = getMultiAdapter([root_view], IPathAdapter, name='macro')
- self.assertIn('lp/vostok', adapter.base.filename)
- # The vostok base template defines a 'master' macro as the adapter
- # expects.
- self.assertIn('master', adapter.base.macros.keys())
=== removed file 'lib/lp/vostok/browser/tests/test_navigation.py'
--- lib/lp/vostok/browser/tests/test_navigation.py 2010-08-20 20:31:18 +0000
+++ lib/lp/vostok/browser/tests/test_navigation.py 1970-01-01 00:00:00 +0000
@@ -1,69 +0,0 @@
-# Copyright 2010 Canonical Ltd. This software is licensed under the
-# GNU Affero General Public License version 3 (see the file LICENSE).
-
-"""Tests for Vostok's navigation classes."""
-
-__metaclass__ = type
-
-from zope.publisher.interfaces import NotFound
-from zope.security.proxy import removeSecurityProxy
-
-from canonical.launchpad.webapp import (
- canonical_url,
- urlparse,
- )
-from canonical.testing.layers import DatabaseFunctionalLayer
-from lp.testing import TestCaseWithFactory
-from lp.testing.publication import test_traverse
-
-
-class TestRootNavigation(TestCaseWithFactory):
-
- layer = DatabaseFunctionalLayer
-
- def test_traverse_to_distributions(self):
- # We can traverse to a distribution by name from the vostok
- # root.
- distro = self.factory.makeDistribution()
- obj, view, request = test_traverse('http://vostok.dev/' + distro.name)
- self.assertEqual(distro, obj)
-
- def test_traverse_to_distribution_aliases(self):
- # When we traverse to a distribution using one of its aliases, we're
- # redirected to the distribution's page on the vostok vhost.
- distro = self.factory.makeDistribution(aliases=['f00'])
- obj, view, request = test_traverse('http://vostok.dev/f00')
- naked_view = removeSecurityProxy(view)
- parse_result = urlparse(naked_view.target)
- self.assertEqual('vostok.dev', parse_result.netloc)
- self.assertEqual('/' + distro.name, parse_result.path)
-
- def test_can_not_traverse_to_projects(self):
- # We cannot traverse to a project from the vostok root.
- path = self.factory.makeProject().name
- self.assertRaises(
- NotFound, test_traverse, 'http://vostok.dev/' + path)
-
-
-class TestDistributionNavigation(TestCaseWithFactory):
-
- layer = DatabaseFunctionalLayer
-
- def test_traverse_to_source_package(self):
- # We can traverse to a source package by name from a distribution on
- # the vostok vhost.
- source_package = self.factory.makeDistributionSourcePackage()
- obj, view, request = test_traverse(
- canonical_url(source_package, rootsite='vostok'))
- self.assertEqual(source_package, obj)
-
- def test_traverse_to_distroseries(self):
- distroseries = self.factory.makeDistroSeries()
- obj, view, request = test_traverse(
- canonical_url(distroseries, rootsite='vostok'))
- self.assertEqual(distroseries, obj)
-
- def test_can_not_traverse_to_bug(self):
- bug = self.factory.makeBugTask(target=self.factory.makeDistribution())
- url = canonical_url(bug, rootsite='vostok')
- self.assertRaises(NotFound, test_traverse, url)
=== removed file 'lib/lp/vostok/browser/tests/test_root.py'
--- lib/lp/vostok/browser/tests/test_root.py 2011-08-12 11:37:08 +0000
+++ lib/lp/vostok/browser/tests/test_root.py 1970-01-01 00:00:00 +0000
@@ -1,93 +0,0 @@
-# Copyright 2010 Canonical Ltd. This software is licensed under the
-# GNU Affero General Public License version 3 (see the file LICENSE).
-
-"""Tests for browsing the root of the vostok skin."""
-
-__metaclass__ = type
-
-import os
-
-from zope.publisher.defaultview import getDefaultViewName
-
-from canonical.launchpad.testing.pages import (
- extract_text,
- find_tag_by_id,
- )
-from lp.app.browser.tales import IMainTemplateFile
-from canonical.testing.layers import (
- DatabaseFunctionalLayer,
- FunctionalLayer,
- )
-from lp.testing import (
- TestCase,
- TestCaseWithFactory,
- )
-from lp.testing.views import create_initialized_view
-from lp.vostok.browser.root import VostokRootView
-from lp.vostok.browser.tests.request import VostokTestRequest
-from lp.vostok.publisher import (
- VostokLayer,
- VostokRoot,
- )
-
-
-class TestRootRegistrations(TestCase):
- """Test the registration of views for `VostokRoot`."""
-
- layer = FunctionalLayer
-
- def test_root_default_view_name(self):
- # The default view for the vostok root object is called "+index".
- view_name = getDefaultViewName(VostokRoot(), VostokTestRequest())
- self.assertEquals('+index', view_name)
-
- def test_root_index_view(self):
- # VostokRootView is registered as the view for the VostokRoot object.
- view = create_initialized_view(
- VostokRoot(), name='+index', layer=VostokLayer)
- self.assertIsInstance(view, VostokRootView)
-
-
-class TestRootView(TestCaseWithFactory):
- """Tests for `VostokRootView`."""
-
- layer = DatabaseFunctionalLayer
-
- def view(self):
- return create_initialized_view(
- VostokRoot(), name='+index', layer=VostokLayer)
-
- def test_distributions(self):
- # VostokRootView.distributions is an iterable of all registered
- # distributions.
- root_view = self.view()
- new_distro = self.factory.makeDistribution()
- self.assertIn(new_distro, list(root_view.distributions))
-
-
-class TestRootTemplate(TestCaseWithFactory):
- """Tests for the templates used by views of `VostokRoot`."""
-
- layer = DatabaseFunctionalLayer
-
- def test_distribution_list(self):
- # The element with id 'distro-list' on the root page contains a list
- # of links to all registered distributions.
- v = create_initialized_view(
- VostokRoot(), name='+index', layer=VostokLayer)
- contents = v.render()
- link_list = find_tag_by_id(contents, 'distro-list')('a')
- distro_list = list(v.distributions)
- self.assertEqual(len(link_list), len(distro_list))
- for distro, link in zip(distro_list, link_list):
- self.assertEqual(distro.displayname, extract_text(link))
-
-
-class TestVostokLayerToMainTemplateAdapter(TestCase):
-
- layer = FunctionalLayer
-
- def test_path(self):
- main_template_path = IMainTemplateFile(VostokTestRequest()).path
- self.assertIn('lp/vostok', main_template_path)
- self.assertTrue(os.path.isfile(main_template_path))
=== removed file 'lib/lp/vostok/configure.zcml'
--- lib/lp/vostok/configure.zcml 2010-08-19 03:06:27 +0000
+++ lib/lp/vostok/configure.zcml 1970-01-01 00:00:00 +0000
@@ -1,25 +0,0 @@
-<configure
- xmlns="http://namespaces.zope.org/zope"
- xmlns:browser="http://namespaces.zope.org/browser"
- xmlns:i18n="http://namespaces.zope.org/i18n"
- xmlns:xmlrpc="http://namespaces.zope.org/xmlrpc"
- i18n_domain="launchpad">
-
- <include package=".browser" />
-
- <publisher
- name="vostok"
- factory="lp.vostok.publisher.vostok_request_publication_factory"
- methods="*"
- mimetypes="*" />
- <utility
- component="lp.vostok.publisher.VostokLayer"
- provides="zope.publisher.interfaces.browser.IDefaultBrowserLayer"
- name="vostok" />
-
- <securedutility
- class="lp.vostok.publisher.VostokRoot"
- provides="lp.vostok.publisher.IVostokRoot">
- <allow interface="lp.vostok.publisher.IVostokRoot" />
- </securedutility>
-</configure>
=== removed file 'lib/lp/vostok/publisher.py'
--- lib/lp/vostok/publisher.py 2010-08-20 20:31:18 +0000
+++ lib/lp/vostok/publisher.py 1970-01-01 00:00:00 +0000
@@ -1,110 +0,0 @@
-# Copyright 2010 Canonical Ltd. This software is licensed under the
-# GNU Affero General Public License version 3 (see the file LICENSE).
-
-"""Vostok's custom publication."""
-
-__metaclass__ = type
-__all__ = [
- 'VostokBrowserRequest',
- 'VostokLayer',
- 'VostokRootNavigation',
- 'vostok_request_publication_factory',
- ]
-
-
-from zope.component import getUtility
-from zope.interface import (
- implements,
- Interface,
- )
-from zope.publisher.interfaces.browser import (
- IBrowserRequest,
- IDefaultBrowserLayer,
- )
-
-from canonical.launchpad.webapp import (
- canonical_url,
- Navigation,
- )
-from canonical.launchpad.webapp.publication import LaunchpadBrowserPublication
-from canonical.launchpad.webapp.servers import (
- LaunchpadBrowserRequest,
- LaunchpadBrowserResponse,
- VirtualHostRequestPublicationFactory,
- )
-from canonical.launchpad.webapp.vhosts import allvhosts
-from lp.registry.interfaces.distribution import IDistributionSet
-
-
-class VostokLayer(IBrowserRequest, IDefaultBrowserLayer):
- """The Vostok layer."""
-
-
-class VostokRequestMixin:
- """This mixin defines behaviour for the real and test Vostok requests."""
-
- implements(VostokLayer)
-
- def getRootURL(self, rootsite):
- """See `IBasicLaunchpadRequest`."""
- return allvhosts.configs['vostok'].rooturl
-
-
-class VostokBrowserRequest(VostokRequestMixin, LaunchpadBrowserRequest):
- """Request class for Vostok layer."""
-
- def _createResponse(self):
- """As per zope.publisher.browser.BrowserRequest._createResponse"""
- return VostokBrowserResponse()
-
-
-class VostokBrowserResponse(LaunchpadBrowserResponse):
-
- def redirect(self, location, status=None, trusted=False,
- temporary_if_possible=False):
- """Override the parent method to make redirects untrusted by default.
-
- This is so that we don't allow redirects to any hosts other than
- vostok's.
- """
- # Need to call LaunchpadBrowserResponse.redirect() directly because
- # the temporary_if_possible argument only exists there.
- LaunchpadBrowserResponse.redirect(
- self, location, status=status, trusted=trusted,
- temporary_if_possible=temporary_if_possible)
-
-
-class IVostokRoot(Interface):
- """Marker interface for the root vostok object."""
-
-
-class VostokRoot:
- """The root object for the Vostok site.
-
- No behaviour here, it just exists so it can have view and navigation
- registrations attached to it.
- """
-
- implements(IVostokRoot)
-
-
-class VostokRootNavigation(Navigation):
-
- usedfor = IVostokRoot
-
- def traverse(self, name):
- distro = getUtility(IDistributionSet)[name]
- if distro is not None and distro.name != name:
- # This distro was accessed through one of its aliases, so we
- # must redirect to its canonical URL.
- return self.redirectSubTree(canonical_url(distro), status=301)
- return distro
-
-
-class VostokBrowserPublication(LaunchpadBrowserPublication):
- root_object_interface = IVostokRoot
-
-
-def vostok_request_publication_factory():
- return VirtualHostRequestPublicationFactory(
- 'vostok', VostokBrowserRequest, VostokBrowserPublication)
=== removed directory 'lib/lp/vostok/templates'
=== removed file 'lib/lp/vostok/templates/main-template.pt'
--- lib/lp/vostok/templates/main-template.pt 2010-08-06 18:23:33 +0000
+++ lib/lp/vostok/templates/main-template.pt 1970-01-01 00:00:00 +0000
@@ -1,18 +0,0 @@
-<metal:page
- xmlns:metal="http://xml.zope.org/namespaces/metal"
- xmlns:tal="http://xml.zope.org/namespaces/tal"
- define-macro="master"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-
- <head>
-
- <title tal:content="view/fmt:pagetitle">Page Title</title>
-
- </head>
-
- <body>
- <h1 metal:define-slot="heading" />
- <div metal:define-slot="main" />
- </body>
-</html>
-</metal:page>
=== removed file 'lib/lp/vostok/templates/root.pt'
--- lib/lp/vostok/templates/root.pt 2010-08-06 18:30:07 +0000
+++ lib/lp/vostok/templates/root.pt 1970-01-01 00:00:00 +0000
@@ -1,20 +0,0 @@
-<html
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:tal="http://xml.zope.org/namespaces/tal"
- xmlns:metal="http://xml.zope.org/namespaces/metal"
- xmlns:i18n="http://xml.zope.org/namespaces/i18n"
- metal:use-macro="view/macro:page/main_only"
- i18n:domain="vostok">
- <body>
- <tal:heading metal:fill-slot="heading">
- <h1>Vostok</h1>
- </tal:heading>
- <tal:content metal:fill-slot="main">
- <ul id="distro-list">
- <tal:loop tal:repeat="distro view/distributions">
- <li tal:content="structure distro/fmt:link" />
- </tal:loop>
- </ul>
- </tal:content>
- </body>
-</html>
=== removed directory 'lib/lp/vostok/tests'
=== removed file 'lib/lp/vostok/tests/__init__.py'
--- lib/lp/vostok/tests/__init__.py 2010-07-14 09:50:12 +0000
+++ lib/lp/vostok/tests/__init__.py 1970-01-01 00:00:00 +0000
@@ -1,4 +0,0 @@
-# Copyright 2010 Canonical Ltd. This software is licensed under the
-# GNU Affero General Public License version 3 (see the file LICENSE).
-
-"""Tests for the Linaro archive management skin."""
=== removed file 'lib/lp/vostok/tests/test_publisher.py'
--- lib/lp/vostok/tests/test_publisher.py 2011-08-12 11:37:08 +0000
+++ lib/lp/vostok/tests/test_publisher.py 1970-01-01 00:00:00 +0000
@@ -1,59 +0,0 @@
-# Copyright 2010 Canonical Ltd. This software is licensed under the
-# GNU Affero General Public License version 3 (see the file LICENSE).
-
-"""Tests for vostok's custom publications."""
-
-__metaclass__ = type
-
-from canonical.config import config
-from canonical.testing.layers import FunctionalLayer
-from lp.testing import TestCase
-from lp.testing.publication import get_request_and_publication
-from lp.vostok.publisher import (
- VostokBrowserRequest,
- VostokBrowserResponse,
- VostokLayer,
- VostokRoot,
- )
-
-
-class TestRegistration(TestCase):
- """Vostok's publication customizations are installed correctly."""
-
- layer = FunctionalLayer
-
- def test_vostok_request_provides_vostok_layer(self):
- # The request constructed for requests to the vostok hostname provides
- # VostokLayer.
- request, publication = get_request_and_publication(
- host=config.vhost.vostok.hostname)
- self.assertProvides(request, VostokLayer)
-
- def test_root_object(self):
- # The root object for requests to the vostok host is an instance of
- # VostokRoot.
- request, publication = get_request_and_publication(
- host=config.vhost.vostok.hostname)
- self.assertProvides(request, VostokLayer)
- root = publication.getApplication(request)
- self.assertIsInstance(root, VostokRoot)
-
-
-class TestVostokBrowserRequest(TestCase):
-
- def test_createResponse(self):
- request = VostokBrowserRequest(None, {})
- self.assertIsInstance(
- request._createResponse(), VostokBrowserResponse)
-
-
-class TestVostokBrowserResponse(TestCase):
-
- def test_redirect_to_different_host(self):
- # Unlike Launchpad's BrowserResponse class, VostokBrowserResponse
- # doesn't allow redirects to any host other than the current one.
- request = VostokBrowserRequest(None, {})
- response = request._createResponse()
- response._request = request
- self.assertRaises(
- ValueError, response.redirect, 'http://launchpad.dev')
=== modified file 'utilities/rocketfuel-setup'
--- utilities/rocketfuel-setup 2011-06-30 20:01:25 +0000
+++ utilities/rocketfuel-setup 2011-11-28 08:46:24 +0000
@@ -84,14 +84,6 @@
echo "bazaar.launchpad.dev added to /etc/hosts"
fi
-grep -q "^127.0.0.77" /etc/hosts
-if [ $? -ne 0 ]; then
- echo "
-127.0.0.77 vostok.dev archive.vostok.dev
-" | sudo tee -a /etc/hosts > /dev/null
- echo "vostok.dev added to /etc/hosts"
-fi
-
# Enable relevant Ubuntu package repositories
grep -q "^deb http:.* ${DISTRIB_CODENAME} .*universe" /etc/apt/sources.list
if [ $? -ne 0 ]; then
=== modified file 'utilities/snakefood/lp-sfood-packages'
--- utilities/snakefood/lp-sfood-packages 2011-11-20 23:37:23 +0000
+++ utilities/snakefood/lp-sfood-packages 2011-11-28 08:46:24 +0000
@@ -1,4 +1,3 @@
-lp/vostok
lp/translations
lp/testopenid
lp/testing