Re: Port libmdb (mdb-tools) for iOS

Jakob Egger <[email protected]> Sat, 11 Aug 2012 10:57:24 +0200
Newsgroups gmane.comp.db.mdb-tools.devel
Message-ID <[email protected]>
--===============8325136072955366616==
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_D7020334-A382-4CCD-9E06-65EC8C537194"


--Apple-Mail=_D7020334-A382-4CCD-9E06-65EC8C537194
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=iso-8859-1

Actually, the MDB Tools are already on Github: =
https://github.com/brianb/mdbtools
The version on sourceforge is very outdated.

Concerning an iOS port: the problem is that mdb-tools are licensed under =
the LGPL, which is as far as I understand it is not compatible with iOS. =
So even if you could get it to work technically, you might not be =
legally allowed to use libmdb on the iPhone. Some people don't care =
about the problem and just use LGPL code on the iPhone, but I'd =
carefully consider the licensing issues before starting a port. On the =
other hand, I think even some of Apple's apps use LGPL code (I think =
Webkit is LGPL), but that doesn't help if someone complains and Apple =
pulls your app.

In fact, the LGPL license is one of the reasons why I stopped using =
mdbtools in my app (MDB Viewer for Mac) and wrote my own library for =
reading Access files.

Concerning documentation: Read the HACKING file for a good overview of =
the MDB file format.

Best regards,
Jakob

On 11.08.2012, at 08:45, Tudor Holton <[email protected]> wrote:

> On a related note, is there any chance of shifting to a git repos?  =
These kinds of project branching (as in code-share project branching) =
work much better on git, in my experience.
>=20
> Cheers,
> Tudor.
>=20
> On 12-08-11 03:17 AM, Robert Zermeno wrote:
>> Alex,
>> =20
>> Thanks for the quick feedback.  STL is supported by iOS and if you =
used all the STL classes as they were intended I believe you have made =
my day.  If you do not mind, can you provide me with your source code =
for me to try it out?  I am sure it will work, but if not it will be a =
great start to finish the port.  Once finished, perhaps the community =
can make a branch for iOS support as I would like to continue to see =
this project support newer Access files.
>> =20
>> If you can zip the project and send it to me that will be awesome.
>> =20
>> Thanks,
>> =20
>> Robert
>> =20
>>=20
>> From: Alexander Lehner <[email protected]>
>> To: Robert Zermeno <[email protected]>=20
>> Cc: "[email protected]" =
<[email protected]>=20
>> Sent: Friday, August 10, 2012 9:55 AM
>> Subject: Re: [mdb-dev] Port libmdb (mdb-tools) for iOS
>>=20
>>=20
>>=20
>> On Fri, 10 Aug 2012, Robert Zermeno wrote:
>>=20
>> > Ladies/Gents,
>> >
>> > I just became a memeber and I hope the community can now receive my =
message.  If you have received it twice, I am sorry.
>> > =20
>> > I am trying to read MSAccess mdb files on my iOS on the fly and saw =
this product.  I know it is not written for iOS, but has anyone tried to =
make it work?
>> > For the day and a half of searching, I cannot find free source to =
read .mdb files on iOS.  The real problem to get it to work is mdb-tools =
dependency of glib.  I am considering of porting this library to be =
usable in iOS environment (eliminate dependency of glib and other =
libraries iOS does not support).  I want to first start with libmdb as =
other items depend on it.  When successful, speak to the community where =
it should go from there (perhaps make support for newer Access files)?
>> > =20
>> > However, I feel libmdb can be done, but have not looked deep in the =
code to see if it will be a beast of a effort.  Can anybody provide me =
with valuable documentation on both mdb-tools architecture (each class =
and its purpose since there is very limited code comments) and the MDB =
file specification?  I know MDB file specification is not OCG, but any =
notes jotted down will be useful for me.
>> > =20
>> > If you feel I should not waste my time please let me know why?  I =
really need this functionality and I thought this C class is the best =
basis project to start with to port over (seeing how iOS supports =
Objective-C++).
>>=20
>>=20
>> Hi Robert,
>>=20
>> there was a discussion concerning the dependency on glibc earlier on =
this
>> list, but I don't remember how it ended. Maybe it's worth searching =
the
>> archive.
>>=20
>> I had this problem as well and solved it, by replacing the functions =
of
>> glibc that are beeing used in libmdb by my own implementation.
>> These are mainly some containers (hashes etc) and I re-implemented =
them by
>> using STL.
>> So my workaround is no longer plain ANSI-C but C++.
>> If that's ok for you, I can give you my code.
>>=20
>> Alex.
>>=20
>>=20
>>=20
>>=20
>>=20
>>=20
>> =
--------------------------------------------------------------------------=
----
>> Live Security Virtual Conference
>> Exclusive live event will cover all the ways today's security and=20
>> threat landscape has changed and how IT managers can respond. =
Discussions=20
>> will include endpoint security, mobile security and the latest in =
malware=20
>> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
>>=20
>>=20
>> _______________________________________________
>> mdbtools-dev mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/mdbtools-dev
>=20
> =
--------------------------------------------------------------------------=
----
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and=20
> threat landscape has changed and how IT managers can respond. =
Discussions=20
> will include endpoint security, mobile security and the latest in =
malware=20
> threats. =
http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_________________=
______________________________
> mdbtools-dev mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mdbtools-dev


