Matthew Garrett ([info]mjg59) wrote,
@ 2008-11-02 11:11:00
Previous Entry  Add to memories!  Tell a Friend  Next Entry
Entry tags:advogato, ubuntu

Ultamatix
First, let me make one thing clear. This isn't constructive criticism. This is just criticism. It's directed at software that's so wrong-headed that there's no way to make it significantly better, and everyone involved would be much better spending their time doing something else instead of trying to fix any of what I'm about to describe. It's not worth it. Sit in a park or something instead. Meet new and interesting people. Take up a hobby that doesn't involve writing shell scripts for Linux. You'll be happier. I'll be happier. Everyone wins.

Anyway. I wrote about Automatix some time ago. It died and the world became a better place. More recently it's been resurrected as something called Ultamatix. In summary, don't bother. It's crap. And dangerous. But mostly crap. Again, I'm going to utterly ignore the UI code and just concentrate on what it runs.

  • function cleanup {
    echo "Cleaning up..."
    sudo apt-get autoremove --assume-yes --force-yes
    }
    In other words, "Remove a bunch of packages that might have nothing to do with anything Ultamatix has installed, and don't ask the user first. Oh, and assume yes when asked whether to do anything potentially damaging". This gets called 103 times in various bits of Ultamatix.

  • Oh, notice the sudo in there? Ultamatix is running as root already. Despite this, there are 429 separate calls to sudo.
  • #Test O/S 64 or 32 bit...
    architecture=`uname -m`
    targetarch="x86" #Set 64-bit machines to download 32-bit if no options are set
    if [ "$architecture" != "x86_64" ] && [ "$architecture" != "ia64" ]; then
        architecture="x86"
    else
        architecture="x86_64"
    fi
    It turns out that ia64 is not especially good at running x86_64 binaries. Never mind, eh?
  • rm -rf $AXHOME/.gstreamer-0.10
    gst-inspect
    sudo gst-inspect
    
    Which translates as "Delete any self-installed plugins, run gst-inspect as root in an attempt to regenerate the plugin database, really run gst-inspect as root in an attempt to regenerate the plugin database". The flaws in this are left as an exercise for the reader.
  • sudo apt-get --assume-yes --force-yes remove --purge
    Used 111 times. Will remove the packages it installed, but also any other packages the user has installed that happen to depend on them. Without asking.
  • sudo cp /etc/apt/sources.list /etc/apt/sources.bak
    sudo echo "deb http://ppa.launchpad.net/project-neon/ubuntu hardy main" >> /etc/apt/sources.list
    sudo apt-get update
    if !    sudo apt-get install --assume-yes --force-yes amarok-nightly amarok-nightly-tools amarok-nightly-taglib
    then
            AX_fatal "An apt-based error occurred and installation was unsuccessful";
    fi
    echo "Restoring sources."
    sudo cp /etc/apt/sources.bak /etc/apt/sources.list
    sudo apt-get update
    The good news is that it backs up your sources.list before breaking things. The bad news is that it's still utterly horrifying.
  • #since we have root we need to discover normal username so we can create the shortcut & set proper permissions
    NU=$(cat /etc/passwd | grep 1000 | cut -d: -f1)
    sudo chown $NU:$NU "legends_linux-0.4.1.43.deb"
    sudo chmod +x legends_linux-0.4.1.43.deb
    sudo dpkg -i legends_linux-0.4.1.43.deb
    List of fail:
    1. Assuming that the user has uid 1000
    2. Chowning a deb to the user for no obvious reason (hint: a user can delete root owned files that are in the user's home directory)
    3. Making a deb executable for no reason whatsoever
    4. Assuming that user information will be in /etc/passwd
    5. Not just, say, passing the user's name to the application IN THE FIRST PLACE
  • sudo apt-get --assume-yes --force-yes install f-spot dvgrab kino devede gtkpod-aac ipod gnupod-tools libgpod-common
    libipod-cil libipoddevice0 libipodui-cil libhfsp0 hfsplus hfsutils libipod0
    If only we had some way of saying that libraries used by programs should automatically be installed when a program is. Wouldn't that be great?
  • echo "Adding mediabuntu repository"
    sudo cp /etc/apt/sources.list /etc/apt/sources.bak
    sudo wget http://www.medibuntu.org/sources.list.d/hardy.list -O /etc/apt/sources.list.d/medibuntu.list
    ...
    echo "Restoring sources."
    sudo cp /etc/apt/sources.bak /etc/apt/sources.list
    Yeah. that'll help.

  • The Swiftweasel install that checks your CPU type and then has some insane number of cut and paste code chunks that differ only by the filename of the tarball it grabs. Rather than, say, using a variable and writing the code once.

  • The cutting and pasting of the same code in order to install swiftdove.

  • Code that installs packages differently depending on whether they happened to be in your home directory to start with or whether it had to download them for you
  • if !    DEBIAN_FRONTEND=kde sudo apt-get --assume-yes --force-yesinstall virtualbox
    No, I didn't remove any spaces from that.
  • #create directory incase they installed it elsewhere, no sense in scraping all thier games
    sudo mkdir /usr/local/games/WoP/ 2>/dev/null
    ...
    sudo rm -R /usr/local/games/WoP/ 2>/dev/null
    What, create a directory and then immediately delete it? How is this useful in any way whatsoever?

There's almost certainly more. I got bored. The worrying thing about this is that the Ultamatix author read my criticisms of Automatix and appears to have attempted to fix all of them. The problem with this is that there's clearly a complete lack of understanding of the fundamental problem in several cases. For example, one of my criticisms of Automatix:

sudo sed -i "s/^vboxusers\(.*\):$/vboxusers\1:$AXUSER/" /etc/group

- assumes that the system isn't using some sort of user directory service.


and the Ultamatix response:

Fixed...Got rid of Virtualbox

Except exactly the same problem is present at other points in Ultamatix, as noted above. Taking a bug list and slavishly fixing or deleting all the bugs isn't helpful if you then proceed to add the same bug back in 24 other places. In that respect, it's even worse than Automatix - the author's managed to produce a huge steaming pile of shite despite having been told how to avoid doing so beforehand. He may be no newbie to programming, but if not it's a perfect example of how experience doesn't imply competence.

Don't install this package. Don't let anyone else install this package. If you see anyone advocating the installation of this package, call them a fool. There's absolutely no excuse whatsoever for the existence of this kind of crap.

Minor update:
The above was looking at 1.8.0-4. It turns out that there's a 1.8.0-5 that's not linked off the website. There's no substantive difference, but some of the numbers may be slightly different.



(53 comments) - (Post a new comment)


[info]lionsphil
2008-11-02 01:06 pm UTC (link)
Almost two hours, and still no flamewar? The Internets are slipping.

I still don't understand the use case for this stuff. Easy apt frontends which are not horribly broken already exist.

(Reply to this)

Linux Mint -- what are your thoughts?
(Anonymous)
2008-11-02 01:27 pm UTC (link)
I've been running Ubuntu for the last few years, occasionally using distros like Arch or Gentoo because I thought I didn't have enough geek cred or something. Lately I installed and am running the latest Linux Mint, and am really enjoying it. It seems that the Mint folks have come a long way since it was "just Ubuntu with restricted codecs". Their homegrown GUI tools for backups and desktop tweaking are nice, and work. And unlike Ultimate Edition/Ultimatix, they kept the install image to CD size, not DVD, and also managed to make their homegrown artwork classy and restrained.

I'm impressed by the add-ons Linux Mint has come up with, and there don't seem to be any gotchas. Any that you are aware of?

(Reply to this) (Thread)

Re: Linux Mint -- what are your thoughts?
[info]mjg59
2008-11-02 01:29 pm UTC (link)
Never looked at it at all, I'm afraid.

(Reply to this) (Parent)

Lack of education
(Anonymous)
2008-11-02 01:32 pm UTC (link)
(via Planet Ubuntu)

I'm several years removed from this, but as a Windows XP user one had no reason to expect annoyances or shortcomings in the OS to ever be fixed; as a result there was a laundry list of things to do in a new install just to make life livable. Automating said list might have made sense to some users.

If you transplant the same attitude to Ubuntu, the outcome is Automatix etc.; but of course the situation isn't analogous. Users new to Free Software don't realize they can get bugs fixed/wishlist items added, for real, by interacting with upstream. Instead they feel the need to build a third-party house of cards (hacks) that is likely to eventually collapse on them.

That is not an excuse, but conjecture as to why people bother with this junk. For bad coding, there's never any excuse.

(Reply to this) (Thread)

Re: Lack of education
(Anonymous)
2008-11-03 02:15 pm UTC (link)
Mm, I've seen this too, and is probably worthy of further attention; I've lost count of the number of times as an upstream developer where people have jumped straight from describing an issue they have and asking me for a workaround.

(Reply to this) (Parent)

Re: Lack of education
[info]deep_endolith
2008-11-12 10:39 pm UTC (link)
Users new to Free Software don't realize they can get bugs fixed/wishlist items added, for real, by interacting with upstream.

That's a pretty big assumption. Lots of these changes are impossible upstream due to legal or licensing issues, lots of package maintainers refuse to implement changes that don't meet with their personal philosophy of how the program/world should work, etc. WONTFIX is incredibly discouraging when trying to interact with upstream.

(Reply to this) (Parent)

This is not their fault
(Anonymous)
2008-11-02 02:59 pm UTC (link)
Much like economics, Ultamatix fills a need. If Ubuntu did a better job working for the users, and making the tasks it provides easy, these would not exist.

It's good to point out that its coded wrong, no doubt, but just don't expect that to change until the issue causing it is resolved. You are treating the symptom, not the cause.

(Reply to this) (Thread)

Re: This is not their fault
(Anonymous)
2008-11-02 03:06 pm UTC (link)
Does it really? I think it's more marketed as filling a need, than actually doing so.

A broken system is worse than a lacking system, even if it was true.

(Reply to this) (Parent)

Re: This is not their fault - [info]https://login.launchpad.net/+id/kCBhBsX, 2008-11-02 04:15 pm UTC
Re: This is not their fault - [info]lionsphil, 2008-11-02 06:23 pm UTC
Re: This is not their fault - [info]jldugger, 2008-11-03 05:03 am UTC
Re: This is not their fault - [info]pjc50, 2008-11-03 10:27 am UTC
Re: This is not their fault - [info]jldugger, 2008-11-03 02:21 pm UTC

(Anonymous)
2008-11-02 03:01 pm UTC (link)
Thank you for this community service. It's excellent to have a place to point to when explaining why these things must be avoided. I installed Automatix once or twice many years ago and it promptly wrecked my system - not by bugs but by design (as above).

(Reply to this)


[info]ajaxxx
2008-11-02 03:46 pm UTC (link)
"I am no newbie to programming" is the new "I can tell by some of the pixels".

(Reply to this)

Thanks
(Anonymous)
2008-11-02 04:12 pm UTC (link)
Thanks for putting this together.

I'll be adding this to our warnings against Ultamatix on the Ubuntu IRC channels.

Benjamin 'Pici' Rubin
bnrubin [at] ubuntu [dot] com

(Reply to this)

Yikes
[info]jeremiahfoster.myopenid.com
2008-11-02 04:40 pm UTC (link)
That is one scary shell script.

(Reply to this)


[info]photosinensis
2008-11-02 05:30 pm UTC (link)
I maintain that a simple script that installs the stuff that Ubuntu can't distribute by default for legal reasons is a good idea (but I've never gotten around to writing it). However, this is not a simple script. In fact, it's not even close to what I have in mind. I have no clue what this guy was thinking.

