mercredi 16 juin 2010

Buildd status pages

Recently, I started to write some web tool to track the status of ongoing transitions in unstable. I thought I could use some code from the Buildd status project (to see how it fetches the status for each package). Unfortunately, this caused some nightmares for some WB admin :) (because they used to rely on the generated BDB files and not the PGSql database, where the former is a snapshot of the latter stored in a funny format). Those BDB files were considered deprecated and status pages were looking for some love. Besides, the BDB files were kept in sync by regenerating them regularly (every 15 minutes, AFAIK). So, the information stored there was up-to-date only for a couple of seconds and then outdated, waiting for the next run to be updated.

Last weekend, I rewrote the status pages from scratch to make them use the PGSql database. I kept the same user interface (and pages' arguments) to make it a drop-in replacement for the old one. Today, thanks to the WB admins, the new status pages replaced the old ones! There are no new visible features for now (except the backend and some links) but I have a list of new features that I intend to implement. These new features will be implemented in my local copy first and then integrated if WB admins want them. And, as some of you already noticed, the new status pages are aware of non-free packages (because it happens that the data is present in the PGSql database :) … thank WB admins for that!).

5 commentaires:

  1. Hi Mehdi,
    first, let me thank you for your efforts!

    Now, I'd like to point out a small bug (I'm not sure, it's in your code or just exposed by it) to you: the binary uploaded with the package itself, say the amd64 binaries, have a wrong timespan given in the "For" column, see e.g. [0], where the upload of the latest version happened just two days ago, so there is no way, it can have the status installed with that version for (atm) over 44 days. I see similar offsets for other packages I (co-)maintain, e.g. [1].

    Thanks,
    Cùran


    [0] https://buildd.debian.org/status/package.php?p=plasma-widget-yawp
    [1] https://buildd.debian.org/status/package.php?p=cmake

    RépondreSupprimer
  2. Thanks!

    Unfortunately, the database says that it (plasma-widget-yawp) was last modified on "2010-05-03 13:50:39", which corresponds to the date of the last upload (the last time there was a change on that arch for that package). That should be fixed in the database. In the meantime, I can skip the "For" field for "Installed" packages with "no log" (most likely packages uploaded by their maintainer), but that's only a workaound to hide some outdated information.

    Same thing for cmake.

    Workaround applied in https://buildd.debian.org/~mehdi/pgstatus/package.php?p=plasma-widget-yawp

    RépondreSupprimer
  3. Another option for packages without a log would be to query the projectdb (something like rmadison/dak ls with dates).

    RépondreSupprimer
  4. Please get your new implementation installed on buildd.debian-ports.org and on the backports.org buildds.

    RépondreSupprimer
  5. That's already done for backports.org as you can see in [1] (it was announced recently [2]). Concerning, debian-ports.org, they should update their setup first to be able to use the new implementation. AFAIK, they don't use any PGSql database yet.

    [1] https://buildd.debian.org/status/package.php?p=pkglab&suite=lenny-backports
    [2] http://lists.debian.org/debian-devel-announce/2010/01/msg00005.html

    RépondreSupprimer