Appliquer un patch mode d'emploi ?
Bonjour, J'essaie d'appliquer ce patch au noyau standard debian, je sèche lamentablement, j'ai essayé patch -p1 fichier sans succès . https://www.linuxhq.com/kernel/v2.6/26-git17/sound/core/init.c Es ce qu'il y aura une bonne âme pour éclairer mon incompétence. Philippe -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Re: Appliquer un patch mode d'emploi ?
Bonjour, J'essaie d'appliquer ce patch au noyau standard debian, je sèche lamentablement, j'ai essayé patch -p1 fichier sans succès . https://www.linuxhq.com/kernel/v2.6/26-git17/sound/core/init.c Es ce qu'il y aura une bonne âme pour éclairer mon incompétence. Philippe Si les sources sont dans /usr/src/linux et le patch dans /usr/src/ cd /usr/src/linux bzcat ../patch.bz2 | patch -p1 --dry-run Enlever le --dry-run une fois qu'on est sûr que le patch est bien appliqué. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Re: Appliquer un patch mode d'emploi ?
Salut, Philippe Merlin a écrit : J'essaie d'appliquer ce patch au noyau standard debian, je sèche lamentablement, j'ai essayé patch -p1 fichier sans succès . Mais encore (message d'erreur détaillé) ? https://www.linuxhq.com/kernel/v2.6/26-git17/sound/core/init.c Si tu as copié/collé le patch depuis cette page, le problème pourrait être que la conversion en HTML a transformé les tabulations en espaces, et donc patch ne s'y retrouve pas. Il faudrait trouver le patch sous forme de fichier brut. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Re: Appliquer un patch mode d'emploi ?
Le mardi 12 mai 2009, Pascal Hambourg a écrit : Salut, Philippe Merlin a écrit : J'essaie d'appliquer ce patch au noyau standard debian, je sèche lamentablement, j'ai essayé patch -p1 fichier sans succès . Mais encore (message d'erreur détaillé) ? https://www.linuxhq.com/kernel/v2.6/26-git17/sound/core/init.c Si tu as copié/collé le patch depuis cette page, le problème pourrait être que la conversion en HTML a transformé les tabulations en espaces, et donc patch ne s'y retrouve pas. Il faudrait trouver le patch sous forme de fichier brut. merci pour ta réponse, effectivement j'ai fait un copier coller, si c'est le problème alors ou trouver ce patch Les erreurs 5 Hunks rejected. Je joins le fichier du patch que je veux appliquer, si vous pouviez donner votre avis. J'ai essayé avec Kompare il semble bien faire les modifs mais je n'arrive pas à sauvegarder ces modifs. Merci. Philipppe -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Re: Appliquer un patch mode d'emploi ?
e mardi 12 mai 2009, Pascal Hambourg a écrit : Salut, Philippe Merlin a écrit : J'essaie d'appliquer ce patch au noyau standard debian, je sèche lamentablement, j'ai essayé patch -p1 fichier sans succès . Mais encore (message d'erreur détaillé) ? https://www.linuxhq.com/kernel/v2.6/26-git17/sound/core/init.c Si tu as copié/collé le patch depuis cette page, le problème pourrait être que la conversion en HTML a transformé les tabulations en espaces, et donc patch ne s'y retrouve pas. Il faudrait trouver le patch sous forme de fichier brut. (Tète de linotte j'ai oublié de joindre le fichier je renvoie le message) merci pour ta réponse, effectivement j'ai fait un copier coller, si c'est le problème alors ou trouver ce patch Les erreurs 5 Hunks rejected. Je joins le fichier du patch que je veux appliquer, si vous pouviez donner votre avis. J'ai essayé avec Kompare il semble bien faire les modifs mais je n'arrive pas à sauvegarder ces modifs. Merci. Philipppe diff --git a/sound/core/init.c b/sound/core/init.c index ac05734..df46bbc 100644 --- a/sound/core/init.c +++ b/sound/core/init.c @@ -46,17 +46,24 @@ static char *slots[SNDRV_CARDS]; module_param_array(slots, charp, NULL, 0444); MODULE_PARM_DESC(slots, Module names assigned to the slots.); -/* return non-zero if the given index is already reserved for another +/* return non-zero if the given index is reserved for the given * module via slots option */ -static int module_slot_mismatch(struct module *module, int idx) +static int module_slot_match(struct module *module, int idx) { + int match = 1; #ifdef MODULE - char *s1, *s2; + const char *s1, *s2; + if (!module || !module-name || !slots[idx]) return 0; - s1 = slots[idx]; - s2 = module-name; + + s1 = module-name; + s2 = slots[idx]; + if (*s2 == '!') { + match = 0; /* negative match */ + s2++; + } /* compare module name strings * hyphens are handled as equivalent with underscore */ @@ -68,12 +75,12 @@ static int module_slot_mismatch(struct module *module, int idx) if (c2 == '-') c2 = '_'; if (c1 != c2) - return 1; + return !match; if (!c1) break; } -#endif - return 0; +#endif /* MODULE */ + return match; } #if defined(CONFIG_SND_MIXER_OSS) || defined(CONFIG_SND_MIXER_OSS_MODULE) @@ -129,7 +136,7 @@ struct snd_card *snd_card_new(int idx, const char *xid, struct module *module, int extra_size) { struct snd_card *card; - int err; + int err, idx2; if (extra_size 0) extra_size = 0; @@ -144,35 +151,41 @@ struct snd_card *snd_card_new(int idx, const char *xid, err = 0; mutex_lock(snd_card_mutex); if (idx 0) { - int idx2; for (idx2 = 0; idx2 SNDRV_CARDS; idx2++) /* idx == -1 == 0x means: take any free slot */ if (~snd_cards_lock idx 1idx2) { -if (module_slot_mismatch(module, idx2)) - continue; -idx = idx2; -if (idx = snd_ecards_limit) - snd_ecards_limit = idx + 1; -break; +if (module_slot_match(module, idx2)) { + idx = idx2; + break; +} + } + } + if (idx 0) { + for (idx2 = 0; idx2 SNDRV_CARDS; idx2++) + /* idx == -1 == 0x means: take any free slot */ + if (~snd_cards_lock idx 1idx2) { +if (!slots[idx2] || !*slots[idx2]) { + idx = idx2; + break; +} } - } else { - if (idx snd_ecards_limit) { - if (snd_cards_lock (1 idx)) -err = -EBUSY; /* invalid */ - } else { - if (idx SNDRV_CARDS) -snd_ecards_limit = idx + 1; /* increase the limit */ - else -err = -ENODEV; - } } - if (idx 0 || err 0) { + if (idx 0) + err = -ENODEV; + else if (idx snd_ecards_limit) { + if (snd_cards_lock (1 idx)) + err = -EBUSY; /* invalid */ + } else if (idx = SNDRV_CARDS) + err = -ENODEV; + if (err 0) { mutex_unlock(snd_card_mutex); snd_printk(KERN_ERR cannot find the slot for index %d (range 0-%i), error: %d\n, idx, snd_ecards_limit - 1, err); goto __error; } snd_cards_lock |= 1 idx; /* lock it */ + if (idx = snd_ecards_limit) + snd_ecards_limit = idx + 1; /* increase the limit */ mutex_unlock(snd_card_mutex); card-number = idx; card-module = module; @@ -535,8 +548,9 @@ int snd_card_register(struct snd_card *card) snd_assert(card != NULL, return -EINVAL); #ifndef CONFIG_SYSFS_DEPRECATED if (!card-card_dev) { - card-card_dev = device_create(sound_class, card-dev, 0, - card%i, card-number); + card-card_dev = device_create_drvdata(sound_class, card-dev, + MKDEV(0, 0), NULL, + card%i, card-number); if
Re: Appliquer un patch mode d'emploi ?
On Tue, May 12, 2009 at 12:17:01PM +0200, Philippe Merlin wrote: merci pour ta réponse, effectivement j'ai fait un copier coller, si c'est le problème alors ou trouver ce patch Le patch est OK. Tu dois sans doute être dans le mauvais répertoire et/ou utiliser un mauvais paramètre -p. Cf courrier de Steve. Les erreurs 5 Hunks rejected. Le mieux est toujours de faire un copier/coller de la commande que l'on tape, et de sa sortie. Sinon, ceux qui lisent ne sont pas sûr de ce que tu as fait, ni de l'erreur. Y. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Re: Appliquer un patch mode d'emploi ?
Le mardi 12 mai 2009, Yves Rutschle a écrit : On Tue, May 12, 2009 at 12:17:01PM +0200, Philippe Merlin wrote: merci pour ta réponse, effectivement j'ai fait un copier coller, si c'est le problème alors ou trouver ce patch Le patch est OK. Tu dois sans doute être dans le mauvais répertoire et/ou utiliser un mauvais paramètre -p. Cf courrier de Steve. Les erreurs 5 Hunks rejected. Le mieux est toujours de faire un copier/coller de la commande que l'on tape, et de sa sortie. Sinon, ceux qui lisent ne sont pas sûr de ce que tu as fait, ni de l'erreur. Y. Merci pour ta réponse, voilà le copier coller de la commande et des messages : francois:/usr/src/linux-source-2.6.26# patch -p1/usr/src/modif 26/diff-sound-core-init.diff patching file sound/core/init.c Hunk #1 FAILED at 46. Hunk #2 FAILED at 75. Hunk #3 FAILED at 136. Hunk #4 FAILED at 151. Hunk #5 FAILED at 548. 5 out of 5 hunks FAILED -- saving rejects to file sound/core/init.c.rej Votre aide sera précieuse. Philippe -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Re: Appliquer un patch mode d'emploi ?
Yves Rutschle a écrit : On Tue, May 12, 2009 at 12:17:01PM +0200, Philippe Merlin wrote: merci pour ta réponse, effectivement j'ai fait un copier coller, si c'est le problème alors ou trouver ce patch Après recherche dans git.kernel.org, il semble que ce patch 2.6.26-git17 corresponde en fait à deux commits distincts lors du développement de la version 2.6.27 du noyau : [ALSA] Improve the slots option handling http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.27.y.git;a=commit;h=a93bbaa77ea61c6bad684263a65f812b31bf9791 et device create: sound: convert device_create to device_create_drvdata http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.27.y.git;a=commit;h=89409211ff97bf82295d1fb98ab18302a03e9199 Mais il est important de bien comprendre que : 1) Un commit et son patch peuvent modifier plusieurs fichiers sources, c'est le cas ici. Si tu ne modifies qu'un fichier, tu peux te retrouver avec un noyau qui ne compile pas ou pire ne marche pas. Pour le premier commit, a93bbaa77ea61c6bad684263a65f812b31bf9791, l'autre fichier modifié est juste un fichier de documentation, donc pas de souci. En revanche l'autre commit, 89409211ff97bf82295d1fb98ab18302a03e9199, modifie deux autres fichiers sources, et fait partie d'un ensemble plus large de patches qui modifient d'autres sous-systèmes que le son. 2) Un commit peut s'appuyer sur des patches précédents, et ne pas s'appliquer ou ne pas fonctionner seul sur une version trop ancienne sans avoir appliqué ces patches précédents. Je suppose que c'est surtout le premier commit qui t'intéresse. A partir de l'URL que j'ai indiqué, tu pourras avoir accès au patch intégral (diff), aux patches individuels pour chaque fichier modifié (diff), ou à la nouvelle version de chaque fichier modifié (blob), en format brut (par les liens 'raw', il faut effacer le début du fichier avant le premier 'diff ...' avant de l'appliquer). Le patch est OK. Non, il n'est pas ok : les tabulations originelles sont remplacées par des espaces alors que le fichier source contient des tabulations. patch a peut-être des options pour ignorer les différences entre espaces et tabulations, on ne sait jamais. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Re: Appliquer un patch mode d'emploi ?
Pascal Hambourg a écrit : Mais il est important de bien comprendre que : [...] Et pour finir, un patch prévu pour les sources du noyau standard peut ne pas s'appliquer aux sources du noyau Debian (paquet linux-source-*) à cause des modifications apportées par les patches Debian. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et Reply-To: Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org