Re: [E-devel] Weekend project: distro-builder

2017-02-03 Thread anisse
Hi Raster,

On Fri, Feb 03, 2017 at 06:14:49PM +0900, Carsten Haitzler wrote:
> On Tue, 31 Jan 2017 13:07:50 +0100 ani...@astier.eu said:
> 
> so what i see is just an "executable" "debian install docs" or "ubuntu install
> docs" or "fedora" etc.

Exactly. It's just that: a way to validate docs, against reality, in an
automated and verifiable fashion. Nothing more.

> ... but what about:
> 
> arch
Adding Arch is on my todo list.

> gentoo
> slackware
> opensbd
> freebsd
> suse
> rhel
> mint
> nixos
> gobolinux
> ...

Yes there are *many* Linux distros. It doesn't mean that we shouldn't
try to address the top ones. And make sure the documentation is
up-to-date and works, unlike on some wiki pages.

> 
> you get the idea - it becomes an endless list of packages for an endless list
> of distributions and variants... (also ubuntu for example needs to be split
> between 14.x, 15.x 16.x etc. as the package deps change)...

Actually, this is already supported. Since I just added the last two
versions, I didn't see any change so I didn't split the files.

> 
> its a horrible intractable problem with so many permutations that it just is
> insane... which is why a lot of it is left "fuzzy" and up to people to figure
> out with per distro guides being generally fairly rough... :)
> 
> there is really only one solution i can think of that works:
> 
> ship dependencies beyond an incredibly small core (eg depend on libc/libm and
> friends and nothing else). that means instead having a builder that would 
> fetch
> all the efl's dependencies and build them and install then also build and
> install efl too. e.g. in /opt/e - and then you can just ship a tarball
> of /opt/e and avoid everything else.
> 
> this is a solution that actually might work as it totally side-steps the
> "million distros and versions and permutations of them" problem.

I understand, but I think this is a different problem, which is shipping
working software to users. Traditionnally this job was left to packagers.
Packagers make sure that the software goes to users.

I want to make sure that the build dependencies are properly documented
for at least the major distros. I'm not trying to address the bigger
picture, only this small part, on which I think the project is currently
lacking.

Regards,

Anisse



--
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Weekend project: distro-builder

2017-02-03 Thread The Rasterman
On Tue, 31 Jan 2017 13:07:50 +0100 ani...@astier.eu said:

so what i see is just an "executable" "debian install docs" or "ubuntu install
docs" or "fedora" etc. ... but what about:

arch
gentoo
slackware
opensbd
freebsd
suse
rhel
mint
nixos
gobolinux
...

you get the idea - it becomes an endless list of packages for an endless list
of distributions and variants... (also ubuntu for example needs to be split
between 14.x, 15.x 16.x etc. as the package deps change)...

its a horrible intractable problem with so many permutations that it just is
insane... which is why a lot of it is left "fuzzy" and up to people to figure
out with per distro guides being generally fairly rough... :)

there is really only one solution i can think of that works:

ship dependencies beyond an incredibly small core (eg depend on libc/libm and
friends and nothing else). that means instead having a builder that would fetch
all the efl's dependencies and build them and install then also build and
install efl too. e.g. in /opt/e - and then you can just ship a tarball
of /opt/e and avoid everything else.

this is a solution that actually might work as it totally side-steps the
"million distros and versions and permutations of them" problem.

