Difference between revisions of "JSS Development"

From Dogtag
Jump to: navigation, search
m (Getting Source Code)
m
 
(29 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Overview =
+
= Design =
  
This page describes JSS development process.
+
See [[JSS Design]].
  
Note that the text in <font color="red">red</font> may need to be adjusted according to the local environment.
+
= Variables =
  
See [https://bugzilla.mozilla.org/buglist.cgi?list_id=14093241&resolution=---&classification=Components&query_format=advanced&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=JSS JSS tickets] on Mozilla Bugzilla.
+
arch.mk:
  
= Prerequisites =
+
<pre>
 +
OBJDIR_NAME = $(OS_TARGET)$(OS_RELEASE)$(CPU_TAG)$(COMPILER_TAG)$(LIBC_TAG)$(IMPL_STRATEGY)$(OBJDIR_TAG).OBJ
  
<pre>
+
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
$ dnf install fedpkg
+
ifndef BUILD_OPT
 +
#
 +
# Define USE_DEBUG_RTL if you want to use the debug runtime library
 +
# (RTL) in the debug build
 +
#
 +
ifdef USE_DEBUG_RTL
 +
    OBJDIR_NAME = $(OS_TARGET)$(OS_RELEASE)$(CPU_TAG)$(COMPILER_TAG)$(IMPL_STRATEGY)$(OBJDIR_TAG).OBJD
 +
endif
 +
endif
 +
endif
 
</pre>
 
</pre>
  
= Getting Source Code =
+
= Upstream Development =
  
To clone JSS source repository for development (requires SSH authentication):
+
Upstream JSS repository is located at https://github.com/dogtagpki/jss.
  
$ git clone git@github.com:dogtagpki/jss.git
+
To clone the repository:
 
To clone read-only JSS source repository:
 
 
$  git clone https://github.com/dogtagpki/jss.git
 
  
If the source repository is already available, it can be updated with the following command:
+
<pre>
 +
$ git clone git@github.com:dogtagpki/jss.git
 +
$ cd jss
 +
</pre>
  
$ git pull
+
By default it will checkout the master branch.
  
The above command will create a new <font color="red">jss</font> folder.
+
To list available branches:
 
 
= Applying a Patch =
 
  
 
<pre>
 
<pre>
$ git am <patch>
+
$ git branch -r
$ git push
 
 
</pre>
 
</pre>
  
= Building Upstream Binaries =
+
To switch to a different branch:
 
 
To build upstream JSS binaries (without RPM package), first [[NSS_Development#Building_NSS|build NSS]] in sandbox folder, then go to the <font color="red">jss</font> folder and execute the following:
 
  
 
<pre>
 
<pre>
$ export JAVA_HOME=/etc/alternatives/java_sdk_1.8.0_openjdk
+
$ git checkout <branch>
$ export USE_64=1
 
$ make clean all
 
 
</pre>
 
</pre>
  
See [https://hg.mozilla.org/projects/jss/file/tip/README README].
+
See also:
 +
 
 +
* [[JSS 4.5 Development]]
 +
* [[JSS 4.4 Development]]
  
= Building Platform-specific Packages =
+
= Downstream Development =
  
See [[JSS Fedora Package]].
+
* [[JSS Fedora Packaging]]
 +
* [[JSS Debian Development]]
  
 
= References =
 
= References =
  
* [[JSS]]
+
* [https://github.com/dogtagpki/jss/wiki JSS]
* [https://hg.mozilla.org/projects/jss JSS Source Repository]
+
* [https://pagure.io/jss/issues JSS Tickets on Pagure]
* [[Mercurial]]
+
* [https://bugzilla.mozilla.org/buglist.cgi?product=JSS JSS Tickets on Mozilla]
* [https://bugzilla.mozilla.org/buglist.cgi?product=JSS&component=Library&resolution=---&list_id=13489053 JSS Tickets]
+
* [https://hg.mozilla.org/projects/jss JSS Source Repository on Mozilla]
 
* [https://www.redhat.com/archives/mod_nss-list/2015-August/msg00013.html NSSBadCertHandler for mod_nss]
 
* [https://www.redhat.com/archives/mod_nss-list/2015-August/msg00013.html NSSBadCertHandler for mod_nss]
 
* [https://pagure.io/mod_nss/blob/master/f/mod_nss.c mod_nss.c]
 
* [https://pagure.io/mod_nss/blob/master/f/mod_nss.c mod_nss.c]
 
* [https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/SSL_functions/sslfnc.html#SSL_GetSessionID SSL_GetSessionID]
 
* [https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/SSL_functions/sslfnc.html#SSL_GetSessionID SSL_GetSessionID]
* [[NSS API]]
 
 
* [[NSS Development]]
 
* [[NSS Development]]
* [[TomcatJSS Development]]
+
* [[Tomcat JSS Development]]
* [[COPR]]
 

Latest revision as of 03:25, 8 July 2021

Design

See JSS Design.

Variables

arch.mk:

OBJDIR_NAME = $(OS_TARGET)$(OS_RELEASE)$(CPU_TAG)$(COMPILER_TAG)$(LIBC_TAG)$(IMPL_STRATEGY)$(OBJDIR_TAG).OBJ

ifeq (,$(filter-out WIN%,$(OS_TARGET)))
ifndef BUILD_OPT
#
# Define USE_DEBUG_RTL if you want to use the debug runtime library
# (RTL) in the debug build
#
ifdef USE_DEBUG_RTL
    OBJDIR_NAME = $(OS_TARGET)$(OS_RELEASE)$(CPU_TAG)$(COMPILER_TAG)$(IMPL_STRATEGY)$(OBJDIR_TAG).OBJD
endif
endif
endif

Upstream Development

Upstream JSS repository is located at https://github.com/dogtagpki/jss.

To clone the repository:

$ git clone git@github.com:dogtagpki/jss.git
$ cd jss

By default it will checkout the master branch.

To list available branches:

$ git branch -r

To switch to a different branch:

$ git checkout <branch>

See also:

Downstream Development

References