Debian: popularity-contest에서 특정한 포장을 제외합니다

7756 단어 Debiantech
#632438 - popularity-contest: a way to exclude certain packages - Debian Bug report logs
이러한 오류는 Debian의 패키지 조사에 참여한 경우 특정 패키지의 설정만 제외하지 않았음을 나타냅니다.
따라서 특정 포장을 배제하려면 참가 자체를 취소할 수밖에 없다.
예를 들어 개인 포장을 만들거나, 개발 중인 포장을 공개하지 않으려는 경우 이를 포함하면 소음만 발생해 배제하려는 경우도 있다.
참가할 뿐만 아니라 참가하지 않을 뿐만 아니라 포장 조사에 참가하는 동시에 사용자는 일부 제외할 수 있는 옵션이 있는 것이 가장 좋다고 생각합니다.
그래서 나는 간단한 패치를 썼는데 popularity-contest 명령을 사용하여 특정한 포장을 배제할 수 있다.
나는 Perl을 조금도 모르기 때문에 견본을 보고 배운 것이 바로 이런 느낌의 패치이다.
4
% diff -u popularity-contest-1.70.orig/popularity-contest popularity-contest-1.70/popularity-contest
--- popularity-contest-1.70.orig/popularity-contest     2020-03-31 02:47:56.000000000 +0900
+++ popularity-contest-1.70/popularity-contest  2020-09-20 13:08:25.858919252 +0900
@@ -28,6 +28,7 @@
 my $dpkg_db="/var/lib/dpkg/info";
 my $dpkg_origin="/etc/dpkg/origins/default";
 my $popcon_conf="/etc/popularity-contest.conf";
+my $donotsend_conf="/etc/popularity-contest.donotsend.conf";
 
 # $popcon_conf is in shell-script format
 my $HOSTID = qx(unset MY_HOSTID; . $popcon_conf; echo \$MY_HOSTID );
@@ -204,6 +205,19 @@
 
 close PACKAGES;
 
+# We do not send package name which is listed on /etc/popularity-contest.donotsend.conf.
+if ( -r $donotsend_conf && -s $donotsend_conf ) {
+    open DONOTSEND, $donotsend_conf;
+    while (<DONOTSEND>) {
+       chomp $_;
+       my $name = $_;
+       if (exists $popcon{$name}) {
+           delete $popcon{$name};
+       }
+    }
+    close (DONOTSEND);
+}
+
 # We're not done yet.  Sort the output in reverse by atime, and
 # add a header/footer.
 
간단한 작업은 포장 이름이 일치하면 삭제하는 것이다.
그리고donotsend.conf에 포장 이름이 잘 나와 있으면 포장의 사용 상황은 발송되지 않을 것입니다.
상기 패치는 popularity-conteest-1.70을 대상으로 합니다.

좋은 웹페이지 즐겨찾기