Jump to content

APT for MDK?


yr2alex
 Share

Recommended Posts

So you mess up your system by using rpm -Uvh which cannot do dependency resolution (you messed up, not the system), and apt helped clean up the mess.

 

i just did a series of updates via yast, which is like the gui for urpmi. i just checked apt, 17 broken packages. i have my sources set right, so thats not the problem.

 

apt-get check reveals

gnumeric: Depends: libgsf-gnome-1.so.1
 gtkhtml: Depends: gnome-spell but it is not installed
 gxine: Depends: libxine1 (>= 1) but it is not installed
 kaffeine: Depends: libxine1 (>= 1) but it is not installed
 libstk: Depends: libxine1 but it is not installed
 libxine1-aa: Depends: libxine1 (= 1.0-0.pm.0) but it is not installed
 libxine1-directfb: Depends: libxine1 (= 1.0-0.pm.0) but it is not installed
 libxine1-dvb: Depends: libxine1 (= 1.0-0.pm.0) but it is not installed
 libxine1-dxr3: Depends: libxine1 (= 1.0-0.pm.0) but it is not installed
 libxine1-gnome-vfs: Depends: libxine1 (= 1.0-0.pm.0) but it is not installed
 libxine1-sdl: Depends: libxine1 (= 1.0-0.pm.0) but it is not installed
 libxine1-stk: Depends: libxine1 (= 1.0-0.pm.0) but it is not installed
 libxine1-syncfb: Depends: libxine1 (= 1.0-0.pm.0) but it is not installed
 libxine1-xvmc: Depends: libxine1 (= 1.0-0.pm.0) but it is not installed
 xine-browser-plugin: Depends: libxine1 (>= 0.2cvs) but it is not installed
 xine-ui: Depends: libxine1 (>= 1) but it is not installed
 xine-ui-aa: Depends: libxine1 (>= 1) but it is not installed

 

so now i get to fix these. this is why i like apt.

 

But with proper use (urpmi, yast, etc) you would never have ended up with the problem in the first place.
that output just proved you wrong there.
Link to comment
Share on other sites

  • Replies 115
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Ok, I take that back - didn't use SUSE all that long:

But with proper use of urpmi, you would never have ended up with the problems in the first place.

 

 

Oh, and you do file bugreports with SUSE about his I hope?

I mean, the errors clearly indicate that YAST is not working properly.

Link to comment
Share on other sites

Link to comment
Share on other sites

who said i was blaiming suse. i just think apt does a better job. probably cause it holds alot more sources. http://www.suseforums.net/index.php?showtopic=5971 and it just takes care of things better.

Link to comment
Share on other sites

I think that YAST should be working fine as long as the packages are made in the right way. I know that with SUSE many are using apt4rpm, since that's how many repositories are set up, so it may be that this repo is just not done properly for YAST...?

 

I would look for the issues here with the packages, not the tools (YAST in this case).

 

In any case, PLF is also third party to Mdk/urpmi, and that still works fine.

Link to comment
Share on other sites

I don't know much of Urmpi but is there command like this apt? :unsure:

 

 

Eg:

apt-get install cvs build-essential bison flex-old libasound2-dev x-window-system-dev libpng12-dev libjpeg62-dev libfreetype6-dev libxrender-dev libttf2 libttf-dev libsdl1.2-dev libsdl-ttf2.0-dev libsdl-net1.2-dev libsdl-gfx1.2-dev msttcorefonts libfontconfig1-dev

Link to comment
Share on other sites

yes urpmi can do that.

 

what i'd like to know is can urpmi do this http://www.debian.org/doc/manuals/apt-howt...t.en.html#s-pin

3.10 How to keep specific versions of packages installed (complex)

 

You may have occasion to modify something in a package and don't have time or don't want to port those changes to a new version of the program. Or, for instance, you may have just upgraded your Debian distribution to 3.0, but want to continue with the version of a certain package from Debian 2.2. You can "pin" the version you have installed so that it will not be upgraded.

 

Using this resource is simple. You just need to edit the file /etc/apt/preferences.

 

The format is simple:

 

     Package: <package>

     Pin: <pin definition>

     Pin-Priority: <pin's priority>

 

For example, to keep package sylpheed that I have modified to use "reply-to-list" at version 0.4.99, I add:

 

     Package: sylpheed

     Pin: version 0.4.99*

 

Note that I used an * (asterisk). This is a "wildcard"; it say that I want that this "pin" to be valid for all versions beginning with 0.4.99. This is because Debian versions its packages with a "Debian revision" and I don't want to avoid the installation of these revisions. So, for instance, versions 0.4.99-1 and 0.4.99-10 will be installed as soon as they are made available. Note that if you modified the package you won't want to do things this way.

 