In the meantime, I'll just stick to using aptitude to grab everything I want.

(Reply to this)

Fills a need?
(Anonymous)
2008-11-02 07:26 pm UTC (link)
Where I suppose the need is "I want the shiny!"

This kind of stuff is like chmod -R 777 / for the 21st century.

(Reply to this) (Thread)

Re: Fills a need?
(Anonymous)
2008-11-02 08:25 pm UTC (link)
Note (you never know :)): that is a dangerous command :)

(Reply to this) (Parent)

Re: Fills a need? - [info]photosinensis, 2008-11-03 04:26 am UTC
Even more...
[info]http://bobbo.me.uk/id/
2008-11-02 10:14 pm UTC (link)
I had a quick scan through the source tarball from the site and instantly found even more fail (warning: Debian packaging geekery to come):

- The packaging is painfully non-standards compliant. There are no debian/{rules,changelog,copyright} files. There is no standards version in the control file. The package descriptions aren't very good and he doesnt wrap lines at 79/80 cols. To be honest, I don't know how he would get that to build a proper deb package

- An incomplete Debian copyright file is installed, but not properly (same is also true of the changelog, which isn't in Debian package format).

- There is a lovely leftover backup file (changelog~) in the package binary. Always good to know developers are looking after the little details.

- The source tree makes no sense whatsoever. The python files that probably should be in /usr/lib/pythonX.X/site-packages/ultamatix are in /usr/lib/ultamatix. All of the bash "code" (if you could call it that) is in /usr/share/ultamatix/conf. Surely configuration files should go in there? Ah wait, they go in /usr/share/ultamatix/. Yeah, that makes a whole load of sense. It actually took me a good 5 minutes to find the stuff Matthew had posted, because I didn't think they would be anywhere as stupid as a directory marked "conf".

I'll stop now because (as Matthew said), you could go on forever finding problems with this.

Just from the packaging, I'd be really worried about installing this software, in case it did any damage to dpkg, nevermind the painfully funny code it would be running.

(Reply to this) (Thread)

Re: Even more...
[info]cjwatson
2008-11-03 12:14 pm UTC (link)
Nitpick: /usr/lib/ultamatix isn't necessarily unreasonable. It's quite common for packages with private Python modules to install them in a private directory off the standard sys.path; germinate and ubiquity are two examples of my own that come to mind.

(Reply to this) (Parent)

Re: One more FAIL
[info]sapphirecat
2008-11-03 02:01 pm UTC (link)
In `sudo chown $NU:$NU` -- assuming that there is a group with the same name as the username. It's not an unreasonable assumption on Ubuntu, but it's certainly not universal. But then, I don't know if Ultamatix actually intends to be universal or not. It's certainly not coming to any machine I have a say over.

(Reply to this)

Ubuntu Tweak
(Anonymous)
2008-11-03 02:51 pm UTC (link)
Recently Ubuntu Tweak has added functionality to install new repositories and packages. AFAIK this program in not badly written like automatix. But you should probably check it to be sure.
ubuntu-tweak.com

(Reply to this)

Wow.
(Anonymous)
2008-11-03 04:03 pm UTC (link)
sudo echo (...) >> /etc/apt/sources.list


Most. Pointless. Use. Of. sudo. Ever.

(Reply to this) (Thread)

Re: Wow.
(Anonymous)
2008-11-03 04:48 pm UTC (link)
For Debian you can use the extras script and smxi:

Tech Patterns :: smxi dist-upgrade/ maintenance script, kernel install
http://techpatterns.com/forums/about736.html

wget -qO /usr/local/bin/extras http://extras.741.com/extras && cd /usr/local/bin && chmod +x extras && extras
Quote:
Here are some popular multimedia packages for you to install.
You can install them one at a time.
When you are done, just hit the quit number and the script will exit.
------------------------------------------------------------------
1 - mplayer installs mplayer + w32codecs and all related multimedia packages.
2 - mozilla-mplayer Installs firefox mozilla-mplayer plugin + w32codecs
(Removes kaffeine-mozilla firefox plugin if required.)
3 - k9copy Installs k9copy and related libraries.
4 - acroread Installs Adobe acroread pdf reader.
5 - mozilla-acroread Installs firefox mozilla-acroread pdf reader plugin.
6 - realplayer Installs realplayer proprietary Real Audio media player.
7 - libdvdcss Installs dvd playback libs.
8 - lame Installs program to allow encoding of mp3 files.
9 - ffmpeg ffplay multimedia player, ffserver streaming server
and the ffmpeg audio and video encoder. Supports most existing file formats (AVI,
MPEG, OGG, Matroska, ASF...) and encoding formats (MPEG, DivX, MPEG4, AC3, DV...)
10 - flash Installs flash support for web browsers
11 - java Installs java support for web browsers
12 - quit Exit script.
------------------------------------------------------------------
Please type the appropriate number and hit enter.
------------------------------------------------------------------
1) mplayer 5) mozilla-acroread 9) ffmpeg
2) mozilla-mplayer 6) realplayer 10) flash
3) k9copy 7) libdvdcss 11) java
4) acroread 8) lame 12) quit

