FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Debian > Debian Development

 
 
LinkBack Thread Tools
 
Old 08-31-2008, 06:08 PM
Mark Hobley
 
Default Bug#497304: general: packages cannot be partially installed

Package: general
Severity: wishlist


There is an annoying flaw in the design of the Debian package management
system, which means that packages cannot be partially installed. This
limits the flexibility of Debian based systems when it comes to mixed
installations or installation on embedded or resource constrained
systems.

For any particular package, the full set of binary components, optional
documentation, and unused foreign language support files will be installed
by the package management system.

This flaw also means that components of bundled packages, such as the
coreutils suite cannot be individually selected or omitted. This is
particularly annoying if the system installer wants to replace one of
the components with a customized version.

A fix would be to make it possible to select individual files for
installation from within a package.

Other work includes splitting packages into daughter packages, the
parent package being dependent on all daughters, but allowing the option
of just selecting individual daughter packages,

eg: coreutils depends on coreutils-fileutils and
coreutils-fileutils depends on coreutils-fileutils-head,
coreutils-fileutils-split

etc, etc.

Possibly introduce a packaging policy (this is a draft):

Each stand alone binary file should be individually packaged, rather
than bundled with other stand alone binary files.

It is policy that internationalized (non-english) components are
packaged separately to the core package. For example, a package foobar,
would have its french documentation in a separate foobar-fr package.

Packages should not install cruft on the system. This means that a
package should not install a foreign language file, unless the system
has been explicitly configured to support that foreign language.

Mark.

-- System Information:
Debian Release: lenny/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.25-2-486
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash



--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
 
Old 08-31-2008, 06:46 PM
Ben Hutchings
 
Default Bug#497304: general: packages cannot be partially installed

On Sun, 2008-08-31 at 19:08 +0100, Mark Hobley wrote:
> There is an annoying flaw in the design of the Debian package management
> system, which means that packages cannot be partially installed. This
> limits the flexibility of Debian based systems when it comes to mixed
> installations or installation on embedded or resource constrained
> systems.

This is being partly addressed by the Emdebian project and the future
introduction of 'tdebs' (translation packages).

The more general feature is 'classes' <http://www.dpkg.org/dpkg/Classes>
and this may be implemented some day, but don't hold your breath. I've
merged this bug with earlier similar requests.

Ben.





--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
 
Old 08-31-2008, 06:49 PM
"Eugene V. Lyubimkin"
 
Default Bug#497304: general: packages cannot be partially installed

Mark Hobley wrote:
> For any particular package, the full set of binary components, optional
> documentation, and unused foreign language support files will be installed
> by the package management system.
You are not right, general. Packages are often splitted.

> A fix would be to make it possible to select individual files for
> installation from within a package.
... and allow user or admin to break whole system by selecting half of coreutils and 2/3
files of dpkg. Great.

> Other work includes splitting packages into daughter packages, the
> parent package being dependent on all daughters, but allowing the option
> of just selecting individual daughter packages,
>
> eg: coreutils depends on coreutils-fileutils and
> coreutils-fileutils depends on coreutils-fileutils-head,
> coreutils-fileutils-split
$ dpkg -L coreutils | grep bin | wc -l
99
And you suggest package all these binaries individually? Did you think about size of dpkg
and apt databases, if you tell about embedded systems?

> It is policy that internationalized (non-english) components are
> packaged separately to the core package. For example, a package foobar,
> would have its french documentation in a separate foobar-fr package.
Please, have a look on repository and wonder. If some package bundles _big_ piece of stuff
all-at-one, you should file a wishlist bug against this package, not general.

> Packages should not install cruft on the system. This means that a
> package should not install a foreign language file, unless the system
> has been explicitly configured to support that foreign language.
So, If I need Japanese support in browser I have to install all available Japanese stuff
related to other thousand of packages?

I have almost no doubt this report should be marked 'wontfix'.

--
Eugene V. Lyubimkin aka JackYF, Ukrainian C++ developer.
 
Old 08-31-2008, 06:55 PM
Neil Williams
 
Default Bug#497304: general: packages cannot be partially installed

On Sun, 2008-08-31 at 19:08 +0100, Mark Hobley wrote:
> Package: general
> Severity: wishlist
>
>
> There is an annoying flaw in the design of the Debian package management
> system, which means that packages cannot be partially installed.

