[haiku-bugs] Re: [Haiku] #10267: Outsource packageable third-party software

  • From: "Haiku" <trac@xxxxxxxxxxxx>
  • To: undisclosed-recipients: ;
  • Date: Sun, 20 Jun 2021 12:54:42 -0000

#10267: Outsource packageable third-party software
---------------------------+----------------------------
  Reporter:  bonefish      |      Owner:  bonefish
      Type:  enhancement   |     Status:  new
  Priority:  normal        |  Milestone:  R1.1
 Component:  Build System  |    Version:  R1/Development
Resolution:                |   Keywords:
Blocked By:  10572         |   Blocking:
  Platform:  All           |
---------------------------+----------------------------

Old description:

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.

||'''Software'''||'''Version'''||'''Build
feature'''||'''Bootstrap'''||'''Status'''||
||agg||2.4 (warning: in-tree version has changes)||yes (source?)||yes||
[[span(style=color: #FF0000, broken recipe)]] ||
||bash||4.3.27 (was 4.0.35(1))||-||yes||        [[span(style=color:
#00FF00, done)]] ||
||bc||1.07 (was 1.06)||-||-||   [[span(style=color: #00FF00, done)]]
||compress||?||-||?||   [[span(style=color: #00FF00, done)]] ||
||coreutils||8.22 (was 8.4) ||-||yes||  [[span(style=color: #00FF00,
done)]] ||
||diffutils||3.3 (was 2.8.1)||-||yes||  [[span(style=color: #00FF00,
done)]] ||
||expat||2.1.0 (was 1.95.8)||yes||?||   [[span(style=color: #00FF00,
done)]] ||
||findutils||4.2.33||-||yes||   [[span(style=color: #00FF00, done)]] ||
||fluidsynth||1.0.9||?||?||     [[span(style=color: #00FF00, done)]] ||
||ftp||?||-||-|| [[span(style=color: #808080, recipe available)]] ||
||ftpd||?||-||-||
||gawk||4.1.0||-||yes|| [[span(style=color: #00FF00, done)]] ||
||gdb||6.3||-||-||      [[span(style=color: #00FF00, done)]] ||
||glut||?||?||-||
||gzip||1.6 (was 1.2.4)||-||?|| [[span(style=color: #00FF00, done)]] ||
||less||451||-||-||     [[span(style=color: #00FF00, done)]] ||
||libcrypt||removed in hrev50426||yes||?||      [[span(style=color:
#00FF00, removed)]] ||
||libedit||2015_03_21_3.1-2||yes||[[span(style=color: #FF0000, TODO)]]||
[[span(style=color: #00FF00, done)]] ||
||libfdt||1.3.0||? (!x86)||?||
||libgutenprint||5.2.9 (was 5.2.7)||yes||-||    [[span(style=color:
#00FF00, done)]] ||
||libiconv||?||yes||?|| [[span(style=color: #808080, recipe available)]]
||
||libtelnet||?||?||-||
||libtiff||3.9.6 (was 3.9.4)||yes||-||  [[span(style=color: #00FF00,
done)]] ||
||libudis86||1.7.2 (was ?)||yes (x86, source)||?||
[[span(style=color: #808080, recipe available)]] ||
||libutil||?||yes||?||
||mapm||?||yes||?||
||ncurses||5.9 (was 5.5)||yes||yes||    [[span(style=color: #00FF00,
done)]] ||
||netcat||1.10||-||-||  [[span(style=color: #00FF00, done)]] ||
||patch||2.7.4 (was 2.5.4)||-||?||      [[span(style=color: #00FF00,
done)]] ||
||pdflib||5.0.3||yes||-||       [[span(style=color: #00FF00, done)]]
||ping||?||-||-||
||ping6||?||-||-||
||qrencode||3.3.0||yes||-||     [[span(style=color: #00FF00, done)]] ||
||rcs||5.9.4||-||-||    [[span(style=color: #00FF00, done)]] ||
||sharutils||4.14.1||-||-||     [[span(style=color: #00FF00, done)]] ||
||tcpdump||4.7.4 (was 3.9.5)||-||-||    [[span(style=color: #00FF00,
done)]] ||
||telnet||?||-||-||
||telnetd||?||-||-||
||traceroute||1.4a12||-||-||
||unzip||6.0 (was 5.50)||-||?|| [[span(style=color: #00FF00, done)]] ||
||watch||0.2.0||-||-||
||wget||1.15||-||-||    [[span(style=color: #00FF00, done)]] ||
||x86emu||?||yes (x86*, source)||?||
||zip||3.0 (was 2.32)||-||?||   [[span(style=color: #00FF00, done)]] ||

New description:

 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.

 ||'''Software'''||'''Version'''||'''Build
 feature'''||'''Bootstrap'''||'''Status'''||
 ||agg||2.4 (warning: in-tree version has changes)||yes (source?)||yes||
 [[span(style=color: #FF0000, broken recipe)]] ||
 ||bash||4.3.27 (was 4.0.35(1))||-||yes||        [[span(style=color:
 #00FF00, done)]] ||
 ||bc||1.07 (was 1.06)||-||-||   [[span(style=color: #00FF00, done)]]
 ||compress||?||-||?||   [[span(style=color: #00FF00, done)]] ||
 ||coreutils||8.22 (was 8.4) ||-||yes||  [[span(style=color: #00FF00,
 done)]] ||
 ||diffutils||3.3 (was 2.8.1)||-||yes||  [[span(style=color: #00FF00,
 done)]] ||
 ||expat||2.1.0 (was 1.95.8)||yes||?||   [[span(style=color: #00FF00,
 done)]] ||
 ||findutils||4.2.33||-||yes||   [[span(style=color: #00FF00, done)]] ||
 ||fluidsynth||1.0.9||?||?||     [[span(style=color: #00FF00, done)]] ||
 ||ftp||?||-||-|| [[span(style=color: #00FF00, done)]] ||
 ||ftpd||?||-||-||
 ||gawk||4.1.0||-||yes|| [[span(style=color: #00FF00, done)]] ||
 ||gdb||6.3||-||-||      [[span(style=color: #00FF00, done)]] ||
 ||glut||?||?||-||
 ||gzip||1.6 (was 1.2.4)||-||?|| [[span(style=color: #00FF00, done)]] ||
 ||less||451||-||-||     [[span(style=color: #00FF00, done)]] ||
 ||libcrypt||removed in hrev50426||yes||?||      [[span(style=color:
 #00FF00, removed)]] ||
 ||libedit||2015_03_21_3.1-2||yes||[[span(style=color: #FF0000, TODO)]]||
 [[span(style=color: #00FF00, done)]] ||
 ||libfdt||1.3.0||? (!x86)||?||
 ||libgutenprint||5.2.9 (was 5.2.7)||yes||-||    [[span(style=color:
 #00FF00, done)]] ||
 ||libiconv||?||yes||?|| [[span(style=color: #808080, recipe available)]]
 ||
 ||libtelnet||?||?||-||
 ||libtiff||3.9.6 (was 3.9.4)||yes||-||  [[span(style=color: #00FF00,
 done)]] ||
 ||libudis86||1.7.2 (was ?)||yes (x86, source)||?||
 [[span(style=color: #808080, recipe available)]] ||
 ||libutil||?||yes||?||
 ||mapm||?||yes||?||
 ||ncurses||5.9 (was 5.5)||yes||yes||    [[span(style=color: #00FF00,
 done)]] ||
 ||netcat||1.10||-||-||  [[span(style=color: #00FF00, done)]] ||
 ||patch||2.7.4 (was 2.5.4)||-||?||      [[span(style=color: #00FF00,
 done)]] ||
 ||pdflib||5.0.3||yes||-||       [[span(style=color: #00FF00, done)]]
 ||ping||?||-||-||
 ||ping6||?||-||-||
 ||qrencode||3.3.0||yes||-||     [[span(style=color: #00FF00, done)]] ||
 ||rcs||5.9.4||-||-||    [[span(style=color: #00FF00, done)]] ||
 ||sharutils||4.14.1||-||-||     [[span(style=color: #00FF00, done)]] ||
 ||tcpdump||4.7.4 (was 3.9.5)||-||-||    [[span(style=color: #00FF00,
 done)]] ||
 ||telnet||?||-||-||
 ||telnetd||?||-||-||
 ||traceroute||1.4a12||-||-||
 ||unzip||6.0 (was 5.50)||-||?|| [[span(style=color: #00FF00, done)]] ||
 ||watch||0.2.0||-||-||
 ||wget||1.15||-||-||    [[span(style=color: #00FF00, done)]] ||
 ||x86emu||?||yes (x86*, source)||?||
 ||zip||3.0 (was 2.32)||-||?||   [[span(style=color: #00FF00, done)]] ||

--
Comment (by pulkomandy):

 Actually FTP is done but I forgot to update this. We ship tnftp now.

 The recipes are at Haikuports when something is noted "recipe available".
 The work to do is:
 - Delete the sources from Haiku
 - Add some definitions in jamfiles to use an hpkg file
 - Put the hpkg file in the generated/downloads/ directory manually
 - Make any needed adjustments to the code so that Haiku builds and run
 correctly

 You can see various hrev numbers linked above, showing examples of that.
-- 
Ticket URL: <https://dev.haiku-os.org/ticket/10267#comment:54>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.

Other related posts: