lib/MANIFEST
file, that defines the release as core
plus default extensions. Core files are listed at lib/Foswiki/Contrib/core/MANIFEST
. !include
statements are used to make it possible to have a release composed by the lists in many MANIFEST
files.
The instructions are for building a standard release using the tools/build.pl
build script, on Linux. It should be possible to generate a release on Windows, but it's untested.
tgz
and zip
files named using the version number in Foswiki.pm, and appending the last git commit abbreviated hash to get files named like Foswiki-2.2.0_Alpha-auto2ba0daa.tgz
.
Note: The script will abort if there are unit test failures. (sending an email to the developer events mailing list)
The builds and test results will be uploaded to master build area and git clone https://github.com/foswiki/distro
git pull --rebase
git status -uno
should show no modified files
git clean -f -d
(removes untracked files and directories. Add -x option to remove "ignored" files)
perl -wT pseudo-install.pl developer
to install the plugins specified in MANIFEST and the developer tools
/bin/view
script from the browser and follow the bootstrap process to make your system functional export FOSWIKI_HOME=`pwd` # the core directory export FOSWIKI_LIBS=$FOSWIKI_HOME/lib:$FOSWIKI_HOME/lib/CPAN/lib:your_own_perl_lib_directories_here cd $FOSWIKI_HOME/test/unit perl ../bin/TestRunner.pl -clean FoswikiSuite.pm
TestCaseAmISane
sanity check manual testcase
perl -wT pseudo-install.pl TestFixturePlugin
configure
$Foswiki::cfg{INCLUDE}{AllowURLs} = 1;
in the Security settings | Miscellaneouss
area of configure
in order to run Develop:TestCases.TestCaseAutoIncludeAttachment
perl -Ibin tools/MemoryCycleTests.pl
cd lib/Foswiki/Contrib/core; sh tools/check_manifests.sh
Processing manifest /var/www/foswiki/distro/core/lib/Foswiki/Contrib/core/MANIFEST The following 5 files files were found in git, but are not in MANIFEST: lib/Foswiki/Configure/Checkers/Plugins/README pseudo-install.pl pub/System/PreferenceSettings/prefs-stack.odp pub/System/ProjectLogos/foswiki-logo.svg pub/System/TopicsAndWebs/diagram.odp ... (continues for every extension)
git:
(from root of repo) git ls-files | grep \.txt$ | xargs grep '%META:TOPICINFO{' | grep -v TestCases | grep -v 'author="ProjectContributor".*version="1"'
data/System/ReleaseNotes02x01
. The build script creates a file in the root of the zip called ReleaseNotes??x??.html
, and the build script needs your installation to be running to look up the release note topic and show it with the simple text skin.
data/System/ReleaseNotes.txt
, i.e. make sure that the numbers of fixes match and the release date matches the day of the final release
git --no-pager log --pretty=format:"%h %an %s" HEAD...refs/tags/[last-release-tag] SomeExtension
perl -nlE 'say if /\P{Ascii}/' < FileToCheck
)
perl -wT pseudo-install.pl default
to install the plugins specified in MANIFEST
perl -wT pseudo-install.pl -A
to build a default LocalSite.cfg
(Use -force
to overwrite an existing config)
export FOSWIKI_LIBS=/var/www/Release01x01/core/lib:/var/www/Release01x01/core/lib/CPAN/lib
export FOSWIKI_HOME=/var/www/Release01x01/core
cd /var/www/Release01x01/core/lib
.html
files in the root, and make sure that there are no occurrences of foswikiNewLink
(INSTALL.html
, ReleaseHistory.html
, UpgradeGuide.html
and ReleaseNotes02x00.html
)
JQueryPlugin/pub/System/JQueryPlugin/plugins/foswiki/jquery.foswiki.js
does not contain any utf-8 characters - should be only ASCII.
chown -R www-data.www-data *
works on my debian system)
perl -wT pseudo-install.pl -link default
to install the plugins specified in MANIFEST
export FOSWIKI_LIBS=/var/www/Release01x01/core/lib:/var/www/Release01x01/core/lib/CPAN/lib
export FOSWIKI_HOME=/var/www/Release01x01/core
cd /var/www/Release01x01/core/lib
nextmajor
, nextminor
, or next
manor
, minor
, or patch
y
, and then specify the suffix, alpha
Beta
or RCn
Download/FoswikiReleaseXXxXXxXXBetaX
or Download/FoswikiReleaseXXxXXxXXRCX
Filename |
Manually excluded from Upgrade Package | Skipped by foswiki-upgrade-check |
---|---|---|
data/_default/WebHome.txt |
X | X |
data/_default/WebLeftBar.txt |
X | |
data/_default/WebPreferences.txt |
X | X |
data/Main/AdminGroup.txt |
X | X |
data/Main/AdminUser.txt |
X | |
data/Main/NobodyGroup.txt |
X | |
data/Main/PatternSkinUserViewTemplate.txt |
X | |
data/Main/ProjectContributor.txt |
X | |
data/Main/RegistrationAgent.txt |
X | |
data/Main/SitePreferences.txt |
X | X |
data/Main/UnknownUser.txt |
X | |
data/Main/UserHomepageHeader.txt |
X | |
data/Main/UserListByDateJoined.txt |
X | |
data/Main/UserListByLocation.txt |
X | |
data/Main/UserListHeader.txt |
X | |
data/Main/UserList.txt |
X | |
data/Main/WebAtom.txt |
X | |
data/Main/WebChanges.txt |
X | |
data/Main/WebCreateNewTopic.txt |
X | |
data/Main/WebHome.txt |
X | X |
data/Main/WebIndex.txt |
X | |
data/Main/WebLeftBarExample.txt |
X | |
data/Main/WebNotify.txt |
X | X |
data/Main/WebPreferences.txt |
X | X |
data/Main/WebRss.txt |
X | |
data/Main/WebSearchAdvanced.txt |
X | |
data/Main/WebSearch.txt |
X | |
data/Main/WebStatistics.txt |
X | X |
data/Main/WebTopicList.txt |
X | |
data/Main/WikiGuest.txt |
X | |
data/Sandbox/CommentPluginExampleComments.txt |
X | |
data/Sandbox/CommentPluginExamples.txt |
X | |
data/Sandbox/CommentPluginTemplateExample.txt |
X | |
data/Sandbox/CompareRevisionsAddOnDemoTopic.txt |
X | |
data/Sandbox/CompareRevisionsAddOnDemoTopic.txt ,v |
X | |
data/Sandbox/PluginTestEmptyPlugin.txt |
X | |
data/Sandbox/WebAtom.txt |
X | |
data/Sandbox/WebChanges.txt |
X | |
data/Sandbox/WebCreateNewTopic.txt |
X | |
data/Sandbox/WebHome.txt |
X | X |
data/Sandbox/WebIndex.txt |
X | |
data/Sandbox/WebLeftBarExample.txt |
X | |
data/Sandbox/WebNotify.txt |
X | X |
data/Sandbox/WebPreferences.txt |
X | X |
data/Sandbox/WebRss.txt |
X | |
data/Sandbox/WebSearchAdvanced.txt |
X | |
data/Sandbox/WebSearch.txt |
X | |
data/Sandbox/WebStatistics.txt |
X | X |
data/Sandbox/WebTopicList.txt |
X | |
data/System/InterWikis.txt |
X | |
data/System/NewUserTemplate.txt |
X | |
data/System/WebPreferences.txt |
X | X |
data/System/WebTopicEditTemplate.txt |
X | |
data/Trash/TrashAttachment.txt |
X | X |
data/Trash/WebPreferences.txt |
X | X |
data/TWiki/WebPreferences.txt |
X | X |
index.html |
X |
zip -r Foswiki-upgrade-1.1.1.zip Foswiki-upgrade-1.1.1
tar -zcf Foswiki-upgrade-1.1.1.tgz Foswiki-upgrade-1.1.1
gpg -s -b -a -u email-address Foswiki-1.2.0_Beta_1.tgz
git tag -a FoswikiRelease01x02x00 -m "Item000: Foswiki Release 1.2.0"
git push --tags
git tag -d FoswikiRelease01x02x00
(Delete tag locally)git push origin :FoswikiRelease01x02x00
(Remove tag from Github)
sftp <user>@frs.sourceforge.net Password: Connected to frs.sourceforge.net. sftp> cd /home/frs/project/foswiki/foswiki/2.1.4
git checkout -b FoswikiRelease01x02x01
git push origin FoswikiRelease01x02x01
git branch --set-upstream-to=origin/Release02x01 Release02x01
perl build.pl upload
from the lib/Foswiki/Plugins|Contrib/NameOfExtention
directory.
/topic
I | Attachment | Action | Size | Date | Who | Comment |
---|---|---|---|---|---|---|
txt | buildlog.txt | manage | 235 K | 12 Feb 2015 - 16:39 | GeorgeClark | Sample successful build log |
sh | clean-upgrade.sh | manage | 1 K | 03 Dec 2011 - 03:56 | GeorgeClark | Shell script removes files not distributed in upgrade package |