summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Heim <phreak@gentoo.org>2006-08-27 09:35:17 +0000
committerChristian Heim <phreak@gentoo.org>2006-08-27 09:35:17 +0000
commit166e3aee9238ace11e1d2be01785d5743d9c1324 (patch)
tree742404544ce4476e00dcf1202be2c5d1ee608cfb
parentMoving the flag-o-matic magic to src_compile (diff)
downloadoverlay-166e3aee9238ace11e1d2be01785d5743d9c1324.tar.gz
overlay-166e3aee9238ace11e1d2be01785d5743d9c1324.tar.bz2
overlay-166e3aee9238ace11e1d2be01785d5743d9c1324.zip
Adding vzctl-3.0.11 for testing!
svn path=/; revision=33
-rw-r--r--sys-cluster/vzctl/Manifest68
-rw-r--r--sys-cluster/vzctl/files/digest-vzctl-3.0.113
-rw-r--r--sys-cluster/vzctl/files/patches/005_all_library-rework.patch246
-rw-r--r--sys-cluster/vzctl/files/patches/010_all_dev-nul.patch23
-rw-r--r--sys-cluster/vzctl/files/patches/015_all_fix-cast-pointers.patch34
-rw-r--r--sys-cluster/vzctl/files/patches/020_all_memleak-realloc.patch121
-rw-r--r--sys-cluster/vzctl/files/patches/025_all_off-by-one.patch23
-rw-r--r--sys-cluster/vzctl/files/patches/035_all_remove-vename-on-destroy.patch35
-rw-r--r--sys-cluster/vzctl/files/patches/040_all_segfault-long-opts.patch25
-rw-r--r--sys-cluster/vzctl/files/patches/045_all_vzctl-enter-exit-msg.patch26
-rw-r--r--sys-cluster/vzctl/files/patches/050_all_vzctl-enter-forward-msg-from-child.patch38
-rw-r--r--sys-cluster/vzctl/files/patches/055_all_vzctl-sprintf-snprintf.patch107
-rw-r--r--sys-cluster/vzctl/files/patches/200_all_incorrect-spelling.patch76
-rw-r--r--sys-cluster/vzctl/files/patches/205_all_ve-light.conf-sample.patch27
-rw-r--r--sys-cluster/vzctl/files/patches/210_all_vzctl-3.0.11-vzctl.8.patch22
-rw-r--r--sys-cluster/vzctl/files/patches/215_all_vzmigrate-mawk.patch25
-rw-r--r--sys-cluster/vzctl/files/vz.initd263
-rw-r--r--sys-cluster/vzctl/vzctl-3.0.11.ebuild57
18 files changed, 1219 insertions, 0 deletions
diff --git a/sys-cluster/vzctl/Manifest b/sys-cluster/vzctl/Manifest
new file mode 100644
index 0000000..c7976ef
--- /dev/null
+++ b/sys-cluster/vzctl/Manifest
@@ -0,0 +1,68 @@
+AUX patches/005_all_library-rework.patch 8365 RMD160 4618dc3144a53a46844b921ebac61916f291d7be SHA1 d86ac27a5a6badfbb18d88fb963ec72e855ec587 SHA256 ab4450a8da48223e4cd4a2b519746ff3656a228159a83c0000c2535995dd9dbd
+MD5 da6a5b76439801fdb4b13de6df4e1ff3 files/patches/005_all_library-rework.patch 8365
+RMD160 4618dc3144a53a46844b921ebac61916f291d7be files/patches/005_all_library-rework.patch 8365
+SHA256 ab4450a8da48223e4cd4a2b519746ff3656a228159a83c0000c2535995dd9dbd files/patches/005_all_library-rework.patch 8365
+AUX patches/010_all_dev-nul.patch 758 RMD160 d064a4ac075fedae7163f339d5297809f27f4449 SHA1 c8ca91cb26242b85189c0ab7b31dc8200763aa57 SHA256 beb3b1c51b7bc6a8b93011b3182df8d29ac9a61abe007549da137c6fe95bffb9
+MD5 2e89a54c35302b072719c247bcf209e0 files/patches/010_all_dev-nul.patch 758
+RMD160 d064a4ac075fedae7163f339d5297809f27f4449 files/patches/010_all_dev-nul.patch 758
+SHA256 beb3b1c51b7bc6a8b93011b3182df8d29ac9a61abe007549da137c6fe95bffb9 files/patches/010_all_dev-nul.patch 758
+AUX patches/015_all_fix-cast-pointers.patch 1221 RMD160 0ec71811e69d72446871b2d0286aa38b66ebdb07 SHA1 78fd010e568cf379e0fd9bdc8787b29cc679fdd3 SHA256 944d7f6cb5cc494bfe3d2c67ee541ba09638fd198ddd8d07b4f8410f19f7956b
+MD5 d25cba37c41ffa5631ba1f59b7f6ccea files/patches/015_all_fix-cast-pointers.patch 1221
+RMD160 0ec71811e69d72446871b2d0286aa38b66ebdb07 files/patches/015_all_fix-cast-pointers.patch 1221
+SHA256 944d7f6cb5cc494bfe3d2c67ee541ba09638fd198ddd8d07b4f8410f19f7956b files/patches/015_all_fix-cast-pointers.patch 1221
+AUX patches/020_all_memleak-realloc.patch 3173 RMD160 650fbaf1a744d29efa424c7e12f03b55ede5951e SHA1 5849c0272d1ce27505fc0aabe240f35985ed706b SHA256 f10c31e30bcf58fc9dde7cbd8a0b6072f4c90606a27ff8ab0f66db6953d9418d
+MD5 61d8a3b7b6991a44a13f358adcf17f29 files/patches/020_all_memleak-realloc.patch 3173
+RMD160 650fbaf1a744d29efa424c7e12f03b55ede5951e files/patches/020_all_memleak-realloc.patch 3173
+SHA256 f10c31e30bcf58fc9dde7cbd8a0b6072f4c90606a27ff8ab0f66db6953d9418d files/patches/020_all_memleak-realloc.patch 3173
+AUX patches/025_all_off-by-one.patch 842 RMD160 416cf6a37c6538f59f64a6a9cca95dd506b5f7a7 SHA1 96ae5d6f92bb7ff78f8e6d5cbd274fcd2b4e0b46 SHA256 25c9344ff01e0dc6bdd7e7e297f650907351f23d3e3f69361fc59f84dee4d036
+MD5 541518b245bcb60d689e412bd0af2c73 files/patches/025_all_off-by-one.patch 842
+RMD160 416cf6a37c6538f59f64a6a9cca95dd506b5f7a7 files/patches/025_all_off-by-one.patch 842
+SHA256 25c9344ff01e0dc6bdd7e7e297f650907351f23d3e3f69361fc59f84dee4d036 files/patches/025_all_off-by-one.patch 842
+AUX patches/035_all_remove-vename-on-destroy.patch 1079 RMD160 f4c17841b1147e46dafda1065be3a943de1d6fb9 SHA1 1211545d417cf9a169519388a7da753d6c2db14f SHA256 ee7057c7b80e81b0a6011a60ebb321d07bd4333b3572874186042acac22976d6
+MD5 c8d9dc663d72635cb424c6f52ee273cb files/patches/035_all_remove-vename-on-destroy.patch 1079
+RMD160 f4c17841b1147e46dafda1065be3a943de1d6fb9 files/patches/035_all_remove-vename-on-destroy.patch 1079
+SHA256 ee7057c7b80e81b0a6011a60ebb321d07bd4333b3572874186042acac22976d6 files/patches/035_all_remove-vename-on-destroy.patch 1079
+AUX patches/040_all_segfault-long-opts.patch 886 RMD160 d3b72a38e25f4d7e539ec3c82da08323654fa9c7 SHA1 bead2b85fa3ab52c3bded469d09284466f25c76a SHA256 2fb5745146a2f4819da58bcd350ae261388e066c7b6356b3c53699a5ef256740
+MD5 d3db59719e8b4aa7a76b18e2d0c8559a files/patches/040_all_segfault-long-opts.patch 886
+RMD160 d3b72a38e25f4d7e539ec3c82da08323654fa9c7 files/patches/040_all_segfault-long-opts.patch 886
+SHA256 2fb5745146a2f4819da58bcd350ae261388e066c7b6356b3c53699a5ef256740 files/patches/040_all_segfault-long-opts.patch 886
+AUX patches/045_all_vzctl-enter-exit-msg.patch 827 RMD160 7cc105351107def7667b648eec7ff50d217262e3 SHA1 eecb1605f44cf466b357fb6e64b323107d1d71ec SHA256 e5a537af6a4e438df4b37b5028541336aded1c58a1102c170d88ab9237f54ed6
+MD5 2fbaaa425ff5e619c59ad9f812caed27 files/patches/045_all_vzctl-enter-exit-msg.patch 827
+RMD160 7cc105351107def7667b648eec7ff50d217262e3 files/patches/045_all_vzctl-enter-exit-msg.patch 827
+SHA256 e5a537af6a4e438df4b37b5028541336aded1c58a1102c170d88ab9237f54ed6 files/patches/045_all_vzctl-enter-exit-msg.patch 827
+AUX patches/050_all_vzctl-enter-forward-msg-from-child.patch 1347 RMD160 c9eff0f85710999e74a4bbdb17a08b5f28832c31 SHA1 12ce1ee914f5377c322532196daca3e3cc03ce44 SHA256 c7556e5a4c5db3eed57ec12379b48f087d796e0a12cb746bbedf0a78e0882dea
+MD5 3e6306d083383cf5da3d0b644e1b5ea6 files/patches/050_all_vzctl-enter-forward-msg-from-child.patch 1347
+RMD160 c9eff0f85710999e74a4bbdb17a08b5f28832c31 files/patches/050_all_vzctl-enter-forward-msg-from-child.patch 1347
+SHA256 c7556e5a4c5db3eed57ec12379b48f087d796e0a12cb746bbedf0a78e0882dea files/patches/050_all_vzctl-enter-forward-msg-from-child.patch 1347
+AUX patches/055_all_vzctl-sprintf-snprintf.patch 3936 RMD160 30f930dd69369e7c0c2e418fff8ef52eb7188c85 SHA1 1b0f2edcc9217d6953108d70a8a59bc034b6f3eb SHA256 8cdc2a0e22acdc5ae8636dc88b6b4e4ce1c0b74704be6a67297fa529a04d2999
+MD5 c24a76ba522c376a73e2a5a6fca5680b files/patches/055_all_vzctl-sprintf-snprintf.patch 3936
+RMD160 30f930dd69369e7c0c2e418fff8ef52eb7188c85 files/patches/055_all_vzctl-sprintf-snprintf.patch 3936
+SHA256 8cdc2a0e22acdc5ae8636dc88b6b4e4ce1c0b74704be6a67297fa529a04d2999 files/patches/055_all_vzctl-sprintf-snprintf.patch 3936
+AUX patches/200_all_incorrect-spelling.patch 3036 RMD160 46e3e218469c0e82caee39862ab5764af307af4d SHA1 9135f493430b71225d1e38e8c8feaabfbdf5746d SHA256 0c9722a9ed1fc431ff450df21a644f78b4f6b06abc24d48371792a7ae938aac4
+MD5 3b15ae8f8754d810cf0f2812c78410a3 files/patches/200_all_incorrect-spelling.patch 3036
+RMD160 46e3e218469c0e82caee39862ab5764af307af4d files/patches/200_all_incorrect-spelling.patch 3036
+SHA256 0c9722a9ed1fc431ff450df21a644f78b4f6b06abc24d48371792a7ae938aac4 files/patches/200_all_incorrect-spelling.patch 3036
+AUX patches/205_all_ve-light.conf-sample.patch 986 RMD160 ec09ffb9b10e89c1adb397b034d7409f0fbd040d SHA1 b5a44fd291b9c522ebaa635877ff077438fc2b40 SHA256 ed592754a9424f830956420663e5fc683a8f8b36ae58e07a88bdab887774e8e7
+MD5 5777298f8dc53539797b2a763b98b85c files/patches/205_all_ve-light.conf-sample.patch 986
+RMD160 ec09ffb9b10e89c1adb397b034d7409f0fbd040d files/patches/205_all_ve-light.conf-sample.patch 986
+SHA256 ed592754a9424f830956420663e5fc683a8f8b36ae58e07a88bdab887774e8e7 files/patches/205_all_ve-light.conf-sample.patch 986
+AUX patches/210_all_vzctl-3.0.11-vzctl.8.patch 793 RMD160 488b014d52790d0186e1572ad46cde42ab8250e9 SHA1 dfd6a63c95a3017e269517b50d863ba73c17d1a9 SHA256 224281a938b68c1957e2f6d6c08851381560302983f946fe53eaa04da83edc02
+MD5 05e8d598abb1041cca8a8c0b6e6e3791 files/patches/210_all_vzctl-3.0.11-vzctl.8.patch 793
+RMD160 488b014d52790d0186e1572ad46cde42ab8250e9 files/patches/210_all_vzctl-3.0.11-vzctl.8.patch 793
+SHA256 224281a938b68c1957e2f6d6c08851381560302983f946fe53eaa04da83edc02 files/patches/210_all_vzctl-3.0.11-vzctl.8.patch 793
+AUX patches/215_all_vzmigrate-mawk.patch 926 RMD160 45a983d6c8fc3bc4737feb4167fea17c93436af4 SHA1 28d5db70f1cb88528c70440dea7c1f2cc42ab160 SHA256 f673e4011fe0713908d77a5bf240b2722b0bb25e64983d64e86b2cae7fb9ddbb
+MD5 256aeebc61c995b6bdc5544a3c67e95b files/patches/215_all_vzmigrate-mawk.patch 926
+RMD160 45a983d6c8fc3bc4737feb4167fea17c93436af4 files/patches/215_all_vzmigrate-mawk.patch 926
+SHA256 f673e4011fe0713908d77a5bf240b2722b0bb25e64983d64e86b2cae7fb9ddbb files/patches/215_all_vzmigrate-mawk.patch 926
+AUX vz.initd 5857 RMD160 20c18e403ee8d5c2fea72026f0c0d4f6d00a7381 SHA1 b6f6a00399cab7d8249d8a744ad86135e80be15f SHA256 ce3f721de30e3ae18286cdfccdac44c9b01f84838e336a9d1b9a5ff59e8a0480
+MD5 65ad1bf9fada9b4649e5e85cf5750b7b files/vz.initd 5857
+RMD160 20c18e403ee8d5c2fea72026f0c0d4f6d00a7381 files/vz.initd 5857
+SHA256 ce3f721de30e3ae18286cdfccdac44c9b01f84838e336a9d1b9a5ff59e8a0480 files/vz.initd 5857
+DIST vzctl-3.0.11.tar.bz2 125685 RMD160 af04926dc3971d4078e83333d015a9db49e63ff7 SHA1 77edcc11bc2013068f51706280ecc5010d0630c0 SHA256 03b255ba3cdc700178bb7d20af928ab3896ac799404866187f0293ed87a9aecb
+EBUILD vzctl-3.0.11.ebuild 1448 RMD160 ed7ba09d3b968dcf93ca3c6a39084960c12e59d5 SHA1 f6baa3c5b2804970ad024330347d6b00d708a4cd SHA256 3f132251babcf59952c4741fa33584f0779e376ff28dce797488be0276cf8f59
+MD5 64b8f9a088c42fc1f0d995d599e3fd62 vzctl-3.0.11.ebuild 1448
+RMD160 ed7ba09d3b968dcf93ca3c6a39084960c12e59d5 vzctl-3.0.11.ebuild 1448
+SHA256 3f132251babcf59952c4741fa33584f0779e376ff28dce797488be0276cf8f59 vzctl-3.0.11.ebuild 1448
+MD5 6b1dd998c6fd6fdb9f11c59988aaf18f files/digest-vzctl-3.0.11 241
+RMD160 53b0a5585c0b2989baccf2e8c9e808fd563d3a64 files/digest-vzctl-3.0.11 241
+SHA256 00cc7268f4830a26a951fde3667d30dc30748ac2d4d604167355a73eb3ec58c3 files/digest-vzctl-3.0.11 241
diff --git a/sys-cluster/vzctl/files/digest-vzctl-3.0.11 b/sys-cluster/vzctl/files/digest-vzctl-3.0.11
new file mode 100644
index 0000000..850a6e2
--- /dev/null
+++ b/sys-cluster/vzctl/files/digest-vzctl-3.0.11
@@ -0,0 +1,3 @@
+MD5 a2f7500961047b971dc7cde761e5ed3f vzctl-3.0.11.tar.bz2 125685
+RMD160 af04926dc3971d4078e83333d015a9db49e63ff7 vzctl-3.0.11.tar.bz2 125685
+SHA256 03b255ba3cdc700178bb7d20af928ab3896ac799404866187f0293ed87a9aecb vzctl-3.0.11.tar.bz2 125685
diff --git a/sys-cluster/vzctl/files/patches/005_all_library-rework.patch b/sys-cluster/vzctl/files/patches/005_all_library-rework.patch
new file mode 100644
index 0000000..7ad678c
--- /dev/null
+++ b/sys-cluster/vzctl/files/patches/005_all_library-rework.patch
@@ -0,0 +1,246 @@
+Index: vzctl-3.0.11/src/Makefile
+===================================================================
+--- vzctl-3.0.11.orig/src/Makefile
++++ vzctl-3.0.11/src/Makefile
+@@ -17,7 +17,7 @@
+ INSTALL = install
+ PREFIX = /usr
+ SBINDIR = $(PREFIX)/sbin
+- LIBDIR = $(PREFIX)/lib/vzctl/lib
++ LIBDIR = $(PREFIX)/lib
+ CONFDIR = /etc/vz
+ GLBCONFIG = $(CONFDIR)/vz.conf
+ VPSCONFDIR = $(CONFDIR)/conf
+@@ -33,7 +33,7 @@ NETSCRIPTDIR = /etc/sysconfig/network-sc
+ VZDUMPDIR = $(VZDIR)/dump
+ VEIPDUMPDIR = /var/lib/vzctl/veip
+ LOGRDIR = /etc/logrotate.d
+- LIB_VER = 0.0.2
++ LIB_VER = 0.0.3
+
+ export LD_LIBRARY_PATH=.
+ CC = gcc
+@@ -43,13 +43,14 @@ SHAREDLIB_CFLAGS = -fPIC
+ INC = -I ../include
+ ARCH ?= $(shell uname -m)
+
+-OBJ_libvzctl = lib/env.lo lib/ub.lo lib/net.lo lib/logger.lo lib/exec.lo \
++OBJ_libvzctl = lib/env.lo lib/ub.lo lib/net.lo lib/exec.lo \
+ lib/cap.lo lib/cpu.lo lib/res.lo lib/util.lo lib/dist.lo lib/list.lo \
+ lib/script.lo lib/dev.lo lib/config.lo lib/lock.lo lib/quota.lo \
+ lib/modules.lo lib/iptables.lo lib/fs.lo lib/create.lo lib/readelf.lo \
+ lib/cpt.lo lib/destroy.lo lib/vps_configure.lo lib/meminfo.lo \
+ lib/veth.lo
+ OBJ_simfs=lib/fs_simfs.lo
++OBJ_logger = lib/logger.lo
+ OBJ_vzctl = vzctl.o vzctl-actions.o modules.o enter.o
+ OBJ_vzlist = vzlist.o
+ OBJ_arp = arpsend.o
+@@ -59,17 +60,17 @@ OBJ_cfgvalidate = vzcfgvalidate.o valida
+ OBJ_calc = vzcalc.o
+ OBJ = $(OBJ_vzctl) $(OBJ_vzlist) $(OBJ_arp) $(OBJ_split) $(OBJ_memcheck) \
+ $(OBJ_cfgvalidate) $(OBJ_calc)
+-LOBJ = $(OBJ_libvzctl) $(OBJ_simfs)
++LOBJ = $(OBJ_libvzctl) $(OBJ_simfs) $(OBJ_logger)
+ LIB_vzctl = libvzctl.so.$(LIB_VER)
+ LIB_simfs = libvzctl-simfs.so.$(LIB_VER)
++LIB_logger = libvzlogger.so.$(LIB_VER)
+ LIB_fs = $(LIB_simfs)
+
+-LDFLAGS += -Wl,-rpath=$(LIBDIR)
+ LIBSCRIPTS = vps-create vps-postcreate vps-net_add vps-net_del vps-stop \
+ vps-functions
+
+ PROGS = vzctl vzlist arpsend vzsplit vzcfgvalidate vzmemcheck vzcalc
+-LIBS = $(LIB_vzctl) $(LIB_fs)
++LIBS = $(LIB_vzctl) $(LIB_fs) $(LIB_logger)
+
+ INITSCRIPTS = vz
+ CRONSCRIPTS = vpsreboot vpsnetclean
+@@ -102,23 +103,26 @@ check-version:
+ %.lo: %.c
+ $(CC) -c $(CFLAGS) $(SHAREDLIB_CFLAGS) $(INC) $< -o $@
+
+-$(LIB_fs) : $(OBJ_simfs) lib/logger.lo
+- $(CC) $(CFLAGS) $(INC) $(LDFLAGS) $^ -shared -o $@
++$(LIB_logger) : $(OBJ_logger)
++ $(CC) $(CFLAGS) $(INC) $(LDFLAGS) $^ -shared -Wl,-soname,$@ -o $@
+
+-libvzctl.a: $(OBJ_libvzctl) $(LIB_fs)
++$(LIB_fs) : $(OBJ_simfs) $(LIB_logger)
++ $(CC) $(CFLAGS) $(INC) $(LDFLAGS) $^ -shared -Wl,-soname,$@ -o $@
++
++$(LIB_vzctl) : $(OBJ_libvzctl) $(LIB_fs) $(LIB_logger)
++ $(CC) $(CFLAGS) $(INC) $(LDFLAGS) $^ $(LD_FLAGS) -shared -Wl,-soname,$@ -o $@
++
++libvzctl.a: $(OBJ_libvzctl) $(OBJ_simfs) $(OBJ_logger)
+ ar scq $@ $+
+ ranlib $@
+
+-$(LIB_vzctl) : $(LIB_fs) $(OBJ_libvzctl)
+- $(CC) $(CFLAGS) $(INC) $(LDFLAGS) $^ $(LD_FLAGS) -shared -o $@
+-
+ vzctl-static: $(OBJ_vzctl) libvzctl.a
+ $(CC) $(CFLAGS) $(INC) $(LDFLAGS) $^ -rdynamic -ldl -lutil -o $@
+
+-vzctl: check-version $(OBJ_vzctl) $(LIB_vzctl) $(LIB_fs)
+- $(CC) $(CFLAGS) $(INC) $(LDFLAGS) $(OBJ_vzctl) $(LIB_vzctl) $(LIB_fs) -ldl -lutil -o $@
++vzctl: check-version $(OBJ_vzctl) $(LIB_vzctl) $(LIB_fs) $(LIB_logger)
++ $(CC) $(CFLAGS) $(INC) $(LDFLAGS) $(OBJ_vzctl) $(LIB_vzctl) $(LIB_fs) $(LIB_logger) -ldl -lutil -o $@
+
+-vzlist: $(OBJ_vzlist) $(LIB_vzctl) $(LIB_fs)
++vzlist: $(OBJ_vzlist) $(LIB_vzctl) $(LIB_logger)
+ $(CC) $(CFLAGS) $(INC) $(LDFLAGS) $^ -o $@
+
+ arpsend: $(OBJ_arp)
+@@ -127,10 +131,10 @@ arpsend: $(OBJ_arp)
+ vzsplit: $(OBJ_split)
+ $(CC) $(CFLAGS) $(INC) $(LDFLAGS) $^ -o $@
+
+-vzmemcheck: $(OBJ_memcheck) $(LIB_vzctl)
++vzmemcheck: $(OBJ_memcheck) $(LIB_vzctl) $(LIB_logger)
+ $(CC) $(CFLAGS) $(INC) $(LDFLAGS) $^ -o $@
+
+-vzcfgvalidate: $(OBJ_cfgvalidate) $(LIB_vzctl)
++vzcfgvalidate: $(OBJ_cfgvalidate) $(LIB_vzctl) $(LIB_logger)
+ $(CC) $(CFLAGS) $(INC) $(LDFLAGS) $^ -o $@
+
+ vzcalc: $(OBJ_calc) $(LIB_vzctl)
+@@ -145,6 +149,7 @@ install-lib: $(LIB_vzctl) $(LIB_fs)
+ $(INSTALL) -d $(DESTDIR)$(LIBSCRIPTSDIR)
+ $(INSTALL) $(LIB_vzctl) $(DESTDIR)$(LIBDIR)/$(LIB_vzctl)
+ $(INSTALL) $(LIB_fs) $(DESTDIR)$(LIBDIR)/$(LIB_fs)
++ $(INSTALL) $(LIB_logger) $(DESTDIR)$(LIBDIR)/$(LIB_logger)
+ for file in $(LIBSCRIPTS); do \
+ $(INSTALL) -m 755 ../etc/$$file $(DESTDIR)$(LIBSCRIPTSDIR)/$$file; \
+ done
+@@ -208,7 +213,7 @@ inst-dirs:
+ install: $(PROGS) inst-dirs install-lib inst-sbin inst-scripts \
+ inst-netscripts inst-configs inst-initd inst-cron
+ clean:
+- rm -f *.o lib/*.lo $(PROGS) $(LIB_vzctl) $(LIB_fs) $(LIB_fs) .depend
++ rm -f *.o lib/*.lo $(PROGS) $(LIB_vzctl) $(LIB_fs) $(LIB_logger) .depend
+
+ .depend:: $(OBJ:.o=.c) $(LOBJ:.lo=.c)
+ $(CC) -M $(FLAGS) $(DEPFLAGS) $(INC) $^ >.depend
+Index: vzctl-3.0.11/src/lib/logger.c
+===================================================================
+--- vzctl-3.0.11.orig/src/lib/logger.c
++++ vzctl-3.0.11/src/lib/logger.c
+@@ -30,7 +30,7 @@
+ #include "types.h"
+ #include "logger.h"
+
+-extern log_param g_log;
++LOG_DATA
+
+ static inline void get_date(char *buf, int len)
+ {
+Index: vzctl-3.0.11/src/vzcalc.c
+===================================================================
+--- vzctl-3.0.11.orig/src/vzcalc.c
++++ vzctl-3.0.11/src/vzcalc.c
+@@ -27,8 +27,6 @@
+ #include "config.h"
+ #include "util.h"
+
+-LOG_DATA
+-
+ void usage()
+ {
+ printf("Usage: vzcalc [-v] <veid>\n");
+Index: vzctl-3.0.11/src/vzcfgvalidate.c
+===================================================================
+--- vzctl-3.0.11.orig/src/vzcfgvalidate.c
++++ vzctl-3.0.11/src/vzcfgvalidate.c
+@@ -26,8 +26,6 @@
+ #include "validate.h"
+ #include "logger.h"
+
+-log_param g_log;
+-
+ void usage()
+ {
+ printf("Usage: vzcfgvalidate [-r|-i] <configfile>\n");
+Index: vzctl-3.0.11/src/vzctl.c
+===================================================================
+--- vzctl-3.0.11.orig/src/vzctl.c
++++ vzctl-3.0.11/src/vzctl.c
+@@ -32,8 +32,6 @@
+ #include "util.h"
+ #include "modules.h"
+
+-LOG_DATA
+-
+ struct mod_action g_action;
+ char *_proc_title;
+ int _proc_title_len;
+Index: vzctl-3.0.11/src/vzlist.c
+===================================================================
+--- vzctl-3.0.11.orig/src/vzlist.c
++++ vzctl-3.0.11/src/vzlist.c
+@@ -42,7 +42,6 @@
+ #include "util.h"
+ #include "types.h"
+
+-LOG_DATA
+ static struct Cveinfo *veinfo = NULL;
+ static int n_veinfo = 0;
+
+Index: vzctl-3.0.11/src/vzmemcheck.c
+===================================================================
+--- vzctl-3.0.11.orig/src/vzmemcheck.c
++++ vzctl-3.0.11/src/vzmemcheck.c
+@@ -29,8 +29,6 @@
+ #include "util.h"
+ #include "logger.h"
+
+-LOG_DATA
+-
+ void usage()
+ {
+ printf("Usage: vzmemcheck [-v] [-A]\n");
+Index: vzctl-3.0.11/vzctl.spec
+===================================================================
+--- vzctl-3.0.11.orig/vzctl.spec
++++ vzctl-3.0.11/vzctl.spec
+@@ -5,9 +5,10 @@
+ %define _dumpdir %{_vzdir}/dump
+ %define _cachedir %{_vzdir}/template/cache
+ %define _veipdir /var/lib/vzctl/veip
+-%define _libdir /usr/lib/vzctl
++%define _libvzdir /usr/lib/vzctl
++%define _libscriptdir %{_libvzdir}/scripts
+ %define _configdir /etc/vz
+-%define _scriptdir /usr/share/vzctl//scripts
++%define _scriptdir /usr/share/vzctl/scripts
+ %define _vpsconfdir /etc/sysconfig/vz-scripts
+ %define _netdir /etc/sysconfig/network-scripts
+ %define _logrdir /etc/logrotate.d
+@@ -156,13 +157,17 @@ Virtual Private Servers control API libr
+
+ %files lib
+ %defattr(-,root,root)
+-%dir %{_libdir}/lib
+-%attr(755,root,root) %{_libdir}/lib/libvzctl.so.*
+-%attr(755,root,root) %{_libdir}/lib/libvzctl-simfs.so.*
+-%attr(755,root,root) %{_libdir}/scripts/vps-stop
+-%attr(755,root,root) %{_libdir}/scripts/vps-functions
+-%attr(755,root,root) %{_libdir}/scripts/vps-net_add
+-%attr(755,root,root) %{_libdir}/scripts/vps-net_del
+-%attr(755,root,root) %{_libdir}/scripts/vps-create
+-%attr(755,root,root) %{_libdir}/scripts/vps-postcreate
++%attr(755,root,root) %{_libdir}/libvzlogger.so.*
++%attr(755,root,root) %{_libdir}/libvzctl.so.*
++%attr(755,root,root) %{_libdir}/libvzctl-simfs.so.*
++%dir %{_libvzdir}
++%dir %{_libscriptdir}
++%attr(755,root,root) %{_libscriptdir}/vps-stop
++%attr(755,root,root) %{_libscriptdir}/vps-functions
++%attr(755,root,root) %{_libscriptdir}/vps-net_add
++%attr(755,root,root) %{_libscriptdir}/vps-net_del
++%attr(755,root,root) %{_libscriptdir}/vps-create
++%attr(755,root,root) %{_libscriptdir}/vps-postcreate
+
++%post lib -p /sbin/ldconfig
++%postun lib -p /sbin/ldconfig
diff --git a/sys-cluster/vzctl/files/patches/010_all_dev-nul.patch b/sys-cluster/vzctl/files/patches/010_all_dev-nul.patch
new file mode 100644
index 0000000..02145ef
--- /dev/null
+++ b/sys-cluster/vzctl/files/patches/010_all_dev-nul.patch
@@ -0,0 +1,23 @@
+From: Kirill Korotaev <dev@openvz.org>
+Date: Tue, 22 Aug 2006 10:29:52 +0000 (+0400)
+Subject: Fix misprints in distro scripts
+X-Git-Url: http://git.openvz.org/?p=vzctl;a=commitdiff;h=6b349c3d3adea85c73452d269a8278d86a35795f
+
+text misprints and /dev/nul fixes.
+
+http://bugzilla.openvz.org/show_bug.cgi?id=228
+---
+
+Index: vzctl-3.0.11/etc/dists/scripts/debian-add_ip.sh
+===================================================================
+--- vzctl-3.0.11.orig/etc/dists/scripts/debian-add_ip.sh
++++ vzctl-3.0.11/etc/dists/scripts/debian-add_ip.sh
+@@ -82,7 +82,7 @@ d
+ wq" | ed ${CFGFILE}.bak >/dev/null 2>&1
+ echo -e "/iface ${iface}\\>
+ .,+3d
+-wq" | ed ${CFGFILE}.bak >/dev/nul 2>&1
++wq" | ed ${CFGFILE}.bak >/dev/null 2>&1
+ }
+
+ function get_all_aliasid()
diff --git a/sys-cluster/vzctl/files/patches/015_all_fix-cast-pointers.patch b/sys-cluster/vzctl/files/patches/015_all_fix-cast-pointers.patch
new file mode 100644
index 0000000..86f6dd8
--- /dev/null
+++ b/sys-cluster/vzctl/files/patches/015_all_fix-cast-pointers.patch
@@ -0,0 +1,34 @@
+From: Dmitry V. Levin <ldv@altlinux.org>
+Date: Fri, 25 Aug 2006 08:03:34 +0000 (+0400)
+Subject: vzlist: Fix cast from pointer to integer of different size warnings
+X-Git-Url: http://git.openvz.org/?p=vzctl;a=commitdiff;h=3a772bf0e3145a1c255d823bca4f4cea6e035f7f
+
+vzlist: Fix cast from pointer to integer of different size warnings
+id_search_fn(): Take veid by reference like in veid_search_fn().
+find_ve(): Pass veid by reference like in check_veid_restr().
+
+Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
+---
+
+Index: vzctl-3.0.11/src/vzlist.c
+===================================================================
+--- vzctl-3.0.11.orig/src/vzlist.c
++++ vzctl-3.0.11/src/vzlist.c
+@@ -607,7 +607,7 @@ void usage()
+
+ int id_search_fn(const void* val1, const void* val2)
+ {
+- return ((int)val1 - ((struct Cveinfo*)val2)->veid);
++ return (*(int *)val1 - ((struct Cveinfo*)val2)->veid);
+ }
+
+ int veid_search_fn(const void* val1, const void* val2)
+@@ -708,7 +708,7 @@ void add_elem(struct Cveinfo *ve)
+
+ inline struct Cveinfo *find_ve(int veid)
+ {
+- return (struct Cveinfo *) bsearch((void*)veid, veinfo, n_veinfo,
++ return (struct Cveinfo *) bsearch(&veid, veinfo, n_veinfo,
+ sizeof(struct Cveinfo), id_search_fn);
+ }
+
diff --git a/sys-cluster/vzctl/files/patches/020_all_memleak-realloc.patch b/sys-cluster/vzctl/files/patches/020_all_memleak-realloc.patch
new file mode 100644
index 0000000..98ae0e5
--- /dev/null
+++ b/sys-cluster/vzctl/files/patches/020_all_memleak-realloc.patch
@@ -0,0 +1,121 @@
+From: Igor Sukhih <igor@openvz.org>
+Date: Tue, 22 Aug 2006 13:39:35 +0000 (+0400)
+Subject: Fixed memory leaks in realloc()
+X-Git-Url: http://git.openvz.org/?p=vzctl;a=commitdiff;h=48bada8af358255c7b54f437ba0002eabf0df368
+
+Fixed memory leaks in realloc()
+---
+
+Index: vzctl-3.0.11/src/lib/list.c
+===================================================================
+--- vzctl-3.0.11.orig/src/lib/list.c
++++ vzctl-3.0.11/src/lib/list.c
+@@ -24,7 +24,7 @@
+
+ char *list2str_c(char *name, char c, list_head_t *head)
+ {
+- char *buf = NULL;
++ char *buf = NULL, *tmp;
+ int buf_len, len, r;
+ char *sp, *ep;
+ const int delta = 256;
+@@ -61,9 +61,12 @@ char *list2str_c(char *name, char c, lis
+ int cur_len = sp - buf;
+
+ buf_len += delta > len ? delta : len + 1;
+- buf = realloc(buf, buf_len);
+- if (buf == NULL)
++ tmp = realloc(buf, buf_len);
++ if (tmp == NULL) {
++ free(buf);
+ return NULL;
++ }
++ buf = tmp;
+ ep = buf + buf_len;
+ sp = buf + cur_len;
+ }
+Index: vzctl-3.0.11/src/lib/net.c
+===================================================================
+--- vzctl-3.0.11.orig/src/lib/net.c
++++ vzctl-3.0.11/src/lib/net.c
+@@ -349,7 +349,7 @@ static inline int get_vps_ip_ioctl(vps_h
+ {
+ int ret = -1;
+ struct vzlist_veipv4ctl veip;
+- uint32_t *addr;
++ uint32_t *addr, *tmp;
+ char buf[16];
+ int i;
+
+@@ -366,9 +366,12 @@ static inline int get_vps_ip_ioctl(vps_h
+ else if (ret <= veip.num)
+ break;
+ veip.num = ret;
+- addr = realloc(addr, veip.num * sizeof(*veip.ip));
+- if (addr == NULL)
+- return -1;
++ tmp = realloc(addr, veip.num * sizeof(*veip.ip));
++ if (tmp == NULL) {
++ ret = -1;
++ goto out;
++ }
++ addr = tmp;
+ }
+ if (ret > 0) {
+ for (i = ret - 1; i >= 0; i--) {
+Index: vzctl-3.0.11/src/lib/script.c
+===================================================================
+--- vzctl-3.0.11.orig/src/lib/script.c
++++ vzctl-3.0.11/src/lib/script.c
+@@ -42,7 +42,7 @@ static char *envp_bash[] = {"HOME=/", "T
+ int read_script(const char *fname, char *include, char **buf)
+ {
+ struct stat st;
+- char *p = NULL;
++ char *tmp, *p = NULL;
+ int fd, len = 0;
+ char *inc;
+
+@@ -74,9 +74,10 @@ int read_script(const char *fname, char
+ goto err;
+ }
+ if (*buf != NULL) {
+- *buf = realloc(*buf, st.st_size + len + 2);
+- if (*buf == NULL)
++ tmp = realloc(*buf, st.st_size + len + 2);
++ if (tmp == NULL)
+ goto err;
++ *buf = tmp;
+ p = *buf + len;
+ } else {
+ *buf = malloc(st.st_size + 2);
+Index: vzctl-3.0.11/src/vzlist.c
+===================================================================
+--- vzctl-3.0.11.orig/src/vzlist.c
++++ vzctl-3.0.11/src/vzlist.c
+@@ -581,11 +581,13 @@ void *x_malloc(int size)
+
+ void *x_realloc(void *ptr, int size)
+ {
+- if ((ptr = realloc(ptr, size)) == NULL) {
++ void *tmp;
++
++ if ((tmp = realloc(ptr, size)) == NULL) {
+ printf("Error: unable to allocate %d bytes\n", size);
+ exit(1);
+ }
+- return ptr;
++ return tmp;
+ }
+
+ void usage()
+@@ -1637,5 +1639,9 @@ int main(int argc, char **argv)
+ return ret;
+ print_ve();
+ free_veinfo();
++ if (host_pattern != NULL) free(host_pattern);
++ if (name_pattern != NULL) free(name_pattern);
++ if (f_order != NULL) free(f_order);
++
+ return 0;
+ }
diff --git a/sys-cluster/vzctl/files/patches/025_all_off-by-one.patch b/sys-cluster/vzctl/files/patches/025_all_off-by-one.patch
new file mode 100644
index 0000000..58e4de2
--- /dev/null
+++ b/sys-cluster/vzctl/files/patches/025_all_off-by-one.patch
@@ -0,0 +1,23 @@
+From: Dmitry V. Levin <ldv@altlinux.org>
+Date: Fri, 25 Aug 2006 07:57:09 +0000 (+0400)
+Subject: vzctl enter: Fix off-by-one error which resulted to uninitialized PATH.
+X-Git-Url: http://git.openvz.org/?p=vzctl;a=commitdiff;h=24807ad04c47c4c799b9b7bb7188c07cdd9c31ca
+
+vzctl enter: Fix off-by-one error which resulted to uninitialized PATH.
+
+Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
+---
+
+Index: vzctl-3.0.11/src/enter.c
+===================================================================
+--- vzctl-3.0.11.orig/src/enter.c
++++ vzctl-3.0.11/src/enter.c
+@@ -265,7 +265,7 @@ int do_enter(vps_handler *h, envid_t vei
+ close(slave);
+ if ((term = getenv("TERM")) != NULL) {
+ snprintf(buf, sizeof(buf), "TERM=%s", term);
+- env[2] = buf;
++ env[3] = buf;
+ }
+ execve("/bin/bash", arg, env);
+ execve("/bin/sh", arg, env);
diff --git a/sys-cluster/vzctl/files/patches/035_all_remove-vename-on-destroy.patch b/sys-cluster/vzctl/files/patches/035_all_remove-vename-on-destroy.patch
new file mode 100644
index 0000000..edb958b
--- /dev/null
+++ b/sys-cluster/vzctl/files/patches/035_all_remove-vename-on-destroy.patch
@@ -0,0 +1,35 @@
+From: Igor Sukhih <igor@openvz.org>
+Date: Tue, 22 Aug 2006 13:40:41 +0000 (+0400)
+Subject: Remove VE name information on destroy
+X-Git-Url: http://git.openvz.org/?p=vzctl;a=commitdiff;h=57f3c25ff637984a467936aec2cab1d849bfde49
+
+Remove VE name information on destroy
+
+http://bugzilla.openvz.org/show_bug.cgi?id=236
+---
+
+Index: vzctl-3.0.11/src/vzctl-actions.c
+===================================================================
+--- vzctl-3.0.11.orig/src/vzctl-actions.c
++++ vzctl-3.0.11/src/vzctl-actions.c
+@@ -222,7 +222,19 @@ static int create(vps_handler *h, envid_
+ static int destroy(vps_handler *h, envid_t veid, vps_param *g_p,
+ vps_param *cmd_p)
+ {
+- return vps_destroy(h, veid, &g_p->res.fs);
++ int ret, id;
++ char buf[STR_SIZE];
++ char *name = g_p->res.name.name;
++
++ ret = vps_destroy(h, veid, &g_p->res.fs);
++ if (!ret && name != NULL) {
++ id = get_veid_by_name(name);
++ if (id == veid) {
++ snprintf(buf, sizeof(buf), VENAME_DIR "/%s.conf", name);
++ unlink(buf);
++ }
++ }
++ return ret;
+ }
+
+ static int parse_chkpnt_opt(int argc, char **argv, vps_param *vps_p)
diff --git a/sys-cluster/vzctl/files/patches/040_all_segfault-long-opts.patch b/sys-cluster/vzctl/files/patches/040_all_segfault-long-opts.patch
new file mode 100644
index 0000000..783396e
--- /dev/null
+++ b/sys-cluster/vzctl/files/patches/040_all_segfault-long-opts.patch
@@ -0,0 +1,25 @@
+From: Dmitry V. Levin <ldv@altlinux.org>
+Date: Fri, 25 Aug 2006 07:59:19 +0000 (+0400)
+Subject: arpsend: Fix segfault when parsing long options
+X-Git-Url: http://git.openvz.org/?p=vzctl;a=commitdiff;h=8ae927daa4a5c391e02bf15db02fde1ec92365f5
+
+arpsend: Fix segfault when parsing long options
+parse_options(): NULL-terminate long_options array.
+
+Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
+---
+
+Index: vzctl-3.0.11/src/arpsend.c
+===================================================================
+--- vzctl-3.0.11.orig/src/arpsend.c
++++ vzctl-3.0.11/src/arpsend.c
+@@ -165,7 +165,8 @@ void parse_options (int argc, char **arg
+ {"trg-arp", 1, NULL, 'T'},
+ {"src-ip", 1, NULL, 'i'},
+ {"trg-ip", 1, NULL, 'e'},
+- {"at-once", 0, NULL, 'o'}
++ {"at-once", 0, NULL, 'o'},
++ {NULL, 0, NULL, 0}
+ };
+
+ while ((c = getopt_long(argc, argv, short_options, long_options, NULL)) != -1)
diff --git a/sys-cluster/vzctl/files/patches/045_all_vzctl-enter-exit-msg.patch b/sys-cluster/vzctl/files/patches/045_all_vzctl-enter-exit-msg.patch
new file mode 100644
index 0000000..4b8cf44
--- /dev/null
+++ b/sys-cluster/vzctl/files/patches/045_all_vzctl-enter-exit-msg.patch
@@ -0,0 +1,26 @@
+From: Igor Sukhih <igor@openvz.org>
+Date: Fri, 25 Aug 2006 07:55:33 +0000 (+0400)
+Subject: vzctl enter: fixed print exit message.
+X-Git-Url: http://git.openvz.org/?p=vzctl;a=commitdiff;h=7b115e65ffce24039253b3cf14cf3021c18048cd
+
+vzctl enter: fixed print exit message.
+Extra \n was printed.
+---
+
+Index: vzctl-3.0.11/src/enter.c
+===================================================================
+--- vzctl-3.0.11.orig/src/enter.c
++++ vzctl-3.0.11/src/enter.c
+@@ -303,10 +303,10 @@ err:
+ if (errno != EINTR)
+ break;
+ if (WIFSIGNALED(status))
+- logger(0, 0, "got signal %d", WTERMSIG(status));
++ fprintf(stdout, "got signal %d\n", WTERMSIG(status));
+ if (!ret) {
+ raw_off();
+- logger(0, 0, "exited from VPS %d\n", veid);
++ fprintf(stdout, "exited from VPS %d\n", veid);
+ }
+ close(in[1]); close(out[0]);
+ return 0;
diff --git a/sys-cluster/vzctl/files/patches/050_all_vzctl-enter-forward-msg-from-child.patch b/sys-cluster/vzctl/files/patches/050_all_vzctl-enter-forward-msg-from-child.patch
new file mode 100644
index 0000000..ee8bd6f
--- /dev/null
+++ b/sys-cluster/vzctl/files/patches/050_all_vzctl-enter-forward-msg-from-child.patch
@@ -0,0 +1,38 @@
+From: Dmitry V. Levin <ldv@altlinux.org>
+Date: Fri, 25 Aug 2006 07:42:05 +0000 (+0400)
+Subject: vzctl enter: Forward error messages from child process
+X-Git-Url: http://git.openvz.org/?p=vzctl;a=commitdiff;h=52b79699c9e5f7b9f3bebd6141395c374b80e22a
+
+vzctl enter: Forward error messages from child process
+vzctl: do_enter():
+ - In child, redirect stdout and stderr to pipe.
+ - In parent, read child's output from pipe even if enter failed.
+
+Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
+---
+
+Index: vzctl-3.0.11/src/enter.c
+===================================================================
+--- vzctl-3.0.11.orig/src/enter.c
++++ vzctl-3.0.11/src/enter.c
+@@ -231,6 +231,8 @@ int do_enter(vps_handler *h, envid_t vei
+ close(in[1]); close(out[0]); close(st[0]);
+ /* list of skipped fds -1 the end mark */
+ close_fds(1, in[0], out[1], st[1], h->vzfd, -1);
++ dup2(out[1], 1);
++ dup2(out[1], 2);
+ if ((ret = vz_chroot(root)))
+ goto err;
+ ret = vz_env_create_ioctl(h, veid, VE_ENTER);
+@@ -297,7 +299,10 @@ err:
+ raw_on();
+ e_loop(fileno(stdin), in[1], out[0], fileno(stdout));
+ } else {
+- fprintf(stdout, "enter failed\n");
++ fprintf(stdout, "enter into VPS %d failed\n", veid);
++ set_not_blk(out[0]);
++ while (stdredir(out[0], fileno(stdout)) == 0)
++ ;
+ }
+ while ((waitpid(pid, &status, 0)) == -1)
+ if (errno != EINTR)
diff --git a/sys-cluster/vzctl/files/patches/055_all_vzctl-sprintf-snprintf.patch b/sys-cluster/vzctl/files/patches/055_all_vzctl-sprintf-snprintf.patch
new file mode 100644
index 0000000..eeac84c
--- /dev/null
+++ b/sys-cluster/vzctl/files/patches/055_all_vzctl-sprintf-snprintf.patch
@@ -0,0 +1,107 @@
+From: Igor Sukhih <igor@openvz.org>
+Date: Tue, 22 Aug 2006 13:47:40 +0000 (+0400)
+Subject: Replace sprintf() -> snprintf() to avoid possible buffer overflow.
+X-Git-Url: http://git.openvz.org/?p=vzctl;a=commitdiff;h=134f49e8f03dd3f74a73d13cf32a612946c36505
+
+Replace sprintf() -> snprintf() to avoid possible buffer overflow.
+---
+
+Index: vzctl-3.0.11/src/vzlist.c
+===================================================================
+--- vzctl-3.0.11.orig/src/vzlist.c
++++ vzctl-3.0.11/src/vzlist.c
+@@ -48,6 +48,7 @@ static int n_veinfo = 0;
+
+ static char g_outbuffer[4096] = "";
+ static char *p_outbuffer = g_outbuffer;
++static char *e_buf = g_outbuffer + sizeof(g_outbuffer) - 1;
+ static char *host_pattern = NULL;
+ static char *name_pattern = NULL;
+ static int vzctlfd;
+@@ -90,29 +91,29 @@ static void print_ip(struct Cveinfo *p,
+ /* Print functions */
+ static void print_veid(struct Cveinfo *p, int index)
+ {
+- p_outbuffer += sprintf(p_outbuffer, "%10d", p->veid);
++ p_outbuffer += snprintf(p_outbuffer, e_buf - p_outbuffer, "%10d", p->veid);
+ }
+
+ static void print_status(struct Cveinfo *p, int index)
+ {
+- p_outbuffer += sprintf(p_outbuffer, "%-7s", ve_status[p->status]);
++ p_outbuffer += snprintf(p_outbuffer, e_buf - p_outbuffer, "%-7s", ve_status[p->status]);
+ }
+
+ static void print_laverage(struct Cveinfo *p, int index)
+ {
+ if (p->la == NULL)
+- p_outbuffer += sprintf(p_outbuffer, "%14s", "-");
++ p_outbuffer += snprintf(p_outbuffer, e_buf - p_outbuffer, "%14s", "-");
+ else
+- p_outbuffer += sprintf(p_outbuffer, "%1.2f/%1.2f/%1.2f",
++ p_outbuffer += snprintf(p_outbuffer, e_buf - p_outbuffer, "%1.2f/%1.2f/%1.2f",
+ p->la->la[0], p->la->la[1], p->la->la[2]);
+ }
+
+ static void print_cpulimit(struct Cveinfo *p, int index)
+ {
+ if (p->cpu == NULL)
+- p_outbuffer += sprintf(p_outbuffer, "%7s", "-");
++ p_outbuffer += snprintf(p_outbuffer, e_buf - p_outbuffer, "%7s", "-");
+ else
+- p_outbuffer += sprintf(p_outbuffer, "%7lu",
++ p_outbuffer += snprintf(p_outbuffer, e_buf - p_outbuffer, "%7lu",
+ p->cpu->limit[index]);
+ }
+
+@@ -122,9 +123,9 @@ static void fn(struct Cveinfo *p, int in
+ if (p->res == NULL || \
+ (p->status != VE_RUNNING && \
+ (index == 0 || index == 1 || index == 4))) \
+- p_outbuffer += sprintf(p_outbuffer, "%10s", "-"); \
++ p_outbuffer += snprintf(p_outbuffer, e_buf - p_outbuffer, "%10s", "-"); \
+ else \
+- p_outbuffer += sprintf(p_outbuffer, "%10lu", \
++ p_outbuffer += snprintf(p_outbuffer, e_buf - p_outbuffer, "%10lu", \
+ p->res->name[index]); \
+ } \
+
+@@ -154,9 +155,9 @@ static void fn(struct Cveinfo *p, int in
+ { \
+ if (p->res == NULL || \
+ (p->status != VE_RUNNING && (index == 0))) \
+- p_outbuffer += sprintf(p_outbuffer, "%10s", "-"); \
++ p_outbuffer += snprintf(p_outbuffer, e_buf - p_outbuffer, "%10s", "-"); \
+ else \
+- p_outbuffer += sprintf(p_outbuffer, "%10lu", \
++ p_outbuffer += snprintf(p_outbuffer, e_buf - p_outbuffer, "%10lu", \
+ p->res->name[index]); \
+ } \
+
+@@ -519,7 +520,7 @@ static void print_hostname(struct Cveinf
+
+ if (p->hostname != NULL)
+ str = p->hostname;
+- r = sprintf(p_outbuffer, "%-32s", str);
++ r = snprintf(p_outbuffer, e_buf - p_outbuffer, "%-32s", str);
+ if (last_field != NULL &&
+ field_names[last_field->order].res_type != RES_HOSTNAME)
+ {
+@@ -535,7 +536,7 @@ static void print_name(struct Cveinfo *p
+
+ if (p->name != NULL)
+ str = p->name;
+- r = sprintf(p_outbuffer, "%-32s", str);
++ r = snprintf(p_outbuffer, e_buf - p_outbuffer, "%-32s", str);
+ if (last_field != NULL &&
+ field_names[last_field->order].res_type != RES_NAME)
+ {
+@@ -559,7 +560,7 @@ static void print_ip(struct Cveinfo *p,
+ if ((ch = strchr(str, ' ')) != NULL)
+ *ch = 0;
+ }
+- r = sprintf(p_outbuffer, "%-15s", str);
++ r = snprintf(p_outbuffer, e_buf - p_outbuffer, "%-15s", str);
+ if (last_field != NULL &&
+ field_names[last_field->order].res_type != RES_IP)
+ {
diff --git a/sys-cluster/vzctl/files/patches/200_all_incorrect-spelling.patch b/sys-cluster/vzctl/files/patches/200_all_incorrect-spelling.patch
new file mode 100644
index 0000000..f6c6738
--- /dev/null
+++ b/sys-cluster/vzctl/files/patches/200_all_incorrect-spelling.patch
@@ -0,0 +1,76 @@
+From: Kirill Korotaev <dev@openvz.org>
+Date: Tue, 22 Aug 2006 10:29:52 +0000 (+0400)
+Subject: Fix misprints in distro scripts
+X-Git-Url: http://git.openvz.org/?p=vzctl;a=commitdiff;h=6b349c3d3adea85c73452d269a8278d86a35795f
+
+Fix misprints in distro scripts
+text misprints fixes.
+
+http://bugzilla.openvz.org/show_bug.cgi?id=228
+---
+
+Index: vzctl-3.0.11/etc/dists/scripts/debian-add_ip.sh
+===================================================================
+--- vzctl-3.0.11.orig/etc/dists/scripts/debian-add_ip.sh
++++ vzctl-3.0.11/etc/dists/scripts/debian-add_ip.sh
+@@ -25,7 +25,7 @@
+ # Optional parameters:
+ # VE_STATE - state of VE; could be one of:
+ # starting | stopping | running | stopped
+-# IPDELALL - deleet all ip addresse
++# IPDELALL - delete all ip addresses
+ #
+ VENET_DEV=venet0
+ LOOPBACK=lo
+Index: vzctl-3.0.11/etc/dists/scripts/redhat-del_ip.sh
+===================================================================
+--- vzctl-3.0.11.orig/etc/dists/scripts/redhat-del_ip.sh
++++ vzctl-3.0.11/etc/dists/scripts/redhat-del_ip.sh
+@@ -22,7 +22,7 @@
+ # Required parameters:
+ # IP_ADDR - IPs to delete, several addresses should be divided by space
+ # Optional parameters:
+-# IPDELALL - deleet all ip addresses
++# IPDELALL - delete all ip addresses
+ VENET_DEV=venet0
+ VENET_DEV_CFG=ifcfg-${VENET_DEV}
+ IFCFG_DIR=/etc/sysconfig/network-scripts/
+Index: vzctl-3.0.11/etc/dists/scripts/slackware-9.x_del_ip.sh
+===================================================================
+--- vzctl-3.0.11.orig/etc/dists/scripts/slackware-9.x_del_ip.sh
++++ vzctl-3.0.11/etc/dists/scripts/slackware-9.x_del_ip.sh
+@@ -22,7 +22,7 @@
+ # Required parameters:
+ # IP_ADDR - IPs to delete, several addresses should be divided by space
+ # Optional parameters:
+-# IPDELALL - deleet all ip addresses
++# IPDELALL - delete all ip addresses
+ IFCFG=/etc/rc.d/rc.inet1
+
+ function del_ip()
+Index: vzctl-3.0.11/etc/dists/scripts/slackware-del_ip.sh
+===================================================================
+--- vzctl-3.0.11.orig/etc/dists/scripts/slackware-del_ip.sh
++++ vzctl-3.0.11/etc/dists/scripts/slackware-del_ip.sh
+@@ -22,7 +22,7 @@
+ # Required parameters:
+ # IP_ADDR - IPs to delete, several addresses should be divided by space
+ # Optional parameters:
+-# IPDELALL - deleet all ip addresses
++# IPDELALL - delete all ip addresses
+ IFCFG=/etc/rc.d/rc.inet1.conf
+
+ function del_ip()
+Index: vzctl-3.0.11/etc/dists/scripts/suse-8.x_del_ip.sh
+===================================================================
+--- vzctl-3.0.11.orig/etc/dists/scripts/suse-8.x_del_ip.sh
++++ vzctl-3.0.11/etc/dists/scripts/suse-8.x_del_ip.sh
+@@ -22,7 +22,7 @@
+ # Required parameters:
+ # IP_ADDR - IPs to delete, several addresses should be divided by space
+ # Optional parameters:
+-# IPDELALL - deleet all ip addresses
++# IPDELALL - delete all ip addresses
+ VENET_DEV=venet0
+ VENET_DEV_CFG=ifcfg-${VENET_DEV}
+ IFCFG_DIR=/etc/sysconfig/network/
diff --git a/sys-cluster/vzctl/files/patches/205_all_ve-light.conf-sample.patch b/sys-cluster/vzctl/files/patches/205_all_ve-light.conf-sample.patch
new file mode 100644
index 0000000..2358576
--- /dev/null
+++ b/sys-cluster/vzctl/files/patches/205_all_ve-light.conf-sample.patch
@@ -0,0 +1,27 @@
+From: Igor Sukhih <igor@openvz.org>
+Date: Tue, 22 Aug 2006 13:34:37 +0000 (+0400)
+Subject: Increase dgramrcvbuf and othersockbuf in ve-light.conf-sample
+X-Git-Url: http://git.openvz.org/?p=vzctl;a=commitdiff;h=5478976ff1f979e52dec140df556d1df7f2790de
+
+Increase dgramrcvbuf and othersockbuf in ve-light.conf-sample
+ve-light.conf-sample is too much light,
+so that vzcfgvalidate recommends to increase the limits.
+
+http://bugzilla.openvz.org/show_bug.cgi?id=234
+---
+
+Index: vzctl-3.0.11/etc/ve-light.conf-sample
+===================================================================
+--- vzctl-3.0.11.orig/etc/ve-light.conf-sample
++++ vzctl-3.0.11/etc/ve-light.conf-sample
+@@ -28,8 +28,8 @@ VMGUARPAGES="1725:2147483647"
+ KMEMSIZE="1740800:1847296"
+ TCPSNDBUF="159744:262144"
+ TCPRCVBUF="159744:262144"
+-OTHERSOCKBUF="61440:163840"
+-DGRAMRCVBUF="32768:32768"
++OTHERSOCKBUF="135168:196608"
++DGRAMRCVBUF="135168:196608"
+ OOMGUARPAGES="1725:2147483647"
+ # Auxiliary parameters
+ LOCKEDPAGES="4:4"
diff --git a/sys-cluster/vzctl/files/patches/210_all_vzctl-3.0.11-vzctl.8.patch b/sys-cluster/vzctl/files/patches/210_all_vzctl-3.0.11-vzctl.8.patch
new file mode 100644
index 0000000..12a2f79
--- /dev/null
+++ b/sys-cluster/vzctl/files/patches/210_all_vzctl-3.0.11-vzctl.8.patch
@@ -0,0 +1,22 @@
+From: Igor Sukhih <igor@openvz.org>
+Date: Tue, 22 Aug 2006 13:41:19 +0000 (+0400)
+Subject: Added --name description to vzctl.8
+X-Git-Url: http://git.openvz.org/?p=vzctl;a=commitdiff;h=0c4d2abe1f18993fc871e19af62f90651a56ac7e
+
+Added --name description to vzctl.8
+---
+
+Index: vzctl-3.0.11/man/vzctl.8
+===================================================================
+--- vzctl-3.0.11.orig/man/vzctl.8
++++ vzctl-3.0.11/man/vzctl.8
+@@ -66,6 +66,9 @@ Note that VPS area should be created bef
+ \fB--disabled\fR \fIyes\fR|\fIno\fR
+ Disable VPS start. For force start disabled VPS option \fI--force\fR can be used.
+ .TP
++\fB--name\fR \fIname\fR
++Bind VE with \fIname\fR that name can be used for VE actions insted of \fIveid\fR.
++.TP
+ \fBNetwork related parameters\fR
+ .TP
+ \fB--ipadd\fR \fIaddr\fR
diff --git a/sys-cluster/vzctl/files/patches/215_all_vzmigrate-mawk.patch b/sys-cluster/vzctl/files/patches/215_all_vzmigrate-mawk.patch
new file mode 100644
index 0000000..cdb0225
--- /dev/null
+++ b/sys-cluster/vzctl/files/patches/215_all_vzmigrate-mawk.patch
@@ -0,0 +1,25 @@
+From: Kirill Korotaev <dev@openvz.org>
+Date: Tue, 22 Aug 2006 10:34:04 +0000 (+0400)
+Subject: Fix vzmigrate to work with mawk (not gawk only)
+X-Git-Url: http://git.openvz.org/?p=vzctl;a=commitdiff;h=ca21ee121297cd2e230895078fd3153230e37794
+
+Fix vzmigrate to work with mawk (not gawk only)
+http://bugzilla.openvz.org/show_bug.cgi?id=231
+
+Signed-Off-By: Thorsten Schifferdecker <tsd@debian.systs.org>
+Signed-Off-By: Kirill Korotaev <dev@openvz.org>
+---
+
+Index: vzctl-3.0.11/vzmigrate
+===================================================================
+--- vzctl-3.0.11.orig/vzmigrate
++++ vzctl-3.0.11/vzmigrate
+@@ -375,7 +375,7 @@ fi
+
+ log 1 "Syncing private"
+ if ! rsync -aH --progress "$VE_PRIVATE" "root@$host:${VE_PRIVATE%/*}" | \
+- grep "% of" | awk --assign ORS="\r" '{print $10}'; then
++ grep "% of" | awk -v ORS="\r" '{print $10}'; then
+ log 1 "Failed to sync VPS private areas"
+ undo_quota_on
+ exit $MIG_ERR_COPY
diff --git a/sys-cluster/vzctl/files/vz.initd b/sys-cluster/vzctl/files/vz.initd
new file mode 100644
index 0000000..6a7149e
--- /dev/null
+++ b/sys-cluster/vzctl/files/vz.initd
@@ -0,0 +1,263 @@
+#!/sbin/runscript
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/vzctl/files/vz-3.0.10.initd,v 1.2 2006/07/09 10:29:24 phreak Exp $
+
+depend() {
+ need net
+ before iptables
+}
+
+check_config() {
+ # if we don't want openvz running, say so
+ [ "${VIRTUOZZO}" = "yes" ] || return 1
+
+ # set default values
+ : ${VZCTL:=/usr/sbin/vzctl}
+ : ${VZQUOTA:=/usr/sbin/vzquota}
+ : ${VZVEINFO:=/proc/vz/veinfo}
+ : ${VPSCONFDIR:=/etc/vz}
+ : ${PRELOAD_MODULES:="af_packet"}
+ : ${MODULES:="vzmon vzdquota vzdev"}
+ : ${MIGRATE_MODULES:="vzcpt vzrst"}
+ : ${NET_MODULES="vznetdev vznet"}
+ : ${VZDEV:=venet0}
+ : ${PARALLEL:=4}
+
+ # check if you should load vzwdog module
+ [ "${VZWDOG}" = "yes" ] && MODULES="${MODULES} vzwdog"
+
+ # we need a working vzctl
+ if [ ! -x "${VZCTL}" ]; then
+ eerror "vzctl missing (${VZCTL})"
+ return 1
+ fi
+
+ # prevent dumb users from failure
+ if [ ! -e /dev/vzctl ]; then
+ eerror "Missing device node /dev/vzctl"
+ einfo
+ einfo "Please create the vzctl device node using the following command:"
+ einfo " /bin/mknod /dev/vzctl c 126 0"
+ einfo
+ return 1
+ fi
+
+ if [ -z "${VE0CPUUNITS}" ]; then
+ ewarn "VE0CPUUNITS is not set in /etc/conf.d/vz; using default value of 1000"
+ VE0CPUUNITS=1000
+ fi
+ return 0
+}
+
+setup_ve0() {
+ local msg ve0conf="${VPSCONFDIR}/0.conf"
+
+ msg=$(${VZCTL} set 0 --cpuunits ${VE0CPUUNITS} 2>&1)
+ [ $? -ne 0 ] && ewarn "vzctl set 0 --cpuunits ${VE0CPUUNITS} failed: ${msg}"
+
+ test -f ${ve0conf} || return
+ egrep -q '^ONBOOT=yes\|^ONBOOT=\"yes\"' ${ve0conf} || return
+
+ ebegin "Configuring hardware node UB resources: "
+ msg=$(${VZCTL} set 0 --reset_ub 2>&1)
+ eend $? ${msg}
+}
+
+start_net() {
+ local mod
+
+ # we don't operate on a running interface
+ if /sbin/ip addr ls | grep -q "venet0:.*UP" 2>/dev/null; then
+ return 0
+ fi
+
+ # load necessary modules
+ for mod in ${NET_MODULES}; do
+ /sbin/modprobe ${mod} 2>/dev/null
+ done
+
+ # configure the device
+ ebegin "Bringing up interface ${VZDEV}"
+ /sbin/ip link set ${VZDEV} up
+ eend $?
+
+ /sbin/ip addr add 0.0.0.0/0 dev ${VZDEV}
+
+ ebegin "Configuring interface ${VZDEV}"
+ /sbin/sysctl -q -w net.ipv4.conf.${VZDEV}.send_redirects=0
+ eend $?
+}
+
+stop_net() {
+ local mod
+
+ if /sbin/ip a l | grep -q "venet0:.*UP" 2>/dev/null; then
+ ebegin "Bringing down interface ${VZDEV}"
+ /sbin/ip link set ${VZDEV} down 2>/dev/null
+ eend $?
+ fi
+
+ # remove all modules we probably loaded on start_net
+ for mod in ${NET_MODULES}; do
+ /sbin/modprobe -r ${mod} > /dev/null 2>&1
+ done
+}
+
+start_ve() {
+ local veid velist msg need_restart=""
+
+ # get all VPSs we should start on boot
+ if ! cd ${VPSCONFDIR}; then
+ eerror $? "Unable to cd to ${VPSCONFDIR}"
+ return 1
+ fi
+ velist=$(grep -l '^ONBOOT=yes\|^ONBOOT=\"yes\"' [0-9]*.conf 2>/dev/null | sed -e 's/.conf//g' | sort -n)
+ cd - >/dev/null
+
+ /sbin/sysctl -q -w net.ipv4.route.src_check=0
+
+ for veid in ${velist}; do
+ ebegin "Starting VPS ${veid}"
+ if [ "${VZFASTBOOT}" = "yes" -a "${DISK_QUOTA}" = "yes" ]; then
+ ${VZQUOTA} stat ${veid} >/dev/null 2>&1
+ if [ $? -eq 6 ]; then
+ if ${VZQUOTA} show ${veid} 2>&1 | grep "vzquota : (warning) Quota is running" >/dev/null 2>&1; then
+ ${VZQUOTA} on ${veid} --nocheck >/dev/null 2>&1
+ need_restart="${need_restart} ${veid}"
+ fi
+ fi
+ fi
+ msg=$(${VZCTL} start ${veid} 2>&1)
+ eend $? "${msg}"
+ done
+
+ for veid in ${need_restart}; do
+ ebegin "Stopping VPS ${veid}"
+ msg=$(${VZCTL} stop ${veid})
+ eend $? "${msg}"
+
+ ebegin "Starting VPS ${veid}"
+ msg=$($VZCTL start ${veid} 2>&1)
+ eend $? "${msg}"
+ done
+
+ # we're ok even if some VPSs failed to start
+ return 0
+}
+
+stop_ve() {
+ local veid velist msg m mounts fail i iter pid pids quota
+
+ if [ -f ${VZVEINFO} ]; then
+ for ((i = 0; i <= 2; i++)); do
+ iter=0
+ pids=
+ velist=$(awk '{print $1;}' < ${VZVEINFO} | grep -v "^0$")
+
+ for veid in ${velist}; do
+ ebegin "Shutting down VPS $veid"
+ # Set fairsched parameters to maximum so
+ # VPS will stop fast
+ ${VZCTL} set ${veid} --cpuunits 2000 --cpulimit 0 >/dev/null 2>&1
+ ${VZCTL} --skiplock stop ${veid} >/dev/null 2>&1 &
+ pids="${pids} $!"
+ let iter++
+ sleep 1
+ if [ ${iter} -gt ${PARALLEL} ]; then
+ for pid in ${pids}; do
+ wait ${pid}
+ done
+ pids=
+ iter=0
+ fi
+ done
+
+ for pid in ${pids}; do
+ wait ${pid}
+ done
+ done
+ fi
+
+ iter=0
+ fail=1
+
+ while [ ${iter} -lt 5 -a ${fail} -ne 0 ]; do
+ fail=0
+ mounts=$(awk '{if ($3=="simfs") print $2}' /proc/mounts)
+
+ for m in ${mounts}; do
+ ebegin "Unmounting VPS area ${m}"
+ msg=$(umount ${m} 2>&1)
+ eend $? "${msg}"
+ if [ $? -ne 0 ]; then
+ let fail++
+ fuser -k -m ${m} > /dev/null 2>&1
+ fi
+ done
+
+ let iter++
+ done
+
+ # turn quota off
+ quota=$(awk -F: '/^[0-9]+:/{print $1}' /proc/vz/vzquota 2>/dev/null)
+
+ for m in ${quota}; do
+ ebegin "Turning quota off for VPS ${m}"
+ msg=$(vzquota off ${m} 2>&1)
+ eend $? "${msg}"
+ done
+}
+
+start() {
+ check_config || return
+
+ local mod rc
+
+ ebegin "Loading OpenVZ modules"
+ for mod in ${PRELOAD_MODULES}; do
+ /sbin/modprobe -r ${mod} >/dev/null 2>&1
+ /sbin/modprobe ${mod} >/dev/null 2>&1
+ done
+
+ for mod in ${MODULES}; do
+ /sbin/modprobe ${mod} >/dev/null 2>&1
+ rc=$?
+ if [ ${rc} -ne 0 ]; then
+ eend ${rc} "failed to load module ${mod}"
+ return ${rc}
+ fi
+ done
+
+ for mod in ${MIGRATE_MODULES}; do
+ /sbin/modprobe ${mod} >/dev/null 2>&1
+ done
+ eend
+
+ start_net
+
+ setup_ve0
+
+ start_ve
+}
+
+stop() {
+ check_config || return
+
+ local mod
+
+ stop_ve
+ stop_net
+
+ for mod in ${MODULES}; do
+ /sbin/modprobe -r ${mod} > /dev/null 2>&1
+ done
+
+ for mod in ${PRELOAD_MODULES}; do
+ /sbin/modprobe -r ${mod} > /dev/null 2>&1
+ done
+
+ # Even if some modules failed to unload (say they were not loaded)
+ # we return 0 for the service to be marked as stopped.
+ return 0
+}
diff --git a/sys-cluster/vzctl/vzctl-3.0.11.ebuild b/sys-cluster/vzctl/vzctl-3.0.11.ebuild
new file mode 100644
index 0000000..86f1e2c
--- /dev/null
+++ b/sys-cluster/vzctl/vzctl-3.0.11.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/vzctl/vzctl-3.0.10-r2.ebuild,v 1.1 2006/07/09 10:29:24 phreak Exp $
+
+inherit eutils flag-o-matic
+
+DESCRIPTION="OpenVZ VPS control utility"
+HOMEPAGE="http://openvz.org/"
+SRC_URI="http://download.openvz.org/utils/${PN}/${PV}/src/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="app-admin/logrotate
+ sys-apps/ed
+ net-firewall/iptables
+ sys-fs/vzquota
+ sys-apps/iproute2"
+
+DEPEND="${RDEPEND}"
+
+src_unpack() {
+ unpack ${A}
+
+ epatch "${FILESDIR}"/patches/*.patch
+}
+
+src_compile() {
+ append-flags -Wall -g2
+ emake CFLAGS="${CFLAGS}" || die
+}
+
+src_install() {
+# make DESTDIR="${D}" "/usr/$(get_libdir)/vzctl" install || die "make install failed"
+ make DESTDIR="${D}" install || die "make install failed"
+
+ # Provide a symlink for vz.conf (part 1 of fixing #138462)
+ dosym /etc/vz/vz.conf /etc/conf.d/vz
+
+ # Install gentoo specific init script
+ newinitd "${FILESDIR}"/vz.initd vz
+}
+
+pkg_postinst() {
+ if has_version "<3.0.10"; then
+ ewarn
+ ewarn "The location of some vzctl files have changed. Most notably,"
+ ewarn "VE configuration files and samples directory has changed from"
+ ewarn "/etc/vz to /etc/vz/conf. In order to be able to work with"
+ ewarn "your VEs, please do the following:"
+ ewarn
+ ewarn "bash# mv /etc/vz/[0-9]*.conf /etc/vz/conf/"
+ ewarn
+ fi
+}