openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 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
April 2014
- 1 participants
- 1084 discussions
Hello community,
here is the log from the commit of package dos2unix for openSUSE:Factory checked in at 2014-04-26 17:01:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dos2unix (Old)
and /work/SRC/openSUSE:Factory/.dos2unix.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dos2unix"
Changes:
--------
--- /work/SRC/openSUSE:Factory/dos2unix/dos2unix.changes 2014-01-07 16:20:27.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.dos2unix.new/dos2unix.changes 2014-04-26 17:01:44.000000000 +0200
@@ -1,0 +2,18 @@
+Tue Apr 22 22:09:20 UTC 2014 - tabraham(a)suse.com
+
+- Update to 6.0.5
+ * Dos2unix is part of the Translation Project (TP).
+ All translations go via the Translation Project.
+ See http://translationproject.org/
+ * New translations of UI messages: Brazilian Portuguese, Chinese (traditional),
+ Danish, French, Hungarian, Polish, Serbian, Ukrainian, Vietnamese.
+ * New translations of the manual: Brazilian Portuguese, French, German,
+ Polish, Ukrainian.
+ * Generated man pages are included in the source package to prevent
+ compilation problems with very old or very new perl/pod2man versions.
+ * Manuals are now generated from gettext PO files with po4a for easier
+ translation.
+ * All manuals are now in UTF-8 encoding.
+ * Skip symbolic links on Windows by default (same as on Unix).
+
+-------------------------------------------------------------------
Old:
----
dos2unix-6.0.4.tar.gz
New:
----
dos2unix-6.0.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dos2unix.spec ++++++
--- /var/tmp/diff_new_pack.pOc9rF/_old 2014-04-26 17:01:44.000000000 +0200
+++ /var/tmp/diff_new_pack.pOc9rF/_new 2014-04-26 17:01:44.000000000 +0200
@@ -20,7 +20,7 @@
Summary: Text converters to and from DOS/MAC to UNIX
License: BSD-3-Clause
Group: Productivity/Text/Convertors
-Version: 6.0.4
+Version: 6.0.5
Release: 0
Url: http://waterlan.home.xs4all.nl/dos2unix.html
Source: http://waterlan.home.xs4all.nl/dos2unix/dos2unix-%{version}.tar.gz
@@ -60,5 +60,7 @@
%doc %{_mandir}/*/unix2dos.1*
%doc %lang(nl) %dir %_mandir/nl
%doc %lang(es) %dir %_mandir/es
+%doc %lang(uk) %dir %_mandir/uk
+%doc %lang(pl) %dir %_mandir/pl
%changelog
++++++ dos2unix-6.0.4.tar.gz -> dos2unix-6.0.5.tar.gz ++++++
++++ 37590 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 pcsc-lite for openSUSE:Factory checked in at 2014-04-26 17:01:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pcsc-lite (Old)
and /work/SRC/openSUSE:Factory/.pcsc-lite.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pcsc-lite"
Changes:
--------
--- /work/SRC/openSUSE:Factory/pcsc-lite/pcsc-lite.changes 2013-10-21 12:31:52.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.pcsc-lite.new/pcsc-lite.changes 2014-04-26 17:01:42.000000000 +0200
@@ -1,0 +2,20 @@
+Tue Apr 22 13:55:53 UTC 2014 - wr(a)rosenauer.org
+
+- removed rc script from 13.1 and above
+- do not use polkit for now
+
+-------------------------------------------------------------------
+Sat Feb 15 20:52:47 UTC 2014 - wr(a)rosenauer.org
+
+- Updated to version 1.8.11
+ * Add polkit support. See doc/README.polkit
+ * /etc/reader.conf: CHANNELID and DEVICENAME are both optional but
+ not at the same time
+ * Some other minor improvements and bug corrections
+
+-------------------------------------------------------------------
+Sun Dec 1 18:23:59 UTC 2013 - wr(a)rosenauer.org
+
+- remove dependency on sysvinit(syslog) starting with 13.1
+
+-------------------------------------------------------------------
Old:
----
pcsc-lite-1.8.10.tar.bz2
pcsc-lite-1.8.10.tar.bz2.asc
New:
----
pcsc-lite-1.8.11.tar.bz2
pcsc-lite-1.8.11.tar.bz2.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pcsc-lite.spec ++++++
--- /var/tmp/diff_new_pack.7yOdiB/_old 2014-04-26 17:01:43.000000000 +0200
+++ /var/tmp/diff_new_pack.7yOdiB/_new 2014-04-26 17:01:43.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package pcsc-lite
#
-# 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
@@ -21,6 +21,7 @@
%define ifddir %{_libdir}/readers
BuildRequires: libtool
BuildRequires: pkg-config
+BuildRequires: polkit-devel
BuildRequires: readline-devel
%if %suse_version >= 1120
BuildRequires: libudev-devel
@@ -36,7 +37,7 @@
%if %suse_version > 1220
BuildRequires: gpg-offline
%endif
-Version: 1.8.10
+Version: 1.8.11
Release: 0
Requires(pre): pwdutils
Url: http://pcsclite.alioth.debian.org/
@@ -53,9 +54,10 @@
Source7: %{name}-%{version}.tar.bz2.asc
Source8: %{name}.keyring
Patch0: systemd-service.patch
-Requires(post): %insserv_prereq %fillup_prereq
-%if %suse_version > 1130
+Requires(post): %fillup_prereq
+%if %suse_version < 1310
PreReq: sysvinit(syslog)
+Requires(post): %insserv_prereq
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%define USER scard
@@ -155,8 +157,12 @@
sed s:@ifddir@:%{ifddir}: <pcsc-lite-reader-conf >$RPM_BUILD_ROOT%{_sysconfdir}/reader.conf.d/reader.conf
# this program is noinst in the package
#install src/.libs/testpcsc $RPM_BUILD_ROOT%{_sbindir}/
+%if %suse_version < 1310
install -D -m 755 pcsc-lite-init $RPM_BUILD_ROOT%{_initrddir}/pcscd
ln -sf %{_initrddir}/pcscd $RPM_BUILD_ROOT%{_sbindir}/rcpcscd
+%else
+ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rcpcscd
+%endif
mkdir -p $RPM_BUILD_ROOT/var/adm/fillup-templates
cp %{name}.sysconfig $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.pcscd
mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}
@@ -186,13 +192,19 @@
/bin/systemctl try-restart pcscd.service || :
/bin/systemctl restart pcscd.socket || :
%endif
+%if %suse_version < 1310
%fillup_and_insserv -y -n pcscd pcscd
+%else
+%fillup_only pcscd
+%endif
%preun
%if %suse_version > 1140
%service_del_preun pcscd.service pcscd.socket
%endif
+%if %suse_version < 1310
%stop_on_removal pcscd
+%endif
%postun
%if %suse_version > 1140
@@ -202,8 +214,10 @@
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
fi
%endif
+%if %suse_version < 1310
%restart_on_update pcscd
%insserv_cleanup
+%endif
%post -n libpcsclite1 -p /sbin/ldconfig
@@ -225,6 +239,7 @@
%{_docdir}/%{name}/README
%{_docdir}/%{name}/README.DAEMON
%{_docdir}/%{name}/README.SUSE
+%{_docdir}/%{name}/README.polkit
%{_docdir}/%{name}/SECURITY
%{_docdir}/%{name}/TODO
%doc %{_mandir}/man?/*.*
@@ -235,10 +250,13 @@
%if %suse_version > 1140
%_unitdir/*
%endif
+%if %suse_version < 1310
%{_initrddir}/pcscd
+%endif
/var/adm/fillup-templates/sysconfig.pcscd
# libpcsclite.so should stay in the main package (#732911). Third party packages may need it for dlopen().
%{_libdir}/libpcsclite.so
+#%{_datadir}/polkit-1/actions/org.debian.pcsc-lite.policy
%files -n libpcsclite1
%defattr(-,root,root)
++++++ pcsc-lite-1.8.10.tar.bz2 -> pcsc-lite-1.8.11.tar.bz2 ++++++
++++ 4973 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 yast2-network for openSUSE:Factory checked in at 2014-04-26 11:45:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-network (Old)
and /work/SRC/openSUSE:Factory/.yast2-network.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-network"
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-network/yast2-network.changes 2014-04-13 13:13:10.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-network.new/yast2-network.changes 2014-04-26 11:45:24.000000000 +0200
@@ -1,0 +2,30 @@
+Fri Apr 25 07:15:25 UTC 2014 - mfilka(a)suse.com
+
+- bnc#872319
+ - accelerated dhcp automatic configuration which is done during
+ initial phase of installer
+- 3.1.50
+
+-------------------------------------------------------------------
+Thu Apr 17 11:44:20 UTC 2014 - mfilka(a)suse.com
+
+- fixed terminology confusion. "Alias name" turned into "IPv4
+ Address Label". "Alias name" is obsolete since kernel 2.0.0
+- 3.1.49
+
+-------------------------------------------------------------------
+Thu Apr 17 08:18:58 UTC 2014 - mfilka(a)suse.com
+
+- bnc#870406
+ - fixed assigning device name in ifcfg created during installation
+- 3.1.48
+
+-------------------------------------------------------------------
+Mon Apr 14 16:46:02 UTC 2014 - mfilka(a)suse.com
+
+- bnc#873149
+ - manual network configuration dialog changed to Next / Back
+ dialog
+- 3.1.47
+
+-------------------------------------------------------------------
Old:
----
yast2-network-3.1.46.tar.bz2
New:
----
yast2-network-3.1.50.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-network.spec ++++++
--- /var/tmp/diff_new_pack.6ht7lQ/_old 2014-04-26 11:45:25.000000000 +0200
+++ /var/tmp/diff_new_pack.6ht7lQ/_new 2014-04-26 11:45:25.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-network
-Version: 3.1.46
+Version: 3.1.50
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
++++++ yast2-network-3.1.46.tar.bz2 -> yast2-network-3.1.50.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.46/package/yast2-network.changes new/yast2-network-3.1.50/package/yast2-network.changes
--- old/yast2-network-3.1.46/package/yast2-network.changes 2014-04-07 11:32:47.000000000 +0200
+++ new/yast2-network-3.1.50/package/yast2-network.changes 2014-04-25 14:38:44.000000000 +0200
@@ -1,10 +1,40 @@
-------------------------------------------------------------------
+Fri Apr 25 07:15:25 UTC 2014 - mfilka(a)suse.com
+
+- bnc#872319
+ - accelerated dhcp automatic configuration which is done during
+ initial phase of installer
+- 3.1.50
+
+-------------------------------------------------------------------
+Thu Apr 17 11:44:20 UTC 2014 - mfilka(a)suse.com
+
+- fixed terminology confusion. "Alias name" turned into "IPv4
+ Address Label". "Alias name" is obsolete since kernel 2.0.0
+- 3.1.49
+
+-------------------------------------------------------------------
+Thu Apr 17 08:18:58 UTC 2014 - mfilka(a)suse.com
+
+- bnc#870406
+ - fixed assigning device name in ifcfg created during installation
+- 3.1.48
+
+-------------------------------------------------------------------
+Mon Apr 14 16:46:02 UTC 2014 - mfilka(a)suse.com
+
+- bnc#873149
+ - manual network configuration dialog changed to Next / Back
+ dialog
+- 3.1.47
+
+-------------------------------------------------------------------
Fri Apr 4 13:12:27 UTC 2014 - mfilka(a)suse.com
- bnc#868187
- implemented heuristics for setting DHCLIENT_SET_DEFAULT_ROUTE
during autoconfiguration in installation
--3.1.46
+- 3.1.46
-------------------------------------------------------------------
Fri Apr 4 12:41:36 UTC 2014 - jreidinger(a)suse.com
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.46/package/yast2-network.spec new/yast2-network-3.1.50/package/yast2-network.spec
--- old/yast2-network-3.1.46/package/yast2-network.spec 2014-04-07 11:32:47.000000000 +0200
+++ new/yast2-network-3.1.50/package/yast2-network.spec 2014-04-25 14:38:44.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-network
-Version: 3.1.46
+Version: 3.1.50
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.46/src/Makefile.am new/yast2-network-3.1.50/src/Makefile.am
--- old/yast2-network-3.1.46/src/Makefile.am 2014-04-07 11:32:47.000000000 +0200
+++ new/yast2-network-3.1.50/src/Makefile.am 2014-04-25 14:38:44.000000000 +0200
@@ -111,7 +111,8 @@
ylib_DATA = \
lib/network/edit_nic_name.rb \
lib/network/confirm_virt_proposal.rb \
- lib/network/install_inf_convertor.rb
+ lib/network/install_inf_convertor.rb \
+ lib/network/network_autoconfiguration.rb
EXTRA_DIST = \
$(module_DATA) \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.46/src/clients/inst_setup_dhcp.rb new/yast2-network-3.1.50/src/clients/inst_setup_dhcp.rb
--- old/yast2-network-3.1.46/src/clients/inst_setup_dhcp.rb 2014-04-07 11:32:47.000000000 +0200
+++ new/yast2-network-3.1.50/src/clients/inst_setup_dhcp.rb 2014-04-25 14:38:44.000000000 +0200
@@ -1,154 +1,6 @@
+require "yast"
+require "network/network_autoconfiguration"
-#enclose client into own namespace to prevent messing global namespace
-module SetupDHCPClient
-
- include Yast
-
- Yast.import "LanItems"
- Yast.import "NetworkInterfaces"
-
- BASH_PATH = Path.new(".target.bash")
-
- def self.network_cards
- LanItems.Read
- LanItems.GetNetcardNames
- end
-
- # Makes DHCP setup persistent
- #
- # instsys currently uses wicked as network services "manager" (including
- # dhcp client). wicked is currently able to configure a card for dhcp leases
- # only via loading config from file. All other ways are workarounds and
- # needn't to work when wickedd* services are already running
- def self.setup_dhcp card
- index = LanItems.FindDeviceIndex(card)
-
- if index == -1
- raise "Failed to save configuration for device #{card}"
- end
-
- LanItems.current = index
- LanItems.SetItem
-
- #tricky part if ifcfg is not set
- # yes, this code smell and show bad API of LanItems
- if !LanItems.IsCurrentConfigured
- NetworkInterfaces.Add
- current = LanItems.Items[LanItems.current]
- current["ifcfg"] = card
- end
-
- LanItems.bootproto = "dhcp"
- LanItems.startmode = "auto"
-
- LanItems.Commit
- end
-
- def self.reload_config(card)
- SCR.Execute(BASH_PATH, "wicked ifreload '#{card}'") == 0
- end
-
- def self.delete_config(devname)
- LanItems.delete_dev(devname)
- end
-
- def self.write_configuration
- NetworkInterfaces.Write("")
- end
-
- def self.activate_changes(devnames)
- return false if !write_configuration
-
- # workaround for gh#yast/yast-core#74 (https://github.com/yast/yast-core/issues/74)
- NetworkInterfaces.CleanCacheRead()
-
- devnames.map { |d| reload_config(d) }
- end
-
- def self.configured?(devname)
- # TODO:
- # one day there should be LanItems.IsItemConfigured, but we currently
- # miss index -> devname translation. As this LanItems internal structure
- # will be subject of refactoring, we will use NetworkInterfaces directly.
- # It currently doesn't hurt as it currently writes configuration for both
- # wicked even sysconfig.
- NetworkInterfaces.Check(devname)
- end
-
- # Checks if given device is active
- #
- # active device <=> a device which is reported as "up" by wicked
- def self.active_config?(devname)
- wicked_query = "wicked ifstatus --brief #{devname} | grep 'up$'"
- SCR.Execute(BASH_PATH, wicked_query) == 0
- end
-
- # Returns list of servers used for internet reachability test
- #
- # Basicaly servers with product release notes should be used.
- def self.target_servers
- ["scc.suse.com"]
- end
-
- # Check if given device can reach some of reference servers
- def self.set_default_route_flag_if_wan_dev?(devname)
- set_default_route_flag(devname, "yes")
- activate_changes([devname])
-
- reached = target_servers.any? do |server|
- ping_cmd = "ping -I #{devname} -c 3 #{server}"
- SCR.Execute(BASH_PATH, ping_cmd) == 0
- end
-
- log.info("Release notes can be reached via #{devname}: #{reached}")
-
- if !reached
- set_default_route_flag(devname, "no")
- activate_changes([devname])
- end
-
- reached
- end
-
- # Sets sysconfig's DHCLIENT_SET_DEFAULT_ROUTE option for given device
- #
- # @param [String] devname name of device as seen by system (e.g. enp0s3)
- # @param [String] value "yes" or "no", as in sysconfig
- def self.set_default_route_flag(devname, value)
- item_id = LanItems.FindDeviceIndex(devname)
- LanItems.SetItemSysconfigOpt(item_id, "DHCLIENT_SET_DEFAULT_ROUTE", value)
- end
-
- include Logger
-
- dhcp_cards = network_cards.select { |c| !configured?(c) }
- log.info "Candidates for enabling DHCP: #{dhcp_cards}"
-
- # TODO time consuming, some progress would be nice
- dhcp_cards.each { |d| setup_dhcp(d) }
-
- activate_changes(dhcp_cards)
-
- # drop devices without dhcp lease
- inactive_devices = dhcp_cards.select { |c| ! active_config?(c) }
- log.info "Inactive devices: #{inactive_devices}"
-
- inactive_devices.each { |c| delete_config(c) }
-
- # setup route flag
- active_devices = dhcp_cards - inactive_devices
-
- if active_devices.size == 1
- # just one dhcp device, nothing to care of
- set_default_route_flag(active_devices.first, "yes")
- else
- # try to find just one dhcp aware device for allowing default route
- # if there is more than one dhcp devices enabled for setting default
- # route (DHCLIENT_SET_DEFAULT_ROUTE = "yes"). bnc#868187
- active_devices.find { |d| set_default_route_flag_if_wan_dev?(d) }
- end
-
- activate_changes(dhcp_cards)
-end
+Yast::NetworkAutoconfiguration.instance.configure_dhcp
:next
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.46/src/include/network/lan/address.rb new/yast2-network-3.1.50/src/include/network/lan/address.rb
--- old/yast2-network-3.1.46/src/include/network/lan/address.rb 2014-04-07 11:32:47.000000000 +0200
+++ new/yast2-network-3.1.50/src/include/network/lan/address.rb 2014-04-25 14:38:44.000000000 +0200
@@ -93,7 +93,7 @@
Opt(:notify),
Header(
# Table header label
- _("Alias Name"),
+ _("IPv4 Address Label"),
# Table header label
_("IP Address"),
# Table header label
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.46/src/include/network/lan/complex.rb new/yast2-network-3.1.50/src/include/network/lan/complex.rb
--- old/yast2-network-3.1.46/src/include/network/lan/complex.rb 2014-04-07 11:32:47.000000000 +0200
+++ new/yast2-network-3.1.50/src/include/network/lan/complex.rb 2014-04-25 14:38:44.000000000 +0200
@@ -635,6 +635,19 @@
ret
end
+ # Evaluates if user should be asked again according dialogs result value
+ #
+ # it is basically useful if user aborts dialog and he has done some
+ # changes already. Calling this function may results in confirmation
+ # popup.
+ def input_done?(ret)
+ if ret == :abort && LanItems.modified
+ return ReallyAbort()
+ else
+ return true
+ end
+ end
+
def MainDialog(init_tab)
caption = _("Network Settings")
widget_descr = {
@@ -660,47 +673,47 @@
:to => "map <string, map <string, any>>"
)
)
+
help = CWM.MergeHelps(w)
contents = CWM.PrepareDialog(contents, w)
+ running_installer = Mode.installation || Mode.update
Wizard.SetContentsButtons(
caption,
contents,
help,
Label.BackButton,
- Label.OKButton
+ running_installer ? Label.NextButton : Label.OKButton
)
- Wizard.SetNextButton(:next, Label.OKButton)
- Wizard.SetAbortButton(:abort, Label.CancelButton)
- Wizard.HideBackButton
- ret = nil
- while true
- ret = CWM.Run(w, {})
- if ret == :abort
- next if LanItems.modified && !ReallyAbort()
- return ret
- end
- return ret
+ if running_installer
+ Wizard.SetAbortButton(:abort, Label.AbortButton)
+ else
+ Wizard.SetAbortButton(:abort, Label.CancelButton)
+ Wizard.HideBackButton
end
- nil
+ begin
+ ret = CWM.Run(w, {})
+ end while !input_done?(ret)
+
+ return ret
end
- end
private
- def overview_buttons
- ret = {}
+ def overview_buttons
+ ret = {}
- # User should be able to configure existing devices during installation.
- # This can be achieved via "Edit" button on automatically detected
- # devices. Advanced configuration should be postponed to installed system.
- # Therefor adding devices is not available during installation
- ret[:add] = Label.AddButton if !Mode.installation
- ret[:edit] = Label.EditButton
- ret[:delete] = Label.DeleteButton
+ # User should be able to configure existing devices during installation.
+ # This can be achieved via "Edit" button on automatically detected
+ # devices. Advanced configuration should be postponed to installed system.
+ # Therefor adding devices is not available during installation
+ ret[:add] = Label.AddButton if !Mode.installation
+ ret[:edit] = Label.EditButton
+ ret[:delete] = Label.DeleteButton
- ret
- end
+ ret
+ end
+ end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.46/src/include/network/lan/help.rb new/yast2-network-3.1.50/src/include/network/lan/help.rb
--- old/yast2-network-3.1.46/src/include/network/lan/help.rb 2014-04-07 11:32:47.000000000 +0200
+++ new/yast2-network-3.1.50/src/include/network/lan/help.rb 2014-04-25 14:38:44.000000000 +0200
@@ -263,16 +263,16 @@
"additional" =>
# Aliases dialog help 1/4
_(
- "<p><b><big>Additional Addresses</big></b></p>\n<p>Configure additional addresses of an interface (its aliases) in this table.</p>\n"
+ "<p><b><big>Additional Addresses</big></b></p>\n<p>Configure additional addresses of an interface in this table.</p>\n"
) +
# Aliases dialog help 2/4
_(
- "<p>Enter an <b>Alias Name</b>, an <b>IP Address</b>, and\nthe <b>Netmask</b>.</p>"
+ "<p>Enter an <b>IPv4 Address Label</b>, an <b>IP Address</b>, and\nthe <b>Netmask</b>.</p>"
) +
# Aliases dialog help 3/4
_(
- "<p><b>Alias Name</b> is optional and legacy.The total\n" +
- " length of interface name (inclusive of the colon and label) is\n" +
+ "<p><b>IPv4 Address Label</b>, formerly known as Alias Name, is optional and legacy. The total\n" +
+ " length of interface name (inclusive of the colon and label) is\n" +
" limited to 15 characters and the obsolete ifconfig utility truncates it after 9 characters.</p>"
) +
# Aliases dialog help 3/4, #83766
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.46/src/include/network/lan/virtual.rb new/yast2-network-3.1.50/src/include/network/lan/virtual.rb
--- old/yast2-network-3.1.46/src/include/network/lan/virtual.rb 2014-04-07 11:32:47.000000000 +0200
+++ new/yast2-network-3.1.50/src/include/network/lan/virtual.rb 2014-04-25 14:38:44.000000000 +0200
@@ -211,7 +211,7 @@
HSpacing(1),
VBox(
# TextEntry label
- TextEntry(Id(:name), _("Alias &Name"), Ops.get_string(entry, 1, "")),
+ TextEntry(Id(:name), _("IPv4 &Address Label"), Ops.get_string(entry, 1, "")),
# TextEntry label
TextEntry(
Id(:ipaddr),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.46/src/include/network/lan/wizards.rb new/yast2-network-3.1.50/src/include/network/lan/wizards.rb
--- old/yast2-network-3.1.46/src/include/network/lan/wizards.rb 2014-04-07 11:32:47.000000000 +0200
+++ new/yast2-network-3.1.50/src/include/network/lan/wizards.rb 2014-04-25 14:38:44.000000000 +0200
@@ -59,16 +59,28 @@
"write" => [lambda { WriteDialog() }, true]
}
- sequence = {
- "ws_start" => "read",
- "read" => { :abort => :abort, :next => "main" },
- "main" => { :abort => :abort, :next => "packages" },
- "packages" => { :abort => :abort, :next => "write" },
- "write" => { :abort => :abort, :next => :next }
- }
+ if Mode.installation || Mode.update
+ sequence = {
+ "ws_start" => "read",
+ "read" => { :abort => :abort, :back => :back, :next => "main" },
+ "main" => { :abort => :abort, :back => :back, :next => "packages" },
+ "packages" => { :abort => :abort, :back => :back, :next => "write" },
+ "write" => { :abort => :abort, :back => :back, :next => :next }
+ }
+
+ Wizard.OpenNextBackDialog
+ else
+ sequence = {
+ "ws_start" => "read",
+ "read" => { :abort => :abort, :next => "main" },
+ "main" => { :abort => :abort, :next => "packages" },
+ "packages" => { :abort => :abort, :next => "write" },
+ "write" => { :abort => :abort, :next => :next }
+ }
- Wizard.OpenCancelOKDialog
- Wizard.SetDesktopTitleAndIcon("lan")
+ Wizard.OpenCancelOKDialog
+ Wizard.SetDesktopTitleAndIcon("lan")
+ end
ret = Sequencer.Run(aliases, sequence)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.46/src/include/network/routines.rb new/yast2-network-3.1.50/src/include/network/routines.rb
--- old/yast2-network-3.1.46/src/include/network/routines.rb 2014-04-07 11:32:47.000000000 +0200
+++ new/yast2-network-3.1.50/src/include/network/routines.rb 2014-04-25 14:38:44.000000000 +0200
@@ -28,6 +28,9 @@
#
module Yast
module NetworkRoutinesInclude
+ include I18n
+ include Yast
+
def initialize_network_routines(include_target)
Yast.import "UI"
@@ -1015,18 +1018,18 @@
end
def SetLinkUp(dev_name)
- Run(Builtins.sformat("ip link set %1 up", dev_name))
+ Run("ip link set #{dev_name} up")
end
def SetLinkDown(dev_name)
- Run(Builtins.sformat("ip link set %1 down", dev_name))
+ Run("ip link set #{dev_name} down")
end
def SetAllLinksUp
interfaces = GetAllInterfaces()
- ret = Ops.greater_than(Builtins.size(interfaces), 0)
+ ret = !interfaces.empty?
- Builtins.foreach(interfaces) do |ifc|
+ interfaces.each do |ifc|
Builtins.y2milestone("Setting link up for interface %1", ifc)
ret = SetLinkUp(ifc) && ret
end
@@ -1034,6 +1037,27 @@
ret
end
+ # Checks if given device has carrier
+ #
+ # @return [boolean] true if device has carrier
+ def has_carrier?(dev_name)
+ SCR.Read(
+ path(".target.string"),
+ "/sys/class/net/#{dev_name}/carrier"
+ ).to_i != 0
+ end
+
+ # Checks if device is physically connected to a network
+ #
+ # It does neccessary steps which might be needed for proper initialization
+ # of devices driver.
+ #
+ # @return [boolean] true if physical layer is connected
+ def phy_connected?(dev_name)
+ # SetLinkUp ensures that driver is properly initialized
+ SetLinkUp(dev_name) && has_carrier?(dev_name)
+ end
+
def validPrefixOrNetmask(ip, mask)
valid_mask = false
if Builtins.substring(mask, 0, 1) == "/"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.46/src/include/network/runtime.rb new/yast2-network-3.1.50/src/include/network/runtime.rb
--- old/yast2-network-3.1.46/src/include/network/runtime.rb 2014-04-07 11:32:47.000000000 +0200
+++ new/yast2-network-3.1.50/src/include/network/runtime.rb 2014-04-25 14:38:44.000000000 +0200
@@ -29,44 +29,21 @@
module Yast
module NetworkRuntimeInclude
def initialize_network_runtime(include_target)
-
- Yast.import "Arch"
- Yast.import "Desktop"
- Yast.import "Mode"
- Yast.import "NetworkInterfaces"
- Yast.import "Package"
- Yast.import "Service"
- Yast.import "PackageSystem"
-
textdomain "network"
end
- # Run SuSEconfig
- # @return true if success
- def RunSuSEconfig
+ # Runs external script which updates MTA's configuration.
+ #
+ # Currently supported MTAs:
+ # - sendmail
+ # - postfix
+ def update_mta_config
Builtins.y2milestone("Updating sendmail and/or postfix configuration.")
SCR.Execute(
path(".target.bash"),
"/usr/lib/sendmail.d/update 2>/dev/null"
)
SCR.Execute(path(".target.bash"), "/usr/sbin/config.postfix 2>/dev/null")
- true
- end
-
- # Link detection
- # @return true if link found
- # @see #ethtool(8)
- def HasLink
- ifname = "eth0"
-
- command = Builtins.sformat(
- "ethtool %1 | grep -q 'Link detected: no'",
- ifname
- )
- if Convert.to_integer(SCR.Execute(path(".target.bash"), command)) == 1
- return false
- end
- true
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.46/src/lib/network/install_inf_convertor.rb new/yast2-network-3.1.50/src/lib/network/install_inf_convertor.rb
--- old/yast2-network-3.1.46/src/lib/network/install_inf_convertor.rb 2014-04-07 11:32:47.000000000 +0200
+++ new/yast2-network-3.1.50/src/lib/network/install_inf_convertor.rb 2014-04-25 14:38:44.000000000 +0200
@@ -11,6 +11,8 @@
BASH_PATH = Path.new(".target.bash")
+ # Class for accessing /etc/install.inf.
+ # See http://en.opensuse.org/SDB:Linuxrc_install.inf
class InstallInf
INSTALL_INF = Path.new(".etc.install_inf")
@@ -364,12 +366,13 @@
def create_device_name_ifcfg(hardware)
device_name = dev_name
- hw_name = BuildDescription(
- NetworkInterfaces.device_type(device_name),
- NetworkInterfaces.device_num(device_name),
- { "dev_name" => device_name },
- hardware
- )
+ # authoritative sources of device name are:
+ # - hwinfo
+ # - install.inf
+ # nobody else was able to edit device name so far (so ifcfg["NAME"])
+ # is empty
+ hw_name = HardwareName(hardware, device_name)
+ hw_name = InstallInf["NetCardName"] || "" if hw_name.empty?
return "" if hw_name.empty?
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.46/src/lib/network/network_autoconfiguration.rb new/yast2-network-3.1.50/src/lib/network/network_autoconfiguration.rb
--- old/yast2-network-3.1.46/src/lib/network/network_autoconfiguration.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-network-3.1.50/src/lib/network/network_autoconfiguration.rb 2014-04-25 14:38:44.000000000 +0200
@@ -0,0 +1,171 @@
+# encoding: utf-8
+
+require "yast"
+
+module Yast
+
+ # The class is responsible for generating / proposing automatic
+ # configuration during installation workflow
+ class NetworkAutoconfiguration
+ include Singleton
+ include Logger
+ include Yast
+
+ Yast.import "LanItems"
+ Yast.import "NetworkInterfaces"
+
+ BASH_PATH = Path.new(".target.bash")
+
+ def configure_dhcp
+ Yast.include self, "network/routines.rb"
+
+ # find out network devices suitable for dhcp autoconfiguration.
+ # Such device has to:
+ # - be unconfigured
+ # - physically connected to a network (it speeds up initialization phase of
+ # installer - bnc#872319)
+ dhcp_cards = network_cards.select { |c| !configured?(c) && phy_connected?(c) }
+ log.info "Candidates for enabling DHCP: #{dhcp_cards}"
+
+ # TODO time consuming, some progress would be nice
+ dhcp_cards.each { |d| setup_dhcp(d) }
+
+ # FIXME this can be really slow as it calls wicked one-by-one. So for n devices
+ # connected to a network but without dhcp it takes n * <dhcp lease wait timeout>.
+ activate_changes(dhcp_cards)
+
+ # drop devices without dhcp lease
+ inactive_devices = dhcp_cards.select { |c| ! active_config?(c) }
+ log.info "Inactive devices: #{inactive_devices}"
+
+ inactive_devices.each { |c| delete_config(c) }
+
+ # setup route flag
+ active_devices = dhcp_cards - inactive_devices
+
+ if active_devices.size == 1
+ # just one dhcp device, nothing to care of
+ set_default_route_flag(active_devices.first, "yes")
+ else
+ # try to find just one dhcp aware device for allowing default route
+ # if there is more than one dhcp devices enabled for setting default
+ # route (DHCLIENT_SET_DEFAULT_ROUTE = "yes"). bnc#868187
+ active_devices.find { |d| set_default_route_flag_if_wan_dev?(d) }
+ end
+
+ activate_changes(dhcp_cards)
+ end
+
+ private
+ def network_cards
+ LanItems.Read
+ LanItems.GetNetcardNames
+ end
+
+ # Makes DHCP setup persistent
+ #
+ # instsys currently uses wicked as network services "manager" (including
+ # dhcp client). wicked is currently able to configure a card for dhcp leases
+ # only via loading config from file. All other ways are workarounds and
+ # needn't to work when wickedd* services are already running
+ def setup_dhcp card
+ index = LanItems.FindDeviceIndex(card)
+
+ if index == -1
+ raise "Failed to save configuration for device #{card}"
+ end
+
+ LanItems.current = index
+ LanItems.SetItem
+
+ #tricky part if ifcfg is not set
+ # yes, this code smell and show bad API of LanItems
+ if !LanItems.IsCurrentConfigured
+ NetworkInterfaces.Add
+ current = LanItems.Items[LanItems.current]
+ current["ifcfg"] = card
+ end
+
+ LanItems.bootproto = "dhcp"
+ LanItems.startmode = "auto"
+
+ LanItems.Commit
+ end
+
+ def reload_config(card)
+ SCR.Execute(BASH_PATH, "wicked ifreload '#{card}'") == 0
+ end
+
+ def delete_config(devname)
+ LanItems.delete_dev(devname)
+ end
+
+ def write_configuration
+ NetworkInterfaces.Write("")
+ end
+
+ def activate_changes(devnames)
+ return false if !write_configuration
+
+ # workaround for gh#yast/yast-core#74 (https://github.com/yast/yast-core/issues/74)
+ NetworkInterfaces.CleanCacheRead()
+
+ devnames.map { |d| reload_config(d) }
+ end
+
+ def configured?(devname)
+ # TODO:
+ # one day there should be LanItems.IsItemConfigured, but we currently
+ # miss index -> devname translation. As this LanItems internal structure
+ # will be subject of refactoring, we will use NetworkInterfaces directly.
+ # It currently doesn't hurt as it currently writes configuration for both
+ # wicked even sysconfig.
+ NetworkInterfaces.Check(devname)
+ end
+
+ # Checks if given device is active
+ #
+ # active device <=> a device which is reported as "up" by wicked
+ def active_config?(devname)
+ wicked_query = "wicked ifstatus --brief #{devname} | grep 'up$'"
+ SCR.Execute(BASH_PATH, wicked_query) == 0
+ end
+
+ # Returns list of servers used for internet reachability test
+ #
+ # Basicaly servers with product release notes should be used.
+ def target_servers
+ ["scc.suse.com"]
+ end
+
+ # Check if given device can reach some of reference servers
+ def set_default_route_flag_if_wan_dev?(devname)
+ set_default_route_flag(devname, "yes")
+ activate_changes([devname])
+
+ reached = target_servers.any? do |server|
+ ping_cmd = "ping -I #{devname} -c 3 #{server}"
+ SCR.Execute(BASH_PATH, ping_cmd) == 0
+ end
+
+ log.info("Release notes can be reached via #{devname}: #{reached}")
+
+ if !reached
+ set_default_route_flag(devname, "no")
+ activate_changes([devname])
+ end
+
+ reached
+ end
+
+ # Sets sysconfig's DHCLIENT_SET_DEFAULT_ROUTE option for given device
+ #
+ # @param [String] devname name of device as seen by system (e.g. enp0s3)
+ # @param [String] value "yes" or "no", as in sysconfig
+ def set_default_route_flag(devname, value)
+ item_id = LanItems.FindDeviceIndex(devname)
+ LanItems.SetItemSysconfigOpt(item_id, "DHCLIENT_SET_DEFAULT_ROUTE", value)
+ end
+
+ end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.46/src/modules/DNS.rb new/yast2-network-3.1.50/src/modules/DNS.rb
--- old/yast2-network-3.1.46/src/modules/DNS.rb 2014-04-07 11:32:47.000000000 +0200
+++ new/yast2-network-3.1.50/src/modules/DNS.rb 2014-04-25 14:38:44.000000000 +0200
@@ -429,7 +429,7 @@
ProgressNextStage(_("Updating configuration..."))
# Finish him
- RunSuSEconfig()
+ update_mta_config
Builtins.sleep(sl)
# if(SCR::Read(.target.size, resolv_conf) < 0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.46/src/modules/Lan.rb new/yast2-network-3.1.50/src/modules/Lan.rb
--- old/yast2-network-3.1.46/src/modules/Lan.rb 2014-04-07 11:32:47.000000000 +0200
+++ new/yast2-network-3.1.50/src/modules/Lan.rb 2014-04-25 14:38:44.000000000 +0200
@@ -664,7 +664,7 @@
return false if Abort()
# Progress step 10
ProgressNextStage(_("Updating configuration..."))
- RunSuSEconfig() if !@write_only
+ update_mta_config if !@write_only
Builtins.sleep(sl)
if NetworkService.is_network_manager
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.46/test/Makefile.am new/yast2-network-3.1.50/test/Makefile.am
--- old/yast2-network-3.1.46/test/Makefile.am 2014-04-07 11:32:47.000000000 +0200
+++ new/yast2-network-3.1.50/test/Makefile.am 2014-04-25 14:38:44.000000000 +0200
@@ -7,7 +7,8 @@
new_device_startmode_test.rb \
widgets_test.rb \
install_inf_convertor_test.rb \
- lan_items_helpers_test.rb
+ lan_items_helpers_test.rb \
+ link_handlers_test.rb
TEST_EXTENSIONS = .rb
RB_LOG_COMPILER = rspec
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.46/test/install_inf_convertor_test.rb new/yast2-network-3.1.50/test/install_inf_convertor_test.rb
--- old/yast2-network-3.1.46/test/install_inf_convertor_test.rb 2014-04-07 11:32:47.000000000 +0200
+++ new/yast2-network-3.1.50/test/install_inf_convertor_test.rb 2014-04-25 14:38:44.000000000 +0200
@@ -89,6 +89,7 @@
before(:each) do
@device = "enp0s3"
@netconfig = "dhcp"
+ @netcardname = "Network card name"
@install_inf_convertor = Yast::InstallInfConvertor.instance
@@ -100,6 +101,9 @@
Yast::InstallInfConvertor::InstallInf
.stub(:[])
.with("NetConfig") { @netconfig }
+ Yast::InstallInfConvertor::InstallInf
+ .stub(:[])
+ .with("NetCardName") { @netcardname }
end
describe "#dev_name" do
@@ -122,7 +126,7 @@
expect(ifcfg = @install_inf_convertor.send(:create_ifcfg)).not_to be_empty
expect(ifcfg).to match /BOOTPROTO='dhcp4'/
expect(ifcfg).to match /STARTMODE='onboot'/
- expect(ifcfg).to match /NAME='.*'/
+ expect(ifcfg).to match /NAME='#{@netcardname}'/
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.46/test/link_handlers_test.rb new/yast2-network-3.1.50/test/link_handlers_test.rb
--- old/yast2-network-3.1.46/test/link_handlers_test.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-network-3.1.50/test/link_handlers_test.rb 2014-04-25 14:38:44.000000000 +0200
@@ -0,0 +1,23 @@
+#!/usr/bin/env rspec
+
+ENV["Y2DIR"] = File.expand_path("../../src", __FILE__)
+
+require "yast"
+
+describe "phy_connected?" do
+ before(:each) do
+ Yast.include self, "network/routines.rb"
+
+ Yast::SCR.stub(:Execute).with(path(".target.bash"), //) { 0 }
+ end
+
+ it "returns true if PHY layer is available" do
+ Yast::SCR.stub(:Read).with(path(".target.string"), /\/sys\/class\/net/) { 1 }
+ expect(phy_connected?("enp0s3")).to eql true
+ end
+
+ it "returns false if PHY layer is available" do
+ Yast::SCR.stub(:Read).with(path(".target.string"), /\/sys\/class\/net/) { 0 }
+ expect(phy_connected?("enp0s3")).to eql false
+ end
+end
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
26 Apr '14
Hello community,
here is the log from the commit of package installation-images-openSUSE for openSUSE:Factory checked in at 2014-04-26 11:45:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/installation-images-openSUSE (Old)
and /work/SRC/openSUSE:Factory/.installation-images-openSUSE.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "installation-images-openSUSE"
Changes:
--------
--- /work/SRC/openSUSE:Factory/installation-images-openSUSE/installation-images-openSUSE.changes 2014-04-15 07:35:33.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.installation-images-openSUSE.new/installation-images-openSUSE.changes 2014-04-26 11:45:22.000000000 +0200
@@ -1,0 +2,34 @@
+Fri Apr 25 12:58:44 CEST 2014 - snwint(a)suse.de
+
+- handle SUSEConnect, add var/lock symlink
+- 14.81
+
+-------------------------------------------------------------------
+Fri Apr 25 10:20:25 CEST 2014 - snwint(a)suse.de
+
+- add tar to initrd
+- added virtio_scsi to ppc modules (bnc #874681)
+- add xz to initrd
+- remove /etc/os-release
+- root.file_list: ignore zypper, add optional skelcd-control-SLES-for-VMware
+- ignore zypper, add optional skelcd-control-SLES-for-VMware
+- 14.80
+
+-------------------------------------------------------------------
+Tue Apr 22 10:35:17 CEST 2014 - snwint(a)suse.de
+
+- log wickedd output
+- added --stop options to service_start script (bnc #873057)
+- patch file removed: sysvinit.diff
+
+-------------------------------------------------------------------
+Mon Apr 21 09:13:17 UTC 2014 - coolo(a)suse.com
+
+- sysvinit no longer required: sysvinit.diff
+
+-------------------------------------------------------------------
+Tue Apr 15 14:38:14 CEST 2014 - snwint(a)suse.de
+
+- add rpc user (bnc #873173)
+
+-------------------------------------------------------------------
Old:
----
installation-images-14.77.tar.bz2
New:
----
installation-images-14.81.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ installation-images-openSUSE.spec ++++++
--- /var/tmp/diff_new_pack.zRkl94/_old 2014-04-26 11:45:23.000000000 +0200
+++ /var/tmp/diff_new_pack.zRkl94/_new 2014-04-26 11:45:23.000000000 +0200
@@ -45,6 +45,7 @@
BuildRequires: openSUSE-release
BuildRequires: openSUSE-release-mini
%endif
+BuildRequires: sysvinit-tools
BuildRequires: haveged
BuildRequires: raleway-fonts
BuildRequires: kdump
@@ -205,7 +206,6 @@
BuildRequires: strace
BuildRequires: syslogd
BuildRequires: systemd-sysvinit
-BuildRequires: sysvinit
BuildRequires: tcpd-devel
BuildRequires: telnet
BuildRequires: telnet-server
@@ -356,10 +356,10 @@
Summary: Installation Image Files for %theme
License: GPL-2.0+
Group: Metapackages
-Version: 14.77
+Version: 14.81
Release: 0
Provides: installation-images = %version-%release
-Source: installation-images-14.77.tar.bz2
+Source: installation-images-14.81.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%define _binary_payload w.ufdio
++++++ installation-images-14.77.tar.bz2 -> installation-images-14.81.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/installation-images-14.77/VERSION new/installation-images-14.81/VERSION
--- old/installation-images-14.77/VERSION 2014-04-14 14:59:03.000000000 +0200
+++ new/installation-images-14.81/VERSION 2014-04-25 12:58:34.000000000 +0200
@@ -1 +1 @@
-14.77
+14.81
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/installation-images-14.77/changelog new/installation-images-14.81/changelog
--- old/installation-images-14.77/changelog 2014-04-14 14:59:08.000000000 +0200
+++ new/installation-images-14.81/changelog 2014-04-25 12:58:38.000000000 +0200
@@ -1,4 +1,25 @@
-2014-04-14: HEAD
+2014-04-25: HEAD
+ - handle SUSEConnect, add var/lock symlink
+
+2014-04-24: 14.80
+ - add tar to initrd
+ - added virtio_scsi to ppc modules (bnc #874681)
+ - add xz to initrd
+ - Merge branch 'master' of github.com:openSUSE/installation-images
+ - remove /etc/os-release
+ - Merge pull request #13 from lslezak/ignore_zypper
+ - root.file_list: ignore zypper, add optional skelcd-control-SLES-for-VMware
+ - ignore zypper, add optional skelcd-control-SLES-for-VMware
+
+2014-04-22: 14.79
+ - log wickedd output
+ - sysvinit is no more
+ - added --stop options to service_start script (bnc #873057)
+
+2014-04-15: 14.78
+ - add rpc user
+
+2014-04-14: 14.77
- deal with unnecessary links to /usr/sbin/service
2014-04-08: 14.76
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/installation-images-14.77/data/initrd/initrd.file_list new/installation-images-14.81/data/initrd/initrd.file_list
--- old/installation-images-14.77/data/initrd/initrd.file_list 2014-04-07 10:09:04.000000000 +0200
+++ new/installation-images-14.81/data/initrd/initrd.file_list 2014-04-25 11:46:58.000000000 +0200
@@ -3,7 +3,7 @@
d var/run var/spool var/run/libstorage var/tmp var/log/YaST2 var/adm/mount
d var/lib/YaST2 var/lib/hardware/unique-keys var/lib/autoinstall
d var/run/hotplug var/cache/fontconfig
-d var/lib/sshd var/lib/empty var/run/ntp var/lib/rpcbind
+d var/lib/sshd var/lib/empty var/run/ntp
d var/cache/sax/files var/cache/sax/sysp/rdbms var/cache/xfine var/cache/zypp var/lib/sax
d etc/sysconfig
d etc/sysconfig/hardware
@@ -83,7 +83,6 @@
openssl: ignore
permissions: ignore
pinentry: ignore
-rpcbind: ignore
?suspend: ignore
update-alternatives: ignore
?dracut: ignore
@@ -115,6 +114,7 @@
sysconfig-netconfig:
sg3_utils:
systemd-presets-branding-<base_theme>:
+tar:
if arch eq 'aarch64'
qemu-linux-aarch64:
@@ -311,6 +311,9 @@
/usr/bin/gzip
/usr/bin/gunzip
+xz:
+ /usr/bin/xz
+
gawk:
/usr/bin/gawk
s gawk usr/bin/awk
@@ -376,8 +379,8 @@
filesystem:
/var/spool/locks
- /var/lock
/run
+ s /run/lock /var/lock
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -418,6 +421,11 @@
nscd:
E prein
+# we just want the user & group entries
+rpcbind:
+ /var/lib
+ E prein
+
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#
@@ -507,6 +515,18 @@
endif
+# certificates are prepared in base.file_list
+# here we ust copy the files from there
+# the packages are listed here just so they show up in the package list later
+ca-certificates: nodeps
+ # do nothing
+ t tmp
+
+ca-certificates-mozilla: nodeps
+ # copy ssl certificates
+ e cp -a /etc/ssl etc
+ e cp -a /var/lib/ca-certificates var/lib
+
:
include theme.file_list
@@ -524,10 +544,6 @@
# historical static device nodes
x devz /devz
-# copy ssl certificates
-e cp -a /etc/ssl etc
-e cp -a /var/lib/ca-certificates var/lib
-
# mtab is symlink now
r /etc/mtab
s /proc/self/mounts /etc/mtab
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/installation-images-14.77/data/initrd/scripts/early_setup new/installation-images-14.81/data/initrd/scripts/early_setup
--- old/installation-images-14.77/data/initrd/scripts/early_setup 2014-01-24 11:37:10.000000000 +0100
+++ new/installation-images-14.81/data/initrd/scripts/early_setup 2014-04-17 11:29:39.000000000 +0200
@@ -32,7 +32,9 @@
if [ -x usr/sbin/wickedd ] ; then
echo "Starting wicked"
- /usr/sbin/wickedd
- for i in /usr/lib/wicked/bin/wickedd-* ; do $i ; done
+ {
+ /usr/sbin/wickedd
+ for i in /usr/lib/wicked/bin/wickedd-* ; do $i ; done
+ } >/var/log/wickedd.log 2>&1
fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/installation-images-14.77/data/initrd/service_start new/installation-images-14.81/data/initrd/service_start
--- old/installation-images-14.77/data/initrd/service_start 2014-03-28 13:21:42.000000000 +0100
+++ new/installation-images-14.81/data/initrd/service_start 2014-04-16 13:37:26.000000000 +0200
@@ -6,9 +6,11 @@
sub usage;
my $opt_show;
+my $opt_stop;
GetOptions(
'show' => \$opt_show,
+ 'stop' => \$opt_stop,
'help' => sub { usage 0 },
) || usage 1;
@@ -42,14 +44,25 @@
for (@todo) { $cmd .= ". $_\n" if s/^EnvironmentFile=[\-@]*// }
for (@todo) { $cmd .= "export $1\n" if /^Environment=(.+)/ }
-for (@todo) { $cmd .= "$_\n" if s/^ExecStartPre=[\-@]*// }
-for (@todo) { $cmd .= "$_$suffix\n" if s/^ExecStart=[\-@]*// }
+if($opt_stop) {
+ for (@todo) { $cmd .= "$_\n" if s/^ExecStop=[\-@]*// }
+ for (@todo) { $cmd .= "$_\n" if s/^ExecStopPost=[\-@]*// }
+}
+else {
+ for (@todo) { $cmd .= "$_\n" if s/^ExecStartPre=[\-@]*// }
+ for (@todo) { $cmd .= "$_$suffix\n" if s/^ExecStart=[\-@]*// }
+ for (@todo) { $cmd .= "$_\n" if s/^ExecStartPost=[\-@]*// }
+}
if($opt_show) {
print $cmd;
}
else {
- open $f, "| /bin/sh >/var/log/service_start.log 2>&1";
+ if(open $f, ">>/var/log/service_start.log") {
+ print $f "=== $service " . ($opt_stop ? "stop" : "start") . " ===\n";
+ close $f;
+ }
+ open $f, "| /bin/sh >>/var/log/service_start.log 2>&1";
print $f $cmd;
exit $? >> 8 if !close $f;
}
@@ -63,11 +76,15 @@
sub usage
{
print <<"= = = = = = = =";
-Usage: service_start SERVICE
-Start systemd service SERVICE.
+Usage: service_start [OPTIONS] SERVICE
+Start or stop systemd service SERVICE.
+
+Note: this is a simplified tool that may or may not work for a particular
+service.
Options:
- --show Don't run service but show necessary commands.
+ --stop Stop service.
+ --show Don't start/stop service but show necessary commands.
--help Write this help text.
= = = = = = = =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/installation-images-14.77/data/root/root.file_list new/installation-images-14.81/data/root/root.file_list
--- old/installation-images-14.77/data/root/root.file_list 2014-04-08 13:26:50.000000000 +0200
+++ new/installation-images-14.81/data/root/root.file_list 2014-04-25 11:58:21.000000000 +0200
@@ -24,6 +24,11 @@
r /usr/bin/ld
s ld.bfd /usr/bin/ld
+TEMPLATE SUSEConnect:
+ /
+ # avoid update-alternatives
+ s SUSEConnect-0.0.14 /usr/bin/SUSEConnect
+
TEMPLATE rubygem-.*:
/usr/*/ruby/gems/*/gems/*/lib
/usr/*/ruby/gems/*/specifications
@@ -74,6 +79,11 @@
?dracut: ignore
?mkinitrd: ignore
yast2-schema: ignore
+# handle yast2-registration -> suse-connect -> zypper dependency,
+# yast does not need zypper, just suse-connect, so ignore it
+?zypper: ignore
+# already in initrd
+ca-certificates-mozilla: ignore
if arch eq 'aarch64'
qemu-linux-aarch64:
@@ -142,8 +152,6 @@
systemd-presets-branding-<base_theme>:
systemd-sysvinit:
systemd:
-sysvinit:
-tar:
usbutils:
util-linux:
vim:
@@ -166,6 +174,7 @@
# pull in yast2 installation related packages via package deps
?skelcd-control-openSUSE:
?skelcd-control-SLES:
+?skelcd-control-SLES-for-VMware:
?skelcd-control-SLED:
rpm:
@@ -594,6 +603,9 @@
# remove these, we don't want them symlinked
r root mnt tmp proc usr/libexec
+# remove /etc/os-release so it's not used accidentally
+r /etc/os-release
+
x /usr/lib/YaST/.Reh /usr/lib/YaST2
x etc/inst_setup /sbin/inst_setup
x etc/adddir /sbin/adddir
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/installation-images-14.77/etc/module.config new/installation-images-14.81/etc/module.config
--- old/installation-images-14.77/etc/module.config 2014-04-04 15:22:52.000000000 +0200
+++ new/installation-images-14.81/etc/module.config 2014-04-23 17:12:57.000000000 +0200
@@ -385,6 +385,7 @@
[ppc]
+virtio_scsi
rsxx
rtas_flash,"rtas_flash"
mii,"-MII interface library",-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/installation-images-14.77/lib/AddFiles.pm new/installation-images-14.81/lib/AddFiles.pm
--- old/installation-images-14.77/lib/AddFiles.pm 2014-02-18 08:51:26.000000000 +0100
+++ new/installation-images-14.81/lib/AddFiles.pm 2014-04-25 11:13:23.000000000 +0200
@@ -559,7 +559,7 @@
warn "$Script: failed to link $1 to $2";
}
elsif(/^s\s+(\S+)\s+(\S+)$/) {
- SUSystem "ln -s $1 $dir/$2" and
+ SUSystem "ln -sf $1 $dir/$2" and
warn "$Script: failed to symlink $1 to $2";
}
elsif(/^m\s+(\S+)\s+(\S+)$/) {
--
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 linuxrc for openSUSE:Factory checked in at 2014-04-26 11:45:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/linuxrc (Old)
and /work/SRC/openSUSE:Factory/.linuxrc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "linuxrc"
Changes:
--------
--- /work/SRC/openSUSE:Factory/linuxrc/linuxrc.changes 2014-04-14 06:43:28.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.linuxrc.new/linuxrc.changes 2014-04-26 11:45:21.000000000 +0200
@@ -1,0 +2,24 @@
+Fri Apr 25 10:14:48 CEST 2014 - snwint(a)suse.de
+
+- signature checking of compressed driver updates now works (bnc #836366)
+- support unpacking of tar archives
+- support xz compression
+- reworked filesystem type detection, added tar
+- apply timeout option to wicked
+- 4.2.20
+
+-------------------------------------------------------------------
+Tue Apr 22 10:44:29 CEST 2014 - snwint(a)suse.de
+
+- Fix for bnc #843438.
+- Add KVM detection on s390x.
+- If running under KVM on s390x, only offer a virtio network device.
+- remove linuxrc-revert-chzdev.patch
+
+-------------------------------------------------------------------
+Mon Apr 14 06:27:44 UTC 2014 - mpost(a)suse.com
+
+- Temporarily revert the changes made to use chzdev until the code
+ is more mature. linuxrc-revert-chzdev.patch.
+
+-------------------------------------------------------------------
Old:
----
linuxrc-4.2.18.tar.bz2
New:
----
linuxrc-4.2.20.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ linuxrc.spec ++++++
--- /var/tmp/diff_new_pack.EZYUIq/_old 2014-04-26 11:45:22.000000000 +0200
+++ /var/tmp/diff_new_pack.EZYUIq/_new 2014-04-26 11:45:22.000000000 +0200
@@ -25,9 +25,9 @@
Summary: SUSE Installation Program
License: GPL-3.0+
Group: System/Boot
-Version: 4.2.18
+Version: 4.2.20
Release: 0
-Source: linuxrc-4.2.18.tar.bz2
+Source: linuxrc-4.2.20.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
++++++ linuxrc-4.2.18.tar.bz2 -> linuxrc-4.2.20.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-4.2.18/VERSION new/linuxrc-4.2.20/VERSION
--- old/linuxrc-4.2.18/VERSION 2014-04-11 14:25:05.000000000 +0200
+++ new/linuxrc-4.2.20/VERSION 2014-04-25 10:14:44.000000000 +0200
@@ -1 +1 @@
-4.2.18
+4.2.20
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-4.2.18/auto2.c new/linuxrc-4.2.20/auto2.c
--- old/linuxrc-4.2.18/auto2.c 2014-03-26 08:09:51.000000000 +0100
+++ new/linuxrc-4.2.20/auto2.c 2014-04-24 14:35:53.000000000 +0200
@@ -420,14 +420,14 @@
#endif
err = url_read_file_anywhere(
url, NULL, NULL, file_name, NULL,
- URL_FLAG_UNZIP + URL_FLAG_NODIGEST + URL_FLAG_PROGRESS + (config.secure ? URL_FLAG_CHECK_SIG : 0)
+ URL_FLAG_NODIGEST + URL_FLAG_PROGRESS + (config.secure ? URL_FLAG_CHECK_SIG : 0)
);
if(err && !config.sig_failed) {
str_copy(&url->path, path2);
err = url_read_file_anywhere(
url, NULL, NULL, file_name, NULL,
- URL_FLAG_UNZIP + URL_FLAG_NODIGEST + URL_FLAG_PROGRESS + (config.secure ? URL_FLAG_CHECK_SIG : 0)
+ URL_FLAG_NODIGEST + URL_FLAG_PROGRESS + (config.secure ? URL_FLAG_CHECK_SIG : 0)
);
}
fprintf(stderr, "err2 = %d\n", err);
@@ -1091,7 +1091,7 @@
"driverupdate",
file_name = strdup(new_download()),
"Loading Driver Update",
- URL_FLAG_UNZIP + URL_FLAG_NODIGEST + URL_FLAG_KEEP_MOUNTED + (config.secure ? URL_FLAG_CHECK_SIG : 0)
+ URL_FLAG_NODIGEST + URL_FLAG_KEEP_MOUNTED + (config.secure ? URL_FLAG_CHECK_SIG : 0)
);
if(!err) err = util_mount_ro(file_name, config.mountpoint.update, NULL);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-4.2.18/changelog new/linuxrc-4.2.20/changelog
--- old/linuxrc-4.2.18/changelog 2014-04-11 14:25:07.000000000 +0200
+++ new/linuxrc-4.2.20/changelog 2014-04-25 10:14:46.000000000 +0200
@@ -1,4 +1,24 @@
-2014-04-11: HEAD
+2014-04-24: HEAD
+ - Merge branch 'netx'
+ - minor corrections
+ - fix some bugs in last patch and add logging
+ - Signature checking of compressed driver updates now works (bnc #836366).
+ - We do this by delaying the uncompression and handling it in util_mount().
+ - Before we uncompressed while downloading.
+ - support unpacking of tar archives
+ - support xz compression
+ - reworked filesystem type detection, added tar
+ - apply timeout option to wicked
+
+2014-04-22: 4.2.19
+ - fix compiler warning
+ - Merge pull request #7 from openSUSE/s390xkvm
+ - Fix for bnc #843438.
+ - Fix for bnc #843438.
+ Add KVM detection on s390x.
+ If running under KVM on s390x, only offer a virtio network device.
+
+2014-04-11: 4.2.18
- simplify s390x hypervisor detection code
- fix include
- passing ssl_verify option to yast (bnc #807799)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-4.2.18/dialog.c new/linuxrc-4.2.20/dialog.c
--- old/linuxrc-4.2.18/dialog.c 2014-03-20 12:59:45.000000000 +0100
+++ new/linuxrc-4.2.20/dialog.c 2014-04-24 14:35:36.000000000 +0200
@@ -104,6 +104,7 @@
{ di_390net_escon, "ESCON" },
{ di_390net_iucv, "Inter-User Communication Vehicle (IUCV)" },
{ di_390net_hsi, "Hipersockets" },
+ { di_390net_virtio, "VirtIO Ethernet CCW Device"},
{ di_390net_sep, "#--------------------" },
{ di_ctc_compat, "Compatibility mode (default)" },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-4.2.18/dialog.h new/linuxrc-4.2.20/dialog.h
--- old/linuxrc-4.2.18/dialog.h 2013-12-04 12:07:39.000000000 +0100
+++ new/linuxrc-4.2.20/dialog.h 2014-04-24 14:35:36.000000000 +0200
@@ -85,6 +85,7 @@
di_390net_escon,
di_390net_iucv,
di_390net_hsi,
+ di_390net_virtio,
di_390net_eth,
di_390net_qdio,
di_390net_lcs,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-4.2.18/file.c new/linuxrc-4.2.20/file.c
--- old/linuxrc-4.2.18/file.c 2014-04-11 14:04:54.000000000 +0200
+++ new/linuxrc-4.2.20/file.c 2014-04-24 14:35:53.000000000 +0200
@@ -33,7 +33,6 @@
#include "auto2.h"
#include "rootimage.h"
#include "display.h"
-#include "fstype.h"
#include "keyboard.h"
#include "url.h"
@@ -887,7 +886,7 @@
for(sl = config.partitions; sl; sl = sl->next) {
if(sl->key) {
sprintf(buf, "/dev/%s", sl->key);
- t = fstype(buf);
+ t = util_fstype(buf, NULL);
if(t && !strcmp(t, "swap")) {
if(!--i) {
char *argv[2] = { };
@@ -909,7 +908,7 @@
if(strstr(s, "/dev/") != s) {
sprintf(s = buf, "/dev/%s", f->value);
}
- t = fstype(s);
+ t = util_fstype(s, NULL);
if(t && !strcmp(t, "swap")) {
argv[1] = s;
fprintf(stderr, "swapon %s\n", s);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-4.2.18/fstype.c new/linuxrc-4.2.20/fstype.c
--- old/linuxrc-4.2.18/fstype.c 2013-11-18 14:06:40.000000000 +0100
+++ new/linuxrc-4.2.20/fstype.c 2014-04-24 14:35:53.000000000 +0200
@@ -17,7 +17,7 @@
* detect *fat and then assume vfat, so perhaps /etc/filesystems isnt
* so useful anymore.]
*
- * 1999-02-22 Arkadiusz Mi�kiewicz <misiek(a)pld.ORG.PL>
+ * 1999-02-22 Arkadiusz Miśkiewicz <misiek(a)pld.ORG.PL>
* added Native Language Support
*
* 2000-12-01 Sepp Wijnands <mrrazz(a)garbage-coderz.net>
@@ -44,385 +44,411 @@
#include "global.h"
-#define ALL_TYPES
-
-#define SIZE(a) (sizeof(a)/sizeof(a[0]))
+/*
+ * Most file system types can be recognized by a `magic' number
+ * in the superblock. Note that the order of the tests is
+ * significant: by coincidence a filesystem can have the
+ * magic numbers for several file system types simultaneously.
+ * For example, the romfs magic lives in the 1st sector;
+ * xiafs does not touch the 1st sector and has its magic in
+ * the 2nd sector; ext2 does not touch the first two sectors.
+ */
-/* Most file system types can be recognized by a `magic' number
- in the superblock. Note that the order of the tests is
- significant: by coincidence a filesystem can have the
- magic numbers for several file system types simultaneously.
- For example, the romfs magic lives in the 1st sector;
- xiafs does not touch the 1st sector and has its magic in
- the 2nd sector; ext2 does not touch the first two sectors. */
-
-static inline unsigned short
-swapped(unsigned short a) {
- return (a>>8) | (a<<8);
+static inline unsigned short swapped(unsigned short a)
+{
+ return (a>>8) | (a<<8);
}
-static inline int
-assemble4le(unsigned char *p) {
- return (p[0] | (p[1] << 8) | (p[2] << 16) | (p[3] << 24));
+
+static inline int assemble4le(unsigned char *p)
+{
+ return (p[0] | (p[1] << 8) | (p[2] << 16) | (p[3] << 24));
}
/*
- char *guess_fstype_from_superblock(const char *device);
+ char *guess_fstype_from_superblock(const char *device);
- Probes the device and attempts to determine the type of filesystem
- contained within.
+ Probes the device and attempts to determine the type of filesystem
+ contained within.
- Original routine by <jmorriso(a)bogomips.ww.ubc.ca>; made into a function
- for mount(8) by Mike Grupenhoff <kashmir(a)umiacs.umd.edu>.
- Corrected the test for xiafs - aeb
- Read the superblock only once - aeb
- Added a very weak heuristic for vfat - aeb
- Added iso9660, minix-v2, romfs, qnx4, udf, vxfs, swap - aeb
- Added a test for high sierra (iso9660) - quinlan(a)bucknell.edu
- Added ufs from a patch by jj. But maybe there are several types of ufs?
- Added ntfs from a patch by Richard Russon.
- Added xfs - 2000-03-21 Martin K. Petersen <mkp(a)linuxcare.com>
- Added cramfs, hfs, hpfs, adfs - Sepp Wijnands <mrrazz(a)garbage-coderz.net>
- Added ext3 - Andrew Morton
- Added jfs - Christoph Hellwig
- Added sysv - Tim Launchbury
+ Original routine by <jmorriso(a)bogomips.ww.ubc.ca>; made into a function
+ for mount(8) by Mike Grupenhoff <kashmir(a)umiacs.umd.edu>.
+ Corrected the test for xiafs - aeb
+ Read the superblock only once - aeb
+ Added a very weak heuristic for vfat - aeb
+ Added iso9660, minix-v2, romfs, qnx4, udf, vxfs, swap - aeb
+ Added a test for high sierra (iso9660) - quinlan(a)bucknell.edu
+ Added ufs from a patch by jj. But maybe there are several types of ufs?
+ Added ntfs from a patch by Richard Russon.
+ Added xfs - 2000-03-21 Martin K. Petersen <mkp(a)linuxcare.com>
+ Added cramfs, hfs, hpfs, adfs - Sepp Wijnands <mrrazz(a)garbage-coderz.net>
+ Added ext3 - Andrew Morton
+ Added jfs - Christoph Hellwig
+ Added sysv - Tim Launchbury
*/
-#ifdef ALL_TYPES
-/* udf magic - I find that trying to mount garbage as an udf fs
- causes a very large kernel delay, almost killing the machine.
- So, we do not try udf unless there is positive evidence that it
- might work. Try iso9660 first, it is much more likely.
- Strings below taken from ECMA 167. */
-static char
-*udf_magic[] = { "BEA01", "BOOT2", "CD001", "CDW02", "NSR02",
- "NSR03", "TEA01" };
-
-static int
-may_be_udf(const char *id) {
- char **m;
-
- for (m = udf_magic; m - udf_magic < (ssize_t) SIZE(udf_magic); m++)
- if (!strncmp(*m, id, 5))
- return 1;
- return 0;
+/*
+ * udf magic - I find that trying to mount garbage as an udf fs
+ * causes a very large kernel delay, almost killing the machine.
+ * So, we do not try udf unless there is positive evidence that it
+ * might work. Try iso9660 first, it is much more likely.
+ * Strings below taken from ECMA 167.
+ */
+static int may_be_udf(const char *id)
+{
+ char *udf_magic[] = {
+ "BEA01", "BOOT2", "CD001", "CDW02", "NSR02", "NSR03", "TEA01"
+ };
+ char **m;
+
+ for(m = udf_magic; m - udf_magic < sizeof udf_magic / sizeof *udf_magic; m++) {
+ if(!strncmp(*m, id, 5)) return 1;
+ }
+
+ return 0;
}
-#endif
-static int
-may_be_swap(const char *s) {
- return (strncmp(s-10, "SWAP-SPACE", 10) == 0 ||
- strncmp(s-10, "SWAPSPACE2", 10) == 0);
+
+static int may_be_swap(const char *s)
+{
+ return !strncmp(s - 10, "SWAP-SPACE", 10) || !strncmp(s - 10, "SWAPSPACE2", 10);
}
-static int is_reiserfs_magic_string (struct reiserfs_super_block * rs)
+
+static int is_reiserfs_magic_string(struct reiserfs_super_block * rs)
{
- return (!strncmp (rs->s_magic, REISERFS_SUPER_MAGIC_STRING,
- strlen ( REISERFS_SUPER_MAGIC_STRING)) ||
- !strncmp (rs->s_magic, REISER2FS_SUPER_MAGIC_STRING,
- strlen ( REISER2FS_SUPER_MAGIC_STRING)));
+ return
+ !strncmp(rs->s_magic, REISERFS_SUPER_MAGIC_STRING, strlen(REISERFS_SUPER_MAGIC_STRING)) ||
+ !strncmp(rs->s_magic, REISER2FS_SUPER_MAGIC_STRING, strlen(REISER2FS_SUPER_MAGIC_STRING));
}
-char *
-fstype(const char *device) {
- int fd;
- char *type = NULL;
- union {
- struct minix_super_block ms;
- struct ext_super_block es;
- struct ext2_super_block e2s;
- struct vxfs_super_block vs;
- } sb; /* stuff at 1024 */
+
+char *fstype(const char *device)
+{
+ int fd;
+ char *type = NULL;
+ struct stat64 statbuf;
+
+ /*
+ * opening and reading an arbitrary unknown path can have
+ * undesired side effects - first check that `device' refers
+ * to a block device
+ */
+ if(
+ stat64(device, &statbuf) ||
+ !(S_ISBLK(statbuf.st_mode) || S_ISREG(statbuf.st_mode))
+ ) {
+ return 0;
+ }
+
+ fd = open(device, O_RDONLY | O_LARGEFILE);
+ /* try harder */
+ if(fd < 0 && errno == ENOMEDIUM) fd = open(device, O_RDONLY | O_LARGEFILE);
+ if(fd < 0) {
+ if(config.debug) perror(device);
+ return 0;
+ }
+
+ /*
+ * do seeks and reads in disk order, otherwise a very short
+ * partition may cause a failure because of read error
+ */
+
+ if(!type) {
union {
- struct xiafs_super_block xiasb;
- char romfs_magic[8];
- char qnx4fs_magic[10]; /* ignore first 4 bytes */
- long bfs_magic;
- struct ntfs_super_block ntfssb;
- struct fat_super_block fatsb;
- struct xfs_super_block xfsb;
- struct cramfs_super_block cramfssb;
- unsigned char data[512];
+ struct xiafs_super_block xiasb;
+ char romfs_magic[8];
+ char qnx4fs_magic[10]; /* ignore first 4 bytes */
+ long bfs_magic;
+ struct ntfs_super_block ntfssb;
+ struct fat_super_block fatsb;
+ struct xfs_super_block xfsb;
+ struct cramfs_super_block cramfssb;
+ unsigned char data[512];
} xsb;
-#ifdef ALL_TYPES
- struct ufs_super_block ufssb;
-#endif
+
+ /* block 0 */
+ if(
+ lseek(fd, 0, SEEK_SET) == 0 &&
+ read(fd, &xsb, sizeof xsb) == sizeof xsb
+ ) {
+ if(xiafsmagic(xsb.xiasb) == _XIAFS_SUPER_MAGIC) {
+ type = "xiafs";
+ }
+ else if(!strncmp(xsb.romfs_magic, "-rom1fs-", 8)) {
+ type = "romfs";
+ }
+ else if(!strncmp(xsb.xfsb.s_magic, XFS_SUPER_MAGIC, 4)) {
+ type = "xfs";
+ }
+ else if(!strncmp(xsb.qnx4fs_magic+4, "QNX4FS", 6)) {
+ type = "qnx4";
+ }
+ else if(xsb.bfs_magic == 0x1badface) {
+ type = "bfs";
+ }
+ else if(!strncmp(xsb.ntfssb.s_magic, NTFS_SUPER_MAGIC, sizeof xsb.ntfssb.s_magic)) {
+ type = "ntfs";
+ }
+ else if(
+ cramfsmagic(xsb.cramfssb) == CRAMFS_SUPER_MAGIC ||
+ cramfsmagic(xsb.cramfssb) == CRAMFS_SUPER_MAGIC_BIG
+ ) {
+ type = "cramfs";
+ }
+ else if(
+ xsb.data[0x1fe] == 0x55 &&
+ xsb.data[0x1ff] == 0xaa &&
+ xsb.data[0x0b] == 0 && /* bytes per sector, bits 0-7 */
+ (
+ ( /* FAT12/16 */
+ xsb.data[0x26] == 0x29 && (
+ !strncmp(xsb.fatsb.s_fs, "FAT12 ", 8) ||
+ !strncmp(xsb.fatsb.s_fs, "FAT16 ", 8)
+ )
+ ) ||
+ ( /* FAT32 */
+ xsb.data[0x42] == 0x29 &&
+ !strncmp(xsb.fatsb.s_fs2, "FAT32 ", 8)
+ )
+ )
+ ) {
+ type = "vfat";
+ }
+ }
+ }
+
+ if(!type) {
+ char buf[6];
+
+ if(
+ lseek(fd, 0, SEEK_SET) == 0 &&
+ read(fd, buf, sizeof buf) == sizeof buf
+ ) {
+ if(!memcmp(buf, "070701", 6) || !memcmp(buf, "\xc7\x71", 2)) type = "cpio";
+ else if(!memcmp(buf, "hsqs", 4) || !memcmp(buf, "sqsh", 4)) type = "squashfs";
+ else if(!memcmp(buf, "\xed\xab\xee\xdb", 4) && buf[4] >= 3) type = "rpm";
+ }
+ }
+
+ if(!type) { /* sector 1 */
+ struct sysv_super_block svsb;
+
+ if(
+ lseek(fd, 512 , SEEK_SET) == 512 &&
+ read(fd, &svsb, sizeof svsb) == sizeof svsb &&
+ sysvmagic(svsb) == SYSV_SUPER_MAGIC
+ ) {
+ type = "sysv";
+ }
+ }
+
+ if(!type) { /* block 1 */
union {
- struct iso_volume_descriptor iso;
- struct hs_volume_descriptor hs;
- } isosb;
- struct reiserfs_super_block reiserfssb; /* block 64 or 8 */
- struct jfs_super_block jfssb; /* block 32 */
-#ifdef ALL_TYPES
+ struct minix_super_block ms;
+ struct ext_super_block es;
+ struct ext2_super_block e2s;
+ struct vxfs_super_block vs;
+ } sb;
+
+ if(
+ lseek(fd, 1024, SEEK_SET) == 1024 &&
+ read(fd, &sb, sizeof sb) == sizeof sb
+ ) {
+ /*
+ * ext2 has magic in little-endian on disk, so "swapped" is
+ * superfluous; however, there have existed strange byteswapped
+ * PPC ext2 systems
+ */
+ if(
+ ext2magic(sb.e2s) == EXT2_SUPER_MAGIC ||
+ ext2magic(sb.e2s) == EXT2_PRE_02B_MAGIC ||
+ ext2magic(sb.e2s) == swapped(EXT2_SUPER_MAGIC)
+ ) {
+ type = "ext2";
+
+ if(
+ (assemble4le(sb.e2s.s_feature_compat) & EXT3_FEATURE_COMPAT_HAS_JOURNAL) &&
+ assemble4le(sb.e2s.s_journal_inum) != 0
+ ) {
+ type = "ext3";
+
+ if((assemble4le(sb.e2s.s_feature_incompat) & EXT4_FEATURE_INCOMPAT_EXTENTS)) {
+ type = "ext4";
+ }
+ }
+ }
+ else if(
+ minixmagic(sb.ms) == MINIX_SUPER_MAGIC ||
+ minixmagic(sb.ms) == MINIX_SUPER_MAGIC2 ||
+ minixmagic(sb.ms) == MINIX2_SUPER_MAGIC ||
+ minixmagic(sb.ms) == MINIX2_SUPER_MAGIC2
+ ) {
+ type = "minix";
+ }
+ else if(extmagic(sb.es) == EXT_SUPER_MAGIC) {
+ type = "ext";
+ }
+ else if(vxfsmagic(sb.vs) == VXFS_SUPER_MAGIC) {
+ type = "vxfs";
+ }
+ }
+ }
+
+ if(!type) { /* block 1 */
struct hfs_super_block hfssb;
- struct hpfs_super_block hpfssb;
- struct sysv_super_block svsb;
-#endif
- struct stat64 statbuf;
- /* opening and reading an arbitrary unknown path can have
- undesired side effects - first check that `device' refers
- to a block device */
- if (stat64 (device, &statbuf) || !(S_ISBLK(statbuf.st_mode) || S_ISREG(statbuf.st_mode)))
- return 0;
-
- fd = open(device, O_RDONLY | O_LARGEFILE);
- /* try harder */
- if (fd < 0 && errno == ENOMEDIUM) fd = open(device, O_RDONLY | O_LARGEFILE);
- if (fd < 0) {
- if(config.debug) perror(device);
- return 0;
- }
-
- /* do seeks and reads in disk order, otherwise a very short
- partition may cause a failure because of read error */
-
- if (!type) {
- /* block 0 */
- if (lseek(fd, 0, SEEK_SET) != 0
- || read(fd, (char *) &xsb, sizeof(xsb)) != sizeof(xsb))
- goto io_error;
-
- if (xiafsmagic(xsb.xiasb) == _XIAFS_SUPER_MAGIC)
- type = "xiafs";
-#ifdef ALL_TYPES
- else if(!strncmp(xsb.romfs_magic, "-rom1fs-", 8))
- type = "romfs";
-#endif
- else if(!strncmp(xsb.xfsb.s_magic, XFS_SUPER_MAGIC, 4))
- type = "xfs";
-#ifdef ALL_TYPES
- else if(!strncmp(xsb.qnx4fs_magic+4, "QNX4FS", 6))
- type = "qnx4";
- else if(xsb.bfs_magic == 0x1badface)
- type = "bfs";
- else if(!strncmp(xsb.ntfssb.s_magic, NTFS_SUPER_MAGIC,
- sizeof(xsb.ntfssb.s_magic)))
- type = "ntfs";
-#endif
- else if(cramfsmagic(xsb.cramfssb) == CRAMFS_SUPER_MAGIC ||
- cramfsmagic(xsb.cramfssb) == CRAMFS_SUPER_MAGIC_BIG)
- type = "cramfs";
- else if(
- xsb.data[0x1fe] == 0x55 &&
- xsb.data[0x1ff] == 0xaa &&
- xsb.data[0x0b] == 0 && /* bytes per sector, bits 0-7 */
- (
- ( /* FAT12/16 */
- xsb.data[0x26] == 0x29 && (
- !strncmp(xsb.fatsb.s_fs, "FAT12 ", 8) ||
- !strncmp(xsb.fatsb.s_fs, "FAT16 ", 8)
- )
- ) ||
- ( /* FAT32 */
- xsb.data[0x42] == 0x29 &&
- !strncmp(xsb.fatsb.s_fs2, "FAT32 ", 8)
- )
- )
- )
- type = "vfat";
+ /*
+ * also check if block size is equal to 512 bytes,
+ * since the hfs driver currently only has support
+ * for block sizes of 512 bytes long, and to be
+ * more accurate (sb magic is only a short int)
+ */
+ if(
+ lseek(fd, 0x400, SEEK_SET) == 0x400 &&
+ read(fd, &hfssb, sizeof hfssb) == sizeof hfssb &&
+ (
+ (hfsmagic(hfssb) == HFS_SUPER_MAGIC && hfsblksize(hfssb) == 0x20000) ||
+ (swapped(hfsmagic(hfssb)) == HFS_SUPER_MAGIC && hfsblksize(hfssb) == 0x200)
+ )
+ ) {
+ type = "hfs";
}
+ }
+
+ if(!type) { /* block 8 */
+ struct ufs_super_block ufssb;
- if(!type) {
- char buf[7];
+ if(
+ lseek(fd, 8192, SEEK_SET) == 8192 &&
+ read(fd, &ufssb, sizeof ufssb) == sizeof ufssb &&
+ ufsmagic(ufssb) == UFS_SUPER_MAGIC /* also test swapped version? */
+ ) {
+ type = "ufs";
+ }
+ }
+
+ if(!type) { /* block 8 */
+ struct reiserfs_super_block reiserfssb;
+
+ if(
+ lseek(fd, REISERFS_OLD_DISK_OFFSET_IN_BYTES, SEEK_SET) == REISERFS_OLD_DISK_OFFSET_IN_BYTES &&
+ read(fd, &reiserfssb, sizeof(reiserfssb)) == sizeof(reiserfssb) &&
+ is_reiserfs_magic_string(&reiserfssb)
+ ) {
+ type = "reiserfs";
+ }
+ }
- if(
- lseek(fd, 0, SEEK_SET) != 0 ||
- read(fd, buf, sizeof buf - 1) != sizeof buf - 1
- ) goto io_error;
+ if(!type) { /* block 8 */
+ struct hpfs_super_block hpfssb;
- buf[sizeof buf - 1] = 0;
- if(!strcmp(buf, "070701")) type = "cpio";
- else if(!memcmp(buf, "hsqs", 4) || !memcmp(buf, "sqsh", 4)) type = "squashfs";
- else if(!memcmp(buf, "\xed\xab\xee\xdb", 4) && buf[4] >= 3) type = "rpm";
+ if(
+ lseek(fd, 0x2000, SEEK_SET) == 0x2000 &&
+ read(fd, &hpfssb, sizeof hpfssb) == sizeof hpfssb &&
+ hpfsmagic(hpfssb) == HPFS_SUPER_MAGIC
+ ) {
+ type = "hpfs";
+ }
+ }
+
+ if(!type) { /* block 32 */
+ struct jfs_super_block jfssb;
+
+ if(
+ lseek(fd, JFS_SUPER1_OFF, SEEK_SET) == JFS_SUPER1_OFF &&
+ read(fd, &jfssb, sizeof jfssb) == sizeof jfssb &&
+ !strncmp(jfssb.s_magic, JFS_MAGIC, 4)
+ ) {
+ type = "jfs";
}
+ }
-#ifdef ALL_TYPES
- if (!type) {
- /* sector 1 */
- if (lseek(fd, 512 , SEEK_SET) != 512
- || read(fd, (char *) &svsb, sizeof(svsb)) != sizeof(svsb))
- goto io_error;
- if (sysvmagic(svsb) == SYSV_SUPER_MAGIC )
- type = "sysv";
- }
-#endif
-
- if (!type) {
- unsigned ntype = 0;
- char *type_str[] = { "ext2", "ext3", "ext4" };
-
- /* block 1 */
- if (lseek(fd, 1024, SEEK_SET) != 1024 ||
- read(fd, (char *) &sb, sizeof(sb)) != sizeof(sb))
- goto io_error;
-
- /* ext2 has magic in little-endian on disk, so "swapped" is
- superfluous; however, there have existed strange byteswapped
- PPC ext2 systems */
- if (ext2magic(sb.e2s) == EXT2_SUPER_MAGIC ||
- ext2magic(sb.e2s) == EXT2_PRE_02B_MAGIC ||
- ext2magic(sb.e2s) == swapped(EXT2_SUPER_MAGIC)) {
- ntype = 2;
-
- /* maybe even ext3? */
- if ((assemble4le(sb.e2s.s_feature_compat)
- & EXT3_FEATURE_COMPAT_HAS_JOURNAL) &&
- assemble4le(sb.e2s.s_journal_inum) != 0)
- ntype = 3;
-
- /* maybe ext4 */
- if((assemble4le(sb.e2s.s_feature_incompat)
- & EXT4_FEATURE_INCOMPAT_EXTENTS) && ntype == 3)
- ntype = 4;
-
- if(ntype) type = type_str[ntype - 2];
- }
-
- else if (minixmagic(sb.ms) == MINIX_SUPER_MAGIC ||
- minixmagic(sb.ms) == MINIX_SUPER_MAGIC2 ||
- minixmagic(sb.ms) == MINIX2_SUPER_MAGIC ||
- minixmagic(sb.ms) == MINIX2_SUPER_MAGIC2)
- type = "minix";
-
-#ifdef ALL_TYPES
- else if (extmagic(sb.es) == EXT_SUPER_MAGIC)
- type = "ext";
-#endif
-
- else if (vxfsmagic(sb.vs) == VXFS_SUPER_MAGIC)
- type = "vxfs";
- }
-
-#ifdef ALL_TYPES
- if (!type) {
- /* block 1 */
- if (lseek(fd, 0x400, SEEK_SET) != 0x400
- || read(fd, (char *) &hfssb, sizeof(hfssb)) != sizeof(hfssb))
- goto io_error;
-
- /* also check if block size is equal to 512 bytes,
- since the hfs driver currently only has support
- for block sizes of 512 bytes long, and to be
- more accurate (sb magic is only a short int) */
- if ((hfsmagic(hfssb) == HFS_SUPER_MAGIC &&
- hfsblksize(hfssb) == 0x20000) ||
- (swapped(hfsmagic(hfssb)) == HFS_SUPER_MAGIC &&
- hfsblksize(hfssb) == 0x200))
- type = "hfs";
- }
-#endif
-
-#ifdef ALL_TYPES
- if (!type) {
- /* block 8 */
- if (lseek(fd, 8192, SEEK_SET) != 8192
- || read(fd, (char *) &ufssb, sizeof(ufssb)) != sizeof(ufssb))
- goto io_error;
-
- if (ufsmagic(ufssb) == UFS_SUPER_MAGIC) /* also test swapped version? */
- type = "ufs";
- }
-#endif
-
- if (!type) {
- /* block 8 */
- if (lseek(fd, REISERFS_OLD_DISK_OFFSET_IN_BYTES, SEEK_SET) !=
- REISERFS_OLD_DISK_OFFSET_IN_BYTES
- || read(fd, (char *) &reiserfssb, sizeof(reiserfssb)) !=
- sizeof(reiserfssb))
- goto io_error;
- if (is_reiserfs_magic_string(&reiserfssb))
- type = "reiserfs";
- }
-
-#ifdef ALL_TYPES
- if (!type) {
- /* block 8 */
- if (lseek(fd, 0x2000, SEEK_SET) != 0x2000
- || read(fd, (char *) &hpfssb, sizeof(hpfssb)) != sizeof(hpfssb))
- goto io_error;
-
- if (hpfsmagic(hpfssb) == HPFS_SUPER_MAGIC)
- type = "hpfs";
- }
-#endif
-
- if (!type) {
- /* block 32 */
- if (lseek(fd, JFS_SUPER1_OFF, SEEK_SET) != JFS_SUPER1_OFF
- || read(fd, (char *) &jfssb, sizeof(jfssb)) != sizeof(jfssb))
- goto io_error;
- if (!strncmp(jfssb.s_magic, JFS_MAGIC, 4))
- type = "jfs";
- }
-
- if (!type) {
- /* block 32 */
- if (lseek(fd, 0x8000, SEEK_SET) != 0x8000
- || read(fd, (char *) &isosb, sizeof(isosb)) != sizeof(isosb))
- goto io_error;
-
- if(strncmp(isosb.iso.id, ISO_STANDARD_ID, sizeof(isosb.iso.id)) == 0
- || strncmp(isosb.hs.id, HS_STANDARD_ID, sizeof(isosb.hs.id)) == 0)
- type = "iso9660";
-#ifdef ALL_TYPES
- else if (may_be_udf(isosb.iso.id))
- type = "udf";
-#endif
- }
-
- if (!type) {
- /* block 64 */
- if (lseek(fd, REISERFS_DISK_OFFSET_IN_BYTES, SEEK_SET) !=
- REISERFS_DISK_OFFSET_IN_BYTES
- || read(fd, (char *) &reiserfssb, sizeof(reiserfssb)) !=
- sizeof(reiserfssb))
- goto io_error;
- if (is_reiserfs_magic_string(&reiserfssb))
- type = "reiserfs";
- }
-
- if (!type) {
- char buf[8];
- if (
- lseek(fd, 0x10040, SEEK_SET) == 0x10040 &&
- read(fd, buf, sizeof buf) == sizeof buf &&
- !memcmp(buf, "_BHRfS_M", sizeof buf)
- ) {
- type = "btrfs";
- }
+ if(!type) { /* block 32 */
+ union {
+ struct iso_volume_descriptor iso;
+ struct hs_volume_descriptor hs;
+ } isosb;
+
+ if(
+ lseek(fd, 0x8000, SEEK_SET) == 0x8000 &&
+ read(fd, &isosb, sizeof isosb) == sizeof isosb
+ ) {
+ if(
+ !strncmp(isosb.iso.id, ISO_STANDARD_ID, sizeof(isosb.iso.id)) ||
+ !strncmp(isosb.hs.id, HS_STANDARD_ID, sizeof(isosb.hs.id))
+ ) {
+ type = "iso9660";
+ }
+ else if(may_be_udf(isosb.iso.id)) {
+ type = "udf";
+ }
+ }
+ }
+
+ if(!type) { /* block 64 */
+ struct reiserfs_super_block reiserfssb;
+
+ if(
+ lseek(fd, REISERFS_DISK_OFFSET_IN_BYTES, SEEK_SET) == REISERFS_DISK_OFFSET_IN_BYTES &&
+ read(fd, &reiserfssb, sizeof reiserfssb) == sizeof reiserfssb &&
+ is_reiserfs_magic_string(&reiserfssb)
+ ) {
+ type = "reiserfs";
+ }
+ }
+
+ if(!type) {
+ char buf[8];
+
+ if(
+ lseek(fd, 0x10040, SEEK_SET) == 0x10040 &&
+ read(fd, buf, sizeof buf) == sizeof buf &&
+ !memcmp(buf, "_BHRfS_M", sizeof buf)
+ ) {
+ type = "btrfs";
+ }
+ }
+
+ if(!type) {
+ char buf[6];
+
+ if(
+ lseek(fd, 0x101, SEEK_SET) == 0x101 &&
+ read(fd, buf, sizeof buf) == sizeof buf &&
+ !memcmp(buf, "ustar", 6 /* with \0 */)
+ ) {
+ type = "tar";
+ }
+ }
+
+ if(!type) {
+ /*
+ * perhaps the user tries to mount the swap space
+ * on a new disk; warn her before she does mke2fs on it
+ */
+ int pagesize = getpagesize();
+ int rd;
+ char buf[pagesize + 32768];
+
+ rd = pagesize;
+ if(rd < 8192) rd = 8192;
+ if(rd > sizeof buf) rd = sizeof buf;
+ if(
+ lseek(fd, 0, SEEK_SET) == 0 &&
+ read(fd, buf, rd) == rd &&
+ (
+ may_be_swap(buf + pagesize) ||
+ may_be_swap(buf + 4096) ||
+ may_be_swap(buf + 8192)
+ )
+ ) {
+ type = "swap";
}
+ }
- if (!type) {
- /* perhaps the user tries to mount the swap space
- on a new disk; warn her before she does mke2fs on it */
- int pagesize = getpagesize();
- int rd;
- char buf[pagesize + 32768];
-
- rd = pagesize;
- if (rd < 8192)
- rd = 8192;
- if (rd > (int) sizeof(buf))
- rd = sizeof(buf);
- if (lseek(fd, 0, SEEK_SET) != 0
- || read(fd, buf, rd) != rd)
- goto io_error;
- if (may_be_swap(buf+pagesize) ||
- may_be_swap(buf+4096) || may_be_swap(buf+8192))
- type = "swap";
- }
-
- close (fd);
- return(type);
-
-io_error:
-// if (errno)
-// perror(device);
-// else
-// fprintf(stderr, "fstype: error while guessing filesystem type\n");
- close(fd);
- return 0;
+ close(fd);
+
+ return type;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-4.2.18/global.h new/linuxrc-4.2.20/global.h
--- old/linuxrc-4.2.18/global.h 2014-04-11 09:49:55.000000000 +0200
+++ new/linuxrc-4.2.20/global.h 2014-04-24 14:35:53.000000000 +0200
@@ -368,7 +368,7 @@
unsigned kexec_reboot:1; /* kexec to installed system (just passed to yast) */
unsigned nomodprobe:1; /* disable modprobe */
unsigned y2gdb:1; /* pass to yast */
- unsigned squash:1; /* convert cpio/rpm to squashfs after download */
+ unsigned squash:1; /* convert archive files to squashfs after download */
unsigned keepinstsysconfig:1; /* don't reload instsys config data */
unsigned device_by_id:1; /* use /dev/disk/by-id device names */
unsigned usesax2:1; /* just passed to yast */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-4.2.18/install.c new/linuxrc-4.2.20/install.c
--- old/linuxrc-4.2.18/install.c 2013-12-03 11:41:26.000000000 +0100
+++ new/linuxrc-4.2.20/install.c 2014-04-24 14:35:53.000000000 +0200
@@ -45,7 +45,6 @@
#include "install.h"
#include "settings.h"
#include "auto2.h"
-#include "fstype.h"
#include "url.h"
#ifndef MNT_DETACH
@@ -427,7 +426,7 @@
sprintf(buf, "%s (%s)", sl->key, blk_ident(long_dev(sl->key)));
- type = fstype(long_dev(sl->key));
+ type = util_fstype(long_dev(sl->key), NULL);
if(type && !strcmp(type, "swap")) {
values1[item_cnt1] = strdup(sl->key);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-4.2.18/linuxrc.c new/linuxrc-4.2.20/linuxrc.c
--- old/linuxrc-4.2.18/linuxrc.c 2014-04-11 14:23:16.000000000 +0200
+++ new/linuxrc-4.2.20/linuxrc.c 2014-04-24 14:35:53.000000000 +0200
@@ -44,6 +44,7 @@
#include "scsi_rename.h"
#include "checkmedia.h"
#include "url.h"
+#include <sys/utsname.h>
#if defined(__alpha__) || defined(__ia64__)
#define SIGNAL_ARGS int signum, int x, struct sigcontext *scp
@@ -96,6 +97,7 @@
{ "scsi_rename", scsi_rename_main },
{ "lndir", util_lndir_main },
{ "extend", util_extend_main },
+ { "fstype", util_fstype_main },
};
#endif
@@ -712,6 +714,13 @@
config.hwp.hypervisor = "Unknown";
}
}
+ else {
+ struct utsname utsinfo;
+
+ uname(&utsinfo);
+ if(!strncmp(utsinfo.machine, "s390x", sizeof "s390x" - 1 )) config.hwp.hypervisor="KVM";
+ else config.hwp.hypervisor="Reallyunknown";
+ }
#endif
/* add cmdline to info file */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-4.2.18/net.c new/linuxrc-4.2.20/net.c
--- old/linuxrc-4.2.18/net.c 2014-04-11 13:49:26.000000000 +0200
+++ new/linuxrc-4.2.20/net.c 2014-04-24 14:35:53.000000000 +0200
@@ -1353,7 +1353,7 @@
IUCV is available for use unless the driver is already loaded. So,
if we're running on z/VM we always load it, no matter what. */
#if defined(__s390__) || defined(__s390x__)
- if(strncmp(config.hwp.hypervisor,"z/VM",4)==0) {
+ if(!strncmp(config.hwp.hypervisor, "z/VM", sizeof "z/VM" - 1 )) {
dia_info(&win, "We are running on z/VM", MSGTYPE_INFO);
dia_info(&win, "Loading the IUCV network driver", MSGTYPE_INFO);
mod_modprobe("netiucv","");
@@ -1871,9 +1871,12 @@
net_apply_ethtool(config.net.device, config.net.hwaddr);
- // FIXME: config.net.dhcp_timeout
-
- sprintf(cmd, "wicked ifup %s", config.net.device);
+ if(config.net.dhcp_timeout_set) {
+ sprintf(cmd, "wicked ifup --timeout %d %s", config.net.dhcp_timeout, config.net.device);
+ }
+ else {
+ sprintf(cmd, "wicked ifup %s", config.net.device);
+ }
sprintf(file, "/var/run/wicked/leaseinfo.%s.dhcp.ipv4", config.net.device);
@@ -2440,7 +2443,8 @@
break;
default:
return -1;
- } else { /* no hd_t entry -> ask */
+ }
+ else { /* no hd_t entry -> ask */
dia_item_t di;
dia_item_t items[] = {
di_390net_osa,
@@ -2451,14 +2455,18 @@
di_390net_iucv,
di_none
};
-
+ if(!strncmp(config.hwp.hypervisor, "KVM", sizeof "KVM" - 1)) {
+ items[0] = di_390net_virtio;
+ items[1] = di_none;
+ }
+
IFNOTAUTO(config.hwp.type) {
di = dia_menu2("Please select the type of your network device.", 60, 0, items, config.hwp.type?:di_390net_iucv);
config.hwp.type = di;
- } else di = config.hwp.type;
+ }
+ else di = config.hwp.type;
}
-
-
+
/* hwcfg parms common to all devices */
config.hwp.startmode="auto";
config.hwp.module_options="";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-4.2.18/url.c new/linuxrc-4.2.20/url.c
--- old/linuxrc-4.2.18/url.c 2014-03-26 08:09:51.000000000 +0100
+++ new/linuxrc-4.2.20/url.c 2014-04-24 14:35:53.000000000 +0200
@@ -158,7 +158,7 @@
free(buf);
}
url_data->err = 103;
- snprintf(url_data->err_buf, url_data->err_buf_len, "gzip: command terminated");
+ snprintf(url_data->err_buf, url_data->err_buf_len, "%s: command terminated", url_data->compressed);
}
// fprintf(stderr, "close = %d\n", i);
}
@@ -217,17 +217,17 @@
(url_data->buf.len == url_data->buf.max || url_data->flush) &&
url_data->buf.len >= 11
) {
- if(
- url_data->unzip &&
- url_data->buf.data[0] == 0x1f &&
- url_data->buf.data[1] == 0x8b
- ) {
- url_data->gzip = 1;
+ if(url_data->unzip) {
+ str_copy(&url_data->compressed, compress_type(url_data->buf.data));
+ }
- if((url_data->buf.data[3] & 0x08)) {
- i = strnlen((char *) url_data->buf.data + 10, url_data->buf.len - 10);
- if(i < url_data->buf.len - 10) {
- url_data->orig_name = strdup((char *) url_data->buf.data + 10);
+ if(url_data->compressed) {
+ if(!strcmp(url_data->compressed, "gzip")) {
+ if((url_data->buf.data[3] & 0x08)) {
+ i = strnlen((char *) url_data->buf.data + 10, url_data->buf.len - 10);
+ if(i < url_data->buf.len - 10) {
+ url_data->orig_name = strdup((char *) url_data->buf.data + 10);
+ }
}
}
}
@@ -256,7 +256,7 @@
if(url_data->buf.len == url_data->buf.max || url_data->flush) {
if(!url_data->file_opened) {
url_data->file_opened = 1;
- if(url_data->gzip) {
+ if(url_data->compressed) {
url_data->tmp_file = strdup("/tmp/foo_XXXXXX");
tmp = mkstemp(url_data->tmp_file);
if(tmp > 0) {
@@ -267,7 +267,9 @@
dup2(fd, 1);
dup2(tmp, 2);
url_data->pipe_fd = fd;
- url_data->f = popen("gzip -dc", "w");
+ char cmd[64];
+ snprintf(cmd, sizeof cmd, "%s -dc", url_data->compressed);
+ url_data->f = popen(cmd, "w");
dup2(fd1, 1);
dup2(fd2, 2);
url_data->zp_total = url_data->image_size << 10;
@@ -913,6 +915,7 @@
free(url_data->tmp_file);
free(url_data->buf.data);
free(url_data->label);
+ free(url_data->compressed);
free(url_data);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-4.2.18/url.h new/linuxrc-4.2.20/url.h
--- old/linuxrc-4.2.18/url.h 2013-11-18 14:06:40.000000000 +0100
+++ new/linuxrc-4.2.20/url.h 2014-04-24 14:35:53.000000000 +0200
@@ -17,12 +17,12 @@
unsigned zp_now, zp_total;
unsigned z_progress:1;
unsigned flush:1;
- unsigned gzip:1;
unsigned cramfs:1;
unsigned file_opened:1;
unsigned unzip:1;
unsigned label_shown:1;
unsigned optional:1;
+ char *compressed; // program name used for compression, if any
char *label;
int percent;
int pipe_fd;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-4.2.18/util.c new/linuxrc-4.2.20/util.c
--- old/linuxrc-4.2.18/util.c 2014-04-11 13:51:30.000000000 +0200
+++ new/linuxrc-4.2.20/util.c 2014-04-24 14:35:53.000000000 +0200
@@ -2400,6 +2400,36 @@
}
+int util_fstype_main(int argc, char **argv)
+{
+ char *s, buf[64], *compr, *archive;
+
+ argv++; argc--;
+
+ if(!argc) return fprintf(stderr, "usage: fstype blockdevice\n"), 1;
+
+ while(argc--) {
+ s = fstype(*argv);
+ if(
+ !s &&
+ (compr = compressed_archive(*argv, &archive))
+ ) {
+ if(archive) {
+ snprintf(buf, sizeof buf, "%s.%s", archive, compr);
+ s = buf;
+ }
+ else {
+ s = compr;
+ }
+ }
+ printf("%s: %s\n", *argv, s ?: "unknown fs");
+ argv++;
+ }
+
+ return 0;
+}
+
+
/*
* Return fs name. If we have to load a module first, return it in *module.
*/
@@ -2420,6 +2450,7 @@
if(
!strcmp(type, "cpio") ||
+ !strcmp(type, "tar") ||
!strcmp(type, "rpm") ||
(config.ntfs_3g && !strcmp(type, "ntfs"))
) {
@@ -2596,6 +2627,7 @@
int util_mount(char *dev, char *dir, unsigned long flags, slist_t *file_list)
{
char *type, *loop_dev, *cmd = NULL, *module, *tmp_dev, *cpio_opts = NULL, *s, *buf = NULL;
+ char *compr = NULL;
int err = -1;
struct stat64 sbuf;
@@ -2630,9 +2662,15 @@
type = util_fstype(dev, &module);
if(module) mod_modprobe(module, NULL);
+ if(!type) compr = compressed_archive(dev, &type);
+
+ fprintf(stderr, "%s: type = %s.%s\n", dev, type ?: "", compr ?: "");
+
+ LXRC_WAIT
+
if(
type &&
- (!strcmp(type, "cpio") || !strcmp(type, "rpm"))
+ (!strcmp(type, "cpio") || !strcmp(type, "tar") || !strcmp(type, "rpm"))
) {
char *buf = NULL;
char *msg;
@@ -2654,9 +2692,18 @@
}
if(!strcmp(type, "cpio")) {
- strprintf(&buf, "cd %s ; cpio %s < %s", dir, cpio_opts, dev);
+ if(compr) {
+ strprintf(&buf, "cd %s ; %s -dc %s | cpio %s", dir, compr, dev, cpio_opts);
+ }
+ else {
+ strprintf(&buf, "cd %s ; cpio %s < %s", dir, cpio_opts, dev);
+ }
msg = "cpio";
}
+ else if(!strcmp(type, "tar")) {
+ strprintf(&buf, "cd %s ; tar -xpf %s", dir, dev);
+ msg = "tar";
+ }
else {
strprintf(&buf, "cd %s ; rpm2cpio %s | cpio %s", dir, dev, cpio_opts);
msg = "rpm unpacking";
@@ -4649,3 +4696,74 @@
) config.net.ptp = 1;
}
+
+/*
+ * buf: at least 6 bytes
+ */
+char *compress_type(void *buf)
+{
+ if(!memcmp(buf, "\x1f\x8b", 2)) {
+ return "gzip";
+ }
+
+ if(!memcmp(buf, "\xfd""7zXZ", 6) /* yes, including final \0 */) {
+ return "xz";
+ }
+
+ return NULL;
+}
+
+
+char *compressed_file(char *name)
+{
+ int fd;
+ char buf[8];
+ char *compr = NULL;
+
+ fd = open(name, O_RDONLY | O_LARGEFILE);
+
+ if(fd >= 0) {
+ if(read(fd, buf, sizeof buf) == sizeof buf) {
+ compr = compress_type(buf);
+ }
+
+ close(fd);
+ }
+ else {
+ if(config.debug) perror(name);
+ }
+
+ return compr;
+}
+
+
+char *compressed_archive(char *name, char **archive)
+{
+ char *compr = compressed_file(name);
+ char buf1[64], buf2[0x108];
+ FILE *f;
+ char *type = NULL;
+
+ if(!archive) return compr;
+
+ if(compr) {
+ snprintf(buf1, sizeof buf1, "%s -dc %s", compr, name);
+
+ if((f = popen(buf1, "r"))) {
+ if(fread(buf2, 1, sizeof buf2, f) == sizeof buf2) {
+ if(!memcmp(buf2, "070701", 6)) type = "cpio";
+ if(!memcmp(buf2, "\xc7\x71", 2)) type = "cpio";
+ if(!memcmp(buf2 + 0x101, "ustar", 6 /* with \0 */)) type = "tar";
+ }
+
+ pclose(f);
+ }
+ }
+
+ *archive = type;
+
+ if(config.debug) fprintf(stderr, "%s = %s.%s\n", name, type ?: "", compr ?: "");
+
+ return compr;
+}
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-4.2.18/util.h new/linuxrc-4.2.20/util.h
--- old/linuxrc-4.2.18/util.h 2014-04-11 13:39:52.000000000 +0200
+++ new/linuxrc-4.2.20/util.h 2014-04-24 14:35:53.000000000 +0200
@@ -77,6 +77,7 @@
void util_free_mem(void);
void util_update_meminfo(void);
+int util_fstype_main(int argc, char **argv);
char *util_fstype(char *dev, char **module);
int util_mount(char *dev, char *dir, unsigned long flags, slist_t *file_list);
int util_mount_ro(char *dev, char *dir, slist_t *file_list);
@@ -154,3 +155,7 @@
void check_ptp(void);
+char *compress_type(void *buf);
+char *compressed_file(char *name);
+char *compressed_archive(char *name, char **archive);
+
--
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 yast2-theme for openSUSE:Factory checked in at 2014-04-26 11:45:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-theme (Old)
and /work/SRC/openSUSE:Factory/.yast2-theme.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-theme"
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-theme/yast2-theme-SLE.changes 2014-04-05 14:42:59.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-theme.new/yast2-theme-SLE.changes 2014-04-26 11:45:19.000000000 +0200
@@ -1,0 +2,20 @@
+Thu Apr 24 06:44:46 UTC 2014 - jsrain(a)suse.cz
+
+- graphics and style adjustments by Ken Wimer (bnc#868722)
+- 3.1.17
+
+-------------------------------------------------------------------
+Wed Apr 23 08:55:46 UTC 2014 - jsrain(a)suse.cz
+
+- added style for header bar with logo (bnc#868722)
+- 3.1.16
+
+-------------------------------------------------------------------
+Wed Apr 16 09:40:01 CEST 2014 - locilka(a)suse.com
+
+- New dialog labels, text hightlighting, BarGraph, Tab shifting
+ buttons (by Ken Wimer)
+ (bnc#869727, bnc#868268)
+- 3.1.15
+
+-------------------------------------------------------------------
yast2-theme.changes: same change
Old:
----
yast2-theme-3.1.14.tar.bz2
New:
----
yast2-theme-3.1.17.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-theme-SLE.spec ++++++
--- /var/tmp/diff_new_pack.41Oqyf/_old 2014-04-26 11:45:21.000000000 +0200
+++ /var/tmp/diff_new_pack.41Oqyf/_new 2014-04-26 11:45:21.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-theme-SLE
-Version: 3.1.14
+Version: 3.1.17
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
yast2-theme.spec: same change
++++++ yast2-theme-3.1.14.tar.bz2 -> yast2-theme-3.1.17.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/yast2-theme/yast2-theme-3.1.14.tar.bz2 /work/SRC/openSUSE:Factory/.yast2-theme.new/yast2-theme-3.1.17.tar.bz2 differ: char 11, 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 libstorage for openSUSE:Factory checked in at 2014-04-26 11:45:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libstorage (Old)
and /work/SRC/openSUSE:Factory/.libstorage.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libstorage"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libstorage/libstorage.changes 2014-04-13 13:13:48.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libstorage.new/libstorage.changes 2014-04-26 11:45:17.000000000 +0200
@@ -1,0 +2,12 @@
+Tue Apr 22 13:55:01 CEST 2014 - aschnell(a)suse.de
+
+- moved lock file to /run/libstorage
+
+-------------------------------------------------------------------
+Fri Apr 11 18:10:00 CEST 2014 - aschnell(a)suse.de
+
+- removed workaround for blkid file-system misdetection
+ (bnc#869359)
+- 2.25.12
+
+-------------------------------------------------------------------
Old:
----
libstorage-2.25.11.tar.bz2
New:
----
libstorage-2.25.12.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libstorage.spec ++++++
--- /var/tmp/diff_new_pack.fAqgBQ/_old 2014-04-26 11:45:18.000000000 +0200
+++ /var/tmp/diff_new_pack.fAqgBQ/_new 2014-04-26 11:45:18.000000000 +0200
@@ -17,7 +17,7 @@
Name: libstorage
-Version: 2.25.11
+Version: 2.25.12
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: libstorage-%{version}.tar.bz2
@@ -90,8 +90,8 @@
%install
make install DESTDIR="$RPM_BUILD_ROOT"
-install -d -m 755 $RPM_BUILD_ROOT/var/run/libstorage
-touch $RPM_BUILD_ROOT/var/run/libstorage/lock
+install -d -m 755 $RPM_BUILD_ROOT/run/libstorage
+touch $RPM_BUILD_ROOT/run/libstorage/lock
%{find_lang} libstorage
@@ -153,7 +153,7 @@
%files -n libstorage5 -f libstorage.lang
%defattr(-,root,root)
%{_libdir}/libstorage.so.*
-%ghost /var/run/libstorage
+%ghost /run/libstorage
/var/adm/fillup-templates/sysconfig.storage-libstorage
%doc %dir %{prefix}/share/doc/packages/libstorage
%doc %{prefix}/share/doc/packages/libstorage/AUTHORS
++++++ libstorage-2.25.11.tar.bz2 -> libstorage-2.25.12.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.25.11/VERSION new/libstorage-2.25.12/VERSION
--- old/libstorage-2.25.11/VERSION 2014-03-25 14:10:55.000000000 +0100
+++ new/libstorage-2.25.12/VERSION 2014-04-14 10:23:54.000000000 +0200
@@ -1 +1 @@
-2.25.11
+2.25.12
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.25.11/libstorage.spec.in new/libstorage-2.25.12/libstorage.spec.in
--- old/libstorage-2.25.11/libstorage.spec.in 2014-04-08 14:04:19.000000000 +0200
+++ new/libstorage-2.25.12/libstorage.spec.in 2014-04-22 14:12:23.000000000 +0200
@@ -82,8 +82,8 @@
%install
make install DESTDIR="$RPM_BUILD_ROOT"
-install -d -m 755 $RPM_BUILD_ROOT/var/run/libstorage
-touch $RPM_BUILD_ROOT/var/run/libstorage/lock
+install -d -m 755 $RPM_BUILD_ROOT/run/libstorage
+touch $RPM_BUILD_ROOT/run/libstorage/lock
%{find_lang} libstorage
@@ -145,7 +145,7 @@
%files -n libstorage@LIBVERSION_MAJOR@ -f libstorage.lang
%defattr(-,root,root)
%{_libdir}/libstorage.so.*
-%ghost /var/run/libstorage
+%ghost /run/libstorage
/var/adm/fillup-templates/sysconfig.storage-libstorage
%doc %dir %{prefix}/share/doc/packages/libstorage
%doc %{prefix}/share/doc/packages/libstorage/AUTHORS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.25.11/storage/Lock.cc new/libstorage-2.25.12/storage/Lock.cc
--- old/libstorage-2.25.11/storage/Lock.cc 2014-01-22 10:39:57.000000000 +0100
+++ new/libstorage-2.25.12/storage/Lock.cc 2014-04-22 14:12:23.000000000 +0200
@@ -33,6 +33,9 @@
#include "storage/Lock.h"
+#define LOCKDIR "/run/libstorage"
+
+
namespace storage
{
@@ -56,12 +59,12 @@
y2mil("getting " << (readonly ? "read-only" : "read-write") << " lock");
- if (mkdir("/var/run/libstorage", 0755) == -1 && errno != EEXIST)
+ if (mkdir(LOCKDIR, 0755) == -1 && errno != EEXIST)
{
y2err("creating directory for lock-file failed: " << strerror(errno));
}
- fd = open("/var/run/libstorage/lock", (readonly ? O_RDONLY : O_WRONLY) | O_CREAT | O_CLOEXEC,
+ fd = open(LOCKDIR "/lock", (readonly ? O_RDONLY : O_WRONLY) | O_CREAT | O_CLOEXEC,
S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);
if (fd < 0)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.25.11/storage/Storage.cc new/libstorage-2.25.12/storage/Storage.cc
--- old/libstorage-2.25.11/storage/Storage.cc 2014-03-21 17:06:30.000000000 +0100
+++ new/libstorage-2.25.12/storage/Storage.cc 2014-04-15 12:13:27.000000000 +0200
@@ -4310,7 +4310,6 @@
ret = co.addNfs(nfsDev, 0, opts, "", nfs4);
if( instsys() )
{
- SystemCmd c;
string prog_name = RPCBINDBIN;
//We don't have rpcbind (#423026, #427428) ...
@@ -4321,8 +4320,9 @@
prog_name = PORTMAPBIN;
}
+ SystemCmd c;
c.execute( prog_name );
- c.execute( "/usr/sbin/rpc.statd" );
+ c.execute(RPCSTATDBIN);
}
if( ret==0 && (ret=co.vBegin()->mount( mdir ))==0 )
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.25.11/storage/StorageDefines.h new/libstorage-2.25.12/storage/StorageDefines.h
--- old/libstorage-2.25.11/storage/StorageDefines.h 2014-02-24 14:59:33.000000000 +0100
+++ new/libstorage-2.25.12/storage/StorageDefines.h 2014-04-15 12:13:27.000000000 +0200
@@ -84,6 +84,7 @@
#define GREPBIN "/usr/bin/grep"
#define PORTMAPBIN "/sbin/portmap"
#define RPCBINDBIN "/sbin/rpcbind"
+#define RPCSTATDBIN "/usr/sbin/rpc.statd"
#define NTFSRESIZEBIN "/usr/sbin/ntfsresize"
#define XFSGROWFSBIN "/usr/sbin/xfs_growfs"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.25.11/storage/SystemInfo/CmdBlkid.cc new/libstorage-2.25.12/storage/SystemInfo/CmdBlkid.cc
--- old/libstorage-2.25.11/storage/SystemInfo/CmdBlkid.cc 2014-03-19 11:11:26.000000000 +0100
+++ new/libstorage-2.25.12/storage/SystemInfo/CmdBlkid.cc 2014-04-14 10:23:54.000000000 +0200
@@ -110,17 +110,6 @@
}
}
- i = m.find("SEC_TYPE");
- if (i != m.end())
- {
- map<string, FsType>::const_iterator it2 = fs_table.find(i->second);
- if (it2 != fs_table.end())
- {
- entry.is_fs = true;
- entry.fs_type = it2->second;
- }
- }
-
if (entry.is_fs)
{
i = m.find("UUID");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.25.11/storage/gen_md5sum.cc new/libstorage-2.25.12/storage/gen_md5sum.cc
--- old/libstorage-2.25.11/storage/gen_md5sum.cc 2014-04-08 14:05:38.000000000 +0200
+++ new/libstorage-2.25.12/storage/gen_md5sum.cc 2014-04-22 14:12:26.000000000 +0200
@@ -1,5 +1,5 @@
-#define SOURCES_MD5SUM "277120fc472f2cc939a01a797317df12"
-#define SOURCES_MD5_DATE " Tue 8 Apr 14:05:38 CEST 2014 "
+#define SOURCES_MD5SUM "ce93c2502ebd3b2b7021850a607862fa"
+#define SOURCES_MD5_DATE " Tue 22 Apr 14:12:26 CEST 2014 "
namespace storage
{
const char* GetSourceMd5() { return SOURCES_MD5SUM; }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.25.11/testsuite/single.out/blkid.out new/libstorage-2.25.12/testsuite/single.out/blkid.out
--- old/libstorage-2.25.11/testsuite/single.out/blkid.out 2014-03-19 11:11:26.000000000 +0100
+++ new/libstorage-2.25.12/testsuite/single.out/blkid.out 2014-04-14 10:23:54.000000000 +0200
@@ -16,5 +16,5 @@
data[/dev/sda2] -> is_luks:true luks_uuid:f98def5a-6553-49a1-940d-df55a77d7d28
parse3
-data[/dev/dasda1] -> is_fs:true fs_type:ext2 fs_uuid:ab43b144-37e2-4e9c-8369-6df220f055b0
+data[/dev/dasda1] -> is_fs:true fs_type:ext4 fs_uuid:ab43b144-37e2-4e9c-8369-6df220f055b0
--
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 yast2-pkg-bindings for openSUSE:Factory checked in at 2014-04-26 11:45:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-pkg-bindings (Old)
and /work/SRC/openSUSE:Factory/.yast2-pkg-bindings.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-pkg-bindings"
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-pkg-bindings/yast2-pkg-bindings.changes 2014-04-13 13:13:07.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-pkg-bindings.new/yast2-pkg-bindings.changes 2014-04-26 11:45:15.000000000 +0200
@@ -1,0 +2,14 @@
+Tue Apr 22 12:40:55 UTC 2014 - lslezak(a)suse.cz
+
+- remeber the base product NVRA (instead of the zypp product
+ reference which might be invalidated) to properly create the
+ /etc/products.d/baseproduct symlink (bnc#873885)
+- 3.1.9
+
+-------------------------------------------------------------------
+Tue Apr 15 14:48:45 UTC 2014 - lslezak(a)suse.cz
+
+- fixed repeated service save problem (bnc#873198, bnc#873683#c7)
+- 3.1.8
+
+-------------------------------------------------------------------
Old:
----
yast2-pkg-bindings-3.1.7.tar.bz2
New:
----
yast2-pkg-bindings-3.1.9.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-pkg-bindings-devel-doc.spec ++++++
--- /var/tmp/diff_new_pack.1PdtvQ/_old 2014-04-26 11:45:16.000000000 +0200
+++ /var/tmp/diff_new_pack.1PdtvQ/_new 2014-04-26 11:45:16.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-pkg-bindings-devel-doc
-Version: 3.1.7
+Version: 3.1.9
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source0: yast2-pkg-bindings-%{version}.tar.bz2
++++++ yast2-pkg-bindings.spec ++++++
--- /var/tmp/diff_new_pack.1PdtvQ/_old 2014-04-26 11:45:16.000000000 +0200
+++ /var/tmp/diff_new_pack.1PdtvQ/_new 2014-04-26 11:45:16.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-pkg-bindings
-Version: 3.1.7
+Version: 3.1.9
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
++++++ yast2-pkg-bindings-3.1.7.tar.bz2 -> yast2-pkg-bindings-3.1.9.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-3.1.7/package/yast2-pkg-bindings-devel-doc.spec new/yast2-pkg-bindings-3.1.9/package/yast2-pkg-bindings-devel-doc.spec
--- old/yast2-pkg-bindings-3.1.7/package/yast2-pkg-bindings-devel-doc.spec 2014-04-02 20:25:49.000000000 +0200
+++ new/yast2-pkg-bindings-3.1.9/package/yast2-pkg-bindings-devel-doc.spec 2014-04-22 16:21:42.000000000 +0200
@@ -16,7 +16,7 @@
#
Name: yast2-pkg-bindings-devel-doc
-Version: 3.1.7
+Version: 3.1.9
Release: 0
License: GPL-2.0
Group: Documentation/HTML
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-3.1.7/package/yast2-pkg-bindings.changes new/yast2-pkg-bindings-3.1.9/package/yast2-pkg-bindings.changes
--- old/yast2-pkg-bindings-3.1.7/package/yast2-pkg-bindings.changes 2014-04-02 20:25:49.000000000 +0200
+++ new/yast2-pkg-bindings-3.1.9/package/yast2-pkg-bindings.changes 2014-04-22 16:21:42.000000000 +0200
@@ -1,4 +1,18 @@
-------------------------------------------------------------------
+Tue Apr 22 12:40:55 UTC 2014 - lslezak(a)suse.cz
+
+- remeber the base product NVRA (instead of the zypp product
+ reference which might be invalidated) to properly create the
+ /etc/products.d/baseproduct symlink (bnc#873885)
+- 3.1.9
+
+-------------------------------------------------------------------
+Tue Apr 15 14:48:45 UTC 2014 - lslezak(a)suse.cz
+
+- fixed repeated service save problem (bnc#873198, bnc#873683#c7)
+- 3.1.8
+
+-------------------------------------------------------------------
Wed Apr 2 15:11:58 UTC 2014 - lslezak(a)suse.cz
- properly initialize "autorefresh_skipped" attribute (leaving it
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-3.1.7/package/yast2-pkg-bindings.spec new/yast2-pkg-bindings-3.1.9/package/yast2-pkg-bindings.spec
--- old/yast2-pkg-bindings-3.1.7/package/yast2-pkg-bindings.spec 2014-04-02 20:25:49.000000000 +0200
+++ new/yast2-pkg-bindings-3.1.9/package/yast2-pkg-bindings.spec 2014-04-22 16:21:42.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-pkg-bindings
-Version: 3.1.7
+Version: 3.1.9
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-3.1.7/src/BaseProduct.cc new/yast2-pkg-bindings-3.1.9/src/BaseProduct.cc
--- old/yast2-pkg-bindings-3.1.7/src/BaseProduct.cc 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-pkg-bindings-3.1.9/src/BaseProduct.cc 2014-04-22 16:21:42.000000000 +0200
@@ -0,0 +1,22 @@
+/*
+ * File: BaseProduct.cc
+ * Author: lslezak(a)suse.cz
+ *
+ */
+
+#include "BaseProduct.h"
+
+BaseProduct::BaseProduct(
+ const std::string& product_name,
+ const zypp::Edition& product_edition,
+ const zypp::Arch& product_arch,
+ const std::string& source_repo_alias
+) :
+ name(product_name),
+ edition(product_edition),
+ arch(product_arch),
+ repo_alias(source_repo_alias)
+{
+}
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-3.1.7/src/BaseProduct.h new/yast2-pkg-bindings-3.1.9/src/BaseProduct.h
--- old/yast2-pkg-bindings-3.1.7/src/BaseProduct.h 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-pkg-bindings-3.1.9/src/BaseProduct.h 2014-04-22 16:21:42.000000000 +0200
@@ -0,0 +1,37 @@
+/*
+ * File: BaseProduct.h
+ * Author: lslezak(a)suse.cz
+ *
+ * Remember the attributes of the base product for creating the
+ * /etc/products.d/baseproduct symlink.
+ *
+ * (Note: zypp::Product reference cannot be used as it might be invalidated
+ * after adding/removing repositories or at target reload after commit.)
+ */
+
+#ifndef BASEPRODUCT_H
+#define BASEPRODUCT_H
+
+#include <string>
+#include <zypp/Edition.h>
+#include <zypp/Arch.h>
+
+class BaseProduct {
+
+public:
+ BaseProduct(
+ const std::string& product_name,
+ const zypp::Edition& product_edition,
+ const zypp::Arch& product_arch,
+ const std::string& source_repo_alias
+ );
+
+ std::string name;
+ // zypp::Edition contains both version and release
+ zypp::Edition edition;
+ zypp::Arch arch;
+ std::string repo_alias;
+};
+
+#endif /* BASEPRODUCT_H */
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-3.1.7/src/Makefile.am new/yast2-pkg-bindings-3.1.9/src/Makefile.am
--- old/yast2-pkg-bindings-3.1.7/src/Makefile.am 2014-04-02 20:25:49.000000000 +0200
+++ new/yast2-pkg-bindings-3.1.9/src/Makefile.am 2014-04-22 16:21:42.000000000 +0200
@@ -53,6 +53,7 @@
ServiceManager.cc ServiceManager.h \
Service.cc \
Network.cc \
+ BaseProduct.h BaseProduct.cc \
HelpTexts.h i18n.h log.h
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-3.1.7/src/Package.cc new/yast2-pkg-bindings-3.1.9/src/Package.cc
--- old/yast2-pkg-bindings-3.1.7/src/Package.cc 2014-04-02 20:25:49.000000000 +0200
+++ new/yast2-pkg-bindings-3.1.9/src/Package.cc 2014-04-22 16:21:42.000000000 +0200
@@ -2643,6 +2643,53 @@
return MPS2YCPMap( ducounter.disk_usage( pkg ) );
}
+
+zypp::Product::constPtr PkgFunctions::FindInstalledBaseProduct()
+{
+ // access to the Pool of Selectables
+ zypp::ResPoolProxy selectablePool(zypp::ResPool::instance().proxy());
+
+ // iterate over zypp::Products
+ for_(product_it, selectablePool.byKindBegin<zypp::Product>(),
+ selectablePool.byKindEnd<zypp::Product>())
+ {
+ // search an installed product
+ for_(installed_product_it, (*product_it)->installedBegin(),
+ (*product_it)->installedEnd())
+ {
+ // get the resolvable
+ zypp::ResObject::constPtr res = *installed_product_it;
+
+ // check if NVRA matches the base product
+ if (res && res->name() == base_product->name &&
+ res->edition() == base_product->edition &&
+ res->arch() == base_product->arch)
+
+ {
+ zypp::Product::constPtr product =
+ boost::dynamic_pointer_cast<const zypp::Product>(res);
+
+ if (product)
+ {
+ y2milestone("Found installed base product: %s-%s-%s (%s)",
+ product->name().c_str(),
+ product->edition().asString().c_str(),
+ product->arch().asString().c_str(),
+ product->summary().c_str()
+ );
+
+ return product;
+ }
+ }
+ }
+ }
+
+ // matching installed product was not found
+ y2error("Cannot find the installed base product");
+
+ return NULL;
+}
+
// helper function - create a symbolic link to the created base product (by SourceCreateBase() function)
// returns 'true' on success
// see http://en.opensuse.org/Product_Management/Code11/installed
@@ -2653,7 +2700,10 @@
y2milestone("Creating symlink for the base product...");
// get the package
- zypp::sat::Solvable refsolvable = base_product->referencePackage();
+ zypp::Product::constPtr installed_product = FindInstalledBaseProduct();
+ if (!installed_product) return false;
+
+ zypp::sat::Solvable refsolvable = installed_product->referencePackage();
if (refsolvable != zypp::sat::Solvable::noSolvable)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-3.1.7/src/PkgFunctions.cc new/yast2-pkg-bindings-3.1.9/src/PkgFunctions.cc
--- old/yast2-pkg-bindings-3.1.7/src/PkgFunctions.cc 2014-04-02 20:25:49.000000000 +0200
+++ new/yast2-pkg-bindings-3.1.9/src/PkgFunctions.cc 2014-04-22 16:21:42.000000000 +0200
@@ -141,6 +141,7 @@
if (base_product)
{
+ delete base_product;
base_product = NULL;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-3.1.7/src/PkgFunctions.h new/yast2-pkg-bindings-3.1.9/src/PkgFunctions.h
--- old/yast2-pkg-bindings-3.1.7/src/PkgFunctions.h 2014-04-02 20:25:49.000000000 +0200
+++ new/yast2-pkg-bindings-3.1.9/src/PkgFunctions.h 2014-04-22 16:21:42.000000000 +0200
@@ -55,6 +55,7 @@
#include <i18n.h>
#include "ServiceManager.h"
+#include "BaseProduct.h"
#include "PkgError.h"
class PkgProgress;
@@ -160,7 +161,9 @@
bool aliasExists(const std::string &alias, const std::list<zypp::RepoInfo> &reps) const;
- zypp::Product::constPtr FindBaseProduct(const std::string &alias) const;
+ // remember the base product attributes for finding it later in
+ // the installed system
+ void RememberBaseProduct(const std::string &alias);
zypp::RepoManager* CreateRepoManager();
@@ -224,7 +227,7 @@
ServiceManager service_manager;
- zypp::Product::constPtr base_product;
+ BaseProduct* base_product;
std::vector<zypp::filesystem::TmpDir> tmp_dirs;
@@ -260,6 +263,9 @@
// helper for installing/removing/upgrading a resolvable
bool ResolvableUpdateInstallOrDelete(const YCPString& name_r, const YCPSymbol& kind_r, ResolvableAction action);
+ // it finds the resolvable using attributes saved earlier by RememberBaseProduct
+ zypp::Product::constPtr FindInstalledBaseProduct();
+
public:
// general
/* TYPEINFO: void(string) */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-3.1.7/src/PkgService.cc new/yast2-pkg-bindings-3.1.9/src/PkgService.cc
--- old/yast2-pkg-bindings-3.1.7/src/PkgService.cc 2014-04-02 20:25:49.000000000 +0200
+++ new/yast2-pkg-bindings-3.1.9/src/PkgService.cc 2014-04-16 11:31:36.000000000 +0200
@@ -54,3 +54,7 @@
return _old_alias;
}
+void PkgService::setOrigAlias(const std::string& orig_alias)
+{
+ _old_alias = orig_alias;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-3.1.7/src/PkgService.h new/yast2-pkg-bindings-3.1.9/src/PkgService.h
--- old/yast2-pkg-bindings-3.1.7/src/PkgService.h 2014-04-02 20:25:49.000000000 +0200
+++ new/yast2-pkg-bindings-3.1.9/src/PkgService.h 2014-04-16 11:31:36.000000000 +0200
@@ -40,6 +40,7 @@
std::string origAlias() const;
+ void setOrigAlias(const std::string& orig_alias);
private:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-3.1.7/src/ServiceManager.cc new/yast2-pkg-bindings-3.1.9/src/ServiceManager.cc
--- old/yast2-pkg-bindings-3.1.7/src/ServiceManager.cc 2014-04-02 20:25:49.000000000 +0200
+++ new/yast2-pkg-bindings-3.1.9/src/ServiceManager.cc 2014-04-16 11:31:36.000000000 +0200
@@ -53,7 +53,7 @@
}
}
-void ServiceManager::SaveServices(zypp::RepoManager &repomgr) const
+void ServiceManager::SaveServices(zypp::RepoManager &repomgr)
{
for_ (it, _known_services.begin(), _known_services.end())
{
@@ -75,9 +75,9 @@
}
}
-bool ServiceManager::SaveService(const std::string &alias, zypp::RepoManager &repomgr) const
+bool ServiceManager::SaveService(const std::string &alias, zypp::RepoManager &repomgr)
{
- PkgServices::const_iterator serv_it = _known_services.find(alias);
+ PkgServices::iterator serv_it = _known_services.find(alias);
if (serv_it == _known_services.end())
{
@@ -287,7 +287,7 @@
return _known_services.size();
}
-void ServiceManager::SavePkgService(const PkgService &s_known, zypp::RepoManager &repomgr) const
+void ServiceManager::SavePkgService(PkgService &s_known, zypp::RepoManager &repomgr) const
{
const std::string alias(s_known.alias());
const zypp::ServiceInfo s_stored = repomgr.getService(alias);
@@ -305,6 +305,8 @@
y2milestone("Adding new service %s", alias.c_str());
// add the service
repomgr.addService(s_known);
+ // set the old alias to properly save it next time
+ s_known.setOrigAlias(alias);
}
else
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-3.1.7/src/ServiceManager.h new/yast2-pkg-bindings-3.1.9/src/ServiceManager.h
--- old/yast2-pkg-bindings-3.1.7/src/ServiceManager.h 2014-04-02 20:25:49.000000000 +0200
+++ new/yast2-pkg-bindings-3.1.9/src/ServiceManager.h 2014-04-16 11:31:36.000000000 +0200
@@ -42,9 +42,9 @@
void LoadServices(const zypp::RepoManager &repomgr);
- void SaveServices(zypp::RepoManager &repomgr) const;
+ void SaveServices(zypp::RepoManager &repomgr);
- bool SaveService(const std::string &alias, zypp::RepoManager &repomgr) const;
+ bool SaveService(const std::string &alias, zypp::RepoManager &repomgr);
bool AddService(const std::string &alias, const std::string &url);
@@ -70,7 +70,7 @@
private:
// internal helper method
- void SavePkgService(const PkgService &s_known, zypp::RepoManager &repomgr) const;
+ void SavePkgService(PkgService &s_known, zypp::RepoManager &repomgr) const;
// current alias -> PkgService for convenient search by alias
typedef std::map<std::string, PkgService> PkgServices;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-3.1.7/src/Source_Create.cc new/yast2-pkg-bindings-3.1.9/src/Source_Create.cc
--- old/yast2-pkg-bindings-3.1.7/src/Source_Create.cc 2014-04-02 20:25:49.000000000 +0200
+++ new/yast2-pkg-bindings-3.1.9/src/Source_Create.cc 2014-04-22 16:21:42.000000000 +0200
@@ -674,7 +674,7 @@
if (base && !base_product)
{
y2milestone("Searching a base product...");
- base_product = FindBaseProduct(repo->repoInfo().alias());
+ RememberBaseProduct(repo->repoInfo().alias());
}
}
catch ( const zypp::Exception& excpt)
@@ -709,7 +709,7 @@
if (base && !base_product)
{
y2milestone("Searching the base product...");
- base_product = FindBaseProduct(repo->repoInfo().alias());
+ RememberBaseProduct(repo->repoInfo().alias());
}
}
}
@@ -872,10 +872,8 @@
return ret;
}
-zypp::Product::constPtr PkgFunctions::FindBaseProduct(const std::string &alias) const
+void PkgFunctions::RememberBaseProduct(const std::string &alias)
{
- zypp::Product::constPtr product = NULL;
-
// access to the Pool of Selectables
zypp::ResPoolProxy selectablePool(zypp::ResPool::instance().proxy());
@@ -891,35 +889,28 @@
// check the repository
if (res && res->repoInfo().alias() == alias)
{
- product = boost::dynamic_pointer_cast<const zypp::Product>(res);
+ zypp::Product::constPtr product = boost::dynamic_pointer_cast<const zypp::Product>(res);
if (product)
{
- break;
+ y2milestone("Found base product: %s-%s-%s (%s)",
+ product->name().c_str(),
+ product->edition().asString().c_str(),
+ product->arch().asString().c_str(),
+ product->summary().c_str()
+ );
+
+ base_product = new BaseProduct(
+ product->name(),
+ product->edition(),
+ product->arch(),
+ alias
+ );
}
}
}
-
- if (product)
- {
- break;
- }
}
// no product in the pool
- if (!product)
- {
- y2error("No base product has been found");
- }
- else
- {
- y2milestone("Found base product: %s %s (%s-%s)",
- product->summary().c_str(),
- product->edition().asString().c_str(),
- product->name().c_str(),
- product->edition().asString().c_str()
- );
- }
-
- return product;
+ y2error("No base product has been found");
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-3.1.7/src/Source_Set.cc new/yast2-pkg-bindings-3.1.9/src/Source_Set.cc
--- old/yast2-pkg-bindings-3.1.7/src/Source_Set.cc 2014-04-02 20:25:49.000000000 +0200
+++ new/yast2-pkg-bindings-3.1.9/src/Source_Set.cc 2014-04-22 16:21:42.000000000 +0200
@@ -374,9 +374,10 @@
repo->setDeleted();
// removing the base product repository?
- if (base_product && base_product->repoInfo().alias() == repo_alias)
+ if (base_product && base_product->repo_alias == repo_alias)
{
y2warning("Resetting the base product, the base product repository has been removed");
+ delete base_product;
base_product = NULL;
}
}
--
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 yast2-ruby-bindings for openSUSE:Factory checked in at 2014-04-26 11:45:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-ruby-bindings (Old)
and /work/SRC/openSUSE:Factory/.yast2-ruby-bindings.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-ruby-bindings"
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-ruby-bindings/yast2-ruby-bindings.changes 2014-03-21 12:14:08.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.yast2-ruby-bindings.new/yast2-ruby-bindings.changes 2014-04-26 11:45:13.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Apr 22 09:31:18 UTC 2014 - jreidinger(a)suse.com
+
+- Fix hang out of YaST2 in Turkish locale(bnc#852242)
+- 3.1.16
+
+-------------------------------------------------------------------
Old:
----
yast2-ruby-bindings-3.1.15.tar.bz2
New:
----
yast2-ruby-bindings-3.1.16.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-ruby-bindings.spec ++++++
--- /var/tmp/diff_new_pack.rW18w5/_old 2014-04-26 11:45:15.000000000 +0200
+++ /var/tmp/diff_new_pack.rW18w5/_new 2014-04-26 11:45:15.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-ruby-bindings
-Version: 3.1.15
+Version: 3.1.16
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source0: yast2-ruby-bindings-%{version}.tar.bz2
++++++ yast2-ruby-bindings-3.1.15.tar.bz2 -> yast2-ruby-bindings-3.1.16.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ruby-bindings-3.1.15/package/yast2-ruby-bindings.changes new/yast2-ruby-bindings-3.1.16/package/yast2-ruby-bindings.changes
--- old/yast2-ruby-bindings-3.1.15/package/yast2-ruby-bindings.changes 2014-03-14 20:50:36.000000000 +0100
+++ new/yast2-ruby-bindings-3.1.16/package/yast2-ruby-bindings.changes 2014-04-22 14:36:42.000000000 +0200
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Tue Apr 22 09:31:18 UTC 2014 - jreidinger(a)suse.com
+
+- Fix hang out of YaST2 in Turkish locale(bnc#852242)
+- 3.1.16
+
+-------------------------------------------------------------------
Fri Mar 14 15:33:30 UTC 2014 - mvidner(a)suse.com
- Show the caller in the Internal error popup.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ruby-bindings-3.1.15/package/yast2-ruby-bindings.spec new/yast2-ruby-bindings-3.1.16/package/yast2-ruby-bindings.spec
--- old/yast2-ruby-bindings-3.1.15/package/yast2-ruby-bindings.spec 2014-03-14 20:50:36.000000000 +0100
+++ new/yast2-ruby-bindings-3.1.16/package/yast2-ruby-bindings.spec 2014-04-22 14:36:42.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-ruby-bindings
-Version: 3.1.15
+Version: 3.1.16
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source0: yast2-ruby-bindings-%{version}.tar.bz2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ruby-bindings-3.1.15/src/binary/Y2RubyComponent.cc new/yast2-ruby-bindings-3.1.16/src/binary/Y2RubyComponent.cc
--- old/yast2-ruby-bindings-3.1.15/src/binary/Y2RubyComponent.cc 2014-03-14 20:50:36.000000000 +0100
+++ new/yast2-ruby-bindings-3.1.16/src/binary/Y2RubyComponent.cc 2014-04-22 14:36:42.000000000 +0200
@@ -94,6 +94,9 @@
size_t size = res.size();
if (size==0)
return res;
+ // convert always in C locale (bnc#852242)
+ char *old_locale = strdup(setlocale(LC_ALL, NULL));
+ setlocale(LC_ALL, "C");
res[0] = tolower(res[0]);
//first character and first char after :: is lowercase without underscore
for(size_t i = res.find("::"); i!= string::npos; i = res.find("::",i+1))
@@ -111,5 +114,7 @@
res.replace(i,1,tmp); //replace upper by _lower
}
}
+ setlocale(LC_ALL, old_locale);
+ free(old_locale);
return res;
}
--
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 perl-Bootloader for openSUSE:Factory checked in at 2014-04-26 11:45:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Bootloader (Old)
and /work/SRC/openSUSE:Factory/.perl-Bootloader.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Bootloader"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Bootloader/perl-Bootloader.changes 2014-04-13 13:13:17.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Bootloader.new/perl-Bootloader.changes 2014-04-26 11:45:12.000000000 +0200
@@ -1,0 +2,7 @@
+Tue Apr 22 07:33:01 UTC 2014 - mchang(a)suse.com
+
+- enable btrfs snapshot booting on ppc
+- remove suse_btrfs_grub2_install.sh as it's no longer used
+- 0.812
+
+-------------------------------------------------------------------
Old:
----
perl-Bootloader-0.811.tar.xz
New:
----
perl-Bootloader-0.812.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Bootloader.spec ++++++
--- /var/tmp/diff_new_pack.7pspqO/_old 2014-04-26 11:45:13.000000000 +0200
+++ /var/tmp/diff_new_pack.7pspqO/_new 2014-04-26 11:45:13.000000000 +0200
@@ -17,7 +17,7 @@
Name: perl-Bootloader
-Version: 0.811
+Version: 0.812
Release: 0
Requires: coreutils
Requires: e2fsprogs
++++++ perl-Bootloader-0.811.tar.xz -> perl-Bootloader-0.812.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/perl-Bootloader-0.811/perl-Bootloader.changes new/perl-Bootloader-0.812/perl-Bootloader.changes
--- old/perl-Bootloader-0.811/perl-Bootloader.changes 2014-04-10 11:12:33.000000000 +0200
+++ new/perl-Bootloader-0.812/perl-Bootloader.changes 2014-04-22 11:43:36.000000000 +0200
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Tue Apr 22 07:33:01 UTC 2014 - mchang(a)suse.com
+
+- enable btrfs snapshot booting on ppc
+- remove suse_btrfs_grub2_install.sh as it's no longer used
+- 0.812
+
+-------------------------------------------------------------------
Wed Apr 9 15:06:33 CEST 2014 - snwint(a)suse.de
- drop old log /var/log/YaST2/perl-BL-standalone-log
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/perl-Bootloader-0.811/src/Core/GRUB2.pm new/perl-Bootloader-0.812/src/Core/GRUB2.pm
--- old/perl-Bootloader-0.811/src/Core/GRUB2.pm 2014-04-10 11:12:33.000000000 +0200
+++ new/perl-Bootloader-0.812/src/Core/GRUB2.pm 2014-04-22 11:43:36.000000000 +0200
@@ -979,7 +979,7 @@
my $suse_btrfs = delete $globinfo{"suse_btrfs"} || "";
# per default enable btrfs snapshot boot configs only on i386-pc
# other architectures (s390, ppc) are planned but not ready
- if ($suse_btrfs eq "" and $self->{'target'} eq "i386-pc") {
+ if ($suse_btrfs eq "" and $self->{'target'} =~ /(i386-pc|powerpc-ieee1275)/) {
$suse_btrfs = "true";
}
# $root = " root=$root" if $root ne "";
@@ -1341,20 +1341,6 @@
next;
}
- if ($glob{suse_btrfs} eq "true" and -e "/usr/sbin/suse_btrfs_grub2_install.sh") {
- # enable btrfs snapshot boot configs only on i386-pc
- # other architectures (s390, ppc) are planned but not ready
- if ($self->{'target'} eq "i386-pc") {
- my $rootfs = qx(/usr/sbin/grub2-probe -t fs /);
- my $bootfs = qx(/usr/sbin/grub2-probe -t fs /boot);
- chomp $rootfs;
- chomp $bootfs;
- if ($rootfs eq "btrfs" and $bootfs eq "btrfs") {
- $cmd = "/usr/sbin/suse_btrfs_grub2_install.sh";
- }
- }
- }
-
my $ret = $self->RunCommand ("$cmd $opt");
return 0 if (0 != $ret);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/perl-Bootloader-0.811/src/Core/GRUB2EFI.pm new/perl-Bootloader-0.812/src/Core/GRUB2EFI.pm
--- old/perl-Bootloader-0.811/src/Core/GRUB2EFI.pm 2014-04-10 11:12:33.000000000 +0200
+++ new/perl-Bootloader-0.812/src/Core/GRUB2EFI.pm 2014-04-22 11:43:36.000000000 +0200
@@ -911,14 +911,6 @@
if ($self->{secure_boot}) {
$opt = "--config-file=/boot/grub2/grub.cfg";
$cmd = "/usr/sbin/shim-install";
- } elsif ($glob{suse_btrfs} eq "true" and -e "/usr/sbin/suse_btrfs_grub2_install.sh") {
- my $rootfs = qx(/usr/sbin/grub2-probe -t fs /);
- my $bootfs = qx(/usr/sbin/grub2-probe -t fs /boot);
- chomp $rootfs;
- chomp $bootfs;
- if ($rootfs eq "btrfs" and $bootfs eq "btrfs") {
- $cmd = "/usr/sbin/suse_btrfs_grub2_install.sh";
- }
}
$ret = $self->RunCommand ("$cmd $opt");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/perl-Bootloader-0.811/version new/perl-Bootloader-0.812/version
--- old/perl-Bootloader-0.811/version 2014-04-10 11:12:33.000000000 +0200
+++ new/perl-Bootloader-0.812/version 2014-04-22 11:43:36.000000000 +0200
@@ -1 +1 @@
-0.811
+0.812
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0