View Single Post
Old 10/19/2009, 10:26 AM   #6 (permalink)
rwhitby
Developer
 
rwhitby's Avatar
 
Join Date: Apr 2003
Location: Adelaide, Australia - follow @webosinternals on Twitter visit www.webos-internals.org and www.facebook.com/webosinternals
Posts: 10,219
Likes Received: 545
Thanks: 90
Thanked 8,534 Times in 2,806 Posts
Default

Here is the full log of performing the meta-doctor operation:

First you clean out the directory from previous runs:
Code:
rwhitby@ubuntu:/srv/tools/meta-doctor$ make clobber
rm -rf build
Then you unpack and patch the doctor with the standard changes:
Code:
rwhitby@ubuntu:/srv/tools/meta-doctor$ make CARRIER=wr unpack patch
rm -rf build/pre-p100eww-wr-1.1.3
mkdir -p build/pre-p100eww-wr-1.1.3
cp downloads/webosdoctorp100eww-wr-1.1.3.jar build/pre-p100eww-wr-1.1.3/webosdoctorp100eww-wr-1.1.3.jar
( cd build/pre-p100eww-wr-1.1.3 ; \
                unzip webosdoctorp100eww-wr-1.1.3.jar META-INF/MANIFEST.MF resources/webOS.tar )
Archive:  webosdoctorp100eww-wr-1.1.3.jar
  inflating: META-INF/MANIFEST.MF
  inflating: resources/webOS.tar
mkdir -p build/pre-p100eww-wr-1.1.3/webOS
tar -C build/pre-p100eww-wr-1.1.3/webOS \
                -f build/pre-p100eww-wr-1.1.3/resources/webOS.tar \
                -x ./nova-cust-image-castle.rootfs.tar.gz \
                ./nova-installer-image-castle.uImage ./castle.xml ./installer.xml
gunzip -f build/pre-p100eww-wr-1.1.3/webOS/nova-cust-image-castle.rootfs.tar.gz
mkdir -p build/pre-p100eww-wr-1.1.3/rootfs
tar -C build/pre-p100eww-wr-1.1.3/rootfs \
                -f build/pre-p100eww-wr-1.1.3/webOS/nova-cust-image-castle.rootfs.tar \
                -x ./usr/palm/applications/com.palm.app.firstuse ./usr/lib/ipkg/info ./md5sums
touch build/pre-p100eww-wr-1.1.3/.unpacked
rm -f build/pre-p100eww-wr-1.1.3/.patched
mv build/pre-p100eww-wr-1.1.3/rootfs/md5sums build/pre-p100eww-wr-1.1.3/rootfs/md5sums.old
[ -d patches/pre-p100eww-wr-1.1.3 ]
( cd patches/pre-p100eww-wr-1.1.3 ; cat com.palm.app.firstuse.patch ) | \
        ( cd build/pre-p100eww-wr-1.1.3/rootfs ; patch -p0 )
patching file usr/palm/applications/com.palm.app.firstuse/app/controllers/app-assistant.js
patching file usr/palm/applications/com.palm.app.firstuse/appinfo.json
mkdir -p build/pre-p100eww-wr-1.1.3/rootfs/var/luna/preferences
touch build/pre-p100eww-wr-1.1.3/rootfs/var/luna/preferences/ran-first-use
mkdir -p build/pre-p100eww-wr-1.1.3/rootfs/var/gadget
touch build/pre-p100eww-wr-1.1.3/rootfs/var/gadget/novacom_enabled
for app in com.palm.app.firstuse ; do \
          ( cd build/pre-p100eww-wr-1.1.3/rootfs ; \
            find ./usr/palm/applications/$app -type f | xargs md5sum ) \
              > build/pre-p100eww-wr-1.1.3/rootfs/usr/lib/ipkg/info/$app.md5sums.new ; \
          ./scripts/replace-md5sums.py \
            build/pre-p100eww-wr-1.1.3/rootfs/usr/lib/ipkg/info/$app.md5sums.old build/pre-p100eww-wr-1.1.3/rootfs/usr/lib/ipkg/info/$app.md5sums.new \
              > build/pre-p100eww-wr-1.1.3/rootfs/usr/lib/ipkg/info/$app.md5sums ; \
          rm -f build/pre-p100eww-wr-1.1.3/rootfs/usr/lib/ipkg/info/$app.md5sums.old build/pre-p100eww-wr-1.1.3/rootfs/usr/lib/ipkg/info/$app.md5sums.new ; \
        done
Overwriting md5sum for ./usr/palm/applications/com.palm.app.firstuse/appinfo.json
Overwriting md5sum for ./usr/palm/applications/com.palm.app.firstuse/app/controllers/app-assistant.js
( cd build/pre-p100eww-wr-1.1.3/rootfs ; \
          find ./usr/palm/applications/com.palm.app.firstuse ./usr/lib/ipkg/info -type f | xargs md5sum ) \
            > build/pre-p100eww-wr-1.1.3/rootfs/md5sums.new
