Jump to content

Clover General discussion


ErmaC
29,866 posts in this topic

Recommended Posts

Is the 'system-id' value in the ioreg in Clover the same as the SMBIOS UUID (in exact byte order)?

For real Mac yes.

For Hacintosh user has a choice. If he set InjectSystemID [/size]then system-id will be the same as SMBIOS UUID. But encoded.

Else he can make CustomUUID as kernel allow this. It will be the same without encoding

void IOPlatformExpert::registerNVRAMController(IONVRAMController * caller)
{
    OSData *          data;
    IORegistryEntry * entry;
    OSString *        string = 0;
    uuid_string_t     uuid;

    entry = IORegistryEntry::fromPath( "/efi/platform", gIODTPlane );
    if ( entry )
    {
        data = OSDynamicCast( OSData, entry->getProperty( "system-id" ) );
        if ( data && data->getLength( ) == 16 )
        {
            SHA1_CTX     context;
            uint8_t      digest[ SHA_DIGEST_LENGTH ];
            const uuid_t space = { 0x2A, 0x06, 0x19, 0x90, 0xD3, 0x8D, 0x44, 0x40, 0xA1, 0x39, 0xC4, 0x97, 0x70, 0x37, 0x65, 0xAC };

            SHA1Init( &context );
            SHA1Update( &context, space, sizeof( space ) );
            SHA1Update( &context, data->getBytesNoCopy( ), data->getLength( ) );
            SHA1Final( digest, &context );

            digest[ 6 ] = ( digest[ 6 ] & 0x0F ) | 0x50;
            digest[ 8 ] = ( digest[ 8 ] & 0x3F ) | 0x80;

            uuid_unparse( digest, uuid );
            string = OSString::withCString( uuid );
        }

        entry->release( );
    }

    if ( string == 0 )
    {
        entry = IORegistryEntry::fromPath( "/options", gIODTPlane );
        if ( entry )
        {
            data = OSDynamicCast( OSData, entry->getProperty( "platform-uuid" ) );
            if ( data && data->getLength( ) == sizeof( uuid_t ) )
            {
                uuid_unparse( ( uint8_t * ) data->getBytesNoCopy( ), uuid );
                string = OSString::withCString( uuid );
            }

            entry->release( );
        }
    }

    if ( string )
    {
        getProvider( )->setProperty( kIOPlatformUUIDKey, string );
        publishResource( kIOPlatformUUIDKey, string );

        string->release( );
    }

    publishResource("IONVRAM");
}

PS. Apple uses BigEndian UUID.

Link to comment
Share on other sites

I could be wrong but from memory I think it's not, in both Clover and Chameleon. It's right in Ozmosis though.

Thanks. Just what I thought. Found the problem in Chameleon already. A mix of UINT32 and UINT8 pointers.

 

@slice,

 

Normally the 'system-id' property is set to the SMBIOS_Table1->Uuid value. Not doing this may be a problem for iMessage.

  • Like 1
Link to comment
Share on other sites

Thanks to Blackosx, I found a link in projectosx archive

http://pootle.zetam.org/pootle

You have to go to that server, register here, and make full translations to romanian (O! The language is already present!) and then press a key "Commit". Ask also ErmaC about permissions. May be he knows.

Then I will catch your full translation.

Romanian help I committed in rev 3273.

 

Hey guys,

German and Dutch languages are not finished. Anybody knows these languages?

 

Dutch is done :)

  • Like 1
Link to comment
Share on other sites

Thanks. Just what I thought. Found the problem in Chameleon already. A mix of UINT32 and UINT8 pointers.

 

@slice,

 

Normally the 'system-id' property is set to the SMBIOS_Table1->Uuid value. Not doing this may be a problem for iMessage.

 

CopyMem((VOID*)&newSmbiosTable.Type1->Uuid, (VOID*)&gSettings.SmUUID, 16);

Link to comment
Share on other sites

I think they need to be reviewed and approved before the counter drops down to 0. I can see his suggestions. However, they are suggestions. :) So...someone needs to agree with them.

Admin?

As we can propose that old master escaped.

  • Like 1
Link to comment
Share on other sites

Admin?

As we can propose that old master escaped.

Hahaha. Yeah... That's gonna be interesting. :) I don't know if admin or maybe ErmaC can do it too... No idea. Point is, someone needs to approve those suggestions. Otherwise, they will stay suggestions.

 

I also need him to add Romanian in the list. Cause apparently no one else can do it. And without that...it's gonna be difficult to get the translation into Clover. Not impossible. But difficult nonetheless. 

Link to comment
Share on other sites

