[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Use of dpkg --set-selections is brain-dead?



On Thu, 31 Aug 2006 10:11:58 -0500, Kevin Buhr wrote:

>> Which begs the question: Why doesn't 'apt-get dselect-upgrade' install
>> the package?
> 
> Does your package have any unsatisfied dependencies?  They need to be
> scheduled for install via "dselect --set-selections", too.  If you're
> going to go this route, you have to do all the dependency resolution
> manually.

Ah, no wonder I didn't succeeded last time. Thanks for the info Kevin. 

BTW, I gave up the 'dselect --set-selections' approach long time ago. 

FYI, my current approach is using a self-maintaining text DB, which lists
all the packages that I need. To me, what's superior in this approach are:

- It is text based, very easy to edit.

- It is small. I only need to care for the most important
packages. For example, I only list "gnome-core" to give me the whole gnome
support. Thanks to debfoster or aptitude, they will figure out what lib
or other packages are required. My currently DB hold all packages that I
want but it is only 5K in size. This is much better approach for version
control.

- It is self-maintained. Let me explain. You can define you own level of
necessity. Currently I have 3 levels of necessity in my DB. 1, essential
level, tools that'd go into my USB pen. 2, necessary tools for desktop. 3,
optional tools that are even unnecessary for desktop. 

By self-maintained I mean you can ask the DB to give you all tools at the
level you required. Eg, list all tools used in the 2nd level but not 1st.
It is self-maintained because the text DB is wrapped with a Perl script.

Moreover, the level of granularity does not limited to the above 3 levels.
Each individual level can have arbitrarily levels for selection. Here is
part of my 1st level:

0 # 0 == essential tools, for live-CD
0 # 0. system essential tools
0.1 # 0.1. disk tools
0.1 parted dosfstools
0.1 smartmontools hdparm
0.2 # 0.2. device tools
0.2 eject vcdimager
0.2 cdrecord cdrdao dvd+rw-tools
0.2 # 0.2.  alsa-modules-2.4-k7 kernel-image-2.4-k7
0.2 alsa-oss alsa-base alsa-utils 
0.2 alsamixergui
0.3 # 0.3. system management tools
0.3 grep-dctrl debconf-utils
0.3 xosview xnetload
0.3 slocate
0.3 defoma x-ttcidfont-conf fontconfig 
0.3 tmpreaper
0.3 dchroot debootstrap
0.4 # 0.4. shell & text tools
0.4 wdiff
0.4 dialog
0.4 asciidoc
[...]

All in all, you define you own level and packages, the self-maintained
script will return you from the levels you required the packages that you
listed. 

If anyone is interested in the self-maintained DB. I'll make it available
to the public somewhere. 

thanks





Reply to: