# hpux-lib.pl # Functions for HP-UX package management sub list_package_system_commands { return ("swlist", "swinstall"); } # list_packages([package]*) # Fills the array %packages with all or listed packages sub list_packages { local($i, $name, $class, @contents, $products, $title_flag); $i = 0; $products = join(' ', @_); $name = ""; %packages = ( ); open(SW, "swlist -v -a title -a contents |"); while(<SW>) { s/#.*$//g; # bundles and unbundled products if (/^ (\S*)/) { $name = $1; $packages{$i,'name'} = $1; $packages{$i,'class'} = $1; } if (/^bundle/ || /^product/) { $title_flag = 1; } if (/^title\s+(.*)/ && $title_flag) { $packages{$i,'desc'} = $1; if ($products eq "" || (index $products,$name) ne -1) { $i++; } $title_flag = ""; } # bundled products if (/^contents\s+(.*)/) { @contents = split(/\./, $1); $packages{$i,'name'} = "$name.$contents[0]"; $packages{$i,'class'} = $name; if (($products eq "" || (index $products,"$contents[0]") ne -1) && $packages{$i,'name'} ne $packages{$i - 1,'name'} ) { $i++; } } } close(SW); return $i; } # package_info(package) # Returns an array of package information in the order # name, class, description, arch, version, vendor, installtime sub package_info { local(@name, $level, $name, $class, $desc, $arch, $version, $vendor, $date); $name = $_[0]; @name = split(/\./, $name); $class = $name[0]; open(SW, "swlist -l product -v -a vendor.title -a title -a revision -a architecture -a date $name | "); while(<SW>) { s/#.*$//g; if (/^date\s+(.*)/ && ($name[1] eq "" && $date eq "" || $name[1] ne "")) { $date = $1; } if (/^architecture\s+(.*)/ && ($name[1] eq "" && $arch eq "" || $name[1] ne "")) { $arch = $1; } if (/^revision\s+(.*)/ && ($name[1] eq "" && $version eq "" || $name[1] ne "")) { $version = $1; } if (/^vendor\.title\s+(.*)/ && ($name[1] eq "" && $vendor eq "" || $name[1] ne "")) { $vendor = $1; } if (/^title\s+(.*)/ && ($name[1] eq "" && $desc eq "" || $name[1] ne "")) { $desc = $1; } } close(SW); return ($name, $class, $desc, $arch, $version, $vendor, $date); } # is_package(file) # Check if some file is a package file sub is_package { local($out); $out = `swlist -s $_[0] 2>&1`; return $out !~ /ERROR: /; } # file_packages(file) # Returns a list of all packages in the given file, in the form # package description sub file_packages { local(@list); open(SW, "swlist -s $_[0] |"); while(<SW>) { s/#.*$//g; if (/^ (\S*)\s+(\S*)/) { push (@list, "$1 $2"); } } close(SW); return @list; } # install_options(file, package) # Outputs HTML for choosing install options for some package sub install_options { print &ui_table_row($text{'hpux_create_target_path'}, &ui_yesno_radio("create_target_path", 1)); print &ui_table_row($text{'hpux_mount_all_filesystems'}, &ui_yesno_radio("mount_all_filesystems", 1)); print &ui_table_row($text{'hpux_reinstall'}, &ui_yesno_radio("reinstall", 0)); print &ui_table_row($text{'hpux_reinstall_files'}, &ui_yesno_radio("reinstall_files", 1)); print &ui_table_row($text{'hpux_reinstall_files_use_cksum'}, &ui_yesno_radio("reinstall_files_use_cksum", 1)); print &ui_table_row($text{'hpux_allow_multiple_versions'}, &ui_yesno_radio("allow_multiple_versions", 0)); print &ui_table_row($text{'hpux_defer_configure'}, &ui_yesno_radio("defer_configure", 0)); print &ui_table_row($text{'hpux_autorecover_product'}, &ui_yesno_radio("autorecover_product", 0)); print &ui_table_row($text{'hpux_allow_downdate'}, &ui_yesno_radio("allow_downdate", 0)); print &ui_table_row($text{'hpux_allow_incompatible'}, &ui_yesno_radio("allow_incompatible", 0)); print &ui_table_row($text{'hpux_autoselect_dependencies'}, &ui_yesno_radio("autoselect_dependencies", 1)); print &ui_table_row($text{'hpux_enforce_dependencies'}, &ui_yesno_radio("enforce_dependencies", 1)); print &ui_table_row($text{'hpux_enforce_scripts'}, &ui_yesno_radio("enforce_scripts", 1)); print &ui_table_row($text{'hpux_enforce_dsa'}, &ui_yesno_radio("enforce_dsa", 1)); print &ui_table_row($text{'hpux_root'}, &ui_textbox("root", "/", 50)." ". &file_chooser_button("root", 1), 3); } # install_package(file, package) # Install the given package from the given file, using options from %in sub install_package { local $in = $_[2] ? $_[2] : \%in; foreach $o ('create_target_path', 'mount_all_filesystems', 'reinstall', 'reinstall_files', 'reinstall_files_use_cksum', 'allow_multiple_versions', 'defer_configure', 'autorecover_product', 'allow_downdate', 'allow_incompatible', 'autoselect_dependencies', 'enforce_dependencies', 'enforce_scripts', 'enforce_dsa') { if ($in->{$o}) { $opts .= " -x $o=true"; } else { $opts .= " -x $o=false"; } } if ($in->{'root'} =~ /^\/.+/) { if (!(-d $in->{'root'})) { return "Root directory '$in->{'root'}' does not exist"; } $opts .= " -r $in->{'root'}"; } $out = &backquote_logged("swinstall -s $_[0] $opts $_[1] 2>&1"); if ($?) { return "<pre>$out</pre>"; } return undef; } # check_files(package) # Fills in the %files array with information about the files belonging # to some package. sub check_files { local($i, $path); $i = -1; open(SW, "swlist -l file -v -a path -a owner -a group -a type -a link_source -a size $_[0] | "); while(<SW>) { s/#.*$//g; if (/^path\s+(.*)/) { $i++; $files{$i,'path'} = $1; $files{$i,'size'} = "-"; $files{$i,'user'} = "-"; $files{$i,'group'} = "-"; $files{$i,'link'} = ""; $path = $1; } if (/^owner\s+(.*)/ && $path ne "") { $files{$i,'user'} = $1; } if (/^group\s+(.*)/ && $path ne "") { $files{$i,'group'} = $1; } if (/^type\s+(.*)/ && $path ne "") { $files{$i,'type'} = $1 eq "f" ? 0 : $1 eq "d" ? 1 : $1 eq "s" ? 3 : $1 eq "h" ? 4 : -1; } if (/^link_source\s+(.*)/ && $path ne "") { $files{$i,'link'} = $1; } if (/^size\s+(.*)/ && $path ne "") { $files{$i,'size'} = $1; $path = ""; } $files{$i,'error'} = "\n"; } close(SW); return $i; } # installed_file(file) # Given a filename, fills %file with details of the given file and returns 1. # If the file is not known to the package system, returns 0 sub installed_file { local($path, $search, @tmp, $product, $product_flag, $path_flag); $search = $_[0]; open(SW, "swlist -l file -v -a path -a owner -a group -a type -a link_source -a mode -a size | "); while(<SW>) { # s/#.*$//g; if (/^product/) { $product_flag = 1; } if (/^# (\S*)/ && $product_flag) { @tmp = split(/\./, $1); $product = $tmp[0]; $product_flag = ""; } if (/^path\s+(.*)/) { if ($1 eq $search) { $file{'path'} = $1; $file{'size'} = "-"; $file{'user'} = "-"; $file{'mode'} = "-"; $file{'group'} = "-"; if ((index $file{'packages'},$product) eq -1) { $file{'packages'} = join(' ', $product, $file{'packages'}); } $path_flag = 1; } else { $path_flag = ""; } } if (/^owner\s+(.*)/ && $path_flag) { $file{'user'} = $1; } if (/^group\s+(.*)/ && $path_flag) { $file{'group'} = $1; } if (/^type\s+(.*)/ && $path_flag) { $file{'type'} = $1 eq "f" ? 0 : $1 eq "d" ? 1 : $1 eq "s" ? 3 : $1 eq "h" ? 4 : -1; } if (/^link_source\s+(.*)/ && $path_flag) { $file{'link'} = $1; } if (/^mode\s+(.*)/ && $path_flag) { $file{'mode'} = $1; } if (/^size\s+(.*)/ && $path_flag) { $file{'size'} = $1; } $file{'error'} = "\n"; } close(SW); if ($file{'packages'} ne "") { return 1; } else { undef(%file); return 0; } } # delete_package(package) # Attempt to remove some package sub delete_package { $out = &backquote_logged("swremove $_[0] 2>&1"); if ($out) { return "<pre>$out</pre>"; } return undef; } sub package_system { return "HP-UX SW"; } sub package_help { return "swinstall swlist swremove"; } 1;
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
help | Folder | 0755 |
|
|
images | Folder | 0755 |
|
|
lang | Folder | 0755 |
|
|
CHANGELOG | File | 2.82 KB | 0644 |
|
aix-lib.pl | File | 19.2 KB | 0755 |
|
apt-lib.pl | File | 14.09 KB | 0755 |
|
apt_upgrade.cgi | File | 1.97 KB | 0755 |
|
cgi_args.pl | File | 524 B | 0755 |
|
close.cgi | File | 263 B | 0755 |
|
config-aix | File | 30 B | 0644 |
|
config-cobalt-linux | File | 30 B | 0644 |
|
config-coherent-linux | File | 30 B | 0644 |
|
config-corel-linux | File | 33 B | 0644 |
|
config-cygwin | File | 33 B | 0644 |
|
config-debian-linux | File | 51 B | 0644 |
|
config-freebsd | File | 54 B | 0644 |
|
config-freebsd-8.4-ALL | File | 52 B | 0644 |
|
config-gentoo-linux | File | 33 B | 0644 |
|
config-hpux | File | 31 B | 0644 |
|
config-mandrake-linux | File | 30 B | 0644 |
|
config-msc-linux | File | 30 B | 0644 |
|
config-netbsd | File | 34 B | 0644 |
|
config-open-linux | File | 30 B | 0644 |
|
config-openSUSE-Linux-15.0-ALL | File | 30 B | 0644 |
|
config-openbsd | File | 34 B | 0644 |
|
config-openmamba-linux | File | 48 B | 0644 |
|
config-openserver | File | 33 B | 0644 |
|
config-redhat-linux | File | 48 B | 0644 |
|
config-slackware-linux | File | 36 B | 0644 |
|
config-solaris | File | 33 B | 0644 |
|
config-suse-linux | File | 30 B | 0644 |
|
config-syno-linux | File | 50 B | 0644 |
|
config-trustix-linux | File | 30 B | 0644 |
|
config-turbo-linux | File | 30 B | 0644 |
|
config-united-linux | File | 30 B | 0644 |
|
config-unixware | File | 33 B | 0644 |
|
config-windows | File | 30 B | 0644 |
|
config.info | File | 511 B | 0644 |
|
config.info.ca | File | 554 B | 0644 |
|
config.info.cs | File | 372 B | 0644 |
|
config.info.de | File | 523 B | 0644 |
|
config.info.es | File | 320 B | 0644 |
|
config.info.fr | File | 135 B | 0644 |
|
config.info.ja | File | 428 B | 0644 |
|
config.info.ko | File | 409 B | 0644 |
|
config.info.ms | File | 411 B | 0644 |
|
config.info.nl | File | 415 B | 0644 |
|
config.info.no | File | 424 B | 0644 |
|
config.info.pl | File | 392 B | 0644 |
|
config.info.ru | File | 175 B | 0644 |
|
config.info.sv | File | 224 B | 0644 |
|
config.info.tr | File | 123 B | 0644 |
|
config.info.uk | File | 174 B | 0644 |
|
config.info.zh | File | 122 B | 0644 |
|
config.info.zh_TW | File | 125 B | 0644 |
|
csw-lib.pl | File | 2.69 KB | 0755 |
|
cygwin-lib.pl | File | 22.34 KB | 0755 |
|
debian-lib.pl | File | 6.67 KB | 0755 |
|
delete_file.cgi | File | 239 B | 0755 |
|
delete_pack.cgi | File | 1.46 KB | 0755 |
|
delete_packs.cgi | File | 1.85 KB | 0755 |
|
do_install.cgi | File | 2.67 KB | 0755 |
|
edit_pack.cgi | File | 1.13 KB | 0755 |
|
emerge-lib.pl | File | 7.65 KB | 0755 |
|
file_info.cgi | File | 2.09 KB | 0755 |
|
find.cgi | File | 1.63 KB | 0755 |
|
freebsd-lib.pl | File | 7.95 KB | 0755 |
|
hpux-lib.pl | File | 8.01 KB | 0755 |
|
index.cgi | File | 3 KB | 0755 |
|
install_pack.cgi | File | 4.71 KB | 0755 |
|
ipkg-close.cgi | File | 269 B | 0755 |
|
ipkg-edit_pack.cgi | File | 1.45 KB | 0755 |
|
ipkg-lib.pl | File | 7.78 KB | 0755 |
|
ipkg-open.cgi | File | 243 B | 0755 |
|
ipkg-tree.cgi | File | 4 KB | 0755 |
|
ipkg_upgrade.cgi | File | 926 B | 0755 |
|
list_pack.cgi | File | 1.85 KB | 0755 |
|
log_parser.pl | File | 1.34 KB | 0755 |
|
module.info | File | 484 B | 0644 |
|
module.info.af | File | 0 B | 0644 |
|
module.info.af.auto | File | 127 B | 0644 |
|
module.info.ar | File | 0 B | 0644 |
|
module.info.ar.auto | File | 170 B | 0644 |
|
module.info.be | File | 0 B | 0644 |
|
module.info.be.auto | File | 216 B | 0644 |
|
module.info.bg | File | 0 B | 0644 |
|
module.info.bg.auto | File | 214 B | 0644 |
|
module.info.ca | File | 116 B | 0644 |
|
module.info.ca.auto | File | 21 B | 0644 |
|
module.info.cs | File | 30 B | 0644 |
|
module.info.cs.auto | File | 114 B | 0644 |
|
module.info.da | File | 0 B | 0644 |
|
module.info.da.auto | File | 124 B | 0644 |
|
module.info.de | File | 106 B | 0644 |
|
module.info.de.auto | File | 21 B | 0644 |
|
module.info.el | File | 0 B | 0644 |
|
module.info.el.auto | File | 220 B | 0644 |
|
module.info.es | File | 29 B | 0644 |
|
module.info.es.auto | File | 106 B | 0644 |
|
module.info.eu | File | 0 B | 0644 |
|
module.info.eu.auto | File | 129 B | 0644 |
|
module.info.fa | File | 0 B | 0644 |
|
module.info.fa.auto | File | 215 B | 0644 |
|
module.info.fi | File | 0 B | 0644 |
|
module.info.fi.auto | File | 130 B | 0644 |
|
module.info.fr | File | 29 B | 0644 |
|
module.info.fr.auto | File | 117 B | 0644 |
|
module.info.he | File | 0 B | 0644 |
|
module.info.he.auto | File | 152 B | 0644 |
|
module.info.hr | File | 0 B | 0644 |
|
module.info.hr.auto | File | 138 B | 0644 |
|
module.info.hu | File | 38 B | 0644 |
|
module.info.hu.auto | File | 108 B | 0644 |
|
module.info.it | File | 0 B | 0644 |
|
module.info.it.auto | File | 134 B | 0644 |
|
module.info.ja | File | 43 B | 0644 |
|
module.info.ja.auto | File | 157 B | 0644 |
|
module.info.ko | File | 34 B | 0644 |
|
module.info.ko.auto | File | 128 B | 0644 |
|
module.info.lt | File | 0 B | 0644 |
|
module.info.lt.auto | File | 162 B | 0644 |
|
module.info.lv | File | 0 B | 0644 |
|
module.info.lv.auto | File | 151 B | 0644 |
|
module.info.ms | File | 104 B | 0644 |
|
module.info.ms.auto | File | 18 B | 0644 |
|
module.info.mt | File | 0 B | 0644 |
|
module.info.mt.auto | File | 150 B | 0644 |
|
module.info.nl | File | 27 B | 0644 |
|
module.info.nl.auto | File | 104 B | 0644 |
|
module.info.no | File | 26 B | 0644 |
|
module.info.no.auto | File | 107 B | 0644 |
|
module.info.pl | File | 121 B | 0644 |
|
module.info.pl.auto | File | 21 B | 0644 |
|
module.info.pt | File | 28 B | 0644 |
|
module.info.pt.auto | File | 102 B | 0644 |
|
module.info.pt_BR | File | 0 B | 0644 |
|
module.info.pt_BR.auto | File | 139 B | 0644 |
|
module.info.ro | File | 0 B | 0644 |
|
module.info.ro.auto | File | 134 B | 0644 |
|
module.info.ru | File | 30 B | 0644 |
|
module.info.ru.auto | File | 205 B | 0644 |
|
module.info.sk | File | 0 B | 0644 |
|
module.info.sk.auto | File | 145 B | 0644 |
|
module.info.sl | File | 0 B | 0644 |
|
module.info.sl.auto | File | 132 B | 0644 |
|
module.info.sv | File | 21 B | 0644 |
|
module.info.sv.auto | File | 100 B | 0644 |
|
module.info.th | File | 0 B | 0644 |
|
module.info.th.auto | File | 253 B | 0644 |
|
module.info.tr | File | 28 B | 0644 |
|
module.info.tr.auto | File | 107 B | 0644 |
|
module.info.uk | File | 0 B | 0644 |
|
module.info.uk.auto | File | 202 B | 0644 |
|
module.info.ur | File | 0 B | 0644 |
|
module.info.ur.auto | File | 208 B | 0644 |
|
module.info.vi | File | 0 B | 0644 |
|
module.info.vi.auto | File | 144 B | 0644 |
|
module.info.zh | File | 18 B | 0644 |
|
module.info.zh.auto | File | 91 B | 0644 |
|
module.info.zh_TW | File | 24 B | 0644 |
|
module.info.zh_TW.auto | File | 97 B | 0644 |
|
msi-lib.pl | File | 8.45 KB | 0755 |
|
open.cgi | File | 238 B | 0755 |
|
openbsd-lib.pl | File | 4.72 KB | 0755 |
|
pkg-lib.pl | File | 2.5 KB | 0644 |
|
pkgadd-lib.pl | File | 9.97 KB | 0755 |
|
pkgadd-no-ask | File | 164 B | 0644 |
|
pkgsrc-lib.pl | File | 7.24 KB | 0644 |
|
ports-lib.pl | File | 3.49 KB | 0644 |
|
ports_upgrade.cgi | File | 501 B | 0755 |
|
rhn-lib.pl | File | 3.02 KB | 0755 |
|
rhn.cgi | File | 1.3 KB | 0755 |
|
rhn_check.cgi | File | 1.84 KB | 0755 |
|
rpm-lib.pl | File | 11.24 KB | 0755 |
|
rpmfind.cgi | File | 2.11 KB | 0755 |
|
search.cgi | File | 2.27 KB | 0755 |
|
slackware-lib.pl | File | 6.95 KB | 0755 |
|
software-lib.pl | File | 7.57 KB | 0755 |
|
tree.cgi | File | 3.79 KB | 0755 |
|
urpmi-lib.pl | File | 2.14 KB | 0755 |
|
urpmi_upgrade.cgi | File | 839 B | 0755 |
|
view.cgi | File | 931 B | 0755 |
|
yum-lib.pl | File | 13.06 KB | 0755 |
|
yum_upgrade.cgi | File | 908 B | 0755 |
|