ICUPKG(8)

πŸ’– ICUPKG πŸ’–

okay bestie, welcome to icupkg, part of the ICU 78.3 Manual situation β€” she's a manual page (section 8, server-girlie territory) and she's here to help you extract or modify an ICU .dat archive. no cap. let's get into it πŸŽ€


✨ SYNOPSIS ✨

icupkg [ -h, -?, --help ] [ -tl, --type l | -tb, --type b | -te, --type
e ] [ -c, --copyright | -C, --comment comment ] [ -a, --add list ] [ -r,
--remove list ] [ -x, --extract list ] [ -l, --list ] [ -s, --sourcedir
source ] [ -d, --destdir destination ] [ -w, --writepkg ] [ -m,
--matchmode mode ] infilename [ outfilename ]

πŸ¦‹ DESCRIPTION πŸ¦‹

So here's the tea, bestie: icupkg reads your input ICU .dat package file, does whatever you told it to do via the options, swaps it to the platform properties you want (that's charset & endianness, iykyk), and then β€” if you feel like it β€” writes the resulting ICU .dat package out to the output file. ✨

And the order of operations is literally fixed, okay? Items get removed, then added, then extracted and listed. That's the pipeline, that's the vibe, periodt.

An ICU .dat package gets written if:

  • items are removed or added, or
  • the input and output filenames differ, or
  • you set the -w, --writepkg option πŸ’…

Not me also telling you this: if the input filename is "new", then an empty package is created. Iconic. And if the output filename is missing, it gets automatically generated from the input filename. Also! If the input filename ends with an l, b, or e matching its platform properties, then the output filename will contain the letter from the -t, --type option. 🧚

Plot twist: this tool can also just swap a single ICU data file, replacing the former icuswap tool. For this mode, provide the infilename (and optional outfilename) for a non-package ICU data file. The options allowed in this mode are -t, -w, -s and -d. The filenames can be absolute, or relative to the source/dest dir paths. > Other options are not allowed in this mode. 🚫


🌸 OPTIONS 🌸

  • -h, -?, --help β€” prints help about usage and then dips. bye bestie πŸ‘‹
  • -tl, --type l β€” output for the little-endian/ASCII charset family. the output type defaults to the input type.
  • -tb, --type b β€” output for the big-endian/ASCII charset family. the output type defaults to the input type.
  • -te, --type e β€” output for the big-endian/EBCDIC charset family. the output type defaults to the input type.
  • -c, --copyright β€” includes the ICU copyright notice in the resulting data. πŸ’…
  • -C, --comment comment β€” includes the comment you specify in the resulting data, instead of the ICU copyright notice.
  • -a, --add list β€” adds items from the list to the package. The list can be a single filename with a .txt file extension containing a list of item filenames, or an ICU .dat package filename. πŸ“
  • -r, --remove list β€” removes items from the list from the package. The list can be a single filename with a .txt file extension containing a list of item filenames, or an ICU .dat package filename.
  • -x, --extract list β€” extracts items from the list from the package. The list can be a single filename with a .txt file extension containing a list of item filenames, or an ICU .dat package filename.
  • -m, --matchmode mode β€” sets the matching mode for item names with wildcards. πŸƒ
  • -s, --sourcedir source β€” sets the source directory to source. The default source directory is the current directory.
  • -d, --destdir destination β€” sets the destination directory to destination. The default destination directory is the current directory.
  • -l, --list β€” lists the package items to stdout (after modifying the package, bestie β€” the order matters!!).

πŸŽ€ LIST FILE SYNTAX πŸŽ€

Items are listed on one or more lines and separated by whitespace (space+tab). Comments begin with # and are ignored. Empty lines are ignored too, we're not about that clutter life. ✨

Also ignored: lines where the first non-whitespace character is one of %&'()*+,-./:;<=>?_ β€” those are being reserved for future syntax, so hands off. πŸ™ˆ

Items for removal or extraction may contain a single * wildcard character. The * matches zero or more characters. If -m, --matchmode noslash is set, then the * character does not match the / character. 🌈

Items must be listed relative to the package, and the --sourcedir or the --destdir path will be prepended. The paths are only prepended to item filenames while adding or extracting items β€” not to ICU .dat package or list filenames. 🫢

Paths may contain / instead of the platform's file separator character, and they get converted as appropriate. slay.


πŸ‘‘ AUTHORS πŸ‘‘

  • Markus Scherer
  • George Rhoten

the literal icons who made this happen πŸ’œ


⭐ VERSION ⭐

1.0


Copyright (C) 2006 IBM, Inc. and others.


πŸ”₯ SEE ALSO πŸ”₯

go read those too, bestie, they're giving main character energy 😭


and that's the whole page, fr fr β€” brought to you by the ICU MANPAGE, dated 18 August 2006, page ICUPKG(8). go forth and swap those packages. mwah πŸ’–

πŸ“¦ where this page comes from