|
Packit |
fcad23 |
This is a summary of the steps required to make a new release. Do not
|
|
Packit |
fcad23 |
attempt to run these manually - instead use the 'makerelease'
|
|
Packit |
fcad23 |
application and makerelease.xml file. Get 'makerelease' from the
|
|
Packit |
fcad23 |
makerelease repository:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
git clone https://github.com/hardaker/makerelease
|
|
Packit |
fcad23 |
cd makerelease
|
|
Packit |
fcad23 |
perl Makefile.PL
|
|
Packit |
fcad23 |
make
|
|
Packit |
fcad23 |
sudo make install
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Then to run it from a directory to release:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
makerelease -c NETSNMPTRUNK/dist/makerelease.xml
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
It will prompt you for all needed information and tasks to be done.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
IMPORTANT NOTE:
|
|
Packit |
fcad23 |
Don't *ever* release a second tar ball under the same name as the
|
|
Packit |
fcad23 |
first. It's much much much better to release another version
|
|
Packit |
fcad23 |
instead, since you don't have to figure out from the bug reports
|
|
Packit |
fcad23 |
that a user really grabbed the first snapshot instead of the
|
|
Packit |
fcad23 |
second when they complain about version "XXX" not working.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
====== makerelease -n output showing makerelease documented steps ======
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 1: Setup Steps
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
This set of steps will do some preliminary "safety" checks to ensure the
|
|
Packit |
fcad23 |
local environment is ok and setup some important information.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
===== Entering Step: 1 =====
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 1.1: Setup Checck
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
This should show the last version number published in this branch by
|
|
Packit |
fcad23 |
looking at the time line in the README file:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
head -1 README
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 1.2: Pick a Version Number
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Please enter the version number to publish. Net-SNMP convention dictates
|
|
Packit |
fcad23 |
that this be a version number like 5.4 or 5.4.1. Pre-releases that occur
|
|
Packit |
fcad23 |
before a branch freezes should be appended with ".preN" like 5.4.1.pre2.
|
|
Packit |
fcad23 |
Release-candidates should be labeled ".rcN" like 5.4.1.rc1.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Decide on a value for parameter 'VERSION'
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
parameter: VERSION
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
prompt: Enter the new version number:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 1.3: Defining a second internal version string
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Internal perl code will be executed
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 1.4: Release Parameter Information
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Here is the configured information we'll be using:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
VERSION: {VERSION}
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
VERSION with dashes: {VERSIONDASHES}
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Floating point VERSION: {VERSIONFLOAT}
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Branch URL: {BRANCHPATH}
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 1.5: update
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
We need to make sure your code is up to date and matches the latest
|
|
Packit |
fcad23 |
sources in this branch.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
svn update
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 1.6: Check for changes
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
This steps looks for outstanding files that have been modified. There
|
|
Packit |
fcad23 |
should be no outstanding modifications! If this step finds outstanding
|
|
Packit |
fcad23 |
modified files you need to check them in or revert them before
|
|
Packit |
fcad23 |
continuing!
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
svn -u status | egrep '^[^\?]'
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
(Leaving Step: 1)
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 2: Source Code Setup
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
This set of steps will modify various places within the source code tree
|
|
Packit |
fcad23 |
to bring it up to date with the new version number about to be published.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
===== Entering Step: 2 =====
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 2.1: Libtool / Library versioning setup
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
These steps will modify the various files in the source tree that contain
|
|
Packit |
fcad23 |
the version number, show you the changes that will be made and then check
|
|
Packit |
fcad23 |
in the resulting changes if you approve of them.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
===== Entering Step: 2.1 =====
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 2.1.1: version:libtoolmanualedit
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
You (may) need to edit Makefile.top to update the library version
|
|
Packit |
fcad23 |
numbering (usually just for the first pre-release of a given version).
|
|
Packit |
fcad23 |
See the comments in RELEASE-INSTRUCTIONS about LIBCURRENT, LIBAGE and
|
|
Packit |
fcad23 |
LIBREVISION.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
This script will commit the file for you after you're done.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 2.1.2: version:commit
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
We'll now commit the Makefile.top file if you've modified it.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
svn commit -m "version update" Makefile.top
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
(Leaving Step: 2.1)
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 2.2: Change The Version Number
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
These steps will modify the various files in the source tree that contain
|
|
Packit |
fcad23 |
the version number, show you the changes that will be made and then check
|
|
Packit |
fcad23 |
in the resulting changes if you approve of them.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
===== Entering Step: 2.2 =====
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 2.2.1: Modify the source files
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
We will now modify files through the code to replace the version number
|
|
Packit |
fcad23 |
with the newer one.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Modifying files:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
replacing: 'VERSION = '(.*)'' with: 'VERSION = \'{VERSIONFLOAT}\''
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
files: glob=ARRAY(0x8dc9064)
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
perl/SNMP/SNMP.pm
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
perl/agent/agent.pm
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
perl/agent/Support/Support.pm
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
perl/agent/default_store/default_store.pm
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
perl/default_store/default_store.pm
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
perl/OID/OID.pm
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
perl/ASN/ASN.pm
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
perl/AnyData_SNMP/Storage.pm
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
perl/AnyData_SNMP/Format.pm
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
perl/TrapReceiver/TrapReceiver.pm
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Modifying files:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
replacing: 'NetSnmpVersionInfo = "[\d\.]+"' with: 'NetSnmpVersionInfo =
|
|
Packit |
fcad23 |
"{VERSION}"'
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
files: glob=ARRAY(0x8dc8fd4)
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
snmplib/snmp_version.c
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Modifying files:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
replacing: 'Version: [\.0-9a-zA-Z]+' with: 'Version: {VERSION}'
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
files: glob=ARRAY(0x8dc8f44)
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
README
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
FAQ
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
dist/net-snmp.spec
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Modifying files:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
replacing: 'VERSION = [\.0-9a-zA-Z]+' with: 'VERSION = {VERSION}'
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
files: glob=ARRAY(0x8dc8ed4)
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
dist/Makefile
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Modifying files:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
replacing: 'AC_INIT\(\[Net-SNMP\], \[([^\]]+)\]' with:
|
|
Packit |
fcad23 |
'AC_INIT([Net-SNMP], [{VERSION}]'
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
files: glob=ARRAY(0x8dc8e64)
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
configure.in
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Modifying files:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
replacing: 'NetSnmpVersionInfo = "[^"]+"' with: 'NetSnmpVersionInfo =
|
|
Packit |
fcad23 |
"{VERSION}"'
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
files: glob=ARRAY(0x8dc8df4)
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
snmplib/snmp_version.c
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 2.2.2: Running autoconf to rebuild configure
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
We modified configure.in, so we now need to run autoconf to rebuild
|
|
Packit |
fcad23 |
configure.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
XXX: in the future we should verify the correct autoconf version number
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
autoconf
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 2.2.3: Running svn diff to check changes
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Check the following changes for proper version number differences before
|
|
Packit |
fcad23 |
we commit the chances.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
svn diff
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 2.2.4: Running svn commit to commit the changes
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Check the changes in the above diff and then we'll commit the results
|
|
Packit |
fcad23 |
here if they look ok.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
svn commit -m "Version number update"
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
(Leaving Step: 2.2)
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 2.3: docs:make
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
This step will create manual pages from doxygen instrumented code files.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
make docs
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
make mancp
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 2.4: docs:update
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
This will run svn status to figure out what files have changed since the
|
|
Packit |
fcad23 |
previous man page generation steps were done. After this step, we'll
|
|
Packit |
fcad23 |
commit all the modified files.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
You may find additional files (marked with a ?) that should be added to
|
|
Packit |
fcad23 |
the svn repository and you'll need to do this by hand before going on to
|
|
Packit |
fcad23 |
the next step.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Note: based on a recent net-snmp-admin discussion, we're no longer going
|
|
Packit |
fcad23 |
to be adding the bazillions of man pages that doxygen generates by
|
|
Packit |
fcad23 |
default. Only important ones should be added.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
svn -u status man
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 2.5: docs:manualaddnewman
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Update man/Makefile.in with details of any new man pages, and run 'svn
|
|
Packit |
fcad23 |
add' on them.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
I'll commit these changes for you after you're done.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 2.6: docs:commit
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
svn commit -m "documentation update" man
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
(Leaving Step: 2)
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 3: Testing Steps
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
These steps will help you test the source code to ensure it passes some
|
|
Packit |
fcad23 |
simple "it works" tests.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
===== Entering Step: 3 =====
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 3.1: build:distclean
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
First we need to clean the existing build tree and start from scratch.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
make distclean
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 3.2: build:configure
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
We need to run configure to set up the build tree.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
./configure --cache=config.cache --with-defaults
|
|
Packit |
fcad23 |
--with-mib-modules='host examples examples/example testhandler smux Rmon
|
|
Packit |
fcad23 |
disman/event-mib' --with-transports=IPX --enable-ipv6
|
|
Packit |
fcad23 |
--enable-embedded-perl --enable-shared
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 3.3: build:make
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Then we need to build the code
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
make
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 3.4: build:test
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Now we run "make test" which should produce a perfect set up test
|
|
Packit |
fcad23 |
results. If not, this needs to be fixed or at least understood and
|
|
Packit |
fcad23 |
accepted as is for some other reason.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
make test TESTOPTS=-n
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 3.5: code:checkcomments
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
This command looks for source code oddities and policy violations.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
make checks
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
(Leaving Step: 3)
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 4: Release File Steps
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Certain files in the distribution and built on a per-release basis.
|
|
Packit |
fcad23 |
These steps will help set up these files.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
===== Entering Step: 4 =====
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 4.1: code:makedepend
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
This step creates Makefile dependencies using the "distdepend" rule in
|
|
Packit |
fcad23 |
the top level Makefile.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
make distdepend
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 4.2: code:commitdepend
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
This step commits the dependency changes done in the previous step.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
svn commit -m "make depend" `find . -name Makefile.depend`
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 4.3: changelog:svn2cl
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
We need to extract the portions of the change logs committed to the
|
|
Packit |
fcad23 |
repository.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
svn2cl -f ChangeLog.add --break-before-msg --stop-on-copy
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
perl dist/changelogfix < ChangeLog.add > ChangeLog.reallyadd
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 4.4: changelog:manualedit
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
You need to manually insert the *relevent* portions of
|
|
Packit |
fcad23 |
'ChangeLog.reallyadd' into the ChangeLog file. I'll commit these changes
|
|
Packit |
fcad23 |
for you after you finish cutting out the proper changes.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 4.5: changelog:commit
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
svn commit -m "version update" ChangeLog
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 4.6: docs:newnews
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
perl dist/extractnews -s ----- -e ----- ChangeLog
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 4.7: docs:newnews
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
perl dist/extractnews -c CHANGES.new2 -n NEWS.new2 ChangeLog.reallyadd
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 4.8: docs:README
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
You need to manually insert the relevent portions of 'CHANGES.new' and
|
|
Packit |
fcad23 |
'NEWS.new' into the CHANGES and NEWS file. (There are alternative
|
|
Packit |
fcad23 |
versions in 'CHANGES.new2' and 'NEWS.new2') You may wish to update the
|
|
Packit |
fcad23 |
README file as well. I'll commit these changes for you afterwards
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 4.9: docs:commit
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
svn commit -m "version update" README NEWS CHANGES
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 4.10: release:update
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
One more svn update and status to make sure nothing odd exists in your
|
|
Packit |
fcad23 |
source tree. Please check the results!
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
svn -u status
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
(Leaving Step: 4)
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 5: Make the Release
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
This is it! After this point it's much harder to turn back. If
|
|
Packit |
fcad23 |
everything is ok until this point and you're ready to actually stamp the
|
|
Packit |
fcad23 |
release in git and make release files, these steps will do that for you.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
===== Entering Step: 5 =====
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 5.1: release:tag
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
This will actually svn copy the current checked out branch to the new tag
|
|
Packit |
fcad23 |
name. Specifically:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
svn copy {BRANCHPATH} .../tags/Ext-{VERSIONDASHES}
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
svn copy -m "{VERSION} release" {BRANCHPATH}
|
|
Packit |
fcad23 |
https://net-snmp.svn.sourceforge.net/svnroot/net-snmp/tags/Ext-{VERSIONDA
|
|
Packit |
fcad23 |
SHES}
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 5.2: release:makedist
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
svn export
|
|
Packit |
fcad23 |
https://net-snmp.svn.sourceforge.net/svnroot/net-snmp/tags/Ext-{VERSIONDA
|
|
Packit |
fcad23 |
SHES}/net-snmp net-snmp-{VERSION}
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 5.3: release:removefiles
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
net-snmp-{VERSION}/remove-files net-snmp-{VERSION}
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 5.4: release:makedist
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
star artype=ustar -c -z -f net-snmp-{VERSION}.tar.gz
|
|
Packit |
fcad23 |
net-snmp-{VERSION}
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 5.5: release:makezipclean
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
rm -f net-snmp-{VERSION}.zip
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 5.6: release:makezip
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
zip -r net-snmp-{VERSION}.zip net-snmp-{VERSION}
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 5.7: release:searching-gpg-keys
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
gpg --list-secret-keys net-snmp-admin
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 5.8: release:gpg
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
gpg -u 317F8F64 -a --detach-sign net-snmp-{VERSION}.tar.gz
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 5.9: release:gpg
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
gpg -u 317F8F64 -a --detach-sign net-snmp-{VERSION}.zip
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 5.10: Release File Test
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
We'll also re-build the source and retest a few things to ensure the
|
|
Packit |
fcad23 |
packaged file can actually be built.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
===== Entering Step: 5.10 =====
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 5.10.1: posttest:untar
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
rm -rf net-snmp-{VERSION}
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 5.10.2: posttest:untar
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
tar xzf net-snmp-{VERSION}.tar.gz
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 5.10.3: posttest:configure
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
cd net-snmp-{VERSION} && ./configure --cache=config.cache
|
|
Packit |
fcad23 |
--with-defaults --with-mib-modules='host examples examples/example
|
|
Packit |
fcad23 |
testhandler smux Rmon disman/event-mib' --with-transports=IPX
|
|
Packit |
fcad23 |
--enable-ipv6 --enable-embedded-perl --enable-shared
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 5.10.4: posttest:make
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
cd net-snmp-{VERSION} && make
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 5.10.5: posttest:test
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
cd net-snmp-{VERSION} && make test
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
(Leaving Step: 5.10)
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
(Leaving Step: 5)
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 6: Release the results
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Now we'll publish the results to the SF server
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
===== Entering Step: 6 =====
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 6.1: rsync the new files
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
This will copy the results to the SF uploads directory in your account on
|
|
Packit |
fcad23 |
frs.sourceforge.net
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
rsync -v net-snmp-{VERSION}.tar.gz net-snmp-{VERSION}.tar.gz.asc
|
|
Packit |
fcad23 |
net-snmp-{VERSION}.zip net-snmp-{VERSION}.zip.asc
|
|
Packit |
fcad23 |
frs.sourceforge.net:uploads/
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 6.2: Update the SF release web page
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
firefox
|
|
Packit |
fcad23 |
'http://sourceforge.net/project/admin/editpackages.php?group_id=12694'
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
(Leaving Step: 6)
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 7:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Binaries: build rpms, .tar.gzs, etc.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 8: Advertise it!
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
===== Entering Step: 8 =====
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 8.1:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Add a note to the source forge news system:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
http://sourceforge.net/news/submit.php?group_id=12694
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
firefox 'http://sourceforge.net/news/submit.php?group_id=12694'
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 8.2:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Send an announcement message to one of the following mailing lists based
|
|
Packit |
fcad23 |
on it's type:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
pre: net-snmp-coders@lists.sourceforge.net
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
rc: net-snmp-users@lists.sourceforge.net
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
final: net-snmp-announce@lists.sourceforge.net
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 8.3:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Update the topic on the #Net-SNMP channel if this is a trunk based
|
|
Packit |
fcad23 |
release.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 8.4:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Update the freshmeat listing (Wes needs to do this):
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
http://freshmeat.net/projects/net-snmp/
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Commands to execute:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
firefox http://freshmeat.net/projects/net-snmp/
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
(Leaving Step: 8)
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
STEP: 9:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Advertise: NEWS upload to sf, publish on -announce, freshmeat, and the
|
|
Packit |
fcad23 |
GNU FSF directory (http://directory.fsf.org/project/net-snmp/)... (send
|
|
Packit |
fcad23 |
mail to bug-directory@gnu.org)
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
====== BEGIN OBSOLETE (pre-makerelease) DOCUMENTATION ======
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
***************************************************************************
|
|
Packit |
fcad23 |
TESTING:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
1) Update the source tree to catch all recent commits,
|
|
Packit |
fcad23 |
and check that all local changes have been committed.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
$ svn -u status
|
|
Packit |
fcad23 |
$ svn update
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
2) Change the libtool version information in Makefile.top.
|
|
Packit |
fcad23 |
See MANUAL - STEP 1 later in these instructions.
|
|
Packit |
fcad23 |
'makerelease' will commit this file automatically.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
3) Configure the suite with as many modules as possible,
|
|
Packit |
fcad23 |
build and test it. The makerelease script will use
|
|
Packit |
fcad23 |
the options:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
$ ./configure '--with-mib-modules=host examples examples/example \
|
|
Packit |
fcad23 |
testhandler smux Rmon disman/event-mib' \
|
|
Packit |
fcad23 |
--with-transports=IPX --enable-ipv6 \
|
|
Packit |
fcad23 |
--enable-embedded-perl --enable-shared
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Ideally this should be repeated on as many systems as possible
|
|
Packit |
fcad23 |
(including running "make install"). However the makerelease
|
|
Packit |
fcad23 |
script will only test things on the current box, and will not
|
|
Packit |
fcad23 |
try to install the software.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
***************************************************************************
|
|
Packit |
fcad23 |
DOCUMENTATION:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
4) Update the version number in the doxygen.conf file
|
|
Packit |
fcad23 |
(handled automatically by 'makerelease') and generate
|
|
Packit |
fcad23 |
the doxygen extracted manual pages.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
$ make docs
|
|
Packit |
fcad23 |
$ make mancp
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
'makerelease' will commit this file automatically.
|
|
Packit |
fcad23 |
Note that any new man pages should be added to Makefile.in.
|
|
Packit |
fcad23 |
This is *NOT* currently handled by the makerelease script.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
5) Check the code for illegal constructs (e.g. C++ style comments
|
|
Packit |
fcad23 |
or GNU make specific constructs in Makefiles):
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
$ make checks
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
6) Update Makefile dependencies:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
$ make distdepend
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
'makerelease' will commit these dependencies automatically.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
7) Update the ChangeLog file with details of all (recent) changes
|
|
Packit |
fcad23 |
to the suite. See MANUAL - STEP 2 later in these instructions.
|
|
Packit |
fcad23 |
'makerelease' will commit this file automatically.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
8) Update the README, NEWS, and CHANGES files with details of
|
|
Packit |
fcad23 |
significant changes to the suite. See MANUAL - STEP 3 later
|
|
Packit |
fcad23 |
in these instructions.
|
|
Packit |
fcad23 |
'makerelease' will commit these files automatically.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
***************************************************************************
|
|
Packit |
fcad23 |
RELEASE:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
9) Make sure all changes are checked in:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
$ svn -u status
|
|
Packit |
fcad23 |
$ svn update
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
[Note that this step is omitted when running "makerelease"]
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
10) Change the version number in various files
|
|
Packit |
fcad23 |
(README, FAQ, configure.in, net-snmp.spec and assorted Perl modules).
|
|
Packit |
fcad23 |
'makerelease' will update and commit these files automatically.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
11) Create a tag checkpoint for this release:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
$ svn copy /trunk /tags/Ext-5-x
|
|
Packit |
fcad23 |
or
|
|
Packit |
fcad23 |
$ svn copy /branches/V5-x-patches /tags/Ext-5-x-y
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
12) Construct the source packages:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
$ svn export /tags/Ext-5-x-y/net-snmp net-snmp-5.x.y
|
|
Packit |
fcad23 |
$ net-snmp-5.x.y/remove-files net-snmp-5.x.y
|
|
Packit |
fcad23 |
$ star artype=ustar -c -z -f net-snmp-5.x.y.tar.gz net-snmp-5.x.y
|
|
Packit |
fcad23 |
$ rm -f net-snmp-5.x.y.zip"
|
|
Packit |
fcad23 |
$ zip -r net-snmp-5.x.y.zip net-snmp-5.x.y"
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
13) Sign (or checksum) the packages:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Wes/Robert:
|
|
Packit |
fcad23 |
$ gpg -u net-snmp-admin -a --detach-sign net-snmp-5.x.y.tar.gz
|
|
Packit |
fcad23 |
$ gpg -u net-snmp-admin -a --detach-sign net-snmp-5.x.y.zip
|
|
Packit |
fcad23 |
Others:
|
|
Packit |
fcad23 |
$ md5sum net-snmp-5.x.y.tar.gz > net-snmp-5.x.y.tar.gz.md5
|
|
Packit |
fcad23 |
$ md5sum net-snmp-5.x.y.zip > net-snmp-5.x.y.zip.md5
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
***************************************************************************
|
|
Packit |
fcad23 |
RELEASE TESTING:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
14) Unpack a clean copy of the tarball, configure, build and
|
|
Packit |
fcad23 |
test the release tarball.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
15) Double-check that there are no outstanding changes that have
|
|
Packit |
fcad23 |
been missed from the CVS checkin:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
$ svn status
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Note: This is the last stage that is handled by the "makerelease" script
|
|
Packit |
fcad23 |
Everything following will need to be done manually.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
15) Upload the packages (and signature files) to the SourceForge server:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
$ ncftpput upload.sf.net incoming net-snmp-5.x.y.tar.gz
|
|
Packit |
fcad23 |
$ ncftpput upload.sf.net incoming net-snmp-5.x.y.zip
|
|
Packit |
fcad23 |
* SF pages: "Admin" -> "File Releases"
|
|
Packit |
fcad23 |
* net-snmp: "Add Release" (or "Edit Release")
|
|
Packit |
fcad23 |
* Create (or choose) an appropriate release name
|
|
Packit |
fcad23 |
e.g. "5.x.y source code" (or "5.x.y pre-releases")
|
|
Packit |
fcad23 |
* "Edit This Release"
|
|
Packit |
fcad23 |
* Select the tarball and/or other relevant files
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
16) Announce the release on the appropriate list.
|
|
Packit |
fcad23 |
Pre-release announcements (and a call for testing) should be
|
|
Packit |
fcad23 |
sent to net-snmp-coders, release-candidates to net-snmp-users.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Full releases should be announced on net-snmp-users, and as a
|
|
Packit |
fcad23 |
news item on the project home page - including the NEWS snippet
|
|
Packit |
fcad23 |
of significant changes since the last release.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
17) Update the following htdocs files (in the main git trunk):
|
|
Packit |
fcad23 |
htdocs/download.html
|
|
Packit |
fcad23 |
htdocs/dev/schedule.html
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
[Make sure you have permissions set up properly on the web
|
|
Packit |
fcad23 |
server so that files created become group-writable!!!]
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
That concludes the process for pre-releases and release-candidates.
|
|
Packit |
fcad23 |
For full releases, wait a week to ensure that there are no major
|
|
Packit |
fcad23 |
problems, before continuing with the remaining steps.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
If there are known problems and another release is planned to
|
|
Packit |
fcad23 |
fix them, don't announce the broken version - wait for the updated
|
|
Packit |
fcad23 |
one instead.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
18) Once this week has elapsed, submit an announement of the new
|
|
Packit |
fcad23 |
release to net-snmp-announce. This message will need to be
|
|
Packit |
fcad23 |
explicitly authorized via MailMan.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Also update the IRC topic to include mention of this release.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
19) For a release on the most recent development line, start bugging
|
|
Packit |
fcad23 |
Wes to update the freshmeat, Free Software Directory and
|
|
Packit |
fcad23 |
Wikipedia entries.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
20) For a release on the most recent development line, update the
|
|
Packit |
fcad23 |
'htdocs/page-top.html' file (in the main git trunk) to reference
|
|
Packit |
fcad23 |
the latest version.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Update the following files with any changes:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
htdocs/docs/readmefiles/NEWS
|
|
Packit |
fcad23 |
htdocs/docs/readmefiles/CHANGES
|
|
Packit |
fcad23 |
htdocs/docs/readmefiles/README*
|
|
Packit |
fcad23 |
htdocs/COPYING
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
[Make sure you have permissions set up properly on the web
|
|
Packit |
fcad23 |
server so that files created become group-writable!!!]
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
21) For a major new-feature release (i.e. 5.x), create the patches
|
|
Packit |
fcad23 |
branch:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
$ git co -b V5-x-patches
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
and update the git main trunk with a new version number:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
$ local/Version-Munge.pl -v 5.(x+1).dev -M -P -C
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
The 1 week delay (and continued code freeze) is to to ensure that
|
|
Packit |
fcad23 |
developer effort is concentrated on immediate problems following
|
|
Packit |
fcad23 |
the release. Any major problems should hopefully come to light
|
|
Packit |
fcad23 |
during this period, so after a week it should be safe to create
|
|
Packit |
fcad23 |
the patches branch and officially end the code freeze on MAIN.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
22) Update the official patches tracker set:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
- any patches for this new release tarball should be given
|
|
Packit |
fcad23 |
priority 9
|
|
Packit |
fcad23 |
- all patches for the previous release on this line should
|
|
Packit |
fcad23 |
be marked at priority 5
|
|
Packit |
fcad23 |
- all patches for earlier releases on this line should
|
|
Packit |
fcad23 |
be marked at priority 1, and closed
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
If a line has been designated closed, then all official
|
|
Packit |
fcad23 |
patches for that line should be marked as closed as well.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
23) Hide the pre-release repository from the File Releases
|
|
Packit |
fcad23 |
admin pages.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
24) Clean up the 'dist' dir of the relevant V5-x-patches branch.
|
|
Packit |
fcad23 |
Only leave the following files:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
changelogfix cvsshow cvsup extractnews makerelease
|
|
Packit |
fcad23 |
net-snmp.spec snmpd-init.d snmptrapd-init.d
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Note that any files removed should also be deleted from
|
|
Packit |
fcad23 |
git repository.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
***************************************************************************
|
|
Packit |
fcad23 |
CREATING BINARY DISTRIBUTIONS
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
0) Always REMOVE ALL PREVIOUS INSTALLS FIRST, then do a make install
|
|
Packit |
fcad23 |
from the tar-ball extracted sources and *THEN* rebuild all
|
|
Packit |
fcad23 |
binaries again. This ensures that everything (especially perl
|
|
Packit |
fcad23 |
modules) are properly linked against the right libraries.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
1) always build releases from a tarball, not from git.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
2) Add mib modules that are common. Basically, add:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
host -- where supported.
|
|
Packit |
fcad23 |
disman/event-mib
|
|
Packit |
fcad23 |
smux
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
3) use --with-defaults --with-syscontact="Unknown"
|
|
Packit |
fcad23 |
--with-syslocation="Unknown"
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
4) when running make install, do it like:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
$ make install prefix=/some/path/to/home/ARCH/usr/local \
|
|
Packit |
fcad23 |
exec_prefix=/some/path/to/home/ARCH/usr/local
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
5) Tar it up:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
$ cd /some/path/to/home/ARCH
|
|
Packit |
fcad23 |
$ tar czf net-snmp-5.0.3-ARCH.tar.gz usr/local
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
6) upload and release, like you did for the source code but with a
|
|
Packit |
fcad23 |
different package name for binaries (5.0.3 binaries).
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
7) RPMs [do this in main line even if its for a patch branch]:
|
|
Packit |
fcad23 |
$ cd dist
|
|
Packit |
fcad23 |
$ cp ../net-snmp-5.0.8.tar.gz rpm/SOURCES
|
|
Packit |
fcad23 |
$ make RELEASE=1
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
This should put multiple binary rpm files in:
|
|
Packit |
fcad23 |
dist/rpm/RPMS/i386/
|
|
Packit |
fcad23 |
And one source RPM in:
|
|
Packit |
fcad23 |
dist/rpm/SRPMS/
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
*** These files need to be renamed to include the OS version.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
EG: ...i386.rpm needs to become ...fc5.i386.rpm
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
8) Remove (or hide) binaries from older releases of the same line,
|
|
Packit |
fcad23 |
where you have submitted a newer binary for the same architecture.
|
|
Packit |
fcad23 |
Once the last binary for a particular release version has been
|
|
Packit |
fcad23 |
removed, hide that repository.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
***************************************************************************
|
|
Packit |
fcad23 |
***************************************************************************
|
|
Packit |
fcad23 |
MANUAL - STEP 1
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Changing the libtool version information in Makefile.top.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
- If any interfaces/structures have been removed or changed since the
|
|
Packit |
fcad23 |
last update, increment current (+5), and set age and revision to 0.
|
|
Packit |
fcad23 |
Stop!
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
- If any interfaces have been added since the last public release,
|
|
Packit |
fcad23 |
then increment current and age, and set revision to 0.
|
|
Packit |
fcad23 |
Stop!
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
- If the source code has changed at all since the last update,
|
|
Packit |
fcad23 |
then increment revision (c:r:a becomes c:r+1:a).
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Note: maintenance releases (eg 5.2.x) should never have changes
|
|
Packit |
fcad23 |
that would require current to be incremented.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
The check-api-changes script in the dist directory will construct a
|
|
Packit |
fcad23 |
diff of all headers, which can be useful for determining if anything
|
|
Packit |
fcad23 |
needs bumping.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Update these variables now, so that when you run
|
|
Packit |
fcad23 |
make in a second to test things you can spot libtool yelling
|
|
Packit |
fcad23 |
about improper numbering before you make the release and not
|
|
Packit |
fcad23 |
after you've uploaded the tar ball :-/
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
***************************************************************************
|
|
Packit |
fcad23 |
MANUAL - STEP 2
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Changing the libtool version information in Makefile.top.
|
|
Packit |
fcad23 |
Updating the ChangeLog file
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
- The ChangeLog entries are extracted (normally automatically)
|
|
Packit |
fcad23 |
using the command:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
$ svn2cl -f ChangeLog.add --break-before-msg --stop-on-copy
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
If you don't have svn2cl installed, you can try and find a
|
|
Packit |
fcad23 |
suitable binary package for your architecture, or you can
|
|
Packit |
fcad23 |
get it directly from
|
|
Packit |
fcad23 |
http://ch.tudelft.nl/~arthur/svn2cl
|
|
Packit |
fcad23 |
You may need to rename the script from 'svn2cl.sh' to 'svn2cl'
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
- In either case, they are fixed up (automatically) using:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
$ perl dist/changelogfix < ChangeLog.add > ChangeLog.reallyadd
|
|
Packit |
fcad23 |
or
|
|
Packit |
fcad23 |
$ perl dist/changelogfix V5-{N}-patches < ChangeLog.add > ChangeLog.reallyadd
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
- The manual processing step is to insert the appropriate portion
|
|
Packit |
fcad23 |
of the file 'ChangeLog.reallyadd' into 'ChangeLog'. You can
|
|
Packit |
fcad23 |
usually find the point where the previous release started in
|
|
Packit |
fcad23 |
the file by searching for "version tag".
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
- Please keep the line of dashes at the top of the file, as this
|
|
Packit |
fcad23 |
makes it easier to copy during the next release.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
- If using emacs, switch from changelog-mode to text-mode.
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
- Check in the new ChangeLog:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
$ svn commit -m "update for release X" ChangeLog
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
This is done automatically by "makerelease"
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
***************************************************************************
|
|
Packit |
fcad23 |
MANUAL - STEP 3
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Updating README, NEWS, and CHANGES files
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
[ This information has been moved to:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
http://www.net-snmp.org/wiki/index.php/Commit_message_auto-extraction_formats
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
]
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
However, leaving some examples here for quick referral:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
git commit messages that generate auto-NEWS and auto-CHANGES
|
|
Packit |
fcad23 |
extractions should be formatted like the following examples:
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
NEWS: snmpd: I did something really cool to the agent
|
|
Packit |
fcad23 |
CHANGES: snmptrapd: fixed something minor in snmptrapd
|
|
Packit |
fcad23 |
NEWS: perl: PATCH: 123,456: Applied patches 123 and 456 to support perl6
|
|
Packit |
fcad23 |
CHANGES: BUG: 13: Fixed bug 13 & secured the world at large against hackers
|
|
Packit |
fcad23 |
NEWS: perl: PATCH: 123: from Robert: did something
|
|
Packit |
fcad23 |
NEWS: perl: PATCH: 123: from "Robert Story": did something else
|