Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython
INSTALL>
pypm install fassembler

How to install fassembler

  1. Download and install ActivePython
  2. Buy and install the Business Edition license from account.activestate.com
  3. Open Command Prompt
  4. Type pypm install fassembler

fassembler contains builds that are only available via PyPM when you have a current ActivePython Business Edition subscription.

 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
0.6
0.6 Available View build log
0.5 Available View build log
Windows (64-bit)
0.6
0.6 Available View build log
0.5 Available View build log
Mac OS X (10.5+)
0.6
0.6 Available View build log
0.5 Available View build log
Linux (32-bit)
0.6
0.6 Available View build log
0.5 Available View build log
Linux (64-bit)
0.6
0.6 Available View build log
0.5 Available View build log
 
License
GPL
Imports

This is fassembler, the build system for OpenCore Home page: http://www.coactivate.org/projects/fassembler/project-home

Overview

This could be general-purpose build software a la GNU Make, Buildit, et al. But it's developed specifically for the build and deployment needs of the software that runs CoActivate.org.

Requirements

Python >= 2.4

... and?

License

See doc/license.txt

Hacking Fassembler

To add a project
  • Create a subclass of fassembler.project:Project
  • Add an entry point to setup() in setup.py
  • Update doc/ports.txt and fassembler.topp:CheckBasePorts.port_range

System Message: WARNING/2 (<string>, line 44)

Bullet list ends without a blank line; unexpected unindent.

if needed.

Changes

0.7

Fassembler changes
  • Added a new tasks.InstallSpecIfPresent which checks if the path

System Message: WARNING/2 (<string>, line 58)

Bullet list ends without a blank line; unexpected unindent.

to the requirements spec is present on the filesystem, and does nothing if the file does not exist.

  • tasks.VirtualEnv(never_create_virtualenv=True) no longer runs

System Message: WARNING/2 (<string>, line 62)

Bullet list ends without a blank line; unexpected unindent.

any subtasks.

  • Added a new Task fassembler.apache.CheckApache which will check

System Message: WARNING/2 (<string>, line 65)

Bullet list ends without a blank line; unexpected unindent.

the presence a list of required Apache modules. It must be called from a Project that subclasses fassembler.apache.ApacheMixin.

Project changes
  • fassembler:topp now installs requirements/fassembler-req.txt into

System Message: WARNING/2 (<string>, line 72)

Bullet list ends without a blank line; unexpected unindent.

the fassembler virtualenv if that file is present. This file can specify add-on packages that provide additional fassembler projects to be used in the rest of the build.

This action was previously done by the rebuild-opencore-site script in opencore-fassembler_boot and is being moved here for better encapsulation of builds. (A build should be able to be run entirely from fassembler; opencore-fassembler_boot should just be a convenience package that wraps fassembler's more arcane knowledge.)

  • Various configuration changes in fassembler:buildmaster and buildslave.
  • fassembler:wordpress now checks for the presence of its required Apache

System Message: WARNING/2 (<string>, line 85)

Bullet list ends without a blank line; unexpected unindent.

modules, including the Apache PHP module.

  • Bake in pinned requirements for opencore's i18ndude sub-project.

0.6

Fassembler changes
  • Fassembler has hardcoded expectations that the user's $LANG is

System Message: WARNING/2 (<string>, line 96)

Bullet list ends without a blank line; unexpected unindent.

English -- Maker._get_repo_url parses an error message from Subversion with the assumption that it is in English. This manifests when running fassembler:topp while it runs svn info on the etc directory in a new build, which will exist as an unversioned directory.

It now works if the user's $LANG is Spanish, as well. But no other languages!

Of course, this is extremely silly, and should be fixed more properly immediately.

  • When installing a virtualenv, install setuptools 0.6c11 into the new

System Message: WARNING/2 (<string>, line 109)

Bullet list ends without a blank line; unexpected unindent.

virtualenv, always. This prevents problems on systems whose virtualenv version installs the broken setuptools 0.6c8 by default. Symptoms: errors like "unrecognized format" and "global name 'log' is not defined".

  • Fix sporadic bug in projects where use_pip=True: "The expected

System Message: WARNING/2 (<string>, line 115)

Bullet list ends without a blank line; unexpected unindent.

executable ['pip', '-E', ...] was not found." When use_pip=True, Fassembler will now easy_install pip during virtualenv creation, and will add the virtualenv_bin_path to $PATH before trying to run pip. This should guarantee that the executable pip can be found.

Project changes
  • Add a boolean use_pip setting to fassembler:cabochon project.

System Message: WARNING/2 (<string>, line 125)

Bullet list ends without a blank line; unexpected unindent.

Default fassembler:cabochon to use pip instead of easy_install, because it seems to work better here.

  • Modify zeo skel's configuration to use {{env.var}}/zeo/zdsock (a

System Message: WARNING/2 (<string>, line 129)

Bullet list ends without a blank line; unexpected unindent.

unix socket) instead of a port for connections. Modify zope skels' configuration to connect to zeo on {{env.var}}/zeo/zdsock as well. See http://www.coactivate.org/projects/opencore/lists/opencore-dev/archive/2010/07/1278617074321/forum_view

  • The RunZopeScriptsWithZeo task now looks for a