Hahaha. Yeah... That's gonna be interesting. :) I don't know if admin or maybe ErmaC can do it too... No idea. Point is, someone needs to approve those suggestions. Otherwise, they will stay suggestions.

 

I also need him to add Romanian in the list. Cause apparently no one else can do it. And without that...it's gonna be difficult to get the translation into Clover. Not impossible. But difficult nonetheless.

Hi guys.

On Chameleon/Clover Pootle server I can approve those suggestion, and also commit it to the proper repo (Chameleon svn and Clover svn) but my privilege still limited...

ex: I can't add new language...

There is a desktop apps for Linux Mac and Windows where you can locally perform your translation on a *.po file Poedit

So In the mean time you can do those changes on your local ro.po file up here or send via PM to Slice (to directly commit it to Clover SVN) or me if you prefer but I can't do to much with it if your language is not present in pootle..

 

ErmaC

  • Like 3
Link to comment
Share on other sites

Hi guys.

On Chameleon/Clover Pootle server I can approve those suggestion, and also commit it to the proper repo (Chameleon svn and Clover svn) but my privilege still limited...

ex: I can't add new language...

There is a desktop apps for Linux Mac and Windows where you can locally perform your translation on a *.po file Poedit

So In the mean time you can do those changes on your local ro.po file up here or send via PM to Slice (to directly commit it to Clover SVN) or me if you prefer but I can't do to much with it if your language is not present in ppotle..

 

ErmaC

Awesome! I was just looking for something like that.

 

I already started on ro.po, using Sublime. Which, of course is not nearly as user friendly as the Poedit (at least for translations), but, if you want, it can still get the job done, if you know which strings you need to change. :D

 

Well, since you came up with this tool, I'll switch to it.

 

Thanks a lot!

Link to comment
Share on other sites

Hi guys.

On Chameleon/Clover Pootle server I can approve those suggestion, and also commit it to the proper repo (Chameleon svn and Clover svn) but my privilege still limited...

ex: I can't add new language...

There is a desktop apps for Linux Mac and Windows where you can locally perform your translation on a *.po file Poedit

So In the mean time you can do those changes on your local ro.po file up here or send via PM to Slice (to directly commit it to Clover SVN) or me if you prefer but I can't do to much with it if your language is not present in pootle..

 

ErmaC

Thanks,

I see no new commits in Clover repo. The changes are not committed?

And OK, we can work offline. There is Download button to "Translate offline" on the pootle server.

But tell me, why this file differs from the same from Clover repo? It changed but not committed?

Link to comment
Share on other sites

Thanks,

I see no new commits in Clover repo. The changes are not committed?

And OK, we can work offline. There is Download button to "Translate offline" on the pootle server.

But tell me, why this file differs from the same from Clover repo? It changed but not committed?

Hi Slice

Yesterday I accept the most of the suggestion made by the user in the pootle/clover...

Now we have two options...

1) The reviewer (like me) can push the change from pootle to the target repo (in this case from pootle to clover Svn), but one po file at time, and this cause a lot of intermediates revision change... Ex: we have 5 po file to send... The revision will be increased by 5.

2) You (who have write access to the Clover repo) can download all the po file and apply the diff... Then commit it in one single commit

 

That's why I not send the changes...

(Same for chameleon... I download the po file diff it then commit its in a single sentence)

 

ErmaC

  • Like 2
Link to comment
Share on other sites

Hi Slice

Yesterday I accept the most of the suggestion made by the user in the pootle/clover...

Now we have two options...

1) The reviewer (like me) can push the change from pootle to the target repo (in this case from pootle to clover Svn), but one po file at time, and this cause a lot of intermediates revision change... Ex: we have 5 po file to send... The revision will be increased by 5.

2) You (who have write access to the Clover repo) can download all the po file and apply the diff... Then commit it in one single commit

 

That's why I not send the changes...

(Same for chameleon... I download the po file diff it then commit its in a single sentence)

 

ErmaC

If the server will alive in future then it will be conflict with Clover repo and pootle.

So if I decide to send the files manually then we will account to bury the pootle.

.......Yes, I decided to do this.

 

@Arsradu

Take an it.po, translate it to romanian and rename to ro.po. Send me.

The same for other languages.

Link to comment
Share on other sites

If the server will alive in future then it will be conflict with Clover repo and pootle.

So if I decide to send the files manually then we will account to bury the pootle.

.......Yes, I decided to do this.

 

@Arsradu

Take an it.po, translate it to romanian and rename to ro.po. Send me.

The same for other languages.

Already on it. I took EN for refference. Although I think I could have started from the template as well. I'm working on ro.po as we speak. :) Might be done in a few hours.
Link to comment
Share on other sites

×
×
  • Create New...