Clint Adams: Insert Gary Larson A into Garry Trudeau B
When both the professor and I noticed that the girl had
five o'clock shadow, questions were raised.
When both the professor and I noticed that the girl had
five o'clock shadow, questions were raised.
# bzr-builder format 0.2 deb-version 4.0.0~alpha14~bzr revno ~ppa revno:packaging + revno:debian
lp:samba
merge debian lp:~samba-team/samba/unstable
merge packaging lp:~samba-team/samba/4.0-ppa-maverick
This dictates that a source package should be built by taking the upstream Samba branch and merging the Debian packaging and some recipe-specific tweaking. The last bit on the first line indicates the version string to be used when generating a changelog entry for the daily build.
Every night Launchpad (through bzr-builder) merges these branches and attempts to build the resulting source package, e-mailing me in case of build problems. Generally I fix issues that come up by committing directly to upstream VCS or to the Debian packaging branch. There is no overhead in maintaining the daily build after I've set it up.
For more information on creating source package recipes, see getting started.
$ apt-add-repository ppa:samba-team/ppa
$ apt-add-repository ppa:openchange/daily-builds
cp: Karnivool - Themata
The community of volunteers developing and promoting OpenOffice.org sets up an independent Foundation to drive the further growth of the project The Internet, September 28, 2010 The community of volunteers who develop and promote OpenOffice.org, the leading free office software, announce a major change in the project s structure. After ten years successful growth with Sun Microsystems as founding and principle sponsor, the project launches an independent foundation called The Document Foundation , to fulfil the promise of independence written in the original charter. The Foundation will be the cornerstone of a new ecosystem where individuals and organisations can contribute to and benefit from the availability of a truly free office suite. It will generate increased competition and choice for the benefit of customers and drive innovation in the office suite market. From now on, the OpenOffice.org community will be known as The Document Foundation . Oracle, who acquired OpenOffice.org assets as a result of its acquisition of Sun Microsystems, has been invited to become a member of the new Foundation, and donate the brand the community has grown during the past ten years. Pending this decision, the brand LibreOffice has been chosen for the software going forward. The Document Foundation is the result of a collective effort by leading independent members of the OpenOffice.org community, including several project leads and key members of the Community Council. It will be led initially by a Steering Committee of developers and national language projects managers. The Foundation aims to lower the barrier of adoption for both users and developers, to make LibreOffice the most accessible office suite ever. The Foundation will coordinate and oversee the development of LibreOffice, which is available in beta version at the placeholder site: http://www.libreoffice.org. Developers are invited to join the project and contribute to the code in the new friendly and open environment, to shape the future of office productivity suites alongside contributors who translate, test, document, support, and promote the software. Speaking for the group of volunteers, Sophie Gautier a veteran of the community and the former maintainer of the French speaking language project has declared: We believe that the Foundation is a key step for the evolution of the free office suite, as it liberates the development of the code and the evolution of the project from the constraints represented by the commercial interests of a single company. Free software advocates around the world have the extraordinary opportunity of joining the group of founding members today, to write a completely new chapter in the history of FLOSS . [...]So welcome The Document Foundation and LibreOffice. I already can see how does the community benefits from this due to the merge with go-oo:
Q: What does this announcement mean to other derivatives of OpenOffice.org?(from http://www.documentfoundation.org/faq/) So, will Oracle contribute the OpenOffice.org trademark to the community ? Time will tell
A: We want The Document Foundation to be open to code contributions from as many people as possible. We are delighted to announce that the enhancements produced by the Go-OOo team will be merged into LibreOffice, effective immediately. We hope that others will follow suit.
There are situations in which a given package needs to have different dependencies in Debian and in Ubuntu. Despite this difference it s possible to keep a single source package that will build both variants of the package. Continue reading to discover a step-by-step explanation.
1. When is that needed?
While it is possible to have different dependencies depending on the distribution on which the package is built, it should be usually avoided when possible. This infrastructure should only be used as a last resort when there are no better alternatives.
Here are some examples of when it might be needed:
debian/control, instead you should put a substitution variable (substvar) that will be replaced at build time by dpkg-gencontrol. You can name it $ dist:Depends for example:
[...] Depends: bzip2, $ shlibs:Depends , $ misc:Depends , $ dist:Depends [...]Note that you typically already have other substitution variables (
$ shlibs:Depends comes from dpkg-shlibdeps and $ misc:Depends from debhelper and its dh_* scripts).
3. dpkg-gencontrol needs a -V option
The value used to replace this new variable needs to be communicated to dpkg-gencontrol. You can use the -V option for this, the syntax would be something like this:
dpkg-gencontrol [...] -Vdist:Depends="foo (>= 2), bar"If you use debhelper, you have to pass the option to
dh_gencontrol after two dashes (--):
dh_gencontrol -- -Vdist:Depends="foo (>= 2), bar"If you use CDBS, you can set the DEB_DH_GENCONTROL_ARGS_ALL make variable:
include /usr/share/cdbs/1/rules/debhelper.mk DEB_DH_GENCONTROL_ARGS_ALL = -Vdist:Depends="foo (>= 2), bar"The value given to dpkg-gencontrol is static in all those examples, now let s see how we can use give a different value depending on the distribution that we re targetting. 4. Using dpkg-vendor in debian/rules
dpkg-vendor is a small tool (provided by the dpkg-dev package) that parses the /etc/dpkg/origins/default file (provided by the base-files package) to know the current distribution and its ancestry. It can be used in debian/rules to adjust the behavior depending on the current distribution. You can check its man-page to learn about the various options supported but we re only going to use --derives-from <vendor> in this sample. With this option the script exits with zero if the current distribution is or derives from the indicated distribution, or with 1 otherwise.
Now combining all together, we can use dpkg-vendor to dynamically define the content of the substitution variable in debian/rules. Let s suppose that you want $ dist:Depends to be foo (>= 2) on Ubuntu (and its derivatives) and bar everywhere else. Using debhelper s 7 tiny rules file, this example could be:
ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes) SUBSTVARS = -Vdist:Depends="foo (>= 2)" else SUBSTVARS = -Vdist:Depends="bar" endif %: dh $@ override_dh_gencontrol: dh_gencontrol -- $(SUBSTVARS)If you use CDBS, it could be this:
include /usr/share/cdbs/1/rules/debhelper.mk ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes) DEB_DH_GENCONTROL_ARGS_ALL = -Vdist:Depends="foo (>= 2)" else DEB_DH_GENCONTROL_ARGS_ALL = -Vdist:Depends="bar" endif
Do you want to read more tutorials like this one? Click here to subscribe to my free newsletter, you can opt to receive future articles by email.
This last couple of days I've been dedicated making Gnus fresher.
I've decided to give a whirl on Gravatar support. I already tried the
gravatar.el lying on the Interweb, but well, it was crap: it used wget to
fetch pictures, therefore was totally synchronous. Reading each mail was
slower. The cache did not even have TTL, as far as I recall.
So, I've now wrote gravatar.el implementing the Gravatar API. Asynchronously
of course. With cache, TTL, etc. Perfect. :-)
Then I've composed gnus-gravatar.el, implementing a washing function adding
Gravatar for From field and/or Cc/To fields, like done for picons.
As I was expecting, the patch was badly received by the GNU guys, which
start talking about thinks like external resources, privacy, non-free
software, etc. Boring.
Fortunately, Lars allowed me to push the patch in git so everybody can give
it a try. I'm now waiting for feedbacks in order to know if I will have to
maintain this patch outside Gnus, or not.
Here's the mandatory screen-shot.
I finally found the time to port the scripts
generating these statistics to use the Ultimate Debian
Database (and especially its bugs webinterface). Parsing the HTML output of bts.turmzimmer.net was
quite insane and slow, but it worked... kind of. However it's now done:
The script now uses not that insane SQL queries and UDD, of which I have
been told has more accurate numbers as bts.turmzimmer.net, which uses to
the best of my knowledge the obsoleted ldap gateway.
Well, so much for the talk, here are the actual numbers, created with
the new script:
| In Total: | 799 |
|---|---|
| Affecting Squeeze: | 429 |
| Squeeze only: | 110 |
| Remaining to be fixed in Squeeze: | 319 |
| Pending in Squeeze: | 22 |
|---|---|
| Patched in Squeeze: | 57 |
| Duplicates in Squeeze: | 35 |
| Can be fixed in a security Update: | 12 |
| Contrib or non-free in Squeeze: | 18 |
| Otherwise fixed in Squeeze: | 40 |
Squeezereleased. However, with the view of the Release Managers, 260 need to be dealt with for the release to happen. You'll note, that the numbers got quite higher. Sorry, for that, but bts.turmzimmer.net seems to be kind of buggy :( You'll also note, that there is no longer a row for
claimedand
fixed in delayedbugs, as UDD doesn't support these numbers as of now. But I think you'll agree with me, that having more accurate numbers is better than having these rows.
Brian announced it on r-help and r-sig-finance
and I have since updated the
R/Finance website and
Call for Papers page.
And as David Smith already outblogged me about it,
without further ado our Call for Paper for next spring's R/Finance conference:
Call for Papers: R/Finance 2011: Applied Finance with R
April 29 and 30, 2011
Chicago, IL, USA
The third annual R/Finance conference for applied finance using R will be held this spring in Chicago, IL, USA on April 29 and 30, 2011. The two-day conference will cover topics including portfolio management, time series analysis, advanced risk tools, high-performance computing, market microstructure and econometrics. All will be discussed within the context of using R as a primary tool for financial risk management, portfolio construction, and trading. One-page abstracts or complete papers (in txt or pdf format) are invited to be submitted for consideration. Academic and practitioner proposals related to R are encouraged. We welcome submissions for full talks, abbreviated "lightning talks", and for a limited number of pre-conference (longer) seminar sessions. Presenters are strongly encouraged to provide working R code to accompany the presentation/paper. Data sets should also be made public for the purposes of reproducibility (though we realize this may be limited due to contracts with data vendors). Preference may be given to presenters who have released R packages. Please send submissions to: committee at RinFinance.com. The submission deadline is February 15th, 2011. Early submissions may receive early acceptance and scheduling. Submissions will be evaluated and submitters notified via email on a rolling basis. Determination of whether a presentation will be a long presentation or a lightning talk will be made once the full list of presenters is known. R/Finance 2009 and 2010 included attendees from around the world and featured keynote presentations from prominent academics and practitioners. 2009-2010 presenters names and presentations are online at the conference website. We anticipate another exciting line-up for 2011 including keynote presentations from John Bollinger, Mebane Faber, Stefano Iacus, and Louis Kates. Additional details will be announced via the conference website as they become available. For the program committee:
Gib Bassett, Peter Carl, Dirk Eddelbuettel, Brian Peterson,So see you in Chicago in April!
Dale Rosenthal, Jeffrey Ryan, Joshua Ulrich
The unofficial rc bug tracker
currently knows about the following bugs:
| In Total: | 371 |
|---|---|
| Affecting Squeeze: | 281 |
| Squeeze only: | 66 |
| Remaining to be fixed in Squeeze: | 215 |
| Pending in Squeeze: | 14 |
|---|---|
| Patched in Squeeze: | 40 |
| Duplicates in Squeeze: | 23 |
| Contrib or non-free in Squeeze: | 7 |
| Claimed in Squeeze: | 1 |
| Delayed in Squeeze: | 3 |
| Can fixed in a security Update: | 12 |
| Otherwise fixed in Squeeze: | 14 |
Squeezereleased. However, with the view of the Release Managers, 235 need to be dealt with for the release to happen. Please see my older post for an explanation of the different numbers.
As this year's admin, I wrote up the following summary which has now been
posted at the R site in the appropriate slot. My thanks to
this year's students, fellow mentors and everybody else who helped to make it
happen.
f:R^m -> R^n, through Automatic Differentiation (AD). Numerical evaluation of derivatives has widespread uses in many
fields. rdx will implement two modes for the computation of derivatives, the Forward and Reverse modes of AD, combining
which we can efficiently compute Jacobians and Hessians. Higher order derivatives will be evaluated through Univariate
Taylor Propagation.
Delivered:
Two packages
radx: forward automatic differentiation in R and
tada: templated automatic differentiation in C++ were created; see
this blog post for details.
Last modified: Wed Sep 22 19:39:43 CDT 2010
As I already wrote too many times, I've started to use Gnus 6 months ago,
and never looked back.
At that time, I joined the ding mailing list in order to ask some dumb
questions and, once, send a patch. There were very low activity on that
list.
Until Lars, the original Gnus author, came back.
Three weeks ago, he started to wrote a new wash function to render HTML
mails properly, with pictures. It's named gnus-html', and is (for now)
based on w3m (but not on emacs-w3m, which is not part of Emacs).
Last week, I've sent a set of patches to replace the usage of curl by the
standard url-retrieve' function to fetch images, plus various enhancement.
It seems that my work was good enough that Lars offered me write access to
the git repository. I can therefore mess up the Gnus entirely. Hurrah!
I've continued to work on gnus-html' and recently merged a set of patches
improving image retrieval (which is now done in parallel) and starting to
use url-cache' to cache image for a defined period of time. Of course, I
found a bunch of tiny bug and special case while reading RSS feeds and
various HTML mails, and fixed them all along.
Lars added a libxml binding for Emacs 24, providing the html-parse-string'
function. His future plan seems to be the abandon of w3m in favor of a
native parsing via libxml to render HTML, and therefore, HTML mails.
I should also mention the new nnimap' back-end; Gnus has been designed to
read NNTP newsgroups, and not mails. Consequently, it had a very poor
behaviour when used with a back-end such has IMAP.
Lars took a week to rewrite entirely our dear nnimap' back-end, and make it
act in a more expected way. There's still a bunch of bug and code to write,
but it is at least usable and seems faster than the old code.
Last thing I did was to rewrite the icon support in the group buffer. When I
started to use Gnus, I was curious and tried to configure this. I never
managed to make it work, and now know and understand why it was broken. So I
ended rewriting entirely, and now it works. I never though I would
understand, fix, and commit this code when reading the Gnus documentation
this winter, but hell yeah, I did.
Now I've still several little project to improve things in all sort of area.
We'll see what I'll do next. :-)
Once in a time when looking at my Debian Developer's Packages Overview, I just start to think there is way too much bug reports for phpMyAdmin package in Launchpad. Today the threshold was 30 :-).
Managing them is usually not that hard, because vast majority of them are just duplicates of same issue. Basically all problems come with the fact that dbconfig-common really does not behave nicely when database server is not configured and user tries to configure it. I know people should just answer no to first question, whether to use dbconfig-common, but they don't and it then horribly fails.
Today I finally decided to ignore all errors from dbconfig-common in our packaging scripts, so you will get an error, but the package will be installed. As it seems that this is what most Ubuntu users expect after all.
This also shows huge difference between Debian and Ubuntu users - such bug has never appeared in Debian bug tracker, but has zillions of duplicates in Launchpad in various incarnations (LP#618852, LP#621569 and the most favorite LP#456674).
I got pulled up on my password policy yesterday; I don't tell other people my passwords. The context was arranging that a friend could use my laptop while I was away at work - instead of telling her my login details so she could use that I created a new account. This provoked a "Don't you trust me?" response. I couldn't quite manage to successfully articulate the fact that I did trust her, I was aware that unsupervised physical access meant that it was easy enough to gain access anyway but that I just wouldn't hand over my password. It's not like there's anything confidential or that isn't backed up on there. The password is for that machine only. My GPG key doesn't live on it, so the biggest effort if it was attacked would be rolling the SSH key (that has a passphrase, of course) for that machine. And yet I couldn't bring myself to do it. This is nothing unique to this instance; I spent 13 years with Katherine and she never knew my passwords nor had root access to any of my machines. I can imagine situations where I'd share root, but even then I wouldn't share my personal password.
Apparently, live.com thinks that any browser coming from a ppc architecture is a mobile device. This sucks for the users of the hundreds of thousands of powerpc desktops still in service. I don't use hotmail myself, but i do support people who use it. I set one of my clients up with debian squeeze on their PPC machine because all the proprietary vendors have basically given up on that architecture -- debian represents the best way to get modern tools on these machines (and other machines too, but that's a different argument). However, this client couldn't get to their hotmail account, despite using the latest version of iceweasel (3.5.12). They were directed to a crippled interface that didn't include the ability to attach files, and was a gross waste of the desktop screen space. It appears to be the "mobile" version of live.com's services. However, the same version of iceweasel on an i686 test machine could access the standard version of hotmail with no trouble. My friend jeremyb helpfully suggested fiddling with the User Agent string exported by the browser. Some experimentation shows that the presence of the string "ppc" within any parenthetical expression in the UA makes live.com show the crappy interface. You can try it yourself (if you have a hotmail account) on your x86 or amd64 machine by adding (ppc) to the default valule of general.useragent.extra.firefoxComment in about:config. Stupid stupid stupid. I'd like to have fixed this by overriding the browser's reported architecture (or simply by removing it -- why does a web server need to know the hardware architecture of my client?). But there doesn't appear to be a way to do that with the way that mozilla constructs the UA. Instead, i needed to add a new string key named general.useragent.override which is not exposed by default in about:config. This raises some questions:
The Debian policy dictates that package upgrades must take care of preserving user changes to configuration files. This article will explain you how most packages ensure this. This is important knowledge for anyone who has to manage upgrades: knowing how it works lets you easily automate most of it and deal correctly with the fallout.
How dpkg manages configuration files
Most packages rely on dpkg to properly install configuration files. Dpkg keeps a checksum of the last installed version of configuration file. When it must install a new version, it calculates the checksum of the currently installed file and if it doesn t match anymore, it knows that the user has edited the file. In that case, instead of overwriting the configuration file, it asks the user what to do. You probably already have seen those questions, they look like this:
Configuration file /etc/bash.bashrc'
==> Modified (by you or by a script) since installation.
==> Package distributor has shipped an updated version.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a shell to examine the situation
The default action is to keep your current version.
*** bash.bashrc (Y/I/N/O/D/Z) [default=N] ?
In this specific example, if you answer Y or I (for yes or install ), dpkg will install the new version of /etc/bash.bashrc but it will also backup the current version in /etc/bash.bashrc.dpkg-old. If you answer N or O (for no or old ), dpkg will install the new version in /etc/bash.bashrc.dpkg-dist and /etc/bash.bashrc is left untouched. The two other answers allow you to examine the differences before taking a decision. Note that if you choose to start a shell, the new version is currently available as /etc/bash.bashrc.dpkg-new (and since Squeeze there are convenient environment variables $DPKG_CONFFILE_OLD and $DPKG_CONFFILE_NEW in case you want to create a custom review script).
All configurations files managed by dpkg are called conffiles because that s the name of the field where they are recorded in the dpkg database. You can display the list of conffiles for any package:
$ dpkg --status bash [...] Conffiles: /etc/skel/.profile ecb6d3479ac3823f1da7f314d871989b /etc/skel/.bashrc 2afdd6c53990f2387a7ef9989af0bc07 /etc/skel/.bash_logout 22bfb8c1dd94b5f3813a2b25da67463f /etc/bash.bashrc 5b3c3bc73d236e4e1b6f9b6c1ed5964e [...]The command
dpkg-query --showformat='$ Conffiles \n' --show bash can give you the same information if you need to retrieve only that field. The 32 characters after the filename are the MD5 checksum of the original configuration file provided by the package.
Avoiding the conffile prompt
Every time that dpkg must install a new conffile that you have modified (and a removed file is only a particular case of a modified file in dpkg s eyes), it will stop the upgrade and wait your answer. This can be particularly annoying for major upgrades. That s why you can give predefined answers to dpkg with the help of multiple --force-conf* options:
--force-confold: do not modify the current configuration file, the new version is installed with a .dpkg-dist suffix. With this option alone, even configuration files that you have not modified are left untouched. You need to combine it with --force-confdef to let dpkg overwrite configuration files that you have not modified.--force-confnew: always install the new version of the configuration file, the current version is kept in a file with the .dpkg-old suffix.--force-confdef: ask dpkg to decide alone when it can and prompt otherwise. This is the default behavior of dpkg and this option is mainly useful in combination with --force-confold.--force-confmiss: ask dpkg to install the configuration file if it s currently missing (for example because you have removed the file by mistake).$ apt-get -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgradeYou can also make those options permanent by creating
/etc/apt/apt.conf.d/local:
Dpkg::Options "--force-confdef"; "--force-confold";Bringing up the conffile prompt at any time The conffile prompt is only displayed when dpkg detects that the package provides an new version of the conffile. Thus reinstalling the same package will not bring up the prompt. But you can instruct dpkg to ask nevertheless with the
--force-confask option. This is a new feature in Debian Squeeze. It will only ask for files that are locally modified.
If you want to read more articles like this one, click here to subscribe to my free newsletter. You can also follow me on Identi.ca, Twitter and Facebook.
Richard Darst has been writing about DebConf organisation and
wrote about DebCamp.
Thought I'd give my story about where the idea for DebCamp came from,
for some context.
DebConf2 in Toronto was my first DebConf. I
had sadly missed DebConf1 due to EPASSPORT despite having sponsored tickets;
something I still kick myself about. Things were not as well organised back
then. Anyway, since Ottowa Linux Symposium was the week before DebConf,
some of us were in Canada early for that, and needed to find something to
do in the time between conferences.
My thought was, find someplace to camp. It'd be a cheap way to see more of
Canada and decompress. I posted this plan to debian-private and Andreas
Schuldei and I spent several days canoing around
Algonquin park. Of course, we'd
never met before. I'd met probably less than five European debian
developers before that point. We experienced big scary lakes that
challenged our limited canoe skills, portaged and camped, and even saw a
moose.
Later during DebConf2, I distinctly remember mentioning our camping trip and
saying "we could have a DebCamp before the next DebConf". And sure enough,
before DebConf3 there was a DebCamp[1]. In the
days we hacked on d-i and stuff. We camped out in the gym of a primary school
in Oslo, and hung out through the long evenings out front. Some people even
brought tents.
Since then, DebCamp has developed into the integral warmup for DebConf
that Richard describes. I'd rather see it more ad-hoc and scruffy, but
you can't argue with the purpose it serves.
So, are there any good places to camp near
Banja Luka?
[1] Even then the DebConf orga team made it seem that easy.
Hello fellow developers,
The summer is over
The highlight this year has been getting almost all of our students at DebConf10. Thanks again this year to generous Travel Grants from the Google Open Source Team, we managed to fly in 7 of our students (up from 3!). You certainly saw them, presenting during DebianDay, hacking on the grass of Columbia, hacking^Wcheering our Debian Project Leader throwing the inaugural pitch of a professional baseball game or hacking^Wsun-tanning on the tr s kitsch Coney Island beach.
Before I give the keyboard to our Students, I d like to tell you that it will be the pleasure and honor of Obey Arthur Liu (yours truly, as Administrator) and Bastian Venthur (as Mentor) to represent Debian at the Summer of Code 2010 Mentors Summit on 23-24 October 2010, at the Google Headquarters in Mountain View. Like last year, we expect many other DDs to be present under other hats. We will be having 2 days of unconference on GSoC and free software related topics. We all look forward to reporting from California on Planet and soc-coordination@l.a.d.o!
All of our students had a wonderful experience, even if they couldn t come to DebConf, that is best shared in their own voice, so without further ado, our successful projects:
Multi-Arch support in APT
by David Kalnischkies, mentored by Michael Vogt
apt-get install MultiArch does mostly work now as most code is already merged in squeeze, but if not complain about us at deity@l.d.o! Still, a lot left on the todo list not only in APT so let us all add MultiArch again to the Release Goals and work hard on squeezing it into wheezy. Next.