YaST Development
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
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2000 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
November 2007
- 29 participants
- 43 discussions
05 Nov '07
Dňa Monday 05 November 2007 10:29:13 Benji Weber ste napísal:
> On 05/11/2007, Stanislav Visnovsky <visnov(a)suse.cz> wrote:
> > Wow. Is this an actual code?
>
> Yes, but I modified PackageCallbacks which will break a lot of things.
> I was going to create a new EmbeddableCallbacks or something that can
> be used alongside.
Cool! I'd suggest to create an experimental branch so everyone can try it out,
maybe also using buildservice to get the packages.
This is definitely very interesting!
Stano
--
To unsubscribe, e-mail: yast-devel+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-devel+help(a)opensuse.org
1
0
Hi,
It's just a time for digging our skeletons out of the code! I've done a
simple `grep` for 'hacks' and 'ugliness' in our code. File is attached.
Please, try to remove hacks if possible and next time, try to even avoid
implementing 'hacks' ;) (because I'd find them again) ;)
I have to admit that my `simple grep` for these skeletons is not 100%
correct, not even 90%, there are several false-positive matches. Anyway,
it shows that there are several pieces of code that really need
rewriting for openSUSE 11.0.
Thanks & Bye
Lukas
--
Lukas Ocilka, YaST Developer (xn--luk-gla45d)
-----------------------------------------------------------------
SUSE LINUX, s. r. o., Lihovarska 1060/12, Praha 9, Czech Republic
add-on/src/add-on-workflow.ycp: // FIXME: this function is ugly
add-on/src/add-on-workflow.ycp: // a little hack because of packager leaving
autoinstallation/doc/web/xsl/myxref.xsl:<!-- specify a type attribute for the anchor. The dirty hack -->
autoinstallation/doc/misc/multiplesource-sa.dsl:;;Formal Paras are ugly by default!
autoinstallation/doc/autoyast.dsl:;;Formal Paras are ugly by default!
backup/src/functions.ycp: // chack if partition is now mounted
backup/src/ui.ycp: // "Renaming", Cron settings, It seems to be a hack }8->
bootloader/src/modules/BootCommon.ycp: // testsuite hack
bootloader/src/modules/BootELILO.ycp: // FIXME: UGLY HACK because of testsuites
bootloader/src/routines/misc.ycp:// UGHLY HACK because of testsuites
build-test/yast2-build-test.spec:- quick Beta hack: deleted macros from BuildRequires and insert
control-center-gnome/etc/Makefile.am:# hacks
core/agent-ini/src/IniFile.h: * @param rewrite a #19066 hack - if rewriting is active, .st accesses rewrite_by
core/agent-ini/src/IniFile.h: * @param rewrite a #19066 hack - if rewriting is active, .st accesses rewrite_by
core/agents-non-y2/ag_hostnames: #hack: not quoting $2 enables scanning for a particular version
core/agent-modules/src/ModulesConf.cc:/* Temporary hack, the whole parser should be reworked */
core/libycp/src/YCPDebugger.cc: // discarded, thus this must be the last check. Kind of ugly!
core/libycp/src/YBlock.cc: // HACK ahead: Y2ALLGLOBAL should make all
core/libycp/src/YCPBuiltinTerm.cc:// not static to get seen by l_select hack
core/libyui/doc/FAQs/why-widget-labels-above-and-not-at-the-left.txt:account by every YCP hacker - everywhere, in each dialog.
core/libyui/doc/FAQs/notify-events.txt:how ui-ncurses behaves. It's up to the YCP hackers to decide wheter
core/libyui/doc/FAQs/notify-events.txt:something is sufficient or not. And it's up to the UI hackers to decide
core/libyui/doc/FAQs/notify-events.txt:in the next release. Come to an agreement among the YCP hackers and make
core/libyui/doc/FAQs/notify-events.txt:> in the next release. Come to an agreement among the YCP hackers and make
core/libyui/doc/html/index.html:to.</p><p><span class="i"><span class="b">Note:</span> This dialog looks extremely ugly - don't try
core/libyui/doc/html/UI-Events.html: hackers or users is pure coincidence and not intended. Ah yes, and
core/libyui/doc/html/examples/SelectionBox5.ycp: "Minimalistic selbox (rather ugly): ",
core/libyui/doc/YCP-UI-layout.xml: <para><emphasis role="i"><emphasis role="b">Note:</emphasis> This dialog looks extremely ugly - don't try
core/libyui/doc/YCP-UI-layout.html:<i><b>Note:</b> This dialog looks extremely ugly - don't try this at home, kids</i>
core/libyui/doc/events/event-intro.html:present or past YaST2 hackers or users is pure coincidence and not intended.
core/libyui/doc/events/event-intro.xml: hackers or users is pure coincidence and not intended. Ah yes, and
core/libyui/doc/examples/SelectionBox5.ycp: "Minimalistic selbox (rather ugly): ",
country/language/src/modules/Language.ycp: // FIXME ugly hack: see bug #47711
devtools/yxp/yxp.y:/* hack because of foreach . TODO move it there */
devtools/ydoc/src/ydoc2: # UGLY
devtools/yast2/check_ycp/doc/html/check_ycp_html-check.html: paragraphs. This just looks plain ugly, even more so if this results in
devtools/yast2/check_ycp/doc/html/check_ycp_emacs.html: If you are a real hardcore YCP hacker, you can even go so far and change the
devtools/yast2/check_ycp/doc/check_ycp.sgml:paragraphs. This just looks plain ugly, even more so if this results in
devtools/yast2/check_ycp/doc/check_ycp.sgml:If you are a real hardcore YCP hacker, you can even go so far and change the
devtools/yast2/check_ycp/doc/check_ycp-contents.xml: paragraphs. This just looks plain ugly, even more so if this results in
devtools/yast2/check_ycp/doc/check_ycp-contents.xml: If you are a real hardcore YCP hacker, you can even go so far and change the
devtools/yast2/check_ycp/check_ycp: # Hack: let's not check a 'module "Foo"' declaration, just uppercasing
devtools/ycpdoc/src/ycpdoc: # a hack to write a part of module index:
devtools/devtools/bin/y2autoconf:# "po" hacking: y2automake runs after us so "po" may not have Makefile.am yet
devtools/devtools/bin/y2automake:# Build hack:
devtools/devtools/admin/copyright/gpl/COPYING: `Gnomovision' (which makes passes at compilers) written by James Hacker.
dhcp-server/src/DhcpServer.pm: # FIXME temporary hack because of testsuite
dns-server/src/DnsZones.pm:# This function is a light hack fo NSUPDATE.
dns-server/src/DnsZones.pm:# This light hack is here because nsupdate needs at least one NS record working for it's updates
dns-server/src/DnsFakeTabs.ycp:// Dirty hack for tabs in YCP until the widget implementation is ready
firewall/src/dialogs.ycp: // hack function for disabling BackButon
firstboot/configure.in.in:## Nasty hack: xgettext doesn't work for XML files, so let's symlink it
ftp-server/src/dialogs.ycp: * special hack widget where is handlig disable back button
ftp-server/src/dialogs.ycp: * special hack widget where is handlig Start/Stop button
gtk/src/ygtkcellrendererarrow.c: // a bit ugly, but let's use a cycle here to avoid calling a function
gtk/src/YGPackageSelector.cc: // the plain list; hacky anyway
gtk/src/YGPackageSelector.cc: // select path, so the buttons get updated and all (hacky)
gtk/src/ygtksteps.c: // ugly -- should use gtk_widget_queue_draw_area (widget, x, y, w, h)
gtk/src/ygtksteps.h: TODO: the PangoLayout usage is getting a bit hacky. We may want to
gtk/src/YGUtils.cc: // (if you think this is ugly, just wait for the Perl version! :P)
gtk/TODO: We could hack this through if we had stock images support (may depend
gtk/README: A code overview is given on the HACKING file.
gtk/configure.in:Hello hacker: please read the README carefully while this builds.
gtk/test.sh:echo "Hackish script to run a ton of yast2-gtk test that we know"
gtk/HACKING: hackish. Attempts at abstracting this were successful, but not
gtk/configure.in.in:Hello hacker: please read the README carefully while this builds.
gtk/integrate/yast2: # FIXME: why the hack was this done? full screening something that
http-server/src/YaPI/HTTPDModules.pm: { option => "XBitHack", "context" => [ "Directory", "Server", "Virtual" ],
http-server/src/YaST/httpdUtils.pm: # this is a hack.
inetd/src/routines.ycp: // HACK:
inetd/src/dialogs.ycp: * BTW: This module should have been rewritten ages ago! No more hacking, please.
installation/configure.in:#argh hack
installation/configure.in.in:## Nasty hack: xgettext doesn't work for XML files, so let's symlink it
installation/configure.in.in:#argh hack
instserver/src/Instserver.ycp: // HACK: support sles8 too
ipsec/src/FreeSwanCerts.pm:# Quick and dirty hack to substitute some known fields of issuer DN to so
kerberos-server/src/KerberosServer.pm: if (!SCR->Write (".ldapserver.krb5ACLHack", "" ))
ldap/src/LdapServerAccess.pm:BEGIN {$TYPEINFO{AddSambaACLHack} = ["function",
ldap/src/LdapServerAccess.pm:sub AddSambaACLHack {
ldap/src/LdapServerAccess.pm: if (!SCR->Write (".ldapserver.sambaACLHack", $dn)) {
ldap-client/src/Ldap.ycp: // this is a hack
ldap-client/src/Ldap.ycp: // this is a hack
ldap-server/src/ldap-server_proposal.ycp: /* XXX: hack to resolve bug #44335:
ldap-server/agents/ag_ldapserver:# - lots of those ugly direct data accesses (like $section->{$opt_name}->[0]{dataref}{__internal}{filename} )
ldap-server/agents/ag_ldapserver: if( $path[0] eq 'sambaACLHack' ) {
ldap-server/agents/ag_ldapserver: summary => "DN missing in sambaACLHack",
ldap-server/agents/ag_ldapserver: return $class->sambaACLHack( $dn );
ldap-server/agents/ag_ldapserver: if( $path[0] eq 'krb5ACLHack' ) {
ldap-server/agents/ag_ldapserver: #summary => "DN missing in krb5ACLHack",
ldap-server/agents/ag_ldapserver: return $class->krb5ACLHack( $dn );
ldap-server/agents/ag_ldapserver: #FIXME: extremely ugly check to determine if the database entry is the one from slapd.conf.default
ldap-server/agents/ag_ldapserver:sub krb5ACLHack
ldap-server/agents/ag_ldapserver: y2debug("-> krb5ACLHack");
ldap-server/agents/ag_ldapserver: my $acl = "## Yast2 krb5 hack ACL\n";
ldap-server/agents/ag_ldapserver: $acl .= "## Yast2 krb5 hack ACL done\n";
ldap-server/agents/ag_ldapserver: # kick out old krb5 hack ACLs
ldap-server/agents/ag_ldapserver: next unless( $slapd[$i] =~ /^## Yast2 krb5 hack ACL/ );
ldap-server/agents/ag_ldapserver: } while( $slapd[++$i] !~ /^## Yast2 krb5 hack ACL done/ );
ldap-server/agents/ag_ldapserver:sub sambaACLHack {
ldap-server/agents/ag_ldapserver: y2debug("-> sambaACLHack");
ldap-server/agents/ag_ldapserver: my $acl = "## Yast2 samba hack ACL\n";
ldap-server/agents/ag_ldapserver: $acl .= "## Yast2 samba hack ACL done\n";
ldap-server/agents/ag_ldapserver: # kick out old samba hack ACLs
ldap-server/agents/ag_ldapserver: next unless( $slapd[$i] =~ /^## Yast2 samba hack ACL/ );
ldap-server/agents/ag_ldapserver: } while( $slapd[++$i] !~ /^## Yast2 samba hack ACL done/ );
liby2util/src/.deps/digest_bin-Digest.Po: /usr/include/openssl/e_os2.h /usr/include/openssl/symhacks.h \
liby2util/src/.deps/digest_bin-Digest.Po:/usr/include/openssl/symhacks.h:
liby2util/src/.deps/Digest.Plo: /usr/include/openssl/e_os2.h /usr/include/openssl/symhacks.h \
liby2util/src/.deps/Digest.Plo:/usr/include/openssl/symhacks.h:
live-installer/src/live-installer.ycp: // FIXME hack because of bootloader - libzypp does not contain product database
live-installer/configure.in.in:## Nasty hack: xgettext doesn't work for XML files, so let's symlink it
mail/users-plugin/UsersPluginMail.pm: # UGLY: Access the Namespace-Structure directly, as the access method lowercase the values
make.log:./../../src/inst_you.ycp: 50: Warning: Function Hack has no comment.
metapackage/COPYING: `Gnomovision' (which makes passes at compilers) written by James Hacker.
ncurses/src/ncursesw.h:/* The (char*) cast is to hack around missing const's */
ncurses/src/ncursesw.h:/* The (wchar*_t) cast is to hack around missing const's */
network/src/dsl/dialogs.ycp: // 0 is index to CreateWidgets... ugly
network/src/lan/address.ycp: // The combo is a hack to allow changing misdetected
network/src/modem/dialogs.ycp: // 0 is index to CreateWidgets... ugly
network/src/installation/inst_do_net_test.ycp: // ugly hack (see bug #42177)
network/src/installation/network/dsl/dialogs.ycp: // 0 is index to CreateWidgets... ugly
network/src/installation/network/lan/address.ycp: // The combo is a hack to allow changing misdetected
network/src/installation/network/modem/dialogs.ycp: // 0 is index to CreateWidgets... ugly
network/src/installation/network/provider/dialogs.ycp: * The SelectionBox "----" divider hack
network/src/installation/network/provider/dialogs.ycp:define any dividerHack(list provs, any prev) {
network/src/installation/network/provider/dialogs.ycp: provider = dividerHack(provs, prev);
network/src/modules/Lan.ycp: // if(!Arch::s390 ()) /* FIXME: Temporary hack until the detection is functional */
network/src/modules/network/dsl/dialogs.ycp: // 0 is index to CreateWidgets... ugly
network/src/modules/network/lan/address.ycp: // The combo is a hack to allow changing misdetected
network/src/modules/network/modem/dialogs.ycp: // 0 is index to CreateWidgets... ugly
network/src/modules/network/installation/inst_do_net_test.ycp: // ugly hack (see bug #42177)
network/src/modules/network/provider/dialogs.ycp: * The SelectionBox "----" divider hack
network/src/modules/network/provider/dialogs.ycp:define any dividerHack(list provs, any prev) {
network/src/modules/network/provider/dialogs.ycp: provider = dividerHack(provs, prev);
network/src/routines/dsl/dialogs.ycp: // 0 is index to CreateWidgets... ugly
network/src/routines/lan/address.ycp: // The combo is a hack to allow changing misdetected
network/src/routines/modem/dialogs.ycp: // 0 is index to CreateWidgets... ugly
network/src/routines/installation/inst_do_net_test.ycp: // ugly hack (see bug #42177)
network/src/routines/provider/dialogs.ycp: * The SelectionBox "----" divider hack
network/src/routines/provider/dialogs.ycp:define any dividerHack(list provs, any prev) {
network/src/routines/provider/dialogs.ycp: provider = dividerHack(provs, prev);
network/src/provider/dialogs.ycp: * The SelectionBox "----" divider hack
network/src/provider/dialogs.ycp:define any dividerHack(list provs, any prev) {
network/src/provider/dialogs.ycp: provider = dividerHack(provs, prev);
network/src/clients/network/dsl/dialogs.ycp: // 0 is index to CreateWidgets... ugly
network/src/clients/network/lan/address.ycp: // The combo is a hack to allow changing misdetected
network/src/clients/network/modem/dialogs.ycp: // 0 is index to CreateWidgets... ugly
network/src/clients/network/installation/inst_do_net_test.ycp: // ugly hack (see bug #42177)
network/src/clients/network/provider/dialogs.ycp: * The SelectionBox "----" divider hack
network/src/clients/network/provider/dialogs.ycp:define any dividerHack(list provs, any prev) {
network/src/clients/network/provider/dialogs.ycp: provider = dividerHack(provs, prev);
nis-client/agents/ag_yp_conf: # a hack to make testing simple
nis-client/agents/ag_yp_conf: # a hack to make testing simple
ntp-client/src/misc.ycp:// FIXME this is quite ugly ... the whole checkinf if something was changed
online-update/src/inst_you.ycp: // I have a feeling that we may need a lot of hacks here
online-update/src/inst_you.ycp: boolean Hack (string what) {
online-update/src/inst_you.ycp: boolean hack = (SCR::Read (.target.size, "/tmp/hack-" + what) != -1);
online-update/src/inst_you.ycp: if (hack)
online-update/src/inst_you.ycp: y2milestone ("HACK: %1", what);
online-update/src/inst_you.ycp: return hack;
online-update/src/inst_you.ycp: if (after_restart || Hack ("init-target-and-sources"))
online-update/src/inst_you.ycp: Hack ("ui"))
online-update/yast2-online-update.spec.in: # remove the.desktop from the older unhacked package during update
packagemanager/src/inst/rpm/librpmDb.cv3.cc: /* HACK. Source RPM, so just do things differently */
packagemanager/src/inst/InstSrc.cc:// DESCRIPTION : Hack for adrian to enforce package
packagemanager/src/inst/InstSrc.cc: rememberPreviouslyDnlPackage( path_r ); // Hack not to keep more than one downloaded package
packagemanager/src/inst/InstSrc.cc:#warning Hack not to keep more than one downloaded package
packagemanager/src/inst/InstSrcDataUL.cc: // slideshow via ftp/http hack
packagemanager/src/inst/InstSrcManager.cc:#warning be friendly to slideshow hack
packagemanager/src/y2pm/InstTarget.h: * Hack to let InstTarget lookup required and conflicting file relations.
packagemanager/src/y2pm/RpmDb.h: * Hack to lookup required and conflicting file relations.
packagemanager/src/y2pm/PMSolvable.h: * Hack to let InstTarget lookup required and conflicting file relations.
packagemanager/src/PMManager_solver.cc:#warning hack for unknown file dependencies
packager/src/clients/inst_kickoff.ycp: // hack 'pre-req' cyclic dependency between bash, aaa_base, and perl
packager/src/clients/inst_kickoff.ycp: // hack 'pre-req' cyclic dependency between bash, aaa_base, and perl
packager/configure.in.in:## Nasty hack: xgettext doesn't work for XML files, so let's symlink it
pam/src/PamSettings.ycp: // FIXME temporary hack for backward compatibility
perl-bindings/doc/examples/Makefile.am.common:# this is a hacked up version of the thing that is in newer devtools
perl-bindings/src/YCP.cc: // this is a hack before the builtin namespaces get a uniform interface:
perl-bindings/src/YCP.cc: // maybe a special exceptional hack to make Path for the 1st argument?
perl-bindings/src/YCP.pm: # HACK:
pkg-bindings/src/Source.cc:// hack: zypp/MediaProducts.h cannot be included in PkgModuleFunctions.h
pkg-bindings/src/Source.cc: * (idempotence hack, broken design: #155459, #176013, use SourceSaveAll).
printer/agent-ppd/src/PPDdb.cc: /* Add special vendors hacks */
printer/agent-ppd/src/PPDdb.cc: * Preprocess the strings, apply hacks and update the db.
printer/agent-ppd/src/PPDdb.cc: /* special vendor/printer hacks */
product-creator/src/Kiwi.ycp: string cmd = sformat ("ZYPP_READONLY_HACK=1 kiwi --root %1 --prepare %2 --logfile terminal", chroot_dir, config_dir);
product-creator/src/Kiwi.ycp: cmd = sformat ("ZYPP_READONLY_HACK=1 kiwi --create %1 -d %2 --logfile terminal", chroot_dir, out_dir);
profile-manager/src/ProfileManager.ycp: if (position == "first") // hack: missing newline
qt/src/pkg/YQPkgConflictDialog.cc: // Here comes a real nasty hack.
qt/src/pkg/YQPkgPatternList.h: * be set >0 and rootItemDecorated( true ), but that would look very ugly
qt/src/YQUI_core.cc: // Ugly hack as a workaround of bug #121872 (Segfault at program exit
qt/src/YQCheckBoxFrame.h: * This is a nasty hack, but it prevents oversights from the Qt designers.
qt/src/YQCheckBoxFrame.cc: * This is a nasty hack. But it is necessary because QGroupBox handles its
qt/src/YQMenuButton.cc: * the 100 delay is a ugly dirty workaround
registration/src/clients/inst_suse_register.ycp:chacl * -x maptimeout,markkeys,maxwin,meta,monitor,msgminwait,msgwait,multiuser,nethack,next,nonblock
repair/doc/Research/Rescue/research/results/misc/wrong_library_path.html:never heard of this library (have you been hacked?). Do you have it?
repair/doc/Research/Rescue/research/results/misc/wrong_library_path.html:> never heard of this library (have you been hacked?). Do you have it?
repair/doc/Research/Rescue/research/results/login/index.html:<!-- <li><b>All logins fail, perhaps a hacker attack or partitions full:</b><br>
repair/doc/Research/Rescue/research/results/login/all_logins_fail.html:<font color=#6f6f6f face=arial,sans-serif size=-1><center><a href=/googlegroups/help.html>Click here</a> for information about upcoming improvements to this beta version of Google's Usenet search.</center></font><br><table width=100%% cellpadding=2 cellspacing=0 border=0><tr><td bgcolor=#009933 nowrap><font face=arial,sans-serif size=-1 color=white><b>Usenet Messages</b> from the thread "<b>HACKED ? All logins fail</b>" </font></td><td bgcolor=#009933 align=right nowrap><font face=arial,sans-serif size=-1 color=white>Messages <b>1 - 5</b> of <b>5</b>. </font></td></tr></table><br clear=all>
repair/doc/Research/Rescue/research/results/login/all_logins_fail.html:From: <a href=/groups?hl=de&lr=&safe=off&q=author:jdewitt%40broadcastzone.com+>jdewitt</a> (<a href=mailto:jdewitt%40broadcastzone.com>jdewitt(a)broadcastzone.com</a>)<br>Subject: HACKED ? All logins fail <br>Newsgroups: <a href=/groups?hl=de&lr=&safe=off&group=comp.os.linux.misc>comp.os.linux.misc</a><br>Date: 2000-10-18 10:10:29 PST
repair/doc/Research/Rescue/research/results/login/all_logins_fail.html:From: <a href=/groups?hl=de&lr=&safe=off&q=author:d9910739%40mail.connect.usq.edu.au+>Michael Westerman</a> (<a href=mailto:d9910739%40mail.connect.usq.edu.au>d9910739(a)mail.connect.usq.edu.au</a>)<br>Subject: Re: HACKED ? All logins fail <br>Newsgroups: <a href=/groups?hl=de&lr=&safe=off&group=comp.os.linux.misc>comp.os.linux.misc</a><br>Date: 2000-10-18 20:27:40 PST
repair/doc/Research/Rescue/research/results/login/all_logins_fail.html:From: <a href=/groups?hl=de&lr=&safe=off&q=author:ynotssor%40my-deja.com+>ynotssor(a)my-deja.com</a> (<a href=mailto:ynotssor%40my-deja.com>ynotssor(a)my-deja.com</a>)<br>Subject: Re: HACKED ? All logins fail <br>Newsgroups: <a href=/groups?hl=de&lr=&safe=off&group=comp.os.linux.misc>comp.os.linux.misc</a><br>Date: 2000-10-18 23:00:09 PST
repair/doc/Research/Rescue/research/results/login/all_logins_fail.html:Possibly hacked; it sounds symptomatic of
repair/doc/Research/Rescue/research/results/login/all_logins_fail.html:From: <a href=/groups?hl=de&lr=&safe=off&q=author:avflinsch%40att.net+>aflinsch</a> (<a href=mailto:avflinsch%40att.net>avflinsch(a)att.net</a>)<br>Subject: Re: HACKED ? All logins fail <br>Newsgroups: <a href=/groups?hl=de&lr=&safe=off&group=comp.os.linux.misc>comp.os.linux.misc</a><br>Date: 2000-10-19 11:39:58 PST
repair/doc/Research/Rescue/research/results/login/all_logins_fail.html:From: <a href=/groups?hl=de&lr=&safe=off&q=author:gregab%40NOS.PAM-gbsoft.org+>Grega Bremec</a> (<a href=mailto:gregab%40NOS.PAM-gbsoft.org>gregab(a)NOS.PAM-gbsoft.org</a>)<br>Subject: Re: HACKED ? All logins fail <br>Newsgroups: <a href=/groups?hl=de&lr=&safe=off&group=comp.os.linux.misc>comp.os.linux.misc</a><br>Date: 2000-10-19 13:43:03 PST
repair/doc/Research/Rescue/research/results/login/all_logins_fail.html:friends with hacked versions that send all of the attempted passwords
repair/doc/Research/Rescue/research/results/hardware/power_supply_problem.html:I've replaced this with a 1000uF, 16v from Radio Shack on both rev 1.0
repair/doc/Research/Rescue/research/results/hardware/cdrom_problem_2.html:From: <a href=/groups?hl=en&lr=&safe=off&q=author:thaal01%40cai.com+>Alan.J.Thackray</a> (<a href=mailto:thaal01%40cai.com>thaal01(a)cai.com</a>)<br>Subject: Re: CDROM Problem <br>Newsgroups: <a href=/groups?hl=en&lr=&safe=off&group=comp.os.linux.hardware>comp.os.linux.hardware</a><br>Date: 1999/02/24
repair/doc/Research/Rescue/research/results/kernel/modprobe_cant_locate_module.html:# Kernel hacking
repair/doc/Research/Rescue/research/results/rescue_disk/password_repair_via_rescue2.html:<pre><font>Help....I am running redhat 6.2 i386. I was hacked and my root password
repair/doc/Research/Rescue/research/results/rescue_disk/password_repair_via_rescue2.html:<font color="#660066"> >Help....I am running redhat 6.2 i386. I was hacked and my root password
repair/doc/Research/Rescue/research/results/rescue_disk/password_repair_via_rescue2.html:<font color="#007777">> >Help....I am running redhat 6.2 i386. I was hacked and my root password
repair/doc/Research/Rescue/research/results/rescue_disk/password_repair_via_rescue2.html:<font color="#990000">> > >Help....I am running redhat 6.2 i386. I was hacked and my root password
repair/doc/Research/Rescue/research/results/rescue_disk/password_repair_via_rescue2.html:<font color="#000099">> > > >Help....I am running redhat 6.2 i386. I was hacked and my root password
repair/doc/Research/Rescue/research/results/rescue_disk/password_repair_via_rescue2.html:<font color="#990000">> > >Help....I am running redhat 6.2 i386. I was hacked and my root password
ruby-bindings/src/ruby/YCP.cc: // this is a hack before the builtin namespaces get a uniform interface:
ruby-bindings/src/ruby/YCP.cc: // maybe a special exceptional hack to make Path for the 1st argument?
ruby-bindings/src/ruby/YCP.rb: # HACK:
samba-server/src/SambaBackendLDAP.pm: $ret = LdapServerAccess->AddSambaACLHack($admin_dn, 0);
samba-server/src/SambaBackendLDAP.pm: y2error("Samba ACL Hack failed");
scanner/src/Scanner.ycp: { // An ugly workaround for a strange problem (Suse/Novell Bugzilla bug #75709):
schema/scripts/collect.sh: # HACK: avoid creating a separate desktop file
security/src/Security.ycp: /* Local permissions hack */
sound/data/src/gen_opt_list.ycp: // FIXME this is hack for one current addon module... FIXME
sound/data/sndcards.ycp: "vaio_hack" : $[
sound/data/alsa-module-syntax:snd-nm256 vaio_hack enable:(enable),allows:{{0,Disabled},{1,Enabled}},default:0,dialog:check
sound/sound/src/routines.ycp: * (oss is nasty hacked, because it's not trivial to check this)
sound/sound/src/routines.ycp: define boolean nm256hack (string modname) ``{
sound/sound/src/routines.ycp: string warn_text = Sound::STRINGS["nm256hackWarning"]:"";
sound/sound/src/routines.ycp: // ppc hack - use snd-aoa instead of snd-powermac (#217300)
sound/sound/src/routines.ycp: * Hack for Thinkpad 600E notebook - it need cs4236 module instead of cs4610
sound/sound/src/routines.ycp: define void Thinkpad600E_cs4236_hack (integer card_id) ``{
sound/sound/src/write_routines.ycp: // this is a hack for snd-aoa driver, additional modules are needed (#217300)
sound/sound/src/texts.ycp: "nm256hackWarning":
sound/sound/src/texts.ycp:snd_vaio_hack option value to 1 or by
sound/sound/src/card_wizard.ycp: Thinkpad600E_cs4236_hack (card_id);
sound/sound/src/wizards.ycp: boolean nm256out = nm256hack (Sound::unconfigured_cards[0,"module"]:"");
storage/libstorage/bindings/ycp/LibStorage_wrap.cc:/* Note: SwigMagicFuncHack is a typedef used to get the C++ compiler to just shut up already */
storage/libstorage/bindings/ycp/LibStorage_wrap.cc:typedef int (CPerlObj::*SwigMagicFuncHack)(SV *, MAGIC *);
storage/libstorage/bindings/ycp/LibStorage_wrap.cc:typedef int (*SwigMagicFuncHack)(SV *, MAGIC *);
storage/libstorage/bindings/ycp/LibStorage_wrap.cc:typedef int (*SwigMagicFuncHack)(struct interpreter *, SV *, MAGIC *);
storage/libstorage/bindings/ycp/LibStorage_wrap.cc: mg->mg_virtual->svt_get = (SwigMagicFuncHack) get;
storage/libstorage/bindings/ycp/LibStorage_wrap.cc: mg->mg_virtual->svt_set = (SwigMagicFuncHack) set;
storage/libstorage/bindings/ycp/LibStorage_wrap.xml: <attribute name="code" value="/* ----------------------------------------------------------------------------- * perlrun.swg * * This file contains the runtime support for Perl modules * and includes code for managing global variables and pointer * type checking. * ----------------------------------------------------------------------------- */ #ifdef PERL_OBJECT #define SWIG_PERL_OBJECT_DECL CPerlObj *SWIGUNUSEDPARM(pPerl), #define SWIG_PERL_OBJECT_CALL pPerl, #else #define SWIG_PERL_OBJECT_DECL #define SWIG_PERL_OBJECT_CALL #endif /* Common SWIG API */ /* for raw pointers */ #define SWIG_ConvertPtr(obj, pp, type, flags) SWIG_Perl_ConvertPtr(SWIG_PERL_OBJECT_CALL obj, pp, type, flags) #define SWIG_NewPointerObj(p, type, flags) SWIG_Perl_NewPointerObj(SWIG_PERL_OBJECT_CALL p, type, flags) /* for raw packed data */ #define SWIG_ConvertPacked(obj, p, s, type) SWIG_Perl_ConvertPacked(SWIG_PERL_OBJECT_CALL obj, p, s, type) #define SWIG_NewPackedObj(p, s, type) SWIG_Perl_NewPackedObj(SWIG_PERL_OBJECT_CALL p, s, type) /* for class or struct pointers */ #define SWIG_ConvertInstance(obj, pptr, type, flags) SWIG_ConvertPtr(obj, pptr, type, flags) #define SWIG_NewInstanceObj(ptr, type, flags) SWIG_NewPointerObj(ptr, type, flags) /* for C or C++ function pointers */ #define SWIG_ConvertFunctionPtr(obj, pptr, type) SWIG_ConvertPtr(obj, pptr, type, 0) #define SWIG_NewFunctionPtrObj(ptr, type) SWIG_NewPointerObj(ptr, type, 0) /* for C++ member pointers, ie, member methods */ #define SWIG_ConvertMember(obj, ptr, sz, ty) SWIG_ConvertPacked(obj, ptr, sz, ty) #define SWIG_NewMemberObj(ptr, sz, type) SWIG_NewPackedObj(ptr, sz, type) /* Runtime API */ #define SWIG_GetModule(clientdata) SWIG_Perl_GetModule() #define SWIG_SetModule(clientdata, pointer) SWIG_Perl_SetModule(pointer) /* Error manipulation */ #define SWIG_ErrorType(code) SWIG_Perl_ErrorType(code) #define SWIG_Error(code, msg) sv_setpvf(GvSV(PL_errgv),"%s %s\\n", SWIG_ErrorType(code), msg) #define SWIG_fail goto fail /* Perl-specific SWIG API */ #define SWIG_MakePtr(sv, ptr, type, flags) SWIG_Perl_MakePtr(SWIG_PERL_OBJECT_CALL sv, ptr, type, flags) #define SWIG_MakePackedObj(sv, p, s, type) SWIG_Perl_MakePackedObj(SWIG_PERL_OBJECT_CALL sv, p, s, type) #define SWIG_SetError(str) SWIG_Error(SWIG_RuntimeError, str) #define SWIG_PERL_DECL_ARGS_1(arg1) (SWIG_PERL_OBJECT_DECL arg1) #define SWIG_PERL_CALL_ARGS_1(arg1) (SWIG_PERL_OBJECT_CALL arg1) #define SWIG_PERL_DECL_ARGS_2(arg1, arg2) (SWIG_PERL_OBJECT_DECL arg1, arg2) #define SWIG_PERL_CALL_ARGS_2(arg1, arg2) (SWIG_PERL_OBJECT_CALL arg1, arg2) /* ----------------------------------------------------------------------------- * pointers/data manipulation * ----------------------------------------------------------------------------- */ /* For backward compatibility only */ #define SWIG_POINTER_EXCEPTION 0 #ifdef __cplusplus extern "C" { #endif #define SWIG_OWNER SWIG_POINTER_OWN #define SWIG_SHADOW SWIG_OWNER << 1 #define SWIG_MAYBE_PERL_OBJECT SWIG_PERL_OBJECT_DECL /* SWIG Perl macros */ /* Macro to call an XS function */ #ifdef PERL_OBJECT # define SWIG_CALLXS(_name) _name(cv,pPerl) #else # ifndef MULTIPLICITY # define SWIG_CALLXS(_name) _name(cv) # else # define SWIG_CALLXS(_name) _name(PERL_GET_THX, cv) # endif #endif /* Note: SwigMagicFuncHack is a typedef used to get the C++ compiler to just shut up already */ #ifdef PERL_OBJECT #define MAGIC_PPERL CPerlObj *pPerl = (CPerlObj *) this; typedef int (CPerlObj::*SwigMagicFunc)(SV *, MAGIC *); #ifdef __cplusplus extern "C" { #endif typedef int (CPerlObj::*SwigMagicFuncHack)(SV *, MAGIC *); #ifdef __cplusplus } #endif #define SWIG_MAGIC(a,b) (SV *a, MAGIC *b) #define SWIGCLASS_STATIC #else #define MAGIC_PPERL #define SWIGCLASS_STATIC static SWIGUNUSED #ifndef MULTIPLICITY #define SWIG_MAGIC(a,b) (SV *a, MAGIC *b) typedef int (*SwigMagicFunc)(SV *, MAGIC *); #ifdef __cplusplus extern "C" { #endif typedef int (*SwigMagicFuncHack)(SV *, MAGIC *); #ifdef __cplusplus } #endif #else #define SWIG_MAGIC(a,b) (struct interpreter *interp, SV *a, MAGIC *b) typedef int (*SwigMagicFunc)(struct interpreter *, SV *, MAGIC *); #ifdef __cplusplus extern "C" { #endif typedef int (*SwigMagicFuncHack)(struct interpreter *, SV *, MAGIC *); #ifdef __cplusplus } #endif #endif #endif /* Workaround for bug in perl 5.6.x croak and earlier */ #if (PERL_VERSION < 8) # ifdef PERL_OBJECT # define SWIG_croak_null() SWIG_Perl_croak_null(pPerl) static void SWIG_Perl_croak_null(CPerlObj *pPerl) # else static void SWIG_croak_null() # endif { SV *err=ERRSV; # if (PERL_VERSION < 6) croak("%_", err); # else if (SvOK(err) && !SvROK(err)) croak("%_", err); croak(Nullch); # endif } #else # define SWIG_croak_null() croak(Nullch) #endif #include <stdlib.h> SWIGRUNTIME const char * SWIG_Perl_TypeProxyName(const swig_type_info *type) { if (!type) return NULL; if (type->clientdata != NULL) { return (const char*) type->clientdata; } else { return type->name; } } SWIGRUNTIME swig_cast_info * SWIG_TypeProxyCheck(const char *c, swig_type_info *ty) { SWIG_TypeCheck_Template(( (!iter->type->clientdata && (strcmp((char*)iter->type->name, c) == 0)) || (iter->type->clientdata && (strcmp((char*)iter->type->clientdata, c) == 0))), ty); } /* Function for getting a pointer value */ SWIGRUNTIME int SWIG_Perl_ConvertPtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void **ptr, swig_type_info *_t, int flags) { swig_cast_info *tc; void *voidptr = (void *)0; SV *tsv = 0; /* If magical, apply more magic */ if (SvGMAGICAL(sv)) mg_get(sv); /* Check to see if this is an object */ if (sv_isobject(sv)) { IV tmp = 0; tsv = (SV*) SvRV(sv); if ((SvTYPE(tsv) == SVt_PVHV)) { MAGIC *mg; if (SvMAGICAL(tsv)) { mg = mg_find(tsv,'P'); if (mg) { sv = mg->mg_obj; if (sv_isobject(sv)) { tsv = (SV*)SvRV(sv); tmp = SvIV(tsv); } } } else { return SWIG_ERROR; } } else { tmp = SvIV(tsv); } voidptr = INT2PTR(void *,tmp); } else if (! SvOK(sv)) { /* Check for undef */ *(ptr) = (void *) 0; return SWIG_OK; } else if (SvTYPE(sv) == SVt_RV) { /* Check for NULL pointer */ if (!SvROK(sv)) { *(ptr) = (void *) 0; return SWIG_OK; } else { return SWIG_ERROR; } } else { /* Don't know what it is */ return SWIG_ERROR; } if (_t) { /* Now see if the types match */ char *_c = HvNAME(SvSTASH(SvRV(sv))); tc = SWIG_TypeProxyCheck(_c,_t); if (!tc) { return SWIG_ERROR; } *ptr = SWIG_TypeCast(tc,voidptr); } else { *ptr = voidptr; } /* * DISOWN implementation: we need a perl guru to check this one. */ if (tsv && (flags & SWIG_POINTER_DISOWN)) { /* * almost copy paste code from below SWIG_POINTER_OWN setting */ SV *obj = sv; HV *stash = SvSTASH(SvRV(obj)); GV *gv = *(GV**) hv_fetch(stash, "OWNER", 5, TRUE); if (isGV(gv)) { HV *hv = GvHVn(gv); /* * To set ownership (see below), a newSViv(1) entry is added. * Hence, to remove ownership, we delete the entry. */ if (hv_exists_ent(hv, obj, 0)) { hv_delete_ent(hv, obj, 0, 0); } } } return SWIG_OK; } SWIGRUNTIME void SWIG_Perl_MakePtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, swig_type_info *t, int flags) { if (ptr && (flags & SWIG_SHADOW)) { SV *self; SV *obj=newSV(0); HV *hash=newHV(); HV *stash; sv_setref_pv(obj, (char *) SWIG_Perl_TypeProxyName(t), ptr); stash=SvSTASH(SvRV(obj)); if (flags & SWIG_POINTER_OWN) { HV *hv; GV *gv=*(GV**)hv_fetch(stash, "OWNER", 5, TRUE); if (!isGV(gv)) gv_init(gv, stash, "OWNER", 5, FALSE); hv=GvHVn(gv); hv_store_ent(hv, obj, newSViv(1), 0); } sv_magic((SV *)hash, (SV *)obj, 'P', Nullch, 0); SvREFCNT_dec(obj); self=newRV_noinc((SV *)hash); sv_setsv(sv, self); SvREFCNT_dec((SV *)self); sv_bless(sv, stash); } else { sv_setref_pv(sv, (char *) SWIG_Perl_TypeProxyName(t), ptr); } } SWIGRUNTIMEINLINE SV * SWIG_Perl_NewPointerObj(SWIG_MAYBE_PERL_OBJECT void *ptr, swig_type_info *t, int flags) { SV *result = sv_newmortal(); SWIG_MakePtr(result, ptr, t, flags); return result; } SWIGRUNTIME void SWIG_Perl_MakePackedObj(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, int sz, swig_type_info *type) { char result[1024]; char *r = result; if ((2*sz + 1 + strlen(SWIG_Perl_TypeProxyName(type))) > 1000) return; *(r++) = '_'; r = SWIG_PackData(r,ptr,sz); strcpy(r,SWIG_Perl_TypeProxyName(type)); sv_setpv(sv, result); } SWIGRUNTIME SV * SWIG_Perl_NewPackedObj(SWIG_MAYBE_PERL_OBJECT void *ptr, int sz, swig_type_info *type) { SV *result = sv_newmortal(); SWIG_Perl_MakePackedObj(result, ptr, sz, type); return result; } /* Convert a packed value value */ SWIGRUNTIME int SWIG_Perl_ConvertPacked(SWIG_MAYBE_PERL_OBJECT SV *obj, void *ptr, int sz, swig_type_info *ty) { swig_cast_info *tc; const char *c = 0; if ((!obj) || (!SvOK(obj))) return SWIG_ERROR; c = SvPV(obj, PL_na); /* Pointer values must start with leading underscore */ if (*c != '_') return SWIG_ERROR; c++; c = SWIG_UnpackData(c,ptr,sz); if (ty) { tc = SWIG_TypeCheck(c,ty); if (!tc) return SWIG_ERROR; } return SWIG_OK; } /* Macros for low-level exception handling */ #define SWIG_croak(x) { SWIG_Error(SWIG_RuntimeError, x); SWIG_fail; } typedef XS(SwigPerlWrapper); typedef SwigPerlWrapper *SwigPerlWrapperPtr; /* Structure for command table */ typedef struct { const char *name; SwigPerlWrapperPtr wrapper; } swig_command_info; /* Information for constant table */ #define SWIG_INT 1 #define SWIG_FLOAT 2 #define SWIG_STRING 3 #define SWIG_POINTER 4 #define SWIG_BINARY 5 /* Constant information structure */ typedef struct swig_constant_info { int type; const char *name; long lvalue; double dvalue; void *pvalue; swig_type_info **ptype; } swig_constant_info; /* Structure for variable table */ typedef struct { const char *name; SwigMagicFunc set; SwigMagicFunc get; swig_type_info **type; } swig_variable_info; /* Magic variable code */ #ifndef PERL_OBJECT #define swig_create_magic(s,a,b,c) _swig_create_magic(s,a,b,c) #ifndef MULTIPLICITY SWIGRUNTIME void _swig_create_magic(SV *sv, char *name, int (*set)(SV *, MAGIC *), int (*get)(SV *,MAGIC *)) #else SWIGRUNTIME void _swig_create_magic(SV *sv, char *name, int (*set)(struct interpreter*, SV *, MAGIC *), int (*get)(struct interpreter*, SV *,MAGIC *)) #endif #else # define swig_create_magic(s,a,b,c) _swig_create_magic(pPerl,s,a,b,c) SWIGRUNTIME void _swig_create_magic(CPerlObj *pPerl, SV *sv, const char *name, int (CPerlObj::*set)(SV *, MAGIC *), int (CPerlObj::*get)(SV *, MAGIC *)) #endif { MAGIC *mg; sv_magic(sv,sv,'U',(char *) name,strlen(name)); mg = mg_find(sv,'U'); mg->mg_virtual = (MGVTBL *) malloc(sizeof(MGVTBL)); mg->mg_virtual->svt_get = (SwigMagicFuncHack) get; mg->mg_virtual->svt_set = (SwigMagicFuncHack) set; mg->mg_virtual->svt_len = 0; mg->mg_virtual->svt_clear = 0; mg->mg_virtual->svt_free = 0; } SWIGRUNTIME swig_module_info * SWIG_Perl_GetModule(void) { static void *type_pointer = (void *)0; SV *pointer; /* first check if pointer already created */ if (!type_pointer) { pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, FALSE); if (pointer && SvOK(pointer)) { type_pointer = INT2PTR(swig_type_info **, SvIV(pointer)); } } return (swig_module_info *) type_pointer; } SWIGRUNTIME void SWIG_Perl_SetModule(swig_module_info *module) { SV *pointer; /* create a new pointer */ pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, TRUE); sv_setiv(pointer, PTR2IV(module)); } #ifdef __cplusplus } #endif " id="246" addr="fda04b30" />
storage/storage/src/inst_resize_ui.ycp: // Quick hack for now: define global variables that are
storage/storage/src/inst_resize_ui.ycp: // End quick hack
sysconfig/src/parse_configs.pl: # hack for /etc/sysconfig/network/ifcfg-* files
tune/idedma/src/hwinfo/SystemSettings.ycp: * I have to admit that this is very ugly but it is here
tune/idedma/src/hwinfo/routines.ycp: // haha, hack! we need to translate the 'modules' entry into some more readable form...
tune/idedma/src/hwinfo/system_settings_dialogs.ycp:// FIXME: temporary hack - disable serial console config
tune/idedma/src/hwinfo/system_settings_dialogs.ycp:// FIXME: temporary hack - disable serial line configuration
tune/idedma/src/hwinfo/system_settings_ui.ycp: * I have to admit that this is very ugly but it is here
tune/hwinfo/src/SystemSettings.ycp: * I have to admit that this is very ugly but it is here
tune/hwinfo/src/routines.ycp: // haha, hack! we need to translate the 'modules' entry into some more readable form...
tune/hwinfo/src/system_settings_dialogs.ycp:// FIXME: temporary hack - disable serial console config
tune/hwinfo/src/system_settings_dialogs.ycp:// FIXME: temporary hack - disable serial line configuration
tune/hwinfo/src/system_settings_ui.ycp: * I have to admit that this is very ugly but it is here
tv/src/Tv.ycp: // this is a hack for detected cards (see bug #24132)
tv/src/ui.ycp: // hack for ncurses selection (first card is selected as a default):
update/configure.in.in:## Nasty hack: xgettext doesn't work for XML files, so let's symlink it
users/src/Users.pm:# this is hacked a bit; there probably could be a case when more groups have
users/src/Users.pm: # hack: change of default group's gid
vm/configure.in.in:## Nasty hack: xgettext doesn't work for XML files, so let's symlink it
y2pmsh/src/instsrc.cc:/** this is a hack since y2pm does not allow updating sources. we remember the
yast2/scripts/yast2:# quick hack: treat gtk like qt
yast2/library/agents/ag_netd:# Testsuite hack:
yast2/library/agents/ag_netd: # A special hack - write known services/protocols to fd3
yast2/library/network/src/SuSEFirewall.ycp: // "any" for all zones, this is ugly
yast2/library/wizard/doc/Progress.html:<b>Q: Hey, it is ugly!</b><br>
yast2/library/wizard/doc/Progress.html:<b>Q: This progress bar is ugly and has terrible API. I will use my
yxmlconv/src/statements.rb:# after <do>, either <block> or a statement follow. Ugly.
yxmlconv/src/statements.rb:# And even <do> is optional. More ugly.
yxmlconv/src/statements.rb:# after <do>, either <block> or a statement follow. Ugly.
yxmlconv/src/statements.rb:# after <do>, either <block> or a statement follow. Ugly.
1
0
Hi,
All of you have definitely already written some testsuite for your YaST
module. That's right because writing testsuites (that are executed in
the RPM-build-time) can prevent from getting more bugreports later.
Anyway, sometimes there are some problems between chair and keyboard
that need a small hint from some other developer (Mvidner for today ;)).
Today's problem were constructors in imported modules. I was unable to
make testsuite pass even if everything seemed to be all right:
--- cut (shortened) ---
include "testsuite.ycp";
import "Bootloader";
map EXECUTE = $[ "target" : $[ "bash_output" : $[] ] ]
TESTSUITE_INIT ([READ, WRITE, EXECUTE], nil);
TEST (``(Bootloader::Read()), [READ, WRITE, EXECUTE], nil);
--- cut (shortened) ---
make check kept returning:
Encoding.ycp:33 Can't convert value '0' to type 'map'
Encoding.ycp:33 contains:
map m = (map) SCR::Execute( .target.bash_output, "locale -k charmap" );
So, has what helped?
Just moving the >import "Bootloader";< after >TESTSUITE_INIT< call.
--- cut (shortened) ---
include "testsuite.ycp";
map EXECUTE = $[ "target" : $[ "bash_output" : $[] ] ]
TESTSUITE_INIT ([READ, WRITE, EXECUTE], nil);
import "Bootloader";
TEST (``(Bootloader::Read()), [READ, WRITE, EXECUTE], nil);
--- cut (shortened) ---
That's all for now. Next time "How to make your computer implement
manager's FATE requests automagically -- Three steps to a better life".
Have a nice day
Lukas
--
Lukas Ocilka, YaST Developer (xn--luk-gla45d)
-----------------------------------------------------------------
SUSE LINUX, s. r. o., Lihovarska 1060/12, Praha 9, Czech Republic
2
3