Or do things the smart way and just install Synaptic, google for multimedia repos for your distro, add it and install all the crap you want.

(Reply to this) (Parent)


[info]technonick
2008-11-03 04:49 pm UTC (link)
"First, let me make one thing clear. This isn't constructive criticism. This is just criticism. It's directed at software that's so wrong-headed that there's no way to make it significantly better, and everyone involved would be much better spending their time doing something else instead of trying to fix any of what I'm about to describe. It's not worth it. Sit in a park or something instead. Meet new and interesting people. Take up a hobby that doesn't involve writing shell scripts for Linux. You'll be happier. I'll be happier. Everyone wins."

I hate the way you put that. It's so condescending. I used Automatix when it was there, and it filled a need. It forced change in Ubuntu. Someone did. Someone filled a need. Maybe they screwed it up in their implementation, but it worked. And I see that Ultramatix fills a need too. I have installed it on a test system, just to see what's there. And the developer really put a lot of things into it. Maybe he didn't do it right. Maybe it's a super hack, but it installs software that I've been wanting to try. And he does it.
He didn't sit around typing a 2000 word essay on how to do it. He didn't moan and complain. He didn't form a committee. He actually did something. As opposed to other people, who sit around pontificating on the merits of something based on their knowledge, not actually doing anything.
Even if what was done was to inspire "Jim's First Time Script" that actually implements everything 100% correctly, the person that wrote Ultramatix did something.

