hjuutilainen-recipes icon indicating copy to clipboard operation
hjuutilainen-recipes copied to clipboard

iTerm2 since version 3.1.2 corrupt.

Open ghost opened this issue 8 years ago • 11 comments

Hello.

Since version 3.1.2 the Appfolder remains with 0 bytes. Program does not start. Is that a know error or did i something wrong?

thanks and cheers

ghost avatar Oct 10 '17 08:10 ghost

The recipe works fine for me. Could you try to clear the recipe cache to get a new fresh download? Run the recipe once more to see the cache path and then just delete the whole directory in Finder. For example, running the download recipe gives me a cache path of ~/Library/AutoPkg/Cache/io.github.hjuutilainen.download.iTerm2/

hjuutilainen avatar Oct 10 '17 08:10 hjuutilainen

Aside from:

WARNING: io.github.hjuutilainen.munki.iTerm2 is missing trust info and FAIL_RECIPES_WITHOUT_TRUST_INFO is not set. Proceeding...

everything went ok with running the recipe again after deleting the Cache.

But iterm remains empty. Strange.

bildschirmfoto 2017-10-10 um 11 10 47

any ideas to debug further?

thanks and cheers

ghost avatar Oct 10 '17 09:10 ghost

Cache directory looks good to me too.

user:io.github.hjuutilainen.munki.iTerm2 user$ pwd
/Volumes/autopkg_cache/Cache/io.github.hjuutilainen.munki.iTerm2
user:io.github.hjuutilainen.munki.iTerm2 user$ ls -la
total 16544
drwx------  1 user  staff    16384 10 Okt 11:05 .
drwx------  1 user  staff    16384 10 Okt 11:05 ..
-rwx------  1 user  staff     3810 10 Okt 11:05 ._iTerm2.dmg
drwx------  1 user  staff    16384 10 Okt 11:04 downloads
drwx------  1 user  staff    16384 10 Okt 11:04 iTerm2
-rwx------@ 1 user  staff  7149379 10 Okt 11:05 iTerm2.dmg
drwx------  1 user  staff    16384 10 Okt 11:05 receipts
user:io.github.hjuutilainen.munki.iTerm2 user$

ghost avatar Oct 10 '17 09:10 ghost

Running Sierra 10.12.6 here.

ghost avatar Oct 10 '17 09:10 ghost

Maybe try autopkg run iTerm2.munki -vv to see some more output?

octomike avatar Nov 02 '17 14:11 octomike

thanks for your answer. still missing a clue.

Processing iTerm2.munki...
WARNING: iTerm2.munki is missing trust info and FAIL_RECIPES_WITHOUT_TRUST_INFO is not set. Proceeding...
SparkleUpdateInfoProvider
{'Input': {'appcast_url': u'http://www.iterm2.com/appcasts/final.xml'}}
SparkleUpdateInfoProvider: No value supplied for CURL_PATH, setting default value of: /usr/bin/curl
SparkleUpdateInfoProvider: Version retrieved from appcast: 3.1.4
SparkleUpdateInfoProvider: Found URL https://iterm2.com/downloads/stable/iTerm2-3_1_4.zip
{'Output': {'url': 'https://iterm2.com/downloads/stable/iTerm2-3_1_4.zip',
            'version': '3.1.4'}}
URLDownloader
{'Input': {'CURL_PATH': '/usr/bin/curl',
           'url': 'https://iterm2.com/downloads/stable/iTerm2-3_1_4.zip'}}
URLDownloader: No value supplied for CHECK_FILESIZE_ONLY, setting default value of: False
URLDownloader: Storing new Last-Modified header: Sun, 22 Oct 2017 22:14:12 GMT
URLDownloader: Storing new ETag header: "611bb8-55c2a069c6db7"
URLDownloader: Downloaded /Volumes/autopkg_cache/Cache/io.github.hjuutilainen.munki.iTerm2/downloads/iTerm2-3_1_4.zip
{'Output': {'download_changed': True,
            'etag': '"611bb8-55c2a069c6db7"',
            'last_modified': 'Sun, 22 Oct 2017 22:14:12 GMT',
            'pathname': u'/Volumes/autopkg_cache/Cache/io.github.hjuutilainen.munki.iTerm2/downloads/iTerm2-3_1_4.zip',
            'url_downloader_summary_result': {'data': {'download_path': u'/Volumes/autopkg_cache/Cache/io.github.hjuutilainen.munki.iTerm2/downloads/iTerm2-3_1_4.zip'},
                                              'summary_text': 'The following new items were downloaded:'}}}
EndOfCheckPhase
{'Input': {}}
{'Output': {}}
Unarchiver
{'Input': {'archive_path': u'/Volumes/autopkg_cache/Cache/io.github.hjuutilainen.munki.iTerm2/downloads/iTerm2-3_1_4.zip',
           'destination_path': u'/Volumes/autopkg_cache/Cache/io.github.hjuutilainen.munki.iTerm2/iTerm2',
           'purge_destination': True}}
