ID: |
7323
|
Fixed in: |
|
Issue Date: |
2018-09-17 15:52 AEST
|
Owner: | CVS Support
|
Last Modified: | 2021-08-13 19:49 AEST | Reporter: | Arthur Barrett
|
Current Est. | 0.0 hours
| % Complete: | 0.0
|
Status: | NEW /
|
Severity: | enhancement
|
Affected: | unspecified
|
Description: | enh: customer request for CLIENT port: "Ubuntu 14.04 LTS" on amd64 (x86_64)
|
Actions:
|
2018-09-17 15:52 AEST by Arthur Barrett - customer request for CVSNT CLIENT port: "Ubuntu 14.04 LTS" on amd64 (x86_64)
Needs to include SSPI
I would encourage customer to replace SSPI with GSERVER, so GSERVER would need to be included and
tested.
This is a CLIENT not server, so we would skip ORACLE, POSTGRES etc. etc.
It would still be a 'server' build (client only builds have not been supported in code in years), but we just
wouldn't need to test/validate/publish any of the typical server components.
It may be helpful to look at dependent packages etc. from the SuSE 10 s390x port in bug 6931 and bug 5316
for the debian build dependencies.
Also worth looking at DPKG stuff from bug 5840 |
|
2018-09-18 14:56 AEST by Arthur Barrett -
change configure to disable use of openssl because of these compile errors
./configure --disable-sync --disable-sserver
/bin/bash ../libtool --tag=CXX --mode=compile x86_64-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -I../src -
I../src -I../lib -I../cvsapi -I../cvstools -I../libltdl -I/rdbms/public -I/rdbms/demo -I/usr/include/postgresql -g -
O2 -MT sserver.lo -MD -MP -MF .deps/sserver.Tpo -c -o sserver.lo sserver.cpp
x86_64-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -I../src -I../src -I../lib -I../cvsapi -I../cvstools -I../libltdl -
I/rdbms/public -I/rdbms/demo -I/usr/include/postgresql -g -O2 -MT sserver.lo -MD -MP -MF
.deps/sserver.Tpo -c sserver.cpp -fPIC -DPIC -o .libs/sserver.o
sserver.cpp: In function 'int sserver_connect(const protocol_interface*, int, bool, bool)':
sserver.cpp:288:38: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
if(tcp_printf("%s\n",begin_request)<0)
^
sserver.cpp:396:56: error: invalid conversion from 'const SSL_CIPHER* {aka const ssl_cipher_st*}' to
'SSL_CIPHER* {aka ssl_cipher_st*}' [-fpermissive]
SSL_CIPHER *client_cipher = SSL_get_current_cipher(ssl);
^
sserver.cpp:417:42: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
if(sserver_printf("%s\n",begin_request)<0)
^
sserver.cpp:422:72: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
if(send_client_version && sserver_printf(SSERVER_CLIENT_VERSION_STRING)<0)
^
sserver.cpp:424:81: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
if(sserver_printf("%s\n%s\n",current_server()->current_root->directory,username)<0)
^
sserver.cpp:426:41: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
if(sserver_printf("%s\n",crypt_password)<0)
^
sserver.cpp:428:38: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
if(sserver_printf("%s\n",end_request)<0)
^
sserver.cpp: In function 'int sserver_auth_protocol_connect(const protocol_interface*, const char*, const
char*)':
sserver.cpp:680:56: error: invalid conversion from 'const SSL_CIPHER* {aka const ssl_cipher_st*}' to
'SSL_CIPHER* {aka ssl_cipher_st*}' [-fpermissive]
SSL_CIPHER *server_cipher = SSL_get_current_cipher(ssl);
^
sserver.cpp:511:83: warning: ignoring return value of 'ssize_t write(int, const void*, size_t)', declared with
attribute warn_unused_result [-Wunused-result]
write(current_server()->out_fd,SSERVER_INIT_STRING,sizeof(SSERVER_INIT_STRING)-1);
^
make[3]: *** [sserver.lo] Error 1
make[3]: Leaving directory `/home/abarrett/cvs-suite-2.8.01/tmp/cvsnt/protocols'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/abarrett/cvs-suite-2.8.01/tmp/cvsnt/protocols'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/abarrett/cvs-suite-2.8.01/tmp/cvsnt'
make: *** [all] Error 2
|
|
2018-09-18 15:49 AEST by Arthur Barrett - Created an attachment (id=3291)
patch - simple bug fixes in cvsnt/src
things that just don't compile on Debian - non-const/const mismatch mostly
Checking in commit.cpp;
/usr/local/cvs/cvsnt/src/commit.c,v <-- commit.cpp
new revision: 1.39.2.138.6.71.2.16; previous revision: 1.39.2.138.6.71.2.15
done
Checking in main.cpp;
/usr/local/cvs/cvsnt/src/main.c,v <-- main.cpp
new revision: 1.71.2.151.6.54.2.48; previous revision: 1.71.2.151.6.54.2.47
done
|
|
2018-09-19 21:35 AEST by Arthur Barrett - todo list
to complete for Ubuntu 14.04 LTS:
- need to upgrade compat from v4 to at least v5:
http://man.he.net/man7/debhelper
- sserver/sync needs to compile with openssl 1.0
- needs to find customer AD level and windows server version to test SSPI and GSERVER
- create directory ubuntu/dists/trusty/contrib/binary-i386 files: Release, Packages, Packages.gz
to compelte for Ubuntu 18.04 LTS
- need to determine how to support more than one target
- openssl compatibility version?
|
|
2018-09-19 22:52 AEST by Arthur Barrett - The stuff about PGP keys is here:
http://www.cam.ac.uk.pgp.net/pgpnet/
You can lookup our key here:
http://www.cam.ac.uk.pgp.net/pgpnet/wwwkeys.html
The 'eu' server seems to be down, but the UK one works OK.
An alternative is:
https://keyserver.pgp.com/vkd/GetWelcomeScreen.event
|
|
2018-11-07 13:07 AEST by Arthur Barrett - customer can't install signature because proxy is not set up for gpg.
presumably that would stop the proxy being set up for apt-get, so maybe the customer should download the
key manually.
however we'll put the .deb package in the customer downloads regardless.
|
|
2018-11-13 14:28 AEST by Arthur Barrett - Created an attachment (id=3302)
patch to RCS to improve compile (remove literal strings in RCS.CPP)
Having a quick look for the reason that testcvs fails...
the message comes from rcs.cpp, so check if there are any compiler warnigns:
no, none.
g++ -DHAVE_CONFIG_H -I. -I.. -I../../march-hare/certs -I../doc -I../lib
-I../cvsapi -I../cvstools -I../diff -I../cvsapi -I../pcre -I../libltdl -I.
-I/rdbms/public -I/rdbms/demo -I/usr/include/postgresql -g -O2 -MT rcs.o -MD
-MP -MF .deps/rcs.Tpo -c -o rcs.o rcs.cpp
rcs.cpp: In function ‘bool RCS_check_tag(const char*, bool, bool, bool)’:
rcs.cpp:3762:21: warning: deprecated conversion from string constant to ‘char*’
[-Wwrite-strings]
char *invalid = "$,.:;@"; /* invalid RCS tag characters */
^
rcs.cpp: In function ‘bool RCS_check_bugid(const char*, bool)’:
rcs.cpp:3825:21: warning: deprecated conversion from string constant to ‘char*’
[-Wwrite-strings]
char *invalid = "\"' "; /* invalid bugid characters -- tab (HT and VT)
and CR/LF are all non-printing */
^
rcs.cpp: In function ‘int RCS_checkin(RCSNode*, const char*, const char*, const
char*, const char*, int, const char*, const char*, RCSCHECKINPROC, char**,
const char*, variable_list_t*)’:
rcs.cpp:6026:12: warning: deprecated conversion from string constant to ‘char*’
[-Wwrite-strings]
diffopts = "-a -n --binary-input --binary-output";
^
rcs.cpp:6036:12: warning: deprecated conversion from string constant to ‘char*’
[-Wwrite-strings]
diffopts = "-a -n --binary-output";
^
rcs.cpp:6276:13: warning: deprecated conversion from string constant to ‘char*’
[-Wwrite-strings]
diffopts = "-a -u --binary-input --binary-output";
^
rcs.cpp:6286:13: warning: deprecated conversion from string constant to ‘char*’
[-Wwrite-strings]
diffopts = "-a -u --binary-output";
^
rcs.cpp: In function ‘char* month_printname(char*)’:
rcs.cpp:7972:9: warning: deprecated conversion from string constant to ‘char*’
[-Wwrite-strings]
return "???";
^
rcs.cpp: In function ‘RCSVers* getdelta(rcsbuffer*, char*, char**, char**)’:
rcs.cpp:8747:19: warning: deprecated conversion from string constant to ‘char*’
[-Wwrite-strings]
vnode->state ="dead";
^
killall -v -9 cvslockd
make
sudo make install
cd testcvs
cvslockd
./testcvs.py -o
|
|
2018-11-13 14:30 AEST by Arthur Barrett -
Commit these changes:
Checking in src/rcs.cpp;
/usr/local/cvs/cvsnt/src/rcs.c,v <-- rcs.cpp
new revision: 1.80.2.214.4.54.2.22; previous revision: 1.80.2.214.4.54.2.21
done
Checking in testcvs/testcvs.py;
/usr/local/cvs/cvsnt/testcvs/testcvs.py,v <-- testcvs.py
new revision: 1.20.2.12.6.11.4.9; previous revision: 1.20.2.12.6.11.4.8
done
RCS file: /usr/local/cvs/cvsnt/testcvs/test_data/branch_test.txt.A,v
done
Checking in testcvs/test_data/branch_test.txt.A;
/usr/local/cvs/cvsnt/testcvs/test_data/branch_test.txt.A,v <-- branch_test.txt.A
new revision: 1.1.2.1; previous revision: 1.1
done
RCS file: /usr/local/cvs/cvsnt/testcvs/test_data/branch_test.txt.B,v
done
Checking in testcvs/test_data/branch_test.txt.B;
/usr/local/cvs/cvsnt/testcvs/test_data/branch_test.txt.B,v <-- branch_test.txt.B
new revision: 1.1.2.1; previous revision: 1.1
done
RCS file: /usr/local/cvs/cvsnt/testcvs/test_data/diff_test.log.2.txt,v
done
Checking in testcvs/test_data/diff_test.log.2.txt;
/usr/local/cvs/cvsnt/testcvs/test_data/diff_test.log.2.txt,v <-- diff_test.log.2.txt
new revision: 1.1.2.1; previous revision: 1.1
done
RCS file: /usr/local/cvs/cvsnt/testcvs/test_data/diff_test.log.3.txt,v
done
Checking in testcvs/test_data/diff_test.log.3.txt;
/usr/local/cvs/cvsnt/testcvs/test_data/diff_test.log.3.txt,v <-- diff_test.log.3.txt
new revision: 1.1.2.1; previous revision: 1.1
done
RCS file: /usr/local/cvs/cvsnt/testcvs/test_data/diff_test.log.4.txt,v
done
Checking in testcvs/test_data/diff_test.log.4.txt;
/usr/local/cvs/cvsnt/testcvs/test_data/diff_test.log.4.txt,v <-- diff_test.log.4.txt
new revision: 1.1.2.1; previous revision: 1.1
done
|
|
2018-11-13 14:31 AEST by Arthur Barrett -
Note: maybe consider disabling these compiler warnings:
-Wwrite-strings
-Wunused-result
-Wwrite-strings " warning: deprecated conversion from string constant to ‘char*’"
-Wunused-result "warning: ignoring return value of ... declared with attribute warn_unused_result"
|
|
2018-11-13 14:31 AEST by Arthur Barrett - Note bug 7332 explains the regression test failure and the fix for it. |
|
2018-11-13 15:07 AEST by Arthur Barrett - A lot of these 'fixes' to the regression test script are due to timing errors, which is caused by running the
tests on a faster VM.
Checking in testcvs.py;
/usr/local/cvs/cvsnt/testcvs/testcvs.py,v <-- testcvs.py
new revision: 1.20.2.12.6.11.4.10; previous revision: 1.20.2.12.6.11.4.9
done
~/cvsdev/cvsnt/testcvs$ ./testcvs.py -o
Tests running on posix
Basic functionality, Init, Import, Checkout
Basic Add, Remove, Resurrect, Commit
Exclusive Add, Remove, Resurrect, Commit
Basic binary Add/Checkout
Binary remove and revert
Binary delta Add/Checkout
Add/Checkout large file
Commit 50 revisions of a small file
Commit 50 revisions of a large file
Checkout/Diff different versions of a text file
- first add diff_test.txt
- commit first add diff_test.txt
- commit first change (diff_test.txt.2) diff_test.txt
- first tag diff_test.txt
- log after tag diff_test.txt
- commit second change (diff_test.txt.3) diff_test.txt
- log after 2nd change diff_test.txt
- commit third change (diff_test.txt.4) diff_test.txt
- log after third cange diff_test.txt
- update sandbox to rev 1.3 of diff_test.txt
- update sandbox to rev 1.2 of diff_test.txt
- update sandbox to rev 1.1 of diff_test.txt
- update sandbox to rev 1.4 of diff_test.txt
- update sandbox to rev 1.1 of diff_test.txt
- update sandbox to rev 1.2 of diff_test.txt
- update sandbox to rev 1.3 of diff_test.txt
- update sandbox to rev 1.4 of diff_test.txt
- update sandbox to rev 1.1 (again) of diff_test.txt
- update sandbox to AUTO of diff_test.txt
Update -F (Diff) different versions of a text file
Checkout different versions of a binary file
Branching
- wait a couple of seconds...
- wait a couple of seconds...
Sticky tag test (symbolic)
Sticky tag test (symbolic+update)
Sticky tag test (revision)
Sticky tag test (revision+update)
Merging
- wait a couple of seconds...
- touch before commit (1)...
- wait a couple of seconds...
- touch before commit (2)...
*info
Add -ko and -k+x, update, edit, commit
- test mode after first commit/update
- test mode after second commit
- test mode adter second update
Antivirus commit
edit -A, commit
Antivirus edit -A, commit
edit -A, commit with keyword expansion
Antivirus edit -A, commit with keyword expansion
ver
75 branch versions
checkout files from branch and trunk
update -F should not alter Entries or sandbox
ressurect add_test.txt
update -F temp-file, to revision 1.5 (maastrict.txt)
update -F temp-file, to revision 1.2 (dead)
update -F temp-file, to revision 1.3 (add_test.cpp)
update -F temp-file, to revision 1.4 (dead) |
|
2018-11-13 15:23 AEST by Arthur Barrett - "cvs info" gives:
Available protocols:
local (internal)
server server 2.8.01 (Soolin) Build 6894
sspi sspi 2.8.01 (Soolin) Build 6894
gserver gserver 2.8.01 (Soolin) Build 6894 (MIT)
ext ext 2.8.01 (Soolin) Build 6894
pserver pserver 2.8.01 (Soolin) Build 6894
So it now passes regression, so need to try and get sserver to build, and bug 7328, build on 18.04.
Will send another package to customer to test on 14.04 |
|
2018-11-16 10:16 AEST by Arthur Barrett - Note: maybe consider disabling these compiler warnings:
-Wwrite-strings
-Wunused-result
-Wliteral-suffix
-Wwrite-strings " warning: deprecated conversion from string constant to ‘char*’"
-Wunused-result "warning: ignoring return value of ... declared with attribute warn_unused_result"
-Wliteral-suffix "warning: invalid suffix on literal; C++11 requires a space between literal and string macro"
|
|
2019-05-08 12:14 AEST by Arthur Barrett - Created an attachment (id=3340)
install manual
Step 1) configure software repository list (/etc/apt/sources.list) to include
http://www.unifacecm.de/webtools/bo/ubuntu:
sudo vi /etc/apt/sources.list
Here is an example edit:
# March Hare Software Repository for CVS Suite (CVSNT)
deb http://www.unifacecm.de/webtools/bo/ubuntu trusty contrib
Step 2) update the source list:
sudo apt-get update
Step 3) configure the keys for the March Hare Software packages:
gpg --keyserver wwwkeys.net.uk.pgp.net --recv-keys
ECEF7A0A
gpg --export -a ECEF7A0A | sudo apt-key add -
Step 4) install
sudo apt-get install cvs-suite
Step 5) test the install
cvs ver
Here is an example:
Concurrent Versions System (CVSNT) 2.8.01 (Soolin) Build 7023 (client/server)
|
|
2020-01-15 16:13 AEST by Arthur Barrett - Customer domain levels for the CVSNT server running on Windows Server 2008R2:
$dse = ([ADSI] "LDAP://RootDSE")
# Domain Controller Functional Level
$dse.domainControllerFunctionality=4
# Domain Functional Level
$dse.domainFunctionality=4
# Forest Functional Level
$dse.forestFunctionality=4
|
|
2020-04-30 12:43 AEST by Arthur Barrett - additional notes april 30 2020:
now trusty 10.0.1.245
We need a way to make parts of the install optional (or create multiple packages)
Otherwise someone who only needs the client ends up needing all the server stuff.
Someone who only needs ssh ends up needing openssl, kerberos etc.
Someone who only needs postgres needs mariadb...
there is no mariadb and no mysql but on rhel7 the mariadb compiles just fine with cvsnt (api compatible with
mysql, but not GPL).
So I wonder if the mariadb 5.5 package is available for mariadb?
sudo apt-get install mariadb-libs mariadb-devel
[sudo] password for abarrett:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package mariadb-libs
E: Unable to locate package mariadb-devel
maybe try the package search?
https://packages.ubuntu.com
maybe:
libmariadb-dev-compat
ibmariadb-dev
libmariadb3
sudo apt-get install libmariadb3 ibmariadb-dev libmariadb-dev-compat
ahhhhh…. but we don’t want to do this until we have worked out how to split this up into optional
packages/components.
Otherwise people just wanting the client, need to install all this other server stuff
|
|
2020-04-30 15:01 AEST by Arthur Barrett - intro to debian packages:
https://wiki.debian.org/Packaging/Intro
should be possible to have one debuild create multiple binary packages...
|
|
2021-08-13 19:25 AEST by CVS Support - Created an attachment (id=3533)
ssl / server patch
The SSL VERSION in the header for openssl on Ubuntu TrustyTahr is: 0x1000106fL
The package is:
openssl/trusty-updates,trusty-security 1.0.1f-1ubuntu2.27 amd64 [upgradable
from: 1.0.1f-1ubuntu2.26]
Checking in protocols/sserver.cpp;
/usr/local/cvs/cvsnt/protocols/sserver.c,v <-- sserver.cpp
new revision: 1.16.2.44.4.2.2.13; previous revision: 1.16.2.44.4.2.2.12
done |
|