Translate

Archives

Building Old Chromium Releases Often Fails

It should be easy to build older Chromium (the browser upon which Google Chrome is based) releases but in fact it is not. More often than not, at least on Linux which is where I build Chromium, the build fails in multiple places. For example, try building the 13.0.782.218 release which is a fairly recent release. It falls over in several places, the first being in the source for the OTS tool. This simply should not occur in any major software project and particularly projects such as Chromium. You should be able to build an exact copy of a particular

rm -rf /

Solaris has prevented you from shooting yourself in the foot by doing an rm -rf / for a number of years. However, I only noticed recently that the GNU rm utility in Linux now also prevents you from accidentally deleting your root filesystem and more. # rm -rf / rm: is is dangerous to operate recursively on ‘/’ rm: use –no-preserve-root to override this failsafe #

New Shell-like Greeter for GNOME

There are plans to replace the greeter in GNOME 3.2 which is due out in a couple on months. Here is what is is the login experience is planned to look like: The GNOME sheep seem to be following Bill the Microsoft shepherd. Maybe I do not understand security but surely it would be better not to expose usernames. In the days of yore, you had to remember both a username and a password. Nowadays the trend seems to be to expose the usernames and simply rely on the strength of a password for security. If I recall correctly, this

Introduction to Udisks

Udisks is a means of enumerating disk and storage devices on Linux platforms and performing various operations on them. This post describes the technology behind udisks, the history of udisks, how to monitor udisks events and some simple operations you can do using udisks.

Programmatically List Installed .deb Packages

While RPM packages have a robust ecosystem around them for programmatically retrieving information about package metadata, the Debian package management system is sorely lacking in this respect. Here is a simple C example which demonstrates how to programmatically list all installed Debian packages. #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <dpkg/dpkg.h> #include <dpkg/dpkg-db.h> #include <dpkg/pkg-array.h> #include "filesdb.h" const char thisname[] = "example1"; int main(int argc, const char *const *argv) { struct pkg_array array; struct pkginfo *pkg; int i; enum modstatdb_rw msdb_status; standard_startup(); filesdbinit(); msdb_status = modstatdb_open(msdbrw_readonly); pkg_infodb_init(msdb_status); pkg_array_init_from_db(&array); pkg_array_sort(&array, pkg_sorter_by_name); for (i = 0; i <