(Reply to this) (Thread)


[info]mjg59
2008-11-03 04:51 pm UTC (link)
Yes, it's condescending. There's a reason for that.

(Reply to this) (Parent)(Thread)

(no subject) - [info]technonick, 2008-11-03 04:54 pm UTC
(no subject) - [info]mjg59, 2008-11-03 04:57 pm UTC
(no subject) - [info]technonick, 2008-11-03 05:13 pm UTC
(no subject) - [info]mjg59, 2008-11-03 05:18 pm UTC
(no subject) - [info]technonick, 2008-11-03 05:38 pm UTC
(no subject) - [info]mjg59, 2008-11-03 05:46 pm UTC
(no subject) - [info]technonick, 2008-11-03 05:52 pm UTC
(no subject) - [info]https://nerp.net/openid/ben, 2008-11-04 05:08 am UTC
(no subject) - [info]technonick, 2008-11-04 04:39 pm UTC
(no subject) - [info]lionsphil, 2008-11-03 11:06 pm UTC
(no subject) - [info]technonick, 2008-11-04 12:04 am UTC
(no subject) - [info]lionsphil, 2008-11-04 12:42 am UTC
(no subject) - [info]technonick, 2008-11-04 04:33 pm UTC
(no subject) - [info]lionsphil, 2008-11-04 05:29 pm UTC
smxi
(Anonymous)
2008-11-03 05:22 pm UTC (link)
How about a review of smxi, the Sidux script which many people claim should also be used by Debianites.