Unarchiver: Guessed archive format 'zip' from filename iTerm2-3_1_4.zip
Unarchiver: Unarchived /Volumes/autopkg_cache/Cache/io.github.hjuutilainen.munki.iTerm2/downloads/iTerm2-3_1_4.zip to /Volumes/autopkg_cache/Cache/io.github.hjuutilainen.munki.iTerm2/iTerm2
{'Output': {}}
CodeSignatureVerifier
{'Input': {'input_path': u'/Volumes/autopkg_cache/Cache/io.github.hjuutilainen.munki.iTerm2/iTerm2/iTerm.app',
           'requirement': u'identifier "com.googlecode.iterm2" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = H7V7XYVQ7D'}}
CodeSignatureVerifier: Verifying code signature...
CodeSignatureVerifier: Deep verification enabled...
CodeSignatureVerifier: Strict verification not defined. Using codesign defaults...
CodeSignatureVerifier: /Volumes/autopkg_cache/Cache/io.github.hjuutilainen.munki.iTerm2/iTerm2/iTerm.app: valid on disk
CodeSignatureVerifier: /Volumes/autopkg_cache/Cache/io.github.hjuutilainen.munki.iTerm2/iTerm2/iTerm.app: satisfies its Designated Requirement
CodeSignatureVerifier: /Volumes/autopkg_cache/Cache/io.github.hjuutilainen.munki.iTerm2/iTerm2/iTerm.app: explicit requirement satisfied
CodeSignatureVerifier: Signature is valid
{'Output': {}}
DmgCreator
{'Input': {'dmg_path': u'/Volumes/autopkg_cache/Cache/io.github.hjuutilainen.munki.iTerm2/iTerm2.dmg',
           'dmg_root': u'/Volumes/autopkg_cache/Cache/io.github.hjuutilainen.munki.iTerm2/iTerm2'}}
DmgCreator: Created dmg from /Volumes/autopkg_cache/Cache/io.github.hjuutilainen.munki.iTerm2/iTerm2 at /Volumes/autopkg_cache/Cache/io.github.hjuutilainen.munki.iTerm2/iTerm2.dmg
{'Output': {}}
MunkiPkginfoMerger
{'Input': {'additional_pkginfo': {},
           'pkginfo': {
    catalogs =     (
        testing
    );
    category = Utilities;
    description = "iTerm2 is a replacement for Terminal and the successor to iTerm. It works on Macs with OS 10.5 (Leopard) or newer. Its focus is on performance, internationalization, and supporting innovative features that make your life better.\n\t\t\t\nhttps://deploy.domain.net/munki_repo/screenshots/iTerm2.png";
    developer = "George Nachman";
    "display_name" = iTerm2;
    "minimum_os_version" = "10.5";
    name = iTerm2;
    "unattended_install" = 1;
}}}
MunkiPkginfoMerger: Merged {} into pkginfo
{'Output': {'pkginfo': {
    catalogs =     (
        testing
    );
    category = Utilities;
    description = "iTerm2 is a replacement for Terminal and the successor to iTerm. It works on Macs with OS 10.5 (Leopard) or newer. Its focus is on performance, internationalization, and supporting innovative features that make your life better.\n\t\t\t\nhttps://deploy.domain.net/munki_repo/screenshots/iTerm2.png";
    developer = "George Nachman";
    "display_name" = iTerm2;
    "minimum_os_version" = "10.5";
    name = iTerm2;
    "unattended_install" = 1;
}}}
MunkiImporter
{'Input': {'MUNKI_REPO': u'/Volumes/munki_repo',
           'pkg_path': u'/Volumes/autopkg_cache/Cache/io.github.hjuutilainen.munki.iTerm2/iTerm2.dmg',
           'pkginfo': {
    catalogs =     (
        testing
    );
    category = Utilities;
    description = "iTerm2 is a replacement for Terminal and the successor to iTerm. It works on Macs with OS 10.5 (Leopard) or newer. Its focus is on performance, internationalization, and supporting innovative features that make your life better.\n\t\t\t\nhttps://deploy.domain.net/munki_repo/screenshots/iTerm2.png";
    developer = "George Nachman";
    "display_name" = iTerm2;
    "minimum_os_version" = "10.5";
    name = iTerm2;
    "unattended_install" = 1;
},
           'repo_subdirectory': u'apps'}}
