Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Makefile install_all should not install test binary #396

Open
3 tasks done
J08nY opened this issue Jun 1, 2018 · 6 comments
Open
3 tasks done

Makefile install_all should not install test binary #396

J08nY opened this issue Jun 1, 2018 · 6 comments
Milestone

Comments

@J08nY
Copy link
Collaborator

J08nY commented Jun 1, 2018

Prerequisites

Description

make -f makefile.shared install_all installs the test binary into $PATH, which then shadows coreutils test binary and causes problems. Generally installing a binary named test will cause some issues.

Steps to Reproduce

make -f makefile.shared install_all

Version

1.18.1

@sjaeckel
Copy link
Member

sjaeckel commented Jun 2, 2018

Isn't that kind of a 'feature' to have a good replacement in case your regular test is defect? ;) </irony>

@J08nY
Copy link
Collaborator Author

J08nY commented Jun 2, 2018

I have fish shell, which for some reason, runs test from $PATH, every time ls is run, so I was getting this:

LTC_VERSION  = 1.18.1
LibTomCrypt 1.18.1 (www.libtom.net)
LibTomCrypt is public domain software.


Endianness: little (64-bit words)
Clean stack: disabled

Ciphers built-in:
   Blowfish
   RC2
   RC5
   RC6
   Safer+
   Safer
   Rijndael
   XTEA
   Twofish (tables)
   DES
   CAST5
   Noekeon
   Skipjack
   Khazad
   Anubis  (tweaked)
   KSEED
   KASUMI
   MULTI2
   Camellia
Stream ciphers built-in:
   ChaCha
   RC4
   SOBER128

Hashes built-in:
   SHA3
   SHA-512
   SHA-384
   SHA-512/256
   SHA-256
   SHA-512/224
   SHA-224
   TIGER
   SHA1
   MD5
   MD4
   MD2
   RIPEMD128
   RIPEMD160
   RIPEMD256
   RIPEMD320
   WHIRLPOOL
   BLAKE2S
   BLAKE2B
   CHC_HASH

Block Chaining Modes:
   CFB
   OFB
   ECB
   CBC
   CTR
   LRW (tables) 
   F8
   XTS

MACs:
   HMAC
   OMAC
   PMAC
   PELICAN
   XCBC
   F9
   POLY1305
   BLAKE2S MAC
   BLAKE2B MAC

ENC + AUTH modes:
   EAX
   OCB
   OCB3
   CCM
   GCM (tables) 
   CHACHA20POLY1305

PRNG:
   Yarrow (LTC_YARROW_AES=2)
   SPRNG
   RC4
   ChaCha20
   Fortuna (LTC_FORTUNA_POOLS=32, LTC_FORTUNA_WD=10)
   SOBER128

PK Crypto:
   RSA (with blinding and CRT hardening)
   DH
   ECC (with blinding)
   DSA
   LTC_PK_MAX_RETRIES=20

MPI (Math):
   LTC_MPI
   LTM_DESC
   GMP_DESC
   LTC_MILLER_RABIN_REPS=40

Compiler:
   GCC compiler 8.1.0.
   x86-64 detected.

Various others:  ARGTYPE=0  ADLER32  BASE64  BASE64-URL-SAFE  CRC32  DER  PKCS#1  PKCS#5  HKDF  LTC_DEVRANDOM  LTC_TRY_URANDOM_FIRST  LTC_RNG_GET_BYTES  LTC_RNG_MAKE_PRNG  LTC_HASH_HELPERS  LTC_TEST  LTC_FILE_READ_BUFSIZE=8192  LTC_FAST  LTC_ROx_ASM  LTC_ECC_SHAMIR 


MP_PROVIDER  = LibTomMath
MP_DIGIT_BIT = 60
sizeof(ltc_mp_digit) = 8

on every ls run, after installing libtomcrypt, that was quite weird and hard to debug 😄

@sjaeckel
Copy link
Member

sjaeckel commented Jun 2, 2018

Jokes aside, we have the following set of demos etc.

aesgcm 2*
constants 1*
hashsum 2*
ltcrypt 2*
openssl-enc 2*
sizes 1*
small 0*
test 0*
timing 0*
tv_gen 0*

I've marked my opinion on their "install-worthiness"

As we had a nameclash for crypt which led us to rename it to ltcrypt we have the same for hashsum which we didn't resolve yet...

I'd say we should remove the possibility to install all "0*-rated" demos and the 1*- and 2*-rated demos should be renamed to something obvious e.g. ltcsizes and ltconstants. Then also regroup them... or don't use groups at all, but provide install-targets per binary?

If we keep groups:

demos - Builds 2*
bins - Builds 1* and 2*
all - Builds library, 0*, 1* and 2*
install_demos - Build&Install 2*
install_bins - Build&Install 1* and 2*
install_all - install install_bins install_doc (as before)

Please add your opinions & preferences! (ping @karel-m @buggywhip)

@J08nY
Copy link
Collaborator Author

J08nY commented Jun 2, 2018

I agree with all of the above, also the renaming/prefixing with ltc is useful and should allow easy installing of those binaries into $PATH without name clashes. I also think grouping in Makefiles is useful and allows someone to easily play with the makefile so the demos should be regrouped.

Anyway, thanks for working on this issue! 👍

@karel-m
Copy link
Member

karel-m commented Jun 3, 2018

IMO the only tool in "release quality" is hashsum and it is the only candidate worth installing. I am in doubts whether anybody will ever use make install_demos.

The ltcrypt + openssl-enc completely ignore integrity and aesgcm IMO needs a bit more work (we have discussed it in some other PR).

The prefixing with ltc is also not a bad idea.

@sjaeckel sjaeckel added this to the v1.18.2 milestone Jul 1, 2018
@sjaeckel sjaeckel modified the milestones: v1.18.2, next Jul 2, 2018
@sjaeckel
Copy link
Member

sjaeckel commented Jul 2, 2018

I'm reopening this so we can re-work as proposed.

@sjaeckel sjaeckel reopened this Jul 2, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants