You are not logged in.

#1 2003-09-08 20:03:02

ianneub
Member
From: HB, CA, USA
Registered: 2003-09-03
Posts: 25
Website

Package that overwrite other packages

I'm building a new package "mysqlclient" that will contain only the mysql client programs and libraries. Basically just run with configure option --without-server.

Anyway, how does pacman handle a package that overwrites another package? For example if I install my new mysqlclient and then later install the official mysql package, what happens?


cool sig line

Offline

#2 2003-09-08 21:41:19

contrasutra
Member
From: New Jersey
Registered: 2003-07-26
Posts: 507

Re: Package that overwrite other packages

you'll get a "file conflict" error during the installation and the installation would stop. You could force the installation though.


"Contrary to popular belief, penguins are not the salvation of modern technology.  Neither do they throw parties for the urban proletariat."

Offline

#3 2003-09-08 21:49:35

Toth
Member
Registered: 2002-12-04
Posts: 82

Re: Package that overwrite other packages

If you want to install the full mysql later on, you could always just remove mysqlclient, and then install mysql.

Offline

#4 2003-09-09 18:01:20

ianneub
Member
From: HB, CA, USA
Registered: 2003-09-03
Posts: 25
Website

Re: Package that overwrite other packages

Toth wrote:

If you want to install the full mysql later on, you could always just remove mysqlclient, and then install mysql.

Is it possible to check this from the package? Maybe it's better to just seperate the files from -client and -server so they don't overlap.


cool sig line

Offline

#5 2003-09-09 18:29:03

Toth
Member
Registered: 2002-12-04
Posts: 82

Re: Package that overwrite other packages

ianneub wrote:
Toth wrote:

If you want to install the full mysql later on, you could always just remove mysqlclient, and then install mysql.

Is it possible to check this from the package? Maybe it's better to just seperate the files from -client and -server so they don't overlap.

I don't really see the point. If you want just the client, or just the server you can use ABS to compile it as you have done. Or just install all of mysql and only use the client.  If you want you can leave the client package named "mysql" and then just upgrade it to the standard package if you want both the client and server tools. Separating software into multiple packages just gets messy, IMO. There are some files that would be common to both, some that are only for the server, some that are only for the client. You'd end up with three packages: mysql-common, mysql-client, and mysql-server. Ugh. Just look at Debian's repositories sometime and you'll see why it's probably a better idea not to do it that way. Leaving it as a single package also makes it much easier to maintain.

Offline

#6 2003-09-09 19:19:55

ianneub
Member
From: HB, CA, USA
Registered: 2003-09-03
Posts: 25
Website

Re: Package that overwrite other packages

Toth: true true. I'm only concerned with having software installed on a box that doesn't need to be there (eg. the mysql server on an http only server). I'll keep the KISS method and just use ABS for a client only package. Thanks!


cool sig line

Offline

#7 2003-09-09 20:18:52

Xentac
Forum Fellow
From: Victoria, BC
Registered: 2003-01-17
Posts: 1,797
Website

Re: Package that overwrite other packages

Having the mysql package installed does mean you will have the mysql server installed but it doesn't mean you have to run it.  It's only run if you start it yourself...

The problem of packages stepping on each other is something that needs to be addressed at one point or another.  One possibility is to make mysql conflict with mysql-client (and include all of the client stuff in the mysql package).  This is a feature that was added in 2.5 I believe.

Currently there isn't a good way to handle something like this... ideas?


I have discovered that all of mans unhappiness derives from only one source, not being able to sit quietly in a room
- Blaise Pascal

Offline

#8 2003-09-09 21:00:01

ianneub
Member
From: HB, CA, USA
Registered: 2003-09-03
Posts: 25
Website

Re: Package that overwrite other packages

Xentac wrote:

One possibility is to make mysql conflict with mysql-client (and include all of the client stuff in the mysql package).

That would work well here.

Hmm, heres a weird idea...dunno if i like it yet haha:

What if there were build options put into abs & pacman, for example if you 'pacman -S mysql --no-server' would install the package without the server portion of mysql. On the build side the PKGBUILD file would have a special case for 'no-server' and make the correct changes to the configure script. When you run makepkg it builds all the possible combinations (yuck) and then runs diffs of the files created maybe? So the one package can have multiple compile options without needing to install many different packages. So pacman would install a base packge without options and then patch the install with your options.

I dunno, random thought.


cool sig line

Offline

#9 2003-09-09 21:03:13

Xentac
Forum Fellow
From: Victoria, BC
Registered: 2003-01-17
Posts: 1,797
Website

Re: Package that overwrite other packages

Ewwww... not only is that a packager's nightmare ("Alright, I've just rebuilt one version of this package, do I have to rebuild the other ones too?"), what are the standard options? no-server, no-client, no-nose-picking?  At that point it's turning into a big mess  wink


I have discovered that all of mans unhappiness derives from only one source, not being able to sit quietly in a room
- Blaise Pascal

Offline

#10 2003-09-09 21:07:24

ianneub
Member
From: HB, CA, USA
Registered: 2003-09-03
Posts: 25
Website

Re: Package that overwrite other packages

Lol. Yah no kidding. There has to be a way to modularize all these options, that would probably have to come from the software guys upstream though sad

What about change my example above to saying there is a single base package maintained, but the abs can handle options if you want to use them. So its easy on the package builders, but gives a tad more flexibility?

Wait, scratch that, you can do that now with vi and the PKGBUILD file lol.


cool sig line

Offline

#11 2003-09-09 22:26:19

Toth
Member
Registered: 2002-12-04
Posts: 82

Re: Package that overwrite other packages

ianneub wrote:

What about change my example above to saying there is a single base package maintained, but the abs can handle options if you want to use them. So its easy on the package builders, but gives a tad more flexibility?

The closest thing I've seen to that is Gentoo's USE system, and I really didn't like that much at all.

Wait, scratch that, you can do that now with vi and the PKGBUILD file lol.

Yep, it just requires knowledge of the package's compile time options.

Offline

#12 2003-09-09 22:28:23

Xentac
Forum Fellow
From: Victoria, BC
Registered: 2003-01-17
Posts: 1,797
Website

Re: Package that overwrite other packages

I was going to mention Gentoo's use system.  I don't have a lot of experience with it, but from what I've seen I don't like it either ;o)


I have discovered that all of mans unhappiness derives from only one source, not being able to sit quietly in a room
- Blaise Pascal

Offline

#13 2003-09-09 22:40:06

sarah31
Member
From: Middle of Canada
Registered: 2002-08-20
Posts: 2,975
Website

Re: Package that overwrite other packages

gentoo's use system is a PITA. ..... wait gentoo is a PITA  tongue


AKA uknowme

I am not your friend

Offline

#14 2003-09-09 23:16:56

ianneub
Member
From: HB, CA, USA
Registered: 2003-09-03
Posts: 25
Website

Re: Package that overwrite other packages

sarah31 wrote:

wait gentoo is a PITA  tongue

Haha, thats why i'm with Arch now wink


cool sig line

Offline

Board footer

Powered by FluxBB