Umm, yes they can actually. Emdebian uses this functionality all the
time. You have a choice of unpacking and running the preinst maintainer
scripts or you can extract the package to a local directory or you can
view the contents of the package with dpkg -c, dpkg -I or deb-gview,
there are quite a few methods.

> For any particular package, the full set of binary components, optional
> documentation, and unused foreign language support files will be installed
> by the package management system.

This is dpkg filtering which is also being implemented - I looked at a
version at DebConf7 due to needs within Emdebian and it has since been
enhanced and being implemented in dpkg.

> This flaw also means that components of bundled packages, such as the
> coreutils suite cannot be individually selected or omitted. This is
> particularly annoying if the system installer wants to replace one of
> the components with a customized version.

Filtering would support that too.

> A fix would be to make it possible to select individual files for
> installation from within a package.
>
> Other work includes splitting packages into daughter packages, the
> parent package being dependent on all daughters, but allowing the option
> of just selecting individual daughter packages,

Currently, that means rebuilding the packages - Emdebian is doing that
too.

> Each stand alone binary file should be individually packaged, rather
> than bundled with other stand alone binary files.

Umm, we have 20,000 packages - that could push us to 2 million
overnight. I don't think ftp-master would accept that.

> It is policy that internationalized (non-english) components are
> packaged separately to the core package. For example, a package foobar,
> would have its french documentation in a separate foobar-fr package.

TDebs will implement this - support is planned in the infrastructure for
Lenny+1 and in packages for Lenny+2

> Packages should not install cruft on the system. This means that a
> package should not install a foreign language file, unless the system
> has been explicitly configured to support that foreign language.

A combination of dpkg filtering, an Emdebian TDeb utility to be merged
into apt and other infrastructure support is already planned for this
scenario.


--


Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/
 
Old 08-31-2008, 08:01 PM
Steve Greenland
 
Default Bug#497304: general: packages cannot be partially installed

On 31-Aug-08, 13:08 (CDT), Mark Hobley <markhobley@yahoo.co.uk> wrote:
> Packages should not install cruft on the system. This means that a
> package should not install a foreign language file, unless the system
> has been explicitly configured to support that foreign language.

Others have commented on your general points, but there is a solution
to this one:

apt-get install localepurge

They still get installed, but then immediately removed. Quite hacky,
admittedly.

Steve


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
 
Old 09-02-2008, 02:01 PM
Michelle Konzack
 
Default Bug#497304: general: packages cannot be partially installed

Am 2008-08-31 19:08:49, schrieb Mark Hobley:
> eg: coreutils depends on coreutils-fileutils and
> coreutils-fileutils depends on coreutils-fileutils-head,
> coreutils-fileutils-split

This would leed into over 200.000 Binary packages...

> It is policy that internationalized (non-english) components are
> packaged separately to the core package. For example, a package foobar,
> would have its french documentation in a separate foobar-fr package.
>
> Packages should not install cruft on the system. This means that a
> package should not install a foreign language file, unless the system
> has been explicitly configured to support that foreign language.

Hmmm, how many languages do we have?

If each package is only translated into 10 languages, your wish will
lead into over 15.000 additional packages.

Thanks, Greetings and nice Day/Evening
Michelle Konzack
Systemadministrator
24V Electronic Engineer
Tamay Dogan Network
Debian GNU/Linux Consultant


--
Linux-User #280138 with the Linux Counter, http://counter.li.org/
##################### Debian GNU/Linux Consultant #####################
Michelle Konzack Apt. 917 ICQ #328449886
+49/177/9351947 50, rue de Soultz MSN LinuxMichi
+33/6/61925193 67100 Strasbourg/France IRC #Debian (irc.icq.com)
 
Old 09-21-2008, 12:28 AM
Hendrik Sattler
 
Default Bug#497304: general: packages cannot be partially installed

Am Tuesday 02 September 2008 16:01:17 schrieb Michelle Konzack:
> Am 2008-08-31 19:08:49, schrieb Mark Hobley:
> > eg: coreutils depends on coreutils-fileutils and
> > coreutils-fileutils depends on coreutils-fileutils-head,
> > coreutils-fileutils-split
>
> This would leed into over 200.000 Binary packages...
>
> > It is policy that internationalized (non-english) components are
> > packaged separately to the core package. For example, a package foobar,
> > would have its french documentation in a separate foobar-fr package.
> >
> > Packages should not install cruft on the system. This means that a
> > package should not install a foreign language file, unless the system
> > has been explicitly configured to support that foreign language.
>
> Hmmm, how many languages do we have?
>
> If each package is only translated into 10 languages, your wish will
> lead into over 15.000 additional packages.

