Opened 6 years ago

Last modified 10 months ago

#9990 new bug

Installation of source packages fails

Reported by: anevilyak Owned by: bonefish
Priority: normal Milestone: Unscheduled
Component: Kits/Package Kit Version: R1/Package Management
Keywords: Cc:
Blocked By: Blocking: #10245, #10799, #11148
Has a Patch: no Platform: All

Description

Currently, either via pkgman or HaikuDepot, one can find source packages listed, e.g. libxml2_source. However, actually attempting to install one results in an error indicating that the package name was not matched. This is most likely due to missing the appropriate libsolv flags when invoking install.

Change History (12)

comment:1 Changed 5 years ago by anevilyak

Blocking: 10245 added

(In #10245) Duplicate of #9990

comment:2 Changed 5 years ago by kallisti5

I can confirm this one as well. Even an installed _source package (installed manually) shows this error when you attempt to uninstall it through pkgman and HaikuDepot

comment:3 Changed 5 years ago by bonefish

AFAIK, when specifying packages by name (pattern), libsolv requires a special flag (SELECTION_WITH_SOURCE or SELECTION_SOURCE_ONLY) to consider source packages. We don't specify that flag yet. Not sure yet, whether we want that unconditionally or have a similar flag in our solver API.

comment:4 Changed 5 years ago by diver

Blocking: 10799 added

comment:5 Changed 5 years ago by bonefish

I had a closer look and this seems to be a bit more involved than just specifying a flag. AFAICT libsolv doesn't consider source packages installable. So this probably needs changes in libsolv.

comment:6 Changed 5 years ago by diver

Blocking: 11148 added

comment:7 Changed 4 years ago by waddlesplash

Is there a reason they should be installable? IMO there's not much point to having readonly sources of something in /system/sources or whatever. pkgman should probably just download the file to the current directory and extract it.

comment:8 Changed 4 years ago by pulkomandy

For distribution of the release CDs, we need the sources of all bundled packages to be on the CD (this is the simplest way to ensure GPL compliance). Or, we need to build a GPL-free version of Haiku for the releases and not include any GPL sourcecode, which would be not so nice (no NTFS support for example).

I don't know if this needs source install to also work with pkgman, but it would be nice to have that as well for symetry. Wether it has to be a beta1 blocker is open to debate, however.

comment:9 in reply to:  8 ; Changed 4 years ago by jackburton

Replying to pulkomandy:

For distribution of the release CDs, we need the sources of all bundled packages to be on the CD (this is the simplest way to ensure GPL compliance). Or, we need to build a GPL-free version of Haiku for the releases and not include any GPL sourcecode, which would be not so nice (no NTFS support for example).

This is simply not true. There is no need to include the source code on the CD, it simply needs to be available "on request". That means having it available on our repositories is just fine.

I don't know if this needs source install to also work with pkgman, but it would be nice to have that as well for symetry. Wether it has to be a beta1 blocker is open to debate, however.

Having the source packages listed in haikudepot but not installable is not nice. So either we should filter out the source packages, or fix their installation. Of course, I have no idea how much work it is to fix that.

comment:10 in reply to:  9 Changed 4 years ago by korli

Replying to jackburton:

This is simply not true. There is no need to include the source code on the CD, it simply needs to be available "on request". That means having it available on our repositories is just fine.

I think the idea was to avoid the possible request of sources on physical support, for which we don't want to waste resources (if only time).

comment:11 Changed 4 years ago by pulkomandy

Yes, that's it. I did not say it is the only way to ensure GPL compliance, I said it was the simplest one. The GPL requires the code to be available at the same place you get the binaries, or on physical support if you ask the distributor for it.

Since our physical CDs are distributed by Haiku, inc. and possibly using other resellers (cafepress or similar), it is much simpler if we put the sources on the CD, which is what we did for previous releases. Otherwise, the Haiku project itself would be compliant to the GPL, but people distributing the CDs would have to do a lot of work to make sure they keep the sources available (for several years IIRC). By including the sources on the CD it is much easier for redistributors to handle this (just keep a single iso image instead of a mirror of the repos).

comment:12 Changed 10 months ago by waddlesplash

Milestone: R1/beta1Unscheduled

Source packages are now added to the image properly when --include-sources is set as of hrev52054, so this is not a beta blocker anymore.

Note: See TracTickets for help on using tickets.