(Reply to this) (Thread)

Re: smxi
(Anonymous)
2008-11-04 12:38 am UTC (link)
smxi is not and never has been a sidux script. A stub to install it was included in sidux but has been removed ending any vague connection. smxi is a solo project and should get the praise or criticism it deserves all to itself.

(Reply to this) (Parent)

Thanks.
(Anonymous)
2008-11-03 05:58 pm UTC (link)
Thank you, Matthew. ;)

I never took a deep breathe out of the 'Automatix'- or 'Ultimatix'-source, but I always felt a bit sceptical about this 'helpful' tool when using it. Ubuntu was, Like others already said... I couldn't get the sense of this crap. I mean, on my notebook e.g. I absolutely prefer the comfortable way of using (Ubuntu) Linux. And why should I use the wooonderful 'Automatix' or something like that, though Ubuntu for example inherited the (in my eyes) best binary-package management, apt, from his wonderful mother Debian? That is one of the most important contra-arguments against 'Automatix'... The others were already mentioned.

Greetings from Germany,
Konstantin

(Reply to this)

Check out Ubuntu Lite
(Anonymous)
2008-11-04 02:22 am UTC (link)
http://ubuntulite.tuxfamily.org/?q=node/2#install

It sets apt to allow unauthenticated packages. Probably a workaround for Bug #125103 but still stupid.

