What Are Relocated Items?

Apple's .ldpf File Type

After updating macOS the other day, a PDF named What Are Relocated Items? showed up on my Desktop.

I opened it in my browser, but that didn’t work: it showed me a directory listing for a folder named Quarantine.lpdf instead. I figured it was a Firefox bug, but Finder used that same name:

Finder get info panel shows file name as file Quarantine.lpdf

I noticed a few other things:

  1. The What Are Relocated Items? file doesn’t actually exist, and Quarantine.lpdf is indeed a directory:

    $ ls What*
    "What*": No such file or directory (os error 2)
    $ file Quarantine.lpdf
    Quarantine.lpdf: directory
    
  2. With a bunch of locale-specific subdirectories:

    $ ls Quarantine.lpdf/
    ar.lproj      he.lproj      pt_PT.lproj
    ca.lproj      hi.lproj      ro.lproj
    cs.lproj      hr.lproj      ru.lproj
    da.lproj      hu.lproj      sk.lproj
    de.lproj      id.lproj      sv.lproj
    el.lproj      Info.plist    th.lproj
    en.lproj      it.lproj      tr.lproj
    en_AU.lproj   ja.lproj      uk.lproj
    en_GB.lproj   ko.lproj      vi.lproj
    es.lproj      ms.lproj      zh_CN.lproj
    es_419.lproj  nl.lproj      zh_HK.lproj
    fi.lproj      no.lproj      zh_TW.lproj
    fr.lproj      pl.lproj
    fr_CA.lproj   pt.lproj
    
  3. Each of which has a localized version of the PDF and an InfoPlist.strings file:

    $ tree Quarantine.lpdf/
    Quarantine.lpdf/
    ├── ar.lproj/
    │  ├── InfoPlist.strings
    │  └── Quarantine.pdf
    ├── ca.lproj/
    │  ├── InfoPlist.strings
    │  └── Quarantine.pdf
    ├── cs.lproj/
    │  ├── InfoPlist.strings
    │  └── Quarantine.pdf
    ├── da.lproj/
    │  ├── InfoPlist.strings
    │  └── Quarantine.pdf
    ...
    

Those .strings files are supposed to be viewable in Xcode, but mine was busy taking a nap updating, so that wasn’t really an option. I ended up having to use the command line, again:

$ plutil -p Quarantine.lpdf/en.lproj/InfoPlist.strings
{
  "CFBundleDisplayName" => "What Are Relocated Items?"
}

There’s that name from before. The mapping appears to happen in the top-level Info.plist:

$ plutil -p Quarantine.lpdf/Info.plist
{
  "CFBundleDevelopmentRegion" => "en_US"
  "CFBundleDisplayName" => "Quarantine"
  "CFBundleGetInfoString" => "Relocated Items"
  "CFBundleIdentifier" => "com.apple.installandsetup.QuarantineDocument"
  "CFBundleInfoDictionaryVersion" => "6.0"
  "CFBundleName" => "Quarantine"
  "CFBundlePackageType" => "BNDL"
  "CFBundleShortVersionString" => "1.0"
  "CFBundleSignature" => "lpdf"
  "CFBundleVersion" => "1.0"
}

Then I changed my system language to Danish and restarted my computer. Sure enough, when I got back, it gave me the Danish version of the PDF. I tried a few other languages and they mostly worked too.

I am kinda annoyed that I’m forced to keep this 1.4MB directory on my Desktop for what is effectively a 96B PDF. Wet Baloney had similar concerns 15 years ago. I guess some things never change.

Anyways, macOS had moved some files around while updating and just wanted to let me know. Thanks, Apple!