[e-dev-day 2014][16/16] launching the efl ecosystem into the stratosphere
TRANSCRIPT
Ecosystem
Carsten Haitzler (Raster)
<[email protected]><[email protected]>
Tom Hacohen (Tasn)
<[email protected]><[email protected]>
E Dev Day 2014
Blah blah blah
●We need to improve the ecosystem●Blah blah blah●Documentation●Blah blah blah●Tools●Blah blah blah●“Appstore”
The problem
●“I have an idea for an app!”●Have to write:
configure.ac, README, COPYING, Makefile.am's (lots of them), spec file (possibly multiple), debian dir + build files, pkgbuild files, ebuild, …
Haven't even started app yet.●Have a working app... how do I share?
●Make distcheck, need place to upload, need to set up build systems/vm's for multiple distributions and OSs and server space for PPAs etc.
Even if EFL is thereEven if you know it well
●Huge barrier of entry just to start●Huge barrier of entry to share●Massive knowledge needed●Installation still needs root
●What if you are not admin?
●Adding PPAs or repos is “scary”●Text files, sudo, cmdline
Less TalkingMore Doing
Introducing...
MARRAKESH
Famed City in Morroco
●Known for its markets & bazaars●Major trading post●Lots of colorful photos
Also now ... “App Bazaar”
●Starts projects from nothing●Replaces:
●autofoo/cmake●make●dpkg/apt/yum/rpm/pacman/ebuild etc.
●Searching/listing of market●Simple install/uninstall●User install (no root)●Build system on server
Is SUPER SIMPLE
mrk new
mrk build
mrk check
mrk bin
mrk rel
...
mrk list
mrk list utilities
mrk search Key Words
mrk get Package
mrk rm Package
(or rm -rf ~/Applications/Package)
...
DEMO
Single build file is SIMPLE
●Like a Makefile – in top of src●Created by “mrk new”●Contains packaging too●Has minimum of information●Simple format
Marrakesh.mrkPROJ: Hello
PROJICON: app/hello.png
BRIEF: Hello test app
VERSION: 1.0.0
LICENSE: GPL2
COPYING: COPYING AUTHORS
NEEDS: 1.11
DOMAIN: hello
CONTACT: Raster <[email protected]>
CATEGORY: utilities
TAGS: test simple hello
DESKTOP: app/hello.desktop
ICON: app/hello.png
BIN: bin/hello
SRC: src/main.c src/main.h
DEPS: elementary
INC: src/bin
DATA:
README > share/hello/README
data/bg.jpg > share/hello/bg/bg.jpg
WORKS TODAY
●Test server running “when needed”●You can run your own server●Very simple & small codebase●Proof of concept to promote action
●Will march on and become production●Help out now if you want to define it
●Server only builds 1 arch ATM●Waiting on VMs to go online (prepared)
WORKS TODAY
●Server build is defined by shell script●Mrk files can't define any execution
●Secure to build (unlike make etc.)●Simplicity●Assume modern pkg-config world●Assume relocatable apps (EFL does this)●Can only do binaries ATM
●No shared libs/modules●Doesn't understand edc
Future
●Developer “accounts” (keys)●Source signing & verifiation●Server signing●Client signature verification●… and more
Experiment
●Does it promote EFL installs?●Does it promote app development?●Do we now see more apps + activity●Is meant to COMPLIMENT
●Better docs●More distribution packages of EFL
●Would other desktops join in●Install isn't E/EFL specific
Experiment
●If this works on Windows/OSX●How many apps will “work” there?●How will it affect developer/userbase?●How will it affect EFL image?
●How long will it take to be attacked?●Malware/trojans?●Actual protocol/server attacks?
●Will these even succeed?