Samba 3.0.22 Porting by Vidya Sagar

13
10. Determine unresolved symbols.
11. Resolve unresolved symbols and rebuild and install.
12.
Test all the features you think should be supported in step 1.
13. Document the unsupported feature.
14. Finally bundle the deliverables, documentation and release.
A fresh port does not involve step 4 to apply a patch. Rather the porter modifies the necessary configuration files
(configure.in, Makefile.in etc) manually wherever required which is here done by the POSIX command patch.
All the remaining steps are same.
To apply a fix released by the Samba organization, if you are sure that this fix can be applied to Samba/iX you can start
with step 4.
We will discuss all the steps mentioned above to successfully port Samba-3.0.22 in detail as follows.
3.1 Analysis of application to identify the features that can be supported
Due to various limitations of MPE/iX and unavailability of many libraries and dependent software, many features
of the application considered for port may not be possible to support. Even though an application’s configure
script examines for the features that can be supported on the target system; it is always a good idea for the
programmers to have that knowledge in advance. Samba-3.0.22 cannot support for an ADS client as well as
server due to the lack of Kerberos library on MPE/iX. Other major functionalities like WINBINDD, CUPS printing
remained unsupported due to lack of NSS, PAM and CUPS libraries. Also, PDC/BDC could not be supported due
to the incompatible naming convention between Windows and MPE/iX. Neither did we have any workaround to
overcome that incompatibility. Following strategies are applicable for the features which cannot be supported,
a) Don’t do anything and by pass that piece of code from compilation and let them remain unsupported, but keep
in mind that, doing this should not defeat the objective of the port.
b) Port recursively all the dependencies, or devise some mechanism to make the incompatible behavior
compatible.
c) Fake the unsupported low level feature.
3.2 Downloading the vanilla source code
We can download the source code, patches, documentation related to Samba from www.samba.org which is
distributed via http and ftp. Every open source portable application has one or more ftp mirror sites from where
entire source code along with documentation can be downloaded. The same link can be used to download the
latest patch/release. It is recommended not to download any revision without reading the release notes, because
there is a high probability that new release may contain bug fixes in those part of the code which MPE/iX by
passes. Also before downloading it is important to read the associated notes which may have some legal notices
regarding export outside US and Canada. We cannot download any package directly to MPE/iX machine unless
the host has a direct internet connection to the internet. Download the source code first to any middle man (for
example your workstation/windows machine) and then ftp that in binary mode to the target MPE/iX build machine.
GNU wget (http://jazz.external.hp.com/src/#wget) can also be used for download if your network supports it,
which avoids the requirement of an intermediate machine.
Please read the
http://us1.samba.org/samba/download/ before downloading any Samba releases. This page
contains list of ftp mirror sites and much other important information. It is a good idea to opt for an ftp mirror site
geographically near to the download center to allow speedy download.
Note that any downloadable with name length more than 16 cannot be directly downloaded into the MPE groups
as files under MPE namespace impose the 16 character length limit. Samba source code package name also
exceeds the 16 character limit, so you need to create a directory with name src inside
/$HPACCOUNT/$HPGROUP as shown below and download and unpack the Samba source code into that
directory.
MPE/iX: hello mgr.samba,SMB3022
:xeq sh.hpbin.sys –L
Shell/iX> mkdir src