PKGDATA(1)
π PKGDATA(1) π
okay bestie, welcome to pkgdata β that's the ICU 78.3 manual's very own packaging girlie, and she's here to make your data files cute, fast, and portable. sit down, grab a strawberry drink π, and let's get into it.
β¨ NAME β¨
pkgdata β package data for use by ICU. yes that's the whole name. short, iconic, does exactly what it says. π
πΈ SYNOPSIS πΈ
pkgdata [ -h, -?, --help ] [ -v, --verbose ] [ -c, --copyright | -C,
--comment comment ] [ -m, --mode mode ] -p, --name name -O, --bldopt
options [ -e, --entrypoint name ] [ -r, --revision version ] [ -F,
--rebuild ] [ -I, --install ] [ -s, --sourcedir source ] [ -d, --destdir
destination ] [ -T, --tempdir directory ] [ file ... ]
π DESCRIPTION π
so pkgdata takes a whole lil pile of data files and packages them up for ICU, or for apps that use ICU. the vibe? make distribution easier, and make ICU load them faster while chewing through fewer of those precious limited system resources β file descriptors, we're looking at you, bestie, you are so limited. π packaged data also means apps can ship with fewer resource files, or literally none at all if they link against the packaged data directly. ate.
pkgdata supports a few different packaging methods, each serving a different purpose. not all methods are for the same girlie, and that's fine.
π¦ the default: common (archive) mode
the default packaging mode is common, aka archive. in this mode the different data files get bundled together as an architecture-dependent file that ICU can later memory map. data packaged this way gets looked up under the ICU data directory. it's easy to use for applications' resource bundles, for example, as long as the application can install that packaged file into the ICU data directory. lowkey the classic.
π« dll (library) mode
another packaging mode is dll, aka library β where the data files get compiled into a shared library. ICU used to be able to dynamically load these shared libraries, but as of ICU 2.0 that support has been removed. π it's still useful for two main purposes though:
- to build ICU itself, since the ICU data is packaged as a shared library by default
- to build resource bundles that are linked to the application that uses them
and those resource bundles can then live anywhere the system's dynamic linker looks for shared libraries β they're not forced to live inside the ICU data directory. freedom, slay. π¦
π static mode
the static packaging mode is basically the shared-library one but it produces a static library. same energy, different artifact.
π§ files mode
and finally, pkgdata supports a files mode which just... copies the data files? no packaging into a single file or library, just copies. this mode is mainly there to support building ICU before it gets packaged into separate small packages for distribution with operating systems like Debian GNU/Linux, for example. if you want the full lore, please refer to the packaging documentation in the ICU source distribution for more info on using this mode. iykyk. π
π
pkgdata builds, packages, installs, or cleans the appropriate data based on the options you give it β with no need to call GNU make anymore. periodt. π
β¨ OPTIONS β¨
-h,-?,--helpβ print help about usage and exit. the "hi what do i do" button π«Ά-v,--verboseβ display extra informative messages during execution. she gets chatty, we love that for her π¬-c,--copyrightβ include a copyright notice in the binary data.-C,--commentcomment β includes the specified comment in the resulting data instead of the ICU copyright notice.-m,--modemode β set the packaging mode to be used bypkgdata. the different modes and what they mean are explained up in the DESCRIPTION section, bestie, go read it. the valid mode names arecommon(orarchive),dll(orlibrary), andfiles.-O,--bldoptoptions β specify options for the builder. the builder is used internally bypkgdatato generate the correct packaged file. such options include, but are not limited to, setting variables used bymake(1)during the build of the packaged file. β οΈ note: ificu-configis available, then this option is not needed.-p,--namename β set the packaged file name to name. this name is also used as the default entry point name, after having been turned into a valid C identifier. (she's a multitasker π )-e,--entrypointname β set the data entry point (used for linking against the data in a shared library form) to name. the default entry point name is the name set by the-n, --nameoption.-r,--revisionversion β enable versioning of the shared library produced indll, orlibrary, mode. the version number has the formatmajor.minor.patchlevel, and all parts except formajorare optional. if onlymajoris supplied, then the version is assumed to bemajor.0for versioning purposes.-F,--rebuildβ force the rebuilding of all data and their repackaging. no shortcuts, no stale files, we're doing the whole thing again π₯-I,--installβ install the packaged file (or all the files in thefilesmode). if the variableDESTDIRis set, it will be used for installation.-s,--sourcedirsource β set the source directory to source. the default source directory is the current directory.-d,--destdirdestination β set the destination directory to destination. the default destination directory is the current directory.-T,--tempdirdirectory β set the directory used to generate temporary files to directory. the default temporary directory is the same as the destination directory as set by the-d, --destdiroption. π
π AUTHORS π
- Steven Loomis
- Yves Arrouye
the founding mothers of this whole operation, we thank them for their service π«Ά
β VERSION β
78.3
π COPYRIGHT π
Copyright (C) 2000-2009 IBM, Inc. and others.
okay that's the whole page bestie, you're officially pkgdata-pilled π β¨ this masterpiece came to you straight from the ICU MANPAGE, dated 6 February 2009 β and yeah, she's still serving. go package something iconic. bye!! ππ¦π
π¦ where this page comes from
- arch rolling: icu 78.3-1 Β· LicenseRef-Unicode-3.0 AND BSD-2-Clause AND BSD-3-Clause AND NAIST-2003
- ubuntu stonking: icu-devtools 78.3-2ubuntu1 Β· MIT
- Copyright (C) 2016 and later: Unicode, Inc. and others
- Copyright (C) 2000-2009 IBM, Inc. and others
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms