~longsleep/snapcraft/snapcraft-debs-plugin

« back to all changes in this revision

Viewing changes to docs/flow.md

  • Committer: Snappy Tarmac
  • Author(s): Michael Terry, Michael Vogt
  • Date: 2015-08-04 21:01:35 UTC
  • mfrom: (105.3.11 docs-1)
  • Revision ID: snappy_tarmac-20150804210135-w8e1to44t689ju6k
Add intro and tutorial docs.

The intro file explains Snappy and the general Snapcraft concepts a bit.  It covers the same material as flow.md, so I dropped that file.

The tutorial file goes through crafting a webcam demo snap [1].

I want to add an installing/testing/uploading-to-store section too, but I want to get some experience using the webcam bit and dealing with apparmor for it (seeing if I can get kvm to use my laptop webcam or if I need to have a real USB webcam with a beaglebone).  But that addition can happen in a separate branch.

This is taking over from lp:~mvo/snapcraft/docs-1 since mvo is on vacation.

[1] Very similar to https://developer.ubuntu.com/en/snappy/guides/appliance-builder-guide-webcam/ by snappy-dev approved by elopio

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Part Flow
2
 
 
3
 
Each part has 3 major user-visible stages: build, stage, and snap.  Put respectively into parts/XXX, stage/, and snap/ directories.
4
 
 
5
 
## Build
6
 
 
7
 
There are actually several steps rolled into this one conceptual piece.
8
 
 
9
 
### Pull (parts/XXX/src)
10
 
 
11
 
This gets the source.
12
 
 
13
 
### Build (parts/XXX/build and parts/XXX/install)
14
 
 
15
 
This builds the source in build/ and does 'make install' or equivalent into install/.  Other parts that depend upon this one will be able to build against this part's install/ folder.
16
 
 
17
 
## Stage
18
 
 
19
 
This copies all files from parts/XXX/install into stage/ (or hardlinks them).  It complains if there would be any conflicts.
20
 
 
21
 
## Snap
22
 
 
23
 
This copies all files from stage/ to snap/ while filtering some files that shouldn't be delivered to end user.
24
 
 
25
 
## Assemble
26
 
 
27
 
This is a final last step, which basically runs "snappy build snap/"