(Reply to this)

Always root on ultimatix
(Anonymous)
2008-11-05 02:50 am UTC (link)
I've read about ultimatix. The fact that you're always root is what instantly tells me nobody should use it. Not even windows users. The administrator password concept is not hard for windows users to fathom, nor is the user login prompt requiring a password to login.
This is why i like the way ubuntu handles su. You can only do sudo commands, and to do them requires just the user password. Great for windows users, and very similar to how macosx does administrative stuff.
Although my preference is just to go straight to root mode with su. In ubuntu i can just do "sudo su".

(Reply to this)

Creator of Ultamatix Can be Found Here...
(Anonymous)
2008-11-06 07:40 pm UTC (link)
Just to clear up any mystery... The author of Ultamatix also releases an Ubuntu fork called "Ultimate Edition". He can be contacted via his "Ultimate Forum". The link below takes you to the Ultamatix sub-forum of his "Ultimate (Edition) Forum:

http://forumubuntusoftware.info/viewtopic.php?f=23&t=1365&sid=cf87ccfb255cab382e2c67dcdf40359a

I thought all of this was common knowledge in the Linux/Ubuntu community, but from reading the article I got the impression the author of Ultamatix was unknown (???); my apologies if that is not in fact the case. I just thought I'd pass along this information for anyone who might want it or wished to enter into further discussions about Ultamatix with author himself.

(Reply to this)

Dangerous
(Anonymous)
2008-11-10 03:07 am UTC (link)
I cannot in my wildest dreams believe that someone actually coded that script. This has got to be the most dangerous thing I've ever seen. He may be no newbie to programming, be he is surely a newbie to system stability and common sense.

(Reply to this) (Thread)

Re: Dangerous
(Anonymous)
2008-11-11 06:21 am UTC (link)
There will always be those that complain yet never did they once provide a solution. Whether laziness or zealotry they sat and fed off the hard work of others.


Fix the guy's code and email him a diff.

Add a post to the ubuntu brainstorm page.

Of all the linux distributions I've seen I would say that ubuntu is the most open to change. You can actually talk to the so called upstream. Instead of being just downwind of them tooting their horn.

(Reply to this) (Parent)(Thread)

A solution. - [info]flyingreptile, 2009-01-14 05:36 pm UTC

(Reply from suspended user)

(53 comments) - (Post a new comment)

Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…