> Over the years, the dependency list for EFL has grown quite a bit. As a
> results, it's often been a pain to build the whole thing from git as a
> new developer (if you don't want to use your distro packages).
> You have to figure out what to install, by finding which package
> correspond to the libs described in the Requirements section of the
> README[1]. Or to apt-get build-dep old dependencies based on the current
> package. Or, you can try to follow the outdated docs on the wiki[2]
> for your distro.
> 
> I have tried updating those docs once[3] using a bare distro, in order
> to make sure we have the full list of needed dependencies.
> 
> What would be better would be to make sure the process I used to verify
> the dependency list is reproductible, so that we could simply document
> the dependencies for each distro. That's where distro-builder comes in:
> https://github.com/anisse/distro-builder
> 
> It's a relatively simple script that currently builds efl and
> terminology on fedora 24/25, debian stretch and ubuntu 16.04/16.10.
> 
> The final goal would be to have this script and the dependency files in
> the efl tree, and running it regularly, possibly on CI.
> 
> It could even help making sure the current cmake transition goes
> smoothly on different distros :-)
> 
> I'm looking forward to your feedback.
> 
> Anisse
> 
> [1] https://git.enlightenment.org/core/efl.git/tree/README?h=v1.18.4#n444
> [2] https://www.enlightenment.org/docs
> [3]
> https://git.enlightenment.org/website/www-content.git/commit/pages/distros/fedora-start.txt?id=a640068093a40797386716d500484ffc2b325fec
> 
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> 


-- 
- Codito, ergo sum - "I code, therefore I am" --
The Rasterman (Carsten Haitzler)ras...@rasterman.com


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Weekend project: distro-builder

2017-02-01 Thread Simon Lees


On 02/01/2017 09:24 PM, ani...@astier.eu wrote:
> On Wed, Feb 01, 2017 at 02:48:27PM +1030, Simon Lees wrote:
>>
>> On openSUSE atleast you can just install then uninstall efl-devel this
>> will pull in all the deps automatically as the packages are kept up to
>> date.  Alternately the current list is available here,
>> https://build.opensuse.org/package/view_file/X11:Enlightenment:Factory/efl/efl.spec?expand=1
>>
>>
>> Cheers
>> -- 
>>
>> Simon Lees (Simotek)http://simotek.net
> 
> 
> Thanks Simon, great job on the packaging. It's true that in your case
> "zypper si -d efl-devel" would be sufficient for the published version,
> but what about git? What if a dev/CI wants to test that the current
> git master or branch it still builds on openSUSE, but doesn't run
> openSUSE? My goal was also to automate this properly.
> 
The openSUSE build service commandline interface "osc" is available on
several distro's so that + a spec file can be used to build for openSUSE
+ Fedora (maybe even debian and arch if we try hard enough) on one of
several distros.

There is a X11:Enlightenment:Nightly repo that needs some work (I might
do some tomorrow), the seemingly likely adoption of cmake makes it
likely that i'll fix it the easy way. Anyway that repo will have regular
git builds again hopefully soon.

> Of course, since dependencies aren't really modified everyday, it's a
> bit of a niche usecase. That's why I was asking for feedback before
> going further :-)
> 
> Regards,
> 
> Anisse
> 
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> 

-- 

Simon Lees (Simotek)http://simotek.net

Emergency Update Team   keybase.io/simotek
SUSE Linux   Adelaide Australia, UTC+10:30
GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B



signature.asc
Description: OpenPGP digital signature
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Weekend project: distro-builder

2017-02-01 Thread anisse
On Wed, Feb 01, 2017 at 02:48:27PM +1030, Simon Lees wrote:
> 
> On openSUSE atleast you can just install then uninstall efl-devel this
> will pull in all the deps automatically as the packages are kept up to
> date.  Alternately the current list is available here,
> https://build.opensuse.org/package/view_file/X11:Enlightenment:Factory/efl/efl.spec?expand=1
> 
> 
> Cheers
> -- 
> 
> Simon Lees (Simotek)http://simotek.net


Thanks Simon, great job on the packaging. It's true that in your case
"zypper si -d efl-devel" would be sufficient for the published version,
but what about git? What if a dev/CI wants to test that the current
git master or branch it still builds on openSUSE, but doesn't run
openSUSE? My goal was also to automate this properly.

Of course, since dependencies aren't really modified everyday, it's a
bit of a niche usecase. That's why I was asking for feedback before
going further :-)

Regards,

Anisse

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Weekend project: distro-builder

2017-01-31 Thread Simon Lees


