Jump to content
Read the Funtoo Newsletter: Summer 2023 ×

jorgicio

Members
  • Posts

    58
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by jorgicio

  1. xD Comparing with the other distros, even the Debian Testing, are using all 4.9.2 but us (in Gentoo unstable, it's not masked like here). I'd unmask it, but I'm afraid of everything is going to break. So if anybody who tries it, tells me that's it's secure, I'll do.

  2. Nevermind, I got what happened:

     

    qtwidgets has gtkstyle disabled by default. A workaround, is unpacking, editing the configure script to force the gtkstyle enabled, compiling "manually", all with ebuild. Then, restart the session. Now it's working, but it still uses the QFileDialog, but GTK+-ish.

     

    I hope this would be fixed in future releases, because editing that file every compiling time, is boring.

  3. Hi!

     

    Yesterday, I tried to install Cinnamon, and also added the mix-in for that. I noticed that includes the USE-flag "gnome" globally. However, when I want to do the emerge -NDvau @world, It also wants to install the entire GNOME desktop: the session, Nautilus, and lots of other components. And Cinnamon is, supossedly, independent from GNOME since the 2.0 release, but I noticed it's not so.

     

    This is my make.conf.

    # These settings were set by the catalyst build script that automatically
    # built this stage.
    # Please consult /usr/share/portage/config/make.conf.example for a more
    # detailed example.
    CFLAGS="-march=corei7-avx -O2 -pipe"
    CXXFLAGS="${CFLAGS}"
    MAKEOPTS="-j5 -l4"
    EMERGE_DEFAULT_OPTS="--jobs 5 --load-average 4"
    # WARNING: Changing your CHOST is not something that should be done lightly.
    # Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.
    CHOST="x86_64-pc-linux-gnu"
    # These are the USE flags that were used in addition to what is provided by the
    # profile used for building.
    USE="X dbus ogg vorbis alsa pulseaudio bluetooth ffmpeg udisks zsh-completion vaapi cups zsh-completion v4l v4l2 threads vim-syntax jpeg png -ldap -lvm networkmanager ffmpeg fontconfig truetype truetype-fonts apache2 lzma infinality highlight scanner type1 cleartype php dri fortran opengl amr amrenc taglib bluray faac mpeg mp3 aac avx cdio libv4l vdpau xv x264 cddb flac mp4 theora gstreamer a52 encode id3tag sndfile quicktime icu ap modemmanager upower urandom djvu ibus dconf gconf qt3support declarative"
    ACCEPT_LICENSE="*"
    LINGUAS="es"
    INPUT_DEVICES="evdev mouse synaptics joystick"
    VIDEO_CARDS="intel i965 nvidia"
    APACHE2_MODULES="userdir mime dir mime_magic cgi status unixd unique_id env alias usertrack authn_core authz_core authz_host socache_shmcb mem_cache file_cache cache headers include actions auth_basic authn_anon authn_core authn_dbm authz_host authn_file autoindex authz_owner authz_user cgid dav dav_fs dav_lock deflate expires ext_filter filter info log_config logio negotiation rewrite setenvif socache_shmcb speling vhost_alias authz_dbm authz_groupfile auth_digest"
    GRUB_PLATFORMS="emu efi-32 efi-64 pc multiboot"
    SANE_BACKENDS="hp gt68xx"
    PYTHON_TARGETS="python2_7 python3_3"
    USE_PYTHON="2.7 3.3"
    PHP_TARGETS="php5-5"
    RUBY_TARGETS="ruby20 ruby22"
    TL_CORE_BINEXTRA_MODULES="-texdoc"
    LC_MESSAGES=C
    ABI_X86="32 64"
    PORTAGE_NICENESS="19"
    FEATURES="${FEATURES} parallel-fetch metadata-transfer"
    ALSA_CARDS="hda-intel"
    source /var/lib/layman/make.conf
    PORTDIR_OVERLAY="/usr/local/portage ${PORTDIR_OVERLAY}"
    CROSSDEV_OVERLAY="${CROSSDEV_OVERLAY} /usr/local/portage"
    GENTOO_MIRRORS="
        http://gentoo.c3sl.ufpr.br
        http://de-mirror.org/gentoo
        http://ftp.romnet.org/gentoo
        http://ftp.osuosl.org/pub/funtoo
    "
    QEMU_USER_TARGETS="x86_64 i386"
    CAMERAS="samsung"
    CALLIGRA_FEATURES="krita braindump plan"
    LIBREOFFICE_EXTENSIONS="presenter-minimizer"
    FETCHCOMMAND="aria2c -x 2 -j 8 --check-certificate=false --continue=true -d \"\${DISTDIR}\" -o \"\${FILE}\" \"\${URI}\""
    RESUMECOMMAND="${FETCHCOMMAND}"
    #PORTAGE_TMPDIR="/media/wintendo/tmp_portage"
    PORTAGE_TMPDIR="/var/tmp/"
    
    

    If it can be fixed, it'd be good. Thanks.

  4. Hi! I installed the wizardpen driver, and also enabled input events from kernel, however, my tablet is not working. It's recognized:

     

    dmesg:

    [64479.687399] brcmsmac bcma0:1: START: tid 1 is not agg'able
    [64479.757361] brcmsmac bcma0:1: START: tid 1 is not agg'able
    [64526.318875] brcmsmac bcma0:1: START: tid 1 is not agg'able
    [64526.368869] brcmsmac bcma0:1: START: tid 1 is not agg'able
    [64594.677160] usb 3-2: new full-speed USB device number 6 using xhci_hcd
    [64594.879040] usb 3-2: New USB device found, idVendor=172f, idProduct=0032
    [64594.879049] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    [64594.879054] usb 3-2: Product: Slim Tablet
    [64594.879058] usb 3-2: Manufacturer: WALTOP International Corp.
    
    
    hackenherr ~ #  lsusb                                                                                                                                                                   [0:48:46]
    Bus 002 Device 003: ID 0a5c:219c Broadcom Corp. 
    Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 003 Device 006: ID 172f:0032 Waltop International Corp. Slim Tablet 5.8"
    Bus 003 Device 004: ID 1132:4511 Toshiba Corp., Digital Media Equipment [hex] 
    Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 001 Device 003: ID 2232:1008 Silicon Motion 
    Bus 001 Device 005: ID 045e:07b2 Microsoft Corp. 
    Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    

    However...

    hackenherr ~ #  ls /dev/input/by-id -la                                                                                                                                                 [0:48:44]
    total 0
    drwxr-xr-x 2 root root 160 ene 18 11:47 ./
    drwxr-xr-x 4 root root 480 ene 18 11:47 ../
    lrwxrwxrwx 1 root root  10 ene 17 23:04 usb-123_WebCam_SCB-1100N-event-if00 -> ../event12
    lrwxrwxrwx 1 root root  10 ene 18 11:47 usb-Microsoft_Microsoft?_Nano_Transceiver_v1.0-event-kbd -> ../event13
    lrwxrwxrwx 1 root root  10 ene 18 11:47 usb-Microsoft_Microsoft?_Nano_Transceiver_v1.0-if01-event-mouse -> ../event14
    lrwxrwxrwx 1 root root   9 ene 18 11:47 usb-Microsoft_Microsoft?_Nano_Transceiver_v1.0-if01-mouse -> ../mouse1
    lrwxrwxrwx 1 root root  10 ene 18 11:47 usb-Microsoft_Microsoft?_Nano_Transceiver_v1.0-if02-event-joystick -> ../event15
    lrwxrwxrwx 1 root root   6 ene 18 11:47 usb-Microsoft_Microsoft?_Nano_Transceiver_v1.0-if02-joystick -> ../js0
    
    hackenherr ~ # cat /etc/udev/rules.d/67-xorg-wizardpen.rules                                                                                                                           [0:54:46]
    # to configure the active area, pressure sensitivity and other settings see
    # /usr/share/X11/xorg.conf.d/70-wizardpen.conf
    
    ACTION!="add|change", GOTO="xorg_wizardpen_end"
    SUBSYSTEM!="input", GOTO="xorg_wizardpen_end"
    
    # KYE Systems Corp Wide Screen Design Tablet TB-7300
    ENV{ID_VENDOR_ID}=="0458",  ENV{ID_MODEL_ID}=="5003", ENV{x11_driver}="wizardpen"
    # KYE Systems Corp Wide Screen Design Tablet TB-7300
    ENV{ID_VENDOR_ID}=="0458",  ENV{ID_MODEL_ID}=="5004", ENV{x11_driver}="wizardpen"
    # AceCad Corp Flair II GT-504
    ENV{ID_VENDOR_ID}=="0460",  ENV{ID_MODEL_ID}=="0004", ENV{x11_driver}="wizardpen"
    
    # Waltop
    ENV{ID_VENDOR_ID}=="172f",  ENV{ID_MODEL_ID}=="0038", ENV{x11_driver}="wizardpen"
    ENV{ID_VENDOR_ID}=="172f",  ENV{ID_MODEL_ID}=="0032", ENV{x11_driver}="wizardpen"
    
    # UC-Logic Technology Corp
    # SuperPen WP3325U Tablet
    ENV{ID_VENDOR_ID}=="5543", ENV{ID_MODEL_ID}=="0002", ENV{x11_driver}="wizardpen"
    # WP4030, Genius MousePen 4x3 Tablet/Aquila L1 Tablet
    ENV{ID_VENDOR_ID}=="5543", ENV{ID_MODEL_ID}=="0003", ENV{x11_driver}="wizardpen"
    # WP5540, Genius MousePen 5x4 Tablet
    ENV{ID_VENDOR_ID}=="5543", ENV{ID_MODEL_ID}=="0004", ENV{x11_driver}="wizardpen"
    # WP8060, Genius MousePen 8x6 Tablet, Trust TB-6300
    ENV{ID_VENDOR_ID}=="5543", ENV{ID_MODEL_ID}=="0005", ENV{x11_driver}="wizardpen"
    # Genius PenSketch 6x8 Tablet
    ENV{ID_VENDOR_ID}=="5543", ENV{ID_MODEL_ID}=="0041", ENV{x11_driver}="wizardpen"
    # Genius PenSketch 12x9 Tablet
    ENV{ID_VENDOR_ID}=="5543", ENV{ID_MODEL_ID}=="0042", ENV{x11_driver}="wizardpen"
    # Digital Organizer (may not exist)
    ENV{ID_VENDOR_ID}=="5543", ENV{ID_MODEL_ID}=="6000", ENV{x11_driver}="wizardpen"
    # Genius G-Note 5000
    ENV{ID_VENDOR_ID}=="5543", ENV{ID_MODEL_ID}=="6001", ENV{x11_driver}="wizardpen"
    
    # disable the /dev/input/mouseX device
    ENV{x11_driver}=="wizardpen", KERNEL=="mouse*", ENV{x11_driver}=""
    
    # Specify this device as a tablet to the xorg config
    ENV{x11_driver}=="wizardpen", KERNEL=="event*", ENV{ID_INPUT.tags}="wizardpen"
    ENV{x11_driver}=="wizardpen", KERNEL=="event*", ENV{ID_INPUT_TABLET}="1"
    
    LABEL="xorg_wizardpen_end"
    
    
  5. Anyways, I wrote this Python code for doing that for me:

    #!/usr/bin/env python
    import sys,re,os,urllib2,urllib,urlparse
    # linkregex = re.compile('<a\s*href=[\'|"](.*?)[\'"].*?')
    linkregex = re.compile('href=[\'|"](.*?)[\'"].*?')
    linksrc = re.compile('src=[\'|"](.*?)[\'"].*?')
    def download(url):
        link_list = []##create a list of all found links so there are no duplicates
        restrict = url ##used to restrict found links to only have lower level
        tocrawl = set([url])
        link_list.append(restrict)
        parent_folder = restrict.rfind('/', 0, len(restrict)-1)
        ##a.com/b/c/d/ make /d/ as parent folder
        while 1:
            try:
                crawling = tocrawl.pop()
                #print crawling
            except KeyError:
                break
            url = urlparse.urlparse(crawling)##splits url into sections
            try:
                response = urllib2.urlopen(crawling)##try to open the url
            except:
                continue
            msg = response.read()##save source of url
            links = linkregex.findall(msg)##search for all href in source
            links = links + linksrc.findall(msg)##search for all src in source
            for link in (links.pop(0) for _ in xrange(len(links))):
                if link.startswith('/'):
                    ##if /xxx a.com/b/c/ -> a.com/b/c/xxx
                    link = 'http://' + url[1] + link
                elif ~link.find('#'):
                    continue
                elif link.startswith('../'):
                    if link.find('../../'):##only use links that are max 1 level above reference
                        ##if ../xxx.html a.com/b/c/d.html -> a.com/b/xxx.html
                        parent_pos = url[2].rfind('/')
                        parent_pos = url[2].rfind('/', 0, parent_pos-2) + 1
                        parent_url = url[2][:parent_pos]
                        new_link = link.find('/')+1
                        link = link[new_link:]
                        link = 'http://' + url[1] + parent_url + link
                    else:
                        continue
                elif not link.startswith('http'):
                    if url[2].find('.html'):
                        ##if xxx.html a.com/b/c/d.html -> a.com/b/c/xxx.html
                        a = url[2].rfind('/')+1
                        parent = url[2][:a]
                        link = 'http://' + url[1] + parent + link
                    else:
                        ##if xxx.html a.com/b/c/ -> a.com/b/c/xxx.html
                        link = 'http://' + url[1] + url[2] + link
                if link not in link_list:
                    link_list.append(link)##add link to list of already found links
                    if (~link.find(restrict)):
                    ##only grab links which are below input site
                        print link ##print downloaded link
                        tocrawl.add(link)##add link to pending view links
                        file_name = link[parent_folder+1:]##folder structure for files to be saved
                        filename = file_name.rfind('/')
                        folder = file_name[:filename]##creates folder names
                        folder = os.path.abspath(folder)##creates folder path
                        if not os.path.exists(folder):
                            os.makedirs(folder)##make folder if it does not exist
                        try:
                            urllib.urlretrieve(link, file_name)##download the link
                        except:
                            print "could not download %s"%link
                    else:
                        continue
    
    
    
    url_gcc = "http://data.gpo.zugaina.org/gentoo/sys-devel/gcc/"
    local_portage = "/usr/local/portage"
    gcc_local = local_portage+"/sys-devel"
    gcc_avr = local_portage+"/cross-avr/gcc"
    regexp = re.compile(r'^\?')
    overlay = "local"
    
    import shutil
    def clean_files(direc):
        for root, dirs, files in os.walk(direc):
            for dname in dirs:
                directorio = os.path.join(root,dname)
                dcompile = regexp.search(dname)
                if dcompile is not None:
                    shutil.rmtree(directorio)
    
            for fname in files:
                archivo = os.path.join(root,fname)
                fcompile = regexp.search(fname)
                if fcompile is not None:
                    os.remove(archivo)
    
    def install_gcc_avr(direc):
        clean_files(direc)
        if os.path.exists(gcc_local):
            shutil.rmtree(gcc_local)
        os.mkdir(gcc_local)
        gcc_local_final = gcc_local+"/gcc"
        shutil.copytree(direc,gcc_local_final)
        if os.path.lexists(gcc_avr):
            os.remove(gcc_avr)
        os.symlink(gcc_local_final,gcc_avr)
    
    def find_line(f_gcc,linea):
        flag = False
        with open(f_gcc) as archivo:
            for l in archivo:
                l = l.rstrip()
                if l == linea:
                    flag = True
            archivo.close()
        return flag
    
    def append_to_file_gcc(f_gcc,linea):
        with open(f_gcc,'rU+') as archivo:
            archivo.seek(-2,2)
            if(archivo.read(2) == "\n\n"):
                f.seek(-1,2)
            archivo.write(linea)
            archivo.write("\n")
            archivo.close()
    
    def mask_gcc_local():
        file_gcc_mask = "/etc/portage/package.mask"
        dir_gcc_mask = file_gcc_mask+"/mask"
        linea = "sys-devel/gcc::"+overlay
        if os.path.exists(file_gcc_mask) and os.path.isdir(file_gcc_mask):
            if os.path.exists(dir_gcc_mask):
                if not find_line(dir_gcc_mask,linea):
                    append_to_file_gcc(dir_gcc_mask,linea)
            else:
                archivo = open(dir_gcc_mask,'w')
                archivo.write(linea)
                archivo.close()
        elif os.path.exists(file_gcc_mask) and os.path.isfile(file_gcc_mask):
            if not find_line(file_gcc_mask,linea):
                append_to_file_gcc(file_gcc_mask,linea)
        else:
            archivo = open(file_gcc_mask,'w')
            archivo.write(linea)
            archivo.close()
    
    dir_res = re.split("/",url_gcc)
    dir_res = dir_res[-2]
    print "Downloading from %s" % url_gcc
    download(url_gcc)
    print "Now installing %s in %s" % (dir_res,gcc_local)
    install_gcc_avr(dir_res)
    print "Cleaning..."
    shutil.rmtree(dir_res)
    print "Now masking the local %s" % dir_res
    mask_gcc_local()
    print "Success!"
    
×
×
  • Create New...