script til at installere media codecs

Alle tekniske spørgsmål som ikke hører ind under de andre fora.
cmay
Indlæg: 461
Tilmeldt: 24. feb 2009, 22:45

script til at installere media codecs

Indlæg af cmay »

hej. jeg ville lige spørge om der var nogen der var i stand til lige at hjælpe mig færdig med et lille perl script som jeg lavede en gang for et års tid siden.

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 :)
har grå stær. forklare mine (ofte) stavefejl

Kode: Vælg alt

#include <stdio.h>
int main(int argc, char** argv) { int beer; for(beer = 100;beer > 0; beer--)printf("%d bottles of beer%s on the wall take %d down and pass it around \n",beer,beer == 1 ? "":"s",beer -1); return 0;}
cmay
Indlæg: 461
Tilmeldt: 24. feb 2009, 22:45

Re: script til at installere media codecs

Indlæg af cmay »

det kan være jeg er nødt til at overveje at skrive det i bash istedet :(
har grå stær. forklare mine (ofte) stavefejl

Kode: Vælg alt

#include <stdio.h>
int main(int argc, char** argv) { int beer; for(beer = 100;beer > 0; beer--)printf("%d bottles of beer%s on the wall take %d down and pass it around \n",beer,beer == 1 ? "":"s",beer -1); return 0;}