Building packages is a task that every system administrator will end up doing. Most of the time this is not a very interesting task but someone has to do it, right? Normally you will end up modifying and tweaking based on your own needs an existing package that was built by the maintainers of the Linux distribution that you are using. In time you might even become familiar with the packaging system you are using (rpm, deb, etc.) and you will be able to write a spec file and start from scratch and build a new package if you need to. Still, this process is complicated and requires a lot of work.
Luckily, Jordan Sissel has built a tool called FPM (Effing Package Management), exactly for this: to ease the pain of building new packages; packages that you will use for your own infrastructure and you want them customized based on your own needs; and you don’t care about upstream rules and standards and other limitations when building such packages. This can be very useful for people deploying their own applications as rpms (or debs) and can simplify a lot of the process of building those packages.
FPM can be easily installed on your build system using rubygems:
gem install fpm
Once installed you can use fpm to build packages (targets):
from any of the following sources:
- directory (of compiled source of some application)
- gem
- python eggs
- rpm
- node npm packages
Read the rest of this entry »
Tags: deb, debian_packages, FPM, rpm, Tools
Earlier this week, at DebConf 9, the Debian team proposed a new approach for the Debian’s release cycle, which was later on announced publicly on the Debian site:
“The Debian project has decided to adopt a new policy of time-based development freezes for future releases, on a two-year cycle. Freezes will from now on happen in the December of every odd year, which means that releases will from now on happen sometime in the first half of every even year. To that effect the next freeze will happen in December 2009, with a release expected in spring 2010. The project chose December as a suitable freeze date since spring releases proved successful for the releases of Debian GNU/Linux 4.0 (codenamed “Etch”) and Debian GNU/Linux 5.0 (“Lenny”).”
This doesn’t mean that we will have a time-based release as for example Ubuntu does on a specific date, but it means that we will have a time-based freeze for each new release (in December of every odd year); the release will still become stable “when it is ready”, but after this, we can expect the new releases in general sometimes in the spring of the every even year.
“Time-based freezes will allow the Debian Project to blend the predictability of time based releases with its well established policy of feature based releases. The new freeze policy will provide better predictability of releases for users of the Debian distribution, and also allow Debian developers to do better long-term planning. A two-year release cycle will give more time for disruptive changes, reducing inconveniences caused for users. Having predictable freezes should also reduce overall freeze time.”
This new approach will leave a very short time for the next release Debian 6.0 (“Squeeze”), that will be freezed later on this year (lenny was released earlier this year in February). Here are the major release goals for squeeze: multi-arch support, which will improve the installation of 32 bit packages on 64 bit machines, and an optimised boot process for better boot performance and reliability.
Tags: deb, Debian, releases, squeeze
The Bcfg2 version available in debian etch is quite old (v0.8.6), while the one in lenny is newer v0.9.5.7, it still isn’t the latest stable version 0.9.6 that was released in November last year. Since this version fixes many bugs it is the version that is recommended to use in production at this time (unfortunately it breaks the reporting system, that will not be fixed until the release 1.0 planed for the next months). This post will show how we can rebuild a debian package for the latest stable bcfg2 release so we can easily deploy it on several machines.
Bcfg2 is a debian friendly project, meaning they provide inside the source package all what is needed to build a debian package very easy. We will use for this a debian etch system, but this should work on any debian based system. Read the rest of this entry »
Tags: apt, bcfg2, deb, debian-etch, debian_packages, debuild
snapshot.debian.net/archive is one of the unofficial debian projects that can be very useful if you are looking for old debian packages that have been removed from the official repositories. This post is a short presentation of debian snapshot project and how it can help you find the debian packages you can’t seem to find anywhere else.
Debian contains a huge collection of software packages and in order to keep up with this huge size a debian repository is designed to keep only ONE version of a package. This means that newer versions will remove the old ones from the repository, to keep it clean and as slim as possible. Normally this is not a problem as debian (at least for stable and testing) is known to be quite stable in the package updates and things in general don’t break. Still it can happen that a software package is removed, its functionality changed in a newer version or you just want to install the same packages on more machines.
By default each debian system will keep a local cache of all the packages it downloads and installs. This can be found under /var/cache/apt/archives and if the package you are looking for is there you should just go ahead and use it as it is the fastest way to get it. Still if you regularly clean your cache (apt-get clean) then you will no longer find the packages there either.
Read the rest of this entry »
Tags: deb, debian_packages, debian_tools
If you are looking for an integrated, java virtual machine, compiler and runtime environment, then Debian does provide them, and there are quite a lot of projects you can choose from, that are included in Debian:
but you will not find Sun’s Java 2 SE (JDK/JRE) included in Debian because of its restrictive license policy.
Read the rest of this entry »
Tags: deb, j2re, j2sdk, java, jre, tomcat