Opened 11 years ago

Last modified 3 years ago

#10267 new enhancement

Outsource packageable third-party software — at Version 22

Reported by: bonefish Owned by: bonefish
Priority: normal Milestone: R1.1
Component: Build System Version: R1/Development
Keywords: Cc:
Blocked By: #10572 Blocking:
Platform: All

Description (last modified by korli)

Most (ported) third-party software should be removed from the Haiku source repository. HaikuPorts recipes should be created and the software should be provided as a package (or multiple packages). For libraries it may be necessary to provide them as build features (cf. build/jam/BuildFeatures for reference (e.g. icu or openssl)); in rare cases the build system may need to build (parts of) them from the sources (cf. build/jam/BuildFeatures for reference (e.g. zlib or libsolv)). Some packages will need to be built during the bootstrap process.

SoftwareVersionBuild featureBootstrap
agg?yes (source?)yes
bash4.3.27 (was 4.0.35(1))-yesdone
bc1.06--
compress?-?
coreutils8.4-yes
diffutils2.8.1-yes
expat?yes?
findutils4.2.33-yesdone
fluidsynth1.0.9??
ftp?--
ftpd?--
gawk4.1.0-yesdone
gdb6.3--
glut??-
gzip1.2.4-?
less451--done
libcrypt?yes?
libedit?yes?
libfdt1.3.0? (!x86)?
libgutenprint5.2.9 (was 5.2.7)yes-done
libiconv?yes?
libtelnet??-
libtiff3.9.6 (was 3.9.4)yes-done
libudis86?yes (source)?
libutil?yes?
mapm?yes?
ncurses5.9yesyes
netcat?--
patch2.5.4-?
pdflib5.0.3yes-
ping?--
ping6?--
qrencode3.3.0yes-done
rcs?--
sharutils4.14.1--done
tcpdump3.9.5--
telnet?--
telnetd?--
traceroute1.4a12--
unzip5.50-?
watch0.2.0--
wget1.15--done
x86emu?yes (x86*, source)?
zip2.32-?

Change History (22)

comment:1 by bonefish, 11 years ago

Blocking: 10265 added

(In #10265) I suppose the file format is no longer compatible with that of our ancient less version. less should be outsourced to HaikuPorts, which will, as a side effect, avoid this build issue.

comment:2 by bonefish, 11 years ago

Blocking: 10444 added

(In #10444) Also cf. #10267 which tracks the status of third-party software to be outsourced.

comment:3 by pulkomandy, 11 years ago

Blocked By: 10572 added

(In #10572) How would that fix #10265? That was an issue with the version of less on the host system (Fedora, in that case).

Anyway, the first step is getting package built for all 3 supported archs (x86_gcc2, x86, x86_64). I built the first, will upload once vmrepo is back online...

Waiting for other people to do the other archs, before we proceed with removing the in-tree version.

comment:4 by korli, 11 years ago

Description: modified (diff)

findutils added in hrev46925.

comment:5 by korli, 11 years ago

Description: modified (diff)

gawk 4.1.0 added in hrev46929.

comment:6 by waddlesplash, 11 years ago

Jerome, while you're at it can you look at #10572 and maybe finish it?

comment:7 by pulkomandy, 11 years ago

I tried doing a clean build of Haiku, and I got this:

gawk: /Donnees/Dev/Haiku/haiku/src/apps/devices/pci-header.awk:169: fatal error: internal error

Seems the new gawk is not compatible with what we used to have?

Moreover, a lot of haikuports packages need either gawk, find, or xargs (starting with libtool). They all lack the needed "requires", and it seems the Haiku package still provides those, so even adding the requires to the recipes doesn't work. I was trying to see if a clean haiku build would solve that (as I couldn't find why it would still provides findutils in the sources), but I hit the other issue with gawk.

comment:8 by anevilyak, 11 years ago

FYI, the package provides in src/data/package_infos/.../haiku need to be updated to reflect the commands that are no longer present due to outsourcing, otherwise there will be dep resolution problems ; this explains some of the issues I was running into in ports. Will see if I can find time to update those later, assuming no one beats me to it.

comment:9 by anevilyak, 11 years ago

Updated in hrev46959. Also updated some of the ports recipes accordingly. However, I'm now running into build issues with pkgconfig on gcc4, specifically link failures related to its built-in copy of glib, i.e.:

./glib/glib/.libs/libglib-2.0.a(gcharset.o): In function `get_alias_hash':
/sources/pkg-config-0.27.1/glib/glib/gcharset.c:54: undefined reference to `_g_locale_get_charset_aliases'

Any ideas as to what might be going on there?

in reply to:  7 comment:10 by korli, 11 years ago

Replying to pulkomandy:

Seems the new gawk is not compatible with what we used to have?

It seems gawk 'configure' detects multibyte support and tries to use it. I disabled it as a workaround in hrev46965.

comment:11 by korli, 11 years ago

Description: modified (diff)

sharutils 4.14.1 added in hrev47117. No use in bootstrap process.

comment:12 by korli, 11 years ago

Description: modified (diff)

less 451 added in hrev47121.

comment:13 by korli, 11 years ago

Blocking: 10265 removed

comment:14 by korli, 11 years ago

Description: modified (diff)

qrencode 3.3.0 added in hrev47126.

comment:15 by korli, 11 years ago

Blocking: 10444 removed

(In #10444) Fixed indeed.

comment:16 by korli, 11 years ago

Description: modified (diff)

gutenprint added in hrev47217.

comment:17 by korli, 10 years ago

Description: modified (diff)

wget added in hrev47295.

comment:18 by korli, 10 years ago

Description: modified (diff)

tiff added in hrev47300 (still missing secondary architectures packages though).

comment:19 by mmu_man, 10 years ago

fluidsynth added as external package in hrev47698. Still need to remove the in-tree version and declare the external one as dependency.

comment:20 by korli, 10 years ago

Description: modified (diff)

ncurses should also probably be built during the bootstrap process, as bash depends on it.

in reply to:  20 comment:21 by bonefish, 10 years ago

Replying to korli:

ncurses should also probably be built during the bootstrap process, as bash depends on it.

It already is. The work remaining for ncurses is to declare a build feature, use it where needed, and remove the ncurses sources from the source tree. It becomes less work, if most of the software needing it is outsourced before, but at least Debugger will still require ncurses.

comment:22 by korli, 10 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.