On 01/31/2017 10:37 PM, ani...@astier.eu wrote:
> Over the years, the dependency list for EFL has grown quite a bit. As a
> results, it's often been a pain to build the whole thing from git as a
> new developer (if you don't want to use your distro packages).
> You have to figure out what to install, by finding which package
> correspond to the libs described in the Requirements section of the
> README[1]. Or to apt-get build-dep old dependencies based on the current
> package. Or, you can try to follow the outdated docs on the wiki[2]
> for your distro.
> 
> I have tried updating those docs once[3] using a bare distro, in order
> to make sure we have the full list of needed dependencies.
> 
> What would be better would be to make sure the process I used to verify
> the dependency list is reproductible, so that we could simply document
> the dependencies for each distro. That's where distro-builder comes in:
> https://github.com/anisse/distro-builder
> 
> It's a relatively simple script that currently builds efl and
> terminology on fedora 24/25, debian stretch and ubuntu 16.04/16.10.
> 
> The final goal would be to have this script and the dependency files in
> the efl tree, and running it regularly, possibly on CI.
> 
> It could even help making sure the current cmake transition goes
> smoothly on different distros :-)
> 
> I'm looking forward to your feedback.
> 
> Anisse
> 
> [1] https://git.enlightenment.org/core/efl.git/tree/README?h=v1.18.4#n444
> [2] https://www.enlightenment.org/docs
> [3] 
> https://git.enlightenment.org/website/www-content.git/commit/pages/distros/fedora-start.txt?id=a640068093a40797386716d500484ffc2b325fec
> 

On openSUSE atleast you can just install then uninstall efl-devel this
will pull in all the deps automatically as the packages are kept up to
date.  Alternately the current list is available here,
https://build.opensuse.org/package/view_file/X11:Enlightenment:Factory/efl/efl.spec?expand=1


Cheers
-- 

Simon Lees (Simotek)http://simotek.net

Emergency Update Team   keybase.io/simotek
SUSE Linux   Adelaide Australia, UTC+10:30
GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B



signature.asc
Description: OpenPGP digital signature
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Weekend project: distro-builder

2017-01-31 Thread anisse
Awesome ! This is currently out-of-scope since this script relies on
linux-only systemd-nspawn. I've pondered doing a qemu-based version for
cross-compiling, but even then I only thought of Linux (with
qemu-user-static/binfmt).

I'm not really knowledgeable on BSD stuff, but I think it would be great
if you could copy this over to the Enlightenment wiki:
https://www.enlightenment.org/docs

Regards,

Anisse

On Tue, Jan 31, 2017 at 03:45:16PM +, Al Poole wrote:
> Hey,
> 
> I'm not sure if this helps. But I've a list of dependencies and build
> instructions for OpenBSD, FreeBSD, DragonFly BSD and Debian here:
> 
> http://efl.haxlab.org/
> 
> Hope it helps.
> 

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Weekend project: distro-builder

2017-01-31 Thread Al Poole
Hey,

I'm not sure if this helps. But I've a list of dependencies and build
instructions for OpenBSD, FreeBSD, DragonFly BSD and Debian here:

http://efl.haxlab.org/

Hope it helps.

On Tue, Jan 31, 2017 at 2:29 PM,  wrote:

> Hi Andrew,
>
> On Tue, Jan 31, 2017 at 12:47:08PM +, Andrew Williams wrote:
> > Hi,
> >
> > It sounds like it would be really great to perhaps bring that into efler?
> > Efler is a boostrapper and app discovery / install manager platform that
> > has similar aims.
> > It aims to have a 1 line install command that you can read more about
> here:
> > http://bit.ly/efler
> >
> > Currently efler can bootstrap Arch/Manjaro and OSX - Ubuntu was next on
> my
> > list.
> > Upon a successful bootstrap you have efl and efler installed and you are
> > handed over to the efler UI to pick other apps for your install pleasure
> :)
> >
> > Let me know what you think!
> > Andrew
> >
>
> I think the motivations are orthogonal. My goal is to make sure the list
> of dependencies is up-to-date, and still works. Hopefully once this
> works, you can just "pacman -i $(cat deps/archlinux)" instead of
> hardcoding[1] the list of dependencies.
>
> efler's goal is to make sure anyone can install the EFLs easily.
> distro-builder's goal is to make sure devs and CI can verify EFLs still
> build on all distros given a dependency list.
>
> Regards,
>
> Anisse
>
> [1] https://git.enlightenment.org/devs/ajwillia-ms/efler.git/
> tree/bootscripts/os/arch.sh
>
> 
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Weekend project: distro-builder

