diff --git a/LICENSES/README.md b/LICENSES/README.md
index 90550d85c7..f131c73988 100644
--- a/LICENSES/README.md
+++ b/LICENSES/README.md
@@ -57,6 +57,9 @@ The following exceptions apply:
* the following sources are licensed under the **MIT-0** license:
- all examples under man/
- config files and examples under /network
+ - hostname-wordlist/colors
+ - hostname-wordlist/weather
+ - hostname-wordlist/worlds
- src/systemd/sd-dlopen.h
* the following sources are under **Public Domain** (LicenseRef-murmurhash2-public-domain):
- src/basic/MurmurHash2.c
diff --git a/hostname-wordlist/README b/hostname-wordlist/README
index 0ef3a3fc5f..4be6951ae6 100644
--- a/hostname-wordlist/README
+++ b/hostname-wordlist/README
@@ -6,7 +6,7 @@ These files provide the word lists for the "$" wildcard understood by
template is replaced by a word from the list file named "n", i.e. the first "$"
uses the file "1", the second "2", and so on. A template such as:
- $-$-$-???? -> wildly-happy-octopus-92a9
+ $-$-$-???? -> sunny-red-europa-92a9
is expanded deterministically from the machine ID, so a given machine always
gets the same name.
@@ -14,9 +14,9 @@ gets the same name.
The numbered files are shipped as symlinks to the semantic lists, so the same
words back both names:
- 1 -> adverbs
- 2 -> adjectives
- 3 -> nouns
+ 1 -> weather
+ 2 -> colors
+ 3 -> worlds
This keeps the lookup flexible (a deployment can add a "4", "5", … or repoint
the symlinks) while the actual word lists keep meaningful names.
@@ -55,7 +55,15 @@ own length or that of its neighbours.
Origin
------
-These are the "small" word lists taken from the petname project
-(https://github.com/dustinkirkland/petname), distributed under the Apache
-License 2.0. Distributions are encouraged to ship larger lists (petname also
-provides "medium" and "large") for a bigger name space.
+Compiled for systemd from common vocabulary and standardized names rather than
+imported from an existing word list.
+
+ weather Everyday English weather adjectives
+ colors Basic English color names
+ worlds The planets, moons and minor bodies of the solar system
+
+The lists are deliberately short: they are picked for being easy to recognize,
+read out over the phone and type from memory, while the '?' wildcards carry the
+entropy.
+
+The wordlists are licensed under MIT-0.
diff --git a/hostname-wordlist/adjectives b/hostname-wordlist/adjectives
deleted file mode 100644
index bc952f4187..0000000000
--- a/hostname-wordlist/adjectives
+++ /dev/null
@@ -1,449 +0,0 @@
-able
-above
-absolute
-accepted
-accurate
-ace
-active
-actual
-adapted
-adapting
-adequate
-adjusted
-advanced
-alert
-alive
-allowed
-allowing
-amazed
-amazing
-ample
-amused
-amusing
-apparent
-apt
-arriving
-artistic
-assured
-assuring
-awaited
-awake
-aware
-balanced
-becoming
-beloved
-better
-big
-blessed
-bold
-boss
-brave
-brief
-bright
-bursting
-busy
-calm
-capable
-capital
-careful
-caring
-casual
-causal
-central
-certain
-champion
-charmed
-charming
-cheerful
-chief
-choice
-civil
-classic
-clean
-clear
-clever
-climbing
-close
-closing
-coherent
-comic
-communal
-complete
-composed
-concise
-concrete
-content
-cool
-correct
-cosmic
-crack
-creative
-credible
-crisp
-crucial
-cuddly
-cunning
-curious
-current
-cute
-daring
-darling
-dashing
-dear
-decent
-deciding
-deep
-definite
-delicate
-desired
-destined
-devoted
-direct
-discrete
-distinct
-diverse
-divine
-dominant
-driven
-driving
-dynamic
-eager
-easy
-electric
-elegant
-emerging
-eminent
-enabled
-enabling
-endless
-engaged
-engaging
-enhanced
-enjoyed
-enormous
-enough
-epic
-equal
-equipped
-eternal
-ethical
-evident
-evolved
-evolving
-exact
-excited
-exciting
-exotic
-expert
-factual
-fair
-faithful
-famous
-fancy
-fast
-feasible
-fine
-finer
-firm
-first
-fit
-fitting
-fleet
-flexible
-flowing
-fluent
-flying
-fond
-frank
-free
-fresh
-full
-fun
-funky
-funny
-game
-generous
-gentle
-genuine
-giving
-glad
-glorious
-glowing
-golden
-good
-gorgeous
-grand
-grateful
-great
-growing
-grown
-guided
-guiding
-handy
-happy
-hardy
-harmless
-healthy
-helped
-helpful
-helping
-heroic
-hip
-holy
-honest
-hopeful
-hot
-huge
-humane
-humble
-humorous
-ideal
-immense
-immortal
-immune
-improved
-in
-included
-infinite
-informed
-innocent
-inspired
-integral
-intense
-intent
-internal
-intimate
-inviting
-joint
-just
-keen
-key
-kind
-knowing
-known
-large
-lasting
-leading
-learning
-legal
-legible
-lenient
-liberal
-light
-liked
-literate
-live
-living
-logical
-loved
-loving
-loyal
-lucky
-magical
-magnetic
-main
-major
-many
-massive
-master
-mature
-maximum
-measured
-meet
-merry
-mighty
-mint
-model
-modern
-modest
-moral
-more
-moved
-moving
-musical
-mutual
-national
-native
-natural
-nearby
-neat
-needed
-neutral
-new
-next
-nice
-noble
-normal
-notable
-noted
-novel
-obliging
-on
-one
-open
-optimal
-optimum
-organic
-oriented
-outgoing
-patient
-peaceful
-perfect
-pet
-picked
-pleasant
-pleased
-pleasing
-poetic
-polished
-polite
-popular
-positive
-possible
-powerful
-precious
-precise
-premium
-prepared
-present
-pretty
-primary
-prime
-pro
-probable
-profound
-promoted
-prompt
-proper
-proud
-proven
-pumped
-pure
-quality
-quick
-quiet
-rapid
-rare
-rational
-ready
-real
-refined
-regular
-related
-relative
-relaxed
-relaxing
-relevant
-relieved
-renewed
-renewing
-resolved
-rested
-rich
-right
-robust
-romantic
-ruling
-sacred
-safe
-saved
-saving
-secure
-select
-selected
-sensible
-set
-settled
-settling
-sharing
-sharp
-shining
-simple
-sincere
-singular
-skilled
-smart
-smashing
-smiling
-smooth
-social
-solid
-sought
-sound
-special
-splendid
-square
-stable
-star
-steady
-sterling
-still
-stirred
-stirring
-striking
-strong
-stunning
-subtle
-suitable
-suited
-summary
-sunny
-super
-superb
-supreme
-sure
-sweeping
-sweet
-talented
-teaching
-tender
-thankful
-thorough
-tidy
-tight
-together
-tolerant
-top
-topical
-tops
-touched
-touching
-tough
-true
-trusted
-trusting
-trusty
-ultimate
-unbiased
-uncommon
-unified
-unique
-united
-up
-upright
-upward
-usable
-useful
-valid
-valued
-vast
-verified
-viable
-vital
-vocal
-wanted
-warm
-wealthy
-welcome
-welcomed
-well
-whole
-willing
-winning
-wired
-wise
-witty
-wondrous
-workable
-working
-worthy
diff --git a/hostname-wordlist/adverbs b/hostname-wordlist/adverbs
deleted file mode 100644
index 25b2306878..0000000000
--- a/hostname-wordlist/adverbs
+++ /dev/null
@@ -1,261 +0,0 @@
-abnormally
-absolutely
-accurately
-actively
-actually
-adequately
-admittedly
-adversely
-allegedly
-amazingly
-annually
-apparently
-arguably
-awfully
-badly
-barely
-basically
-blatantly
-blindly
-briefly
-brightly
-broadly
-carefully
-centrally
-certainly
-cheaply
-cleanly
-clearly
-closely
-commonly
-completely
-constantly
-conversely
-correctly
-curiously
-currently
-daily
-deadly
-deeply
-definitely
-directly
-distinctly
-duly
-eagerly
-early
-easily
-eminently
-endlessly
-enormously
-entirely
-equally
-especially
-evenly
-evidently
-exactly
-explicitly
-externally
-extremely
-factually
-fairly
-finally
-firmly
-firstly
-forcibly
-formally
-formerly
-frankly
-freely
-frequently
-friendly
-fully
-generally
-gently
-genuinely
-ghastly
-gladly
-globally
-gradually
-gratefully
-greatly
-grossly
-happily
-hardly
-heartily
-heavily
-hideously
-highly
-honestly
-hopefully
-hopelessly
-horribly
-hugely
-humbly
-ideally
-illegally
-immensely
-implicitly
-incredibly
-indirectly
-infinitely
-informally
-inherently
-initially
-instantly
-intensely
-internally
-jointly
-jolly
-kindly
-largely
-lately
-legally
-lightly
-likely
-literally
-lively
-locally
-logically
-loosely
-loudly
-lovely
-luckily
-mainly
-manually
-marginally
-mentally
-merely
-mildly
-miserably
-mistakenly
-moderately
-monthly
-morally
-mostly
-multiply
-mutually
-namely
-nationally
-naturally
-nearly
-neatly
-needlessly
-newly
-nicely
-nominally
-normally
-notably
-noticeably
-obviously
-oddly
-officially
-only
-openly
-optionally
-overly
-painfully
-partially
-partly
-perfectly
-personally
-physically
-plainly
-pleasantly
-poorly
-positively
-possibly
-precisely
-preferably
-presently
-presumably
-previously
-primarily
-privately
-probably
-promptly
-properly
-publicly
-purely
-quickly
-quietly
-radically
-randomly
-rapidly
-rarely
-rationally
-readily
-really
-reasonably
-recently
-regularly
-reliably
-remarkably
-remotely
-repeatedly
-rightly
-roughly
-routinely
-sadly
-safely
-scarcely
-secondly
-secretly
-seemingly
-sensibly
-separately
-seriously
-severely
-sharply
-shortly
-similarly
-simply
-sincerely
-singularly
-slightly
-slowly
-smoothly
-socially
-solely
-specially
-steadily
-strangely
-strictly
-strongly
-subtly
-suddenly
-suitably
-supposedly
-surely
-terminally
-terribly
-thankfully
-thoroughly
-tightly
-totally
-trivially
-truly
-typically
-ultimately
-unduly
-uniformly
-uniquely
-unlikely
-urgently
-usefully
-usually
-utterly
-vaguely
-vastly
-verbally
-vertically
-vigorously
-violently
-virtually
-visually
-weekly
-wholly
-widely
-wildly
-willingly
-wrongly
-yearly
diff --git a/hostname-wordlist/colors b/hostname-wordlist/colors
new file mode 100644
index 0000000000..4856ec76a8
--- /dev/null
+++ b/hostname-wordlist/colors
@@ -0,0 +1,42 @@
+# SPDX-License-Identifier: MIT-0
+amber
+azure
+beige
+black
+blue
+bronze
+brown
+copper
+coral
+cream
+cyan
+gold
+gray
+green
+indigo
+ivory
+jade
+khaki
+lilac
+lime
+magenta
+maroon
+mint
+navy
+olive
+orange
+peach
+pink
+plum
+purple
+red
+rose
+rust
+sand
+silver
+slate
+tan
+teal
+violet
+white
+yellow
diff --git a/hostname-wordlist/meson.build b/hostname-wordlist/meson.build
index 65abcb96d7..d45aced3d0 100644
--- a/hostname-wordlist/meson.build
+++ b/hostname-wordlist/meson.build
@@ -2,14 +2,14 @@
if get_option('hostname-wordlist')
install_data(
- 'adverbs',
- 'adjectives',
- 'nouns',
+ 'weather',
+ 'colors',
+ 'worlds',
install_dir : libexecdir / 'hostname-wordlist')
# The '$' hostname tokens look up word lists by position ("1", "2", "3", …); ship those names as
# symlinks to the semantic lists so the same files back both.
- foreach link : [['1', 'adverbs'], ['2', 'adjectives'], ['3', 'nouns']]
+ foreach link : [['1', 'weather'], ['2', 'colors'], ['3', 'worlds']]
install_symlink(
link[0],
install_dir : libexecdir / 'hostname-wordlist',
diff --git a/hostname-wordlist/nouns b/hostname-wordlist/nouns
deleted file mode 100644
index dbe898fc3a..0000000000
--- a/hostname-wordlist/nouns
+++ /dev/null
@@ -1,449 +0,0 @@
-ox
-ant
-ape
-asp
-bat
-bee
-boa
-bug
-cat
-cod
-cow
-cub
-doe
-dog
-eel
-eft
-elf
-elk
-emu
-ewe
-fly
-fox
-gar
-gnu
-hen
-hog
-imp
-jay
-kid
-kit
-koi
-lab
-man
-owl
-pig
-pug
-pup
-ram
-rat
-ray
-yak
-bass
-bear
-bird
-boar
-buck
-bull
-calf
-chow
-clam
-colt
-crab
-crow
-dane
-deer
-dodo
-dory
-dove
-drum
-duck
-fawn
-fish
-flea
-foal
-fowl
-frog
-gnat
-goat
-grub
-gull
-hare
-hawk
-ibex
-joey
-kite
-kiwi
-lamb
-lark
-lion
-loon
-lynx
-mako
-mink
-mite
-mole
-moth
-mule
-mutt
-newt
-orca
-oryx
-pika
-pony
-puma
-seal
-shad
-slug
-sole
-stag
-stud
-swan
-tahr
-teal
-tick
-toad
-tuna
-wasp
-wolf
-worm
-wren
-yeti
-adder
-akita
-alien
-aphid
-bison
-boxer
-bream
-bunny
-burro
-camel
-chimp
-civet
-cobra
-coral
-corgi
-crane
-dingo
-drake
-eagle
-egret
-filly
-finch
-gator
-gecko
-ghost
-ghoul
-goose
-guppy
-heron
-hippo
-horse
-hound
-husky
-hyena
-koala
-krill
-leech
-lemur
-liger
-llama
-louse
-macaw
-midge
-molly
-moose
-moray
-mouse
-panda
-perch
-prawn
-quail
-racer
-raven
-rhino
-robin
-satyr
-shark
-sheep
-shrew
-skink
-skunk
-sloth
-snail
-snake
-snipe
-squid
-stork
-swift
-tapir
-tetra
-tiger
-troll
-trout
-viper
-wahoo
-whale
-zebra
-alpaca
-amoeba
-baboon
-badger
-beagle
-bedbug
-beetle
-bengal
-bobcat
-caiman
-cattle
-cicada
-collie
-condor
-cougar
-coyote
-dassie
-dragon
-earwig
-falcon
-feline
-ferret
-gannet
-gibbon
-glider
-goblin
-gopher
-grouse
-guinea
-hermit
-hornet
-iguana
-impala
-insect
-jackal
-jaguar
-jennet
-kitten
-kodiak
-lizard
-locust
-maggot
-magpie
-mammal
-mantis
-marlin
-marmot
-marten
-martin
-mayfly
-minnow
-monkey
-mullet
-muskox
-ocelot
-oriole
-osprey
-oyster
-parrot
-pigeon
-piglet
-poodle
-possum
-python
-quagga
-rabbit
-raptor
-rodent
-roughy
-salmon
-sawfly
-serval
-shiner
-shrimp
-spider
-sponge
-tarpon
-thrush
-tomcat
-toucan
-turkey
-turtle
-urchin
-vervet
-walrus
-weasel
-weevil
-wombat
-anchovy
-anemone
-bluejay
-buffalo
-bulldog
-buzzard
-caribou
-catfish
-chamois
-cheetah
-chicken
-chigger
-cowbird
-crappie
-crawdad
-cricket
-dogfish
-dolphin
-firefly
-garfish
-gazelle
-gelding
-giraffe
-gobbler
-gorilla
-goshawk
-grackle
-griffon
-grizzly
-grouper
-haddock
-hagfish
-halibut
-hamster
-herring
-javelin
-jawfish
-jaybird
-katydid
-ladybug
-lamprey
-lemming
-leopard
-lioness
-lobster
-macaque
-mallard
-mammoth
-manatee
-mastiff
-meerkat
-mollusk
-monarch
-mongrel
-monitor
-monster
-mudfish
-muskrat
-mustang
-narwhal
-oarfish
-octopus
-opossum
-ostrich
-panther
-pegasus
-pelican
-penguin
-phoenix
-piranha
-polecat
-primate
-quetzal
-raccoon
-rattler
-redbird
-redfish
-reptile
-rooster
-sawfish
-sculpin
-seagull
-skylark
-snapper
-spaniel
-sparrow
-sunbeam
-sunbird
-sunfish
-tadpole
-terrier
-unicorn
-vulture
-wallaby
-walleye
-warthog
-whippet
-wildcat
-aardvark
-airedale
-albacore
-anteater
-antelope
-arachnid
-barnacle
-basilisk
-blowfish
-bluebird
-bluegill
-bonefish
-bullfrog
-cardinal
-chipmunk
-crayfish
-dinosaur
-doberman
-duckling
-elephant
-escargot
-flamingo
-flounder
-foxhound
-glowworm
-goldfish
-grubworm
-hedgehog
-honeybee
-hookworm
-humpback
-kangaroo
-killdeer
-kingfish
-labrador
-lacewing
-ladybird
-lionfish
-longhorn
-mackerel
-malamute
-marmoset
-mastodon
-moccasin
-mongoose
-monkfish
-mosquito
-pangolin
-parakeet
-pheasant
-pipefish
-platypus
-polliwog
-porpoise
-reindeer
-ringtail
-sailfish
-scorpion
-seahorse
-seasnail
-sheepdog
-shepherd
-silkworm
-squirrel
-stallion
-starfish
-starling
-stingray
-stinkbug
-sturgeon
-terrapin
-titmouse
-tortoise
-treefrog
-werewolf
diff --git a/hostname-wordlist/weather b/hostname-wordlist/weather
new file mode 100644
index 0000000000..adbc2f5bae
--- /dev/null
+++ b/hostname-wordlist/weather
@@ -0,0 +1,43 @@
+# SPDX-License-Identifier: MIT-0
+balmy
+breezy
+bright
+brisk
+calm
+chilly
+clear
+cloudless
+cloudy
+cold
+cool
+crisp
+damp
+dry
+dusty
+fair
+foggy
+frosty
+gentle
+glorious
+gusty
+halcyon
+hazy
+humid
+icy
+idyllic
+mild
+misty
+moonlit
+muggy
+rainy
+serene
+snowy
+starlit
+still
+stormy
+summery
+sunlit
+sunny
+warm
+windy
+wintry
diff --git a/hostname-wordlist/worlds b/hostname-wordlist/worlds
new file mode 100644
index 0000000000..d472a083ef
--- /dev/null
+++ b/hostname-wordlist/worlds
@@ -0,0 +1,41 @@
+# SPDX-License-Identifier: MIT-0
+ariel
+callisto
+ceres
+charon
+deimos
+dione
+enceladus
+eris
+europa
+ganymede
+gonggong
+hyperion
+io
+juno
+jupiter
+luna
+makemake
+mars
+mercury
+mimas
+miranda
+neptune
+nix
+oberon
+orcus
+pallas
+phobos
+pluto
+rhea
+saturn
+sedna
+styx
+terra
+thetis
+titan
+triton
+umbriel
+uranus
+venus
+vesta
diff --git a/man/hostname.xml b/man/hostname.xml
index 708581c841..d2bba9c5b4 100644
--- a/man/hostname.xml
+++ b/man/hostname.xml
@@ -58,7 +58,7 @@
cryptographic hashing. Each $ is positional: the first $ uses the word
list file named 1, the second 2, and so on. This allows
human-friendly names, for example $-$-$-???? might expand to
- wildly-happy-octopus-92a9. The word lists are searched for in
+ sunny-red-europa-92a9. The word lists are searched for in
/etc/systemd/hostname-wordlist/, /run/systemd/hostname-wordlist/,
/usr/local/lib/systemd/hostname-wordlist/ and
/usr/lib/systemd/hostname-wordlist/ (the first directory providing a given list wins,