MunkiImporter: Copied pkginfo to /Volumes/munki_repo/pkgsinfo/apps/iTerm2-3.1.4.plist
MunkiImporter: Copied pkg to /Volumes/munki_repo/pkgs/apps/iTerm2-3.1.4.dmg
{'Output': {'munki_importer_summary_result': {'data': {'catalogs': u'testing',
                                                       'name': u'iTerm2',
                                                       'pkg_repo_path': u'apps/iTerm2-3.1.4.dmg',
                                                       'pkginfo_path': u'apps/iTerm2-3.1.4.plist',
                                                       'version': u'3.1.4'},
                                              'report_fields': ['name',
                                                                'version',
                                                                'catalogs',
                                                                'pkginfo_path',
                                                                'pkg_repo_path'],
                                              'summary_text': 'The following new items were imported into Munki:'},
            'munki_info': {
    "_metadata" =     {
        "created_by" = user;
        "creation_date" = "2017-11-02 14:47:06 +0000";
        "munki_version" = "3.1.0.3430";
        "os_version" = "10.13.1";
    };
    autoremove = 0;
    catalogs =     (
        testing
    );
    category = Utilities;
    description = "iTerm2 is a replacement for Terminal and the successor to iTerm. It works on Macs with OS 10.5 (Leopard) or newer. Its focus is on performance, internationalization, and supporting innovative features that make your life better.\n\t\t\t\nhttps://deploy.domain.net/munki_repo/screenshots/iTerm2.png";
    developer = "George Nachman";
    "display_name" = iTerm2;
    "installer_item_hash" = d4c80db02e8f67e8c959b1ad585eb600292cdd983983f65d7f98d8d879a8e256;
    "installer_item_location" = "apps/iTerm2-3.1.4.dmg";
    "installer_item_size" = 7016;
    "installer_type" = "copy_from_dmg";
    installs =     (
                {
            CFBundleIdentifier = "com.googlecode.iterm2";
            CFBundleName = iTerm2;
            CFBundleShortVersionString = "3.1.4";
            CFBundleVersion = "3.1.4";
            path = "/Applications/iTerm.app";
            type = application;
            "version_comparison_key" = CFBundleShortVersionString;
        }
    );
    "items_to_copy" =     (
                {
            "destination_path" = "/Applications";
            "source_item" = "iTerm.app";
        }
    );
    "minimum_os_version" = "10.5";
    name = iTerm2;
    "unattended_install" = 1;
    "uninstall_method" = "remove_copied_items";
    uninstallable = 1;
    version = "3.1.4";
},
            'munki_repo_changed': True,
            'pkg_repo_path': u'/Volumes/munki_repo/pkgs/apps/iTerm2-3.1.4.dmg',
            'pkginfo_repo_path': u'/Volumes/munki_repo/pkgsinfo/apps/iTerm2-3.1.4.plist'}}
Receipt written to /Volumes/autopkg_cache/Cache/io.github.hjuutilainen.munki.iTerm2/receipts/iTerm2-receipt-20171102-154706.plist

The following new items were imported into Munki:
    Name    Version  Catalogs  Pkginfo Path             Pkg Repo Path          
    ----    -------  --------  ------------             -------------          
    iTerm2  3.1.4    testing   apps/iTerm2-3.1.4.plist  apps/iTerm2-3.1.4.dmg  

The following new items were downloaded:
    Download Path                                                                                
    -------------                                                                                
    /Volumes/autopkg_cache/Cache/io.github.hjuutilainen.munki.iTerm2/downloads/iTerm2-3_1_4.zip  
user:~ user$ ls -la /Volumes/autopkg_cache/Cache/io.github.hjuutilainen.munki.iTerm2/downloads/iTerm2-3_1_4.zip
-rwx------@ 1 user  staff  6364088  2 Nov 15:46 /Volumes/autopkg_cache/Cache/io.github.hjuutilainen.munki.iTerm2/downloads/iTerm2-3_1_4.zip`

ghost avatar Nov 02 '17 15:11 ghost

some thoughts:

  • DmgCreator step obviously worked, otherwise munkiimport would have failed to find anything useful in /Volumes/autopkg_cache/Cache/io.github.hjuutilainen.munki.iTerm2/iTerm2.dmg
  • /Volumes/munki_repo/pkgs/apps/iTerm2-3.1.4.dmg is what is send to clients with munki, can you manually test this dmg?

The empty .app folder shows up on the client that installed this package, right? Can you check in /Library/Managed\ Installs/Logs/ to see if something weird is going on there?

It works fine over here btw.. and it looks like it's out of the scope of the autopkg recipe.

octomike avatar Nov 02 '17 15:11 octomike

thanks for your help @octomike

It works fine over here btw.. and it looks like it's out of the scope of the autopkg recipe.

Yeah, i guess know.

For some reason it does not get installed at all with version higher than 3.1.1. When i grep iterm in ManagedSoftwareUpdate.log* I only get:

ManagedSoftwareUpdate.log.4:Sep 22 2017 09:56:35 +0200 iTerm2 version 3.1.1 (or newer) is already installed

That's weird.

ghost avatar Nov 02 '17 15:11 ghost

ManagedSoftwareUpdate.log.4:Sep 22 2017 09:56:35 +0200 iTerm2 version 3.1.1 (or newer) is already installed

This looks to me like iterm2 3.1.4 is not exposed with Munki. Is there an issue with your catalogs/manifests?

octomike avatar Nov 02 '17 15:11 octomike

Will have a look at it tomorrow. Thanks again for your help.

ghost avatar Nov 02 '17 16:11 ghost

The manifest looks pretty regular to me. (obviousely i am in testing)

How can i debug the manifest any further? Thanks again.

bildschirmfoto 2017-11-06 um 10 11 18

ghost avatar Nov 06 '17 09:11 ghost