./scripts/replace-md5sums.py build/pre-p100eww-wr-1.1.3/rootfs/md5sums.old build/pre-p100eww-wr-1.1.3/rootfs/md5sums.new > \
                                     build/pre-p100eww-wr-1.1.3/rootfs/md5sums
Overwriting md5sum for ./usr/lib/ipkg/info/com.palm.app.firstuse.md5sums
Overwriting md5sum for ./usr/palm/applications/com.palm.app.firstuse/appinfo.json
Overwriting md5sum for ./usr/palm/applications/com.palm.app.firstuse/app/controllers/app-assistant.js
rm -f build/pre-p100eww-wr-1.1.3/rootfs/md5sums.old build/pre-p100eww-wr-1.1.3/rootfs/md5sums.new
sed -i.orig -e '/<Volume id="var"/s|256MB|2048MB|' build/pre-p100eww-wr-1.1.3/webOS/castle.xml
rm -f build/pre-p100eww-wr-1.1.3/webOS/castle.xml.orig
touch build/pre-p100eww-wr-1.1.3/.patched
This is the point at which you edit the castle.xml file in build/pre-p00eww-we-1.1.3/webOS/castle.xml ...

Then you pack the modified doctor ready for use:
Code:
rwhitby@ubuntu:/srv/tools/meta-doctor$ make CARRIER=wr pack
rm -f build/pre-p100eww-wr-1.1.3/.packed
tar -C build/pre-p100eww-wr-1.1.3/rootfs \
                -f build/pre-p100eww-wr-1.1.3/webOS/nova-cust-image-castle.rootfs.tar \
                --delete ./usr/palm/applications/com.palm.app.firstuse ./usr/lib/ipkg/info ./md5sums
( cd build/pre-p100eww-wr-1.1.3/rootfs ; mkdir -p ./usr/palm/applications/com.palm.app.firstuse ./usr/lib/ipkg/info ./var/luna/preferences ./var/gadget )
tar -C build/pre-p100eww-wr-1.1.3/rootfs \
                -f build/pre-p100eww-wr-1.1.3/webOS/nova-cust-image-castle.rootfs.tar \
                -r ./usr/palm/applications/com.palm.app.firstuse ./usr/lib/ipkg/info ./var/luna/preferences ./var/gadget ./md5sums
gzip -f build/pre-p100eww-wr-1.1.3/webOS/nova-cust-image-castle.rootfs.tar
tar -C build/pre-p100eww-wr-1.1.3/webOS \
                -f build/pre-p100eww-wr-1.1.3/resources/webOS.tar \
                --delete ./nova-cust-image-castle.rootfs.tar.gz ./castle.xml ./installer.xml
tar -C build/pre-p100eww-wr-1.1.3/webOS \
                -f build/pre-p100eww-wr-1.1.3/resources/webOS.tar \
                -r ./nova-cust-image-castle.rootfs.tar.gz ./castle.xml ./installer.xml
( cd build/pre-p100eww-wr-1.1.3 ; \
                zip -d webosdoctorp100eww-wr-1.1.3.jar META-INF/MANIFEST.MF META-INF/JARKEY.* resources/webOS.tar )
deleting: META-INF/MANIFEST.MF
deleting: META-INF/JARKEY.SF
deleting: META-INF/JARKEY.RSA
deleting: resources/webOS.tar
sed -i.orig -e '/^Name: /d' -e '/^SHA1-Digest: /d' -e '/^ /d' -e '/^\n$/d' \
                build/pre-p100eww-wr-1.1.3/META-INF/MANIFEST.MF
( cd build/pre-p100eww-wr-1.1.3 ; \
                zip webosdoctorp100eww-wr-1.1.3.jar META-INF/MANIFEST.MF resources/webOS.tar )
  adding: META-INF/MANIFEST.MF (deflated 82%)
  adding: resources/webOS.tar (deflated 5%)
touch build/pre-p100eww-wr-1.1.3/.packed
rwhitby@ubuntu:/srv/tools/meta-doctor$
At this point, your modified doctor .jar file is in the build/pre-p100eww-we-1.1.3 directory.

Note that this can be done for CARRIER=bellmo and CARRIER=sprint too (which will cause it to use the 1.2.1 doctor).

-- Rod
__________________
WebOS Internals and Preware Founder and Developer
You may wish to donate by Paypal to donations @ webos-internals.org if you find our work useful.
All donations go back into development.
www.webos-internals.org twitter.com/webosinternals facebook.com/webosinternals

Last edited by rwhitby; 10/19/2009 at 04:38 PM.
rwhitby is offline   Reply With Quote
Thanked by cecemf, pegass