[Sugar-devel] Why setup.py?

Tomeu Vizoso tomeu at sugarlabs.org
Tue Apr 28 10:36:26 EDT 2009


On Tue, Apr 28, 2009 at 16:30, Bert Freudenberg <bert at freudenbergs.de> wrote:
>
> On 28.04.2009, at 16:22, Tomeu Vizoso wrote:
>
>> On Tue, Apr 28, 2009 at 16:16, Bert Freudenberg
>> <bert at freudenbergs.de> wrote:
>>>
>>> On 28.04.2009, at 15:49, Aleksey Lim wrote:
>>>
>>>> On Tue, Apr 28, 2009 at 03:43:37PM +0200, Bert Freudenberg wrote:
>>>>> On 28.04.2009, at 15:33, SugarLabs Bugs wrote:
>>>>>
>>>>>> #795: Lack of setup.py in Etoys-101.tar.gz
>>>>>> Ticket URL: <http://dev.sugarlabs.org/ticket/795#comment:3>
>>>>>
>>>>>
>>>>> So the "fix" is to include this three-line script:
>>>>>
>>>>> #!/usr/bin/python
>>>>> from sugar.activity import bundlebuilder
>>>>> bundlebuilder.start()
>>>>>
>>>>> That does not make sense to me. Why should each and every activity
>>>>> bundle include the same script?
>>>>
>>>> In that case user(not only packager) has a standard way to bundle
>>>> installed activity(by command "./setup.py dist_xo") despite of the
>>>> nature
>>>> of this activity.
>>>>
>>>> Packager can have standard way to install it by command
>>>> "./setup.py install" as well
>>>
>>>
>>> To install an activity, unzip it in the right location. Same for the
>>> tarball - simply extract it, done.
>>>
>>> Activities were specifically designed to not require installation.
>>> Unzipping the .xo is all that is needed.
>>>
>>> If this design changed, someone failed to notify activity authors and
>>> to update the documentation. If so, please specify how setup.py is
>>> going to get invoked, and what it is supposed to do.
>>
>> I don't think it's a requirement of Sugar, but a convenience for
>> packagers.
>
>
> But if it is the same for every activity, why can't it ship with Sugar
> then? Why does each activity have to include it?

Because the idea is that activity authors extend it for their own needs.

> And if you insist that an activity should provide a setup.py file,
> where is the spec? How can I verify it's working and covering all
> cases? What does it do?

The spec is waiting someone to write it ;)

setup.py exists because it addresses a real need, not to say it's the
best solution, but works.

> And what will happen if someone invokes it from the etoys git repo,
> which includes many more files than go into the activity bundle?

TBH, I don't know much about setup.py, but I think you specify in
MANIFEST which files you want to go into the bundle.

Regards,

Tomeu


More information about the Sugar-devel mailing list