From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 8A5791396D0 for ; Fri, 11 Aug 2017 23:56:41 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id EA58D1FC00F; Fri, 11 Aug 2017 23:56:35 +0000 (UTC) Received: from mail-pf0-x22f.google.com (mail-pf0-x22f.google.com [IPv6:2607:f8b0:400e:c00::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 8BFC4E07D3 for ; Fri, 11 Aug 2017 23:56:35 +0000 (UTC) Received: by mail-pf0-x22f.google.com with SMTP id t86so21339139pfe.2 for ; Fri, 11 Aug 2017 16:56:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sysdump.net; s=google; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language:content-transfer-encoding; bh=3Pmy/4G8E03SUdMM8fYGoUaqGfwP7XXRjRyl/sXYr3A=; b=gkwSk+/h4cwqpEDJ6MayyZjzBCAz2CeyMvaylaY1nMS1MiwXMJmt/uhjYnBuMNzTkd MEKu0ZWtVAjHYbZJUrWAR4HH2xBxr1XCy1Zjja67gfzLMNspYR/zcOp4jritrFVJ1VOH QjhA8wKJbt1tFZ/MFC4T2k1SkWn09f/PRWlprHL+vcv0Q6HpwDX0AvxFnBuGnAK5As9X xhXekS7gLObhEEeRU2rPv8zPEBC1ViIRBNR5y4Yga08FDxIPhM9d1tOp5n23VRlMpBYX 6/Mv7XxPdraI0yzls3GEFvwRbtSYTSm98Refy/CXZotjqEgbovUQiCL9B42KdSbl1QMr ItMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=3Pmy/4G8E03SUdMM8fYGoUaqGfwP7XXRjRyl/sXYr3A=; b=mX9iVdzjE6cXDi0m83fvA35G99yu7woQ6bQbwhPwzHPGd+zFBOjulbrZEq9J6gyOs2 4CCiLKjkAP/wVOSYwfu+TlSqBLaDKiek6v/hmIby4sLy1ECAT9+8JX0qxIpbCvlICGbg CAq/3uKygPxveWpOi0DjRjFK75O3REoN52v3zk0AjixA6Au36E/FGaoXqIXUkKKvFkTT HDwmFFTlYZNl71dm1THEuYWBddmXukeqTueN3KElVGPnE5rluZmb+VDNGo87hT8Pb0r0 QVDwEdJMFXFVTigmc72a0ypSPudqz9fZ8VYnCLem4TKYPd1UIRz1cY9DgzJDEwtBvZ8E Dc8w== X-Gm-Message-State: AHYfb5gCUcRpc9fcO6kBl4Wsh61UBp2FkGjpi1xM04YUCyu3sCQEkpOD Wpv2tZSLSVWVVAaESzi2mw== X-Received: by 10.84.215.211 with SMTP id g19mr19134757plj.438.1502495794257; Fri, 11 Aug 2017 16:56:34 -0700 (PDT) Received: from [192.168.1.10] ([47.155.65.60]) by smtp.gmail.com with ESMTPSA id b4sm3044972pgc.9.2017.08.11.16.56.33 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Aug 2017 16:56:33 -0700 (PDT) Subject: Re: [gentoo-dev] New SYMLINK_LIB=no migration tool for review To: gentoo-dev@lists.gentoo.org References: <1501689535.795.1.camel@gentoo.org> From: Gerogy Yakovlev Message-ID: Date: Fri, 11 Aug 2017 16:56:32 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 In-Reply-To: <1501689535.795.1.camel@gentoo.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-Archives-Salt: 4292b634-d9dc-42c0-9cb8-561de2633221 X-Archives-Hash: 74fd19d5695a5a4fb360d484dadd6e03 Hi, I was able to test this one a bit. The test subjects were: ~amd64/openrc/desktop system which I was going to wipe anyway. amd64/openrc latest snapshot, updated to ~amd64 with boostrtap.sh for the latter symlink migration was done before bootstrapping, So far I found 3 issues so far: 1) kernel modules. modprobe looks into /lib/modules/$(uname -r), but after running the tool they end up in /lib64/modules. 2) app-eselect/eselect-mesa has some hardcoded paths: MESA_CONF_DIR="${EROOT}/usr/share/mesa" MESA_DIR_64="${EROOT}/usr/lib/mesa" DRI_DIR_64="${EROOT}/usr/lib/dri" MESA_DIR_32="${EROOT}/usr/lib32/mesa" DRI_DIR_32="${EROOT}/usr/lib32/dri" that leads to many funny breakages. 3) and minor one, sys-boot/refind will fails to build, because it looks for 64bit libs in lib. I'm going to play with the system next couple of weeks and If I find anything else I'll let you know. Regards, Georgy Yakovlev. On 08/02/2017 08:58 AM, Michał Górny wrote: > Hi, everyone. > > I've finally gotten around to writing a new tool for migrating amd64 > systems to SYMLINK_LIB=no layout [1]. I've put it in symlink-lib- > migration [2] repository along with a README. Please review it and give > it more testing. > > The tool has a few advantages over the one attached to the bug. Most > notably: > > 1. It runs in three-stage semi-automatic mode. This gives the user > an explicit opportunity to verify the action plan for any obvious > mistakes, and to test a temporary 'lib.new' layout to confirm that > the migration won't break anything before it's final. > > 2. It supports a mid-migration rollback -- if 'lib.new' layout breaks > stuff, the user runs './migrate.py --rollback' and he's back home. > > 3. It works on top-directory level whenever possible. The stuff destined > for /usr/lib is moved correctly along with any user-created files. When > a top-directory is split between lib+lib64, all files except for those > explicitly destined for lib64 land in lib (arbitrary decision). > > 4. It does not reinvent the wheel poorly to copy files. Instead, it > calls 'cp -a --reflink=auto ...' to guarantee that everything will be > preserved correctly. > > 5. It does not reinvent the wheel to parse vdb. Instead, it uses > the Portage API to get installed file list. Portage is only required > during the initial analysis phase, and the actual migration/rollback can > be done without it (or with it being broken). > > I've limited the scope of the tool to do the filesystem manipulation. > Afterwards, it tells user to update the profile or adjust make.conf, > and to rebuild all the packages. > > What are your thoughts? > > > [1]:https://bugs.gentoo.org/show_bug.cgi?id=506276 > [2]:https://github.com/mgorny/symlink-lib-migration >