Difference between revisions of "Autocurated Packages"

From Creative Commons
Jump to: navigation, search
(Makefile)
(Steps to build the package)
Line 27: Line 27:
  
 
* use curl to get content from the URL into a folder, called 'content'
 
* use curl to get content from the URL into a folder, called 'content'
* make packages from this content folder like the following
+
* make packages from this content folder like the following, into directory, called 'packages'
 
** jamendo_`date +%F`.tar.gz
 
** jamendo_`date +%F`.tar.gz
 
** jamendo_`date +%F`.tar.bz2
 
** jamendo_`date +%F`.tar.bz2
Line 36: Line 36:
 
* create .deb with alien or the like, or directly
 
* create .deb with alien or the like, or directly
 
** jamendo_`date +%F`.deb
 
** jamendo_`date +%F`.deb
 +
 +
To generate all packages:
 +
 +
make dist
 +
 +
To generate specific {tar.gz,tar.bz2,zip,xo1,rpm,deb,ebuild} package:
 +
 +
make PACKAGE_TYPE
 +
 +
Example:
 +
 +
make xo1
  
 
=== .spec file ===  
 
=== .spec file ===  

Revision as of 19:18, 1 October 2007


The idea of auto-curated packages is that high-quality content can be pulled from media hosting sites that support a RESTful API for getting CC licensed content. The community from these sites has peer reviewed content so that it makes it easy to automatically pull down a top ten best tracks, or something similar, and then timestamp them, and package them for inclusion onto various devices.

While there are many sites on the web, having the ability to package content on the fly is akin to packaging of an album, producing a checkout item, and is vitally important for platforms like the OLPC and OpenMoko who rely upon package management for their limited storage space.

Brain Dump

In a folder like 'jamendo' have the following files:

Makefile

The makefile should have basic infrastructure to ubild packages into a /packages folder

Makefile.conf

This Makefile.conf should have simple variables in the header of the file so that it is easy to target a different media hosting site and generate a new package

Features should include

Steps to build the package

  • use curl to get content from the URL into a folder, called 'content'
  • make packages from this content folder like the following, into directory, called 'packages'
    • jamendo_`date +%F`.tar.gz
    • jamendo_`date +%F`.tar.bz2
    • jamendo_`date +%F`.zip
    • jamendo_`date +%F`.xo1 (zip for olpc)
  • call .spec file to make rpms
    • jamendo_`date +%F`.rpm
  • create .deb with alien or the like, or directly
    • jamendo_`date +%F`.deb

To generate all packages:

make dist

To generate specific {tar.gz,tar.bz2,zip,xo1,rpm,deb,ebuild} package:

make PACKAGE_TYPE

Example:

make xo1

.spec file

The spec file should simply use the generated tarball and Makefile to make an RPM. After this is done, then it will be easy to put these package builds, which will change possibly upon each run of the script, into a build system and for by use of RPM-based distributions.


Other Packaging System

Also, there could easily be wrapper scripts for generating .deb packages necessary for debian-based distributions like Ubuntu. One can use the program 'Alien' to convert from an RPM to a .deb package.

Also, gentoo ebuilds would be another interesting target.