2017-01-31 Thread anisse
Hi Andrew,

On Tue, Jan 31, 2017 at 12:47:08PM +, Andrew Williams wrote:
> Hi,
> 
> It sounds like it would be really great to perhaps bring that into efler?
> Efler is a boostrapper and app discovery / install manager platform that
> has similar aims.
> It aims to have a 1 line install command that you can read more about here:
> http://bit.ly/efler
> 
> Currently efler can bootstrap Arch/Manjaro and OSX - Ubuntu was next on my
> list.
> Upon a successful bootstrap you have efl and efler installed and you are
> handed over to the efler UI to pick other apps for your install pleasure :)
> 
> Let me know what you think!
> Andrew
> 

I think the motivations are orthogonal. My goal is to make sure the list
of dependencies is up-to-date, and still works. Hopefully once this
works, you can just "pacman -i $(cat deps/archlinux)" instead of
hardcoding[1] the list of dependencies.

efler's goal is to make sure anyone can install the EFLs easily.
distro-builder's goal is to make sure devs and CI can verify EFLs still
build on all distros given a dependency list.

Regards,

Anisse

[1] 
https://git.enlightenment.org/devs/ajwillia-ms/efler.git/tree/bootscripts/os/arch.sh

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Weekend project: distro-builder

2017-01-31 Thread Andrew Williams
Hi,

It sounds like it would be really great to perhaps bring that into efler?
Efler is a boostrapper and app discovery / install manager platform that
has similar aims.
It aims to have a 1 line install command that you can read more about here:
http://bit.ly/efler

Currently efler can bootstrap Arch/Manjaro and OSX - Ubuntu was next on my
list.
Upon a successful bootstrap you have efl and efler installed and you are
handed over to the efler UI to pick other apps for your install pleasure :)

Let me know what you think!
Andrew

On Tue, 31 Jan 2017 at 12:08  wrote:

> Over the years, the dependency list for EFL has grown quite a bit. As a
> results, it's often been a pain to build the whole thing from git as a
> new developer (if you don't want to use your distro packages).
> You have to figure out what to install, by finding which package
> correspond to the libs described in the Requirements section of the
> README[1]. Or to apt-get build-dep old dependencies based on the current
> package. Or, you can try to follow the outdated docs on the wiki[2]
> for your distro.
>
> I have tried updating those docs once[3] using a bare distro, in order
> to make sure we have the full list of needed dependencies.
>
> What would be better would be to make sure the process I used to verify
> the dependency list is reproductible, so that we could simply document
> the dependencies for each distro. That's where distro-builder comes in:
> https://github.com/anisse/distro-builder
>
> It's a relatively simple script that currently builds efl and
> terminology on fedora 24/25, debian stretch and ubuntu 16.04/16.10.
>
> The final goal would be to have this script and the dependency files in
> the efl tree, and running it regularly, possibly on CI.
>
> It could even help making sure the current cmake transition goes
> smoothly on different distros :-)
>
> I'm looking forward to your feedback.
>
> Anisse
>
> [1] https://git.enlightenment.org/core/efl.git/tree/README?h=v1.18.4#n444
> [2] https://www.enlightenment.org/docs
> [3]
> https://git.enlightenment.org/website/www-content.git/commit/pages/distros/fedora-start.txt?id=a640068093a40797386716d500484ffc2b325fec
>
>
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
-- 
http://andywilliams.me
http://ajwillia.ms
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel