Skip to content

Releases: moebius-rex/primes

Primes v1.3.2

03 Jun 17:57
c5ef3d2
Compare
Choose a tag to compare

This release changes the format of console output from all implementations of the example app:

  • Change the word primeness to primality in all prompts for the integer range to test
  • Change Prime numbers in range to Prime numbers in the range in the results set to conform to the longform English used elsewhere in the output

Primes v1.3.1

03 Jun 02:37
9727b11
Compare
Choose a tag to compare

Minor top-level documentation tweaks.

Primes v1.3.0

02 Jun 16:09
2fce010
Compare
Choose a tag to compare

New release 1.3.0 adds C++ pImpl paradigm examples:

  • app4 implements the pImpl paradigm on top of the shared C library implementation
  • app5 implements a pure C++ pImpl

In addition, the installation document has been updated to provide notes on Maven, Fedora installation and generic Linux/Unix installations.

Primes v1.2.3

10 May 15:59
9958953
Compare
Choose a tag to compare

This release adds the ability to use Go's gccgo compiler if it's available and write all go commands executed to a local hidden .golog file. Also:

  • install gccgo instead of gccgo-go package in Ubunto docker image to fix gccgo-go/golang-go issue where gccgo compiler wasn't installed
  • add a script for Go apps that uses the gccgo compiler if it's available, or the go compiler if not
  • add prime bounce command to stop, rebuild and restart docker containers, either to reset the images or to install image changes
  • modify prime container shell to use default shell for distro if the specified shell is only available on the other project distros

Primes v1.2.2

08 May 03:27
dec8654
Compare
Choose a tag to compare

Primes v1.2.2 is a patch release that updates the introductory section of the project README.md.

Primes v1.2.1

07 May 21:29
aced749
Compare
Choose a tag to compare

Primes v1.2.1 is a patch release that includes the following minor changes:

  • Migrate from apt-get install to apt install in ubuntu.dockerfile
  • Support use of Linux distro's default shell when attaching to a Docker container
  • Support chaining of actions in go/sieve/sieve.go and use in go/app2/app.go
  • Remove go/app2/app.go negative range check since it's already done in go/sieve/sieve.go
  • Set then unset GOFLAGS = -compiler gccgo in go Makefiles as a reminder to try gccgo once the Ubuntu docker install works
  • Add a note to DOCKER.md explaining why Docker-in-Docker isn't supported

Primes v1.2.0

05 May 20:28
054a1c5
Compare
Choose a tag to compare

Release notes

Primes v1.2.0 introduces Go language implementations of the Sieve of Eratosthenes algorithm to the Primes project, including:

  • a utility package that implements the algorithm as a Go structure with associated member functions
  • an app that uses cgo to implement the algorithm by calling functions in the existing C shared library implementation, /usr/local/lib/libcsieve.so

Other tweaks in this release include:

  • all implementations that depend on the C shared library now reference it via soft links in /usr/local
  • setup.sh now checks that /usr/local is writable, and if not, displays a message to try again using sudo to complete the project installation

Tech note

As a required part of this release, Go language package installations were added to each of the Docker image configuration files provided with the project. However, this caused the Ubuntu Docker image build to hang. This turned out to be a known issue with the tzdata package installer's interactive dialog and can be addressed in several ways, including:

  • rolling back to an earlier version of Ubuntu, like 18.04 LTS (Bionic Beaver):
FROM ubuntu:bionic
  • disabling all interactive package installation dialogs only while building the image (by using the ARG, not ENV, build instruction):
RUN apt-get update  -y
RUN apt-get upgrade -y

# disable all interactive package installation dialogs while building the image
ARG DEBIAN_FRONTEND=noninteractive

# install utilities
RUN apt-get install -y file less tree vim
  • disabling interactive dialog for the tzdata package installation only:
RUN apt-get update  -y
RUN apt-get upgrade -y

# disable tzdata interactive package installation dialogs while building the image
RUN DEBIAN_FRONTEND=noninteractive && apt-get install -y tzdata

# install utilities
RUN apt-get install -y file less tree vim
  • installing tzdata before any other packages:
RUN apt-get update  -y
RUN apt-get upgrade -y

# disable all interactive installation dialogs
RUN apt-get install -y tzdata

# install utilities
RUN apt-get install -y file less tree vim

All of the above options solve the problem. We chose to disable all interactive dialogs, because:

  • they clearly make no sense, since Docker image building is not an interactive process
  • using ARG instead of ENV means that interactive dialogs are disabled only during image builds and not while running containers
  • we don't want one "badly behaved" installer tying us to a particular Ubuntu release
  • we're not creating an additional package dependency (tzdata) in our Docker file

Primes v1.1.0

28 Apr 21:54
88ea8d8
Compare
Choose a tag to compare

This release adds a bash script to the project's home directory that simplifies running implementations of the primes algorithm locally, and building, launching and running Docker containers to run implementations. The script's name is prime and running it with no arguments causes it to build and run all algorithm implementations locally. Enter prime help to get some idea of other potential uses of the script.

Primes v1.0.0

24 Apr 20:08
9fb2c11
Compare
Choose a tag to compare

Initial release of the Primes project. Refer to the main documentation for a description of the project and its components.