--Apple-Mail=_D7020334-A382-4CCD-9E06-65EC8C537194
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=iso-8859-1

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Diso-8859-1"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; =
"><div>Actually, the MDB Tools are already on Github:&nbsp;<a =
href=3D"https://github.com/brianb/mdbtools">https://github.com/brianb/mdbt=
ools</a></div><div>The version on sourceforge is very =
outdated.</div><div><br></div><div>Concerning an iOS port: the problem =
is that mdb-tools are licensed under the LGPL, which is as far as I =
understand it is not compatible with iOS. So even if you could get it to =
work technically, you might not be legally allowed to use libmdb on the =
iPhone.&nbsp;Some people don't care about the problem and just use LGPL =
code on the iPhone, but I'd carefully consider the licensing issues =
before starting a port. On the other hand, I think even some of Apple's =
apps use LGPL code (I think Webkit is LGPL), but that doesn't help if =
someone complains and Apple pulls your app.</div><div><br></div><div>In =
fact, the LGPL license is one of the reasons why I stopped using =
mdbtools in my app (MDB Viewer for Mac) and wrote my own library for =
reading Access =
files.</div><div><br></div><div>Concerning&nbsp;documentation: Read the =
HACKING file for a good overview of the MDB file =
format.</div><div><br></div><div>Best =
regards,</div><div>Jakob</div><br><div><div>On 11.08.2012, at 08:45, =
Tudor Holton &lt;<a =
href=3D"mailto:[email protected]">[email protected]</a>&gt; =
wrote:</div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite">
 =20
    <meta content=3D"text/html; charset=3DISO-8859-1" =
http-equiv=3D"Content-Type">
 =20
  <div bgcolor=3D"#FFFFFF" text=3D"#000000">
    <div class=3D"moz-cite-prefix">On a related note, is there any =
chance
      of shifting to a git repos?&nbsp; These kinds of project branching =
(as
      in code-share project branching) work much better on git, in my
      experience.<br>
      <br>
      Cheers,<br>
      Tudor.<br>
      <br>
      On 12-08-11 03:17 AM, Robert Zermeno wrote:<br>
    </div>
    <blockquote =
cite=3D"mid:[email protected]" =
type=3D"cite">
      <div style=3D"color:; background-color:; font-family:times new
        roman, new york, times, serif;font-size:12pt">
        <div style=3D"RIGHT: auto"><span style=3D"RIGHT: =
auto">Alex,</span></div>
        <div style=3D"RIGHT: auto"><span style=3D"RIGHT: =
auto"></span>&nbsp;</div>
        <div style=3D"RIGHT: auto"><span style=3D"RIGHT: auto">Thanks =
