Hi Martin,

Yes that looks right, I think we will need to add that as a setup step, the slightly misleadingly named checksettings.py will use environ value TOASTER_DIR, to update the saved value, you should get "Build configuration saved" printed out. So in theory you wouldn't need to run checksettings or set TOASTER_DIR after the first time.

With regards to your custom layers, toaster is very git centric at the moment, what some people have done is just a quick 'git init' in the directory as a workaround and then used the import layer page in Toaster to add these layers. Patches very welcome to add support for other layer fetching mechanisms! It's something that we have on our wish list. https://bugzilla.yoctoproject.org/show_bug.cgi?id=6546

Thanks,

Michael

On 09/12/15 10:43, Martin Townsend wrote:
Hi,


Using the Jethro branch I can get past this error by creating a directory for the layers and then using a runbuilds service script like this:
#!/bin/sh
# toaster run builds dispatcher
export TOASTER_DIR=/var/www/bia/toaster/layers
cd toaster
virtualenv venv
. ./venv/bin/activate
./poky/bitbake/lib/toaster/manage.py checksettings
while true; do ./poky/bitbake/lib/toaster/manage.py runbuilds; sleep 3; done

Check Settings looks like it uses TOASTER_DIR if it's not set.

My question now is how should I be setting be.sourcedir?

Cheers,
Martin.



On Tue, Dec 8, 2015 at 4:20 PM, Martin Townsend <[email protected] <mailto:[email protected]>> wrote:

    Hi Michael,

    I get the following which looks like your assumption is correct
    (venv)martint@toaster$ ./poky/bitbake/lib/toaster/manage.py
    checksettings

     -- Validation: The layers checkout directory must be set.
    Traceback (most recent call last):
      File "./poky/bitbake/lib/toaster/manage.py", line 10, in <module>
        execute_from_command_line(sys.argv)
      File
    
"/var/www/toaster/venv/local/lib/python2.7/site-packages/django/core/management/__init__.py",
    line 399, in execute_from_command_line
        utility.execute()
      File
    
"/var/www/toaster/venv/local/lib/python2.7/site-packages/django/core/management/__init__.py",
    line 392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
      File
    
"/var/www/toaster/venv/local/lib/python2.7/site-packages/django/core/management/base.py",
    line 242, in run_from_argv
        self.execute(*args, **options.__dict__)
      File
    
"/var/www/toaster/venv/local/lib/python2.7/site-packages/django/core/management/base.py",
    line 285, in execute
        output = self.handle(*args, **options)
      File
    
"/var/www/toaster/venv/local/lib/python2.7/site-packages/django/core/management/base.py",
    line 415, in handle
        return self.handle_noargs(**options)
      File
    
"/var/www/toaster/poky/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py",
    line 157, in handle_noargs
        retval += self._verify_build_environment()
      File
    
"/var/www/toaster/poky/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py",
    line 125, in _verify_build_environment
        while _verify_be():
      File
    
"/var/www/toaster/poky/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py",
    line 76, in _verify_be
        if not be.sourcedir.startswith("/"):
    AttributeError: 'NoneType' object has no attribute 'startswith'


    I think toaster isn't going to work for me.  I wanted to use
    Toaster to build from layers I have setup within the
    /var/www/bia/yocto directory which have several custom layers of
    which 3 are in SVN (sadly this is what the customer wants to use),
    I was looking at the local yocto project and a custom
toasterconf.json file and can't see how I would make this work. Please let me know if I'm wrong.

    Cheers,
    Martin.

    On Tue, Dec 8, 2015 at 3:26 PM, Michael Wood
    <[email protected] <mailto:[email protected]>> wrote:

        Hi,

        If you're using master the instructions on the Wiki might be
        more useful as they're the WIP instructions.

        
https://wiki.yoctoproject.org/wiki/Setting_up_a_production_instance_of_Toaster

        I've responded in-line to your points 1-8

        On 08/12/15 14:12, Martin Townsend wrote:

            Hi,

            I'm using Ubuntu 14.04 LTS, I've cloned poky as myself and
            added myself to the www-data group and used
            sudo setfacl -d -m group:www-data:rwx /var/www
            before doing all this so permissions should be ok.
            /var/www has group ownership of www-data

            I've checkout out master.

            Ah yes, the toaster mailing list would have been better :)

            Cheers,
            Martin.


            On Tue, Dec 8, 2015 at 1:46 PM, Mihail, StanciuX
            <[email protected]
            <mailto:[email protected]>
            <mailto:[email protected]
            <mailto:[email protected]>>> wrote:

                Hi Martin,

                First off, may I suggest the toaster mailing list in
            the future if
                you have questions ([email protected]
            <mailto:[email protected]>
                <mailto:[email protected]
            <mailto:[email protected]>>)

                As for your problem:

                Something is off about the way your toaster was started.

                Here’s how the first line above your traceback looks
            on my machine:
                lbc_shellcmmd: (/home/dave/poky) git remote –v

                That location “/home/dave/poky” is where I issued the
            toaster
                start command (bitbake/bin/toaster).

                I’ve tried to reproduce this on my machine but haven’t
            been able
                to do it.

                Could you please let us know how you started toaster
            and from what
                location? Also, was it as root or a different user?

                Off the top of my head , one thing that might cause
            this would be
                if you cloned poky as root then somehow started
            toaster as a
                different user.

                Also, which yocto project (poky) release are you
            using? Was it
                master or maybe Jethro?

                Oh, and what flavor linux is this on?

                Regards,

                Mihail

                *From:*[email protected]
            <mailto:[email protected]>
                <mailto:[email protected]
            <mailto:[email protected]>>
                [mailto:[email protected]
            <mailto:[email protected]>
                <mailto:[email protected]
            <mailto:[email protected]>>] *On Behalf Of
            *Martin
                Townsend
                *Sent:* Tuesday, December 08, 2015 12:40 PM
                *To:* [email protected]
            <mailto:[email protected]>
            <mailto:[email protected]
            <mailto:[email protected]>>
                *Subject:* [yocto] Toaster Problem

                Hi,

                I'm trying out a production instance of toaster, I'm
            following the
                instructions from here

            
