jeg har opdateret det et par gange men nu her er det blevt et mareridt at sidde oppe midt om natten og skrive perl scripts med betændelse i øjnene og det virker ikke helt som jeg har håbet på.
det har virket førhen indtil jeg har måtte opdatere på det sidste gang. og jeg har vist nok en backup af det orginale script på usb stick et eller andet sted.
grunden til at jeg gerne lige vil have lavet det ordentligt færdigt er at jeg har flere versioner af ubuntu på forskellige slags maskiner i perioder hvor jeg tester andre linux distroer så jeg vil gerne have et script der automatisk finder ud af hvilken version af ubuntu jeg køre og om det er på 64bit eller 32 bit og så selv installer de keyrings og pakker der skal til for at få de restrictive codecs installeret automatisk
tak.
Kode: Vælg alt
#!/usr/bin/env perl
use warnings;
#cmay 2008: should install the restrictive media codecs for ubuntu hardy
my $arch = `uname -m`;
# used to figure out what we are running.
####################################################################################################################################################################################################################################################################################################################################################################################################################################
my $x86_64="echo sudo apt-get upgrade && sudo apt-get install -y medibuntu-keyring w64codecs libdvdcss2 && sudo apt-get update";
my $x86_64_packages="sudo apt-get remove gnash gnash-common libflash-mozplugin libflashsupport mozilla-plugin-gnash swfdec-mozilla && sudo apt-get install alsa-oss faac faad flashplugin-nonfree gstreamer0.10-ffmpeg gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly gstreamer0.10-plugins-ugly-multiverse ia32-libs icedtea-gcjwebplugin liblame0 non-free-codecs openjdk-6-jre unrar";
#####################################################################################################################################################################################################################################################################################################################################################################################################################################
my $i386="echo sudo apt-get upgrade && sudo apt-get install -y medibuntu-keyring w32codecs libdvdcss2 && sudo apt-get update";
my $i383_packages="sudo apt-get remove gnash gnash-common icedtea-gcjwebplugin libflash-mozplugin libflashsupport mozilla-plugin-gnash openjdk-6-jre openjdk-6-jre-headless openjdk-6-jre-lib swfdec-mozilla && sudo apt-get install alsa-oss faac faad flashplugin-nonfree gstreamer0.10-ffmpeg gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly gstreamer0.10-plugins-ugly-multiverse gstreamer0.10-pitfdll liblame0 non-free-codecs sun-java6-fonts sun-java6-jre sun-java6-plugin unrar";
####### main program subs first #################
#checking sources list to see if they are ok
sub check_sources_list
{
my $aptlist_ok= `cat /etc/apt/sources.list |grep "non-free"`;
if($aptlist_ok eq "")
{
return 1;
}else{
return 0;
}
}
########## checking if we use intrepid
sub check_for_intrepid
{
my $intrepid = `cat /etc/lsb-release | grep intrepid`;
if($intrepid eq "")
{
return 1;
}else
{
return 0;
}
}
########## adding sources for intrepid
sub adding_sources_intrepid
{
print` sudo wget http://www.medibuntu.org/sources.list.d/intrepid.list --output-document=/etc/apt/sources.list.d/medibuntu.list`;
}
########## checking for an hardy
sub check_for_hardy
{
my $hardy = `cat /etc/lsb-release | grep hardy`;
if($hardy eq "")
{
return 1;
}else
{
return 0;
}
}
######## adding sources for hardy
sub adding_sources_hardy
{
print `sudo wget http://www.medibuntu.org/sources.list.d/hardy.list --output-document=/etc/apt/sources.list.d/medibuntu.list`
}
##########install the i386 packages and keyrings
sub install_i386
{
print `$i386`;
print `$i383_packages`;
}
###################install the x86_64 stuff
sub install_x86_64
{
print`$x86_64`;
print `$x86_64_packages`;
}
#################### main program here##################
if(check_for_hardy == 0)
{
# whoohooo its an hardy
if(check_sources_list == 0)
{
if($arch eq "i686")
{
adding_sources_hardy
## needing someting done here
return 0;
}elsif($arch eq "i386")
{
adding_sources_hardy
install_i386
return 0;
}elsif($argc eq "x86_64\n")
{
adding_sources_hardy
install_x86_64
return 0;
}else
{
print "sorry could not resolve version\n";
return 1;
}
}
}elsif(check_for_intrepid == 0)
{
# whoohooo its an ibex
if(check_sources_list == 0)
{
if($arch eq "i686")
{
adding_sources_intrepid
# needing someting done here
return 0;
}elsif($arch eq "i386")
{
adding_sources_intrepid
install_i386
return 0;
}elsif($argc eq "x86_64")
{
adding_sources_intrepid
install_x86_64
return 0;
}else
{
print "sorry...could not resolve version\n";
return 1;
}
}
}else{
print "SORRY...could not find supported ubuntu version\n";
return 1;
}
det er iøvrigt det første og eneste perl script jeg har lavet indtil videre så der er nok nogen ting som kunne have været gjort lidt bedre men det virkede fint til at starte med