README.build.win32.txt
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:13k
源码类别:
SNMP编程
开发平台:
Unix_Linux
- ***************************************************************************
- *
- * README.build.win32
- *
- * Authors: Alex Burger <alex_b@users.sourceforge.net>
- *
- *
- ***************************************************************************
- Introduction
- ============
- This README outlines the steps required to create a binary release for
- Windows using Microsoft Visual Studio and the NullSoft installer.
- There are four sections:
- Compiling binaries
- Compiling HTMLHelp file
- Combining the binaries and HTMLHelp files
- Bulding a NullSoft installer package
- Bulding an OpenSSL version
- Compiling binaries
- ==================
- Requirements
- ------------
- -Windows NT/2000/XP
- -MSVC++ 6.0 SP5
- -ActivePerl 5.8.2 build 808
- -gnu_regex.exe (0.12) - http://people.delphiforums.com/gjc/gnu_regex.html
- -Platform SDK
- -MSYS / MinGW -or- tar.exe and gzip.exe
- Building the main binaries
- --------------------------
- Note: All shell steps are using the Window CMD prompt unless otherwise stated.
- 1. Extract source. The location will be references as (source dir)
- 2. Delete c:usr if it exists and rename Net-SNMP.dll in your %windir% if you
- have it already (to ensure Perl tests are using the compiled DLL)
- 3. Apply any required patches
- 4. Remove the example MIB files:
- Edit win32net-snmpagentmib_module_config.h and change the following lines:
- #define USING_EXAMPLES_UCDDEMOPUBLIC_MODULE 1
- #define USING_EXAMPLES_EXAMPLE_MODULE 1
- to:
- #undef USING_EXAMPLES_UCDDEMOPUBLIC_MODULE
- #undef USING_EXAMPLES_EXAMPLE_MODULE
- 5. cd (source dir)win32
- 6. Run build.bat
- 7. Set to the following:
- Net-SNMP build and install options
- ==================================
- 1. OpenSSL support: disabled
- 2. Platform SDK support: enabled
- 3. Install path: c:/usr
- 4. Install after build: enabled
- 5. Perl modules: enabled
- 6. Install perl modules: disabled
- 7. Quiet build (logged): enabled
- 8. Debug mode: disabled
- 9. IPv6 transports: disabled
- 10. Install development files enabled
- F. Finished - start build
- Q. Quit - abort build
- Select option to set / toggle:
- 8. F to start the build and verify everything was built ok
- 9. Delete any generated config files from c:usrsnmppersist
- Creating the Perl package
- -------------------------
- 1. cd (source dir)
- cd perl
- 2. nmake ppd
- 3. Open an MSYS shell (unless you have tar.exe and gzip.exe)
- 4. cd (source dir)
- cd perl
- 5. tar cvf NetSNMP.tar blib; gzip --best NetSNMP.tar
- 6. Open a Windows command prompt (CMD) and cd (source dir)perl
- 7. ren Bundle-NetSNMP.ppd NetSNMP.ppd
- 8. Modify NetSNMP.ppd to look like the following. Change the
- VERSION="x,x,x,x" line to the correct values. Do NOT change
- * lines in the original file.
- <SOFTPKG NAME="NetSNMP" VERSION="5,2,0,0">
- <TITLE>Net-SNMP</TITLE>
- <ABSTRACT>Object Oriented Interface to Net-SNMP</ABSTRACT>
- <AUTHOR></AUTHOR>
- <IMPLEMENTATION>
- * <OS NAME="MSWin32" />
- * <ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.8" />
- <CODEBASE HREF="x86/NetSNMP.tar.gz" />
- </IMPLEMENTATION>
- </SOFTPKG>
- 9. Create base directories:
- md "c:usrdocs"
- md "c:usrperl"
- md "c:usrperlx86"
- md "c:usrtemp"
- 10. Copy files:
- cd (source dir)
- copy COPYING "c:usrdocs"
- copy win32distREADME.txt "c:usr"
- copy win32distscriptsnet-snmp-perl-test.pl "c:usrbin"
- copy perlNetSNMP.ppd "c:usrPerl"
- copy perlNetSNMP.tar.gz "c:usrPerlx86"
- 11. Update the BUILD INFORMATION section of c:usrREADME.txt
- Compiling HTMLHelp file
- =======================
- This section outlines the steps required to build a Windows HTML Help file
- based on the Net-SNMP man pages, README files, Perldoc documentation etc.
- Requirements
- ------------
- -Linux (or similar) with:
- -man (man page viewer)
- -tidy (HTML tidy - http://tidy.sourceforge.net)
- -Perl
- -perldoc
- -man2html3.0.1.tar.gz (http://search.cpan.org/~ehood/man2html3.0.1/)
- Note: Most Linux distributions come with man2html as part of the man rpm
- package which is not the same as man2html from man2html3.0.1.tar.gz.
- All that is needed from man2html3.0.1.tar.gz is the man2html script.
- You do not need to do a complete install (make/make install) but you
- do need to make sure the script is configured correctly by setting the
- man command line switches etc for the OS from inside of the script.
- -Windows with:
- -HTML Help Workshop (Search msdn.microsoft.com for 'html help workshop download')
- Convert documents to html
- -------------------------
- Note: The following steps are completed using Linux.
- Note: A temporary location of /tmp/net-snmp is used.
- 1. Extract Net-SNMP source and cd (source dir)
- 2. cd (source dir)
- 3. cp perl/SNMP/README README.perl
- 4. Remove older copies of converted files:
- rm -R -f /tmp/net-snmp
- 5. Build Net-SNMP man pages:
- ./configure --prefix=c:/usr; make sedscript; cd man;make; cd ..
- 6. Install only the man files to /temp/net-snmp:
- cd man; make install prefix=/tmp/net-snmp; cd ..
- 7. Go to the scripts folder and make sure all the scripts are executable:
- cd (source dir)
- cd win32/dist/scripts; chmod +x *
- 8. Edit these files and make sure the paths are correct in the OPTIONS
- section. Also ensure the list of README files and Perl modules
- are correct in readme2html and poddir2html.
- mandir2html
- readme2html
- poddir2html
- Note: mandir2html will process ALL man pages in c:tempnet-snmp while
- readme2html and poddir2html will only process files listed in the
- script. If new man pages are added or removed, the Table of
- Contents (toc.hhc) and project file (Net-SNMP.hhp) need to be
- updated by hand.
- 9. Run each script to generate the .html files:
- ./mandir2html; ./readme2html; ./poddir2html
- Note: There will be many warnings from tidy which can be ignored.
- 10. Verify each converted file to ensure all the links are correct. The files
- are located in /tmp/net-snmp/html by default. In some instances, URLs may be
- split across two lines such as the Variables link at the bottom of
- /tmp/net-snmp/html/man8-snmptrapd.8.html.
- 11. If new man pages are added or removed, the Table of Contents (Net-SNMP.hhc) and
- project file (Net-SNMP.hhp) need to be updated by hand.
- 12. Convert EXAMPLE.conf.win32 to html:
- ./txt2html ../../EXAMPLE.conf.win32 | tidy > /tmp/net-snmp/html/EXAMPLE.conf.win32.html
- Build Net-SNMP.chm
- ------------------
- Note: The following steps are completed using Windows.
- Note: A temporary location of c:tempnet-snmp is used.
- 1. Transfer /tmp/net-snmp/html from Linux to c:tempnet-snmphtml
- 2. Copy the following files to c:tempnet-snmphtml:
- cd (source dir)
- copy "win32disthtmlhelpConfiguration_Overview.html" c:tempnet-snmphtml
- copy "win32disthtmlhelpDeveloper_FAQ.html" c:tempnet-snmphtml
- copy "win32disthtmlhelpFAQ.html" c:tempnet-snmphtml
- copy "win32disthtmlhelpHelp_Caveats.html" c:tempnet-snmphtml
- copy "win32disthtmlhelpIntroduction.html" c:tempnet-snmphtml
- copy "win32disthtmlhelpNet-SNMP.hhc" c:tempnet-snmphtml
- copy "win32disthtmlhelpNet-SNMP.hhp" c:tempnet-snmphtml
- copy "win32disthtmlhelpnet-snmp-4.2-800.jpg" c:tempnet-snmphtml
- copy "win32disthtmlhelpsnmp.conf.win32.html" c:tempnet-snmphtml
- copy "win32disthtmlhelpsnmpd.conf.win32.html" c:tempnet-snmphtml
- copy "win32disthtmlhelpsnmptrapd.conf.win32.html" c:tempnet-snmphtml
- 3. New configuration options may be available in the new release of
- Net-SNMP, so the *.conf.win32.html files should be updated.
- Create a text file with all the configuration options for snmpd and
- snmptrapd using:
- cd win32binrelease (folder of *Windows* compiled Net-SNMP)
- snmptrapd -H 2> c:tempnet-snmphtmlsnmptrapd.options
- snmpd -H 2> c:tempnet-snmphtmlsnmpd.options
- Update these files using an HTML editor (Mozilla etc):
- c:tempnet-snmphtmlsnmp.conf.win32.html
- c:tempnet-snmphtmlsnmpd.conf.win32.html
- c:tempnet-snmphtmlsnmptrapd.conf.win32.html
- Only add the relevent section to each file from the .options files
- created above, ensure the font is set to fixed width.
- Tidy each file using tidy under Windows (or transfer to Linux and tidy
- using Linux):
- tidy -asxhtml -m c:tempnet-snmphtmlsnmptrapd.conf.win32.html
- tidy -asxhtml -m c:tempnet-snmphtmlsnmpd.conf.win32.html
- tidy -asxhtml -m c:tempnet-snmphtmlsnmp.conf.win32.html
- 4. Edit c:tempnet-snmphtmlNet-SNMP.hhp and update the version for the
- 'Title' variable.
- 5. Run HTML Workshop
- 6. Open c:tempnet-snmphtmlNet-SNMP.hhp
- 7. Click File - Compile
- 8. Select 'C:tempnet-snmphtmlNet-SNMP.hhp' as the filename
- 9. Click Compile
- 10. You should now have a c:tempnet-snmphtmlNet-SNMP.chm file.
- 11. Launch the file and ensure every content item displays the correct page.
- Combining the binaries and HTMLHelp files
- =========================================
- 1. Copy the HTML Help file to c:usrdocs:
- copy c:tempNet-SNMPhtmlNet-SNMP.chm c:usrdocs
- 2. Create a .zip file of c:usr for archive purposes.
- Bulding a NullSoft installer package
- ====================================
- Requirements
- ------------
- -Windows
- -Nullsoft Scriptable Install System 2.0 - http://nsis.sourceforge.net/home/
- 1. Complete the three sections above: 'Compiling binaries', 'Compiling
- HTMLHelp file' and 'Combining the binaries and HTMLHelp files'. Net-SNMP
- should be located in c:usr.
- 2. Copy the following files to c:usr:
- cd (source dir)
- copy win32distinstallerSetEnVar.nsi c:usr
- copy win32distinstallernet-snmp.nsi c:usr
- copy win32distinstallerAdd2Path.nsi c:usr
- copy win32distinstallernet-snmp-header1.bmp c:usr
- 3. Create the following empty files:
- echo . > c:usrregisteragent.bat
- echo . > c:usrunregisteragent.bat
- echo . > c:usrregistertrapd.bat
- echo . > c:usrunregistertrapd.bat
- echo . > c:usretcsnmpsnmp.conf
- 4. Edit the following variables in c:usrnet-snmp.nsi:
- PRODUCT_MAJ_VERSION
- PRODUCT_MIN_VERSION
- PRODUCT_REVISION
- PRODUCT_EXE_VERSION
- For example, for 5.1.2:
- PRODUCT_MAJ_VERSION "5"
- PRODUCT_MIN_VERSION "1"
- PRODUCT_REVISION "2"
- PRODUCT_EXE_VERSION "1"
- The generated filename would be: net-snmp-5.1.2-1.win32.exe
- PRODUCT_EXE_VERSION is usually 1 unless the binary package is re-released
- due to packaging issues. For pre releases, include the pre-release version
- in PRODUCT_REVISION. For example, for 5.1.2 pre2 use:
- PRODUCT_MAJ_VERSION "5"
- PRODUCT_MIN_VERSION "1"
- PRODUCT_REVISION "2.pre2"
- PRODUCT_EXE_VERSION "1"
- This will ensure the version number is visible during installation.
- The generated filename would be: net-snmp-5.1.2.pre2-1.win32.exe
- 5. Launch the 'Nullsoft Install System (NSIS 2.0)'
- 6. Select 'MakeNSISW (compiler interface)'
- 7. Click File - Load Script
- 8. Select c:usrnet-snmp.nsi
- 9. You should now have a c:usrNet-SNMP-x.x.x-x.exe binary installer
- package
- 10. Test the package
- 11. Compare the directory contents of the compiled folder with the installed
- folder to ensure there are no missing MIB files etc. Modify net-snmp.nsi
- and rebuild if required.
- Bulding an OpenSSL version
- ==========================
- Requirements
- ------------
- -OpenSSL binary from http://www.slproweb.com/products/Win32OpenSSL.html
- 1. Install the OpenSSL binary, header and library files as explained in
- 'Using a pre-compiled version' of the 'Microsoft Visual C++ - Building with
- OpenSSL' section of README.win32.
- 2. Move c:usr c:usr.temp
- 3. Re-build the binary exactly as above except enable OpenSSL.
- 4. Copy contents of c:usr to c:usr.temp
- 5. Delete c:usr
- 6. Move c:usr.temp c:usr
- 7. Update the BUILD INFORMATION section of c:usrREADME.txt to include the SSL
- info and the filename.
- 8. Update the version stamp in c:usrnet-snmp.nsi to include -ssl. Example:
- For example, for 5.3.0:
- PRODUCT_MAJ_VERSION "5"
- PRODUCT_MIN_VERSION "3"
- PRODUCT_REVISION "0-ssl"
- PRODUCT_EXE_VERSION "1"
- The generated filename would be: net-snmp-5.3.0-ssl-1.win32.exe
- 9. In c:usrnet-snmp.nsi, change:
- !define OPENSSL_REQUIRED "0"
- to
- !define OPENSSL_REQUIRED "1"
- 10. Launch the 'Nullsoft Install System (NSIS 2.0)'
- 11. Select 'MakeNSISW (compiler interface)'
- 12. Click File - Load Script
- 13. Select c:usrnet-snmp.nsi
- 14. You should now have a c:usrNet-SNMP-x.x.x-x.exe binary installer
- package
- 15. Test the package
- 16. Compare the directory contents of the compiled folder with the installed
- folder to ensure there are no missing MIB files etc. Modify net-snmp.nsi
- and rebuild if required.