Sunday, October 18, 2009

GetDeb v2 Beta Available

GetDeb v2 Beta is a major milestone on the GetDeb project development, it addresses most of the technical limitations of the current system/engine that we have been using for the last 3 years.
The major improvements are:

* Software installation using a GPG signed APT repository with mirror distribution
* Single click installation even for multi-package installs
* Automatic software updates (from the repository)
* New design - for the first time not based on a Ubuntu offical site
* Web based applications publishing


These changes will increase our ability to provide more and better packages in a safely manner.
Most of the effort was invested at the APT-Portal project, which is shared with Playdeb and because is open source it can be used by by other teams to deploy their own repository based portals.

Both the design and code base -rewritten in python- still need a lot of work, if you have any skills with Python/HTML/CSS/AJAX please join the developers team.

http://beta.getdeb.net
http://wiki.getdeb.net/apt-portal

Saturday, October 3, 2009

Preparing for Karmic

Karmic hit Beta and we still have a lot to do, fortunately I will am on vacations next week so I hope to be able to complete the major tasks just in time.

Here is the list:
- Setup the automated building system for karmic
- Finish the design and code for the getdeb based on apt-portal
- Test and move existing games on playdeb from jaunty to karmic

Tuesday, July 21, 2009

PlayDeb Beta 2 available for testing

It has been several months since we started working on the new version of playdeb, we started with a cool design but there was a lot of work to do on the function part.
There is sill a lot to be done but the core functions are there, we will now start populating it with more games.
Hope you enjoy.

Check http://www.playdeb.net

Wednesday, June 24, 2009

PlayDeb base is ready

Hello,
we have done some major work on apt-portal/playdeb on the last days.
We are using a custom Model-View-Controller framework using elixir for the Model, mako for the View and CherryPy for the Controller .
The core site design is done and the register/email auth/login functions are already working.

You can test the current design/code on your system by following this instructions.

Sunday, May 24, 2009

GetDeb/PlayDeb Testing Repository

Hello,
I have been setting up the test repository, the testing repository will be used to test packages before they get into the main repository.
You SHOULD NOT use this repository in a production system.

To setup the repository check the instructions at:
http://wiki.getdeb.net/TestingRepository

Please note there is no main at this time, the only option right now is to be a tester :)

Wednesday, May 13, 2009

Working on GetDeb v2

It has been 3 years since getdeb was started. During that time, we developed our own content management system using PHP+MySQL which has been sufficient for the hundreds of application that we have provided.

With the increasing maturity of the project though, we have defined a set of improvements to be implemented on several areas:

Organization
- Game packages and related contents will be moved to the PlayDeb project - the games category has always been a super category and serves a specific audience.
Security:
- Automatic package updates
- Package authenticity and integrity
Usability:
- Single click installs for multi package software

These changes cannot be accomplished with the current getdeb code and structure, so we will need to develop a new set of tools and a new web content management system. Because we are a small spare time working team these changes, it will take several months - but we have already some work done.
The new architecture will use components developed in self contained open source projects with sufficient documentation and generic interfaces so that they can be used for any open sources projects in general. The distribution will be done using an APT repository with 2 components, apps and games (getdeb/playdeb) - along with apt-url for the web integration.

What needs to be done:

Package building & test repository populating (https://launchpad.net/debfactory)
This is a set of scripts required for managing the source packages and building. Most of the scripts are already developed, however they need to be improved to support multiple components (apps/games) - Task 1
The scripts that are needed:
To be run on the building server:
check_incoming.py: Verifies uploaders authenticity and authority, checks the source files integrity and moves the files to the pre_build queue
check_pre_build.py: Checks the pre_build_queue for packages that need to be build, moves them to the post_build queue after a sucesfull build
To be run on the master server:
check_post_build.py: Checks the post_build_queue and moves packages to the testing reprepro repository
To Be Defined: Promoting a package from testing to final will be done manually (archive admin) ?

Package & Applications information importing and user presentation (https://launchpad.net/apt-portal)
APT-Portal will provide the web frontend for the repository. It will be a generic APT repository web content management system, and at the end we will have 2 apt-portal instances for getdeb and playdeb. The only difference for those should be configuration, theme and plugins. - Task 2

APT-Portal - GetDeb - Task 3
Theme & Plugins: To be defined

APT-Portal - PayDeb - Task 4
Theme & Plugins: To be defined - The major work here was already done (https://code.launchpad.net/playdeb), it will need to be ported to APT-Portal theme/plugins

Current status:
Task 1 - I am working on it
Task 2 - Some initial db import scripts were created, we need task 1 done and a few packages in the repository to do the real development here
Task 3 - Static HTML/CSS with the expected design could be done before Task 2 is finished, required for the real implementation
Task 4 - Depends on Task 2

If you're familiar with python / php / mysql and would like to help us, get in touch at #getdeb on irc.freenode.net.

Wednesday, April 29, 2009

How to build and test packages for GetDeb

This article is addressed to those planning to build packages for GetDeb or which just want to understand how we do it.
Building a package may require a lot of development libraries which are not needed for your regular desktop use - and you also probably don't want to overwrite current working applications with testing packages. For this reason, the recommended procedure is to use an isolated minimal system install that you can use for both building and testing.

This can be achieved by using a virtualization application, however we will be presenting a much simpler and lighter approach using schroot and sbuild.

Getdeb's debfactory is a set of tools designed to assist in package building for developers. The first thing you will need is to get the latest version of the debfactory tools, you can retrieve them with:
bzr co lp:debfactory

Now we need to create the schroot images that will contain the minimal packages for the releases we plan to build for.
To create the schroot images execute:
sudo debfactory/bin/schroot_build.py -b
The -b indicates we will be using the schroots not only for testing but also for building, sbuild will be installed.

You will need to add yourself to the sbuild group with:
sudo usermod -a -G sbuild $USER
Re-login for the change to take effect, you can see the groups your user belongs to with the "id" command.

Now let's manually build a package for isomaster
# Get the isomaster source and debian building rules from getdeb with:
dget -ux http://archive.getdeb.net/getdeb/ubuntu/jaunty/is/isomaster_1.3.5-1~getdeb1.dsc
# Switch to the schroot for the building with:
schroot -c jaunty.i386 -p

# Let's go into the source directory and install the build dependencies defined for the package
cd isomaster-1.3.5
sudo ~/debfactory/bin/satisfydepends

# Now let's build it
debuild -us -uc
# You should now have the file ../isomaster_1.3.5-1~getdeb1_i386.deb that you can install, but first let's exit the schroot with the exit command. All the changes done on the schroot except for /home will be lost, we want to enter the schroot again in it's initial state so that we can check if the package will install and run without problems on a minimal system.
schroot -c jaunty.i386 -p
# Now let's try to install the package
sudo dpkg -i isomaster_1.3.5-1~getdeb1_i386.deb
# Install missing dependencies
sudo apt-get install -f
# Run the application for testing
isomaster
# It's is everything ok ? so just exit

# What if you wanted an automated build after the dget ? just use sbuild:
sbuild -c jaunty.i386 isomaster_1.3.5-1~getdeb1.dsc

That's all for this article - I will present some other getdeb tools and processes in the future.

Blog Archive