The pin priority helps determine whether a package matching the "Packages:" and "Pin:" lines will be installed, with higher priorities making it more likely that a matching package will be installed. You can read apt_preferences(7) for a thorough discussion of priorities, but a few examples should give the basic idea. The following describes the effect of setting the priority field to different values in the sylpheed example above.

 

1001

Sylpheed version 0.4.99 will never be replaced by apt. If available, apt will install version 0.4.99 even if it would replace an installed package with a higher version. Only packages of priority greater than 1000 will ever downgrade an existing package.

1000

The effect is the same as priority 1001, except that apt will refuse to downgrade an installed version to 0.4.99

990

Version 0.4.99 will be replaced only by a higher version available from a release designated as preferred using the "APT::Default-Release" variable (see How to keep a mixed system, Section 3.8, above).

500

Any version higher than 0.4.99 of sylpheed which is available from any release will take preference over version 0.4.99, but 0.4.99 will still be preferred to a lower version.

100

Higher versions of sylpheed available from any release will take preference over version 0.4.99, as will any installed higher version of slypheed; so 0.4.99 will be installed only if no version is installed already. This is the priority of installed packages.

-1

Negative priorities are allowed as well, and prevent 0.4.99 from ever being installed.

 

A pin can be specified on a package's version, release or origin.

 

Pinning on a version, as we have seen, supports literal version numbers as well as wildcards to specify several versions at one time.

 

Option release depends on the Release file from an APT repository or from a CD. This option may be of no use at all if you're using package repositories that don't provide this file. You may see the contents of the Release files that you have on /var/lib/apt/lists/. The parameters for a release are: a (archive), c (components), v (version), o (origin) and l (label).

 

An example:

 

     Package: *

     Pin: release v=2.2*,a=stable,c=main,o=Debian,l=Debian

     Pin-Priority: 1001

 

In this example, we chose version 2.2* of Debian (which can be 2.2r2, 2.2r3 -- this accommodates "point releases" that typically include security fixes and other very important updates), the stable repository, section main (as opposed to contrib or non-free) and origin and label Debian. Origin (o=) defines who produced that Release file, the label (l=) defines the name of the distribution: Debian for Debian itself and Progeny for Progeny, for example. A sample Release file:

 

     $ cat /var/lib/apt/lists/ftp.debian.org.br_debian_dists_potato_main_binary-i386_Release

     Archive: stable

     Version: 2.2r3

     Component: main

     Origin: Debian

     Label: Debian

     Architecture: i386

chapter 3 has some cool stuff.

3.8 How to keep a mixed system

 

3.9 How to upgrade packages from specific versions of Debian

i dont know if urpmi can do that.

 

as i pointed out before, apt can do source. http://linux01.gwdg.de/~pbleser/article/install_apt4rpm.php

If you want to build from source RPMs, also add the following line:

rpm-src ftp://ftp.gwdg.de/pub/linux/suse/apt/ SuSE/9.2-i386 suser-guru

(note: replace "9.2-i386" by "9.1-i386", "9.0-i386" or "8.2-i386" if you're using SuSE 9.1, 9.0 or 8.2 respectively)

Link to comment
Share on other sites

The format is simple:

 

    Package: <package>

    Pin: <pin definition>

    Pin-Priority: <pin's priority>

 

Its all in the urpmi.conf somewhere...

I don't have a working MDK install right now... I just looked and the disk has a MDK64 install but the disk is now in a K7...

 

However the problem with urpmi (just like most of MDK) is documentation.

Heck, reading the mdk blurb its hard to know it exists... let alone obscure config options...

Link to comment
Share on other sites

urpmi's package skipping works functionally very similar to pinning. If you have a specific version of foo and you don't want it to be updated by urpmi operations, add it to /etc/urpmi/skip.list . Now urpmi --auto-select will never update it, and if you do urpmi bar (where bar depends on foo), foo won't be updated (at least I think this is correct, haven't tested for a bit). If you explicitly call urpmi foo , though, it will be updated, which is reasonable I think. I use this functionality to stop urpmi insisting on installing the plf version of freetype when I prefer the mdk version (when there's an mdk and a plf package of the same software with the same version, urpmi will prefer the plf one by default).

 

The big thing apt has that urpmi doesn't (that I'm aware of) is suggested dependencies. This would be a lot of work to implement in MDK, though - the problem isn't with writing the functionality into urpmi, but revising all the packages to take advantage of it.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share


×
×
  • Create New...