openSUSE Commits
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
May 2014
- 1 participants
- 1539 discussions
Hello community,
here is the log from the commit of package mcelog for openSUSE:Factory checked in at 2014-05-02 14:00:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mcelog (Old)
and /work/SRC/openSUSE:Factory/.mcelog.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mcelog"
Changes:
--------
--- /work/SRC/openSUSE:Factory/mcelog/mcelog.changes 2013-12-19 15:09:21.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.mcelog.new/mcelog.changes 2014-05-02 14:00:51.000000000 +0200
@@ -1,0 +2,10 @@
+Mon Apr 28 16:49:38 UTC 2014 - trenn(a)suse.de
+
+- Update to latest git tag v101.
+- Mainline decided to finally do a version upgrade to v101
+- Remove v1.1 again, obsolete it and go for version v102
+- Some important fixes in the latest update:
+ - bnc#873159
+ - bnc#873725
+
+-------------------------------------------------------------------
Old:
----
mcelog-1.1.tar.bz2
New:
----
mcelog-1.0.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mcelog.spec ++++++
--- /var/tmp/diff_new_pack.z1xyKR/_old 2014-05-02 14:00:52.000000000 +0200
+++ /var/tmp/diff_new_pack.z1xyKR/_new 2014-05-02 14:00:52.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package mcelog
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,11 +16,12 @@
#
+
Name: mcelog
Summary: Log Machine Check Events
License: GPL-2.0+
Group: System/Monitoring
-Version: 1.1
+Version: 1.0.1
Release: 0
ExclusiveArch: ix86 x86_64
BuildRequires: libesmtp-devel
@@ -36,6 +37,9 @@
Patch2: mcelog_invert_prefill_db_warning.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: %fillup_prereq
+Url: https://git.kernel.org/cgit/utils/cpu/mce/mcelog.git
+# Previously version was wrong, mainline decided to go for 1.0.1. not 1.1
+Obsoletes: mcelog = 1.1
%{?systemd_requires}
%description
@@ -78,6 +82,7 @@
install -m 644 lk10-mcelog.pdf $RPM_BUILD_ROOT/%_docdir/%name/lk10-mcelog.pdf
install -D -m 0644 %SOURCE3 %{buildroot}%{_unitdir}/mcelog.service
install -D -m 0644 %SOURCE4 %{buildroot}%{_udevrulesdir}/90-mcelog.rules
+ln -sf %_sbindir/service ${RPM_BUILD_ROOT}%_sbindir/rcmcelog
%clean
rm -rf $RPM_BUILD_ROOT
@@ -108,5 +113,6 @@
%{_unitdir}/mcelog.service
%{_udevrulesdir}/90-mcelog.rules
%_docdir/%name
+%_sbindir/rcmcelog
%changelog
++++++ email.patch ++++++
--- /var/tmp/diff_new_pack.z1xyKR/_old 2014-05-02 14:00:52.000000000 +0200
+++ /var/tmp/diff_new_pack.z1xyKR/_new 2014-05-02 14:00:52.000000000 +0200
@@ -7,10 +7,10 @@
msg.c | 8 ++
6 files changed, 343 insertions(+), 2 deletions(-)
-Index: mcelog-1.1/Makefile
+Index: mcelog-1.0.1/Makefile
===================================================================
---- mcelog-1.1.orig/Makefile
-+++ mcelog-1.1/Makefile
+--- mcelog-1.0.1.orig/Makefile
++++ mcelog-1.0.1/Makefile
@@ -1,3 +1,4 @@
+CONFIG_EMAIL := 1
CFLAGS := -g -Os
@@ -39,10 +39,10 @@
SRC := $(OBJ:.o=.c)
mcelog: ${OBJ}
-Index: mcelog-1.1/email.c
+Index: mcelog-1.0.1/email.c
===================================================================
--- /dev/null
-+++ mcelog-1.1/email.c
++++ mcelog-1.0.1/email.c
@@ -0,0 +1,199 @@
+#include <unistd.h>
+#include <signal.h>
@@ -243,10 +243,10 @@
+ smtp_destroy_session (session);
+ return 0;
+}
-Index: mcelog-1.1/email.h
+Index: mcelog-1.0.1/email.h
===================================================================
--- /dev/null
-+++ mcelog-1.1/email.h
++++ mcelog-1.0.1/email.h
@@ -0,0 +1,34 @@
+#ifndef _MCELOG_EMAIL_H_
+#define _MCELOG_EMAIL_H_
@@ -282,10 +282,10 @@
+#endif
+
+#endif
-Index: mcelog-1.1/mcelog.c
+Index: mcelog-1.0.1/mcelog.c
===================================================================
---- mcelog-1.1.orig/mcelog.c
-+++ mcelog-1.1/mcelog.c
+--- mcelog-1.0.1.orig/mcelog.c
++++ mcelog-1.0.1/mcelog.c
@@ -37,6 +37,7 @@
#include <assert.h>
#include <signal.h>
@@ -313,7 +313,7 @@
static char *inputfile;
char *processor_flags;
static int foreground;
-@@ -927,6 +931,7 @@ void usage(void)
+@@ -928,6 +932,7 @@ void usage(void)
"--pidfile file Write pid of daemon into file\n"
"--no-imc-log Disable extended iMC logging\n"
);
@@ -321,7 +321,7 @@
diskdb_usage();
print_cputypes();
exit(1);
-@@ -994,6 +999,7 @@ static struct option options[] = {
+@@ -995,6 +1000,7 @@ static struct option options[] = {
{ "debug-numerrors", 0, NULL, O_DEBUG_NUMERRORS }, /* undocumented: for testing */
{ "no-imc-log", 0, NULL, O_NO_IMC_LOG },
DISKDB_OPTIONS
@@ -329,7 +329,7 @@
{}
};
-@@ -1171,11 +1177,86 @@ static void drop_cred(void)
+@@ -1170,11 +1176,86 @@ static void drop_cred(void)
}
}
@@ -410,13 +410,13 @@
static void process(int fd, unsigned recordlen, unsigned loglen, char *buf)
{
int i;
- int len;
- int finish = 0;
+ int len, count;
+ int finish = 0, flags;
+ int mail_setup = 0;
if (recordlen == 0) {
Wprintf("no data in mce record\n");
-@@ -1195,12 +1276,16 @@ static void process(int fd, unsigned rec
+@@ -1201,12 +1282,16 @@ static void process(int fd, unsigned rec
finish = 1;
if (!mce_filter(mce, recordlen))
continue;
@@ -433,7 +433,7 @@
flushlog();
}
-@@ -1311,6 +1396,8 @@ int main(int ac, char **av)
+@@ -1317,6 +1402,8 @@ int main(int ac, char **av)
exit(0);
} else if (diskdb_cmd(opt, ac, av)) {
exit(0);
@@ -442,7 +442,7 @@
} else if (opt == 0)
break;
}
-@@ -1339,6 +1426,10 @@ int main(int ac, char **av)
+@@ -1345,6 +1432,10 @@ int main(int ac, char **av)
logfn = av[optind++];
if (av[optind])
usage();
@@ -453,10 +453,10 @@
checkdmi();
general_setup();
-Index: mcelog-1.1/mcelog.h
+Index: mcelog-1.0.1/mcelog.h
===================================================================
---- mcelog-1.1.orig/mcelog.h
-+++ mcelog-1.1/mcelog.h
+--- mcelog-1.0.1.orig/mcelog.h
++++ mcelog-1.0.1/mcelog.h
@@ -123,6 +123,7 @@ enum cputype {
enum option_ranges {
O_COMMON = 500,
@@ -465,10 +465,10 @@
};
enum syslog_opt {
-Index: mcelog-1.1/msg.c
+Index: mcelog-1.0.1/msg.c
===================================================================
---- mcelog-1.1.orig/msg.c
-+++ mcelog-1.1/msg.c
+--- mcelog-1.0.1.orig/msg.c
++++ mcelog-1.0.1/msg.c
@@ -8,10 +8,13 @@
#include "mcelog.h"
#include "msg.h"
++++++ mcelog-1.1.tar.bz2 -> mcelog-1.0.1.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mcelog-1.1/README.releases new/mcelog-1.0.1/README.releases
--- old/mcelog-1.1/README.releases 1970-01-01 01:00:00.000000000 +0100
+++ new/mcelog-1.0.1/README.releases 2014-03-25 23:09:38.000000000 +0100
@@ -0,0 +1,10 @@
+
+mcelog used to do released, but now switched to a rolling release
+scheme. That means the git tree is always kept stable and can
+be used directly in production.
+
+To simplify package management which likes to have
+increasing version numbers the commits are regularly tagged
+with a number. The number starts (arbitarily) with 100.
+
+The tags are named vXXX (e.g. v100)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mcelog-1.1/intel.c new/mcelog-1.0.1/intel.c
--- old/mcelog-1.1/intel.c 2013-09-20 16:33:19.000000000 +0200
+++ new/mcelog-1.0.1/intel.c 2014-03-25 23:09:38.000000000 +0100
@@ -67,7 +67,8 @@
return CPU_IVY_BRIDGE;
else if (model == 0x3e)
return CPU_IVY_BRIDGE_EPEX;
- else if (model == 0x3c || model == 0x45 || model == 0x46)
+ else if (model == 0x3c || model == 0x3f || model == 0x45 ||
+ model == 0x46)
return CPU_HASWELL;
if (model > 0x1a) {
Eprintf("Family 6 Model %x CPU: only decoding architectural errors\n",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mcelog-1.1/leaky-bucket.c new/mcelog-1.0.1/leaky-bucket.c
--- old/mcelog-1.1/leaky-bucket.c 2013-09-20 16:33:19.000000000 +0200
+++ new/mcelog-1.0.1/leaky-bucket.c 2014-03-25 23:09:38.000000000 +0100
@@ -29,15 +29,16 @@
time_t now)
{
long diff;
- unsigned age;
-
diff = now - b->tstamp;
- age = (diff / (double)c->agetime) * c->capacity;
-
- if (age > b->count)
- b->count = 0;
- else
- b->count -= age;
+ if (diff >= c->agetime) {
+ unsigned age = (diff / (double)c->agetime) * c->capacity;
+ b->tstamp = now;
+ if (age > b->count)
+ b->count = 0;
+ else
+ b->count -= age;
+ b->excess = 0;
+ }
}
/* Account increase in leaky bucket. Return 1 if bucket overflowed. */
@@ -47,9 +48,11 @@
if (c->capacity == 0)
return 0;
bucket_age(c, b, t);
- if (b->count < c->capacity) {
- b->count += inc;
- b->tstamp = t;
+ b->count += inc;
+ if (b->count >= c->capacity) {
+ b->excess += b->count;
+ /* should disable overflow completely in the same time unit */
+ b->count = 0;
return 1;
}
return 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mcelog-1.1/mcelog.8 new/mcelog-1.0.1/mcelog.8
--- old/mcelog-1.1/mcelog.8 2013-09-20 16:33:19.000000000 +0200
+++ new/mcelog-1.0.1/mcelog.8 2014-03-25 23:09:38.000000000 +0100
@@ -181,7 +181,13 @@
.B \-\-daemon
option mcelog will run in the background. This gives the fastest reaction
time and is the recommended operating mode.
-This option implies
+If an output option isn't selected (
+.I \-\-logfile
+or
+.I \-\-syslog
+or
+.I \-\-syslog-error
+), this option implies
.I \-\-logfile=/var/log/mcelog.
Important messages will be logged as one-liner summaries to syslog
unless
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mcelog-1.1/mcelog.c new/mcelog-1.0.1/mcelog.c
--- old/mcelog-1.1/mcelog.c 2013-09-20 16:33:19.000000000 +0200
+++ new/mcelog-1.0.1/mcelog.c 2014-03-25 23:09:38.000000000 +0100
@@ -508,11 +508,12 @@
}
if (seen == ALL) {
if (!strcmp(vendor,"AuthenticAMD")) {
- if (family == 15)
+ if (family == 15) {
cputype = CPU_K8;
- if (family >= 15)
- SYSERRprintf("AMD Processor family %d: Please load edac_mce_amd module.\n", family);
- return 0;
+ } else if (family >= 16) {
+ SYSERRprintf("AMD Processor family %d: Please use the edac_mce_amd module instead.\n", family);
+ return 0;
+ }
} else if (!strcmp(vendor,"GenuineIntel"))
cputype = select_intel_cputype(family, model);
/* Add checks for other CPUs here */
@@ -856,7 +857,7 @@
static void signal_exit(int sig)
{
remove_pidfile();
- _exit(sig);
+ _exit(EXIT_SUCCESS);
}
static void setup_pidfile(char *s)
@@ -1069,11 +1070,8 @@
break;
case O_DAEMON:
daemon_mode = 1;
- if (!logfile && !foreground)
- logfile = logfile_default;
if (!(syslog_opt & SYSLOG_FORCE))
syslog_opt = SYSLOG_REMARK|SYSLOG_ERROR;
-
break;
case O_FILE:
inputfile = optarg;
@@ -1082,8 +1080,6 @@
foreground = 1;
if (!(syslog_opt & SYSLOG_FORCE))
syslog_opt = SYSLOG_FORCE;
- if (logfile == logfile_default)
- logfile = NULL;
break;
case O_NUMERRORS:
numerrors = atoi(optarg);
@@ -1110,6 +1106,9 @@
static void modifier_finish(void)
{
+ if(!foreground && daemon_mode && !logfile && !(syslog_opt & SYSLOG_LOG)) {
+ logfile = logfile_default;
+ }
if (logfile) {
if (open_logfile(logfile) < 0) {
if (daemon_mode && !(syslog_opt & SYSLOG_FORCE))
@@ -1174,8 +1173,8 @@
static void process(int fd, unsigned recordlen, unsigned loglen, char *buf)
{
int i;
- int len;
- int finish = 0;
+ int len, count;
+ int finish = 0, flags;
if (recordlen == 0) {
Wprintf("no data in mce record\n");
@@ -1188,7 +1187,14 @@
return;
}
- for (i = 0; (i < len / (int)recordlen) && !finish; i++) {
+ count = len / (int)recordlen;
+ if (count == (int)loglen) {
+ if ((ioctl(fd, MCE_GETCLEAR_FLAGS, &flags) == 0) &&
+ (flags & MCE_OVERFLOW))
+ Eprintf("Warning: MCE buffer is overflowed.\n");
+ }
+
+ for (i = 0; (i < count) && !finish; i++) {
struct mce *mce = (struct mce *)(buf + i*recordlen);
mce_prepare(mce);
if (numerrors > 0 && --numerrors == 0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mcelog-1.1/p4.c new/mcelog-1.0.1/p4.c
--- old/mcelog-1.1/p4.c 2013-09-20 16:33:19.000000000 +0200
+++ new/mcelog-1.0.1/p4.c 2014-03-25 23:09:38.000000000 +0100
@@ -147,6 +147,7 @@
[3] = "External error",
[4] = "FRC error",
[5] = "Internal parity error",
+ [6] = "SMM Handler Code Access Violation",
};
if (mca & (1UL << 12)) {
++++++ mcelog_invert_prefill_db_warning.patch ++++++
--- /var/tmp/diff_new_pack.z1xyKR/_old 2014-05-02 14:00:52.000000000 +0200
+++ /var/tmp/diff_new_pack.z1xyKR/_new 2014-05-02 14:00:52.000000000 +0200
@@ -2,11 +2,11 @@
memdb.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
-Index: mcelog-1.0.2011.06.08/memdb.c
+Index: mcelog-1.0.1/memdb.c
===================================================================
---- mcelog-1.0.2011.06.08.orig/memdb.c
-+++ mcelog-1.0.2011.06.08/memdb.c
-@@ -417,11 +417,11 @@ void prefill_memdb(void)
+--- mcelog-1.0.1.orig/memdb.c
++++ mcelog-1.0.1/memdb.c
+@@ -421,11 +421,11 @@ void prefill_memdb(void)
md->location = xstrdup(bl);
md->name = xstrdup(dmi_getstring(&d->header, d->device_locator));
}
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package mate-panel for openSUSE:Factory checked in at 2014-05-02 14:00:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mate-panel (Old)
and /work/SRC/openSUSE:Factory/.mate-panel.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mate-panel"
Changes:
--------
--- /work/SRC/openSUSE:Factory/mate-panel/mate-panel.changes 2014-03-22 18:01:40.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.mate-panel.new/mate-panel.changes 2014-05-02 14:00:45.000000000 +0200
@@ -1,0 +2,6 @@
+Sat Apr 26 16:19:27 UTC 2014 - p.drouand(a)gmail.com
+
+- Apply installed layout provided by branding for initial installation
+ with a gsettings override file
+
+-------------------------------------------------------------------
New:
----
mate-panel-branding.gschema.override.in
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mate-panel.spec ++++++
--- /var/tmp/diff_new_pack.9xTDi2/_old 2014-05-02 14:00:46.000000000 +0200
+++ /var/tmp/diff_new_pack.9xTDi2/_new 2014-05-02 14:00:46.000000000 +0200
@@ -24,7 +24,8 @@
Summary: MATE Desktop Panel
Url: http://mate-desktop.org/
Group: System/GUI/Other
-Source: http://pub.mate-desktop.org/releases/1.8/%{name}-%{version}.tar.xz
+Source0: http://pub.mate-desktop.org/releases/1.8/%{name}-%{version}.tar.xz
+Source1: mate-panel-branding.gschema.override.in
Requires: gvfs-backends
Requires: NetworkManager-gnome
Requires: gsettings-backend-dconf
@@ -118,6 +119,7 @@
%prep
%setup -q
+cp -a %{SOURCE1} zz-mate-panel-upream-branding.gschema.override
%build
%configure \
@@ -140,6 +142,9 @@
fi
# Install a default layout to avoid empty package
cp data/default.layout %{buildroot}%{_datadir}/mate-panel
+# And install schema override file to get it applied
+install -d %{buildroot}%{_datadir}/glib-2.0/schemas
+install -m0644 zz-mate-panel-upream-branding.gschema.override %{buildroot}%{_datadir}/glib-2.0/schemas/
%post
%desktop_database_post
@@ -169,15 +174,17 @@
%{_datadir}/dbus-1/services/*.service
%{_datadir}/glib-2.0/schemas/*.xml
%{_datadir}/help/C/
-%{_datadir}/icons/
+%{_datadir}/icons/hicolor
%{_datadir}/%{name}/
#%{_datadir}/mate-panelrc
# Files from branding-upstream
%exclude %{_datadir}/mate-panel/default.layout
+%exclude %{_datadir}/glib-2.0/schemas/zz-mate-panel-upream-branding.gschema.override
%files branding-upstream
%defattr (-, root, root)
%{_datadir}/mate-panel/default.layout
+%{_datadir}/glib-2.0/schemas/zz-mate-panel-upream-branding.gschema.override
%files -n %{_name}
%defattr(-,root,root)
++++++ mate-panel-branding.gschema.override.in ++++++
[org.mate.panel]
default-layout = 'default'
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package mate-branding-openSUSE for openSUSE:Factory checked in at 2014-05-02 14:00:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mate-branding-openSUSE (Old)
and /work/SRC/openSUSE:Factory/.mate-branding-openSUSE.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mate-branding-openSUSE"
Changes:
--------
--- /work/SRC/openSUSE:Factory/mate-branding-openSUSE/mate-branding-openSUSE.changes 2014-04-09 13:15:09.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.mate-branding-openSUSE.new/mate-branding-openSUSE.changes 2014-05-02 14:00:28.000000000 +0200
@@ -1,0 +2,6 @@
+Thu May 1 00:23:48 UTC 2014 - p.drouand(a)gmail.com
+
+- Do not rename openSUSE layout
+- Also use gsetting keys to apply layout
+
+-------------------------------------------------------------------
New:
----
mate-panel-branding.gschema.override.in
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mate-branding-openSUSE.spec ++++++
--- /var/tmp/diff_new_pack.fg3Izg/_old 2014-05-02 14:00:29.000000000 +0200
+++ /var/tmp/diff_new_pack.fg3Izg/_new 2014-05-02 14:00:29.000000000 +0200
@@ -30,6 +30,7 @@
Source1: mate-session-branding-openSUSE-mate_defaults.conf
Source2: mate-session-branding.gschema.override.in
Source3: opensuse.layout
+Source4: mate-panel-branding.gschema.override.in
Patch0: mate-control-center-branding-add-YaST.patch
# PATCH-FIX-OPENSUSE mate-menus-branding-remove-X-SuSE-ControlCenter.patch vuntz(a)opensuse.org -- Remove the desktop files with X-SuSE-YaST category from the Applications menu and explicitly add YaST launcher
Patch1: mate-menus-branding-remove-X-SuSE-ControlCenter.patch
@@ -111,7 +112,8 @@
cp -a %{SOURCE1} mate_defaults.conf
cp -a %{SOURCE2} mate-session-branding.gschema.override.in
# Mate Panel branding part
-cp -a %{SOURCE3} default.layout
+cp -a %{SOURCE3} openSUSE.layout
+cp -a %{SOURCE4} zz-mate-panel-openSUSE-branding.gschema.override
%build
# Mate session manager branding part
@@ -125,12 +127,13 @@
install -d %{buildroot}%{_sysconfdir}/xdg/menus
install -m0644 *.menu %{buildroot}%{_sysconfdir}/xdg/menus/
# Mate Panel branding part
+install -d %{buildroot}%{_datadir}/glib-2.0/schemas
install -d %{buildroot}%{_datadir}/mate-panel/
-install -m0644 default.layout %{buildroot}%{_datadir}/mate-panel/
+install -m0644 openSUSE.layout %{buildroot}%{_datadir}/mate-panel/
+install -m0644 zz-mate-panel-openSUSE-branding.gschema.override %{buildroot}%{_datadir}/glib-2.0/schemas/
# Mate Session Manager branding part
install -d %{buildroot}%{_sysconfdir}
install -m0644 mate_defaults.conf %{buildroot}%{_sysconfdir}/
-install -d %{buildroot}%{_datadir}/glib-2.0/schemas
install -m0644 zz-mate-session-openSUSE-branding.gschema.override %{buildroot}%{_datadir}/glib-2.0/schemas/
# Remove unwanted menu file
rm -r %{buildroot}%{_sysconfdir}/xdg/menus/mate-settings.menu
@@ -145,7 +148,8 @@
%files -n mate-panel-branding-openSUSE
%defattr(-,root,root)
-%{_datadir}/mate-panel/default.layout
+%{_datadir}/mate-panel/openSUSE.layout
+%{_datadir}/glib-2.0/schemas/zz-mate-panel-openSUSE-branding.gschema.override
%files -n mate-session-manager-branding-openSUSE
%defattr(-,root,root)
++++++ mate-panel-branding.gschema.override.in ++++++
[org.mate.panel]
default-layout = 'openSUSE'
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package lyx for openSUSE:Factory checked in at 2014-05-02 14:00:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lyx (Old)
and /work/SRC/openSUSE:Factory/.lyx.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lyx"
Changes:
--------
--- /work/SRC/openSUSE:Factory/lyx/lyx.changes 2014-01-30 14:56:27.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.lyx.new/lyx.changes 2014-05-02 14:00:23.000000000 +0200
@@ -1,0 +2,27 @@
+Mon Apr 21 23:21:55 UTC 2014 - cornelis(a)solcon.nl
+
+- Correct source url
+
+-------------------------------------------------------------------
+Mon Apr 14 22:03:59 UTC 2014 - cornelis(a)solcon.nl
+
+- Update to version 2.1.0. New features:
+ * Native IPA inset and IPA toolbar
+ * More supported languages with XeTeX
+ * New interface for LaTeX-fonts
+ * Basic support for Math OpenType fonts
+ * Document classes organized in categories
+ * Enhanced support for LaTeX options
+ * More supported LaTeX commands
+ * Table enhancements
+ * Layout enhancements
+ * New modules
+ * Support to output cropped PDF or EPS
+ * New command-line option
+ * New preferences settings
+ * For details see: http://wiki.lyx.org/LyX/NewInLyX21
+- Added bc to BuildRequires
+- Removed desktop file and app icon: now part of lyx itself
+- Updated xdg-open patch
+
+-------------------------------------------------------------------
Old:
----
lyx-2.0.6-fix_zombies.patch
lyx-2.0.6-xdg_open.patch
lyx-2.0.7.tar.xz
lyx.desktop
lyx.png
New:
----
lyx-2.1.0-xdg_open.patch
lyx-2.1.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ lyx.spec ++++++
--- /var/tmp/diff_new_pack.JenYX5/_old 2014-05-02 14:00:25.000000000 +0200
+++ /var/tmp/diff_new_pack.JenYX5/_new 2014-05-02 14:00:25.000000000 +0200
@@ -18,6 +18,7 @@
Name: lyx
#!BuildIgnore: lyx
+BuildRequires: bc
BuildRequires: boost-devel
BuildRequires: enchant-devel
BuildRequires: fdupes
@@ -26,21 +27,17 @@
BuildRequires: python
BuildRequires: update-desktop-files
BuildRequires: xz
-Version: 2.0.7
+Version: 2.1.0
Release: 0
Summary: WYSIWYM (What You See Is What You Mean) document processor
License: GPL-2.0+
Group: Productivity/Publishing/TeX/Frontends
Url: http://www.lyx.org/
-Source: ftp://ftp.lyx.org/pub/lyx/stable/2.0.x/lyx-%{version}.tar.xz
-Source1: lyx.desktop
-Source2: lyx.png
-Source3: lyxrc.dist
+Source: ftp://ftp.lyx.org/pub/lyx/stable/2.1.x/lyx-%{version}.tar.xz
+Source1: lyxrc.dist
# xdg patch
# This was rejected by upstream (http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg133878.html)
-Patch0: lyx-2.0.6-xdg_open.patch
-# PATCH-FIX-UPSTREAM fix for http://www.lyx.org/trac/ticket/8774 (fixed in 2.1)
-Patch1: lyx-2.0.6-fix_zombies.patch
+Patch0: lyx-2.1.0-xdg_open.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires: ImageMagick
%if 0%{?suse_version} < 1230
@@ -104,8 +101,7 @@
%prep
%setup -q
-%patch0
-%patch1 -p1
+%patch0 -p1
# Remove build time references so build-compare can do its work
FAKE_BUILDTIME=$(LC_ALL=C date -u -r %{_sourcedir}/%{name}.changes '+%%H:%%M')
FAKE_BUILDDATE=$(LC_ALL=C date -u -r %{_sourcedir}/%{name}.changes '+%%b %%e %%Y')
@@ -130,12 +126,7 @@
make install DESTDIR=$RPM_BUILD_ROOT TEXMF=$TEXMF
# some defaults
-install -p -m644 -D %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/lyx/lyxrc.dist
-
-# Add executable to files with shebang as advised by rpmlint
-chmod +x $RPM_BUILD_ROOT%{_datadir}/lyx/scripts/*.py
-chmod +x $RPM_BUILD_ROOT%{_datadir}/lyx/scripts/listerrors
-chmod +x $RPM_BUILD_ROOT%{_datadir}/lyx/lyx2lyx/profiling.py
+install -p -m644 -D %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/lyx/lyxrc.dist
mkdir -p $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}
pushd $RPM_BUILD_ROOT%{_datadir}/lyx/doc/
@@ -145,12 +136,12 @@
$RPM_BUILD_ROOT/%{_defaultdocdir}/%{name}/
done
popd
-cp ABOUT-NLS ANNOUNCE COPYING NEWS \
+cp ANNOUNCE COPYING NEWS \
README README.localization RELEASE-NOTES UPGRADING \
$RPM_BUILD_ROOT/%{_defaultdocdir}/%{name}/
mkdir -p $RPM_BUILD_ROOT$TEXMF/tex/latex
ln -s %{_datadir}/lyx/tex $RPM_BUILD_ROOT$TEXMF/tex/latex/lyx
-%suse_update_desktop_file -i lyx Office WordProcessor
+%suse_update_desktop_file lyx Office WordProcessor
%fdupes -s $RPM_BUILD_ROOT
%find_lang %name
@@ -162,7 +153,10 @@
/usr/bin/lyxclient
/usr/bin/tex2lyx
%{_datadir}/applications/lyx.desktop
-%{_datadir}/pixmaps/lyx.png
+%dir %{_datadir}/icons/hicolor
+%dir %{_datadir}/icons/hicolor/*
+%dir %{_datadir}/icons/hicolor/*/apps
+%{_datadir}/icons/hicolor/*/apps/%{name}.*
%dir %{_datadir}/texmf
%dir %{_datadir}/texmf/tex
%dir %{_datadir}/texmf/tex/latex
++++++ lyx-2.0.6-xdg_open.patch -> lyx-2.1.0-xdg_open.patch ++++++
--- /work/SRC/openSUSE:Factory/lyx/lyx-2.0.6-xdg_open.patch 2013-08-04 16:58:15.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.lyx.new/lyx-2.1.0-xdg_open.patch 2014-05-02 14:00:23.000000000 +0200
@@ -1,51 +1,55 @@
---- lib/configure.py.orig 2011-08-15 11:05:05.000000000 +0200
-+++ lib/configure.py 2011-08-15 13:29:56.691000026 +0200
-@@ -503,7 +503,7 @@
- checkViewerEditor('a SVG viewer and editor', ['inkscape'],
- rc_entry = [r'\Format svg svg SVG "" "%%" "%%" "vector"'])
- #
-- path, iv = checkViewerNoRC('a raster image viewer', ['xv', 'kview', 'gimp-remote', 'gimp'],
-+ path, iv = checkViewerNoRC('a raster image viewer', ['xdg-open', 'xv', 'kview', 'gimp-remote', 'gimp'],
- rc_entry = [r'''\Format bmp bmp BMP "" "%s" "%s" ""
- \Format gif gif GIF "" "%s" "%s" ""
- \Format jpg jpg JPEG "" "%s" "%s" ""
-@@ -566,7 +566,7 @@
- \Format excel xls "Excel spreadsheet" "" "" "%%" "document"
- \Format oocalc ods "OpenOffice spreadsheet" "" "" "%%" "document"'''])
+diff -ur lyx-2.1.0.orig/lib/configure.py lyx-2.1.0/lib/configure.py
+--- lyx-2.1.0.orig/lib/configure.py 2014-04-13 19:23:17.000000000 +0200
++++ lyx-2.1.0/lib/configure.py 2014-04-14 22:48:03.871041731 +0200
+@@ -594,7 +594,7 @@
+ \Format tiff tif TIFF "" "%s" "%s" "" "image/tiff"
+ \Format xbm xbm XBM "" "%s" "%s" "" "image/x-xbitmap"
+ \Format xpm xpm XPM "" "%s" "%s" "" "image/x-xpixmap"'''
+- path, iv = checkViewerNoRC('a raster image viewer', ['xv', 'kview', 'gimp-remote', 'gimp'], rc_entry = [imageformats])
++ path, iv = checkViewerNoRC('a raster image viewer', ['xdg-open', 'xv', 'kview', 'gimp-remote', 'gimp'], rc_entry = [imageformats])
+ path, ie = checkEditorNoRC('a raster image editor', ['gimp-remote', 'gimp'], rc_entry = [imageformats])
+ addToRC(imageformats % \
+ (iv, ie, iv, ie, iv, ie, iv, ie, iv, ie, iv, ie, iv, ie, iv, ie, iv, ie, iv, ie) )
+@@ -633,7 +633,7 @@
+ \Format excel xls "Excel spreadsheet" "" "" "%%" "document" "application/vnd.ms-excel"
+ \Format oocalc ods "OpenOffice spreadsheet" "" "" "%%" "document" "application/vnd.oasis.opendocument.spreadsheet"'''])
+ #
+- checkViewer('an HTML previewer', ['firefox', 'mozilla file://$$p$$i', 'netscape'],
++ checkViewer('an HTML previewer', ['xdg-open', 'firefox', 'mozilla file://$$p$$i', 'netscape'],
+ rc_entry = [r'\Format xhtml xhtml "LyXHTML" y "%%" "" "document,menu=export" "application/xhtml+xml"'])
#
-- path, xhtmlview = checkViewer('an HTML previewer', ['firefox', 'mozilla file://$$p$$i', 'netscape'],
-+ path, xhtmlview = checkViewer('an HTML previewer', ['xdg-open', 'firefox', 'mozilla file://$$p$$i', 'netscape'],
- rc_entry = [r'\Format xhtml xhtml "LyXHTML" y "%%" "" "document,menu=export"'])
- if xhtmlview == "":
- addToRC(r'\Format xhtml xhtml "LyXHTML" y "" "" "document,menu=export"')
-@@ -580,11 +580,11 @@
+ checkEditor('a BibTeX editor', ['jabref', 'JabRef', \
+@@ -646,14 +646,14 @@
#
#checkProg('a Postscript interpreter', ['gs'],
# rc_entry = [ r'\ps_command "%%"' ])
- checkViewer('a Postscript previewer', ['kghostview', 'okular', 'evince', 'gv', 'ghostview -swap'],
+ checkViewer('a Postscript previewer', ['xdg-open', 'kghostview', 'okular', 'evince', 'gv', 'ghostview -swap'],
- rc_entry = [r'''\Format eps eps EPS "" "%%" "" "vector"
- \Format ps ps Postscript t "%%" "" "document,vector,menu=export"'''])
+ rc_entry = [r'''\Format eps eps EPS "" "%%" "" "vector" "image/x-eps"
+ \Format eps2 eps "EPS (uncropped)" "" "%%" "" "vector" ""
+ \Format eps3 eps "EPS (cropped)" "" "%%" "" "document,menu=export" ""
+ \Format ps ps Postscript t "%%" "" "document,vector,menu=export" "application/postscript"'''])
# for xdg-open issues look here: http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg151818.html
-- checkViewer('a PDF previewer', ['pdfview', 'kpdf', 'okular', 'evince', 'kghostview', 'xpdf', 'acrobat', 'acroread', \
-+ checkViewer('a PDF previewer', ['xdg-open', 'pdfview', 'kpdf', 'okular', 'evince', 'kghostview', 'xpdf', 'acrobat', 'acroread', \
+ # the MIME type is set for pdf6, because that one needs to be autodetectable by libmime
+- checkViewer('a PDF previewer', ['pdfview', 'kpdf', 'okular', 'evince', 'kghostview', 'xpdf', 'acrobat', 'acroread', 'mupdf', \
++ checkViewer('a PDF previewer', ['xdg-open', 'pdfview', 'kpdf', 'okular', 'evince', 'kghostview', 'xpdf', 'acrobat', 'acroread', 'mupdf', \
'gv', 'ghostview'],
- rc_entry = [r'''\Format pdf pdf "PDF (ps2pdf)" P "%%" "" "document,vector,menu=export"
- \Format pdf2 pdf "PDF (pdflatex)" F "%%" "" "document,vector,menu=export"
-@@ -592,14 +592,14 @@
- \Format pdf4 pdf "PDF (XeTeX)" X "%%" "" "document,vector,menu=export"
- \Format pdf5 pdf "PDF (LuaTeX)" u "%%" "" "document,vector,menu=export"'''])
+ rc_entry = [r'''\Format pdf pdf "PDF (ps2pdf)" P "%%" "" "document,vector,menu=export" ""
+ \Format pdf2 pdf "PDF (pdflatex)" F "%%" "" "document,vector,menu=export" ""
+@@ -663,14 +663,14 @@
+ \Format pdf6 pdf "PDF (graphics)" "" "%%" "" "vector" "application/pdf"
+ \Format pdf7 pdf "PDF (cropped)" "" "%%" "" "document,menu=export" ""'''])
#
- checkViewer('a DVI previewer', ['xdvi', 'kdvi', 'okular', 'yap', 'dviout -Set=!m'],
+ checkViewer('a DVI previewer', ['xdg-open', 'xdvi', 'kdvi', 'okular', 'yap', 'dviout -Set=!m'],
- rc_entry = [r'''\Format dvi dvi DVI D "%%" "" "document,vector,menu=export"
- \Format dvi3 dvi "DVI (LuaTeX)" V "%%" "" "document,vector,menu=export"'''])
+ rc_entry = [r'''\Format dvi dvi DVI D "%%" "" "document,vector,menu=export" "application/x-dvi"
+ \Format dvi3 dvi "DVI (LuaTeX)" V "%%" "" "document,vector,menu=export" ""'''])
if dtl_tools:
# Windows only: DraftDVI
- addToRC(r'\Format dvi2 dvi DraftDVI "" "" "" "vector"')
+ addToRC(r'\Format dvi2 dvi DraftDVI "" "" "" "vector" ""')
#
- checkViewer('an HTML previewer', ['firefox', 'mozilla file://$$p$$i', 'netscape'],
+ checkViewer('an HTML previewer', ['xdg-open', 'firefox', 'mozilla file://$$p$$i', 'netscape'],
- rc_entry = [r'\Format html html HTML H "%%" "" "document,menu=export"'])
+ rc_entry = [r'\Format html "html, htm" HTML H "%%" "" "document,menu=export" "text/html"'])
#
checkViewerEditor('Noteedit', ['noteedit'],
++++++ lyx-2.0.7.tar.xz -> lyx-2.1.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/lyx/lyx-2.0.7.tar.xz /work/SRC/openSUSE:Factory/.lyx.new/lyx-2.1.0.tar.xz differ: char 25, line 1
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package lio-utils for openSUSE:Factory checked in at 2014-05-02 13:59:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lio-utils (Old)
and /work/SRC/openSUSE:Factory/.lio-utils.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lio-utils"
Changes:
--------
--- /work/SRC/openSUSE:Factory/lio-utils/lio-utils.changes 2014-04-02 17:24:46.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.lio-utils.new/lio-utils.changes 2014-05-02 13:59:47.000000000 +0200
@@ -1,0 +2,51 @@
+Thu Apr 17 10:19:21 CEST 2014 - hare(a)suse.de
+
+- Update to version 4.1:
+ * merge respositories
+ * Minor fixes
+ * Update copyrights
+- Update to latest git version:
+ Add patches:
+ * 0101-Remove-tcm_snap.py-from-package-scripts.patch
+ * 0102-Add-additional-rc.target-run_fabric_cfs_ops-exclusio.patch
+ * 0104-lio-utils-Fix-tools-build-breakage-with-dpkg-buildpa.patch
+ * 0105-lio-utils-Remove-target-stop-start-from-debian-prerm.patch
+ * 0106-lio-utils-Convert-direct-unlink-call-to-os.unlink.patch
+ * 0107-lio_dump-Add-TPG-auth-attribute-check-for-lio_target.patch
+ * 0108-Handle-exception-in-cases-where-the-path-is-not-avai.patch
+ * 0109-tighter-checks.patch
+ * 0110-Handle-exception-during-non-existent-files.patch
+ * 0111-tcm_node-Remove-target_core_stgt-shutdown-warning.patch
+ * 0112-lio-utils-Add-init-script-for-SUSE.patch
+ * 0113-lio_node-Unload-iscsi_target_mod-correctly.patch
+ * 0114-tcm_node-Unload-tcm-modules-recursively.patch
+ * 0115-lio-utils-Use-the-proper-conditional-inversion-in-sh.patch
+ * 0116-lio-utils-Change-rc.target.suse-shutdown_lio_mod-to-.patch
+ * 0117-tcm_node-Fix-typo-in-tcm_create_pscsibyudev.patch
+ * 0118-tcm-file-Set-fd_buffered_io-1-based-upon-active-FILE.patch
+ * 0119-tcm_node-Fix-typo-in-tcm_create_pscsibyudev-again.patch
+ * 0120-lio-node-Add-iser-network-portal-attribute-ib_isert-.patch
+ * 0121-lio-dump-Add-iser-network-portal-attribute-support.patch
+ * 0122-Create-COPYING.patch
+ * 0123-Update-COPYING.patch
+ * 0124-Create-README.patch
+ * 0125-Update-README.patch
+ * 0126-Update-README.patch
+- Rediff SUSE-specific patches
+- Remove patches merged upstream:
+ * 0001-Remove-tcm_snap-reference.patch
+ * 0002-Fixup-paths-for-SLES-11-SP2.patch
+ * 0003-Add-init-script-for-SUSE.patch
+ * 0004-lio_node-Unload-iscsi_target_mod-correctly.patch
+ * 0005-tcm_node-Unload-tcm-modules-recursively.patch
+ * 0006-lio-utils-Use-the-proper-conditional-inversion-in-sh.patch
+ * 0009-lio_node-listendpoints-crashes-if-config-dir-is-not-.patch
+ * 0010-lio_dump-Add-TPG-auth-attribute-check-for-lio_target.patch
+ * 0011-tcm-file-Set-fd_buffered_io-1-based-upon-active-FILE.patch
+- Include service file for systemd (bnc#869622)
+ * 0078-target.service-Add-systemd-service-file.patch
+- Fixup compilation warnings; add patches:
+ * 0026-iscsiMib.c-fixes-for-strict-aliasing.patch
+ * 0027-Compile-tools-with-OPTFLAGS.patch
+
+-------------------------------------------------------------------
Old:
----
0001-Remove-tcm_snap-reference.patch
0002-Fixup-paths-for-SLES-11-SP2.patch
0003-Add-init-script-for-SUSE.patch
0004-lio_node-Unload-iscsi_target_mod-correctly.patch
0005-tcm_node-Unload-tcm-modules-recursively.patch
0006-lio-utils-Use-the-proper-conditional-inversion-in-sh.patch
0007-Configuration-file-parsing.patch
0010-lio_dump-Add-TPG-auth-attribute-check-for-lio_target.patch
0011-tcm-file-Set-fd_buffered_io-1-based-upon-active-FILE.patch
0012-tcm_node-Silence-output.patch
lio-utils-4.0.tar.bz2
New:
----
0025-target.service-Add-systemd-service-file.patch
0026-iscsiMib.c-fixes-for-strict-aliasing.patch
0027-Compile-tools-with-OPTFLAGS.patch
0101-Remove-tcm_snap.py-from-package-scripts.patch
0102-Add-additional-rc.target-run_fabric_cfs_ops-exclusio.patch
0104-lio-utils-Fix-tools-build-breakage-with-dpkg-buildpa.patch
0105-lio-utils-Remove-target-stop-start-from-debian-prerm.patch
0106-lio-utils-Convert-direct-unlink-call-to-os.unlink.patch
0107-lio_dump-Add-TPG-auth-attribute-check-for-lio_target.patch
0108-Handle-exception-in-cases-where-the-path-is-not-avai.patch
0109-tighter-checks.patch
0110-Handle-exception-during-non-existent-files.patch
0111-tcm_node-Remove-target_core_stgt-shutdown-warning.patch
0112-lio-utils-Add-init-script-for-SUSE.patch
0113-lio_node-Unload-iscsi_target_mod-correctly.patch
0114-tcm_node-Unload-tcm-modules-recursively.patch
0115-lio-utils-Use-the-proper-conditional-inversion-in-sh.patch
0116-lio-utils-Change-rc.target.suse-shutdown_lio_mod-to-.patch
0117-tcm_node-Fix-typo-in-tcm_create_pscsibyudev.patch
0118-tcm-file-Set-fd_buffered_io-1-based-upon-active-FILE.patch
0119-tcm_node-Fix-typo-in-tcm_create_pscsibyudev-again.patch
0120-lio-node-Add-iser-network-portal-attribute-ib_isert-.patch
0121-lio-dump-Add-iser-network-portal-attribute-support.patch
0122-Create-COPYING.patch
0123-Update-COPYING.patch
0124-Create-README.patch
0125-Update-README.patch
0126-Update-README.patch
lio-utils-4.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ lio-utils.spec ++++++
--- /var/tmp/diff_new_pack.mGDGIt/_old 2014-05-02 13:59:48.000000000 +0200
+++ /var/tmp/diff_new_pack.mGDGIt/_new 2014-05-02 13:59:48.000000000 +0200
@@ -21,28 +21,47 @@
Group: System/Kernel
Name: lio-utils
-Version: 4.0
+Version: 4.1
Release: 0.<RELEASE7>
Url: http://linux-iscsi.org/index.php/Lio-utils
-Source: lio-utils-4.0.tar.bz2
+Source: lio-utils-4.1.tar.bz2
Source1: target.service
BuildRequires: net-snmp-devel
BuildRequires: python-devel
+%{?systemd_requires}
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%endif
-Patch1: 0001-Remove-tcm_snap-reference.patch
-Patch2: 0002-Fixup-paths-for-SLES-11-SP2.patch
-Patch3: 0003-Add-init-script-for-SUSE.patch
-Patch4: 0004-lio_node-Unload-iscsi_target_mod-correctly.patch
-Patch5: 0005-tcm_node-Unload-tcm-modules-recursively.patch
-Patch6: 0006-lio-utils-Use-the-proper-conditional-inversion-in-sh.patch
-Patch7: 0007-Configuration-file-parsing.patch
+
+# Patches from upstream
+Patch101: 0101-Remove-tcm_snap.py-from-package-scripts.patch
+Patch102: 0102-Add-additional-rc.target-run_fabric_cfs_ops-exclusio.patch
+Patch104: 0104-lio-utils-Fix-tools-build-breakage-with-dpkg-buildpa.patch
+Patch105: 0105-lio-utils-Remove-target-stop-start-from-debian-prerm.patch
+Patch106: 0106-lio-utils-Convert-direct-unlink-call-to-os.unlink.patch
+Patch107: 0107-lio_dump-Add-TPG-auth-attribute-check-for-lio_target.patch
+Patch108: 0108-Handle-exception-in-cases-where-the-path-is-not-avai.patch
+Patch109: 0109-tighter-checks.patch
+Patch110: 0110-Handle-exception-during-non-existent-files.patch
+Patch111: 0111-tcm_node-Remove-target_core_stgt-shutdown-warning.patch
+Patch112: 0112-lio-utils-Add-init-script-for-SUSE.patch
+Patch113: 0113-lio_node-Unload-iscsi_target_mod-correctly.patch
+Patch114: 0114-tcm_node-Unload-tcm-modules-recursively.patch
+Patch115: 0115-lio-utils-Use-the-proper-conditional-inversion-in-sh.patch
+Patch116: 0116-lio-utils-Change-rc.target.suse-shutdown_lio_mod-to-.patch
+Patch117: 0117-tcm_node-Fix-typo-in-tcm_create_pscsibyudev.patch
+Patch118: 0118-tcm-file-Set-fd_buffered_io-1-based-upon-active-FILE.patch
+Patch119: 0119-tcm_node-Fix-typo-in-tcm_create_pscsibyudev-again.patch
+Patch120: 0120-lio-node-Add-iser-network-portal-attribute-ib_isert-.patch
+Patch121: 0121-lio-dump-Add-iser-network-portal-attribute-support.patch
+Patch122: 0122-Create-COPYING.patch
+Patch123: 0123-Update-COPYING.patch
+Patch124: 0124-Create-README.patch
+Patch125: 0125-Update-README.patch
+Patch126: 0126-Update-README.patch
+# SuSE-specific patches
Patch8: 0008-Add-lio-utils-HOWTO.patch
Patch9: 0009-lio_node-listendpoints-crashes-if-config-dir-is-not-.patch
-Patch10: 0010-lio_dump-Add-TPG-auth-attribute-check-for-lio_target.patch
-Patch11: 0011-tcm-file-Set-fd_buffered_io-1-based-upon-active-FILE.patch
-Patch12: 0012-tcm_node-Silence-output.patch
Patch13: 0013-lio_node-Silence-output.patch
Patch14: 0014-Add-shell-header-when-dumping-configuration.patch
Patch15: 0015-lio_node-Check-for-iscsi_target_mod.patch
@@ -55,7 +74,9 @@
Patch22: 0022-rc.target.suse-Save-configuration-during-shutdown.patch
Patch23: 0023-Use-OPTFLAGS-when-compiling.patch
Patch24: 0024-lio_node-do-not-fail-if-target-port-is-already-disab.patch
-
+Patch25: 0025-target.service-Add-systemd-service-file.patch
+Patch26: 0026-iscsiMib.c-fixes-for-strict-aliasing.patch
+Patch27: 0027-Compile-tools-with-OPTFLAGS.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -108,18 +129,34 @@
%prep
%setup
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
+%patch101 -p1
+%patch102 -p1
+%patch104 -p1
+%patch105 -p1
+%patch106 -p1
+%patch107 -p1
+%patch108 -p1
+%patch109 -p1
+%patch110 -p1
+%patch111 -p1
+%patch112 -p1
+%patch113 -p1
+%patch114 -p1
+%patch115 -p1
+%patch116 -p1
+%patch117 -p1
+%patch118 -p1
+%patch119 -p1
+%patch120 -p1
+%patch121 -p1
+%patch122 -p1
+%patch123 -p1
+%patch124 -p1
+%patch125 -p1
+%patch126 -p1
+
%patch8 -p1
%patch9 -p1
-%patch10 -p1
-%patch11 -p1
-%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
@@ -132,24 +169,22 @@
%patch22 -p1
%patch23 -p1
%patch24 -p1
+%patch25 -p1
+%patch26 -p1
+%patch27 -p1
%build
make %{?_smp_mflags} OPTFLAGS="$RPM_OPT_FLAGS"
%install
-%define _vardir /var/lib/target
-if [ ! -d $RPM_BUILD_ROOT/etc/init.d ] ; then
- mkdir -p $RPM_BUILD_ROOT/etc/init.d
-fi
-install -m 755 scripts/rc.target.suse $RPM_BUILD_ROOT/etc/init.d/target
-if [ ! -d $RPM_BUILD_ROOT/etc/target ] ; then
- mkdir -p $RPM_BUILD_ROOT/etc/target
-fi
+%define _vardir /var/target
+
install -vD %{S:1} ${RPM_BUILD_ROOT}/etc/sysconfig/SuSEfirewall2.d/services/target
mkdir -p $RPM_BUILD_ROOT%{_vardir}
mkdir $RPM_BUILD_ROOT%{_vardir}/pr
mkdir $RPM_BUILD_ROOT%{_vardir}/alua
+mkdir -p $RPM_BUILD_ROOT/etc/target
for mod in target_core_mod target_core_file target_core_iblock target_core_pscsi ; do
echo "modprobe $mod" >> $RPM_BUILD_ROOT/etc/target/tcm_start.sh
done
@@ -164,26 +199,41 @@
chmod 755 $RPM_BUILD_ROOT/%{python_sitelib}/$p.py
ln -sf ../../%{python_sitelib}/$p.py $RPM_BUILD_ROOT/usr/sbin/$p
done
+%if %{?suse_version} > 1220
+install -D -m 0644 scripts/target.service $RPM_BUILD_ROOT%{_unitdir}/target.service
+ln -sf service $RPM_BUILD_ROOT/usr/sbin/rctarget
+%else
+if [ ! -d $RPM_BUILD_ROOT/etc/init.d ] ; then
+ mkdir -p $RPM_BUILD_ROOT/etc/init.d
+fi
+install -m 755 scripts/rc.target.suse $RPM_BUILD_ROOT/etc/init.d/target
ln -sf ../../etc/init.d/target $RPM_BUILD_ROOT/usr/sbin/rctarget
-cat > $RPM_BUILD_ROOT/etc/target/tcm.cfg <<EOF
-[tcm]
-tcm_root: /sys/kernel/config/target
-tcm_var: %{_vardir}
-EOF
+%endif
%preun
+%if %{?suse_version} > 1220
+%service_del_preun target.service
+%else
%stop_on_removal target
+%endif
%postun
+%if %{?suse_version} > 1220
+%service_del_postun target.service
+%else
%insserv_cleanup target
+%endif
%files
%defattr(-,root,root,-)
+%if %{?suse_version} > 1220
+%{_unitdir}/target.service
+%else
/etc/init.d/target
+%endif
%dir /etc/target
%config /etc/target/lio_start.sh
%config /etc/target/tcm_start.sh
-%config /etc/target/tcm.cfg
%config %attr(0644,root,root) /etc/sysconfig/SuSEfirewall2.d/services/target
%dir %{_vardir}
%dir %{_vardir}/pr
++++++ 0008-Add-lio-utils-HOWTO.patch ++++++
--- /var/tmp/diff_new_pack.mGDGIt/_old 2014-05-02 13:59:48.000000000 +0200
+++ /var/tmp/diff_new_pack.mGDGIt/_new 2014-05-02 13:59:48.000000000 +0200
@@ -1,14 +1,14 @@
-From 304f1aeb5815bcfb5b5ce8a4c2f7e0da8db3d529 Mon Sep 17 00:00:00 2001
+From a4002b00852370ce535050f8fd8c6f9ea3cdd9c8 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 4 Oct 2012 15:11:59 +0200
-Subject: [PATCH] Add lio-utils HOWTO
+Subject: Add lio-utils HOWTO
Some documentation is always helpful, even though it might be
slightly outdated.
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
- lio-utils.HOWTO | 338 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ lio-utils.HOWTO | 338 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 338 insertions(+)
create mode 100644 lio-utils.HOWTO
@@ -357,5 +357,5 @@
+target:~# lio_node --enabletpg iqn.2003-01.org.linux-iscsi.target.i686:sn.5837873e417c 1
+Successfully enabled iSCSI Target Portal Group: iqn.2003-01.org.linux-iscsi.target.i686:sn.5837873e417c 1
--
-1.7.10.4
+1.8.1.4
++++++ 0009-lio_node-listendpoints-crashes-if-config-dir-is-not-.patch ++++++
--- /var/tmp/diff_new_pack.mGDGIt/_old 2014-05-02 13:59:48.000000000 +0200
+++ /var/tmp/diff_new_pack.mGDGIt/_new 2014-05-02 13:59:48.000000000 +0200
@@ -1,4 +1,4 @@
-From 8125617117d022b716ff86b2d4339a0f0ce28907 Mon Sep 17 00:00:00 2001
+From 12da40834576d1f5dbf17710948d8cb10a810a2d Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Fri, 26 Oct 2012 12:46:41 +0200
Subject: lio_node: --listendpoints crashes if config dir is not present
@@ -10,14 +10,14 @@
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
- lio-py/lio_node.py | 17 ++++++++++++++++-
+ lio-py/lio_node.py | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/lio-py/lio_node.py b/lio-py/lio_node.py
-index 2f8a448..343f62a 100755
+index 02e661b..78c7592 100755
--- a/lio-py/lio_node.py
+++ b/lio-py/lio_node.py
-@@ -146,7 +146,9 @@ def __lio_target_del_iqn(option, opt_str, value, parser, delete_tpg_md):
+@@ -132,7 +132,9 @@ def __lio_target_del_iqn(option, opt_str, value, parser, delete_tpg_md):
iqn = iqn.lower();
# Loop through LIO-Target IQN+TPGT list
@@ -28,7 +28,7 @@
for tpgt_tmp in tpg_root:
if tpgt_tmp == "fabric_statistics":
continue
-@@ -888,6 +890,8 @@ def lio_target_alua_show_tgptgp(option, opt_str, value, parser):
+@@ -887,6 +889,8 @@ def lio_target_alua_show_tgptgp(option, opt_str, value, parser):
return
def lio_target_list_endpoints(option, opt_str, value, parser):
@@ -37,7 +37,7 @@
iqn_root = os.listdir(lio_root)
-@@ -956,6 +960,9 @@ def lio_target_list_lunacls(option, opt_str, value, parser):
+@@ -955,6 +959,9 @@ def lio_target_list_lunacls(option, opt_str, value, parser):
iqn = iqn.lower();
tpgt = str(value[1]);
@@ -47,7 +47,7 @@
iqn_root = os.listdir(lio_root)
nacl_root_dir = lio_root + "/" + iqn + "/tpgt_" + tpgt + "/acls"
-@@ -1001,6 +1008,9 @@ def lio_target_list_nodeacls(option, opt_str, value, parser):
+@@ -1000,6 +1007,9 @@ def lio_target_list_nodeacls(option, opt_str, value, parser):
iqn = iqn.lower();
tpgt = str(value[1]);
@@ -57,7 +57,7 @@
iqn_root = os.listdir(lio_root)
nacl_root_dir = lio_root + "/" + iqn + "/tpgt_" + tpgt + "/acls"
-@@ -1028,6 +1038,9 @@ def lio_target_list_nps(option, opt_str, value, parser):
+@@ -1027,6 +1037,9 @@ def lio_target_list_nps(option, opt_str, value, parser):
iqn = iqn.lower();
tpgt = str(value[1]);
@@ -67,7 +67,7 @@
np_root = os.listdir(lio_root + "/" + iqn + "/tpgt_" + tpgt + "/np")
for np in np_root:
print np
-@@ -1035,6 +1048,8 @@ def lio_target_list_nps(option, opt_str, value, parser):
+@@ -1034,6 +1047,8 @@ def lio_target_list_nps(option, opt_str, value, parser):
return
def lio_target_list_targetnames(option, opt_str, value, parser):
@@ -77,5 +77,5 @@
iqn_root = os.listdir(lio_root)
--
-1.7.10.4
+1.8.1.4
++++++ 0013-lio_node-Silence-output.patch ++++++
--- /var/tmp/diff_new_pack.mGDGIt/_old 2014-05-02 13:59:48.000000000 +0200
+++ /var/tmp/diff_new_pack.mGDGIt/_new 2014-05-02 13:59:48.000000000 +0200
@@ -1,25 +1,24 @@
-From e599674d4d4bac187d164ed192362325edb6a043 Mon Sep 17 00:00:00 2001
+From 352f47122913bf6749106766de6ca5c186a79048 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
-Date: Fri, 1 Feb 2013 13:06:00 +0100
+Date: Thu, 17 Apr 2014 09:08:08 +0200
Subject: lio_node: Silence output
Add option '--debug' to silence lio_node for the standard case.
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
- lio-py/lio_node.py | 89 ++++++++++++++++++++++++++++++----------------------
- 1 file changed, 51 insertions(+), 38 deletions(-)
+ lio-py/lio_node.py | 81 ++++++++++++++++++++++++++++++++----------------------
+ 1 file changed, 48 insertions(+), 33 deletions(-)
diff --git a/lio-py/lio_node.py b/lio-py/lio_node.py
-index 343f62a..55a9208 100755
+index 78c7592..d58213f 100755
--- a/lio-py/lio_node.py
+++ b/lio-py/lio_node.py
-@@ -21,12 +21,19 @@ try:
- except ConfigParser.NoSectionError:
- tcm_var = "/var/target"
-
+@@ -8,11 +8,18 @@ from optparse import OptionParser
+ tcm_root = "/sys/kernel/config/target/core"
+ lio_root = "/sys/kernel/config/target/iscsi"
+ alua_secondary_md_dir = "/var/target/alua/iSCSI/"
+lio_debug = 0
- alua_secondary_md_dir = tcm_var + "/alua/iSCSI/"
def lio_err(msg):
print msg
@@ -34,16 +33,16 @@
def lio_alua_check_secondary_md(iqn, tpgt):
alua_sec_md_path = alua_secondary_md_dir + iqn + "+" + tpgt + "/"
if os.path.isdir(alua_sec_md_path) == False:
-@@ -99,7 +106,7 @@ def lio_alua_process_secondary_md(option, opt_str, value, parser):
+@@ -85,7 +92,7 @@ def lio_alua_process_secondary_md(option, opt_str, value, parser):
p = open(alua_sec_md_file, 'rU')
if not p:
- print "Unable to process ALUA secondary metadata for: " + alua_sec_md_file
-+ lio_err("Unable to process ALUA secondary metadata for: " + alua_sec_md_file)
++ lio_dbg("Unable to process ALUA secondary metadata for: " + alua_sec_md_file)
line = p.readline()
while line:
-@@ -166,7 +173,7 @@ def __lio_target_del_iqn(option, opt_str, value, parser, delete_tpg_md):
+@@ -152,7 +159,7 @@ def __lio_target_del_iqn(option, opt_str, value, parser, delete_tpg_md):
# print "rmdir_op: " + rmdir_op
ret = os.system(rmdir_op)
if not ret:
@@ -52,16 +51,7 @@
else:
lio_err("Unable to release iSCSI Target Endpoint IQN: " + iqn)
-@@ -198,7 +205,7 @@ def __lio_target_del_tpg(option, opt_str, value, parser, delete_tpg_md):
- disable_op = "echo 0 > " + lio_root + "/" + iqn + "/tpgt_" + tpgt + "/enable"
- ret = os.system(disable_op)
- if ret:
-- print "Unable to disable TPG: " + iqn + " TPGT: " + tpgt
-+ lio_err("Unable to disable TPG: " + iqn + " TPGT: " + tpgt)
-
- np_root = os.listdir(lio_root + "/" + iqn + "/tpgt_" + tpgt + "/np")
- for np in np_root:
-@@ -228,7 +235,7 @@ def __lio_target_del_tpg(option, opt_str, value, parser, delete_tpg_md):
+@@ -214,7 +221,7 @@ def __lio_target_del_tpg(option, opt_str, value, parser, delete_tpg_md):
# print "rmdir_op: " + rmdir_op
ret = os.system(rmdir_op)
if not ret:
@@ -70,16 +60,16 @@
else:
lio_err("Unable to release iSCSI Target Portal Group: " + iqn + " TPGT: " + tpgt)
-@@ -280,7 +287,7 @@ def lio_target_add_np(option, opt_str, value, parser):
+@@ -266,7 +273,7 @@ def lio_target_add_np(option, opt_str, value, parser):
# print "mkdir_op: " + mkdir_op
ret = os.system(mkdir_op)
if not ret:
- print "Successfully created network portal: " + np + " created " + iqn + " TPGT: " + tpgt
-+ lio_dbg("Successfully created network portal: " + np + " created " + iqn + " TPGT: " + tpgt)
++ lio_dbg("Successfully created network portal: " + np + " created " + iqn + " TPGT: " + tpgt )
lio_alua_check_secondary_md(iqn, tpgt)
else:
lio_err("Unable to create network portal: " + np + " created " + iqn + " TPGT: " + tpgt)
-@@ -297,7 +304,7 @@ def lio_target_del_np(option, opt_str, value, parser):
+@@ -296,7 +303,7 @@ def lio_target_del_np(option, opt_str, value, parser):
# print "rmdir_op: " + rmdir_op
ret = os.system(rmdir_op)
if not ret:
@@ -88,7 +78,7 @@
else:
lio_err("Unable to release network portal: " + np + " created " + iqn + " TPGT: " + tpgt)
-@@ -327,7 +334,7 @@ def lio_target_add_port(option, opt_str, value, parser):
+@@ -326,7 +333,7 @@ def lio_target_add_port(option, opt_str, value, parser):
# print "link_op: " + link_op
ret = os.system(link_op)
if not ret:
@@ -97,7 +87,7 @@
lio_alua_check_secondary_md(iqn, tpgt)
lio_alua_set_secondary_write_md(iqn, tpgt, lun)
else:
-@@ -350,7 +357,7 @@ def lio_target_add_tpg(option, opt_str, value, parser):
+@@ -349,7 +356,7 @@ def lio_target_add_tpg(option, opt_str, value, parser):
if ret:
lio_err("Unable to create iSCSI Target Portal Group ConfigFS directory")
else:
@@ -106,7 +96,7 @@
lio_alua_check_secondary_md(iqn, tpgt)
return
-@@ -387,7 +394,7 @@ def __lio_target_del_port(option, opt_str, value, parser):
+@@ -386,7 +393,7 @@ def __lio_target_del_port(option, opt_str, value, parser):
# print "del_port rmdir_op: " + rmdir_op
ret = os.system(rmdir_op);
if not ret:
@@ -115,7 +105,7 @@
else:
lio_err("Unable to rmdir iSCSI Target Logical Unit configfs directory")
-@@ -420,7 +427,7 @@ def lio_target_tpg_disableauth(option, opt_str, value, parser):
+@@ -419,7 +426,7 @@ def lio_target_tpg_disableauth(option, opt_str, value, parser):
if ret:
lio_err("Unable to disable iSCSI Authentication on iSCSI Target Portal Group: " + iqn + " " + tpgt)
else:
@@ -124,7 +114,7 @@
return
-@@ -434,7 +441,7 @@ def lio_target_tpg_demomode(option, opt_str, value, parser):
+@@ -433,7 +440,7 @@ def lio_target_tpg_demomode(option, opt_str, value, parser):
if ret:
lio_err("Unable to disable Initiator ACL mode (Enable DemoMode) on iSCSI Target Portal Group: " + iqn + " " + tpgt)
else:
@@ -133,7 +123,7 @@
return
-@@ -451,7 +458,7 @@ def lio_target_disable_lunwp(option, opt_str, value, parser):
+@@ -450,7 +457,7 @@ def lio_target_disable_lunwp(option, opt_str, value, parser):
if ret:
lio_err("Unable to disable WriteProtect for Mapped LUN: " + mapped_lun + " for " + initiator_iqn + " on iSCSI Target Portal Group: " + iqn + " " + tpgt)
else:
@@ -142,7 +132,7 @@
return
-@@ -465,7 +472,7 @@ def lio_target_enable_auth(option, opt_str, value, parser):
+@@ -464,7 +471,7 @@ def lio_target_enable_auth(option, opt_str, value, parser):
if ret:
lio_err("Unable to enable iSCSI Authentication on iSCSI Target Portal Group: " + iqn + " " + tpgt)
else:
@@ -151,7 +141,7 @@
return
def lio_target_enable_lunwp(option, opt_str, value, parser):
-@@ -481,7 +488,7 @@ def lio_target_enable_lunwp(option, opt_str, value, parser):
+@@ -480,7 +487,7 @@ def lio_target_enable_lunwp(option, opt_str, value, parser):
if ret:
lio_err("Unable to enable WriteProtect for Mapped LUN: " + mapped_lun + " for " + initiator_iqn + " on iSCSI Target Portal Group: " + iqn + " " + tpgt)
else:
@@ -160,7 +150,7 @@
return
-@@ -495,7 +502,7 @@ def lio_target_enable_tpg(option, opt_str, value, parser):
+@@ -494,7 +501,7 @@ def lio_target_enable_tpg(option, opt_str, value, parser):
if ret:
lio_err("Unable to enable iSCSI Target Portal Group: " + iqn + " " + tpgt)
else:
@@ -169,7 +159,7 @@
return
-@@ -509,7 +516,7 @@ def lio_target_disable_tpg(option, opt_str, value, parser):
+@@ -508,7 +515,7 @@ def lio_target_disable_tpg(option, opt_str, value, parser):
if ret:
lio_err("Unable to disable iSCSI Target Portal Group: " + iqn + " " + tpgt)
else:
@@ -178,7 +168,7 @@
return
-@@ -523,7 +530,7 @@ def lio_target_enableaclmode(option, opt_str, value, parser):
+@@ -522,7 +529,7 @@ def lio_target_enableaclmode(option, opt_str, value, parser):
if ret:
lio_err("Unable to enable Initiator ACL mode (Disabled DemoMode) on iSCSI Target Portal Group: " + iqn + " " + tpgt)
else:
@@ -187,7 +177,7 @@
return
-@@ -547,7 +554,7 @@ def lio_target_add_lunacl(option, opt_str, value, parser):
+@@ -546,7 +553,7 @@ def lio_target_add_lunacl(option, opt_str, value, parser):
if ret:
lio_err("Unable to add iSCSI Initiator Mapped LUN: " + mapped_lun + " ACL " + initiator_iqn + " for iSCSI Target Portal Group: " + iqn + " " + tpgt)
else:
@@ -196,15 +186,7 @@
lio_alua_check_secondary_md(iqn, tpgt)
return
-@@ -569,7 +576,6 @@ def lio_target_del_lunacl(option, opt_str, value, parser):
- continue;
-
- unlink_op = "unlink " + lio_root + "/" + iqn + "/tpgt_" + tpgt + "/acls/" + initiator_iqn + "/lun_" + mapped_lun + "/" + lun_acl_link
--# print "unlink_op: " + unlink_op
- ret = os.system(unlink_op)
- if ret:
- lio_err("Unable to unlink iSCSI Initiator Mapped LUN: " + mapped_lun + " ACL " + initiator_iqn + " for iSCSI Target Portal Group: " + iqn + " " + tpgt)
-@@ -579,7 +585,7 @@ def lio_target_del_lunacl(option, opt_str, value, parser):
+@@ -578,7 +585,7 @@ def lio_target_del_lunacl(option, opt_str, value, parser):
if ret:
lio_err("Unable to delete iSCSI Initiator Mapped LUN: " + mapped_lun + " ACL " + initiator_iqn + " for iSCSI Target Portal Group: " + iqn + " " + tpgt)
else:
@@ -213,7 +195,7 @@
return
-@@ -595,7 +601,7 @@ def lio_target_add_nodeacl(option, opt_str, value, parser):
+@@ -594,7 +601,7 @@ def lio_target_add_nodeacl(option, opt_str, value, parser):
if ret:
lio_err("Unable to add iSCSI Initaitor ACL " + initiator_iqn + " for iSCSI Target Portal Group: " + iqn + " " + tpgt)
else:
@@ -222,7 +204,7 @@
lio_alua_check_secondary_md(iqn, tpgt)
return
-@@ -621,7 +627,7 @@ def lio_target_del_nodeacl(option, opt_str, value, parser):
+@@ -620,7 +627,7 @@ def lio_target_del_nodeacl(option, opt_str, value, parser):
if ret:
lio_err("Unable to delete iSCSI Initaitor ACL " + initiator_iqn + " for iSCSI Target Portal Group: " + iqn + " " + tpgt)
else:
@@ -231,7 +213,7 @@
return
-@@ -649,7 +655,7 @@ def lio_target_set_chap_auth(option, opt_str, value, parser):
+@@ -648,7 +655,7 @@ def lio_target_set_chap_auth(option, opt_str, value, parser):
if ret:
lio_err("Unable to set CHAP password for iSCSI Initaitor ACL " + initiator_iqn + " for iSCSI Target Portal Group: " + iqn + " " + tpgt)
else:
@@ -240,16 +222,16 @@
return
-@@ -677,7 +683,7 @@ def lio_target_set_chap_mutual_auth(option, opt_str, value, parser):
+@@ -676,7 +683,7 @@ def lio_target_set_chap_mutual_auth(option, opt_str, value, parser):
if ret:
lio_err("Unable to set mutual CHAP password for iSCSI Initaitor ACL " + initiator_iqn + " for iSCSI Target Portal Group: " + iqn + " " + tpgt)
else:
- print "Successfully set mutual CHAP authentication for iSCSI Initaitor ACL " + initiator_iqn + " for iSCSI Target Portal Group: " + iqn + " " + tpgt
-+ lio_dbg("Successfully set mutual CHAP authentication for iSCSI Initaitor ACL " + initiator_iqn + " for iSCSI Target Portal Group: " + iqn + " " + tpgt )
++ lio_dbg("Successfully set mutual CHAP authentication for iSCSI Initaitor ACL " + initiator_iqn + " for iSCSI Target Portal Group: " + iqn + " " + tpgt)
return
-@@ -699,7 +705,7 @@ def lio_target_set_chap_discovery_auth(option, opt_str, value, parser):
+@@ -698,7 +705,7 @@ def lio_target_set_chap_discovery_auth(option, opt_str, value, parser):
if ret:
lio_err("Unable to set CHAP password for iSCSI Discovery Authentication")
else:
@@ -258,7 +240,7 @@
return
-@@ -721,7 +727,7 @@ def lio_target_set_chap_mutual_discovery_auth(option, opt_str, value, parser):
+@@ -720,7 +727,7 @@ def lio_target_set_chap_mutual_discovery_auth(option, opt_str, value, parser):
if ret:
lio_err("Unable to set mutual CHAP password for iSCSI Discovery Authentication")
else:
@@ -267,7 +249,7 @@
return
-@@ -738,9 +744,9 @@ def lio_target_set_enforce_discovery_auth(option, opt_str, value, parser):
+@@ -737,9 +744,9 @@ def lio_target_set_enforce_discovery_auth(option, opt_str, value, parser):
lio_err("Unable to set da_attr: " + da_attr)
if value == "1":
@@ -279,7 +261,7 @@
return
-@@ -758,7 +764,7 @@ def lio_target_set_node_tcq(option, opt_str, value, parser):
+@@ -757,7 +764,7 @@ def lio_target_set_node_tcq(option, opt_str, value, parser):
if ret:
lio_err("Unable to set TCQ: " + depth + " for iSCSI Initaitor ACL " + initiator_iqn + " for iSCSI Target Portal Group: " + iqn + " " + tpgt)
else:
@@ -288,7 +270,7 @@
return
-@@ -778,7 +784,7 @@ def lio_target_alua_set_tgptgp(option, opt_str, value, parser):
+@@ -777,7 +784,7 @@ def lio_target_alua_set_tgptgp(option, opt_str, value, parser):
if ret:
lio_err("Unable to set ALUA Target Port Group: " + tg_pt_gp_name + " for LUN: " + lun + " on " + iqn + " " + tpgt)
else:
@@ -297,7 +279,7 @@
return
-@@ -797,7 +803,7 @@ def lio_target_alua_set_tgpt_offline(option, opt_str, value, parser):
+@@ -796,7 +803,7 @@ def lio_target_alua_set_tgpt_offline(option, opt_str, value, parser):
if ret:
lio_err("Unable to set ALUA secondary state OFFLINE bit for LUN: " + lun + " on " + iqn + " " + tpgt)
else:
@@ -306,7 +288,7 @@
return
-@@ -816,7 +822,7 @@ def lio_target_alua_clear_tgpt_offline(option, opt_str, value, parser):
+@@ -815,7 +822,7 @@ def lio_target_alua_clear_tgpt_offline(option, opt_str, value, parser):
if ret:
lio_err("Unable to clear ALUA secondary state OFFLINE for LUN: " + lun + " on " + iqn + " " + tpgt)
else:
@@ -315,7 +297,7 @@
return
def lio_target_show_chap_auth(option, opt_str, value, parser):
-@@ -1107,7 +1113,7 @@ def lio_target_set_node_attr(option, opt_str, value, parser):
+@@ -1106,7 +1113,7 @@ def lio_target_set_node_attr(option, opt_str, value, parser):
lio_err("Unable to set node attr: " + attr_dir + "/" + attr)
p.close()
@@ -324,7 +306,7 @@
return
-@@ -1175,7 +1181,7 @@ def lio_target_set_tpg_attr(option, opt_str, value, parser):
+@@ -1174,7 +1181,7 @@ def lio_target_set_tpg_attr(option, opt_str, value, parser):
lio_err("Unable to set tpg attr: " + attr_dir + "/" + attr)
p.close()
@@ -333,7 +315,7 @@
return
-@@ -1221,7 +1227,7 @@ def lio_target_set_tpg_param(option, opt_str, value, parser):
+@@ -1220,7 +1227,7 @@ def lio_target_set_tpg_param(option, opt_str, value, parser):
lio_err("Unable to write tpg attr: " + param_dir + "/" + param)
p.close()
@@ -342,45 +324,28 @@
return
-@@ -1257,12 +1263,12 @@ def lio_target_unload(option, opt_str, value, parser):
- rmdir_op = "rmdir " + lio_root
- ret = os.system(rmdir_op)
- if ret:
-- print "Unable to remove lio_root: " + lio_root
-+ lio_err("Unable to remove lio_root: " + lio_root)
-
- rmmod_op = "rmmod iscsi_target_mod"
- ret = os.system(rmmod_op)
- if ret:
-- print "Unable to unload iscsi_target_mod"
-+ lio_err("Unable to unload iscsi_target_mod")
-
- return
-
-@@ -1271,8 +1277,13 @@ def lio_target_version(option, opt_str, value, parser):
+@@ -1279,6 +1286,12 @@ def lio_target_version(option, opt_str, value, parser):
os.system("cat /sys/kernel/config/target/iscsi/lio_version")
return
--def main():
+def lio_target_enable_debug(option, opt_str, value, parser):
+ global lio_debug
-
++
+ lio_debug = 1
+ return
+
-+def main():
+ def main():
+
parser = OptionParser()
- parser.add_option("--addlunacl", action="callback", callback=lio_target_add_lunacl, nargs=5,
- type="string", dest="TARGET_IQN TPGT INITIATOR_IQN TPG_LUN MAPPED_LUN", help="Add iSCSI Initiator LUN ACL to LIO-Target Portal Group LUN")
-@@ -1366,6 +1377,8 @@ def main():
+@@ -1374,6 +1387,8 @@ def main():
type="string", dest="TARGET_IQN TPGT LUN", help="Show ALUA Target Port Group for LIO-Target Port/LUN")
parser.add_option("--unload", action="callback", callback=lio_target_unload, nargs=0,
help="Unload LIO-Target")
+ parser.add_option("--debug", action="callback", callback=lio_target_enable_debug, nargs=0,
-+ help="Enable debugging output")
++ help="Enable debugging output")
parser.add_option("--version", action="callback", callback=lio_target_version, nargs=0,
help="Display LIO-Target version information")
--
-1.7.10.4
+1.8.1.4
++++++ 0014-Add-shell-header-when-dumping-configuration.patch ++++++
--- /var/tmp/diff_new_pack.mGDGIt/_old 2014-05-02 13:59:48.000000000 +0200
+++ /var/tmp/diff_new_pack.mGDGIt/_new 2014-05-02 13:59:48.000000000 +0200
@@ -1,4 +1,4 @@
-From 9d7a6412f167167f67be3ee8d3710257c628defb Mon Sep 17 00:00:00 2001
+From 3601de1f68eee23616932079c151700b32edd1a8 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Fri, 1 Feb 2013 13:07:55 +0100
Subject: Add shell header when dumping configuration
@@ -8,12 +8,12 @@
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
- lio-py/lio_dump.py | 3 +++
- tcm-py/tcm_dump.py | 3 ++-
+ lio-py/lio_dump.py | 3 +++
+ tcm-py/tcm_dump.py | 3 ++-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/lio-py/lio_dump.py b/lio-py/lio_dump.py
-index 6328161..34b232b 100755
+index 3e3461f..2a88f3a 100755
--- a/lio-py/lio_dump.py
+++ b/lio-py/lio_dump.py
@@ -16,6 +16,9 @@ def lio_target_configfs_dump(option, opt_str, value, parser):
@@ -27,7 +27,7 @@
print "mkdir " + lio_root
diff --git a/tcm-py/tcm_dump.py b/tcm-py/tcm_dump.py
-index 6206ad9..47aba72 100755
+index 3963b51..e4a99e6 100755
--- a/tcm-py/tcm_dump.py
+++ b/tcm-py/tcm_dump.py
@@ -28,7 +28,8 @@ def tcm_dump_configfs(option, opt_str, value, parser):
@@ -41,5 +41,5 @@
# Loop through ALUA Logical Unit Groups
# Note that the 'default_lu_gp' is automatically created when
--
-1.7.10.4
+1.8.1.4
++++++ 0015-lio_node-Check-for-iscsi_target_mod.patch ++++++
--- /var/tmp/diff_new_pack.mGDGIt/_old 2014-05-02 13:59:48.000000000 +0200
+++ /var/tmp/diff_new_pack.mGDGIt/_new 2014-05-02 13:59:48.000000000 +0200
@@ -1,35 +1,29 @@
-From 97fcf70da6d0b7c1957126c2f8e6d8e8d6ba0169 Mon Sep 17 00:00:00 2001
+From 712245de9f21f3f5ce7da7ee7c910a3a7048f38c Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
-Date: Fri, 1 Feb 2013 14:02:51 +0100
-Subject: lio_node: Check for iscsi_target_mod
+Date: Thu, 17 Apr 2014 09:46:45 +0200
+Subject: lio_node: Check for lio_root
-iscsi_target_mod needs to be loaded, otherwise all functions
-will fail.
+The lio_root directory /sys/kernel/config/iscsi has to be
+present, otherwise all functions will fail.
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
- lio-py/lio_node.py | 8 ++++++++
- 1 file changed, 8 insertions(+)
+ lio-py/lio_node.py | 2 ++
+ 1 file changed, 2 insertions(+)
diff --git a/lio-py/lio_node.py b/lio-py/lio_node.py
-index 55a9208..abea728 100755
+index d58213f..d047fc1 100755
--- a/lio-py/lio_node.py
+++ b/lio-py/lio_node.py
-@@ -1284,6 +1284,14 @@ def lio_target_enable_debug(option, opt_str, value, parser):
+@@ -1293,6 +1293,8 @@ def lio_target_enable_debug(option, opt_str, value, parser):
return
def main():
-+ if not os.path.isdir(tcm_cfg):
-+ lio_err("target_core_mod module not loaded");
+ if not os.path.isdir(lio_root):
-+ mkdir_op = "mkdir -p " + lio_root
-+ ret = os.system(mkdir_op)
-+ if ret:
-+ lio_err("Unable to load iscsi_target_mod")
-+
++ lio_err("iscsi_target_mod is not loaded")
+
parser = OptionParser()
parser.add_option("--addlunacl", action="callback", callback=lio_target_add_lunacl, nargs=5,
- type="string", dest="TARGET_IQN TPGT INITIATOR_IQN TPG_LUN MAPPED_LUN", help="Add iSCSI Initiator LUN ACL to LIO-Target Portal Group LUN")
--
-1.7.10.4
+1.8.1.4
++++++ 0016-tcm_node-Check-for-target_core_mod.patch ++++++
--- /var/tmp/diff_new_pack.mGDGIt/_old 2014-05-02 13:59:48.000000000 +0200
+++ /var/tmp/diff_new_pack.mGDGIt/_new 2014-05-02 13:59:48.000000000 +0200
@@ -1,4 +1,4 @@
-From 8b8c1dda22ef160dcad6f597d5a8a500cede920b Mon Sep 17 00:00:00 2001
+From be58820def00a41465f6f6d49a649f4fa8450858 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Fri, 1 Feb 2013 14:04:53 +0100
Subject: tcm_node: Check for target_core_mod
@@ -8,23 +8,22 @@
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
- tcm-py/tcm_node.py | 3 +++
- 1 file changed, 3 insertions(+)
+ tcm-py/tcm_node.py | 2 ++
+ 1 file changed, 2 insertions(+)
diff --git a/tcm-py/tcm_node.py b/tcm-py/tcm_node.py
-index a5b0ec0..39872e2 100755
+index e6913fd..527bc0a 100755
--- a/tcm-py/tcm_node.py
+++ b/tcm-py/tcm_node.py
-@@ -1299,6 +1299,9 @@ def tcm_enable_debug(option, opt_str, value, parser):
- return
+@@ -726,6 +726,8 @@ def dispatcher(option, opt_str, value, parser, orig_callback):
+ orig_callback(*value)
def main():
-+ if not os.path.isdir(tcm_root):
-+ tcm_err("target_core_mod module not loaded")
-+
- parser = OptionParser()
- parser.add_option("--addlungp", action="callback", callback=tcm_add_alua_lugp, nargs=1,
- type="string", dest="lu_gp_name", help="Add ALUA Logical Unit Group")
++ if not os.path.isdir(tcm_root):
++ tcm_err("target_core_mod module not loaded")
+
+ parser = OptionParser(version=tcm_version())
+
--
-1.7.10.4
+1.8.1.4
++++++ 0017-rc.target.suse-Clean-up-startup-sequence.patch ++++++
--- /var/tmp/diff_new_pack.mGDGIt/_old 2014-05-02 13:59:49.000000000 +0200
+++ /var/tmp/diff_new_pack.mGDGIt/_new 2014-05-02 13:59:49.000000000 +0200
@@ -1,4 +1,4 @@
-From e46e0be2d25644d14c31ff610aa72ebb97107270 Mon Sep 17 00:00:00 2001
+From 5c83b244ea0c767ed9aa2a10406cf7b34e6bfff7 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Fri, 1 Feb 2013 14:29:12 +0100
Subject: rc.target.suse: Clean up startup sequence
@@ -9,14 +9,14 @@
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
- scripts/rc.target.suse | 37 ++++++-------------------------------
- 1 file changed, 6 insertions(+), 31 deletions(-)
+ scripts/rc.target.suse | 33 ++++++---------------------------
+ 1 file changed, 6 insertions(+), 27 deletions(-)
diff --git a/scripts/rc.target.suse b/scripts/rc.target.suse
-index b639c8a..8533df5 100644
+index c812430..423c30a 100644
--- a/scripts/rc.target.suse
+++ b/scripts/rc.target.suse
-@@ -79,47 +79,22 @@ function tcm_check() {
+@@ -101,43 +101,22 @@ function tcm_check() {
}
function run_fabric_cfs_ops() {
@@ -55,10 +55,6 @@
- fi
- # Skip emacs state files
- if [[ $i =~ ~$ ]]; then
-- continue
-- fi
-- # Skip configuration file
-- if [ $i == "tcm.cfg" ] ; then
+ if [ ${i##*/} == "lio_start.sh" ]; then
continue
fi
@@ -71,5 +67,5 @@
rc_failed 1
fi
--
-1.7.10.4
+1.8.1.4
++++++ 0018-lio_node-Make-add-idempotent.patch ++++++
--- /var/tmp/diff_new_pack.mGDGIt/_old 2014-05-02 13:59:49.000000000 +0200
+++ /var/tmp/diff_new_pack.mGDGIt/_new 2014-05-02 13:59:49.000000000 +0200
@@ -1,4 +1,4 @@
-From 132b2573fb3a9b58c937e88d4a5fe553e650a26e Mon Sep 17 00:00:00 2001
+From d16a16f730c179ad0fb1d88f650c63017e28c247 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Fri, 1 Feb 2013 14:49:03 +0100
Subject: lio_node: Make 'add' idempotent
@@ -8,14 +8,14 @@
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
- lio-py/lio_node.py | 34 ++++++++++++++++------------------
+ lio-py/lio_node.py | 34 ++++++++++++++++------------------
1 file changed, 16 insertions(+), 18 deletions(-)
diff --git a/lio-py/lio_node.py b/lio-py/lio_node.py
-index abea728..db6b94f 100755
+index d047fc1..d1cf7ee 100755
--- a/lio-py/lio_node.py
+++ b/lio-py/lio_node.py
-@@ -320,13 +320,12 @@ def lio_target_add_port(option, opt_str, value, parser):
+@@ -319,13 +319,12 @@ def lio_target_add_port(option, opt_str, value, parser):
lun_dir = lio_root + "/" + iqn + "/tpgt_" + tpgt + "/lun/lun_" + lun
if os.path.isdir(lun_dir):
@@ -35,7 +35,7 @@
port_src = tcm_root + "/" + tcm_obj
port_dst = lio_root + "/" + iqn + "/tpgt_" + tpgt + "/lun/lun_" + lun + "/" + port_name
-@@ -350,16 +349,15 @@ def lio_target_add_tpg(option, opt_str, value, parser):
+@@ -349,16 +348,15 @@ def lio_target_add_tpg(option, opt_str, value, parser):
tpg_dir = lio_root + "/" + iqn + "/tpgt_" + tpgt
if os.path.isdir(tpg_dir):
@@ -61,7 +61,7 @@
return
def __lio_target_del_port(option, opt_str, value, parser):
-@@ -408,7 +406,7 @@ def lio_target_del_port(option, opt_str, value, parser):
+@@ -407,7 +405,7 @@ def lio_target_del_port(option, opt_str, value, parser):
lun_dir = lio_root + "/" + iqn + "/tpgt_" + tpgt + "/lun/lun_" + lun
if os.path.isdir(lun_dir) == False:
@@ -71,5 +71,5 @@
__lio_target_del_port(option, opt_str, value, parser)
# Delete the ALUA secondary metadata file for this Port/LUN
--
-1.7.10.4
+1.8.1.4
++++++ 0019-rc.target.suse-Separate-tcm_-.sh-and-lio_-.sh-during.patch ++++++
--- /var/tmp/diff_new_pack.mGDGIt/_old 2014-05-02 13:59:49.000000000 +0200
+++ /var/tmp/diff_new_pack.mGDGIt/_new 2014-05-02 13:59:49.000000000 +0200
@@ -1,4 +1,4 @@
-From 10eea1b3eb2b5267966aa841ce72b154cf42f54a Mon Sep 17 00:00:00 2001
+From c4840b6400fd71937ac0f378993af8849c5de119 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Fri, 1 Feb 2013 15:00:02 +0100
Subject: rc.target.suse: Separate tcm_*.sh and lio_*.sh during startup
@@ -9,14 +9,14 @@
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
- scripts/rc.target.suse | 16 ++++++++++++++--
+ scripts/rc.target.suse | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/scripts/rc.target.suse b/scripts/rc.target.suse
-index 8533df5..88de82f 100644
+index 423c30a..dacdb77 100644
--- a/scripts/rc.target.suse
+++ b/scripts/rc.target.suse
-@@ -79,7 +79,7 @@ function tcm_check() {
+@@ -101,7 +101,7 @@ function tcm_check() {
}
function run_fabric_cfs_ops() {
@@ -25,7 +25,7 @@
if [ ! -f $i ]; then
continue
-@@ -88,12 +88,24 @@ function run_fabric_cfs_ops() {
+@@ -110,12 +110,24 @@ function run_fabric_cfs_ops() {
if [ ${i##*/} == "tcm_start.sh" ]; then
continue
fi
@@ -52,5 +52,5 @@
if [ $RET != 0 ]; then
rc_failed 1
--
-1.7.10.4
+1.8.1.4
++++++ 0020-tcm_dump-Error-checking-in-startup-script.patch ++++++
--- /var/tmp/diff_new_pack.mGDGIt/_old 2014-05-02 13:59:49.000000000 +0200
+++ /var/tmp/diff_new_pack.mGDGIt/_new 2014-05-02 13:59:49.000000000 +0200
@@ -1,4 +1,4 @@
-From 08e8c8bd9abe71e8af168322f138ffbdf6dea176 Mon Sep 17 00:00:00 2001
+From ff05d56bf0770fb688836e7be6ca88622c74c36f Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Fri, 1 Feb 2013 15:11:30 +0100
Subject: tcm_dump: Error checking in startup script
@@ -8,11 +8,11 @@
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
- tcm-py/tcm_dump.py | 53 +++++++++++++---------------------------------------
- 1 file changed, 13 insertions(+), 40 deletions(-)
+ tcm-py/tcm_dump.py | 52 ++++++++++++++--------------------------------------
+ 1 file changed, 14 insertions(+), 38 deletions(-)
diff --git a/tcm-py/tcm_dump.py b/tcm-py/tcm_dump.py
-index 47aba72..5253d14 100755
+index e4a99e6..9e182b1 100755
--- a/tcm-py/tcm_dump.py
+++ b/tcm-py/tcm_dump.py
@@ -39,7 +39,12 @@ def tcm_dump_configfs(option, opt_str, value, parser):
@@ -94,7 +94,7 @@
# Dump the ALUA types
tg_pt_gp_type_file = dev_root + g + "/alua/" + tg_pt_gp + "/alua_access_type"
p = os.open(tg_pt_gp_type_file, 0)
-@@ -213,43 +223,6 @@ def tcm_dump_configfs(option, opt_str, value, parser):
+@@ -213,41 +223,7 @@ def tcm_dump_configfs(option, opt_str, value, parser):
print "echo " + value.rstrip() + " > " + attrib_file
os.close(p)
@@ -133,11 +133,10 @@
-
- if snap_enabled == 1:
- print "tcm_node --lvsnapstart " + f + "/" + g
--
--
- return
++ return
def tcm_backup_to_file(option, opt_str, value, parser):
+ datetime = str(value)
--
-1.7.10.4
+1.8.1.4
++++++ 0021-lio_dump-Error-checking-in-startup-script.patch ++++++
--- /var/tmp/diff_new_pack.mGDGIt/_old 2014-05-02 13:59:49.000000000 +0200
+++ /var/tmp/diff_new_pack.mGDGIt/_new 2014-05-02 13:59:49.000000000 +0200
@@ -1,4 +1,4 @@
-From 01fb5fb0ca173e580f3ee1beaa036ebee4620319 Mon Sep 17 00:00:00 2001
+From 4d066c3367b339cf1070924f1a46a0c1cc14f865 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Fri, 1 Feb 2013 15:20:29 +0100
Subject: lio_dump: Error checking in startup script
@@ -8,11 +8,11 @@
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
- lio-py/lio_dump.py | 11 +++++++++--
- 1 file changed, 9 insertions(+), 2 deletions(-)
+ lio-py/lio_dump.py | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/lio-py/lio_dump.py b/lio-py/lio_dump.py
-index 34b232b..351c2b1 100755
+index 2a88f3a..c6a3600 100755
--- a/lio-py/lio_dump.py
+++ b/lio-py/lio_dump.py
@@ -21,7 +21,7 @@ def lio_target_configfs_dump(option, opt_str, value, parser):
@@ -24,18 +24,15 @@
print "#### iSCSI Discovery authentication information"
auth_dir = lio_root + "/discovery_auth"
if os.path.isdir(auth_dir) == True:
-@@ -60,7 +60,9 @@ def lio_target_configfs_dump(option, opt_str, value, parser):
- print "#### Network portals for iSCSI Target Portal Group"
- np_root = os.listdir(lio_root + "/" + iqn + "/tpgt_" + tpgt + "/np")
+@@ -62,6 +62,7 @@ def lio_target_configfs_dump(option, opt_str, value, parser):
for np in np_root:
-- print "mkdir -p " + lio_root + "/" + iqn + "/tpgt_" + tpgt + "/np/" + np
-+ np_root_dir = lio_root + "/" + iqn + "/tpgt_" + tpgt + "/np/" + np
-+ print "mkdir -p " + np_root_dir
+ np_path = lio_root + "/" + iqn + "/tpgt_" + tpgt + "/np/" + np
+ print "mkdir -p " + np_path
+ print "[ $? -eq 0 ] || exit 1"
-
- print "#### iSCSI Target Ports"
- lun_root = os.listdir(lio_root + "/" + iqn + "/tpgt_" + tpgt + "/lun")
-@@ -70,6 +72,7 @@ def lio_target_configfs_dump(option, opt_str, value, parser):
+ np_path_iser = np_path + "/iser"
+ if os.path.isfile(np_path_iser):
+ iser_fd = open(np_path_iser, 'r')
+@@ -78,6 +79,7 @@ def lio_target_configfs_dump(option, opt_str, value, parser):
lun_dir = lio_root + "/" + iqn + "/tpgt_" + tpgt + "/lun/lun_" + lun
print "mkdir -p " + lun_dir
@@ -43,7 +40,7 @@
port_root = os.listdir(lun_dir)
for port in port_root:
-@@ -89,6 +92,7 @@ def lio_target_configfs_dump(option, opt_str, value, parser):
+@@ -97,6 +99,7 @@ def lio_target_configfs_dump(option, opt_str, value, parser):
sourcelink = os.readlink(port_link)
sourcelink2 = os.path.join(os.path.dirname(port_link), sourcelink)
print "ln -s " + sourcelink2 + " " + port_link
@@ -51,7 +48,7 @@
# Dump ALUA Target Port Group
tg_pt_gp_file = lun_dir + "/alua_tg_pt_gp"
-@@ -112,6 +116,7 @@ def lio_target_configfs_dump(option, opt_str, value, parser):
+@@ -120,6 +123,7 @@ def lio_target_configfs_dump(option, opt_str, value, parser):
print "echo " + tg_pt_gp_name + " > " + tg_pt_gp_file
print "lio_node --aluasecmd " + iqn + " " + tpgt + " " + lun
@@ -59,7 +56,7 @@
# Dump values of iscsi/iqn/tpgt/attrib/
print "#### Attributes for iSCSI Target Portal Group"
-@@ -157,6 +162,7 @@ def lio_target_configfs_dump(option, opt_str, value, parser):
+@@ -165,6 +169,7 @@ def lio_target_configfs_dump(option, opt_str, value, parser):
nacl_root = os.listdir(nacl_dir)
for nacl in nacl_root:
print "mkdir -p " + nacl_dir + nacl
@@ -67,7 +64,7 @@
tcq_depth_file = nacl_dir + nacl + "/cmdsn_depth"
p = os.open(tcq_depth_file, 0)
value = os.read(p, 8)
-@@ -198,6 +204,7 @@ def lio_target_configfs_dump(option, opt_str, value, parser):
+@@ -206,6 +211,7 @@ def lio_target_configfs_dump(option, opt_str, value, parser):
continue
lun_link_dir = nacl_dir + nacl + "/" + lun_acl
print "mkdir -p " + lun_link_dir
@@ -76,5 +73,5 @@
for lun_acl_link in os.listdir(lun_link_dir):
if lun_acl_link == "write_protect":
--
-1.7.10.4
+1.8.1.4
++++++ 0022-rc.target.suse-Save-configuration-during-shutdown.patch ++++++
--- /var/tmp/diff_new_pack.mGDGIt/_old 2014-05-02 13:59:49.000000000 +0200
+++ /var/tmp/diff_new_pack.mGDGIt/_new 2014-05-02 13:59:49.000000000 +0200
@@ -1,4 +1,4 @@
-From 198a843e03ba2402c5cc8037ceab6b732fa44c9f Mon Sep 17 00:00:00 2001
+From 933c950ccef79e17330f76a3bb74a71279bf17f4 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Fri, 1 Feb 2013 15:47:13 +0100
Subject: rc.target.suse: Save configuration during shutdown
@@ -10,14 +10,14 @@
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
- scripts/rc.target.suse | 29 +++++++++++------------------
+ scripts/rc.target.suse | 29 +++++++++++------------------
1 file changed, 11 insertions(+), 18 deletions(-)
diff --git a/scripts/rc.target.suse b/scripts/rc.target.suse
-index 88de82f..a998848 100644
+index dacdb77..20fc454 100644
--- a/scripts/rc.target.suse
+++ b/scripts/rc.target.suse
-@@ -216,17 +216,12 @@ start () {
+@@ -239,17 +239,12 @@ start () {
rc_status -v
return 0
fi
@@ -39,7 +39,7 @@
if [ -e ${SEMA_TARGET} ]; then
RETVAL=1
echo -n "See ${SEMA_TARGET}"
-@@ -234,8 +229,8 @@ start () {
+@@ -257,8 +252,8 @@ start () {
return $RETVAL
fi
@@ -50,7 +50,7 @@
echo "$0: Created: " `date` > ${SEMA_TARGET}
echo "$0: " >> ${SEMA_TARGET}
echo "$0: This file has been created as a result of a potentially" >> ${SEMA_TARGET}
-@@ -246,12 +241,6 @@ start () {
+@@ -269,12 +264,6 @@ start () {
echo "$0: You must remove /var/crash/target.fault before attempting" >> ${SEMA_TARGET}
echo "$0: to start again." >> ${SEMA_TARGET}
echo "$0: " >> ${SEMA_TARGET}
@@ -63,7 +63,7 @@
if [ -e ${LOCK_TARGET} ]; then
rm -f ${SEMA_TARGET}
-@@ -292,10 +281,14 @@ stop () {
+@@ -315,10 +304,14 @@ stop () {
rc_status -v
return;
fi
@@ -80,5 +80,5 @@
return $RET
}
--
-1.7.10.4
+1.8.1.4
++++++ 0023-Use-OPTFLAGS-when-compiling.patch ++++++
--- /var/tmp/diff_new_pack.mGDGIt/_old 2014-05-02 13:59:49.000000000 +0200
+++ /var/tmp/diff_new_pack.mGDGIt/_new 2014-05-02 13:59:49.000000000 +0200
@@ -1,9 +1,12 @@
-From bae6f3da1aa6ccea165917d66c1b74f9d9923aac Mon Sep 17 00:00:00 2001
+From 5681a54afd2ddc1325a106f668481fa908ec39c9 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Wed, 18 Dec 2013 14:56:54 +0100
-Subject: [PATCH] Use 'OPTFLAGS' when compiling mib-modules
+Subject: Use 'OPTFLAGS' when compiling mib-modules
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
+---
+ mib-modules/Makefile | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/mib-modules/Makefile b/mib-modules/Makefile
index 0d54c9b..49cd175 100644
@@ -19,3 +22,6 @@
#CFLAGS +=$(AUTO_CFLAGS)
LD = gcc -shared
+--
+1.8.1.4
+
++++++ 0024-lio_node-do-not-fail-if-target-port-is-already-disab.patch ++++++
--- /var/tmp/diff_new_pack.mGDGIt/_old 2014-05-02 13:59:49.000000000 +0200
+++ /var/tmp/diff_new_pack.mGDGIt/_new 2014-05-02 13:59:49.000000000 +0200
@@ -1,7 +1,7 @@
-From 14722ab97272df00c30d7619a74b420659e6ad98 Mon Sep 17 00:00:00 2001
+From 7948ff48615b3102c44a860fe21ef1d17bae63b5 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Mon, 31 Mar 2014 14:36:02 +0200
-Subject: [PATCH] lio_node: do not fail if target port is already disabled
+Subject: lio_node: do not fail if target port is already disabled
When calling 'lio_node --unload' the command should not fail
if the target port is already disabled.
@@ -14,10 +14,10 @@
1 file changed, 20 insertions(+), 11 deletions(-)
diff --git a/lio-py/lio_node.py b/lio-py/lio_node.py
-index db6b94f..725ee94 100755
+index d1cf7ee..51faef6 100755
--- a/lio-py/lio_node.py
+++ b/lio-py/lio_node.py
-@@ -97,7 +97,6 @@ def lio_alua_process_secondary_md(option, opt_str, value, parser):
+@@ -83,7 +83,6 @@ def lio_alua_process_secondary_md(option, opt_str, value, parser):
# LIO-Target endpoint (iqn+tpgt) exists..
lio_alua_check_secondary_md(iqn, tpgt)
lio_alua_set_secondary_write_md(iqn, tpgt, lun)
@@ -25,14 +25,14 @@
return
# print "Using alua_sec_md_file: " + alua_sec_md_file
-@@ -202,10 +201,15 @@ def __lio_target_del_tpg(option, opt_str, value, parser, delete_tpg_md):
+@@ -188,10 +187,15 @@ def __lio_target_del_tpg(option, opt_str, value, parser, delete_tpg_md):
# This will set TPG Status to INACTIVE force all of the iSCSI sessions for this
# tiqn+tpgt tuple to be released.
- disable_op = "echo 0 > " + lio_root + "/" + iqn + "/tpgt_" + tpgt + "/enable"
- ret = os.system(disable_op)
- if ret:
-- lio_err("Unable to disable TPG: " + iqn + " TPGT: " + tpgt)
+- print "Unable to disable TPG: " + iqn + " TPGT: " + tpgt
+ enable_path = lio_root + "/" + iqn + "/tpgt_" + tpgt + "/enable"
+ p = os.open(enable_path, 0);
+ value = os.read(p, 8)
@@ -45,7 +45,7 @@
np_root = os.listdir(lio_root + "/" + iqn + "/tpgt_" + tpgt + "/np")
for np in np_root:
-@@ -509,12 +513,17 @@ def lio_target_disable_tpg(option, opt_str, value, parser):
+@@ -508,12 +512,17 @@ def lio_target_disable_tpg(option, opt_str, value, parser):
iqn = iqn.lower();
tpgt = str(value[1]);
++++++ 0025-target.service-Add-systemd-service-file.patch ++++++
>From 453b7d82a2a1787043a6026634321fc05ed09c41 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 17 Apr 2014 09:36:02 +0200
Subject: target.service: Add systemd service file
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
scripts/target.service | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
create mode 100644 scripts/target.service
diff --git a/scripts/target.service b/scripts/target.service
new file mode 100644
index 0000000..212e9a2
--- /dev/null
+++ b/scripts/target.service
@@ -0,0 +1,19 @@
+[Unit]
+Description="Generic Target Mode service"
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart="/etc/target/tcm_start.sh"
+ExecStart="/etc/target/lio_start.sh"
+ExecStartPost=-"/etc/target/tcm_setup.sh"
+ExecStartPost=-"/etc/target/lio_setup.sh"
+
+ExecStopPre="/usr/sbin/lio_dump --stdout > /etc/target/lio_setup.sh"
+ExecStopPre="/usr/sbin/tcm_setup --stdout > /etc/target/tcm_setup.sh"
+ExecStop="/usr/sbin/tcm_fabric --unloadall"
+ExecStop="/usr/sbin/lio_node --unload"
+ExecStopPost="/usr/sbin/tcm_node --unload"
+
+[Install]
+WantedBy=sysinit.target
--
1.8.1.4
++++++ 0026-iscsiMib.c-fixes-for-strict-aliasing.patch ++++++
>From da77229050bb604c916ffd567b58e0fed236748b Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 17 Apr 2014 12:03:50 +0200
Subject: iscsiMib.c: fixes for strict aliasing
gcc is becoming more and more picky about how valid C-code should
look like, so fixup iscsiMib.c to eliminate the strict aliasing
warnings.
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
mib-modules/iscsiMib.c | 46 ++++++++++++++++++++--------------------------
1 file changed, 20 insertions(+), 26 deletions(-)
diff --git a/mib-modules/iscsiMib.c b/mib-modules/iscsiMib.c
index e2e1ed4..5e5ba51 100644
--- a/mib-modules/iscsiMib.c
+++ b/mib-modules/iscsiMib.c
@@ -809,8 +809,7 @@ iscsiPortalAttributes_load(netsnmp_cache *cache, void *vmagic)
while (line == fgets(line, sizeof(line), fp)) {
memset(&tmp, 0, sizeof(tmp));
if (sscanf(line, ISCSI_PORTAL_ATTR_LINE, &tmp.iscsiInstIndex,
- &tmp.iscsiPortalIndex, roles, addrType,
- (u_int *)tmp.iscsiPortalAddr, proto,
+ &tmp.iscsiPortalIndex, roles, addrType, &addr, proto,
&tmp.iscsiPortalMaxRecvDataSegLength, hdrDigest,
dataDigest, rcvMarker) != 10)
continue;
@@ -819,8 +818,7 @@ iscsiPortalAttributes_load(netsnmp_cache *cache, void *vmagic)
tmp.iscsiPortalRoles = NODE_ROLE_TARGET;
if (!strcmp(addrType, "ipv4")) {
tmp.iscsiPortalAddrType = INET_ADDR_TYPE_IPV4;
- addr = htonl(*(uint32_t *)&tmp.iscsiPortalAddr);
- *(uint32_t *)tmp.iscsiPortalAddr = addr;
+ *tmp.iscsiPortalAddr = htonl(addr);
}
if (!strcmp(proto, "TCP"))
@@ -1733,42 +1731,41 @@ iscsiTargetAttributes_load(unsigned int clientreg, void *clientarg)
//snmp_log(LOG_DEBUG, "snmpd: cannot open %s\n", PROC_TARGET_ATTR);
return;
}
-
+
while (line == fgets(line, sizeof(line), fp)) {
memset(&tmp, 0, sizeof(tmp));
if (sscanf(line, ISCSI_TARGET_ATTR_LINE, &tmp.iscsiInstIndex,
&tmp.iscsiNodeIndex, &tmp.iscsiTgtLoginFailures,
&tmp.iscsiTgtLastFailureTime, &failType,
tmp.iscsiTgtLastIntrFailureName, addrType,
- (u_int *)tmp.iscsiTgtLastIntrFailureAddr) != 8)
+ &addr) != 8)
continue;
memcpy(tmp.iscsiTgtLastFailureType, iscsiTgtLoginStats_oid,
- sizeof(iscsiTgtLoginStats_oid));
- tmp.iscsiTgtLastFailureType[OID_LENGTH(iscsiTgtLoginStats_oid)] =
- failType;
+ sizeof(iscsiTgtLoginStats_oid));
+ tmp.iscsiTgtLastFailureType[OID_LENGTH(iscsiTgtLoginStats_oid)] =
+ failType;
tmp.iscsiTgtLastFailureType_len = OID_LENGTH(iscsiTgtLoginStats_oid)+1;
if (!strcmp(addrType, "ipv4")) {
tmp.iscsiTgtLastIntrFailureAddrType = INET_ADDR_TYPE_IPV4;
- addr = htonl(*(uint32_t *)tmp.iscsiTgtLastIntrFailureAddr);
- *(uint32_t *)tmp.iscsiTgtLastIntrFailureAddr = addr;
+ *tmp.iscsiTgtLastIntrFailureAddr = htonl(addr);
}
/* Send a trap on failures */
- if ((tmp.iscsiInstIndex <= ISCSI_NUM_INSTANCES) &&
+ if ((tmp.iscsiInstIndex <= ISCSI_NUM_INSTANCES) &&
(tmp.iscsiNodeIndex <= ISCSI_NUM_NODES) &&
- (tmp.iscsiTgtLoginFailures >
- numFailures[tmp.iscsiInstIndex][tmp.iscsiNodeIndex])) {
+ (tmp.iscsiTgtLoginFailures >
+ numFailures[tmp.iscsiInstIndex][tmp.iscsiNodeIndex])) {
if ((clientreg) && ((failType == ISCSI_LOGIN_FAIL_AUTHORIZE) ||
(failType == ISCSI_LOGIN_FAIL_AUTHENTICATE) ||
- (failType == ISCSI_LOGIN_FAIL_NEGOTIATE)))
+ (failType == ISCSI_LOGIN_FAIL_NEGOTIATE)))
send_iscsiTgtLoginFailure_trap(&tmp);
}
/* Update the counter to the current value from the stack */
- if (numFailures[tmp.iscsiInstIndex][tmp.iscsiNodeIndex] !=
+ if (numFailures[tmp.iscsiInstIndex][tmp.iscsiNodeIndex] !=
tmp.iscsiTgtLoginFailures)
- numFailures[tmp.iscsiInstIndex][tmp.iscsiNodeIndex] =
+ numFailures[tmp.iscsiInstIndex][tmp.iscsiNodeIndex] =
tmp.iscsiTgtLoginFailures;
entry = SNMP_MALLOC_TYPEDEF(struct iscsiTargetAttributes_entry);
@@ -3572,7 +3569,7 @@ iscsiCxnAttributes_load(netsnmp_cache *cache, void *vmagic)
char dataDgst[16];
char rcvMarker[4];
char sendMarker[4];
- uint32_t addr;
+ uint32_t local_addr, remote_addr;
struct iscsiCxnAttributes_entry tmp, *entry;
if (iscsiCxnAttributes_head)
@@ -3582,14 +3579,14 @@ iscsiCxnAttributes_load(netsnmp_cache *cache, void *vmagic)
//snmp_log(LOG_DEBUG, "snmpd: cannot open %s\n", PROC_CXN_ATTR);
return -1;
}
-
+
while (line == fgets(line, sizeof(line), fp)) {
memset(&tmp, 0, sizeof(tmp));
if (sscanf(line, ISCSI_CXN_ATTR_LINE, &tmp.iscsiInstIndex,
&tmp.iscsiSsnNodeIndex, &tmp.iscsiSsnIndex,
&tmp.iscsiCxnIndex, &tmp.iscsiCxnCid, cxnState, addrType,
- (u_int *)tmp.iscsiCxnLocalAddr, proto,
- &tmp.iscsiCxnLocalPort, (u_int *)tmp.iscsiCxnRemoteAddr,
+ &local_addr, proto,
+ &tmp.iscsiCxnLocalPort, &remote_addr,
&tmp.iscsiCxnRemotePort, &tmp.iscsiCxnMaxRecvDataSegLength,
&tmp.iscsiCxnMaxXmitDataSegLength, hdrDgst, dataDgst,
rcvMarker, sendMarker, &tmp.iscsiCxnVersionActive) != 19)
@@ -3605,11 +3602,8 @@ iscsiCxnAttributes_load(netsnmp_cache *cache, void *vmagic)
if (!strcmp(addrType, "ipv4")) {
tmp.iscsiCxnAddrType = INET_ADDR_TYPE_IPV4;
- addr = htonl(*(uint32_t *)tmp.iscsiCxnLocalAddr);
- *(uint32_t *)tmp.iscsiCxnLocalAddr = addr;
-
- addr = htonl(*(uint32_t *)tmp.iscsiCxnRemoteAddr);
- *(uint32_t *)tmp.iscsiCxnRemoteAddr = addr;
+ *tmp.iscsiCxnLocalAddr = htonl(local_addr);
+ *tmp.iscsiCxnRemoteAddr = htonl(remote_addr);
}
if (!strcmp(proto, "TCP"))
--
1.8.1.4
++++++ 0027-Compile-tools-with-OPTFLAGS.patch ++++++
>From f49590e68397b011842232dcdd71497a5bd44f12 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Thu, 17 Apr 2014 12:06:35 +0200
Subject: Compile tools with OPTFLAGS
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
tools/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/Makefile b/tools/Makefile
index 79ed3cd..3ff026a 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -6,7 +6,7 @@ ISCSI_NAME_OBJS = $(ISCSI_NAME_SRCS:.c=.o)
all:: $(ISCSI_NAME)
$(ISCSI_NAME): $(ISCSI_NAME_OBJS)
- $(CC) -o $@ $(CFLAGS) $(ISCSI_NAME_OBJS)
+ $(CC) -o $@ $(CFLAGS) $(OPTFLAGS) $(ISCSI_NAME_OBJS)
clean:
rm -f $(ISCSI_NAME_OBJS) $(ISCSI_NAME)
--
1.8.1.4
++++++ 0101-Remove-tcm_snap.py-from-package-scripts.patch ++++++
>From 595cd43e38ebd19813b91a3db35f3a707d2ba475 Mon Sep 17 00:00:00 2001
From: Nicholas Bellinger <nab(a)linux-iscsi.org>
Date: Wed, 4 May 2011 15:49:14 -0700
Subject: Remove tcm_snap.py from package scripts
Signed-off-by: Nicholas A. Bellinger <nab(a)linux-iscsi.org>
---
autoconfig | 4 ----
debian/postinst | 5 -----
debian/prerm | 4 ----
tcm-py/install.sh | 4 ----
tcm-py/setup.py | 2 +-
tcm-py/uninstall.sh | 4 ----
6 files changed, 1 insertion(+), 22 deletions(-)
diff --git a/autoconfig b/autoconfig
index 5f51028..eb925f4 100755
--- a/autoconfig
+++ b/autoconfig
@@ -365,8 +365,6 @@ sub make_target_user_rpm
mode => 755},
"$py_inst_dir/tcm_fabric.py" => { original => "tcm-py/tcm_fabric.py",
mode => 755},
- "$py_inst_dir/tcm_snap.py" => { original => "tcm-py/tcm_snap.py",
- mode => 755},
"/sbin/iscsi-name" => { original => "tools/iscsi-name",
mode => 755},
"$py_inst_dir/lio_node.py" => { original => "lio-py/lio_node.py",
@@ -378,7 +376,6 @@ sub make_target_user_rpm
$iscsid->{post} .= "if [ ! -h /usr/sbin/tcm_node ]; then ln -s $py_inst_dir/tcm_node.py /usr/sbin/tcm_node; fi; ";
$iscsid->{post} .= "if [ ! -h /usr/sbin/tcm_dump ]; then ln -s $py_inst_dir/tcm_dump.py /usr/sbin/tcm_dump ; fi; ";
$iscsid->{post} .= "if [ ! -h /usr/sbin/tcm_fabric ]; then ln -s $py_inst_dir/tcm_fabric.py /usr/sbin/tcm_fabric ; fi; ";
- $iscsid->{post} .= "if [ ! -h /usr/sbin/tcm_snap ]; then ln -s $py_inst_dir/tcm_snap.py /usr/sbin/tcm_snap ; fi; ";
$iscsid->{post} .= "if [ ! -h /usr/sbin/lio_node ]; then ln -s $py_inst_dir/lio_node.py /usr/sbin/lio_node ; fi;";
$iscsid->{post} .= "if [ ! -h /usr/sbin/lio_dump ]; then ln -s $py_inst_dir/lio_dump.py /usr/sbin/lio_dump ; fi;";
@@ -386,7 +383,6 @@ sub make_target_user_rpm
$iscsid->{preun} .= " unlink /usr/sbin/tcm_node ;";
$iscsid->{preun} .= " unlink /usr/sbin/tcm_dump ;";
$iscsid->{preun} .= " unlink /usr/sbin/tcm_fabric ;";
- $iscsid->{preun} .= " unlink /usr/sbin/tcm_snap ;";
$iscsid->{preun} .= " unlink /usr/sbin/lio_node ;";
$iscsid->{preun} .= " unlink /usr/sbin/lio_dump ;";
$iscsid->{preun} .= "fi; ";
diff --git a/debian/postinst b/debian/postinst
index 0b3b223..9ea01e3 100755
--- a/debian/postinst
+++ b/debian/postinst
@@ -16,11 +16,6 @@ if [ ! -h /usr/sbin/tcm_node ]; then
ln -s $INSTALL_PATH/tcm_node.py /usr/sbin/tcm_node;
fi
-if [ ! -h /usr/sbin/tcm_snap ]; then
- chmod a+x $INSTALL_PATH/tcm_snap.py;
- ln -s $INSTALL_PATH/tcm_snap.py /usr/sbin/tcm_snap;
-fi
-
if [ ! -h /usr/sbin/tcm_loop ]; then
chmod a+x $INSTALL_PATH/tcm_loop.py;
ln -s $INSTALL_PATH/tcm_loop.py /usr/sbin/tcm_loop;
diff --git a/debian/prerm b/debian/prerm
index 11bcf90..bd0f6f2 100755
--- a/debian/prerm
+++ b/debian/prerm
@@ -14,10 +14,6 @@ if [ -h /usr/sbin/tcm_node ]; then
unlink /usr/sbin/tcm_node;
fi
-if [ -h /usr/sbin/tcm_snap ]; then
- unlink /usr/sbin/tcm_snap;
-fi
-
if [ -h /usr/sbin/tcm_loop ]; then
unlink /usr/sbin/tcm_loop;
fi
diff --git a/tcm-py/install.sh b/tcm-py/install.sh
index 95fc87b..cbb39ae 100755
--- a/tcm-py/install.sh
+++ b/tcm-py/install.sh
@@ -4,7 +4,6 @@ SITE_PACKAGES=`python ../get-py-modules-path.py`
chmod a+x $SITE_PACKAGES/tcm_node.py
chmod a+x $SITE_PACKAGES/tcm_dump.py
-chmod a+x $SITE_PACKAGES/tcm_snap.py
chmod a+x $SITE_PACKAGES/tcm_loop.py
chmod a+x $SITE_PACKAGES/tcm_fabric.py
@@ -14,9 +13,6 @@ fi
if [ ! -f /usr/sbin/tcm_dump ]; then
ln -s $SITE_PACKAGES/tcm_dump.py /usr/sbin/tcm_dump
fi
-if [ ! -f /usr/sbin/tcm_snap ]; then
- ln -s $SITE_PACKAGES/tcm_snap.py /usr/sbin/tcm_snap
-fi
if [ ! -f /usr/sbin/tcm_loop ]; then
ln -s $SITE_PACKAGES/tcm_loop.py /usr/sbin/tcm_loop
fi
diff --git a/tcm-py/setup.py b/tcm-py/setup.py
index 6463518..437b758 100755
--- a/tcm-py/setup.py
+++ b/tcm-py/setup.py
@@ -12,6 +12,6 @@ setup (name='tcm',
author_email='nab(a)linux-iscsi.org',
url='http://linux-iscsi.org',
license='GPL',
- py_modules=['tcm_dump', 'tcm_fileio','tcm_iblock','tcm_node','tcm_pscsi','tcm_ramdisk','tcm_snap','tcm_loop','tcm_fabric']
+ py_modules=['tcm_dump', 'tcm_fileio','tcm_iblock','tcm_node','tcm_pscsi','tcm_ramdisk','tcm_loop','tcm_fabric']
)
diff --git a/tcm-py/uninstall.sh b/tcm-py/uninstall.sh
index a7bf0fb..d8cc10c 100755
--- a/tcm-py/uninstall.sh
+++ b/tcm-py/uninstall.sh
@@ -13,10 +13,6 @@ if [ -f /usr/sbin/tcm_loop ]; then
rm /usr/sbin/tcm_loop
fi
-if [ -f /usr/sbin/tcm_snap ]; then
- rm /usr/sbin/tcm_snap
-fi
-
if [ -f /usr/sbin/tcm_fabric ]; then
rm /usr/sbin/tcm_fabric
fi
--
1.8.1.4
++++++ 0102-Add-additional-rc.target-run_fabric_cfs_ops-exclusio.patch ++++++
>From 4bd008b1e1fd2510fbedce012c07b8c4b7a80502 Mon Sep 17 00:00:00 2001
From: root <root(a)aerith.risingtidesystems.com>
Date: Fri, 13 May 2011 11:04:44 -0700
Subject: Add additional rc.target:run_fabric_cfs_ops() exclusion cases
This patch adds the extra special exclusion cases in rc.target:
run_fabric_cfs_ops() for .rpmorig, .rpmnew, .dpkg-dist and
trailing /etc/target/fabric_start.sh~ cases to ensure these
are not executed during /etc/init.d/target start
Signed-off-by: Nicholas A. Bellinger <nab(a)linux-iscsi.org>
(cherry picked from commit d2cf595d45895fcb0d1453aa74224d6edab244e5)
---
scripts/rc.target | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/scripts/rc.target b/scripts/rc.target
index b464f32..22c0350 100644
--- a/scripts/rc.target
+++ b/scripts/rc.target
@@ -111,12 +111,24 @@ function run_fabric_cfs_ops() {
if [ $i == "lio_start.sh" ]; then
continue
fi
-
+ # Skip RPM package save+orig+new
if [[ $i =~ ".rpmsave" ]]; then
continue
fi
- if [[ $i =~ ".dpkg-dist" ]]; then
+ if [[ $i =~ ".rpmorig" ]]; then
+ continue
+ fi
+
+ if [[ $i =~ ".rpmnew" ]]; then
+ continue
+ fi
+ # Skip dpkg dist
+ if [[ $i =~ ".dpkg-dist" ]]; then
+ continue
+ fi
+ # Skip emacs state files
+ if [[ $i =~ ~$ ]]; then
continue
fi
@@ -138,7 +150,7 @@ function run_fabric_cfs_ops() {
else
echo " [FAILED]"
fi
-
+
done
}
@@ -258,7 +270,7 @@ function load_tcm_mod() {
}
function shutdown_fabrics() {
-
+
echo -n $"Unloading fabric/configfs: "
${TCM_FABRIC} --unloadall
RETVAL=$?
--
1.8.1.4
++++++ 0104-lio-utils-Fix-tools-build-breakage-with-dpkg-buildpa.patch ++++++
>From d22e429c773bc9d023c95504c5bc3969b2a5f219 Mon Sep 17 00:00:00 2001
From: Nicholas Bellinger <nab(a)risingtidesystems.com>
Date: Sun, 18 Sep 2011 23:01:58 -0700
Subject: lio-utils: Fix tools/ build breakage with dpkg-buildpackage
Signed-off-by: Nicholas Bellinger <nab(a)risingtidesystems.com>
---
debian/rules | 1 +
1 file changed, 1 insertion(+)
diff --git a/debian/rules b/debian/rules
index aa991c8..0d812ad 100755
--- a/debian/rules
+++ b/debian/rules
@@ -42,6 +42,7 @@ install: build
build: build-stamp
build-stamp:
dh_testdir
+ $(MAKE) DESTDIR=$(CURDIR)/debian/lio-utils -C tools
cd tcm-py ; $(setup) build --build-base build/tcm-py/ install --no-compile --root=$(CWD)/debian/lio-utils/
# echo "2.5, 2.6" > $(install_dir)/lib/pylio/.version
cd lio-py ; $(setup) build --build-base build/lio-py/ install --no-compile --root=$(CWD)/debian/lio-utils/
--
1.8.1.4
++++++ 0105-lio-utils-Remove-target-stop-start-from-debian-prerm.patch ++++++
>From 853a85f4c4ef79d997c014b3f2b5af15ced4766e Mon Sep 17 00:00:00 2001
From: Nicholas Bellinger <nab(a)risingtidesystems.com>
Date: Sun, 18 Sep 2011 23:02:56 -0700
Subject: lio-utils: Remove target stop/start from debian prerm/postinst
Signed-off-by: Nicholas Bellinger <nab(a)risingtidesystems.com>
---
debian/postinst | 16 ++++++++--------
debian/prerm | 14 +++++++-------
2 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/debian/postinst b/debian/postinst
index 9ea01e3..d4db93e 100755
--- a/debian/postinst
+++ b/debian/postinst
@@ -41,11 +41,11 @@ if [ ! -h /usr/sbin/lio_dump ]; then
ln -s $INSTALL_PATH/lio_dump.py /usr/sbin/lio_dump;
fi
-if [ -x "/etc/init.d/target" ]; then
- update-rc.d target defaults >/dev/null
- if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
- invoke-rc.d target start || exit $?
- else
- /etc/init.d/target start || exit $?
- fi
-fi
+#if [ -x "/etc/init.d/target" ]; then
+# update-rc.d target defaults >/dev/null
+# if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
+# invoke-rc.d target start || exit $?
+# else
+# /etc/init.d/target start || exit $?
+# fi
+#fi
diff --git a/debian/prerm b/debian/prerm
index bd0f6f2..73f8fbd 100755
--- a/debian/prerm
+++ b/debian/prerm
@@ -1,12 +1,12 @@
#!/bin/sh
-if [ -x "/etc/init.d/target" ]; then
- if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
- invoke-rc.d target stop || exit $?
- else
- /etc/init.d/target stop || exit $?
- fi
-fi
+#if [ -x "/etc/init.d/target" ]; then
+# if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
+# invoke-rc.d target stop || exit $?
+# else
+# /etc/init.d/target stop || exit $?
+# fi
+#fi
update-rc.d -f target remove
--
1.8.1.4
++++++ 0106-lio-utils-Convert-direct-unlink-call-to-os.unlink.patch ++++++
>From 91b961032150016b7a32dd5aea81c6330917af20 Mon Sep 17 00:00:00 2001
From: Nicholas Bellinger <nab(a)risingtidesystems.com>
Date: Wed, 5 Oct 2011 23:46:42 -0700
Subject: lio-utils: Convert direct unlink call to os.unlink
Signed-off-by: Nicholas Bellinger <nab(a)risingtidesystems.com>
---
lio-py/lio_node.py | 8 ++++----
tcm-py/tcm_fabric.py | 8 ++++----
tcm-py/tcm_loop.py | 3 +--
3 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/lio-py/lio_node.py b/lio-py/lio_node.py
index c08850d..d1e562e 100755
--- a/lio-py/lio_node.py
+++ b/lio-py/lio_node.py
@@ -361,9 +361,9 @@ def __lio_target_del_port(option, opt_str, value, parser):
if not os.path.islink(lun_dir + "/" + port):
continue
- unlink_op = "unlink " + lun_dir + "/" + port
+ unlink_op = lun_dir + "/" + port
# print "del_portunlink_op: " + unlink_op
- ret = os.system(unlink_op)
+ ret = os.unlink(unlink_op)
if ret:
lio_err("Unable to unlink iSCSI Target Logical Unit")
@@ -552,9 +552,9 @@ def lio_target_del_lunacl(option, opt_str, value, parser):
if not os.path.islink(lun_link_dir + "/" + lun_acl_link):
continue;
- unlink_op = "unlink " + lio_root + "/" + iqn + "/tpgt_" + tpgt + "/acls/" + initiator_iqn + "/lun_" + mapped_lun + "/" + lun_acl_link
+ unlink_op = lio_root + "/" + iqn + "/tpgt_" + tpgt + "/acls/" + initiator_iqn + "/lun_" + mapped_lun + "/" + lun_acl_link
# print "unlink_op: " + unlink_op
- ret = os.system(unlink_op)
+ ret = os.unlink(unlink_op)
if ret:
lio_err("Unable to unlink iSCSI Initiator Mapped LUN: " + mapped_lun + " ACL " + initiator_iqn + " for iSCSI Target Portal Group: " + iqn + " " + tpgt)
diff --git a/tcm-py/tcm_fabric.py b/tcm-py/tcm_fabric.py
index 88c7db4..49768e7 100755
--- a/tcm-py/tcm_fabric.py
+++ b/tcm-py/tcm_fabric.py
@@ -358,8 +358,8 @@ def fabric_unload(fabric_name, fabric_root, module_name):
continue
if os.path.islink(lun_link_dir + "/" + lun_acl_link):
- unlink_op = "unlink " + lun_link_dir + "/" + lun_acl_link
- ret = os.system(unlink_op)
+ unlink_op = lun_link_dir + "/" + lun_acl_link
+ ret = os.unlink(unlink_op)
if ret:
print "Unable to unlink MappedLUN: " + lun_link_dir + "/" + lun_acl_link
@@ -383,8 +383,8 @@ def fabric_unload(fabric_name, fabric_root, module_name):
if not os.path.islink(lun_dir + "/" + port):
continue
- unlink_op = "unlink " + lun_dir + "/" + port
- ret = os.system(unlink_op)
+ unlink_op = lun_dir + "/" + port
+ ret = os.unlink(unlink_op)
if ret:
print "Unable to unlink fabric port/lun"
diff --git a/tcm-py/tcm_loop.py b/tcm-py/tcm_loop.py
index 74a6c1b..772222b 100755
--- a/tcm-py/tcm_loop.py
+++ b/tcm-py/tcm_loop.py
@@ -157,8 +157,7 @@ def tcm_loop_dellun(option, opt_str, value, parser):
print "Active TCM_Loop port link does not exist!"
sys.exit(1)
- unlink_op = "unlink " + port_link
- ret = os.system(unlink_op)
+ ret = os.unlink(port_link)
if ret:
print "Unable to unlink port for virtual SCSI Logical Unit: " + port
sys.exit(1)
--
1.8.1.4
++++++ 0010-lio_dump-Add-TPG-auth-attribute-check-for-lio_target.patch -> 0107-lio_dump-Add-TPG-auth-attribute-check-for-lio_target.patch ++++++
--- /work/SRC/openSUSE:Factory/lio-utils/0010-lio_dump-Add-TPG-auth-attribute-check-for-lio_target.patch 2014-01-02 11:15:02.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.lio-utils.new/0107-lio_dump-Add-TPG-auth-attribute-check-for-lio_target.patch 2014-05-02 13:59:47.000000000 +0200
@@ -1,4 +1,4 @@
-From 14f165c5e20a1adc2c18b90fa87303aafad98df3 Mon Sep 17 00:00:00 2001
+From eb55eee43e5a265a9a2f39f5b4d452a5d11dc8b9 Mon Sep 17 00:00:00 2001
From: Nicholas Bellinger <nab(a)risingtidesystems.com>
Date: Sat, 10 Dec 2011 00:04:24 -0800
Subject: lio_dump: Add TPG auth attribute check for lio_target_configfs_dump
@@ -8,7 +8,7 @@
Signed-off-by: Nicholas Bellinger <nab(a)risingtidesystems.com>
---
- lio-py/lio_dump.py | 16 ++++++++++++++++
+ lio-py/lio_dump.py | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/lio-py/lio_dump.py b/lio-py/lio_dump.py
@@ -39,5 +39,5 @@
print "#### Parameters for iSCSI Target Portal Group"
param_dir = lio_root + "/" + iqn + "/tpgt_" + tpgt + "/param/"
--
-1.7.10.4
+1.8.1.4
++++++ 0108-Handle-exception-in-cases-where-the-path-is-not-avai.patch ++++++
>From 341f8838824c35d84637de8592dbe5c72e7749bf Mon Sep 17 00:00:00 2001
From: Ritesh Raj Sarraf <rrs(a)researchut.com>
Date: Fri, 16 Mar 2012 01:51:17 +0530
Subject: Handle exception in cases where the path is not available
Please see, Debian bug:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=652052
This happens if you have lio installed but not enabled to start. Upon a
new version installation, the pkg manager calls the stop target. With no
kernel module loaded, this leads to tcm_fabric and tcm_node throwing out
exceptions
Signed-off-by: Ritesh Raj Sarraf <rrs(a)researchut.com>
Signed-off-by: Nicholas Bellinger <nab(a)risingtidesystems.com>
---
tcm-py/tcm_fabric.py | 5 +++++
tcm-py/tcm_node.py | 5 +++++
2 files changed, 10 insertions(+)
diff --git a/tcm-py/tcm_fabric.py b/tcm-py/tcm_fabric.py
index 49768e7..2bdc77a 100755
--- a/tcm-py/tcm_fabric.py
+++ b/tcm-py/tcm_fabric.py
@@ -472,6 +472,11 @@ def fabric_unloadall():
continue
fabric_unload(fabric_name, fabric_root, module_name)
+ except OSError, (errno, strerror):
+ if errno == 2:
+ print "%s %s\n" % (target_root, strerror)
+ print "Is kernel module loaded?\n"
+ exit 1
def do_work(stdout_enable, stdout_enable_all, date_time, unload, unloadall, fabric_name, fabric_root, module_name):
diff --git a/tcm-py/tcm_node.py b/tcm-py/tcm_node.py
index 4504d9b..b7c05cf 100755
--- a/tcm-py/tcm_node.py
+++ b/tcm-py/tcm_node.py
@@ -25,6 +25,11 @@ def tcm_err(msg):
def tcm_read(filename):
with open(filename) as f:
return f.read()
+ except IOError, (errno, strerror):
+ if errno == 2:
+ print "%s %s\n" % (filename, strerror)
+ print "Is kernel module loaded?\n"
+ exit 1
def tcm_write(filename, value, newline=True):
with open(filename, "w") as f:
--
1.8.1.4
++++++ 0109-tighter-checks.patch ++++++
>From 4f87d08987ab6332154cc37f81019de15a4af894 Mon Sep 17 00:00:00 2001
From: Ritesh Raj Sarraf <rrs(a)researchut.com>
Date: Fri, 16 Mar 2012 01:23:40 +0530
Subject: tighter checks
Please see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=654262 for
details. Thanks to Aurelien Jarno
Signed-off-by: Ritesh Raj Sarraf <rrs(a)researchut.com>
Signed-off-by: Nicholas Bellinger <nab(a)risingtidesystems.com>
---
scripts/rc.target | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts/rc.target b/scripts/rc.target
index 22c0350..7ad75a3 100644
--- a/scripts/rc.target
+++ b/scripts/rc.target
@@ -51,9 +51,9 @@ LIO_CONFIGFS_SCRIPT="/etc/target/lio_start.sh"
# Enable: Set DEBUG=1 Disable: Set DEBUG=0
DEBUG=0
-LOGFILE=/tmp/tgtctl.dbug
+LOGFILE=/var/log/tgtctl.dbug
-if [ $DEBUG ]; then
+if [ $DEBUG != 0 ]; then
echo "$0 $*" >> $LOGFILE
fi
#########################################################################
--
1.8.1.4
++++++ 0110-Handle-exception-during-non-existent-files.patch ++++++
>From 981500a47c4dd1821b1511ed300896ecdaa5eb48 Mon Sep 17 00:00:00 2001
From: Ritesh Raj Sarraf <rrs(a)researchut.com>
Date: Thu, 10 May 2012 17:47:14 +0530
Subject: Handle exception during non-existent files
This could occur if the kernel moduel is not loaded
Also fix, major typo, where I completely missed the try:
block in the previously submitted patch. Sorry.
Signed-off-by: Ritesh Raj Sarraf <rrs(a)researchut.com>
Signed-off-by: Nicholas Bellinger <nab(a)risingtidesystems.com>
---
tcm-py/tcm_fabric.py | 37 ++++++++++++++++++++-----------------
tcm-py/tcm_node.py | 21 ++++++++++++---------
2 files changed, 32 insertions(+), 26 deletions(-)
diff --git a/tcm-py/tcm_fabric.py b/tcm-py/tcm_fabric.py
index 2bdc77a..4e6dab1 100755
--- a/tcm-py/tcm_fabric.py
+++ b/tcm-py/tcm_fabric.py
@@ -9,6 +9,10 @@ import optparse
target_root = "/sys/kernel/config/target/"
spec_root = "/var/target/fabric/"
+def fabric_err(msg):
+ print >> sys.stderr, msg
+ sys.exit(1)
+
def fabric_configfs_dump(fabric_name, fabric_root, module_name):
if not os.path.isdir(fabric_root):
@@ -455,28 +459,27 @@ def fabric_unloadall():
module_name = ""
- for fabric_name in os.listdir(target_root):
- if fabric_name == "version":
- continue
- if fabric_name == "core":
- continue
- # FIXME: currently using lio_node --unload
- if fabric_name == "iscsi":
- continue
+ try:
+ for fabric_name in os.listdir(target_root):
+ if fabric_name == "version":
+ continue
+ if fabric_name == "core":
+ continue
+ # FIXME: currently using lio_node --unload
+ if fabric_name == "iscsi":
+ continue
- fabric_root = target_root + fabric_name
- module_name = fabric_get_module_name(fabric_name)
-# print "fabric_get_module_name() using: " + module_name
+ fabric_root = target_root + fabric_name
+ module_name = fabric_get_module_name(fabric_name)
+ #print "fabric_get_module_name() using: " + module_name
- if module_name == "":
- continue
+ if module_name == "":
+ continue
- fabric_unload(fabric_name, fabric_root, module_name)
+ fabric_unload(fabric_name, fabric_root, module_name)
except OSError, (errno, strerror):
if errno == 2:
- print "%s %s\n" % (target_root, strerror)
- print "Is kernel module loaded?\n"
- exit 1
+ fabric_err("%s %s\n%s" % (target_root, strerror, "Is kernel module loaded?") )
def do_work(stdout_enable, stdout_enable_all, date_time, unload, unloadall, fabric_name, fabric_root, module_name):
diff --git a/tcm-py/tcm_node.py b/tcm-py/tcm_node.py
index b7c05cf..997009c 100755
--- a/tcm-py/tcm_node.py
+++ b/tcm-py/tcm_node.py
@@ -23,19 +23,22 @@ def tcm_err(msg):
sys.exit(1)
def tcm_read(filename):
- with open(filename) as f:
- return f.read()
+ try:
+ with open(filename) as f:
+ return f.read()
except IOError, (errno, strerror):
if errno == 2:
- print "%s %s\n" % (filename, strerror)
- print "Is kernel module loaded?\n"
- exit 1
+ tcm_err("%s %s\n%s" % (filename, strerror, "Is kernel module loaded?") )
def tcm_write(filename, value, newline=True):
- with open(filename, "w") as f:
- f.write(value)
- if newline:
- f.write("\n")
+ try:
+ with open(filename, "w") as f:
+ f.write(value)
+ if newline:
+ f.write("\n")
+ except IOError, (errno, strerror):
+ if errno == 2:
+ tcm_err("%s %s\n%s" % (filename, strerror, "Is kernel module loaded?") )
def tcm_full_path(arg):
return tcm_root + "/" + arg
--
1.8.1.4
++++++ 0111-tcm_node-Remove-target_core_stgt-shutdown-warning.patch ++++++
>From 21c06cdeb05e8eaa22d2e5c914bddba7a558c448 Mon Sep 17 00:00:00 2001
From: Nicholas Bellinger <nab(a)risingtidesystems.com>
Date: Thu, 13 Sep 2012 13:44:48 -0700
Subject: tcm_node: Remove target_core_stgt shutdown warning
This patch removes the following warning during init.d/target stop:
ERROR: Module target_core_stgt does not exist in /proc/modules
as target_core_stgt is not currently an mainline backend driver nor
included into RTS-OS.
Reported-by: Michael Kromer <mek(a)risingtidesystems.com>
Signed-off-by: Nicholas Bellinger <nab(a)risingtidesystems.com>
---
tcm-py/tcm_node.py | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/tcm-py/tcm_node.py b/tcm-py/tcm_node.py
index 997009c..7cd0217 100755
--- a/tcm-py/tcm_node.py
+++ b/tcm-py/tcm_node.py
@@ -186,7 +186,6 @@ def tcm_generate_uuid_for_unit_serial(dev_path):
tcm_types = ( \
dict(name="pscsi", module=tcm_pscsi, gen_uuid=False),
- dict(name="stgt", module=None, gen_uuid=True),
dict(name="iblock", module=tcm_iblock, gen_uuid=True),
dict(name="rd_dr", module=tcm_ramdisk, gen_uuid=True),
dict(name="rd_mcp", module=tcm_ramdisk, gen_uuid=True),
@@ -598,7 +597,7 @@ def tcm_unload():
tcm_del_alua_lugp(lu_gp)
# Unload TCM subsystem plugin modules
- for module in ("iblock", "file", "pscsi", "stgt"):
+ for module in ("iblock", "file", "pscsi"):
os.system("rmmod target_core_%s" % module)
# Unload TCM Core
--
1.8.1.4
++++++ 0112-lio-utils-Add-init-script-for-SUSE.patch ++++++
>From 9afa36a336ff203e34ae774998019b1ff84a05bc Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Tue, 9 Oct 2012 13:51:12 -0700
Subject: lio-utils: Add init script for SUSE
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
Signed-off-by: Nicholas Bellinger <nab(a)risingtidesystems.com>
---
scripts/rc.target.suse | 403 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 403 insertions(+)
create mode 100644 scripts/rc.target.suse
diff --git a/scripts/rc.target.suse b/scripts/rc.target.suse
new file mode 100644
index 0000000..5e49f8f
--- /dev/null
+++ b/scripts/rc.target.suse
@@ -0,0 +1,403 @@
+#!/bin/bash
+#
+# Filename: /etc/init.d/target
+# target: Bring up/down target_core_mod and iscsi_target_mod v3.0
+#
+# Bring up/down iscsi target networking
+#
+# chkconfig: 2345 18 01
+# description: Target_Core_Mod + LIO-target + ConfigFS v3.x
+# config: /etc/sysconfig/target
+#
+#########################################################################
+#
+
+# For SuSE, the following information is read by "insserv" program and the
+# start/stoplinks are installed at appropriate runlevels.
+# The network interface and logger has to be up for starting target service
+
+### BEGIN INIT INFO
+# Provides: target
+# Required-Start: $network $syslog
+# Required-Stop: $network $syslog
+# Default-Start: 2 3 5
+# Default-Stop: 0 1 6
+# Description: TCM/ConfigFS and LIO-Target
+### END INIT INFO
+
+# Source function library.
+. /etc/rc.status
+
+#########################################################################
+# Our product file definitions
+
+MODNAME="target_core_mod"
+
+TCM_CFS_DIR="/sys/kernel/config/target/core"
+LIO_CFS_DIR="/sys/kernel/config/target/iscsi"
+FILE_TCFG="/etc/sysconfig/target"
+LOCK_TARGET="/var/lock/subsys/target"
+LOG_EVENT="/var/log/iscsi/target.log"
+TCM_NODE="/usr/sbin/tcm_node"
+LIO_NODE="/usr/sbin/lio_node"
+TCM_FABRIC="/usr/sbin/tcm_fabric"
+SEMA_TARGET="/var/crash/target.fault"
+CONFIGFS_SCRIPT_DIR="/etc/target"
+TCM_CONFIGFS_SCRIPT="/etc/target/tcm_start.sh"
+LIO_CONFIGFS_SCRIPT="/etc/target/lio_start.sh"
+
+#########################################################################
+# Allows saving command & arguments into a file for subsequent debugging
+# Enable: Set DEBUG=1 Disable: Set DEBUG=0
+
+DEBUG=0
+LOGFILE=/tmp/tgtctl.dbug
+
+if [ $DEBUG ]; then
+ echo "$0 $*" >> $LOGFILE
+fi
+#########################################################################
+
+ARGS_CHECK=2
+ARGS_COUNT=$#
+
+cd / # to avoid making the CWD unmountable
+
+#########################################################################
+
+PATH="/sbin:/bin:/usr/sbin:/usr/bin:$PATH"
+RETVAL=0
+
+function tcm_check() {
+ local RETVAL=0
+
+ if [ ! -f ${TCM_NODE} ]; then
+ echo "${TCM_NODE} does not exist"
+ RETVAL=1
+ rc_failed $RETVAL
+ return $RETVAL
+ fi
+
+ if [ ! -f ${LIO_NODE} ]; then
+ echo "${LIO_NODE} does not exist"
+ RETVAL=1
+ rc_failed $RETVAL
+ return $RETVAL
+ fi
+
+ if [ ! -d /var/target/pr ]; then
+ echo "/var/target/pr does not exist"
+ RETVAL=1
+ rc_failed $RETVAL
+ return $RETVAL
+ fi
+
+ if [ ! -d /var/target/alua ]; then
+ echo "/var/target/alua does not exist"
+ RETVAL=1
+ rc_failed $RETVAL
+ fi
+ return $RETVAL
+}
+
+function run_fabric_cfs_ops() {
+ for i in $( ls $CONFIGFS_SCRIPT_DIR); do
+
+ CONFIGFS_SCRIPT_PATH="$CONFIGFS_SCRIPT_DIR/$i"
+ if [ ! -f $CONFIGFS_SCRIPT_PATH ]; then
+ continue
+ fi
+ # target core is handled in run_tcm_cfs_ops()
+ if [ $i == "tcm_start.sh" ]; then
+ continue
+ fi
+ # iscsi-target fabric module is handled in run_lio_target_cfs_ops()
+ if [ $i == "lio_start.sh" ]; then
+ continue
+ fi
+ # Skip RPM package save+orig+new
+ if [[ $i =~ ".rpmsave" ]]; then
+ continue
+ fi
+
+ if [[ $i =~ ".rpmorig" ]]; then
+ continue
+ fi
+
+ if [[ $i =~ ".rpmnew" ]]; then
+ continue
+ fi
+ # Skip dpkg dist
+ if [[ $i =~ ".dpkg-dist" ]]; then
+ continue
+ fi
+ # Skip emacs state files
+ if [[ $i =~ ~$ ]]; then
+ continue
+ fi
+
+ echo -n $"Calling ConfigFS script $CONFIGFS_SCRIPT_PATH: "
+ sh ${CONFIGFS_SCRIPT_PATH} > /dev/null 2>&1
+ if [ $RET != 0 ]; then
+ rc_failed 1
+ fi
+ rc_status -v
+ done
+}
+
+function run_lio_target_cfs_ops() {
+ if [ -f $LIO_CONFIGFS_SCRIPT ]; then
+ echo -n $"Calling $LIO_CONFIGFS_SCRIPT for iscsi_target_mod: "
+ sh ${LIO_CONFIGFS_SCRIPT} > /dev/null 2>&1
+ RET=$?
+ if [ $RET != 0 ]; then
+ rc_failed 1
+ fi
+ rc_status -v
+ fi
+}
+
+function run_tcm_cfs_ops() {
+ if [ -f $TCM_CONFIGFS_SCRIPT ]; then
+ echo -n $"Calling $TCM_CONFIGFS_SCRIPT for target_core_mod: "
+ sh ${TCM_CONFIGFS_SCRIPT} > /dev/null 2>&1
+ RET=$?
+ if [ $RET != 0 ]; then
+ rc_failed 1
+ fi
+ rc_status -v
+ fi
+
+ run_lio_target_cfs_ops
+ run_fabric_cfs_ops
+}
+
+function check_configfs_mount() {
+ if [ ! -d /sys/kernel/config ]; then
+ modprobe configfs
+ mount -t configfs configfs /sys/kernel/config
+ RET=$?
+ if [ $RET != 0 ]; then
+ echo -n "ERROR: Unable to mount configfs on /sys/kernel/config"
+ rc_failed 1
+ rc_exit
+ fi
+ fi
+}
+
+function unload_lio_mode() {
+ echo -n "Unload Linux-iSCSI.org Fabric module"
+ rmmod iscsi_target_mod
+ rc_status -v
+}
+
+function load_tcm_mod() {
+ check_configfs_mount
+ RETVAL=$?
+ if [ $RETVAL != 0 ]; then
+ rc_failed 1
+ return 1
+ fi
+
+ echo -n $"Loading target_core_mod/ConfigFS core: "
+ modprobe -q ${MODNAME} > /dev/null
+ rc_status -v
+
+ return 0
+}
+
+function shutdown_fabrics() {
+
+ echo -n $"Unloading fabric/configfs: "
+ ${TCM_FABRIC} --unloadall
+ rc_status -v
+}
+
+function shutdown_lio_mod () {
+ if [ -d /sys/kernel/config/target/iscsi/ ]; then
+ echo -n $"Unloading LIO-Target/ConfigFS fabric: "
+ ${LIO_NODE} --unload
+ rc_status -v
+ fi
+}
+
+function unload_tcm_mod() {
+ local RETVAL=0
+ if [ -d /sys/kernel/config/target ] ; then
+ shutdown_fabrics
+ shutdown_lio_mod
+
+ echo -n $"Unloading target_core_mod/ConfigFS core: "
+ $TCM_NODE --unload
+ sleep 1
+ RETVAL=$?
+ if [ $RETVAL != 0 ] ; then
+ rc_failed 1
+ fi
+ rc_status -v
+ fi
+ return $RETVAL
+}
+
+start () {
+ if [ -d ${TCM_CFS_DIR} ]; then
+ echo -n "target_core_mod/ConfigFS core already loaded"
+ rc_status -v
+ return 0
+ fi
+ if test "x `lsmod | grep ${MODNAME} | awk '{ if ($$1 == "${MODNAME}") print $$1 }'`" == x ; then
+ return 0
+ else
+ if [ -e ${LOCK_TARGET} ]; then
+ rm -f ${LOCK_TARGET}
+ fi
+ fi
+
+# Prevent multiple driver panics from hanging system (probably via scsi or target driver).
+# HINT: Most likely cause is a problem within '/etc/iscsi/install.target'.
+# Save a backup of the file, then NULL'd it to troubleshoot this variant.
+ if [ -e ${SEMA_TARGET} ]; then
+ RETVAL=1
+ echo -n "See ${SEMA_TARGET}"
+ rc_failed $RETVAL
+ return $RETVAL
+ fi
+
+# Put message in semaphore file to aid in troubleshooting should
+# the file still exist during a subsequent boot.
+ echo "$0: Created: " `date` > ${SEMA_TARGET}
+ echo "$0: " >> ${SEMA_TARGET}
+ echo "$0: This file has been created as a result of a potentially" >> ${SEMA_TARGET}
+ echo "$0: recursive module startup problem. Probable cause is an" >> ${SEMA_TARGET}
+ echo "$0: iSCSI device configuration problem which finds its way" >> ${SEMA_TARGET}
+ echo "$0: catastrophically into the Target Core Stack." >> ${SEMA_TARGET}
+ echo "$0: " >> ${SEMA_TARGET}
+ echo "$0: You must remove /var/crash/target.fault before attempting" >> ${SEMA_TARGET}
+ echo "$0: to start again." >> ${SEMA_TARGET}
+ echo "$0: " >> ${SEMA_TARGET}
+ echo "$0: Continued startup problems might be researched by saving" >> ${SEMA_TARGET}
+ echo "$0: off the current /etc/iscsi/install.target file and then" >> ${SEMA_TARGET}
+ echo "$0: replacing it with a dummy file which contains no entries." >> ${SEMA_TARGET}
+ echo "$0: If bootup is then successful, contact the iSCSI Target" >> ${SEMA_TARGET}
+ echo "$0: Stack manufacturer for assistance with problems within" >> ${SEMA_TARGET}
+ echo "$0: the target configuration file." >> ${SEMA_TARGET}
+
+ if [ -e ${LOCK_TARGET} ]; then
+ rm -f ${SEMA_TARGET}
+ RETVAL=1
+ echo -n "ERROR, target_core_mod already active"
+ rc_failed $RETVAL
+ return $RETVAL
+ fi
+
+ load_tcm_mod
+ if [ $RETVAL != 0 ]; then
+ rm -f ${SEMA_TARGET}
+ return $RETVAL
+ fi
+
+ sleep 1
+
+ ${PGM_SET_TNAME}
+ RETVAL=$?
+ if [ $RETVAL == 2 ]; then
+ rm -f ${SEMA_TARGET}
+ unload_tcm_mod
+ return $RETVAL
+ fi
+
+ run_tcm_cfs_ops $1
+ touch ${LOCK_TARGET}
+ rm -f ${SEMA_TARGET}
+
+ return $RETVAL
+}
+
+stop () {
+ rm -f ${SEMA_TARGET}
+
+ if [ ! -d /sys/kernel/config/target ] ; then
+ echo -n "target_core_mod/ConfigFS core already unloaded"
+ rc_status -v
+ return;
+ fi
+ unload_tcm_mod
+ RET=$?
+ if [ $RET == 0 ]; then
+ rm -f ${LOCK_TARGET}
+ fi
+ return $RET
+}
+
+function lio_version () {
+ if [ ! -d ${LIO_CFS_DIR} ]; then
+ exit 1
+ fi
+
+ lio_node --version
+}
+
+function lio_status () {
+ if [ ! -d ${LIO_CFS_DIR} ]; then
+ exit 1
+ fi
+
+ lio_node --listendpoints
+}
+
+function tcm_version () {
+ if [ ! -d ${TCM_CFS_DIR} ]; then
+ exit 1
+ fi
+
+ tcm_node --version
+}
+
+function tcm_status () {
+ if [ ! -d ${TCM_CFS_DIR} ]; then
+ exit 1
+ fi
+
+ echo "[---------------------------] TCM/ConfigFS Status [----------------------------]"
+ tcm_node --listhbas
+
+ echo ""
+ echo "[---------------------------] LIO-Target Status [----------------------------]"
+ lio_status
+
+ echo ""
+ tcm_version
+ lio_version
+ rc_status -v
+}
+
+restart () {
+ stop
+ start
+ RETVAL=$?
+}
+
+case "$1" in
+ start)
+ if tcm_check ; then
+ start
+ fi
+ ;;
+ stop)
+ if tcm_check ; then
+ stop
+ fi
+ ;;
+ status)
+ tcm_status
+ RETVAL=$?
+ ;;
+ restart|reload)
+ restart
+ ;;
+ *)
+ echo $"Usage: $0 {start|startbak|stop|status|restart}"
+ exit 1
+esac
+
+rc_exit
--
1.8.1.4
++++++ 0004-lio_node-Unload-iscsi_target_mod-correctly.patch -> 0113-lio_node-Unload-iscsi_target_mod-correctly.patch ++++++
--- /work/SRC/openSUSE:Factory/lio-utils/0004-lio_node-Unload-iscsi_target_mod-correctly.patch 2014-01-02 11:15:02.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.lio-utils.new/0113-lio_node-Unload-iscsi_target_mod-correctly.patch 2014-05-02 13:59:47.000000000 +0200
@@ -1,4 +1,4 @@
-From 343a1eaa66671c12486d7a89ce96916905c1b36f Mon Sep 17 00:00:00 2001
+From 95042b812a10997cdc3e56ffe8c402168c3f19d5 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Tue, 9 Oct 2012 13:52:19 -0700
Subject: lio_node: Unload iscsi_target_mod correctly
@@ -11,12 +11,13 @@
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
Signed-off-by: Nicholas Bellinger <nab(a)risingtidesystems.com>
---
- lio-py/lio_node.py | 17 +++++++++--------
- scripts/rc.target | 2 +-
- 2 files changed, 10 insertions(+), 9 deletions(-)
+ lio-py/lio_node.py | 17 +++++++++--------
+ scripts/rc.target | 2 +-
+ scripts/rc.target.suse | 5 +++--
+ 3 files changed, 13 insertions(+), 11 deletions(-)
diff --git a/lio-py/lio_node.py b/lio-py/lio_node.py
-index c08850d..a9412d1 100755
+index d1e562e..c7082e8 100755
--- a/lio-py/lio_node.py
+++ b/lio-py/lio_node.py
@@ -1198,10 +1198,9 @@ def lio_target_set_tpg_param(option, opt_str, value, parser):
@@ -51,10 +52,10 @@
rmmod_op = "rmmod iscsi_target_mod"
ret = os.system(rmmod_op)
diff --git a/scripts/rc.target b/scripts/rc.target
-index b464f32..f18de59 100644
+index 7ad75a3..d5243e2 100644
--- a/scripts/rc.target
+++ b/scripts/rc.target
-@@ -270,7 +270,7 @@ function shutdown_fabrics() {
+@@ -282,7 +282,7 @@ function shutdown_fabrics() {
}
function shutdown_lio_mod () {
@@ -63,6 +64,32 @@
return 0
fi
+diff --git a/scripts/rc.target.suse b/scripts/rc.target.suse
+index 5e49f8f..a3806fa 100644
+--- a/scripts/rc.target.suse
++++ b/scripts/rc.target.suse
+@@ -214,7 +214,7 @@ function shutdown_fabrics() {
+ }
+
+ function shutdown_lio_mod () {
+- if [ -d /sys/kernel/config/target/iscsi/ ]; then
++ if -ne lsmod | grep -q iscsi_target_mod ; then
+ echo -n $"Unloading LIO-Target/ConfigFS fabric: "
+ ${LIO_NODE} --unload
+ rc_status -v
+@@ -229,10 +229,11 @@ function unload_tcm_mod() {
+
+ echo -n $"Unloading target_core_mod/ConfigFS core: "
+ $TCM_NODE --unload
+- sleep 1
+ RETVAL=$?
+ if [ $RETVAL != 0 ] ; then
+ rc_failed 1
++ else
++ sleep 1
+ fi
+ rc_status -v
+ fi
--
-1.7.10.4
+1.8.1.4
++++++ 0005-tcm_node-Unload-tcm-modules-recursively.patch -> 0114-tcm_node-Unload-tcm-modules-recursively.patch ++++++
--- /work/SRC/openSUSE:Factory/lio-utils/0005-tcm_node-Unload-tcm-modules-recursively.patch 2014-01-02 11:15:02.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.lio-utils.new/0114-tcm_node-Unload-tcm-modules-recursively.patch 2014-05-02 13:59:47.000000000 +0200
@@ -1,6 +1,6 @@
-From 355ec313c9fbccea4b1191d25d96b0f97371e127 Mon Sep 17 00:00:00 2001
+From 043ab42daefb274029cb4cc3e96805a2b6dc29db Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
-Date: Fri, 26 Oct 2012 12:04:07 +0200
+Date: Tue, 9 Oct 2012 13:57:03 -0700
Subject: tcm_node: Unload tcm modules recursively
There might be different modules loaded and we might not know
@@ -12,16 +12,16 @@
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
Signed-off-by: Nicholas Bellinger <nab(a)risingtidesystems.com>
---
- tcm-py/tcm_node.py | 36 +++++++++++++++++-------------------
- 1 file changed, 17 insertions(+), 19 deletions(-)
+ tcm-py/tcm_node.py | 26 +++++++++++++++++---------
+ 1 file changed, 17 insertions(+), 9 deletions(-)
diff --git a/tcm-py/tcm_node.py b/tcm-py/tcm_node.py
-index a8cd7b8..bab073d 100755
+index 7cd0217..86eeef4 100755
--- a/tcm-py/tcm_node.py
+++ b/tcm-py/tcm_node.py
-@@ -1222,6 +1222,21 @@ def tcm_show_wwn_info(option, opt_str, value, parser):
-
- return
+@@ -578,6 +578,21 @@ def tcm_show_wwn_info(dev_path):
+ if info:
+ print info
+def tcm_unload_modules(mod):
+ p = sub.Popen(["lsmod"], stdout=sub.PIPE)
@@ -38,37 +38,27 @@
+ tcm_err("Unable to " + rmmod_op)
+ return
+
- def tcm_unload(option, opt_str, value, parser):
-
+ def tcm_unload():
if not os.path.isdir(tcm_root):
-@@ -1241,25 +1256,8 @@ def tcm_unload(option, opt_str, value, parser):
+ tcm_err("Unable to access tcm_root: " + tcm_root)
+@@ -596,15 +611,8 @@ def tcm_unload():
- tcm_del_alua_lugp(None, None, lu_gp, None)
+ tcm_del_alua_lugp(lu_gp)
- # Unload TCM subsystem plugin modules
-- rmmod_op = "rmmod target_core_iblock"
-- ret = os.system(rmmod_op)
--
-- rmmod_op = "rmmod target_core_file"
-- ret = os.system(rmmod_op)
--
-- rmmod_op = "rmmod target_core_pscsi"
-- ret = os.system(rmmod_op)
--
-- rmmod_op = "rmmod target_core_stgt"
-- ret = os.system(rmmod_op)
+- for module in ("iblock", "file", "pscsi"):
+- os.system("rmmod target_core_%s" % module)
-
- # Unload TCM Core
- rmmod_op = "rmmod target_core_mod"
- ret = os.system(rmmod_op)
- if ret:
- tcm_err("Unable to rmmod target_core_mod")
--
+ # Unload TCM subsystem plugin modules + TCM core
+ tcm_unload_modules("target_core_mod")
- return
- def tcm_version(option, opt_str, value, parser):
+ def tcm_version():
+ return tcm_read("/sys/kernel/config/target/version").strip()
--
-1.7.10.4
+1.8.1.4
++++++ 0006-lio-utils-Use-the-proper-conditional-inversion-in-sh.patch -> 0115-lio-utils-Use-the-proper-conditional-inversion-in-sh.patch ++++++
--- /work/SRC/openSUSE:Factory/lio-utils/0006-lio-utils-Use-the-proper-conditional-inversion-in-sh.patch 2014-01-02 11:15:02.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.lio-utils.new/0115-lio-utils-Use-the-proper-conditional-inversion-in-sh.patch 2014-05-02 13:59:47.000000000 +0200
@@ -1,4 +1,4 @@
-From 4cb4b1e5e7289cd845c04a91e9be8fa36e26a342 Mon Sep 17 00:00:00 2001
+From ff5e42eff24acdac5b2123afb83c63a88377cc51 Mon Sep 17 00:00:00 2001
From: Nicholas Bellinger <nab(a)risingtidesystems.com>
Date: Tue, 9 Oct 2012 14:51:33 -0700
Subject: lio-utils: Use the proper conditional inversion in shutdown_lio_mod
@@ -8,14 +8,15 @@
Signed-off-by: Nicholas Bellinger <nab(a)risingtidesystems.com>
---
- scripts/rc.target | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ scripts/rc.target | 2 +-
+ scripts/rc.target.suse | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts/rc.target b/scripts/rc.target
-index f18de59..83e9dac 100644
+index d5243e2..b269ef3 100644
--- a/scripts/rc.target
+++ b/scripts/rc.target
-@@ -270,7 +270,7 @@ function shutdown_fabrics() {
+@@ -282,7 +282,7 @@ function shutdown_fabrics() {
}
function shutdown_lio_mod () {
@@ -24,6 +25,19 @@
return 0
fi
+diff --git a/scripts/rc.target.suse b/scripts/rc.target.suse
+index a3806fa..5aa5283 100644
+--- a/scripts/rc.target.suse
++++ b/scripts/rc.target.suse
+@@ -214,7 +214,7 @@ function shutdown_fabrics() {
+ }
+
+ function shutdown_lio_mod () {
+- if -ne lsmod | grep -q iscsi_target_mod ; then
++ if ! lsmod | grep -q iscsi_target_mod ; then
+ echo -n $"Unloading LIO-Target/ConfigFS fabric: "
+ ${LIO_NODE} --unload
+ rc_status -v
--
-1.7.10.4
+1.8.1.4
++++++ 0116-lio-utils-Change-rc.target.suse-shutdown_lio_mod-to-.patch ++++++
>From f4b1ebbb0fb9d845bdb24d8b4057e6dfebaa3039 Mon Sep 17 00:00:00 2001
From: Nicholas Bellinger <nab(a)risingtidesystems.com>
Date: Tue, 9 Oct 2012 15:14:45 -0700
Subject: lio-utils: Change rc.target.suse:shutdown_lio_mod to follow rc.target
Signed-off-by: Nicholas Bellinger <nab(a)risingtidesystems.com>
---
scripts/rc.target.suse | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/scripts/rc.target.suse b/scripts/rc.target.suse
index 5aa5283..c812430 100644
--- a/scripts/rc.target.suse
+++ b/scripts/rc.target.suse
@@ -215,10 +215,12 @@ function shutdown_fabrics() {
function shutdown_lio_mod () {
if ! lsmod | grep -q iscsi_target_mod ; then
- echo -n $"Unloading LIO-Target/ConfigFS fabric: "
- ${LIO_NODE} --unload
- rc_status -v
- fi
+ return 0
+ fi
+
+ echo -n $"Unloading LIO-Target/ConfigFS fabric: "
+ ${LIO_NODE} --unload
+ rc_status -v
}
function unload_tcm_mod() {
--
1.8.1.4
++++++ 0117-tcm_node-Fix-typo-in-tcm_create_pscsibyudev.patch ++++++
>From 5ed01e4481e7bcaeafcb4e9c52d4242f2331cb6f Mon Sep 17 00:00:00 2001
From: Nicholas Bellinger <nab(a)risingtidesystems.com>
Date: Thu, 17 Jan 2013 13:37:48 -0800
Subject: tcm_node: Fix typo in tcm_create_pscsibyudev
This typo fixes a regression bug that was preventing tcm_node --pscsibydev
from working as expected.
Signed-off-by: Nicholas Bellinger <nab(a)risingtidesystems.com>
---
tcm-py/tcm_node.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tcm-py/tcm_node.py b/tcm-py/tcm_node.py
index 86eeef4..3195d66 100755
--- a/tcm-py/tcm_node.py
+++ b/tcm-py/tcm_node.py
@@ -298,7 +298,7 @@ def tcm_create_pscsi(dev_path, ctl):
tcm_createvirtdev(dev_path, pscsi_params_str)
def tcm_create_pscsibyudev(dev_path, udev_path):
- tcm_createvirtdev(cfs_dev, udev_path)
+ tcm_createvirtdev(dev_dev, udev_path)
def tcm_create_iblock(dev_path, udev_path):
tcm_createvirtdev(dev_path, udev_path)
--
1.8.1.4
++++++ 0011-tcm-file-Set-fd_buffered_io-1-based-upon-active-FILE.patch -> 0118-tcm-file-Set-fd_buffered_io-1-based-upon-active-FILE.patch ++++++
--- /work/SRC/openSUSE:Factory/lio-utils/0011-tcm-file-Set-fd_buffered_io-1-based-upon-active-FILE.patch 2014-01-02 11:15:02.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.lio-utils.new/0118-tcm-file-Set-fd_buffered_io-1-based-upon-active-FILE.patch 2014-05-02 13:59:47.000000000 +0200
@@ -1,4 +1,4 @@
-From 45632302ad613e1622a2d89f1b477d95126d6839 Mon Sep 17 00:00:00 2001
+From 5d0f4829aa130619e81edad3fe0aaa697fa00be4 Mon Sep 17 00:00:00 2001
From: Nicholas Bellinger <nab(a)risingtidesystems.com>
Date: Thu, 31 Jan 2013 11:54:05 -0800
Subject: tcm-file: Set fd_buffered_io=1 based upon active FILEIO mode
@@ -9,16 +9,16 @@
Signed-off-by: Nicholas Bellinger <nab(a)risingtidesystems.com>
---
- tcm-py/tcm_fileio.py | 30 ++++++++++++++++++++++++++----
+ tcm-py/tcm_fileio.py | 30 ++++++++++++++++++++++++++----
1 file changed, 26 insertions(+), 4 deletions(-)
diff --git a/tcm-py/tcm_fileio.py b/tcm-py/tcm_fileio.py
-index d390385..e08d028 100755
+index c130bc6..7429844 100755
--- a/tcm-py/tcm_fileio.py
+++ b/tcm-py/tcm_fileio.py
-@@ -52,15 +52,29 @@ def fd_createvirtdev(path, params):
+@@ -50,15 +50,29 @@ def createvirtdev(path, params):
def fd_freevirtdev():
- return
+ pass
+def fd_get_buffered_mode(value):
+
@@ -49,7 +49,7 @@
os.close(p)
-@@ -73,6 +87,11 @@ def fd_get_params(path):
+@@ -71,6 +85,11 @@ def fd_get_params(path):
return
p.close()
@@ -61,7 +61,7 @@
off = value.index('File: ')
off += 6
fd_dev_name_tmp = value[off:]
-@@ -81,7 +100,10 @@ def fd_get_params(path):
+@@ -79,7 +98,10 @@ def fd_get_params(path):
off += 7
fd_dev_size_tmp = value[off:]
fd_dev_size = fd_dev_size_tmp.split(' ')
@@ -74,5 +74,5 @@
# fd_dev_name= and fd_dev_size= parameters for tcm_node --createdev
return params
--
-1.7.10.4
+1.8.1.4
++++++ 0119-tcm_node-Fix-typo-in-tcm_create_pscsibyudev-again.patch ++++++
>From 28bd928655bdc7bd3cf380f0196630690c51e05f Mon Sep 17 00:00:00 2001
From: Nicholas Bellinger <nab(a)risingtidesystems.com>
Date: Thu, 28 Feb 2013 13:24:44 -0800
Subject: tcm_node: Fix typo in tcm_create_pscsibyudev (again)
Signed-off-by: Nicholas Bellinger <nab(a)risingtidesystems.com>
---
tcm-py/tcm_node.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tcm-py/tcm_node.py b/tcm-py/tcm_node.py
index 3195d66..e6913fd 100755
--- a/tcm-py/tcm_node.py
+++ b/tcm-py/tcm_node.py
@@ -298,7 +298,7 @@ def tcm_create_pscsi(dev_path, ctl):
tcm_createvirtdev(dev_path, pscsi_params_str)
def tcm_create_pscsibyudev(dev_path, udev_path):
- tcm_createvirtdev(dev_dev, udev_path)
+ tcm_createvirtdev(dev_path, udev_path)
def tcm_create_iblock(dev_path, udev_path):
tcm_createvirtdev(dev_path, udev_path)
--
1.8.1.4
++++++ 0120-lio-node-Add-iser-network-portal-attribute-ib_isert-.patch ++++++
>From 3143009d99e854f23cff437df1812cc39c14a42b Mon Sep 17 00:00:00 2001
From: Nicholas Bellinger <nab(a)risingtidesystems.com>
Date: Thu, 11 Apr 2013 20:32:40 -0700
Subject: lio-node: Add iser network portal attribute + ib_isert shutdown
support
Signed-off-by: Nicholas Bellinger <nab(a)risingtidesystems.com>
---
lio-py/lio_node.py | 24 +++++++++++++++++++++++-
1 file changed, 23 insertions(+), 1 deletion(-)
diff --git a/lio-py/lio_node.py b/lio-py/lio_node.py
index c7082e8..02e661b 100755
--- a/lio-py/lio_node.py
+++ b/lio-py/lio_node.py
@@ -277,7 +277,20 @@ def lio_target_del_np(option, opt_str, value, parser):
tpgt = str(value[1]);
np = str(value[2]);
- rmdir_op = "rmdir " + lio_root + "/" + iqn + "/tpgt_" + tpgt + "/np/" + np
+ path = lio_root + "/" + iqn + "/tpgt_" + tpgt + "/np/" + np
+
+ path_iser = path + "/iser"
+ if os.path.isfile(path_iser):
+ fd = open(path_iser, 'r')
+ s = fd.read()
+ set_iser_attr = s.strip()
+ fd.close()
+ if set_iser_attr == "1":
+ fd = open(path_iser, 'w')
+ fd.write("0")
+ fd.close()
+
+ rmdir_op = "rmdir " + path
# print "rmdir_op: " + rmdir_op
ret = os.system(rmdir_op)
if not ret:
@@ -1230,6 +1243,15 @@ def lio_target_unload(option, opt_str, value, parser):
if ret:
print "Unable to remove lio_root: " + lio_root
+ fd = open("/proc/modules", 'r')
+ buf = fd.read()
+ fd.close()
+ if re.search('ib_isert', buf):
+ rmmod_op = "rmmod ib_isert"
+ ret = os.system(rmmod_op)
+ if ret:
+ print "Unable to unload ib_isert"
+
rmmod_op = "rmmod iscsi_target_mod"
ret = os.system(rmmod_op)
if ret:
--
1.8.1.4
++++++ 0121-lio-dump-Add-iser-network-portal-attribute-support.patch ++++++
>From a8de60664dd259d1e613be719c02cfdab44bf00c Mon Sep 17 00:00:00 2001
From: Nicholas Bellinger <nab(a)risingtidesystems.com>
Date: Thu, 11 Apr 2013 20:33:40 -0700
Subject: lio-dump: Add iser network portal attribute support
Signed-off-by: Nicholas Bellinger <nab(a)risingtidesystems.com>
---
lio-py/lio_dump.py | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/lio-py/lio_dump.py b/lio-py/lio_dump.py
index 6328161..3e3461f 100755
--- a/lio-py/lio_dump.py
+++ b/lio-py/lio_dump.py
@@ -57,7 +57,15 @@ def lio_target_configfs_dump(option, opt_str, value, parser):
print "#### Network portals for iSCSI Target Portal Group"
np_root = os.listdir(lio_root + "/" + iqn + "/tpgt_" + tpgt + "/np")
for np in np_root:
- print "mkdir -p " + lio_root + "/" + iqn + "/tpgt_" + tpgt + "/np/" + np
+ np_path = lio_root + "/" + iqn + "/tpgt_" + tpgt + "/np/" + np
+ print "mkdir -p " + np_path
+ np_path_iser = np_path + "/iser"
+ if os.path.isfile(np_path_iser):
+ iser_fd = open(np_path_iser, 'r')
+ iser_attr = iser_fd.read()
+ iser_attr = iser_attr.strip()
+ if iser_attr == "1":
+ print "echo 1 > " + np_path_iser
print "#### iSCSI Target Ports"
lun_root = os.listdir(lio_root + "/" + iqn + "/tpgt_" + tpgt + "/lun")
--
1.8.1.4
++++++ 0122-Create-COPYING.patch ++++++
>From 2537c8e3b9898dadcbade26e6f8537451180928f Mon Sep 17 00:00:00 2001
From: marcfl <mwf(a)daterainc.com>
Date: Sat, 16 Nov 2013 10:16:37 -0800
Subject: Create COPYING
---
COPYING | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
create mode 100644 COPYING
diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..f353719
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,50 @@
+Apache License
+
+Version 2.0, January 2004
+
+http://www.apache.org/licenses/
+
+1. Definitions.
+
+"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
+
+"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
+
+"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
+
+"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
+
+"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
+
+"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
+
+2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
+
+ You must give any other recipients of the Work or Derivative Works a copy of this License; and
+ You must cause any modified files to carry prominent notices stating that You changed the files; and
+ You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
+ If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
--
1.8.1.4
++++++ 0123-Update-COPYING.patch ++++++
>From c13f8ff807dfbebc8265850b83fb3e69459b588e Mon Sep 17 00:00:00 2001
From: marcfl <mwf(a)daterainc.com>
Date: Sat, 16 Nov 2013 10:18:07 -0800
Subject: Update COPYING
---
COPYING | 223 ++++++++++++++++++++++++++++++++++++++++++++++++++--------------
1 file changed, 174 insertions(+), 49 deletions(-)
diff --git a/COPYING b/COPYING
index f353719..67db858 100644
--- a/COPYING
+++ b/COPYING
@@ -1,50 +1,175 @@
-Apache License
-Version 2.0, January 2004
-
-http://www.apache.org/licenses/
-
-1. Definitions.
-
-"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
-
-"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
-
-"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
-
-"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
-
-"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
-
-"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
-
-"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
-
-"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
-
-"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
-
-"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
-
-2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
-
-3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
-
-4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
-
- You must give any other recipients of the Work or Derivative Works a copy of this License; and
- You must cause any modified files to carry prominent notices stating that You changed the files; and
- You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
- If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
-
- You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
-
-5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
-
-6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
-
-7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
-
-8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
-
-9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
--
1.8.1.4
++++++ 0124-Create-README.patch ++++++
>From 7c445a30a060b06cfc3bdabc6adb4910a27aeb5d Mon Sep 17 00:00:00 2001
From: marcfl <mwf(a)daterainc.com>
Date: Sat, 16 Nov 2013 11:48:20 -0800
Subject: Create README
---
README | 10 ++++++++++
1 file changed, 10 insertions(+)
create mode 100644 README
diff --git a/README b/README
new file mode 100644
index 0000000..d0f216c
--- /dev/null
+++ b/README
@@ -0,0 +1,10 @@
+lio-utils provide a simple low-level configuration tool set for the LIO Linux SCSI Target.
+
+lio-utils use the configFS kernel API that is available with LIO, and provides a clean
+interface for controlling the Linux kernel LIO components.
+
+For more information, please see:
+
+http://linux-iscsi.org/wiki/lio-utils
+
+Note: lio-utils are deprecated and have been superseded by targetcli.
--
1.8.1.4
++++++ 0125-Update-README.patch ++++++
>From 6c2e184d1a70459d26f748d95545267c7e436584 Mon Sep 17 00:00:00 2001
From: marcfl <mwf(a)daterainc.com>
Date: Sat, 16 Nov 2013 11:51:16 -0800
Subject: Update README
---
README | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/README b/README
index d0f216c..13312c8 100644
--- a/README
+++ b/README
@@ -1,7 +1,8 @@
-lio-utils provide a simple low-level configuration tool set for the LIO Linux SCSI Target.
+lio-utils is a Python library that provides a simple low-level configuration
+tool set for the LIO Linux SCSI Target. lio-utils use the configFS kernel API
+that is available with LIO.
-lio-utils use the configFS kernel API that is available with LIO, and provides a clean
-interface for controlling the Linux kernel LIO components.
+lio-utils was developed by Datera, Inc. (www.daterainc.com)
For more information, please see:
--
1.8.1.4
++++++ 0126-Update-README.patch ++++++
>From 65f15e957588a261305d1c1d0d6a1cdf397cb3ce Mon Sep 17 00:00:00 2001
From: marcfl <mwf(a)daterainc.com>
Date: Fri, 7 Feb 2014 19:50:21 -0800
Subject: Update README
---
README | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README b/README
index 13312c8..8fdd0e7 100644
--- a/README
+++ b/README
@@ -2,7 +2,7 @@ lio-utils is a Python library that provides a simple low-level configuration
tool set for the LIO Linux SCSI Target. lio-utils use the configFS kernel API
that is available with LIO.
-lio-utils was developed by Datera, Inc. (www.daterainc.com)
+lio-utils was developed by Datera, Inc. (www.datera.io)
For more information, please see:
--
1.8.1.4
++++++ lio-utils-4.0.tar.bz2 -> lio-utils-4.1.tar.bz2 ++++++
++++ 3033 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package LiE for openSUSE:Factory checked in at 2014-05-02 13:59:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/LiE (Old)
and /work/SRC/openSUSE:Factory/.LiE.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "LiE"
Changes:
--------
--- /work/SRC/openSUSE:Factory/LiE/LiE.changes 2014-04-25 11:35:00.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.LiE.new/LiE.changes 2014-05-02 13:59:38.000000000 +0200
@@ -1,0 +2,6 @@
+Wed Apr 30 19:45:41 UTC 2014 - andreas.stieger(a)gmx.de
+
+- add LiE-2.2.2-date-time.patch to fix file-contains-date-and-time
+ warning and prevent unneccessary rebuilds
+
+-------------------------------------------------------------------
New:
----
LiE-2.2.2-date-time.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ LiE.spec ++++++
--- /var/tmp/diff_new_pack.a7wpGL/_old 2014-05-02 13:59:38.000000000 +0200
+++ /var/tmp/diff_new_pack.a7wpGL/_new 2014-05-02 13:59:38.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package LiE
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -27,6 +27,7 @@
Source0: http://young.sp2mi.univ-poitiers.fr/~marc/LiE/conLiE.tar.gz
Source1: COPYING
Source2: %{name}-rpmlintrc
+Patch1: LiE-2.2.2-date-time.patch
BuildRequires: bison
BuildRequires: gcc-c++
BuildRequires: ghostscript
@@ -52,8 +53,10 @@
%prep
%setup -q -n %{name}
+%patch1 -p1
%build
+# parallel build fails
make
%install
@@ -73,7 +76,7 @@
install -m0644 INFO.* %{buildroot}%{_libdir}/%{name}/
mkdir -p %{buildroot}%{_docdir}/%{name}/
install -m0644 manual.pdf %{buildroot}%{_docdir}/%{name}/
-install -m0644 %{S:1} %{buildroot}%{_docdir}/%{name}/
+install -m0644 %{SOURCE1} %{buildroot}%{_docdir}/%{name}/
%files
%defattr(-,root,root)
++++++ LiE-2.2.2-date-time.patch ++++++
From: Andreas Stieger <andreas.stieger(a)gmx.de>
Date: Wed, 30 Apr 2014 20:30:57 +0100
Subject: remove __DATE__ and __TIME__
References:
Upstream: never
Fixes warning and prevents unneccessary rebuilds:
LiE.i586: W: file-contains-date-and-time /usr/lib/LiE/lie
Your file uses __DATE and __TIME__ this causes the package to rebuild when
not needed
---
date.c | 2 +-
init.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
Index: LiE/date.c
===================================================================
--- LiE.orig/date.c 1996-08-30 13:05:15.000000000 +0100
+++ LiE/date.c 2014-04-30 20:28:04.000000000 +0100
@@ -1 +1 @@
-char date[] = __DATE__ " at " __TIME__;
+char date[] = "";
Index: LiE/init.c
===================================================================
--- LiE.orig/init.c 2014-04-30 20:28:14.000000000 +0100
+++ LiE/init.c 2014-04-30 20:28:43.000000000 +0100
@@ -150,8 +150,8 @@ void init(void)
initialize_readline();
{ if (!redirected_input)
- { printf("\nLiE version 2.2.2 created on %s\n"
- "Authors: Arjeh M. Cohen, Marc van Leeuwen, Bert Lisser.\n", date);
+ { printf("\nLiE version 2.2.2\n"
+ "Authors: Arjeh M. Cohen, Marc van Leeuwen, Bert Lisser.\n");
{ FILE* f= fopen(titlefil,"r");
if (f==NULL) printf("Purpose: development CWI\n\n");
else { while ((ch=getc(f)) != EOF) putchar(ch); fclose(f); }
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libtcnative-1-0 for openSUSE:Factory checked in at 2014-05-02 13:59:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libtcnative-1-0 (Old)
and /work/SRC/openSUSE:Factory/.libtcnative-1-0.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libtcnative-1-0"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libtcnative-1-0/libtcnative-1-0.changes 2013-09-16 10:05:56.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libtcnative-1-0.new/libtcnative-1-0.changes 2014-05-02 13:59:27.000000000 +0200
@@ -1,0 +2,10 @@
+Sun Apr 27 15:45:46 UTC 2014 - crrodriguez(a)opensuse.org
+
+- version 1.1.30
+* Fixed double-free in ssl_ocsp_request. Patch provided by
+ Aristotelis.
+* Other minor bugfixes.
+- openSUSE: Fix build when openssl does not have SSLv2 support.
+ (tomcat-native-nosslv2.patch)
+
+-------------------------------------------------------------------
Old:
----
tomcat-native-1.1.27-src.tar.gz
tomcat-native-1.1.27-src.tar.gz.asc
New:
----
tomcat-native-1.1.30-src.tar.gz
tomcat-native-1.1.30-src.tar.gz.asc
tomcat-native-nosslv2.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libtcnative-1-0.spec ++++++
--- /var/tmp/diff_new_pack.oZrPhp/_old 2014-05-02 13:59:28.000000000 +0200
+++ /var/tmp/diff_new_pack.oZrPhp/_new 2014-05-02 13:59:28.000000000 +0200
@@ -17,7 +17,7 @@
Name: libtcnative-1-0
-Version: 1.1.27
+Version: 1.1.30
Release: 0
Summary: JNI wrappers for Apache Portable Runtime for Tomcat
License: Apache-2.0
@@ -41,6 +41,7 @@
Provides: tcnative = %{version}-%{release}
#Fedora compatibility
Provides: tomcat-native = %{version}-%{release}
+Patch0: tomcat-native-nosslv2.patch
%description
Tomcat can use the Apache Portable Runtime to provide superior
@@ -87,7 +88,7 @@
%prep
%gpg_verify %{SOURCE1}
%setup -q -n tomcat-native-%{version}-src
-# % patch0
+%patch0 -p1
%build
cd jni/native
++++++ tomcat-native-1.1.27-src.tar.gz -> tomcat-native-1.1.30-src.tar.gz ++++++
++++ 12888 lines of diff (skipped)
++++++ tomcat-native-nosslv2.patch ++++++
--- tomcat-native-1.1.30-src.orig/jni/native/src/sslcontext.c
+++ tomcat-native-1.1.30-src/jni/native/src/sslcontext.c
@@ -73,12 +73,17 @@ TCN_IMPLEMENT_CALL(jlong, SSLContext, ma
switch (protocol) {
case SSL_PROTOCOL_SSLV2:
+#ifdef OPENSSL_NO_SSL2
+ tcn_Throw(e, "Invalid Server SSL Protocol: SSLv2 not supported");
+ goto init_failed;
+#else
if (mode == SSL_MODE_CLIENT)
ctx = SSL_CTX_new(SSLv2_client_method());
else if (mode == SSL_MODE_SERVER)
ctx = SSL_CTX_new(SSLv2_server_method());
else
ctx = SSL_CTX_new(SSLv2_method());
+#endif
break;
case SSL_PROTOCOL_SSLV3:
if (mode == SSL_MODE_CLIENT)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libkscreen for openSUSE:Factory checked in at 2014-05-02 13:59:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libkscreen (Old)
and /work/SRC/openSUSE:Factory/.libkscreen.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libkscreen"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libkscreen/libkscreen.changes 2013-11-26 14:40:37.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libkscreen.new/libkscreen.changes 2014-05-02 13:59:07.000000000 +0200
@@ -1,0 +2,5 @@
+Thu May 1 23:04:00 UTC 2014 - hrvoje.senjan(a)gmail.com
+
+- Make sure that devel package requires libqjson-devel
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libkscreen.spec ++++++
--- /var/tmp/diff_new_pack.ajROsr/_old 2014-05-02 13:59:07.000000000 +0200
+++ /var/tmp/diff_new_pack.ajROsr/_new 2014-05-02 13:59:07.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package libkscreen
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -41,6 +41,7 @@
Summary: KDE's screen management library (development package)
Group: Development/Libraries/C and C++
Requires: %{name}%{soversion} = %{version}
+Requires: libqjson-devel >= 0.8.1
%description devel
Development files belonging to libkscreen, dynamic display management in KDE
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libe-book for openSUSE:Factory checked in at 2014-05-02 13:59:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libe-book (Old)
and /work/SRC/openSUSE:Factory/.libe-book.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libe-book"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libe-book/libe-book.changes 2014-03-26 16:41:00.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libe-book.new/libe-book.changes 2014-05-02 13:59:02.000000000 +0200
@@ -1,0 +2,6 @@
+Thu May 1 01:18:09 UTC 2014 - crrodriguez(a)opensuse.org
+
+- Use -fvisibility-inlines-hidden here as well, saves around
+ 360 global symbol table entries.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libe-book.spec ++++++
--- /var/tmp/diff_new_pack.qjoQ0L/_old 2014-05-02 13:59:03.000000000 +0200
+++ /var/tmp/diff_new_pack.qjoQ0L/_new 2014-05-02 13:59:03.000000000 +0200
@@ -85,9 +85,10 @@
Currently supported: XHTML, raw, text.
%prep
-%setup
+%setup -q
%build
+export CXXFLAGS="%optflags -fvisibility-inlines-hidden"
%configure \
--disable-werror \
--enable-tests \
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libabw for openSUSE:Factory checked in at 2014-05-02 13:58:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libabw (Old)
and /work/SRC/openSUSE:Factory/.libabw.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libabw"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libabw/libabw.changes 2014-03-11 17:27:42.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libabw.new/libabw.changes 2014-05-02 13:58:47.000000000 +0200
@@ -1,0 +2,7 @@
+Wed Apr 30 01:45:08 UTC 2014 - crrodriguez(a)opensuse.org
+
+- This package also needs -fvisibility-inlines-hidden to
+ cut down the bloat of the exported symbol table in around 200
+ symbols less.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libabw.spec ++++++
--- /var/tmp/diff_new_pack.arYmOT/_old 2014-05-02 13:58:48.000000000 +0200
+++ /var/tmp/diff_new_pack.arYmOT/_new 2014-05-02 13:58:48.000000000 +0200
@@ -81,6 +81,7 @@
%setup -q
%build
+export CXXFLAGS="%optflags -fvisibility-inlines-hidden"
%configure \
--disable-werror \
--disable-static \
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0