http://www.yoctoproject.org/docs/latest/toaster-manual/toaster-manual.html#toaster-setting-up-a-production-instance-of-toaster

                I managed to get toaster up and running but had to
            adjust a few
                things which you might want to correct in the
            documentation:

                1) virtualenv package doesn't exist in Ubuntu 14.04
            had to use
                python-virtualenv

                2) You need python headers later so add python-dev to
            list of
                packages to install

                3) After cloning poky there should be a cd poky before
            checking
                out a branch.

                4) SECRET_KEY, it would be nice to know what this is
            used for,
                what characters is can contain, ie can it contain spaces.


        More info on that can be found at
        
https://docs.djangoproject.com/en/1.8/howto/deployment/checklist/#secret-key

                5) In the mysql part is states we are creating a
            database called
                toaster but in the settings.py we specify toaster_main
            one of them
                needs correcting.

                6) Before calling ./bitbake/lib/toaster/manage.py
            syncdb --migrate
                maybe it should link to 3.5 and state that you should
            create a
                Django super user first.

                7)There's a typo in the Apache toaster.conf
                s/toastern_wsgi/toaster_wsgi/


        I think all those other points are correct/corrected on the
        wiki at the moment.

                8) Build runner service is wrong, there needs to be
            the poky
                directory involved somewhere, either cd
            /var/www/toaster/poky or
                we call ./poky/bitbake/toaster/manage.py

                Even with all this I can't get it to build, creating a
            project
                based on fido 1.8 and trying to build core-image-lsb I get

                2015-12-08 10:27:57,705 DEBUG localhostbecontroller,
            our git repos are
            {(u'git://git.yoctoproject.org/meta-yocto
            <http://git.yoctoproject.org/meta-yocto>
                <http://git.yoctoproject.org/meta-yocto>', u'fido'):
            [(u'meta-yocto',
                           u'meta-yocto'),
                          (u'meta-yocto-bsp',
                           u'meta-yocto-bsp')],
                  (u'git://git.yoctoproject.org/poky
            <http://git.yoctoproject.org/poky>
            <http://git.yoctoproject.org/poky>', u'fido'):
            [('bitbake', u'bitbake'),
                    (u'openembedded-core',
                     u'meta')]}
                2015-12-08 10:27:57,705 DEBUG lbc_shellcmmd: () git
            remote -v
                Traceback (most recent call last):
                   File
            
"/var/www/toaster/poky/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py",
            line 60, in schedule
             bec.triggerBuild(br.brbitbake_set.all(),
            br.brlayer_set.all(), br.brvariable_set.all(),
            br.brtarget_set.all())
                   File
            
"/var/www/toaster/poky/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py",
            line 282, in triggerBuild
                     self.setLayers(bitbake, layers, targets)
                   File
            
"/var/www/toaster/poky/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py",
            line 150, in setLayers
                     for remotes in self._shellcmd("git remote -v",
            self.be.sourcedir).split("\n"):
                   File
            
"/var/www/toaster/poky/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py",
            line 59, in _shellcmd
                     p = subprocess.Popen(command, cwd = cwd,
            shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
                   File "/usr/lib/python2.7/subprocess.py", line 710,
            in __init__
                     errread, errwrite)
                   File "/usr/lib/python2.7/subprocess.py", line 1327,
            in _execute_child
                     raise child_exception
                OSError: [Errno 2] No such file or directory: ''

                  in the console.

                Any idea whats going wrong?


        Hmm seems like the self.be.sourcedir might not set. Are you
        able to run ./poky/bitbake/lib/toaster/manage.py
        checksettings  and then try again?

        Thanks,

        Michael


                Cheers,

                Martin.





-- _______________________________________________
        toaster mailing list
        [email protected] <mailto:[email protected]>
        https://lists.yoctoproject.org/listinfo/toaster




--
_______________________________________________
toaster mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/toaster

Reply via email to