That's not what he said. If installation of language files (they can still be
in the program package) could be only done for the language(s) that the user
wants (many systems only will ever use one specific translation), you could
reduce the installed files by many thousands.
Actually nobody needs all of them but only a subset. Disc space of cheap most
of the time, though.

HS


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
 
Old 09-22-2008, 09:43 PM
Steve Greenland
 
Default Bug#497304: general: packages cannot be partially installed

On 20-Sep-08, 19:28 (CDT), Hendrik Sattler <post@hendrik-sattler.de> wrote:
>
> That's not what he said. If installation of language files (they can still be
> in the program package) could be only done for the language(s) that the user
> wants (many systems only will ever use one specific translation), you could
> reduce the installed files by many thousands.
> Actually nobody needs all of them but only a subset. Disc space of cheap most
> of the time, though.

apt-get install localepurge

Steve


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
 
Old 09-25-2008, 01:34 PM
Michelle Konzack
 
Default Bug#497304: general: packages cannot be partially installed

Am 2008-09-22 16:43:51, schrieb Steve Greenland:
> On 20-Sep-08, 19:28 (CDT), Hendrik Sattler <post@hendrik-sattler.de> wrote:
> >
> > That's not what he said. If installation of language files (they can still be
> > in the program package) could be only done for the language(s) that the user
> > wants (many systems only will ever use one specific translation), you could
> > reduce the installed files by many thousands.
> > Actually nobody needs all of them but only a subset. Disc space of cheap most
> > of the time, though.

Understood...

> apt-get install localepurge

I was thinking on this too but it has an negative impact, since you have
to install the whole thing first... where you can run out of space in
small systems and then you have to purge it...

While looking into the apt-hooks, I do not know how they are working and
whether it is possibel to purge the unneccesary file after unpacking of
EACH SINGEL PACKAGE since purging after unpacking of ALL PACKAGES can be
a killer...

And then there is a second thing:

Since some systems do not need /usr/share/doc/* there could be a hook
too which eliminate those GBytes of stuff... But it should leave "-doc"
packages as they are...

Thanks, Greetings and nice Day/Evening
Michelle Konzack
Systemadministrator
24V Electronic Engineer
Tamay Dogan Network
Debian GNU/Linux Consultant


--
Linux-User #280138 with the Linux Counter, http://counter.li.org/
##################### Debian GNU/Linux Consultant #####################
Michelle Konzack Apt. 917 ICQ #328449886
+49/177/9351947 50, rue de Soultz MSN LinuxMichi
+33/6/61925193 67100 Strasbourg/France IRC #Debian (irc.icq.com)
 
Old 09-26-2008, 10:19 PM
Steve Greenland
 
Default Bug#497304: general: packages cannot be partially installed

On 25-Sep-08, 08:34 (CDT), Michelle Konzack <linux4michelle@tamay-dogan.net> wrote:
> Am 2008-09-22 16:43:51, schrieb Steve Greenland:
> > apt-get install localepurge
>
> I was thinking on this too but it has an negative impact, since you have
> to install the whole thing first... where you can run out of space in
> small systems and then you have to purge it...

OP said it was okay if the translations are in the package file, so I
interpeted this as okay.

> While looking into the apt-hooks, I do not know how they are working and
> whether it is possibel to purge the unneccesary file after unpacking of
> EACH SINGEL PACKAGE since purging after unpacking of ALL PACKAGES can be
> a killer...

But if you're running out space during unpacking, you've got problems
anyway. This might buy a little more time, sure, but I'd guess it's
very narrow region where unpacking all the packages in the current
installation run would succeed *except* for the translation files.

> Since some systems do not need /usr/share/doc/* there could be a hook
> too which eliminate those GBytes of stuff... But it should leave "-doc"
> packages as they are...

There have been proposals in the past to allow filtering of directories
in dpkg for precisely this reason. I don't know whether it turned out to
be infeasable, or just that no one has implemented it.

Anyway, localepurge is available now, and while it may not be the
cleanest possible solution, it does seem to work okay, and does get rid
of all those pesky files I'm too stupid to use :-).

Regards,
Steve the monolingual


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
 

Thread Tools




All times are GMT. The time now is 12:22 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org