for
            the quick feedback.&nbsp; STL is sup<var =
id=3D"yui-ie-cursor"></var>ported
            by iOS and if you used all the STL classes as they were
            intended I believe you have made my day.&nbsp; If you do not
            mind, can you provide me with your source code for me to try
            it out?&nbsp; I am sure it will work, but if not it will be =
a
            great start to finish the port.&nbsp; Once finished, perhaps =
the
            community can make a branch for iOS support as I would like
            to continue to see this project support newer Access =
files.</span></div>
        <div style=3D"RIGHT: auto"><span style=3D"RIGHT: =
auto"></span>&nbsp;</div>
        <div style=3D"RIGHT: auto"><span style=3D"RIGHT: auto">If you =
can
            zip the project and send it to me that will be =
awesome.</span></div>
        <div style=3D"RIGHT: auto"><span style=3D"RIGHT: =
auto"></span>&nbsp;</div>
        <div style=3D"font-size: 16px; right: auto; font-style: normal; =
font-family: 'times new roman', 'new york', times, serif; =
background-color: transparent; "><span style=3D"RIGHT: =
auto">Thanks,</span></div>
        <div style=3D"font-size: 16px; right: auto; font-style: normal; =
font-family: 'times new roman', 'new york', times, serif; =
background-color: transparent; "><span style=3D"RIGHT: =
auto"></span>&nbsp;</div>
        <div style=3D"font-size: 16px; right: auto; font-style: normal; =
font-family: 'times new roman', 'new york', times, serif; =
background-color: transparent; "><span style=3D"RIGHT: =
auto">Robert</span></div>
        <div style=3D"font-size: 16px; right: auto; font-style: normal; =
font-family: 'times new roman', 'new york', times, serif; =
background-color: transparent; "><span style=3D"RIGHT: =
auto"></span>&nbsp;</div>
        <div style=3D"font-size: 16px; right: auto; font-style: normal; =
font-family: 'times new roman', 'new york', times, serif; =
background-color: transparent; "><br style=3D"RIGHT:
            auto">
        </div>
        <div style=3D"FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new
          york, times, serif">
          <div style=3D"FONT-SIZE: 12pt; FONT-FAMILY: times new roman, =
new
            york, times, serif">
            <div dir=3D"ltr" style=3D"RIGHT: auto"><font face=3D"Arial" =
size=3D"2">
                <b><span style=3D"FONT-WEIGHT: bold">From:</span></b>
                Alexander Lehner <a class=3D"moz-txt-link-rfc2396E" =
href=3D"mailto:[email protected]">&lt;[email protected]&=
gt;</a><br>
                <b><span style=3D"FONT-WEIGHT: bold">To:</span></b> =
Robert
                Zermeno <a class=3D"moz-txt-link-rfc2396E" =
href=3D"mailto:[email protected]">&lt;[email protected]&gt;</a> =
<br>
                <b><span style=3D"FONT-WEIGHT: bold">Cc:</span></b>
                <a class=3D"moz-txt-link-rfc2396E" =
href=3D"mailto:[email protected]">"[email protected]=
rceforge.net"</a>
                <a class=3D"moz-txt-link-rfc2396E" =
href=3D"mailto:[email protected]">&lt;mdbtools-dev@lists.=
sourceforge.net&gt;</a> <br>
                <b><span style=3D"FONT-WEIGHT: bold">Sent:</span></b>
                Friday, August 10, 2012 9:55 AM<br>
                <b><span style=3D"FONT-WEIGHT: bold">Subject:</span></b>
                Re: [mdb-dev] Port libmdb (mdb-tools) for iOS<br>
              </font></div>
            <br>
            <br>
            <br>
            On Fri, 10 Aug 2012, Robert Zermeno wrote:<br>
            <br>
            &gt; Ladies/Gents,<br>
            &gt;<br>
            &gt; I just became a memeber and I hope the community can
            now receive my message.&nbsp; If you have received it twice, =
I am
            sorry.<br>
            &gt; &nbsp;<br>
            &gt; I am trying to read MSAccess mdb files on my iOS on the
            fly and saw this product.&nbsp; I know it is not written for =
