tritondatacenter / illumos-extra Goto Github PK
View Code? Open in Web Editor NEWExtra non-ON software required for Illumos
License: Other
Extra non-ON software required for Illumos
License: Other
we have old libxslt for build from illumos-adjunct.tgz
better to use it updated version with builds from sources with security updates
pbzip2 outputs a nice warning while compressing
pbzip2: *WARNING: off_t variable size only 32 bits!
You will only able to compress files smaller than 2GB in size.
for a quick check: dd if=/dev/zero count=1 | pbzip2 -v > /dev/null
the normal bzip2
works on larger files without problems - it just takes ages ;)
Hi, trying out the dmake work... and building out of illumos-extra for now.
I'm sort of dubious about portions (sprintf) of the following path hunk in
src/make_src/Make/bin/make/common/main.cc :
#if defined(TEAMWARE_MAKE_CMN)
@@ -2100,9 +2139,28 @@ set_sgs_support()
maybe_append_str_to_env_var(newpath, LD_SUPPORT_MAKE_LIB);
#else
if (oldpath == NULL) {
- sprintf(newpath, "%s%s", newpath, LD_SUPPORT_MAKE_LIB);
+ sprintf("%s%s%s/%s:%s",
+ newpath, MAKE_PREFIX, LD_SUPPORT_MAKE_LIB_DIR,
+ LD_SUPPORT_MAKE_LIB, LD_SUPPORT_MAKE_LIB) + 1;
} else {
- sprintf(newpath, "%s:%s", newpath, LD_SUPPORT_MAKE_LIB);
+ sprintf(newpath, "%s:%s%s/%s:%s",
+ newpath, MAKE_PREFIX,
+ LD_SUPPORT_MAKE_LIB_DIR, LD_SUPPORT_MAKE_LIB,
+ LD_SUPPORT_MAKE_LIB) + 1;
+
+ }
+
+ if (oldpath64 == NULL) {
+ sprintf("%s%s%s/%s:%s",
+ newpath64, MAKE_PREFIX, LD_SUPPORT_MAKE_LIB_DIR_64,
+ LD_SUPPORT_MAKE_LIB, LD_SUPPORT_MAKE_LIB) + 1;
+
+ } else {
+ sprintf(newpath64, "%s:%s%s/%s:%s",
+ newpath64, MAKE_PREFIX,
+ LD_SUPPORT_MAKE_LIB_DIR_64, LD_SUPPORT_MAKE_LIB,
+ LD_SUPPORT_MAKE_LIB) + 1;
+
I believe there are a couple of sprintf that don't respect the first argument:
int sprintf(char *restrict s, const char *restrict format, /* args*/ ...);
The issue is that we're picking up the Config_heavy.pl from the platform. So this wasn't caught in the build where it should have been. (Thanks Keith W, for the thoughts on IRC last night regarding finding this nasty thing!)
I've proven this by adding a fixed Config_heavy.pl to my fake-subset, and gotten the build to go through, from what was previously a "broken" zone. (You only have to change the -fPIC to a -KPIC and it goes right through.)
Joyeurs(sp): You can reproduce by using a later platform on your build boxes. Anything past that commit will likely break, future builds.
How to fix this in a non-disgusting manner, "good question." But people should be aware there is a build corruption right now.
How this shows up: -fPIC is not a recognized flag by cw.
Among other things this should allow stat(1) to report file birth times.
http://git.savannah.gnu.org/cgit/coreutils.git/commit/?id=ea916c70a5fc47ee6036a05416bc7462fd8dc1cd
Low priority, but might be nice to have.
the latest ntp version is ntp-4.2.8p15, current version is ntp-4.2.8p8
follow is the diff for the upgrade, and is tested for compile
diff --git a/ntp/Makefile b/ntp/Makefile
index 0ac92cb..13d527f 100644
--- a/ntp/Makefile
+++ b/ntp/Makefile
@@ -22,7 +22,8 @@
-VER = ntp-4.2.8p8
+VER = ntp-4.2.8p15
include ../Makefile.defs
following is the diff for Patches
diff --git a/ntp/Patches/arc4random.patch b/ntp/Patches/arc4random.patch
index 9335340..9b47948 100644
--- a/ntp/Patches/arc4random.patch
+++ b/ntp/Patches/arc4random.patch
@@ -1,6 +1,5 @@
-diff -ur lib/isc/random.c lib/isc/random.c
---- lib/isc/random.c 2014-12-19 11:56:53.000000000 +0000
-+++ lib/isc/random.c 2015-04-08 21:02:23.301311839 +0000
+--- lib/isc/random.c_orig 2020-12-15 09:40:25.156129286 +0000
++++ lib/isc/random.c 2020-12-15 09:42:27.787821312 +0000
@@ -41,17 +41,6 @@
static void
initialize_rand(void)
@@ -57,9 +56,8 @@ diff -ur lib/isc/random.c lib/isc/random.c
}
isc_uint32_t
-diff -ur sntp/libevent/arc4random.c sntp/libevent/arc4random.c
---- sntp/libevent/arc4random.c 2014-12-19 11:56:53.000000000 +0000
-+++ sntp/libevent/arc4random.c 2015-04-08 20:59:41.424274901 +0000
+--- sntp/libevent/arc4random.c_orig 2020-12-15 09:45:13.648770558 +0000
++++ sntp/libevent/arc4random.c 2020-12-15 09:46:37.956921662 +0000
@@ -1,556 +0,0 @@
-/* Portable arc4random.c based on arc4random.c from OpenBSD.
return r % upper_bound;
-}
-#endif
-diff -ur sntp/libevent/evutil_rand.c sntp/libevent/evutil_rand.c
---- sntp/libevent/evutil_rand.c 2014-12-19 11:56:52.000000000 +0000
-+++ sntp/libevent/evutil_rand.c 2015-04-08 21:07:25.994990893 +0000
+--- sntp/libevent/evutil_rand.c_orig 2020-12-15 09:47:45.644374432 +0000
++++ sntp/libevent/evutil_rand.c 2020-12-15 09:53:16.489751822 +0000
@@ -40,104 +40,26 @@
#include "util-internal.h"
#include "evthread-internal.h"
@@ -727,7 +724,7 @@ diff -ur sntp/libevent/evutil_rand.c sntp/libevent/evutil_rand.c
return 0;
}
#endif
-@@ -145,62 +67,21 @@
+@@ -145,58 +67,17 @@
static void
evutil_free_secure_rng_globals_locks(void)
{
@@ -787,8 +784,3 @@ diff -ur sntp/libevent/evutil_rand.c sntp/libevent/evutil_rand.c
}
void
@@ -9,20 +9,20 @@
---- libntp/audio.c.orig Thu May 14 06:34:41 2009
-+++ libntp/audio.c Thu May 14 06:15:12 2009
-@@ -53,7 +53,7 @@
+--- libntp/audio.c_orig 2020-12-15 10:01:01.291870014 +0000
++++ libntp/audio.c 2020-12-15 10:01:31.639741992 +0000
+@@ -66,7 +66,7 @@
static struct audio_device device; /* audio device ident /
#endif / HAVE_SYS_AUDIOIO_H */
#ifdef PCM_STYLE_SOUND
-# define INIT_FILE "/etc/ntp.audio"
+# define INIT_FILE "/etc/inet/ntp.audio"
static ioctl_arg_T agc = SOUND_MIXER_WRITE_RECLEV; /* or IGAIN or LINE */
static ioctl_arg_T audiomonitor = SOUND_MIXER_WRITE_VOLUME; /* or OGAIN */
+--- ntpdate/ntpdate.c_orig 2020-12-15 10:02:37.046065626 +0000
++++ ntpdate/ntpdate.c 2020-12-15 10:03:04.849615327 +0000
+@@ -179,7 +179,7 @@
#ifndef KEYFILE
@@ -31,9 +31,9 @@
#define KEYFILE "%windir%\ntp.keys"
---- ntpd/refclock_oncore.c 2015-01-03 03:47:48.000000000 +0000
-+++ ntpd/refclock_oncore.c 2015-04-08 05:19:17.841550368 +0000
-@@ -1211,7 +1211,7 @@
+--- ntpd/refclock_oncore.c_orig 2020-12-15 10:03:48.326006011 +0000
++++ ntpd/refclock_oncore.c 2020-12-15 10:04:26.727103584 +0000
+@@ -1213,7 +1213,7 @@
FILE *fd;
char *cc, *ca, line[100], units[2], device[64];
diff --git a/ntp/Patches/monitor.patch b/ntp/Patches/monitor.patch
deleted file mode 100644
index b460db5..0000000
--- a/ntp/Patches/monitor.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- libntp/audio.c Tue Jul 1 18:15:20 2014
-+++ libntp/audio.c.orig Tue Jul 1 18:15:37 2014
-@@ -55,7 +55,7 @@
/* devmask */
i = mixer_name(cf_monitor, devmask);
if (i >= 0)
-- monitor = MIXER_WRITE(i);
-+ audiomonitor = MIXER_WRITE(i);
else
printf("monitor %s not in devmask %#x\n",
cf_monitor, devmask);
-@@ -409,7 +409,7 @@
l |= r << 8;
if (cf_monitor[0] != '\0')
-- rval = ioctl(ctl_fd, monitor, &l );
-+ rval = ioctl(ctl_fd, audiomonitor, &l );
else
rval = ioctl(ctl_fd, SOUND_MIXER_WRITE_VOLUME,
&l);
diff --git a/ntp/Patches/openssl.patch b/ntp/Patches/openssl.patch
index 5b2bda4..25383f8 100644
--- a/ntp/Patches/openssl.patch
+++ b/ntp/Patches/openssl.patch
@@ -1,7 +1,7 @@
---- sntp/m4/ntp_openssl.m4.orig Tue Jul 1 19:32:31 2014
-+++ sntp/m4/ntp_openssl.m4 Tue Jul 1 19:34:46 2014
-@@ -66,6 +66,17 @@
@@ -13,8 +13,8 @@
AC_PATH_PROG([PATH_TEST], [test])
AS_UNSET([ac_cv_path_PATH_TEST])
test -z "$CONFIG_SHELL" && CONFIG_SHELL=/bin/sh
-@@ -4302,7 +4300,30 @@
-perllibdir="${datadir}/ntp/lib"
The traditional Solaris /usr/lib/cpp
is a K&R pre-processor, the /usr/lib/cpp
shipped by SmartOS is effectively a K&R pre-processor, however it defines the ANSI-compatible platform symbols, that is __i386__
v. i386
, etc.
This will break software using this cpp for 64bit compilation, as cpp defines __i386__
has no idea to define __amd64__
instead and hands the assembler (for eg) the wrong code.
It's probably best that the SmartOS /usr/lib/cpp be truly compatible (that is, a bit crap).
@aszeszo noticed this building the illumos Xen bits on a system using the SmartOS cpp, but it's not particularly clear that would be the only accidental victim, we'll probably be fixing illumos, but I wanted to get this filed to note it.
we have dbus and dbus-glib old binaries at illumos-adjunct.tgz
more better to use it with builds from sources
In the latest SmartOS, the global zone's curl cannot retrieve content over HTTPS, as its SSL certificates are missing.
I tried to install the latest root certs into /etc/ssl/certs/ca-certificates.crt, but curl complains with error numbers 77 or 60, depending on which -outformat
I try when converting the original PEM file to CRT.
After following these instructions on the wiki, for building smartos-live, gmake live
fails when copying a file in from the illumos-extra repo to the proto area. Below is the output:
[...SNIP...]
gmake[2]: Entering directory `/home/nickziv/smartos-live/projects/illumos-extra/xz/xz-5.2.1-32/tests'
gmake[2]: Nothing to be done for `all'.
gmake[2]: Leaving directory `/home/nickziv/smartos-live/projects/illumos-extra/xz/xz-5.2.1-32/tests'
gmake[2]: Entering directory `/home/nickziv/smartos-live/projects/illumos-extra/xz/xz-5.2.1-32'
gmake[2]: Leaving directory `/home/nickziv/smartos-live/projects/illumos-extra/xz/xz-5.2.1-32'
gmake[1]: Leaving directory `/home/nickziv/smartos-live/projects/illumos-extra/xz/xz-5.2.1-32'
mkdir -p /home/nickziv/smartos-live/proto/usr/bin
mkdir -p /home/nickziv/smartos-live/proto/usr/lib
mkdir -p /home/nickziv/smartos-live/proto/usr/share/man/man1
/usr/bin/elfedit -e 'dyn:value -s SONAME libjoy_lzma.so.5' \
/home/nickziv/smartos-live/projects/illumos-extra/xz/xz-5.2.1-32/src/liblzma/.libs/liblzma.so.5.2.1 \
/home/nickziv/smartos-live/proto/usr/lib/libjoy_lzma.so.5.2.1
cp: cannot create /home/nickziv/smartos-live/proto/usr/lib/libjoy_lzma.so.5.2.1: Permission denied
gmake[2]: *** [install] Error 1
gmake[2]: Leaving directory `/home/nickziv/smartos-live/projects/illumos-extra/xz'
gmake[1]: *** [xz] Error 2
gmake[1]: Leaving directory `/home/nickziv/smartos-live/projects/illumos-extra'
gmake: *** [1-extra-stamp] Error 2
Here are the permissions on the file:
] ls -lh /home/nickziv/smartos-live/proto/usr/lib/libjoy_lzma.so.5.2.1
-r-xr-xr-x 1 nickziv other 197K Mar 26 17:59 /home/nickziv/smartos-live/proto/usr/lib/libjoy_lzma.so.5.2.1
And the same for the parent directory:
drwxr-xr-x 73 nickziv other 915 Mar 26 19:39 lib
Hope this helps.
After commit 99f868f I am no longer able to build illumos-extra. This is due to g11n failing like this:
cd g11n; PKG_CONFIG_LIBDIR="" gmake DESTDIR=/root/smartos-live/proto install
gmake[2]: Entering directory `/root/smartos-live/projects/illumos-extra/g11n'
/root/smartos-live/projects/illumos-extra/g11n/src
/root/smartos-live/projects/illumos-extra/g11n/src/lib
make[4]: Entering directory `/root/smartos-live/projects/illumos-extra/g11n/src/lib'
/root/smartos-live/projects/illumos-extra/g11n/src/lib/iconv
make: Warning: Can't find `/Makefile.master': No such file or directory
Current working directory /root/smartos-live/projects/illumos-extra/g11n/src/lib/iconv
make: Fatal error in reader: Makefile, line 28: Read of include file `/Makefile.master' failed
Current working directory /root/smartos-live/projects/illumos-extra/g11n/src/lib/iconv
*** Error code 1
The following command caused the error:
cd iconv; pwd; /usr/ccs/bin/make -w all
make: Fatal error: Command failed for target `iconv'
Current working directory /root/smartos-live/projects/illumos-extra/g11n/src/lib
*** Error code 1
The following command caused the error:
cd lib; pwd; /usr/ccs/bin/make -w all
make: Fatal error: Command failed for target `lib'
Current working directory /root/smartos-live/projects/illumos-extra/g11n/src
gmake[2]: *** [all] Error 1
gmake[2]: Leaving directory `/root/smartos-live/projects/illumos-extra/g11n'
It seems to be failing because the environment variable $SRC
it not set to the path of the g11n source files. If I do a SRC=/root/smartos-live/projects/illumos-extra/g11n make
inside smartos-live/projects/illumos-extra/g11n/ the build works fine.
How is this best fixed? Could we set $SRC
inside illumos-extra/g11n/Makefile
, or are there better ways to do it?
Is this: https://github.com/joyent/illumos-extra/blob/master/openssh/README#L4
supposed to point at: https://github.com/openssh/openssh-portable
Trying to do a sftp "rename toto titi" fails with a permission denied when the owner of the file is not the connected user (even though the file is writeable by anyone, as well as its containing directory).
Tracing sshd with truss shows the offending system call:
link(".../toto", ".../titi") Err#1 EPERM [file_link_any]
This only happens when the client does not support the [email protected] otherwise a rename is done instead of a pair of link/unlink.
Test client: Sun_SSH_1.5, SSH protocols 1.5/2.0, OpenSSL 0x1000107f from omnios-6de5e81
Test Server: OpenSSH_7.1p2, OpenSSL 1.0.1p 9 Jul 2015 from http://pkgsrc.joyent.com/packages/SmartOS/2015Q4/x86_64/All
I have set a build environment using the instructions at: https://wiki.smartos.org/display/DOC/Building+SmartOS+on+SmartOS
The build of bind fails with:
/home/paul/smartos-live/proto/usr/bin/gcc -I/home/paul/smartos-live/projects/illumos-extra/bind/bind-9.10.1-P1-32 -I../.. -I. -I../../lib/dns -Iinclude -I/home/paul/smartos-live/projects/illumos-extra/bind/bind-9.10.1-P1-32/lib/dns/include -I../../lib/dns/include -I/home/paul/smartos-live/projects/illumos-extra/bind/bind-9.10.1-P1-32/lib/isc/include -I../../lib/isc -I../../lib/isc/include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/x86_32/include -I/usr/include -D_REENTRANT -DUSE_MD5 -DGSSAPI -DUSE_ISC_SPNEGO -D_XPG4_2 -D__EXTENSIONS__ -g -isystem /home/paul/smartos-live/proto//usr/include -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat -Wpointer-arith -fno-strict-aliasing -fno-delete-null-pointer-checks -c acache.c
In file included from include/dns/db.h:67,
from acache.c:36:
include/dns/rdataset.h:659: error: expected declaration specifiers or '...' before 'dns_rdata_rrsig_t'
In file included from acache.c:43:
include/dns/zone.h:2060: error: expected declaration specifiers or '...' before 'dns_rdata_nsec3param_t'
Makefile:339: recipe for target 'acache.o' failed
gmake[2]: *** [acache.o] Error 1
old libs has dependency to openssl-0.9.8
$ ldd libtspi.so.1.1.3
libcrypto.so.0.9.8 => /lib/libcrypto.so.0.9.8
libnsl.so.1 => /lib/libnsl.so.1
libsocket.so.1 => /lib/libsocket.so.1
libc.so.1 => /lib/libc.so.1
libdl.so.1 => /lib/libdl.so.1
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1
libmp.so.2 => /lib/libmp.so.2
libmd.so.1 => /lib/libmd.so.1
libm.so.2 => /lib/libm.so.2
more better - remove trousers from illumos-adjunct.tgz and use it from illumos-extra with builds and remove dependency to old openssl-0.9.8
illumos-extra has very only version libxml2-2.7.6 and should be update for security reasons
libxml2 2.9.2 available at oracle userland-gate with patches
The perl build in illumos-extra is currently breaking a build of illumos when used. The definitions from /usr/perl5/5.12/lib/i86pc-solaris-64int/Config.pm end up including a lot about the environment including linking in -I/opt/local/include and references to the build machine.
When trying to build modules in usr/src/cmd/perl, like the Intrs module, it fails because it is adding in a bunch of GCC specific cflags which cw can't grok as it expects arguments in a studio format.
error is:
dmake: Warning: Can't find `make.rules': No such file or directory
Please excuse the lack of a pull request, but I am having too much fun hacking at the moment. Anyway, restoring compatibility is simple:
diff --git a/usr/src/make_src/Make/lib/makestate/src/Variant.mk b/usr/src/make_src/Make/lib/makestate/src/Variant.mk
index a961615..d906559 100644
--- a/usr/src/make_src/Make/lib/makestate/src/Variant.mk
+++ b/usr/src/make_src/Make/lib/makestate/src/Variant.mk
@@ -71,9 +66,9 @@ install: all
${INSTALL} -d ${DESTDIR}/${PREFIX}/lib/$(VAR_DIR)
${RM} ${DESTDIR}/${PREFIX}/lib$(VAR_DIR)/$(DLIBNAME)
${INSTALL} $(DLIBNAME) ${DESTDIR}/${PREFIX}/lib$(VAR_DIR)
- if [[ -n "$(VAR_DIR)" && ! -h "${DESTDIR}/${PREFIX}/lib/64" ]]; then \
+ if [ -n "$(VAR_DIR)" -a ! -h "${DESTDIR}/${PREFIX}/lib/64" ]; then \
cd ${DESTDIR}/${PREFIX}/lib; \
- ln -s $$(basename $(VAR_DIR)) 64; \
+ ln -s `basename $(VAR_DIR)` 64; \
else \
/bin/true; \
fi
By the way, how did this regression get past your testing?
Looks like there was a mistake in the DisableBanner patch on the 8.6 openssh update. The symbol command
is a pointer now, not a static struct (since you can't do that with sshbuf
). Pretty straightforward fix, thankfully.
we have glib2 in illumos-adjunct.tgz
will be better use it from illumos-extra with builds
To continue the problems indicated in smartos-live, after getting over binutils by using the 'correct' smartos:1.6.3 image, using the sample config.smartos, ./configure indicates nothing spectacular.
Here (after a gmake clean) is gmake world |& tee so.log
gcc4 starts at about line 2864
hmm, can't seem to add a file, find it here:
http://dl.free.fr/ru2JSrWWp
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.