How to create a Fedora spin – Developer Meet Up in Hong Kong

Hon Nguyen (Vietnam), Dicky (Hong Kong), Hong Phuc (Vietnam) (from right to left)

Dicky (Hong Kong) and Mathieu Bridon (France)

At our meet ups at GNOME.Asia in Hong Kong it was great to meet developers from different continents. One thing we were particularly interested in is, how to create a custom Linux based on Fedora Linux.

Well, we were lucky to meet Mathieu Bridon (Blog). There are some pictures below. Even though some pictures might look just like socializing in a pub, we actually took quite late until the eve to learn about using Kickstart files to create our own custom Linux. Thank you! So the how to of Mathieu below first.

== Building your downstream distro ==

From a Fedora system:
    # yum install spin-kickstarts pungi

See the kickstarts used to create the various Fedora spins in:
    /usr/share/spin-kickstarts/*

Use that as examples, the actual kickstart doc is at:
    http://fedoraproject.org/wiki/Anaconda/Kickstart

Then once you have your kickstart file:
    # pungi -c [your kickstart file]

(see pungi -h for all the options)

== Avoiding trademark issues ==

Replace fedora-logos by generic-logos to avoid the Fedora trademarks.

Clone the git repository for the package spec file:
$ fedpkg clone -a generic-logos
$ cd generic-logos

Fetch the source tarball:
$ fedpkg sources

Make your own tarball following the layout and file names.

Rename the spec file (and change the Name: tag):
Name:       xmario-logos
Version:    17.0.0
[… snip …]
Source0:    https://fedorahosted.org/released/%{name}/%{name}-%{version}.tar.bz2

See how the tarball is named like the spec file?

Rebuild:
$ fedpkg mockbuild

== Caching packages ==

1. Synchronize the whole repository:
$ yum install yum-utils
$ reposync -r fedora -r updates -p /path/to/repository_cache

2. Keep in cache the packages you install:
  1. set keepcache=1 in /etc/yum.conf
  2. install, update,…
  3. $ find /var/cache/yum -name ‘*.rpm’

3. Download packages:
$ yum install yum-utils
$ yumdowloader foo
$ yumdownloader –resolve foo

Some different approaches to repo caching:
http://yum.baseurl.org/wiki/YumMultipleMachineCaching

 

If you need to make an install media (not live), you’ll have to maintain
a trivial patch to anaconda.

$ fedpkg clone -a anaconda
$ cd anaconda
$ fedpkg prep
$ cd anaconda-$version
$ git init
$ git add .
$ git commit -m prepped
$ cp pyanaconda/installclasses/{fedora.py,xmario.py}

Replace all occurences of “fedora” by “xmario” in the file you copied,
and give it a **higher** priority (bigger number) than all other install
classes so that yours is used.

Create a patch that adds your modifications. I like to use git for that,
but you can just use the diff command if you prefer:
$ git commit -a -m “Create our install class for X-Mario”
$ git format-patch HEAD~1
$ mv 0001-*.patch ..
$ cd ..

Add the patch to the spec file header:
    [… snip …]
    Patch1000000: 0001-blabla.patch
    [… snip …]

Apply at the end of %setup:
    %patch1000000 -p1

Bump the “Release:” tag and add a changelog message in %changelog.

Commit to git:
$ git add 0000*.patch anaconda.spec
$ git commit -m “Bla bla bla commit message”

Rebuild:
$ fedpkg mockbuild

More about fedpkg:
http://fedoraproject.org/wiki/Using_Fedora_GIT

Mathieu Bridon and Sammy Fung (HK)

Continue ReadingHow to create a Fedora spin – Developer Meet Up in Hong Kong

FOSSASIA community meetup at GNOME.Asia 2012

GNOME.Asia Hong Kong 2012

 

FOSSASIA members had a wonderful get together at GNOME.Asia 2012 in Hong Kong. 

About GNOME.Asia Summit. The event is Asia’s GNOME user and developer conference, spreading the knowledge of GNOME across Asia. The event focuses primarily on the GNOME desktop and other devices that use GNOME, and also covers GNOME-based applications and GNOME development platform tools.

It brings together the GNOME community in Asia to provide a forum for users, developers, foundation leaders, governments and businesses to discuss both the present technologies and future developments.

The FOSSASIA team presented the two projects: crypto-stick and the x-mario gaming distribution.

A big thanks for this fantastic event goes to the local and global organization team and the GNOME Foundation, in particular to Max, Haggen So and Sammy Fung.

Hong Phuc Dang also received travel sponsorship from the GNOME Foundation and thus increased the participation numbers from Vietnam to three contributors.

 

GNOME.Asia Hong Kong 2012

Continue ReadingFOSSASIA community meetup at GNOME.Asia 2012

Crypto Stick project presented by Quan Nguyen at GNOME.Asia

We are a group of four people representing the FOSSASIA organization at GNOME.Asia. Hon Nguyen, one of the developer of Crypto Stick also gave a presentation at the event in Hong Kong.

Quan Nguyen at GNOME.Asia 2012 in Hong Kong

Hong Phuc DANG (left) and Hon Nguyen (right) taking photos during GNOME.Asia 2012

Continue ReadingCrypto Stick project presented by Quan Nguyen at GNOME.Asia