System Message: WARNING/2 (<string>, line 135)

Bullet list ends without a blank line; unexpected unindent.

config.skip_zopectl_scripts setting. If it is set to a True value, the task does nothing. This can be used to prevent the build from hanging on this task if another ZEO instance is already running and the user knows that the zopectl initialization scripts don't need to be run, i.e. when building a code upgrade in parallel to a running site.

  • The fassembler:maildrop and fassembler:zeo projects now include this

System Message: WARNING/2 (<string>, line 143)

Bullet list ends without a blank line; unexpected unindent.

skip_zopectl_scripts setting, with default 0.

  • Add a setting supervisor_var to the supervisor project, which

System Message: WARNING/2 (<string>, line 146)

Bullet list ends without a blank line; unexpected unindent.

defaults to {{env.var}}/supervisor. This is used to build the paths to the Unix socket file and pidfile used by supervisor. It can be useful to set this to a value other than {{env.var}}/supervisor if building an upgrade in parallel to a running site, so that both the old and the new supervisor processes can run simultaneously without interference.

  • The extrazope project now runs python setup.py zinstall in the

System Message: WARNING/2 (<string>, line 154)

Bullet list ends without a blank line; unexpected unindent.

zcmlloader source directory to copy zcmlloader's zcml entrypoint into each additional Zope's package-includes. (At some point soon opencore will stop using zcmlloader in favor of z3c.autoinclude, at which point these zinstalls won't be needed anymore.)

  • The extrazope project now creates a separate var directory for each

System Message: WARNING/2 (<string>, line 160)

Bullet list ends without a blank line; unexpected unindent.

instance and points to that directory in zope.conf for the instance's pidfile, lock file, etc.

0.5

  • Add num_extra_zopes property to the environ object, which looks

System Message: WARNING/2 (<string>, line 167)

Bullet list ends without a blank line; unexpected unindent.

for a num_extra_zopes setting in the [general] section of build.ini and returns it as an integer or 0 if no such setting exists.

  • This setting will then be used to fill in the value of

System Message: WARNING/2 (<string>, line 172)

Bullet list ends without a blank line; unexpected unindent.

opencore_remote_uri in the Frontend configuration, allowing the frontend to proxy to a load-balanced set of Zope instances.

  • A num_extra_zopes setting has also been added to the

System Message: WARNING/2 (<string>, line 176)

Bullet list ends without a blank line; unexpected unindent.

fassembler:topp project, where it is saved to build.ini.

0.4

This is the first tag made for fassembler. A lot happened before now but releases were never cut.

In this release:

  • Added fassembler:extrazope project, which will build an additional

System Message: WARNING/2 (<string>, line 187)

Bullet list ends without a blank line; unexpected unindent.

Zope instance connected to the same ZEO server.

  • In fassembler:opencore, made the debug setting actually work, to

System Message: WARNING/2 (<string>, line 190)

Bullet list ends without a blank line; unexpected unindent.

control whether zope starts in debug mode when running ./opencore/bin/zopectl fg (where it previously always ran with debug-mode=on) or ./bin/start-opencore (where it previously always ran with debug-mode=off)

  • Added a setting never_create_virtualenv for

System Message: WARNING/2 (<string>, line 196)

Bullet list ends without a blank line; unexpected unindent.

fassembler.tasks.VirtualEnv, which, if set, makes that task act as an assertion of the given virtualenv's existence, so that a build can fail if the virtualenv hasn't already been created.

Subscribe to package updates

Download Stats

Last month:5

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.