iOS,
            but has anyone tried to make it work?<br>
            &gt; For the day and a half of searching, I cannot find free
            source to read .mdb files on iOS.&nbsp; The real problem to =
get
            it to work is mdb-tools dependency of glib.&nbsp; I am
            considering of porting this library to be usable in iOS
            environment (eliminate dependency of glib and
            other&nbsp;libraries iOS does not support).&nbsp; I want to =
first
            start with libmdb as other items depend on it.&nbsp; When
            successful, speak to the community where it should go from
            there (perhaps make support for newer Access files)?<br>
            &gt; &nbsp;<br>
            &gt; However, I feel libmdb can be done, but have not looked
            deep in the code to see if it will be a beast of a =
effort.&nbsp;
            Can anybody provide me with valuable documentation on both
            mdb-tools architecture (each class and its purpose since
            there is very limited code comments) and the MDB file
            specification?&nbsp; I know MDB file specification is not =
OCG,
            but any notes jotted down will be useful for me.<br>
            &gt; &nbsp;<br>
            &gt; If you feel I should not waste my time please let me
            know why?&nbsp; I really need this functionality and I =
thought
            this C class is the best basis project to start with to port
            over (seeing how iOS supports Objective-C++).<br>
            <br>
            <br>
            Hi Robert,<br>
            <br>
            there was a discussion concerning the dependency on glibc
            earlier on this<br>
            list, but I don't remember how it ended. Maybe it's worth
            searching the<br>
            archive.<br>
            <br>
            I had this problem as well and solved it, by replacing the
            functions of<br>
            glibc that are beeing used in libmdb by my own
            implementation.<br>
            These are mainly some containers (hashes etc) and I
            re-implemented them by<br>
            using STL.<br>
            So my workaround is no longer plain ANSI-C but C++.<br>
            If that's ok for you, I can give you my code.<br>
            <br>
            Alex.<br>
            <br>
            <br>
            <br>
            <br>
          </div>
        </div>
      </div>
      <br>
      <fieldset class=3D"mimeAttachmentHeader"></fieldset>
      <br>
      <pre =
wrap=3D"">----------------------------------------------------------------=
--------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and=20
threat landscape has changed and how IT managers can respond. =
Discussions=20
will include endpoint security, mobile security and the latest in =
malware=20
threats. <a class=3D"moz-txt-link-freetext" =
href=3D"http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/">http://=
www.accelacomm.com/jaw/sfrnl04242012/114/50122263/</a></pre>
      <br>
      <fieldset class=3D"mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap=3D"">_______________________________________________
mdbtools-dev mailing list
<a class=3D"moz-txt-link-abbreviated" =
href=3D"mailto:[email protected]">[email protected]=
ceforge.net</a>
<a class=3D"moz-txt-link-freetext" =
href=3D"https://lists.sourceforge.net/lists/listinfo/mdbtools-dev">https:/=
/lists.sourceforge.net/lists/listinfo/mdbtools-dev</a>
</pre>
    </blockquote>
    <br>
  </div>

=
--------------------------------------------------------------------------=
----<br>Live Security Virtual Conference<br>Exclusive live event will =
cover all the ways today's security and <br>threat landscape has changed =
and how IT managers can respond. Discussions <br>will include endpoint =
security, mobile security and the latest in malware <br>threats. <a =
href=3D"http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_________=
______________________________________">http://www.accelacomm.com/jaw/sfrn=
l04242012/114/50122263/_______________________________________________</a>=
<br>mdbtools-dev mailing list<br><a =
href=3D"mailto:[email protected]">[email protected]=
ceforge.net</a><br>https://lists.sourceforge.net/lists/listinfo/mdbtools-d=
ev<br></blockquote></div><br></body></html>=

--Apple-Mail=_D7020334-A382-4CCD-9E06-65EC8C537194--


--===============8325136072955366616==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
--===============8325136072955366616==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
mdbtools-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mdbtools-dev

--===============8325136072955366616==--