Re: [E-devel] Weekend project: distro-builder
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
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
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
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
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
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
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
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
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:08wrote: > 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