Ubuntu

Will Taskjuggler be in Natty?

Asked by Mal on 2011-04-06

Taskjuggler is not currently (as of 5 April, 2011) included in Natty Narwhal, although it is included in previous Ubuntu releases. Will it make it in before Natty is released?

Mal

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu taskjuggler Edit question
Assignee:
No assignee Edit question
Solved by:
Mal
Solved:
2011-04-07
Last query:
2011-04-07
Last reply:
2011-04-06
Ian Lancaster (ianml) said : #1

It was removed from Debian unstable, according to this: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=615555

So it doesn't look like that version it will make it into natty.

Some things you could do:

(1) Download the source code (http://www.taskjuggler.org/download.php) and unpack, build, and install it. You'll have to manually keep it up to date when new versions are released, by downloading new source archives, unpacking and building them, uninstalling the previous version, and installing from the newly built source.

(2) Download the .rpm package (see above download page) and attempt to install it with the utility called alien. You'll have to manually keep it up to date by installing subsequent versions' .rpm packages as they come out. This method might or might not work.

(3) Try installing the Lucid or Maverick versions of Taskjuggler from https://launchpad.net/ubuntu/+source/taskjuggler on your Natty system. This sort of thing usually works. You'll have to manually keep them up to date, by installing new packages as they are released. You will not be informed of the release by any automated mechanism. It is actually possible to (re-)add an old software source and configure it to only be used for one package, though you might not find that worthwhile to do. If you want to do that, so taskjuggler gets automatically updated when you update your system (e.g. with the Update Manager or with apt-get upgrade), please let me know, and I'll provide information about that. These packages are supported in the sense that new, updated packages are released from time to time in response to serious bugs, but they are not supported for use on Natty, so your mileage may vary. Maverick resembles Natty more than Lucid resembles Natty, but Lucid will be supported until April 2013, whereas Maverick will only be supported until April 2012 (thus, updates for the respective downstream versions of taskjuggler will end on those dates). You could, of course, use the Maverick version until it no longer gets updates, then uninstall it and start using the Lucid version for the next year. These versions of taskjuggler are subject to receiving security and stability updates, but not new features.

Of those options, I suggest downloading and building from source, though you may find other options to be easier or less time-consuming. If you want more information about any of those options or experience any problems with any of them, please feel free to post a reply about that.

You may also want to submit a bug report as a feature request for this package to be supported in Ubuntu. It was removed from Debian, but that is not the only way that packages can get into Ubuntu. Such a request will not get it added to Natty, but might get it added back in as of Oneiric Ocelot (Ubuntu 11.10). To learn how to do this, please read https://help.ubuntu.com/community/ReportingBugs carefully. Generally speaking, requests for new packages to be added are filed against no package (just against Ubuntu), but since this package has existed in Ubuntu before, you'll probably be best off filing the bug against the package taskjuggler in Ubuntu (https://bugs.launchpad.net/ubuntu/+source/taskjuggler). Make sure to tag the bug with needs-packaging.

Mal (mal-gamble) said : #3

Thanks for the prompt responses, and the detailed answer provided by Eliah. I have taken your advice and submitted a bug report (https://bugs.launchpad.net/ubuntu/+source/taskjuggler/+bug/753378).

Regards, Mal

Could you please post the instructions for referencing the maverick repository for this program?

The logic of removing a program from the repository because it is not being ported to KDE4 doesn't seem sound to me. There is no better alternative at the moment.

"The logic of removing a program from the repository because it is not being ported to KDE4 doesn't seem sound to me."

It takes developer resources (time and effort) to maintain a package for a new release. Generally speaking, a package should not be provided in official repositories (even in the Universe and Multiverse components) unless there exists a genuine commitment to providing updates in a timely manner when security and severe stability/usability bugs are discovered, at least when these bugs are patched upstream.

In addition, KDE3 programs don't always work correctly with KDE4--they may depend on older versions of some libraries, which themselves cannot be installed because they conflict with the newer versions. KRec is an example of this (see https://answers.launchpad.net/ubuntu/+source/kdemultimedia/+question/141428). If the Maverick taskjuggler package installs and runs correctly on a fully-fledged Kubuntu 11.04 system (with a full KDE4 Plasma Desktop), then it likely will remain compatible, though that is not certain. In any case, I agree that it would be nice if taskjuggler can be repackaged for Oneiric (and if it is, then added to maverick-backports).

I'll post again shortly about enabling the Maverick software sources but limiting what packages can be installed from them. This is most commonly done when enabling *newer* software sources (like a repository from a later release, or your release's backports repository: https://help.ubuntu.com/community/UbuntuBackports#Use%20pinning%20to%20limit%20the%20backports%20repository). I'd thought there was another technique for only allowing a few specific packages from any older repository, but now I'm not so sure. So, you should hear from me again soon.

Correction: "In any case, I agree that it would be nice if taskjuggler can be repackaged for Oneiric (and if it is, then added to maverick-backports and natty-backports)."

Re-correction: Sorry, just natty-backports. (It's already in Maverick, after all.)

By the way, I downloaded the .deb for the latest version of taskjuggler from Debian and it seems to install and run fine.

The app that installed it is called gdebi. IT seems to be a KDE3 app too. I hope no one labels that (or anything else) as KDE3-cruft until the successor is ready.

gedbi is actually a command line program. But there are two graphical frontends--gdebi-gtk, and gdebi-kde. If gdebi-kde were no longer packaged for Ubuntu, you'd still be able to use gdebi-gtk in Kubuntu. But there is no reason to think gdebi-kde will be going away anytime soon (possibly not ever). Not only is it packaged for Oneiric (the next release after Natty), it has also been updated to use KDE4 rather than KDE3 (see http://packages.ubuntu.com/natty/gdebi-kde).

If you're using the Debian package, you're not going to want to enable the Maverick repository, but you could add the relevant Debian repositories and use pinning to prevent automatic upgrading-to and installation-of Debian packages, when packages of the same name are provided by your Ubuntu repositories: https://help.ubuntu.com/community/UbuntuBackports#Use%20pinning%20to%20limit%20the%20backports%20repository

If you want to use the Maverick (or Lucid) package, it seems that the best thing to do is simply to enable the relevant Maverick (or Lucid) repositories, and when you install software, make sure it's not coming from those repositories unless you want it to (as is the case for taskjuggler). You could use pinning as an extra measure of safety, but it doesn't really apply to this situation, because packages in the Natty repositories would have higher versions anyway; thus, software from the Maverick or Lucid repositories would not be automatically installed or upgraded to, when a package of the same name exists in Natty.

The best way to enable the Maverick (or Lucid) or Debian repositories is probably to run the Update Manager, click Settings... to open up the Software Sources window, then click the Other Software tab and click the Add... button near the lower-left corner of the window. Then add the APT lines of the repositories you want to enable, one at a time. For Maverick, assuming you want to use the US mirrors, these would be:

deb http://us.archive.ubuntu.com/ubuntu/ maverick universe
deb-src http://us.archive.ubuntu.com/ubuntu/ maverick universe
deb http://us.archive.ubuntu.com/ubuntu/ maverick-updates universe
deb-src http://us.archive.ubuntu.com/ubuntu/ maverick-updates universe
deb http://security.ubuntu.com/ubuntu maverick-security universe
deb-src http://security.ubuntu.com/ubuntu maverick-security universe

That is to say that you would add six software sources. You could probably get away with not adding the deb-src sources, and maybe even (if you have already manually installed the .deb package for taskjuggler from Maverick) without either of the first two sources (because you only need maverick-updates and maverick-security to make sure you get updates to taskjuggler as they are released for Maverick).

That will probably be sufficient, and I recommend you try adding those six lines (or fewer than those six, as described above) before this. But it's possible you may need to add the repositories for the main component of Maverick (as well as the universe component), in order for some dependencies to be resolved:

deb http://us.archive.ubuntu.com/ubuntu/ maverick-updates main
deb-src http://us.archive.ubuntu.com/ubuntu/ maverick-updates main

If you are outside the US you'll probably want to use a mirror closer to you, rather than the US mirror. You can take a look at the file /etc/apt/sources.list to see the URL's you're using for the Natty repositories, and use those same mirrors for the Maverick repositories. You'll notice that the maverick-security repositories use a different server; using a mirror for that is not recommended.

The version from the Maverick repositories is probably less likely to have problems on your Natty system, but the version from the Debian repositories will probably be a later version and should receive updates for a longer time (probably for a longer time even than the version from the Lucid repositories, which would probably be even older).

I'll post again soon with instructions for enabling the Debian repositories (unless you tell me that you don't want to do that--then I won't bother).

Sorry about the delay.

I you want to enable Debian repositories for taskjuggler in your Natty system, you'll have to use the repositories for Debian 6.0 squeeze (or Debian 5.0 lenny, but there's probably no reason to do that--there would certainly be no benefit to that, over using Maverick's repositories), since taskjuggler is also being removed from Debian for releases following squeeze (i.e., it won't be present in Debian 7.0 wheezy), and it's not present in sid (which is the perpetual codename for the testing version).

If you do this, then as explained in my previous post, it is also important that you use pinning, or lots of your Ubuntu packages might get automatically "upgraded" to the Debian versions, which will result in you having a hybrid Debian-Ubuntu system that very likely won't function (possibly not at all). If you allow this to happen, there is really no way to undo it (besides doing a fresh installation of Ubuntu).

You can add the Debian repositories the same way as you'd add the Maverick repositories (as described in my previous post). These are the APT lines:

deb http://ftp.us.debian.org/debian/ squeeze main
deb-src http://ftp.us.debian.org/debian/ squeeze main
deb http://security.debian.org/ squeeze/updates main
deb http://ftp.us.debian.org/debian/ squeeze-proposed-updates main
deb-src http://security.debian.org/ squeeze/updates main
deb-src http://ftp.us.debian.org/debian/ squeeze-proposed-updates main

As with the Maverick repositories:

(1) It should work fine if you leave out the deb-src repositories.

(2) If you've already manually installed the Debian package for taskjuggler, it might work fine if you leave off the first two of the six repositories (since any updates would be issued in squeeze/updates or squeeze-proposed-updates). If dependency problems occur, you might have to add them (or the one that doesn't start with deb-src).

(3) You may want to pick a different mirror, particularly if you're not in the United States; http://www.debian.org/mirror/list is the list of official Debian mirrors.

Unlike with the Maverick repositories:

(1) You do need main, because the main component in Debian includes all the software that is free (as in freedom) and depends only on other software that is free. That includes taskjuggler. (In Ubuntu, the main component is only for software officially supported by Canonical; in Maverick, taskjuggler is instead in the universe component.)

(2) You probably do want the squeeze-proposed-updates repository, because in Debian, only security updates are provided in the updates repository--you need the proposed-updates repository to get any stability/usability updates.

[Feel free to skip the following three paragraphs.]

Actually, my explanation in (2) is a big oversimplification; read http://www.debian.org/releases/proposed-updates and http://wiki.debian.org/DebianReleases/PointReleases if you want to really know what's going on.

Please note that, if you read http://wiki.debian.org/StableProposedUpdates but not carefully enough, you might think that you can limit yourself to only well-tested stability/usability updates by using stable-proposed-updates instead of squeeze-proposed-updates. That is *not* the case. stable is currently an alias for squeeze, so stable-proposed-updates is currently the same repository as squeeze-proposed updates. However, when Debian 7.0 wheezy "is released" and becomes the stable release, squeeze will become the oldstable release. Then stable-proposed-updates will be the same repository as wheezy-proposed-updates. That would be *bad* in this case, because taskjuggler is not going to be present in wheezy; thus, you'd stop getting updates. Though practically speaking, by that time, there might not be any non-security updates for taskjuggler anyway. In any case, it's just generally a bad to have some APT lines using absolute release names (like squeeze) and others using aliases (like stable), because then when a new release becomes stable, some of your APT lines come to refer to the new release, while others continue referring to the old release.

What you *could* do is to enable squeeze-updates instead of squeeze-proposed-updates (see http://wiki.debian.org/StableUpdates). This will enable updates that are deemed especially desirable to adopt even before the next point release is issued. But I don't actually recommend you enable squeeze-updates instead of squeeze-proposed-updates. Everything in squeeze-proposed-updates is typically tested quite well, and stable enough that most people would want to use it. That you are using unsupported methods for installing taskjuggler on Ubuntu--installing it from the Maverick or Debian repositories in Natty--instead of installing the stable version from source code (which is designed to work on as many different systems as possible) indicates that you are willing to accept a degree of instability far greater than the instability you're likely to experience by enabling squeeze-proposed-updates instead of squeeze-updates. (Everything in squeeze-updates is also in squeeze-proposed-updates, so if you enable squeeze-proposed-updates, there is no need to enable squeeze-updates.)

[OK, it's very important that you stop skipping now.]

As explained above, once you enable Debian repositories, it is important that you use pinning to deprioritize these repositories *before* installing or upgrading any packages. Most packages in Natty are at higher versions that most packages in squeeze, so the effects of failing to do this might not be immediately obvious, and might turn out to be inconsequential. Or they could be very serious indeed.

Sir - After a complete system reinstall of oneiric, as you suggested, I added the following lines to my /etc/apt/sources.list.

deb http://us.archive.ubuntu.com/ubuntu/ maverick universe
deb http://us.archive.ubuntu.com/ubuntu/ maverick-updates universe
deb http://security.ubuntu.com/ubuntu maverick-security universe
deb http://us.archive.ubuntu.com/ubuntu/ maverick-updates main

I performed the following commands.

sudo apt-get update
sudo apt-get install taskjuggler

taskjuggler downloaded, installed, and runs fine. Thanks for the help.