From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from lists.gentoo.org ([140.105.134.102] helo=robin.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1IjDwZ-0002xy-6o for garchives@archives.gentoo.org; Sat, 20 Oct 2007 13:00:43 +0000 Received: from robin.gentoo.org (localhost [127.0.0.1]) by robin.gentoo.org (8.14.1/8.14.0) with SMTP id l9KCmdaF028338; Sat, 20 Oct 2007 12:48:39 GMT Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by robin.gentoo.org (8.14.1/8.14.0) with ESMTP id l9KCjPd1023687 for ; Sat, 20 Oct 2007 12:45:26 GMT Received: from localhost (localhost [127.0.0.1]) by smtp.gentoo.org (Postfix) with ESMTP id 5CC4764D93 for ; Sat, 20 Oct 2007 12:45:25 +0000 (UTC) X-Virus-Scanned: amavisd-new at gentoo.org X-Spam-Score: -0.111 X-Spam-Level: X-Spam-Status: No, score=-0.111 required=5.5 tests=[AWL=1.358, BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13] Received: from smtp.gentoo.org ([127.0.0.1]) by localhost (smtp.gentoo.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jmwvfLZwPEFC for ; Sat, 20 Oct 2007 12:45:18 +0000 (UTC) Received: from mail.unixforces.net (unixforces.net [88.198.11.41]) by smtp.gentoo.org (Postfix) with ESMTP id 6577D654E1 for ; Sat, 20 Oct 2007 12:45:18 +0000 (UTC) Received: from [10.0.1.193] (pD95253B7.dip0.t-ipconnect.de [217.82.83.183]) by mail.unixforces.net (Postfix) with ESMTP id 2E259280C381 for ; Sat, 20 Oct 2007 14:46:11 +0200 (CEST) From: Markus Rothe To: gentoo-dev@lists.gentoo.org Subject: [gentoo-dev] repoman - I cannot handle it... Date: Sat, 20 Oct 2007 14:45:49 +0200 User-Agent: KMail/1.9.7 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart1693066.brriGnsu6e"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit Message-Id: <200710201445.56961.corsair@gentoo.org> X-Archives-Salt: af69b2ee-3d88-4f89-af08-485bfa7bb362 X-Archives-Hash: 819017c11dd644fc82a1c90ef5e31832 --nextPart1693066.brriGnsu6e Content-Type: multipart/mixed; boundary="Boundary-01=_+hfGHeBwFAkmz+F" Content-Transfer-Encoding: 7bit Content-Disposition: inline --Boundary-01=_+hfGHeBwFAkmz+F Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hello fellow developers, I have a problem with repoman. I keep breaking the dependency tree. Jabub=20 knows what I'm talking about. Latest examples are bugs #196470, #196472 and= =20 #196474. On a side note I actually don't want to break the dependency tree.= =2E. Attached are the scripts I use to commit packages stable/unstable. Somewher= e=20 must be a bug! 'name_split.cpp' splits a package name like sys-devel/gcc-4.1.2 into catego= ry,=20 package name and version number. It's done in c++ as that's the only langua= ge=20 I do more with than 'hello world' programms. Not much more, just more. ;-) 'mp.sh' is the script which calls name_split, repoman etc. It's pretty=20 straight forward and only does the things I would also do by hand. So if I want to mark for example sys-devel/gcc-4.1.2 stable on ppc64 I call= =20 mp.sh like this: mp.sh ppc64 sys-devel/gcc-4.1.2 "Stable on ppc64" If someone has a hint where the problem is, I would really appreciate that. Best regards, =2Dmarkus P.S.: yes, I do 'cvs up' on the whole tree, before starting a commit. --Boundary-01=_+hfGHeBwFAkmz+F Content-Type: application/x-shellscript; name="mp.sh" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="mp.sh" #!/bin/bash category=$(name_split -c $2) package=$(name_split -p $2) version=$(name_split -v $2) echo -e "\nmp: Entering ~/devel/checkouts/gentoo-x86/$category/$package/\n" cd ~/devel/checkouts/gentoo-x86/$category/$package echo -e "mp: Running cvs up\n" cvs up -CdP find . -name '.#*' -exec rm {} \; echo -e "\nmp: Keywording $package-$version.ebuild as $1\n" ekeyword $1 $package-$version.ebuild echo -e "\nmp: Running echangelog\n" echangelog "$3" echo -e "\nmp: Regenerating digest\n" ebuild $package-$version.ebuild digest echo -e "\nmp: Running repoman scan\n" repoman scan if [ $? = "0" ]; then echo -e "\nmp: repoman told us we can commit. commiting now\n" repoman commit --ignore-arches -i -m "$3" else echo -e "\nmp: repoman told us something went wrong...\n" fi # Go back to home folder cd --Boundary-01=_+hfGHeBwFAkmz+F Content-Type: text/x-c++src; charset="utf-8"; name="name_split.cpp" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="name_split.cpp" #include #include using namespace std; class splitted_names { public: splitted_names(string name); string get_category() {return category;} string get_package() {return package;} string get_version() {return version;} private: string category, package, version; }; int main(int argc, char* argv[]) { if (argc !=3D 3 || argv[1] =3D=3D "-h") { cout << "Useage: " << argv[0] << " -[cpv] category/package-version" << endl << "Options:" << endl << " -c : print the category" << endl << " -p : print the package name" << endl << " -v : print the package version" << endl << " -h : print this help" << endl << "NOTE: Only one of -c, -p, -v is allowed" << endl; return EXIT_FAILURE; } splitted_names the_string((string)argv[2]); string option =3D (string)argv[1]; if (option =3D=3D "-c") { cout << the_string.get_category() << endl; } else if (option =3D=3D "-p") { cout << the_string.get_package() << endl; } else if (option =3D=3D "-v") { cout << the_string.get_version() << endl; } return EXIT_SUCCESS; } splitted_names::splitted_names (string name) { category =3D ""; package =3D ""; version =3D ""; int start_copy =3D 0, stop_copy =3D 0; // do not copy a leading '=3D' if (name[0] =3D=3D '=3D') { start_copy =3D 1; } stop_copy =3D name.find('/'); category.assign(name, start_copy, stop_copy-start_copy); if (name.length() > stop_copy) { start_copy =3D stop_copy+1; } for (int i =3D start_copy; i < name.length(); i++) { if (name.at(i) =3D=3D '-') { if (name.at(i+1) =3D=3D '0' || name.at(i+1) =3D=3D '1' || name.at(i+1) =3D=3D '2' || name.at(i+1) =3D=3D '3' || name.at(i+1) =3D=3D '4' || name.at(i+1) =3D=3D '5' || name.at(i+1) =3D=3D '6' || name.at(i+1) =3D=3D '7' || name.at(i+1) =3D=3D '8' || name.at(i+1) =3D=3D '9' ) { stop_copy =3D i-1; break; } } } package.assign(name, start_copy, stop_copy-start_copy+1); =20 if (name.length() > stop_copy) { start_copy =3D stop_copy+2; } stop_copy =3D name.length(); version.assign(name, start_copy, stop_copy-start_copy); } --Boundary-01=_+hfGHeBwFAkmz+F-- --nextPart1693066.brriGnsu6e Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (GNU/Linux) iD8DBQBHGfh+x15fTQSr/HcRAn6BAJ9qdYvPVNTnPyeIFiEQ4t2TqykLCACgoOFh 81A+n/gNd5YSPKhPIgHTUf0= =y3yA -----END PGP SIGNATURE----- --nextPart1693066.brriGnsu6e-- -- gentoo-dev@gentoo.org mailing list